mirror of
https://github.com/crazy-max/ghaction-upx.git
synced 2025-12-11 07:20:42 -07:00
Update node_modules
This commit is contained in:
13
node_modules/object.getownpropertydescriptors/.editorconfig
generated
vendored
Normal file
13
node_modules/object.getownpropertydescriptors/.editorconfig
generated
vendored
Normal file
@@ -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;
|
||||
|
||||
20
node_modules/object.getownpropertydescriptors/.eslintrc
generated
vendored
Normal file
20
node_modules/object.getownpropertydescriptors/.eslintrc
generated
vendored
Normal file
@@ -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
|
||||
},
|
||||
},
|
||||
],
|
||||
}
|
||||
15
node_modules/object.getownpropertydescriptors/.github/workflows/rebase.yml
generated
vendored
Normal file
15
node_modules/object.getownpropertydescriptors/.github/workflows/rebase.yml
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
name: Automatic Rebase
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
_:
|
||||
name: "Automatic Rebase"
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: ljharb/rebase@master
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
12
node_modules/object.getownpropertydescriptors/.travis.yml
generated
vendored
Normal file
12
node_modules/object.getownpropertydescriptors/.travis.yml
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
version: ~> 1.0
|
||||
language: node_js
|
||||
os:
|
||||
- linux
|
||||
import:
|
||||
- ljharb/travis-ci:node/all.yml
|
||||
- ljharb/travis-ci:node/pretest.yml
|
||||
- ljharb/travis-ci:node/posttest.yml
|
||||
- ljharb/travis-ci:node/coverage.yml
|
||||
matrix:
|
||||
allow_failures:
|
||||
- env: COVERAGE=true
|
||||
67
node_modules/object.getownpropertydescriptors/CHANGELOG.md
generated
vendored
Normal file
67
node_modules/object.getownpropertydescriptors/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
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
|
||||
22
node_modules/object.getownpropertydescriptors/LICENSE
generated
vendored
Normal file
22
node_modules/object.getownpropertydescriptors/LICENSE
generated
vendored
Normal file
@@ -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.
|
||||
|
||||
61
node_modules/object.getownpropertydescriptors/Makefile
generated
vendored
Normal file
61
node_modules/object.getownpropertydescriptors/Makefile
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# Since we rely on paths relative to the makefile location, abort if make isn't being run from there.
|
||||
$(if $(findstring /,$(MAKEFILE_LIST)),$(error Please only invoke this makefile from the directory it resides in))
|
||||
|
||||
# The files that need updating when incrementing the version number.
|
||||
VERSIONED_FILES := *.js *.json README*
|
||||
|
||||
|
||||
# Add the local npm packages' bin folder to the PATH, so that `make` can find them, when invoked directly.
|
||||
# Note that rather than using `$(npm bin)` the 'node_modules/.bin' path component is hard-coded, so that invocation works even from an environment
|
||||
# where npm is (temporarily) unavailable due to having deactivated an nvm instance loaded into the calling shell in order to avoid interference with tests.
|
||||
export PATH := $(shell printf '%s' "$$PWD/node_modules/.bin:$$PATH")
|
||||
UTILS := semver
|
||||
# Make sure that all required utilities can be located.
|
||||
UTIL_CHECK := $(or $(shell PATH="$(PATH)" which $(UTILS) >/dev/null && echo 'ok'),$(error Did you forget to run `npm install` after cloning the repo? At least one of the required supporting utilities not found: $(UTILS)))
|
||||
|
||||
# Default target (by virtue of being the first non '.'-prefixed in the file).
|
||||
.PHONY: _no-target-specified
|
||||
_no-target-specified:
|
||||
$(error Please specify the target to make - `make list` shows targets. Alternatively, use `npm test` to run the default tests; `npm run` shows all tests)
|
||||
|
||||
# Lists all targets defined in this makefile.
|
||||
.PHONY: list
|
||||
list:
|
||||
@$(MAKE) -pRrn : -f $(MAKEFILE_LIST) 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | command grep -v -e '^[^[:alnum:]]' -e '^$@$$command ' | sort
|
||||
|
||||
# All-tests target: invokes the specified test suites for ALL shells defined in $(SHELLS).
|
||||
.PHONY: test
|
||||
test:
|
||||
@npm test
|
||||
|
||||
.PHONY: _ensure-tag
|
||||
_ensure-tag:
|
||||
ifndef TAG
|
||||
$(error Please invoke with `make TAG=<new-version> release`, where <new-version> is either an increment specifier (patch, minor, major, prepatch, preminor, premajor, prerelease), or an explicit major.minor.patch version number)
|
||||
endif
|
||||
|
||||
CHANGELOG_ERROR = $(error No CHANGELOG specified)
|
||||
.PHONY: _ensure-changelog
|
||||
_ensure-changelog:
|
||||
@ (git status -sb --porcelain | command grep -E '^( M|[MA] ) CHANGELOG.md' > /dev/null) || (echo no CHANGELOG.md specified && exit 2)
|
||||
|
||||
# Ensures that the git workspace is clean.
|
||||
.PHONY: _ensure-clean
|
||||
_ensure-clean:
|
||||
@[ -z "$$((git status --porcelain --untracked-files=no || echo err) | command grep -v 'CHANGELOG.md')" ] || { echo "Workspace is not clean; please commit changes first." >&2; exit 2; }
|
||||
|
||||
# Makes a release; invoke with `make TAG=<versionOrIncrementSpec> release`.
|
||||
.PHONY: release
|
||||
release: _ensure-tag _ensure-changelog _ensure-clean
|
||||
@old_ver=`git describe --abbrev=0 --tags --match 'v[0-9]*.[0-9]*.[0-9]*'` || { echo "Failed to determine current version." >&2; exit 1; }; old_ver=$${old_ver#v}; \
|
||||
new_ver=`echo "$(TAG)" | sed 's/^v//'`; new_ver=$${new_ver:-patch}; \
|
||||
if printf "$$new_ver" | command grep -q '^[0-9]'; then \
|
||||
semver "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be major.minor.patch' >&2; exit 2; }; \
|
||||
semver -r "> $$old_ver" "$$new_ver" >/dev/null || { echo 'Invalid version number specified: $(TAG) - must be HIGHER than current one.' >&2; exit 2; } \
|
||||
else \
|
||||
new_ver=`semver -i "$$new_ver" "$$old_ver"` || { echo 'Invalid version-increment specifier: $(TAG)' >&2; exit 2; } \
|
||||
fi; \
|
||||
printf "=== Bumping version **$$old_ver** to **$$new_ver** before committing and tagging:\n=== TYPE 'proceed' TO PROCEED, anything else to abort: " && read response && [ "$$response" = 'proceed' ] || { echo 'Aborted.' >&2; exit 2; }; \
|
||||
replace "$$old_ver" "$$new_ver" -- $(VERSIONED_FILES) && \
|
||||
git commit -m "v$$new_ver" $(VERSIONED_FILES) CHANGELOG.md && \
|
||||
git tag -a -m "v$$new_ver" "v$$new_ver"
|
||||
95
node_modules/object.getownpropertydescriptors/README.md
generated
vendored
Normal file
95
node_modules/object.getownpropertydescriptors/README.md
generated
vendored
Normal file
@@ -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
|
||||
3
node_modules/object.getownpropertydescriptors/auto.js
generated
vendored
Normal file
3
node_modules/object.getownpropertydescriptors/auto.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
'use strict';
|
||||
|
||||
require('./shim')();
|
||||
38
node_modules/object.getownpropertydescriptors/implementation.js
generated
vendored
Normal file
38
node_modules/object.getownpropertydescriptors/implementation.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
|
||||
var CreateDataProperty = require('es-abstract/2019/CreateDataProperty');
|
||||
var IsCallable = require('es-abstract/2019/IsCallable');
|
||||
var RequireObjectCoercible = require('es-abstract/2019/RequireObjectCoercible');
|
||||
var ToObject = require('es-abstract/2019/ToObject');
|
||||
var callBound = require('es-abstract/helpers/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;
|
||||
},
|
||||
{}
|
||||
);
|
||||
};
|
||||
15
node_modules/object.getownpropertydescriptors/index.js
generated
vendored
Normal file
15
node_modules/object.getownpropertydescriptors/index.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
var define = require('define-properties');
|
||||
|
||||
var implementation = require('./implementation');
|
||||
var getPolyfill = require('./polyfill');
|
||||
var shim = require('./shim');
|
||||
|
||||
define(implementation, {
|
||||
getPolyfill: getPolyfill,
|
||||
implementation: implementation,
|
||||
shim: shim
|
||||
});
|
||||
|
||||
module.exports = implementation;
|
||||
109
node_modules/object.getownpropertydescriptors/package.json
generated
vendored
Normal file
109
node_modules/object.getownpropertydescriptors/package.json
generated
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"_from": "object.getownpropertydescriptors@^2.1.0",
|
||||
"_id": "object.getownpropertydescriptors@2.1.0",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
|
||||
"_location": "/object.getownpropertydescriptors",
|
||||
"_phantomChildren": {},
|
||||
"_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.0.tgz",
|
||||
"_shasum": "369bf1f9592d8ab89d712dced5cb81c7c5352649",
|
||||
"_spec": "object.getownpropertydescriptors@^2.1.0",
|
||||
"_where": "/home/runner/work/ghaction-upx/ghaction-upx/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": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.17.0-next.1"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.",
|
||||
"devDependencies": {
|
||||
"@es-shims/api": "^2.1.2",
|
||||
"@ljharb/eslint-config": "^15.0.2",
|
||||
"covert": "^1.1.1",
|
||||
"eslint": "^6.7.2",
|
||||
"functions-have-names": "^1.2.0",
|
||||
"replace": "^1.1.1",
|
||||
"safe-publish-latest": "^1.1.4",
|
||||
"semver": "^6.3.0",
|
||||
"tape": "^4.11.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": {
|
||||
"coverage": "covert test/*.js",
|
||||
"coverage:quiet": "covert test/*.js --quiet",
|
||||
"lint": "eslint .",
|
||||
"posttest": "npx aud",
|
||||
"prepublish": "safe-publish-latest",
|
||||
"pretest": "npm run --silent lint && es-shim-api --bound",
|
||||
"test": "npm run --silent tests-only",
|
||||
"test:module": "node test",
|
||||
"test:shimmed": "node test/shimmed",
|
||||
"tests-only": "npm run --silent test:shimmed && npm run --silent test:module"
|
||||
},
|
||||
"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.0"
|
||||
}
|
||||
7
node_modules/object.getownpropertydescriptors/polyfill.js
generated
vendored
Normal file
7
node_modules/object.getownpropertydescriptors/polyfill.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var implementation = require('./implementation');
|
||||
|
||||
module.exports = function getPolyfill() {
|
||||
return typeof Object.getOwnPropertyDescriptors === 'function' ? Object.getOwnPropertyDescriptors : implementation;
|
||||
};
|
||||
14
node_modules/object.getownpropertydescriptors/shim.js
generated
vendored
Normal file
14
node_modules/object.getownpropertydescriptors/shim.js
generated
vendored
Normal file
@@ -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;
|
||||
};
|
||||
17
node_modules/object.getownpropertydescriptors/test/index.js
generated
vendored
Normal file
17
node_modules/object.getownpropertydescriptors/test/index.js
generated
vendored
Normal file
@@ -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();
|
||||
});
|
||||
35
node_modules/object.getownpropertydescriptors/test/shimmed.js
generated
vendored
Normal file
35
node_modules/object.getownpropertydescriptors/test/shimmed.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
'use strict';
|
||||
|
||||
var getDescriptors = require('../');
|
||||
getDescriptors.shim();
|
||||
|
||||
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();
|
||||
});
|
||||
122
node_modules/object.getownpropertydescriptors/test/tests.js
generated
vendored
Normal file
122
node_modules/object.getownpropertydescriptors/test/tests.js
generated
vendored
Normal file
@@ -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();
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user