mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 15:26:23 +07:00 
			
		
		
		
	init
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; | ||||
|  | ||||
							
								
								
									
										10
									
								
								node_modules/object.getownpropertydescriptors/.eslintrc
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								node_modules/object.getownpropertydescriptors/.eslintrc
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| { | ||||
| 	"root": true, | ||||
|  | ||||
| 	"extends": "@ljharb", | ||||
|  | ||||
| 	"rules": { | ||||
| 		"id-length": [2, { "min": 1, "max": 30 }], | ||||
| 		"new-cap": [2, { "capIsNewExceptions": ["IsCallable", "RequireObjectCoercible", "ToObject"] }] | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										176
									
								
								node_modules/object.getownpropertydescriptors/.jscs.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								node_modules/object.getownpropertydescriptors/.jscs.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,176 @@ | ||||
| { | ||||
| 	"es3": true, | ||||
|  | ||||
| 	"additionalRules": [], | ||||
|  | ||||
| 	"requireSemicolons": true, | ||||
|  | ||||
| 	"disallowMultipleSpaces": true, | ||||
|  | ||||
| 	"disallowIdentifierNames": [], | ||||
|  | ||||
| 	"requireCurlyBraces": { | ||||
| 		"allExcept": [], | ||||
| 		"keywords": ["if", "else", "for", "while", "do", "try", "catch"] | ||||
| 	}, | ||||
|  | ||||
| 	"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], | ||||
|  | ||||
| 	"disallowSpaceAfterKeywords": [], | ||||
|  | ||||
| 	"disallowSpaceBeforeComma": true, | ||||
| 	"disallowSpaceAfterComma": false, | ||||
| 	"disallowSpaceBeforeSemicolon": true, | ||||
|  | ||||
| 	"disallowNodeTypes": [ | ||||
| 		"DebuggerStatement", | ||||
| 		"ForInStatement", | ||||
| 		"LabeledStatement", | ||||
| 		"SwitchCase", | ||||
| 		"SwitchStatement", | ||||
| 		"WithStatement" | ||||
| 	], | ||||
|  | ||||
| 	"requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, | ||||
|  | ||||
| 	"requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, | ||||
| 	"requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, | ||||
| 	"disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, | ||||
| 	"requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, | ||||
| 	"disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, | ||||
|  | ||||
| 	"requireSpaceBetweenArguments": true, | ||||
|  | ||||
| 	"disallowSpacesInsideParentheses": true, | ||||
|  | ||||
| 	"disallowSpacesInsideArrayBrackets": true, | ||||
|  | ||||
| 	"disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, | ||||
|  | ||||
| 	"disallowSpaceAfterObjectKeys": true, | ||||
|  | ||||
| 	"requireCommaBeforeLineBreak": true, | ||||
|  | ||||
| 	"disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], | ||||
| 	"requireSpaceAfterPrefixUnaryOperators": [], | ||||
|  | ||||
| 	"disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], | ||||
| 	"requireSpaceBeforePostfixUnaryOperators": [], | ||||
|  | ||||
| 	"disallowSpaceBeforeBinaryOperators": [], | ||||
| 	"requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||||
|  | ||||
| 	"requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], | ||||
| 	"disallowSpaceAfterBinaryOperators": [], | ||||
|  | ||||
| 	"disallowImplicitTypeConversion": ["binary", "string"], | ||||
|  | ||||
| 	"disallowKeywords": ["with", "eval"], | ||||
|  | ||||
| 	"requireKeywordsOnNewLine": [], | ||||
| 	"disallowKeywordsOnNewLine": ["else"], | ||||
|  | ||||
| 	"requireLineFeedAtFileEnd": true, | ||||
|  | ||||
| 	"disallowTrailingWhitespace": true, | ||||
|  | ||||
| 	"disallowTrailingComma": true, | ||||
|  | ||||
| 	"excludeFiles": ["node_modules/**", "vendor/**"], | ||||
|  | ||||
| 	"disallowMultipleLineStrings": true, | ||||
|  | ||||
| 	"requireDotNotation": { "allExcept": ["keywords"] }, | ||||
|  | ||||
| 	"requireParenthesesAroundIIFE": true, | ||||
|  | ||||
| 	"validateLineBreaks": "LF", | ||||
|  | ||||
| 	"validateQuoteMarks": { | ||||
| 		"escape": true, | ||||
| 		"mark": "'" | ||||
| 	}, | ||||
|  | ||||
| 	"disallowOperatorBeforeLineBreak": [], | ||||
|  | ||||
| 	"requireSpaceBeforeKeywords": [ | ||||
| 		"do", | ||||
| 		"for", | ||||
| 		"if", | ||||
| 		"else", | ||||
| 		"switch", | ||||
| 		"case", | ||||
| 		"try", | ||||
| 		"catch", | ||||
| 		"finally", | ||||
| 		"while", | ||||
| 		"with", | ||||
| 		"return" | ||||
| 	], | ||||
|  | ||||
| 	"validateAlignedFunctionParameters": { | ||||
| 		"lineBreakAfterOpeningBraces": true, | ||||
| 		"lineBreakBeforeClosingBraces": true | ||||
| 	}, | ||||
|  | ||||
| 	"requirePaddingNewLinesBeforeExport": true, | ||||
|  | ||||
| 	"validateNewlineAfterArrayElements": { | ||||
| 		"maximum": 1 | ||||
| 	}, | ||||
|  | ||||
| 	"requirePaddingNewLinesAfterUseStrict": true, | ||||
|  | ||||
| 	"disallowArrowFunctions": true, | ||||
|  | ||||
| 	"disallowMultiLineTernary": true, | ||||
|  | ||||
| 	"validateOrderInObjectKeys": "asc-insensitive", | ||||
|  | ||||
| 	"disallowIdenticalDestructuringNames": true, | ||||
|  | ||||
| 	"disallowNestedTernaries": { "maxLevel": 1 }, | ||||
|  | ||||
| 	"requireSpaceAfterComma": { "allExcept": ["trailing"] }, | ||||
| 	"requireAlignedMultilineParams": false, | ||||
|  | ||||
| 	"requireSpacesInGenerator": { | ||||
| 		"afterStar": true | ||||
| 	}, | ||||
|  | ||||
| 	"disallowSpacesInGenerator": { | ||||
| 		"beforeStar": true | ||||
| 	}, | ||||
|  | ||||
| 	"disallowVar": false, | ||||
|  | ||||
| 	"requireArrayDestructuring": false, | ||||
|  | ||||
| 	"requireEnhancedObjectLiterals": false, | ||||
|  | ||||
| 	"requireObjectDestructuring": false, | ||||
|  | ||||
| 	"requireEarlyReturn": false, | ||||
|  | ||||
| 	"requireCapitalizedConstructorsNew": { | ||||
| 		"allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] | ||||
| 	}, | ||||
|  | ||||
| 	"requireImportAlphabetized": false, | ||||
|  | ||||
|     "requireSpaceBeforeObjectValues": true, | ||||
|     "requireSpaceBeforeDestructuredValues": true, | ||||
|  | ||||
| 	"disallowSpacesInsideTemplateStringPlaceholders": true, | ||||
|  | ||||
|     "disallowArrayDestructuringReturn": false, | ||||
|  | ||||
|     "requireNewlineBeforeSingleStatementsInIf": false, | ||||
|  | ||||
| 	"disallowUnusedVariables": true, | ||||
|  | ||||
| 	"requireSpacesInsideImportedObjectBraces": true, | ||||
|  | ||||
| 	"requireUseStrict": true | ||||
| } | ||||
|  | ||||
							
								
								
									
										28
									
								
								node_modules/object.getownpropertydescriptors/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								node_modules/object.getownpropertydescriptors/.npmignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
|  | ||||
| # Runtime data | ||||
| pids | ||||
| *.pid | ||||
| *.seed | ||||
|  | ||||
| # Directory for instrumented libs generated by jscoverage/JSCover | ||||
| lib-cov | ||||
|  | ||||
| # Coverage directory used by tools like istanbul | ||||
| coverage | ||||
|  | ||||
| # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||||
| .grunt | ||||
|  | ||||
| # Compiled binary addons (http://nodejs.org/api/addons.html) | ||||
| build/Release | ||||
|  | ||||
| # Dependency directory | ||||
| # Commenting this out is preferred by some people, see | ||||
| # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- | ||||
| node_modules | ||||
|  | ||||
| # Users Environment Variables | ||||
| .lock-wscript | ||||
							
								
								
									
										96
									
								
								node_modules/object.getownpropertydescriptors/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								node_modules/object.getownpropertydescriptors/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,96 @@ | ||||
| language: node_js | ||||
| node_js: | ||||
|   - "6.2" | ||||
|   - "6.1" | ||||
|   - "6.0" | ||||
|   - "5.12" | ||||
|   - "5.11" | ||||
|   - "5.10" | ||||
|   - "5.9" | ||||
|   - "5.8" | ||||
|   - "5.7" | ||||
|   - "5.6" | ||||
|   - "5.5" | ||||
|   - "5.4" | ||||
|   - "5.3" | ||||
|   - "5.2" | ||||
|   - "5.1" | ||||
|   - "5.0" | ||||
|   - "4.4" | ||||
|   - "4.3" | ||||
|   - "4.2" | ||||
|   - "4.1" | ||||
|   - "4.0" | ||||
|   - "iojs-v3.3" | ||||
|   - "iojs-v3.2" | ||||
|   - "iojs-v3.1" | ||||
|   - "iojs-v3.0" | ||||
|   - "iojs-v2.5" | ||||
|   - "iojs-v2.4" | ||||
|   - "iojs-v2.3" | ||||
|   - "iojs-v2.2" | ||||
|   - "iojs-v2.1" | ||||
|   - "iojs-v2.0" | ||||
|   - "iojs-v1.8" | ||||
|   - "iojs-v1.7" | ||||
|   - "iojs-v1.6" | ||||
|   - "iojs-v1.5" | ||||
|   - "iojs-v1.4" | ||||
|   - "iojs-v1.3" | ||||
|   - "iojs-v1.2" | ||||
|   - "iojs-v1.1" | ||||
|   - "iojs-v1.0" | ||||
|   - "0.12" | ||||
|   - "0.11" | ||||
|   - "0.10" | ||||
|   - "0.9" | ||||
|   - "0.8" | ||||
|   - "0.6" | ||||
|   - "0.4" | ||||
| before_install: | ||||
|   - 'if [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then case "$(npm --version)" in 1.*) npm install -g npm@1.4.28 ;; 2.*) npm install -g npm@2 ;; esac ; fi' | ||||
|   - 'if [ "${TRAVIS_NODE_VERSION}" != "0.6" ] && [ "${TRAVIS_NODE_VERSION}" != "0.9" ]; then npm install -g npm; fi' | ||||
| script: | ||||
|   - 'if [ "${TRAVIS_NODE_VERSION}" != "4.4" ]; then npm run tests-only ; else npm test ; fi' | ||||
| sudo: false | ||||
| matrix: | ||||
|   fast_finish: true | ||||
|   allow_failures: | ||||
|     - node_js: "6.1" | ||||
|     - node_js: "6.0" | ||||
|     - node_js: "5.11" | ||||
|     - node_js: "5.10" | ||||
|     - node_js: "5.9" | ||||
|     - node_js: "5.8" | ||||
|     - node_js: "5.7" | ||||
|     - node_js: "5.6" | ||||
|     - node_js: "5.5" | ||||
|     - node_js: "5.4" | ||||
|     - node_js: "5.3" | ||||
|     - node_js: "5.2" | ||||
|     - node_js: "5.1" | ||||
|     - node_js: "5.0" | ||||
|     - node_js: "4.3" | ||||
|     - node_js: "4.2" | ||||
|     - node_js: "4.1" | ||||
|     - node_js: "4.0" | ||||
|     - node_js: "iojs-v3.2" | ||||
|     - node_js: "iojs-v3.1" | ||||
|     - node_js: "iojs-v3.0" | ||||
|     - node_js: "iojs-v2.4" | ||||
|     - node_js: "iojs-v2.3" | ||||
|     - node_js: "iojs-v2.2" | ||||
|     - node_js: "iojs-v2.1" | ||||
|     - node_js: "iojs-v2.0" | ||||
|     - node_js: "iojs-v1.7" | ||||
|     - node_js: "iojs-v1.6" | ||||
|     - node_js: "iojs-v1.5" | ||||
|     - node_js: "iojs-v1.4" | ||||
|     - node_js: "iojs-v1.3" | ||||
|     - node_js: "iojs-v1.2" | ||||
|     - node_js: "iojs-v1.1" | ||||
|     - node_js: "iojs-v1.0" | ||||
|     - node_js: "0.11" | ||||
|     - node_js: "0.9" | ||||
|     - node_js: "0.6" | ||||
|     - node_js: "0.4" | ||||
							
								
								
									
										51
									
								
								node_modules/object.getownpropertydescriptors/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								node_modules/object.getownpropertydescriptors/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| 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" | ||||
							
								
								
									
										99
									
								
								node_modules/object.getownpropertydescriptors/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								node_modules/object.getownpropertydescriptors/README.md
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,99 @@ | ||||
| #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] | ||||
|  | ||||
| [![browser support][testling-svg]][testling-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/ljharb/object.getownpropertydescriptors.svg | ||||
| [travis-svg]: https://travis-ci.org/ljharb/object.getownpropertydescriptors.svg | ||||
| [travis-url]: https://travis-ci.org/ljharb/object.getownpropertydescriptors | ||||
| [deps-svg]: https://david-dm.org/ljharb/object.getownpropertydescriptors.svg | ||||
| [deps-url]: https://david-dm.org/ljharb/object.getownpropertydescriptors | ||||
| [dev-deps-svg]: https://david-dm.org/ljharb/object.getownpropertydescriptors/dev-status.svg | ||||
| [dev-deps-url]: https://david-dm.org/ljharb/object.getownpropertydescriptors#info=devDependencies | ||||
| [testling-svg]: https://ci.testling.com/ljharb/object.getownpropertydescriptors.png | ||||
| [testling-url]: https://ci.testling.com/ljharb/object.getownpropertydescriptors | ||||
| [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 | ||||
							
								
								
									
										44
									
								
								node_modules/object.getownpropertydescriptors/implementation.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								node_modules/object.getownpropertydescriptors/implementation.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,44 @@ | ||||
| 'use strict'; | ||||
|  | ||||
| var ES = require('es-abstract/es7'); | ||||
|  | ||||
| var defineProperty = Object.defineProperty; | ||||
| var getDescriptor = Object.getOwnPropertyDescriptor; | ||||
| var getOwnNames = Object.getOwnPropertyNames; | ||||
| var getSymbols = Object.getOwnPropertySymbols; | ||||
| var concat = Function.call.bind(Array.prototype.concat); | ||||
| var reduce = Function.call.bind(Array.prototype.reduce); | ||||
| var getAll = getSymbols ? function (obj) { | ||||
| 	return concat(getOwnNames(obj), getSymbols(obj)); | ||||
| } : getOwnNames; | ||||
|  | ||||
| var isES5 = ES.IsCallable(getDescriptor) && ES.IsCallable(getOwnNames); | ||||
|  | ||||
| var safePut = function put(obj, prop, val) { // eslint-disable-line max-params | ||||
| 	if (defineProperty && prop in obj) { | ||||
| 		defineProperty(obj, prop, { | ||||
| 			configurable: true, | ||||
| 			enumerable: true, | ||||
| 			value: val, | ||||
| 			writable: true | ||||
| 		}); | ||||
| 	} else { | ||||
| 		obj[prop] = val; | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| module.exports = function getOwnPropertyDescriptors(value) { | ||||
| 	ES.RequireObjectCoercible(value); | ||||
| 	if (!isES5) { | ||||
| 		throw new TypeError('getOwnPropertyDescriptors requires Object.getOwnPropertyDescriptor'); | ||||
| 	} | ||||
|  | ||||
| 	var O = ES.ToObject(value); | ||||
| 	return reduce(getAll(O), function (acc, key) { | ||||
| 		var descriptor = getDescriptor(O, key); | ||||
| 		if (typeof descriptor !== 'undefined') { | ||||
| 			safePut(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; | ||||
							
								
								
									
										111
									
								
								node_modules/object.getownpropertydescriptors/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								node_modules/object.getownpropertydescriptors/package.json
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | ||||
| { | ||||
|   "_args": [ | ||||
|     [ | ||||
|       "object.getownpropertydescriptors@2.0.3", | ||||
|       "E:\\python\\setup-php" | ||||
|     ] | ||||
|   ], | ||||
|   "_development": true, | ||||
|   "_from": "object.getownpropertydescriptors@2.0.3", | ||||
|   "_id": "object.getownpropertydescriptors@2.0.3", | ||||
|   "_inBundle": false, | ||||
|   "_integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", | ||||
|   "_location": "/object.getownpropertydescriptors", | ||||
|   "_phantomChildren": {}, | ||||
|   "_requested": { | ||||
|     "type": "version", | ||||
|     "registry": true, | ||||
|     "raw": "object.getownpropertydescriptors@2.0.3", | ||||
|     "name": "object.getownpropertydescriptors", | ||||
|     "escapedName": "object.getownpropertydescriptors", | ||||
|     "rawSpec": "2.0.3", | ||||
|     "saveSpec": null, | ||||
|     "fetchSpec": "2.0.3" | ||||
|   }, | ||||
|   "_requiredBy": [ | ||||
|     "/util.promisify" | ||||
|   ], | ||||
|   "_resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", | ||||
|   "_spec": "2.0.3", | ||||
|   "_where": "E:\\python\\setup-php", | ||||
|   "author": { | ||||
|     "name": "Jordan Harband" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/ljharb/object.getownpropertydescriptors/issues" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "define-properties": "^1.1.2", | ||||
|     "es-abstract": "^1.5.1" | ||||
|   }, | ||||
|   "description": "ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.", | ||||
|   "devDependencies": { | ||||
|     "@es-shims/api": "^1.2.0", | ||||
|     "@ljharb/eslint-config": "^6.0.0", | ||||
|     "covert": "^1.1.0", | ||||
|     "eslint": "^3.1.1", | ||||
|     "jscs": "^3.0.7", | ||||
|     "nsp": "^2.6.1", | ||||
|     "replace": "^0.3.0", | ||||
|     "semver": "^5.3.0", | ||||
|     "tape": "^4.6.0" | ||||
|   }, | ||||
|   "engines": { | ||||
|     "node": ">= 0.8" | ||||
|   }, | ||||
|   "homepage": "https://github.com/ljharb/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/ljharb/object.getownpropertydescriptors.git" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "coverage": "covert test/*.js", | ||||
|     "coverage:quiet": "covert test/*.js --quiet", | ||||
|     "eslint": "eslint test/*.js *.js", | ||||
|     "jscs": "jscs test/*.js *.js", | ||||
|     "lint": "npm run --silent jscs && npm run --silent eslint", | ||||
|     "posttest": "npm run --silent security", | ||||
|     "pretest": "npm run --silent lint && es-shim-api", | ||||
|     "security": "nsp check", | ||||
|     "test": "npm run --silent tests-only", | ||||
|     "test:module": "node test/index.js", | ||||
|     "test:shimmed": "node test/shimmed.js", | ||||
|     "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.0.3" | ||||
| } | ||||
							
								
								
									
										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; | ||||
| }; | ||||
							
								
								
									
										8
									
								
								node_modules/object.getownpropertydescriptors/test/.eslintrc
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								node_modules/object.getownpropertydescriptors/test/.eslintrc
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
| 	"rules": { | ||||
| 		"max-nested-callbacks": [2, 3], | ||||
| 		"max-statements": [2, 15], | ||||
| 		"max-statements-per-line": [2, { "max": 2 }], | ||||
| 		"no-invalid-this": [1] | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										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 = function f() {}.name === 'f'; | ||||
|  | ||||
| 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(); | ||||
| }); | ||||
							
								
								
									
										127
									
								
								node_modules/object.getownpropertydescriptors/test/tests.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								node_modules/object.getownpropertydescriptors/test/tests.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | ||||
| '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'); | ||||
| 			}); | ||||
| 		} | ||||
|  | ||||
| 		/* eslint-disable no-extend-native */ | ||||
| 		delete Object.prototype[key]; | ||||
| 		/* eslint-enable no-extend-native */ | ||||
| 		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() === 'symbol'; | ||||
| 	t.test('gets Symbol descriptors too', { skip: !supportsSymbols }, function (st) { | ||||
| 		var symbol = Symbol(); | ||||
| 		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
	 Shivam Mathur
					Shivam Mathur