Demo for query storing
Change-Id: I947bcac841992c3f6cfd01ab337c265b0d01cb70
diff --git a/node_modules/object.getownpropertydescriptors/.editorconfig b/node_modules/object.getownpropertydescriptors/.editorconfig
new file mode 100644
index 0000000..eaa2141
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/.editorconfig
@@ -0,0 +1,13 @@
+root = true
+
+[*]
+indent_style = tab;
+insert_final_newline = true;
+quote_type = auto;
+space_after_anonymous_functions = true;
+space_after_control_statements = true;
+spaces_around_operators = true;
+trim_trailing_whitespace = true;
+spaces_in_brackets = false;
+end_of_line = lf;
+
diff --git a/node_modules/object.getownpropertydescriptors/.eslintignore b/node_modules/object.getownpropertydescriptors/.eslintignore
new file mode 100644
index 0000000..404abb2
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/.eslintignore
@@ -0,0 +1 @@
+coverage/
diff --git a/node_modules/object.getownpropertydescriptors/.eslintrc b/node_modules/object.getownpropertydescriptors/.eslintrc
new file mode 100644
index 0000000..e3a5450
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/.eslintrc
@@ -0,0 +1,20 @@
+{
+ "root": true,
+
+ "extends": "@ljharb",
+
+ "rules": {
+ "id-length": [2, { "min": 1, "max": 30 }],
+ "new-cap": [2, { "capIsNewExceptions": ["CreateDataProperty", "IsCallable", "RequireObjectCoercible", "ToObject"] }]
+ },
+
+ "overrides": [
+ {
+ "files": "test/**",
+ "rules": {
+ "max-lines-per-function": 0,
+ "no-invalid-this": 1
+ },
+ },
+ ],
+}
diff --git a/node_modules/object.getownpropertydescriptors/.nycrc b/node_modules/object.getownpropertydescriptors/.nycrc
new file mode 100644
index 0000000..1826526
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/.nycrc
@@ -0,0 +1,13 @@
+{
+ "all": true,
+ "check-coverage": false,
+ "reporter": ["text-summary", "text", "html", "json"],
+ "lines": 86,
+ "statements": 85.93,
+ "functions": 82.43,
+ "branches": 76.06,
+ "exclude": [
+ "coverage",
+ "test"
+ ]
+}
diff --git a/node_modules/object.getownpropertydescriptors/CHANGELOG.md b/node_modules/object.getownpropertydescriptors/CHANGELOG.md
new file mode 100644
index 0000000..56ec4db
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/CHANGELOG.md
@@ -0,0 +1,88 @@
+2.1.2 / 2021-02-20
+=================
+ * [Deps] update `call-bind`, `es-abstract`
+ * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `functions-have-names`, `has-strict-mode`, `tape`
+ * [meta] do not publish github action workflow files
+ * [meta] gitignore coverage output
+ * [actions] update workflows
+
+2.1.1 / 2020-11-26
+=================
+ * [Fix] do not mutate the native function when present
+ * [Deps] update `es-abstract`; use `call-bind` where applicable
+ * [meta] remove unused Makefile and associated utilities
+ * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `tape`, `functions-have-names`; add `aud`
+ * [actions] add Require Allow Edits workflow
+ * [actions] switch Automatic Rebase workflow to `pull_request_target` event
+ * [Tests] migrate tests to Github Actions
+ * [Tests] run `nyc` on all tests
+ * [Tests] add `implementation` test; run `es-shim-api` in postlint; use `tape` runner
+ * [Tests] only audit prod deps
+
+2.1.0 / 2019-12-12
+=================
+ * [New] add auto entry point
+ * [Refactor] use split-up `es-abstract` (78% bundle size decrease)
+ * [readme] fix repo URLs, remove testling
+ * [Docs] Fix formatting in the README (#30)
+ * [Deps] update `define-properties`, `es-abstract`
+ * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `functions-have-names`, `covert`, `replace`, `semver`, `tape`, `@es-shims/api`; add `safe-publish-latest`
+ * [meta] add `funding` field
+ * [meta] Only apps should have lockfiles.
+ * [Tests] use shared travis-ci configs
+ * [Tests] use `functions-have-names`
+ * [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops
+ * [Tests] remove `jscs`
+ * [actions] add automatic rebasing / merge commit blocking
+
+2.0.3 / 2016-07-26
+=================
+ * [Fix] Update implementation to not return `undefined` descriptors
+ * [Deps] update `es-abstract`
+ * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `@es-shims/api`, `jscs`, `nsp`, `tape`, `semver`
+ * [Dev Deps] remove unused eccheck script + dep
+ * [Tests] up to `node` `v6.3`, `v5.12`, `v4.4`
+ * [Tests] use pretest/posttest for linting/security
+ * Update to stage 4
+
+2.0.2 / 2016-01-27
+=================
+ * [Fix] ensure that `Object.getOwnPropertyDescriptors` does not fail when `Object.prototype` has a poisoned setter (#1, #2)
+
+2.0.1 / 2016-01-27
+=================
+ * [Deps] move `@es-shims/api` to dev deps
+
+2.0.0 / 2016-01-27
+=================
+ * [Breaking] implement the es-shims API
+ * [Deps] update `define-properties`, `es-abstract`
+ * [Dev Deps] update `tape`, `jscs`, `nsp`, `eslint`, `@ljharb/eslint-config`, `semver`
+ * [Tests] fix npm upgrades in older nodes
+ * [Tests] up to `node` `v5.5`
+ * [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
+
+1.0.4 / 2015-07-20
+=================
+ * [Tests] Test on `io.js` `v2.4`
+ * [Deps, Dev Deps] Update `define-properties`, `tape`, `eslint`, `semver`
+
+1.0.3 / 2015-06-28
+=================
+ * Increase robustness by caching `Array#{concat, reduce}`
+ * [Deps] Update `define_properties`
+ * [Dev Deps] Update `eslint`, `semver`, `nsp`
+ * [Tests] Test up to `io.js` `v2.3`
+
+1.0.2 / 2015-05-23
+=================
+ * Update `es-abstract`, `tape`, `eslint`, `jscs`, `semver`, `covert`
+ * Test up to `io.js` `v2.0`
+
+1.0.1 / 2015-03-20
+=================
+ * Update `es-abstract`, `editorconfig-tools`, `nsp`, `eslint`, `semver`, `replace`
+
+1.0.0 / 2015-02-17
+=================
+ * v1.0.0
diff --git a/node_modules/object.getownpropertydescriptors/LICENSE b/node_modules/object.getownpropertydescriptors/LICENSE
new file mode 100644
index 0000000..b43df44
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/LICENSE
@@ -0,0 +1,22 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Jordan Harband
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
diff --git a/node_modules/object.getownpropertydescriptors/README.md b/node_modules/object.getownpropertydescriptors/README.md
new file mode 100644
index 0000000..41f7f86
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/README.md
@@ -0,0 +1,95 @@
+# Object.getOwnPropertyDescriptors <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
+
+[![Build Status][travis-svg]][travis-url]
+[![dependency status][deps-svg]][deps-url]
+[![dev dependency status][dev-deps-svg]][dev-deps-url]
+[![License][license-image]][license-url]
+[![Downloads][downloads-image]][downloads-url]
+
+[![npm badge][npm-badge-png]][package-url]
+
+An ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.
+Invoke its "shim" method to shim `Object.getOwnPropertyDescriptors` if it is unavailable, and if `Object.getOwnPropertyDescriptor` is available.
+
+This package implements the [es-shim API](https://github.com/es-shims/api) interface. It works in an ES3-supported environment and complies with the [spec](https://github.com/tc39/ecma262/pull/582).
+
+## Example
+
+```js
+var getDescriptors = require('object.getownpropertydescriptors');
+var assert = require('assert');
+var obj = { normal: Infinity };
+var enumDescriptor = {
+ enumerable: false,
+ writable: false,
+ configurable: true,
+ value: true
+};
+var writableDescriptor = {
+ enumerable: true,
+ writable: true,
+ configurable: true,
+ value: 42
+};
+var symbol = Symbol();
+var symDescriptor = {
+ enumerable: true,
+ writable: true,
+ configurable: false,
+ value: [symbol]
+};
+
+Object.defineProperty(obj, 'enumerable', enumDescriptor);
+Object.defineProperty(obj, 'writable', writableDescriptor);
+Object.defineProperty(obj, 'symbol', symDescriptor);
+
+var descriptors = getDescriptors(obj);
+
+assert.deepEqual(descriptors, {
+ normal: {
+ enumerable: true,
+ writable: true,
+ configurable: true,
+ value: Infinity
+ },
+ enumerable: enumDescriptor,
+ writable: writableDescriptor,
+ symbol: symDescriptor
+});
+```
+
+```js
+var getDescriptors = require('object.getownpropertydescriptors');
+var assert = require('assert');
+/* when Object.getOwnPropertyDescriptors is not present */
+delete Object.getOwnPropertyDescriptors;
+var shimmedDescriptors = getDescriptors.shim();
+assert.equal(shimmedDescriptors, getDescriptors);
+assert.deepEqual(shimmedDescriptors(obj), getDescriptors(obj));
+```
+
+```js
+var getDescriptors = require('object.getownpropertydescriptors');
+var assert = require('assert');
+/* when Object.getOwnPropertyDescriptors is present */
+var shimmedDescriptors = getDescriptors.shim();
+assert.notEqual(shimmedDescriptors, getDescriptors);
+assert.deepEqual(shimmedDescriptors(obj), getDescriptors(obj));
+```
+
+## Tests
+Simply clone the repo, `npm install`, and run `npm test`
+
+[package-url]: https://npmjs.org/package/object.getownpropertydescriptors
+[npm-version-svg]: http://versionbadg.es/es-shims/object.getownpropertydescriptors.svg
+[travis-svg]: https://travis-ci.org/es-shims/Object.getOwnPropertyDescriptors.svg
+[travis-url]: https://travis-ci.org/es-shims/Object.getOwnPropertyDescriptors
+[deps-svg]: https://david-dm.org/es-shims/object.getownpropertydescriptors.svg
+[deps-url]: https://david-dm.org/es-shims/object.getownpropertydescriptors
+[dev-deps-svg]: https://david-dm.org/es-shims/object.getownpropertydescriptors/dev-status.svg
+[dev-deps-url]: https://david-dm.org/es-shims/object.getownpropertydescriptors#info=devDependencies
+[npm-badge-png]: https://nodei.co/npm/object.getownpropertydescriptors.png?downloads=true&stars=true
+[license-image]: http://img.shields.io/npm/l/object.getownpropertydescriptors.svg
+[license-url]: LICENSE
+[downloads-image]: http://img.shields.io/npm/dm/object.getownpropertydescriptors.svg
+[downloads-url]: http://npm-stat.com/charts.html?package=object.getownpropertydescriptors
diff --git a/node_modules/object.getownpropertydescriptors/auto.js b/node_modules/object.getownpropertydescriptors/auto.js
new file mode 100644
index 0000000..8ebf606
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/auto.js
@@ -0,0 +1,3 @@
+'use strict';
+
+require('./shim')();
diff --git a/node_modules/object.getownpropertydescriptors/implementation.js b/node_modules/object.getownpropertydescriptors/implementation.js
new file mode 100644
index 0000000..9a39c8d
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/implementation.js
@@ -0,0 +1,38 @@
+'use strict';
+
+var CreateDataProperty = require('es-abstract/2020/CreateDataProperty');
+var IsCallable = require('es-abstract/2020/IsCallable');
+var RequireObjectCoercible = require('es-abstract/2020/RequireObjectCoercible');
+var ToObject = require('es-abstract/2020/ToObject');
+var callBound = require('call-bind/callBound');
+
+var $gOPD = Object.getOwnPropertyDescriptor;
+var $getOwnNames = Object.getOwnPropertyNames;
+var $getSymbols = Object.getOwnPropertySymbols;
+var $concat = callBound('Array.prototype.concat');
+var $reduce = callBound('Array.prototype.reduce');
+var getAll = $getSymbols ? function (obj) {
+ return $concat($getOwnNames(obj), $getSymbols(obj));
+} : $getOwnNames;
+
+var isES5 = IsCallable($gOPD) && IsCallable($getOwnNames);
+
+module.exports = function getOwnPropertyDescriptors(value) {
+ RequireObjectCoercible(value);
+ if (!isES5) {
+ throw new TypeError('getOwnPropertyDescriptors requires Object.getOwnPropertyDescriptor');
+ }
+
+ var O = ToObject(value);
+ return $reduce(
+ getAll(O),
+ function (acc, key) {
+ var descriptor = $gOPD(O, key);
+ if (typeof descriptor !== 'undefined') {
+ CreateDataProperty(acc, key, descriptor);
+ }
+ return acc;
+ },
+ {}
+ );
+};
diff --git a/node_modules/object.getownpropertydescriptors/index.js b/node_modules/object.getownpropertydescriptors/index.js
new file mode 100644
index 0000000..dfc1e8b
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/index.js
@@ -0,0 +1,18 @@
+'use strict';
+
+var define = require('define-properties');
+var callBind = require('call-bind');
+
+var implementation = require('./implementation');
+var getPolyfill = require('./polyfill');
+var shim = require('./shim');
+
+var bound = callBind(getPolyfill(), Object);
+
+define(bound, {
+ getPolyfill: getPolyfill,
+ implementation: implementation,
+ shim: shim
+});
+
+module.exports = bound;
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintignore b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintignore
new file mode 100644
index 0000000..404abb2
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintignore
@@ -0,0 +1 @@
+coverage/
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintrc b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintrc
new file mode 100644
index 0000000..e5d3c9a
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.eslintrc
@@ -0,0 +1,17 @@
+{
+ "root": true,
+
+ "extends": "@ljharb",
+
+ "rules": {
+ "func-name-matching": 0,
+ "id-length": 0,
+ "new-cap": [2, {
+ "capIsNewExceptions": [
+ "GetIntrinsic",
+ ],
+ }],
+ "no-magic-numbers": 0,
+ "operator-linebreak": [2, "before"],
+ },
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.github/FUNDING.yml b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.github/FUNDING.yml
new file mode 100644
index 0000000..c70c2ec
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: [ljharb]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: npm/call-bind
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.nycrc b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.nycrc
new file mode 100644
index 0000000..1826526
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/.nycrc
@@ -0,0 +1,13 @@
+{
+ "all": true,
+ "check-coverage": false,
+ "reporter": ["text-summary", "text", "html", "json"],
+ "lines": 86,
+ "statements": 85.93,
+ "functions": 82.43,
+ "branches": 76.06,
+ "exclude": [
+ "coverage",
+ "test"
+ ]
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/CHANGELOG.md b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/CHANGELOG.md
new file mode 100644
index 0000000..62a3727
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/CHANGELOG.md
@@ -0,0 +1,42 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [v1.0.2](https://github.com/ljharb/call-bind/compare/v1.0.1...v1.0.2) - 2021-01-11
+
+### Commits
+
+- [Fix] properly include the receiver in the bound length [`dbae7bc`](https://github.com/ljharb/call-bind/commit/dbae7bc676c079a0d33c0a43e9ef92cb7b01345d)
+
+## [v1.0.1](https://github.com/ljharb/call-bind/compare/v1.0.0...v1.0.1) - 2021-01-08
+
+### Commits
+
+- [Tests] migrate tests to Github Actions [`b6db284`](https://github.com/ljharb/call-bind/commit/b6db284c36f8ccd195b88a6764fe84b7223a0da1)
+- [meta] do not publish github action workflow files [`ec7fe46`](https://github.com/ljharb/call-bind/commit/ec7fe46e60cfa4764ee943d2755f5e5a366e578e)
+- [Fix] preserve original function’s length when possible [`adbceaa`](https://github.com/ljharb/call-bind/commit/adbceaa3cac4b41ea78bb19d7ccdbaaf7e0bdadb)
+- [Tests] gather coverage data on every job [`d69e23c`](https://github.com/ljharb/call-bind/commit/d69e23cc65f101ba1d4c19bb07fa8eb0ec624be8)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `tape` [`2fd3586`](https://github.com/ljharb/call-bind/commit/2fd3586c5d47b335364c14293114c6b625ae1f71)
+- [Deps] update `get-intrinsic` [`f23e931`](https://github.com/ljharb/call-bind/commit/f23e9318cc271c2add8bb38cfded85ee7baf8eee)
+- [Deps] update `get-intrinsic` [`72d9f44`](https://github.com/ljharb/call-bind/commit/72d9f44e184465ba8dd3fb48260bbcff234985f2)
+- [meta] fix FUNDING.yml [`e723573`](https://github.com/ljharb/call-bind/commit/e723573438c5a68dcec31fb5d96ea6b7e4a93be8)
+- [eslint] ignore coverage output [`15e76d2`](https://github.com/ljharb/call-bind/commit/15e76d28a5f43e504696401e5b31ebb78ee1b532)
+- [meta] add Automatic Rebase and Require Allow Edits workflows [`8fa4dab`](https://github.com/ljharb/call-bind/commit/8fa4dabb23ba3dd7bb92c9571c1241c08b56e4b6)
+
+## v1.0.0 - 2020-10-30
+
+### Commits
+
+- Initial commit [`306cf98`](https://github.com/ljharb/call-bind/commit/306cf98c7ec9e7ef66b653ec152277ac1381eb50)
+- Tests [`e10d0bb`](https://github.com/ljharb/call-bind/commit/e10d0bbdadc7a10ecedc9a1c035112d3e368b8df)
+- Implementation [`43852ed`](https://github.com/ljharb/call-bind/commit/43852eda0f187327b7fad2423ca972149a52bd65)
+- npm init [`408f860`](https://github.com/ljharb/call-bind/commit/408f860b773a2f610805fd3613d0d71bac1b6249)
+- [meta] add Automatic Rebase and Require Allow Edits workflows [`fb349b2`](https://github.com/ljharb/call-bind/commit/fb349b2e48defbec8b5ec8a8395cc8f69f220b13)
+- [meta] add `auto-changelog` [`c4001fc`](https://github.com/ljharb/call-bind/commit/c4001fc43031799ef908211c98d3b0fb2b60fde4)
+- [meta] add "funding"; create `FUNDING.yml` [`d4d6d29`](https://github.com/ljharb/call-bind/commit/d4d6d2974a14bc2e98830468eda7fe6d6a776717)
+- [Tests] add `npm run lint` [`dedfb98`](https://github.com/ljharb/call-bind/commit/dedfb98bd0ecefb08ddb9a94061bd10cde4332af)
+- Only apps should have lockfiles [`54ac776`](https://github.com/ljharb/call-bind/commit/54ac77653db45a7361dc153d2f478e743f110650)
+- [meta] add `safe-publish-latest` [`9ea8e43`](https://github.com/ljharb/call-bind/commit/9ea8e435b950ce9b705559cd651039f9bf40140f)
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/LICENSE b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/LICENSE
new file mode 100644
index 0000000..48f05d0
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Jordan Harband
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/README.md b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/README.md
new file mode 100644
index 0000000..53649eb
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/README.md
@@ -0,0 +1,2 @@
+# call-bind
+Robustly `.call.bind()` a function.
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/callBound.js b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/callBound.js
new file mode 100644
index 0000000..8374adf
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/callBound.js
@@ -0,0 +1,15 @@
+'use strict';
+
+var GetIntrinsic = require('get-intrinsic');
+
+var callBind = require('./');
+
+var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
+
+module.exports = function callBoundIntrinsic(name, allowMissing) {
+ var intrinsic = GetIntrinsic(name, !!allowMissing);
+ if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
+ return callBind(intrinsic);
+ }
+ return intrinsic;
+};
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/index.js b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/index.js
new file mode 100644
index 0000000..6fa3e4a
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/index.js
@@ -0,0 +1,47 @@
+'use strict';
+
+var bind = require('function-bind');
+var GetIntrinsic = require('get-intrinsic');
+
+var $apply = GetIntrinsic('%Function.prototype.apply%');
+var $call = GetIntrinsic('%Function.prototype.call%');
+var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
+
+var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
+var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
+var $max = GetIntrinsic('%Math.max%');
+
+if ($defineProperty) {
+ try {
+ $defineProperty({}, 'a', { value: 1 });
+ } catch (e) {
+ // IE 8 has a broken defineProperty
+ $defineProperty = null;
+ }
+}
+
+module.exports = function callBind(originalFunction) {
+ var func = $reflectApply(bind, $call, arguments);
+ if ($gOPD && $defineProperty) {
+ var desc = $gOPD(func, 'length');
+ if (desc.configurable) {
+ // original length, plus the receiver, minus any additional arguments (after the receiver)
+ $defineProperty(
+ func,
+ 'length',
+ { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }
+ );
+ }
+ }
+ return func;
+};
+
+var applyBind = function applyBind() {
+ return $reflectApply(bind, $apply, arguments);
+};
+
+if ($defineProperty) {
+ $defineProperty(module.exports, 'apply', { value: applyBind });
+} else {
+ module.exports.apply = applyBind;
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/package.json b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/package.json
new file mode 100644
index 0000000..ab7a2a9
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/package.json
@@ -0,0 +1,108 @@
+{
+ "_from": "call-bind@^1.0.2",
+ "_id": "call-bind@1.0.2",
+ "_inBundle": false,
+ "_integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "_location": "/object.getownpropertydescriptors/call-bind",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "call-bind@^1.0.2",
+ "name": "call-bind",
+ "escapedName": "call-bind",
+ "rawSpec": "^1.0.2",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.2"
+ },
+ "_requiredBy": [
+ "/object.getownpropertydescriptors"
+ ],
+ "_resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "_shasum": "b1d4e89e688119c3c9a903ad30abb2f6a919be3c",
+ "_spec": "call-bind@^1.0.2",
+ "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\object.getownpropertydescriptors",
+ "author": {
+ "name": "Jordan Harband",
+ "email": "ljharb@gmail.com"
+ },
+ "auto-changelog": {
+ "output": "CHANGELOG.md",
+ "template": "keepachangelog",
+ "unreleased": false,
+ "commitLimit": false,
+ "backfillLimit": false,
+ "hideCredit": true
+ },
+ "bugs": {
+ "url": "https://github.com/ljharb/call-bind/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "deprecated": false,
+ "description": "Robustly `.call.bind()` a function",
+ "devDependencies": {
+ "@ljharb/eslint-config": "^17.3.0",
+ "aud": "^1.1.3",
+ "auto-changelog": "^2.2.1",
+ "eslint": "^7.17.0",
+ "nyc": "^10.3.2",
+ "safe-publish-latest": "^1.1.4",
+ "tape": "^5.1.1"
+ },
+ "exports": {
+ ".": [
+ {
+ "default": "./index.js"
+ },
+ "./index.js"
+ ],
+ "./callBound": [
+ {
+ "default": "./callBound.js"
+ },
+ "./callBound.js"
+ ],
+ "./package.json": "./package.json"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "homepage": "https://github.com/ljharb/call-bind#readme",
+ "keywords": [
+ "javascript",
+ "ecmascript",
+ "es",
+ "js",
+ "callbind",
+ "callbound",
+ "call",
+ "bind",
+ "bound",
+ "call-bind",
+ "call-bound",
+ "function",
+ "es-abstract"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "call-bind",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ljharb/call-bind.git"
+ },
+ "scripts": {
+ "lint": "eslint --ext=.js,.mjs .",
+ "posttest": "aud --production",
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
+ "prepublish": "safe-publish-latest",
+ "pretest": "npm run lint",
+ "test": "npm run tests-only",
+ "tests-only": "nyc tape 'test/*'",
+ "version": "auto-changelog && git add CHANGELOG.md"
+ },
+ "version": "1.0.2"
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/callBound.js b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/callBound.js
new file mode 100644
index 0000000..209ce3c
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/callBound.js
@@ -0,0 +1,55 @@
+'use strict';
+
+var test = require('tape');
+
+var callBound = require('../callBound');
+
+test('callBound', function (t) {
+ // static primitive
+ t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself');
+ t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself');
+
+ // static non-function object
+ t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself');
+ t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself');
+ t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself');
+ t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself');
+
+ // static function
+ t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself');
+ t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself');
+
+ // prototype primitive
+ t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself');
+ t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself');
+
+ // prototype function
+ t.notEqual(callBound('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString does not yield itself');
+ t.notEqual(callBound('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% does not yield itself');
+ t.equal(callBound('Object.prototype.toString')(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original');
+ t.equal(callBound('%Object.prototype.toString%')(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original');
+
+ t['throws'](
+ function () { callBound('does not exist'); },
+ SyntaxError,
+ 'nonexistent intrinsic throws'
+ );
+ t['throws'](
+ function () { callBound('does not exist', true); },
+ SyntaxError,
+ 'allowMissing arg still throws for unknown intrinsic'
+ );
+
+ /* globals WeakRef: false */
+ t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) {
+ st['throws'](
+ function () { callBound('WeakRef'); },
+ TypeError,
+ 'real but absent intrinsic throws'
+ );
+ st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception');
+ st.end();
+ });
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/index.js b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/index.js
new file mode 100644
index 0000000..bf6769c
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/call-bind/test/index.js
@@ -0,0 +1,66 @@
+'use strict';
+
+var callBind = require('../');
+var bind = require('function-bind');
+
+var test = require('tape');
+
+/*
+ * older engines have length nonconfigurable
+ * in io.js v3, it is configurable except on bound functions, hence the .bind()
+ */
+var functionsHaveConfigurableLengths = !!(
+ Object.getOwnPropertyDescriptor
+ && Object.getOwnPropertyDescriptor(bind.call(function () {}), 'length').configurable
+);
+
+test('callBind', function (t) {
+ var sentinel = { sentinel: true };
+ var func = function (a, b) {
+ // eslint-disable-next-line no-invalid-this
+ return [this, a, b];
+ };
+ t.equal(func.length, 2, 'original function length is 2');
+ t.deepEqual(func(), [undefined, undefined, undefined], 'unbound func with too few args');
+ t.deepEqual(func(1, 2), [undefined, 1, 2], 'unbound func with right args');
+ t.deepEqual(func(1, 2, 3), [undefined, 1, 2], 'unbound func with too many args');
+
+ var bound = callBind(func);
+ t.equal(bound.length, func.length + 1, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
+ t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with too few args');
+ t.deepEqual(bound(1, 2), [1, 2, undefined], 'bound func with right args');
+ t.deepEqual(bound(1, 2, 3), [1, 2, 3], 'bound func with too many args');
+
+ var boundR = callBind(func, sentinel);
+ t.equal(boundR.length, func.length, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
+ t.deepEqual(boundR(), [sentinel, undefined, undefined], 'bound func with receiver, with too few args');
+ t.deepEqual(boundR(1, 2), [sentinel, 1, 2], 'bound func with receiver, with right args');
+ t.deepEqual(boundR(1, 2, 3), [sentinel, 1, 2], 'bound func with receiver, with too many args');
+
+ var boundArg = callBind(func, sentinel, 1);
+ t.equal(boundArg.length, func.length - 1, 'function length is preserved', { skip: !functionsHaveConfigurableLengths });
+ t.deepEqual(boundArg(), [sentinel, 1, undefined], 'bound func with receiver and arg, with too few args');
+ t.deepEqual(boundArg(2), [sentinel, 1, 2], 'bound func with receiver and arg, with right arg');
+ t.deepEqual(boundArg(2, 3), [sentinel, 1, 2], 'bound func with receiver and arg, with too many args');
+
+ t.test('callBind.apply', function (st) {
+ var aBound = callBind.apply(func);
+ st.deepEqual(aBound(sentinel), [sentinel, undefined, undefined], 'apply-bound func with no args');
+ st.deepEqual(aBound(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
+ st.deepEqual(aBound(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
+
+ var aBoundArg = callBind.apply(func);
+ st.deepEqual(aBoundArg(sentinel, [1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with too many args');
+ st.deepEqual(aBoundArg(sentinel, [1, 2], 4), [sentinel, 1, 2], 'apply-bound func with right args');
+ st.deepEqual(aBoundArg(sentinel, [1], 4), [sentinel, 1, undefined], 'apply-bound func with too few args');
+
+ var aBoundR = callBind.apply(func, sentinel);
+ st.deepEqual(aBoundR([1, 2, 3], 4), [sentinel, 1, 2], 'apply-bound func with receiver and too many args');
+ st.deepEqual(aBoundR([1, 2], 4), [sentinel, 1, 2], 'apply-bound func with receiver and right args');
+ st.deepEqual(aBoundR([1], 4), [sentinel, 1, undefined], 'apply-bound func with receiver and too few args');
+
+ st.end();
+ });
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintignore b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintignore
new file mode 100644
index 0000000..404abb2
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintignore
@@ -0,0 +1 @@
+coverage/
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintrc b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintrc
new file mode 100644
index 0000000..d04e483
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.eslintrc
@@ -0,0 +1,43 @@
+{
+ "root": true,
+
+ "extends": "@ljharb",
+
+ "env": {
+ "es6": true,
+ "es2017": true,
+ "es2020": true,
+ "es2021": true,
+ },
+
+ "globals": {
+ "AggregateError": false,
+ },
+
+ "rules": {
+ "array-bracket-newline": 0,
+ "array-element-newline": 0,
+ "complexity": 0,
+ "eqeqeq": [2, "allow-null"],
+ "func-name-matching": 0,
+ "id-length": 0,
+ "max-lines-per-function": [2, 80],
+ "max-params": [2, 4],
+ "max-statements": 0,
+ "max-statements-per-line": [2, { "max": 2 }],
+ "multiline-comment-style": 0,
+ "no-magic-numbers": 0,
+ "operator-linebreak": [2, "before"],
+ "sort-keys": 0,
+ },
+
+ "overrides": [
+ {
+ "files": "test/**",
+ "rules": {
+ "max-lines-per-function": 0,
+ "new-cap": 0,
+ },
+ },
+ ],
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.github/FUNDING.yml b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.github/FUNDING.yml
new file mode 100644
index 0000000..8e8da0d
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: [ljharb]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: npm/get-intrinsic
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.nycrc b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.nycrc
new file mode 100644
index 0000000..1826526
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/.nycrc
@@ -0,0 +1,13 @@
+{
+ "all": true,
+ "check-coverage": false,
+ "reporter": ["text-summary", "text", "html", "json"],
+ "lines": 86,
+ "statements": 85.93,
+ "functions": 82.43,
+ "branches": 76.06,
+ "exclude": [
+ "coverage",
+ "test"
+ ]
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/CHANGELOG.md b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/CHANGELOG.md
new file mode 100644
index 0000000..32502ec
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/CHANGELOG.md
@@ -0,0 +1,64 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [v1.1.1](https://github.com/ljharb/get-intrinsic/compare/v1.1.0...v1.1.1) - 2021-02-03
+
+### Fixed
+
+- [meta] export `./package.json` [`#9`](https://github.com/ljharb/get-intrinsic/issues/9)
+
+### Commits
+
+- [readme] flesh out the readme; use `evalmd` [`d12f12c`](https://github.com/ljharb/get-intrinsic/commit/d12f12c15345a0a0772cc65a7c64369529abd614)
+- [eslint] set up proper globals config [`5a8c098`](https://github.com/ljharb/get-intrinsic/commit/5a8c0984e3319d1ac0e64b102f8ec18b64e79f36)
+- [Dev Deps] update `eslint` [`7b9a5c0`](https://github.com/ljharb/get-intrinsic/commit/7b9a5c0d31a90ca1a1234181c74988fb046701cd)
+
+## [v1.1.0](https://github.com/ljharb/get-intrinsic/compare/v1.0.2...v1.1.0) - 2021-01-25
+
+### Fixed
+
+- [Refactor] delay `Function` eval until syntax-derived values are requested [`#3`](https://github.com/ljharb/get-intrinsic/issues/3)
+
+### Commits
+
+- [Tests] migrate tests to Github Actions [`2ab762b`](https://github.com/ljharb/get-intrinsic/commit/2ab762b48164aea8af37a40ba105bbc8246ab8c4)
+- [meta] do not publish github action workflow files [`5e7108e`](https://github.com/ljharb/get-intrinsic/commit/5e7108e4768b244d48d9567ba4f8a6cab9c65b8e)
+- [Tests] add some coverage [`01ac7a8`](https://github.com/ljharb/get-intrinsic/commit/01ac7a87ac29738567e8524cd8c9e026b1fa8cb3)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `call-bind`, `es-abstract`, `tape`; add `call-bind` [`911b672`](https://github.com/ljharb/get-intrinsic/commit/911b672fbffae433a96924c6ce013585e425f4b7)
+- [Refactor] rearrange evalled constructors a bit [`7e7e4bf`](https://github.com/ljharb/get-intrinsic/commit/7e7e4bf583f3799c8ac1c6c5e10d2cb553957347)
+- [meta] add Automatic Rebase and Require Allow Edits workflows [`0199968`](https://github.com/ljharb/get-intrinsic/commit/01999687a263ffce0a3cb011dfbcb761754aedbc)
+
+## [v1.0.2](https://github.com/ljharb/get-intrinsic/compare/v1.0.1...v1.0.2) - 2020-12-17
+
+### Commits
+
+- [Fix] Throw for non‑existent intrinsics [`68f873b`](https://github.com/ljharb/get-intrinsic/commit/68f873b013c732a05ad6f5fc54f697e55515461b)
+- [Fix] Throw for non‑existent segments in the intrinsic path [`8325dee`](https://github.com/ljharb/get-intrinsic/commit/8325deee43128f3654d3399aa9591741ebe17b21)
+- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `has-bigints`, `object-inspect` [`0c227a7`](https://github.com/ljharb/get-intrinsic/commit/0c227a7d8b629166f25715fd242553892e458525)
+- [meta] do not lint coverage output [`70d2419`](https://github.com/ljharb/get-intrinsic/commit/70d24199b620043cd9110fc5f426d214ebe21dc9)
+
+## [v1.0.1](https://github.com/ljharb/get-intrinsic/compare/v1.0.0...v1.0.1) - 2020-10-30
+
+### Commits
+
+- [Tests] gather coverage data on every job [`d1d280d`](https://github.com/ljharb/get-intrinsic/commit/d1d280dec714e3f0519cc877dbcb193057d9cac6)
+- [Fix] add missing dependencies [`5031771`](https://github.com/ljharb/get-intrinsic/commit/5031771bb1095b38be88ce7c41d5de88718e432e)
+- [Tests] use `es-value-fixtures` [`af48765`](https://github.com/ljharb/get-intrinsic/commit/af48765a23c5323fb0b6b38dbf00eb5099c7bebc)
+
+## v1.0.0 - 2020-10-29
+
+### Commits
+
+- Implementation [`bbce57c`](https://github.com/ljharb/get-intrinsic/commit/bbce57c6f33d05b2d8d3efa273ceeb3ee01127bb)
+- Tests [`17b4f0d`](https://github.com/ljharb/get-intrinsic/commit/17b4f0d56dea6b4059b56fc30ef3ee4d9500ebc2)
+- Initial commit [`3153294`](https://github.com/ljharb/get-intrinsic/commit/31532948de363b0a27dd9fd4649e7b7028ec4b44)
+- npm init [`fb326c4`](https://github.com/ljharb/get-intrinsic/commit/fb326c4d2817c8419ec31de1295f06bb268a7902)
+- [meta] add Automatic Rebase and Require Allow Edits workflows [`48862fb`](https://github.com/ljharb/get-intrinsic/commit/48862fb2508c8f6a57968e6d08b7c883afc9d550)
+- [meta] add `auto-changelog` [`5f28ad0`](https://github.com/ljharb/get-intrinsic/commit/5f28ad019e060a353d8028f9f2591a9cc93074a1)
+- [meta] add "funding"; create `FUNDING.yml` [`c2bbdde`](https://github.com/ljharb/get-intrinsic/commit/c2bbddeba73a875be61484ee4680b129a6d4e0a1)
+- [Tests] add `npm run lint` [`0a84b98`](https://github.com/ljharb/get-intrinsic/commit/0a84b98b22b7cf7a748666f705b0003a493c35fd)
+- Only apps should have lockfiles [`9586c75`](https://github.com/ljharb/get-intrinsic/commit/9586c75866c1ee678e4d5d4dbbdef6997e511b05)
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/LICENSE b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/LICENSE
new file mode 100644
index 0000000..48f05d0
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 Jordan Harband
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/README.md b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/README.md
new file mode 100644
index 0000000..335a3b4
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/README.md
@@ -0,0 +1,65 @@
+# get-intrinsic <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
+
+[![dependency status][deps-svg]][deps-url]
+[![dev dependency status][dev-deps-svg]][dev-deps-url]
+[![License][license-image]][license-url]
+[![Downloads][downloads-image]][downloads-url]
+
+[![npm badge][npm-badge-png]][package-url]
+
+Get and robustly cache all JS language-level intrinsics at first require time.
+
+See the syntax described [in the JS spec](https://tc39.es/ecma262/#sec-well-known-intrinsic-objects) for reference.
+
+## Example
+
+```js
+var GetIntrinsic = require('get-intrinsic');
+var assert = require('assert');
+
+// static methods
+assert.equal(GetIntrinsic('%Math.pow%'), Math.pow);
+assert.equal(Math.pow(2, 3), 8);
+assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);
+delete Math.pow;
+assert.equal(GetIntrinsic('%Math.pow%')(2, 3), 8);
+
+// instance methods
+var arr = [1];
+assert.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push);
+assert.deepEqual(arr, [1]);
+
+arr.push(2);
+assert.deepEqual(arr, [1, 2]);
+
+GetIntrinsic('%Array.prototype.push%').call(arr, 3);
+assert.deepEqual(arr, [1, 2, 3]);
+
+delete Array.prototype.push;
+GetIntrinsic('%Array.prototype.push%').call(arr, 4);
+assert.deepEqual(arr, [1, 2, 3, 4]);
+
+// missing features
+delete JSON.parse; // to simulate a real intrinsic that is missing in the environment
+assert.throws(() => GetIntrinsic('%JSON.parse%'));
+assert.equal(undefined, GetIntrinsic('%JSON.parse%', true));
+```
+
+## Tests
+Simply clone the repo, `npm install`, and run `npm test`
+
+## Security
+
+Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report.
+
+[package-url]: https://npmjs.org/package/get-intrinsic
+[npm-version-svg]: http://versionbadg.es/ljharb/get-intrinsic.svg
+[deps-svg]: https://david-dm.org/ljharb/get-intrinsic.svg
+[deps-url]: https://david-dm.org/ljharb/get-intrinsic
+[dev-deps-svg]: https://david-dm.org/ljharb/get-intrinsic/dev-status.svg
+[dev-deps-url]: https://david-dm.org/ljharb/get-intrinsic#info=devDependencies
+[npm-badge-png]: https://nodei.co/npm/get-intrinsic.png?downloads=true&stars=true
+[license-image]: https://img.shields.io/npm/l/get-intrinsic.svg
+[license-url]: LICENSE
+[downloads-image]: https://img.shields.io/npm/dm/get-intrinsic.svg
+[downloads-url]: https://npm-stat.com/charts.html?package=get-intrinsic
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/index.js b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/index.js
new file mode 100644
index 0000000..d6c06c2
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/index.js
@@ -0,0 +1,330 @@
+'use strict';
+
+var undefined;
+
+var $SyntaxError = SyntaxError;
+var $Function = Function;
+var $TypeError = TypeError;
+
+// eslint-disable-next-line consistent-return
+var getEvalledConstructor = function (expressionSyntax) {
+ try {
+ return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
+ } catch (e) {}
+};
+
+var $gOPD = Object.getOwnPropertyDescriptor;
+if ($gOPD) {
+ try {
+ $gOPD({}, '');
+ } catch (e) {
+ $gOPD = null; // this is IE 8, which has a broken gOPD
+ }
+}
+
+var throwTypeError = function () {
+ throw new $TypeError();
+};
+var ThrowTypeError = $gOPD
+ ? (function () {
+ try {
+ // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
+ arguments.callee; // IE 8 does not throw here
+ return throwTypeError;
+ } catch (calleeThrows) {
+ try {
+ // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
+ return $gOPD(arguments, 'callee').get;
+ } catch (gOPDthrows) {
+ return throwTypeError;
+ }
+ }
+ }())
+ : throwTypeError;
+
+var hasSymbols = require('has-symbols')();
+
+var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
+
+var needsEval = {};
+
+var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
+
+var INTRINSICS = {
+ '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
+ '%Array%': Array,
+ '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
+ '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
+ '%AsyncFromSyncIteratorPrototype%': undefined,
+ '%AsyncFunction%': needsEval,
+ '%AsyncGenerator%': needsEval,
+ '%AsyncGeneratorFunction%': needsEval,
+ '%AsyncIteratorPrototype%': needsEval,
+ '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
+ '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
+ '%Boolean%': Boolean,
+ '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
+ '%Date%': Date,
+ '%decodeURI%': decodeURI,
+ '%decodeURIComponent%': decodeURIComponent,
+ '%encodeURI%': encodeURI,
+ '%encodeURIComponent%': encodeURIComponent,
+ '%Error%': Error,
+ '%eval%': eval, // eslint-disable-line no-eval
+ '%EvalError%': EvalError,
+ '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
+ '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
+ '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
+ '%Function%': $Function,
+ '%GeneratorFunction%': needsEval,
+ '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
+ '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
+ '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
+ '%isFinite%': isFinite,
+ '%isNaN%': isNaN,
+ '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
+ '%JSON%': typeof JSON === 'object' ? JSON : undefined,
+ '%Map%': typeof Map === 'undefined' ? undefined : Map,
+ '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
+ '%Math%': Math,
+ '%Number%': Number,
+ '%Object%': Object,
+ '%parseFloat%': parseFloat,
+ '%parseInt%': parseInt,
+ '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
+ '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
+ '%RangeError%': RangeError,
+ '%ReferenceError%': ReferenceError,
+ '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
+ '%RegExp%': RegExp,
+ '%Set%': typeof Set === 'undefined' ? undefined : Set,
+ '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
+ '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
+ '%String%': String,
+ '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
+ '%Symbol%': hasSymbols ? Symbol : undefined,
+ '%SyntaxError%': $SyntaxError,
+ '%ThrowTypeError%': ThrowTypeError,
+ '%TypedArray%': TypedArray,
+ '%TypeError%': $TypeError,
+ '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
+ '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
+ '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
+ '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
+ '%URIError%': URIError,
+ '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
+ '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
+ '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
+};
+
+var doEval = function doEval(name) {
+ var value;
+ if (name === '%AsyncFunction%') {
+ value = getEvalledConstructor('async function () {}');
+ } else if (name === '%GeneratorFunction%') {
+ value = getEvalledConstructor('function* () {}');
+ } else if (name === '%AsyncGeneratorFunction%') {
+ value = getEvalledConstructor('async function* () {}');
+ } else if (name === '%AsyncGenerator%') {
+ var fn = doEval('%AsyncGeneratorFunction%');
+ if (fn) {
+ value = fn.prototype;
+ }
+ } else if (name === '%AsyncIteratorPrototype%') {
+ var gen = doEval('%AsyncGenerator%');
+ if (gen) {
+ value = getProto(gen.prototype);
+ }
+ }
+
+ INTRINSICS[name] = value;
+
+ return value;
+};
+
+var LEGACY_ALIASES = {
+ '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
+ '%ArrayPrototype%': ['Array', 'prototype'],
+ '%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
+ '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
+ '%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
+ '%ArrayProto_values%': ['Array', 'prototype', 'values'],
+ '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
+ '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
+ '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
+ '%BooleanPrototype%': ['Boolean', 'prototype'],
+ '%DataViewPrototype%': ['DataView', 'prototype'],
+ '%DatePrototype%': ['Date', 'prototype'],
+ '%ErrorPrototype%': ['Error', 'prototype'],
+ '%EvalErrorPrototype%': ['EvalError', 'prototype'],
+ '%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
+ '%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
+ '%FunctionPrototype%': ['Function', 'prototype'],
+ '%Generator%': ['GeneratorFunction', 'prototype'],
+ '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
+ '%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
+ '%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
+ '%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
+ '%JSONParse%': ['JSON', 'parse'],
+ '%JSONStringify%': ['JSON', 'stringify'],
+ '%MapPrototype%': ['Map', 'prototype'],
+ '%NumberPrototype%': ['Number', 'prototype'],
+ '%ObjectPrototype%': ['Object', 'prototype'],
+ '%ObjProto_toString%': ['Object', 'prototype', 'toString'],
+ '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
+ '%PromisePrototype%': ['Promise', 'prototype'],
+ '%PromiseProto_then%': ['Promise', 'prototype', 'then'],
+ '%Promise_all%': ['Promise', 'all'],
+ '%Promise_reject%': ['Promise', 'reject'],
+ '%Promise_resolve%': ['Promise', 'resolve'],
+ '%RangeErrorPrototype%': ['RangeError', 'prototype'],
+ '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
+ '%RegExpPrototype%': ['RegExp', 'prototype'],
+ '%SetPrototype%': ['Set', 'prototype'],
+ '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
+ '%StringPrototype%': ['String', 'prototype'],
+ '%SymbolPrototype%': ['Symbol', 'prototype'],
+ '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
+ '%TypedArrayPrototype%': ['TypedArray', 'prototype'],
+ '%TypeErrorPrototype%': ['TypeError', 'prototype'],
+ '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
+ '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
+ '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
+ '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
+ '%URIErrorPrototype%': ['URIError', 'prototype'],
+ '%WeakMapPrototype%': ['WeakMap', 'prototype'],
+ '%WeakSetPrototype%': ['WeakSet', 'prototype']
+};
+
+var bind = require('function-bind');
+var hasOwn = require('has');
+var $concat = bind.call(Function.call, Array.prototype.concat);
+var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
+var $replace = bind.call(Function.call, String.prototype.replace);
+var $strSlice = bind.call(Function.call, String.prototype.slice);
+
+/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
+var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
+var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
+var stringToPath = function stringToPath(string) {
+ var first = $strSlice(string, 0, 1);
+ var last = $strSlice(string, -1);
+ if (first === '%' && last !== '%') {
+ throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
+ } else if (last === '%' && first !== '%') {
+ throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
+ }
+ var result = [];
+ $replace(string, rePropName, function (match, number, quote, subString) {
+ result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
+ });
+ return result;
+};
+/* end adaptation */
+
+var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
+ var intrinsicName = name;
+ var alias;
+ if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
+ alias = LEGACY_ALIASES[intrinsicName];
+ intrinsicName = '%' + alias[0] + '%';
+ }
+
+ if (hasOwn(INTRINSICS, intrinsicName)) {
+ var value = INTRINSICS[intrinsicName];
+ if (value === needsEval) {
+ value = doEval(intrinsicName);
+ }
+ if (typeof value === 'undefined' && !allowMissing) {
+ throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
+ }
+
+ return {
+ alias: alias,
+ name: intrinsicName,
+ value: value
+ };
+ }
+
+ throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
+};
+
+module.exports = function GetIntrinsic(name, allowMissing) {
+ if (typeof name !== 'string' || name.length === 0) {
+ throw new $TypeError('intrinsic name must be a non-empty string');
+ }
+ if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
+ throw new $TypeError('"allowMissing" argument must be a boolean');
+ }
+
+ var parts = stringToPath(name);
+ var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
+
+ var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
+ var intrinsicRealName = intrinsic.name;
+ var value = intrinsic.value;
+ var skipFurtherCaching = false;
+
+ var alias = intrinsic.alias;
+ if (alias) {
+ intrinsicBaseName = alias[0];
+ $spliceApply(parts, $concat([0, 1], alias));
+ }
+
+ for (var i = 1, isOwn = true; i < parts.length; i += 1) {
+ var part = parts[i];
+ var first = $strSlice(part, 0, 1);
+ var last = $strSlice(part, -1);
+ if (
+ (
+ (first === '"' || first === "'" || first === '`')
+ || (last === '"' || last === "'" || last === '`')
+ )
+ && first !== last
+ ) {
+ throw new $SyntaxError('property names with quotes must have matching quotes');
+ }
+ if (part === 'constructor' || !isOwn) {
+ skipFurtherCaching = true;
+ }
+
+ intrinsicBaseName += '.' + part;
+ intrinsicRealName = '%' + intrinsicBaseName + '%';
+
+ if (hasOwn(INTRINSICS, intrinsicRealName)) {
+ value = INTRINSICS[intrinsicRealName];
+ } else if (value != null) {
+ if (!(part in value)) {
+ if (!allowMissing) {
+ throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
+ }
+ return void undefined;
+ }
+ if ($gOPD && (i + 1) >= parts.length) {
+ var desc = $gOPD(value, part);
+ isOwn = !!desc;
+
+ // By convention, when a data property is converted to an accessor
+ // property to emulate a data property that does not suffer from
+ // the override mistake, that accessor's getter is marked with
+ // an `originalValue` property. Here, when we detect this, we
+ // uphold the illusion by pretending to see that original data
+ // property, i.e., returning the value rather than the getter
+ // itself.
+ if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
+ value = desc.get;
+ } else {
+ value = value[part];
+ }
+ } else {
+ isOwn = hasOwn(value, part);
+ value = value[part];
+ }
+
+ if (isOwn && !skipFurtherCaching) {
+ INTRINSICS[intrinsicRealName] = value;
+ }
+ }
+ }
+ return value;
+};
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/package.json b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/package.json
new file mode 100644
index 0000000..a247f87
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/package.json
@@ -0,0 +1,106 @@
+{
+ "_from": "get-intrinsic@^1.0.2",
+ "_id": "get-intrinsic@1.1.1",
+ "_inBundle": false,
+ "_integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "_location": "/object.getownpropertydescriptors/get-intrinsic",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "get-intrinsic@^1.0.2",
+ "name": "get-intrinsic",
+ "escapedName": "get-intrinsic",
+ "rawSpec": "^1.0.2",
+ "saveSpec": null,
+ "fetchSpec": "^1.0.2"
+ },
+ "_requiredBy": [
+ "/object.getownpropertydescriptors/call-bind"
+ ],
+ "_resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "_shasum": "15f59f376f855c446963948f0d24cd3637b4abc6",
+ "_spec": "get-intrinsic@^1.0.2",
+ "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\object.getownpropertydescriptors\\node_modules\\call-bind",
+ "author": {
+ "name": "Jordan Harband",
+ "email": "ljharb@gmail.com"
+ },
+ "auto-changelog": {
+ "output": "CHANGELOG.md",
+ "template": "keepachangelog",
+ "unreleased": false,
+ "commitLimit": false,
+ "backfillLimit": false,
+ "hideCredit": true
+ },
+ "bugs": {
+ "url": "https://github.com/ljharb/get-intrinsic/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ },
+ "deprecated": false,
+ "description": "Get and robustly cache all JS language-level intrinsics at first require time",
+ "devDependencies": {
+ "@ljharb/eslint-config": "^17.5.0",
+ "aud": "^1.1.3",
+ "auto-changelog": "^2.2.1",
+ "call-bind": "^1.0.2",
+ "es-abstract": "^1.18.0-next.2",
+ "es-value-fixtures": "^1.0.0",
+ "eslint": "^7.19.0",
+ "evalmd": "^0.0.19",
+ "foreach": "^2.0.5",
+ "has-bigints": "^1.0.1",
+ "make-async-function": "^1.0.0",
+ "make-async-generator-function": "^1.0.0",
+ "make-generator-function": "^2.0.0",
+ "nyc": "^10.3.2",
+ "object-inspect": "^1.9.0",
+ "tape": "^5.1.1"
+ },
+ "exports": {
+ ".": [
+ {
+ "default": "./index.js"
+ },
+ "./index.js"
+ ],
+ "./package.json": "./package.json"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "homepage": "https://github.com/ljharb/get-intrinsic#readme",
+ "keywords": [
+ "javascript",
+ "ecmascript",
+ "es",
+ "js",
+ "intrinsic",
+ "getintrinsic",
+ "es-abstract"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "get-intrinsic",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ljharb/get-intrinsic.git"
+ },
+ "scripts": {
+ "lint": "eslint --ext=.js,.mjs .",
+ "posttest": "aud --production",
+ "postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\"",
+ "prelint": "evalmd README.md",
+ "pretest": "npm run lint",
+ "test": "npm run tests-only",
+ "tests-only": "nyc tape 'test/**/*.js'",
+ "version": "auto-changelog && git add CHANGELOG.md"
+ },
+ "version": "1.1.1"
+}
diff --git a/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/test/GetIntrinsic.js b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/test/GetIntrinsic.js
new file mode 100644
index 0000000..695e3ad
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/node_modules/get-intrinsic/test/GetIntrinsic.js
@@ -0,0 +1,260 @@
+'use strict';
+
+var GetIntrinsic = require('../');
+
+var test = require('tape');
+var forEach = require('foreach');
+var debug = require('object-inspect');
+var generatorFns = require('make-generator-function')();
+var asyncFns = require('make-async-function').list();
+var asyncGenFns = require('make-async-generator-function')();
+
+var callBound = require('call-bind/callBound');
+var v = require('es-value-fixtures');
+var $gOPD = require('es-abstract/helpers/getOwnPropertyDescriptor');
+var defineProperty = require('es-abstract/test/helpers/defineProperty');
+
+var $isProto = callBound('%Object.prototype.isPrototypeOf%');
+
+test('export', function (t) {
+ t.equal(typeof GetIntrinsic, 'function', 'it is a function');
+ t.equal(GetIntrinsic.length, 2, 'function has length of 2');
+
+ t.end();
+});
+
+test('throws', function (t) {
+ t['throws'](
+ function () { GetIntrinsic('not an intrinsic'); },
+ SyntaxError,
+ 'nonexistent intrinsic throws a syntax error'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic(''); },
+ TypeError,
+ 'empty string intrinsic throws a type error'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic('.'); },
+ SyntaxError,
+ '"just a dot" intrinsic throws a syntax error'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic('%String'); },
+ SyntaxError,
+ 'Leading % without trailing % throws a syntax error'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic('String%'); },
+ SyntaxError,
+ 'Trailing % without leading % throws a syntax error'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic("String['prototype]"); },
+ SyntaxError,
+ 'Dynamic property access is disallowed for intrinsics (unterminated string)'
+ );
+
+ t['throws'](
+ function () { GetIntrinsic('%Proxy.prototype.undefined%'); },
+ TypeError,
+ "Throws when middle part doesn't exist (%Proxy.prototype.undefined%)"
+ );
+
+ forEach(v.nonStrings, function (nonString) {
+ t['throws'](
+ function () { GetIntrinsic(nonString); },
+ TypeError,
+ debug(nonString) + ' is not a String'
+ );
+ });
+
+ forEach(v.nonBooleans, function (nonBoolean) {
+ t['throws'](
+ function () { GetIntrinsic('%', nonBoolean); },
+ TypeError,
+ debug(nonBoolean) + ' is not a Boolean'
+ );
+ });
+
+ forEach([
+ 'toString',
+ 'propertyIsEnumerable',
+ 'hasOwnProperty'
+ ], function (objectProtoMember) {
+ t['throws'](
+ function () { GetIntrinsic(objectProtoMember); },
+ SyntaxError,
+ debug(objectProtoMember) + ' is not an intrinsic'
+ );
+ });
+
+ t.end();
+});
+
+test('base intrinsics', function (t) {
+ t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object');
+ t.equal(GetIntrinsic('Object'), Object, 'Object yields Object');
+ t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array');
+ t.equal(GetIntrinsic('Array'), Array, 'Array yields Array');
+
+ t.end();
+});
+
+test('dotted paths', function (t) {
+ t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString');
+ t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString');
+ t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push');
+ t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push');
+
+ test('underscore paths are aliases for dotted paths', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
+ var original = GetIntrinsic('%ObjProto_toString%');
+
+ forEach([
+ '%Object.prototype.toString%',
+ 'Object.prototype.toString',
+ '%ObjectPrototype.toString%',
+ 'ObjectPrototype.toString',
+ '%ObjProto_toString%',
+ 'ObjProto_toString'
+ ], function (name) {
+ defineProperty(Object.prototype, 'toString', {
+ value: function toString() {
+ return original.apply(this, arguments);
+ }
+ });
+ st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString');
+ });
+
+ defineProperty(Object.prototype, 'toString', { value: original });
+ st.end();
+ });
+
+ test('dotted paths cache', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
+ var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%');
+
+ forEach([
+ '%Object.prototype.propertyIsEnumerable%',
+ 'Object.prototype.propertyIsEnumerable',
+ '%ObjectPrototype.propertyIsEnumerable%',
+ 'ObjectPrototype.propertyIsEnumerable'
+ ], function (name) {
+ // eslint-disable-next-line no-extend-native
+ Object.prototype.propertyIsEnumerable = function propertyIsEnumerable() {
+ return original.apply(this, arguments);
+ };
+ st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable');
+ });
+
+ // eslint-disable-next-line no-extend-native
+ Object.prototype.propertyIsEnumerable = original;
+ st.end();
+ });
+
+ test('dotted path reports correct error', function (st) {
+ st['throws'](function () {
+ GetIntrinsic('%NonExistentIntrinsic.prototype.property%');
+ }, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%');
+
+ st['throws'](function () {
+ GetIntrinsic('%NonExistentIntrinsicPrototype.property%');
+ }, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%');
+
+ st.end();
+ });
+
+ t.end();
+});
+
+test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) {
+ var actual = $gOPD(Map.prototype, 'size');
+ t.ok(actual, 'Map.prototype.size has a descriptor');
+ t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function');
+ t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it');
+ t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it');
+
+ t.end();
+});
+
+test('generator functions', { skip: !generatorFns.length }, function (t) {
+ var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%');
+ var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%');
+ var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%');
+
+ forEach(generatorFns, function (genFn) {
+ var fnName = genFn.name;
+ fnName = fnName ? "'" + fnName + "'" : 'genFn';
+
+ t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%');
+ t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName);
+ t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype');
+ });
+
+ t.end();
+});
+
+test('async functions', { skip: !asyncFns.length }, function (t) {
+ var $AsyncFunction = GetIntrinsic('%AsyncFunction%');
+ var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%');
+
+ forEach(asyncFns, function (asyncFn) {
+ var fnName = asyncFn.name;
+ fnName = fnName ? "'" + fnName + "'" : 'asyncFn';
+
+ t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%');
+ t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName);
+ });
+
+ t.end();
+});
+
+test('async generator functions', { skip: asyncGenFns.length === 0 }, function (t) {
+ var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%');
+ var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%');
+ var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%');
+
+ forEach(asyncGenFns, function (asyncGenFn) {
+ var fnName = asyncGenFn.name;
+ fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn';
+
+ t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%');
+ t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName);
+ t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype');
+ });
+
+ t.end();
+});
+
+test('%ThrowTypeError%', function (t) {
+ var $ThrowTypeError = GetIntrinsic('%ThrowTypeError%');
+
+ t.equal(typeof $ThrowTypeError, 'function', 'is a function');
+ t['throws'](
+ $ThrowTypeError,
+ TypeError,
+ '%ThrowTypeError% throws a TypeError'
+ );
+
+ t.end();
+});
+
+test('allowMissing', { skip: asyncGenFns.length > 0 }, function (t) {
+ t['throws'](
+ function () { GetIntrinsic('%AsyncGeneratorPrototype%'); },
+ TypeError,
+ 'throws when missing'
+ );
+
+ t.equal(
+ GetIntrinsic('%AsyncGeneratorPrototype%', true),
+ undefined,
+ 'does not throw when allowMissing'
+ );
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/package.json b/node_modules/object.getownpropertydescriptors/package.json
new file mode 100644
index 0000000..79ff4f5
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/package.json
@@ -0,0 +1,111 @@
+{
+ "_from": "object.getownpropertydescriptors@^2.1.0",
+ "_id": "object.getownpropertydescriptors@2.1.2",
+ "_inBundle": false,
+ "_integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==",
+ "_location": "/object.getownpropertydescriptors",
+ "_phantomChildren": {
+ "function-bind": "1.1.1",
+ "has": "1.0.3",
+ "has-symbols": "1.0.1"
+ },
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "object.getownpropertydescriptors@^2.1.0",
+ "name": "object.getownpropertydescriptors",
+ "escapedName": "object.getownpropertydescriptors",
+ "rawSpec": "^2.1.0",
+ "saveSpec": null,
+ "fetchSpec": "^2.1.0"
+ },
+ "_requiredBy": [
+ "/util.promisify"
+ ],
+ "_resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz",
+ "_shasum": "1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7",
+ "_spec": "object.getownpropertydescriptors@^2.1.0",
+ "_where": "C:\\Users\\marcr\\Desktop\\KorAp\\Git\\Kalamar\\node_modules\\util.promisify",
+ "author": {
+ "name": "Jordan Harband",
+ "email": "ljharb@gmail.com"
+ },
+ "bugs": {
+ "url": "https://github.com/es-shims/object.getownpropertydescriptors/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.2"
+ },
+ "deprecated": false,
+ "description": "ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.",
+ "devDependencies": {
+ "@es-shims/api": "^2.1.2",
+ "@ljharb/eslint-config": "^17.5.1",
+ "aud": "^1.1.4",
+ "eslint": "^7.20.0",
+ "functions-have-names": "^1.2.2",
+ "has-strict-mode": "^1.0.1",
+ "nyc": "^10.3.2",
+ "safe-publish-latest": "^1.1.4",
+ "tape": "^5.2.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ },
+ "homepage": "https://github.com/es-shims/object.getownpropertydescriptors#readme",
+ "keywords": [
+ "Object.getOwnPropertyDescriptors",
+ "descriptor",
+ "property descriptor",
+ "ES8",
+ "ES2017",
+ "shim",
+ "polyfill",
+ "getOwnPropertyDescriptor",
+ "es-shim API"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "name": "object.getownpropertydescriptors",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/es-shims/object.getownpropertydescriptors.git"
+ },
+ "scripts": {
+ "lint": "eslint .",
+ "postlint": "es-shim-api --bound",
+ "posttest": "npx aud --production",
+ "prepublish": "safe-publish-latest",
+ "pretest": "npm run --silent lint",
+ "test": "npm run --silent tests-only",
+ "tests-only": "nyc tape 'test/**/*.js'"
+ },
+ "testling": {
+ "files": [
+ "test/index.js",
+ "test/shimmed.js"
+ ],
+ "browsers": [
+ "iexplore/9.0..latest",
+ "firefox/4.0..6.0",
+ "firefox/15.0..latest",
+ "firefox/nightly",
+ "chrome/5.0..10.0",
+ "chrome/20.0..latest",
+ "chrome/canary",
+ "opera/12.0..latest",
+ "opera/next",
+ "safari/5.0..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2"
+ ]
+ },
+ "version": "2.1.2"
+}
diff --git a/node_modules/object.getownpropertydescriptors/polyfill.js b/node_modules/object.getownpropertydescriptors/polyfill.js
new file mode 100644
index 0000000..0424acf
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/polyfill.js
@@ -0,0 +1,7 @@
+'use strict';
+
+var implementation = require('./implementation');
+
+module.exports = function getPolyfill() {
+ return typeof Object.getOwnPropertyDescriptors === 'function' ? Object.getOwnPropertyDescriptors : implementation;
+};
diff --git a/node_modules/object.getownpropertydescriptors/shim.js b/node_modules/object.getownpropertydescriptors/shim.js
new file mode 100644
index 0000000..799c7d3
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/shim.js
@@ -0,0 +1,14 @@
+'use strict';
+
+var getPolyfill = require('./polyfill');
+var define = require('define-properties');
+
+module.exports = function shimGetOwnPropertyDescriptors() {
+ var polyfill = getPolyfill();
+ define(
+ Object,
+ { getOwnPropertyDescriptors: polyfill },
+ { getOwnPropertyDescriptors: function () { return Object.getOwnPropertyDescriptors !== polyfill; } }
+ );
+ return polyfill;
+};
diff --git a/node_modules/object.getownpropertydescriptors/test/implementation.js b/node_modules/object.getownpropertydescriptors/test/implementation.js
new file mode 100644
index 0000000..e3a1e46
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/test/implementation.js
@@ -0,0 +1,20 @@
+'use strict';
+
+var implementation = require('../implementation');
+var callBind = require('call-bind');
+var test = require('tape');
+var hasStrictMode = require('has-strict-mode')();
+var runTests = require('./tests');
+
+test('as a function', function (t) {
+ t.test('bad array/this value', { skip: !hasStrictMode }, function (st) {
+ /* eslint no-useless-call: 0 */
+ st['throws'](function () { implementation.call(undefined); }, TypeError, 'undefined is not an object');
+ st['throws'](function () { implementation.call(null); }, TypeError, 'null is not an object');
+ st.end();
+ });
+
+ runTests(callBind(implementation, Object), t);
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/test/index.js b/node_modules/object.getownpropertydescriptors/test/index.js
new file mode 100644
index 0000000..01c43f0
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/test/index.js
@@ -0,0 +1,17 @@
+'use strict';
+
+var getDescriptors = require('../');
+var test = require('tape');
+var runTests = require('./tests');
+
+test('as a function', function (t) {
+ t.test('bad object/this value', function (st) {
+ st['throws'](function () { return getDescriptors(undefined); }, TypeError, 'undefined is not an object');
+ st['throws'](function () { return getDescriptors(null); }, TypeError, 'null is not an object');
+ st.end();
+ });
+
+ runTests(getDescriptors, t);
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/test/shimmed.js b/node_modules/object.getownpropertydescriptors/test/shimmed.js
new file mode 100644
index 0000000..2ef4b14
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/test/shimmed.js
@@ -0,0 +1,36 @@
+'use strict';
+
+require('../auto');
+
+var getDescriptors = require('../');
+
+var test = require('tape');
+var defineProperties = require('define-properties');
+var runTests = require('./tests');
+var isEnumerable = Object.prototype.propertyIsEnumerable;
+var functionsHaveNames = require('functions-have-names')();
+
+test('shimmed', function (t) {
+ t.equal(Object.getOwnPropertyDescriptors.length, 1, 'Object.getOwnPropertyDescriptors has a length of 1');
+ t.test('Function name', { skip: !functionsHaveNames }, function (st) {
+ st.equal(Object.getOwnPropertyDescriptors.name, 'getOwnPropertyDescriptors', 'Object.getOwnPropertyDescriptors has name "getOwnPropertyDescriptors"');
+ st.end();
+ });
+
+ t.test('enumerability', { skip: !defineProperties.supportsDescriptors }, function (et) {
+ et.equal(false, isEnumerable.call(Object, 'getOwnPropertyDescriptors'), 'Object.getOwnPropertyDescriptors is not enumerable');
+ et.end();
+ });
+
+ var supportsStrictMode = (function () { return typeof this === 'undefined'; }());
+
+ t.test('bad object/this value', { skip: !supportsStrictMode }, function (st) {
+ st['throws'](function () { return getDescriptors(undefined, 'a'); }, TypeError, 'undefined is not an object');
+ st['throws'](function () { return getDescriptors(null, 'a'); }, TypeError, 'null is not an object');
+ st.end();
+ });
+
+ runTests(Object.getOwnPropertyDescriptors, t);
+
+ t.end();
+});
diff --git a/node_modules/object.getownpropertydescriptors/test/tests.js b/node_modules/object.getownpropertydescriptors/test/tests.js
new file mode 100644
index 0000000..357f296
--- /dev/null
+++ b/node_modules/object.getownpropertydescriptors/test/tests.js
@@ -0,0 +1,122 @@
+'use strict';
+
+module.exports = function (getDescriptors, t) {
+ var enumDescriptor = {
+ configurable: true,
+ enumerable: false,
+ value: true,
+ writable: false
+ };
+ var writableDescriptor = {
+ configurable: true,
+ enumerable: true,
+ value: 42,
+ writable: true
+ };
+
+ t.test('works with Object.prototype poisoned setter', { skip: !Object.defineProperty }, function (st) {
+ var key = 'foo';
+
+ var obj = {};
+ obj[key] = 42;
+
+ var expected = {};
+ expected[key] = {
+ configurable: true,
+ enumerable: true,
+ value: 42,
+ writable: true
+ };
+
+ /* eslint-disable no-extend-native, accessor-pairs */
+ Object.defineProperty(Object.prototype, key, { configurable: true, set: function (v) { throw new Error(v); } });
+ /* eslint-enable no-extend-native, accessor-pairs */
+
+ var hasOwnNamesBug = false;
+ try {
+ Object.getOwnPropertyNames(obj);
+ } catch (e) {
+ // v8 in node 0.6 - 0.12 has a bug :-(
+ hasOwnNamesBug = true;
+ st.comment('SKIP: this engine has a bug with Object.getOwnPropertyNames: it can not handle a throwing setter on Object.prototype.');
+ }
+
+ if (!hasOwnNamesBug) {
+ st.doesNotThrow(function () {
+ var result = getDescriptors(obj);
+ st.deepEqual(result, expected, 'got expected descriptors');
+ });
+ }
+
+ delete Object.prototype[key];
+ st.end();
+ });
+
+ t.test('gets all expected non-Symbol descriptors', function (st) {
+ var obj = { normal: Infinity };
+ Object.defineProperty(obj, 'enumerable', enumDescriptor);
+ Object.defineProperty(obj, 'writable', writableDescriptor);
+
+ var descriptors = getDescriptors(obj);
+
+ st.deepEqual(descriptors, {
+ enumerable: enumDescriptor,
+ normal: {
+ configurable: true,
+ enumerable: true,
+ value: Infinity,
+ writable: true
+ },
+ writable: writableDescriptor
+ });
+ st.end();
+ });
+
+ var supportsSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
+ t.test('gets Symbol descriptors too', { skip: !supportsSymbols }, function (st) {
+ var symbol = Symbol('sym');
+ var symDescriptor = {
+ configurable: false,
+ enumerable: true,
+ value: [symbol],
+ writable: true
+ };
+ var obj = { normal: Infinity };
+ Object.defineProperty(obj, 'enumerable', enumDescriptor);
+ Object.defineProperty(obj, 'writable', writableDescriptor);
+ Object.defineProperty(obj, 'symbol', symDescriptor);
+
+ var descriptors = getDescriptors(obj);
+
+ st.deepEqual(descriptors, {
+ enumerable: enumDescriptor,
+ normal: {
+ configurable: true,
+ enumerable: true,
+ value: Infinity,
+ writable: true
+ },
+ symbol: symDescriptor,
+ writable: writableDescriptor
+ });
+ st.end();
+ });
+
+ /* global Proxy */
+ var supportsProxy = typeof Proxy === 'function';
+ t.test('Proxies that return an undefined descriptor', { skip: !supportsProxy }, function (st) {
+ var obj = { foo: true };
+ var fooDescriptor = Object.getOwnPropertyDescriptor(obj, 'foo');
+
+ var proxy = new Proxy(obj, {
+ getOwnPropertyDescriptor: function (target, key) {
+ return Object.getOwnPropertyDescriptor(target, key);
+ },
+ ownKeys: function () {
+ return ['foo', 'bar'];
+ }
+ });
+ st.deepEqual(getDescriptors(proxy), { foo: fooDescriptor }, 'object has no descriptors');
+ st.end();
+ });
+};