cdktn 0.23.2 → 0.23.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +34 -34
- package/README.md +1 -1
- package/lib/annotations.js +1 -1
- package/lib/app.js +1 -1
- package/lib/aspect.js +1 -1
- package/lib/backends/azurerm-backend.js +2 -2
- package/lib/backends/cloud-backend.js +4 -4
- package/lib/backends/consul-backend.js +2 -2
- package/lib/backends/cos-backend.js +2 -2
- package/lib/backends/gcs-backend.js +2 -2
- package/lib/backends/http-backend.js +2 -2
- package/lib/backends/local-backend.js +2 -2
- package/lib/backends/oss-backend.js +2 -2
- package/lib/backends/pg-backend.js +2 -2
- package/lib/backends/remote-backend.js +4 -4
- package/lib/backends/s3-backend.js +2 -2
- package/lib/backends/swift-backend.js +2 -2
- package/lib/complex-computed-list.js +25 -25
- package/lib/errors.d.ts +1 -2
- package/lib/errors.js +11 -8
- package/lib/functions/terraform-functions.generated.js +1 -1
- package/lib/importable-resource.js +1 -1
- package/lib/manifest.js +4 -5
- package/lib/resource.js +1 -1
- package/lib/synthesize/synthesizer.js +4 -5
- package/lib/terraform-asset.js +1 -1
- package/lib/terraform-backend.js +1 -1
- package/lib/terraform-count.js +1 -1
- package/lib/terraform-data-resource.js +1 -1
- package/lib/terraform-data-source.js +1 -1
- package/lib/terraform-dynamic-block.js +2 -2
- package/lib/terraform-dynamic-expression.js +2 -2
- package/lib/terraform-element.js +1 -1
- package/lib/terraform-functions.js +1 -1
- package/lib/terraform-hcl-module.js +1 -1
- package/lib/terraform-iterator.js +5 -5
- package/lib/terraform-local.js +1 -1
- package/lib/terraform-module.js +1 -1
- package/lib/terraform-operators.js +1 -1
- package/lib/terraform-output.js +1 -1
- package/lib/terraform-provider.js +1 -1
- package/lib/terraform-provisioner.js +1 -1
- package/lib/terraform-remote-state.js +1 -1
- package/lib/terraform-resource-targets.js +1 -1
- package/lib/terraform-resource.js +1 -1
- package/lib/terraform-stack.js +1 -1
- package/lib/terraform-variable.js +2 -2
- package/lib/testing/index.js +7 -8
- package/lib/testing/matchers.js +1 -1
- package/lib/tokens/lazy.js +4 -4
- package/lib/tokens/private/intrinsic.d.ts +0 -5
- package/lib/tokens/private/intrinsic.js +2 -9
- package/lib/tokens/private/stack-trace.d.ts +6 -0
- package/lib/tokens/private/stack-trace.js +14 -1
- package/lib/tokens/resolvable.js +4 -4
- package/lib/tokens/string-fragments.js +1 -1
- package/lib/tokens/token.js +2 -2
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/upgrade-id-aspect.js +1 -1
- package/node_modules/{call-bind-apply-helpers → safe-stable-stringify}/LICENSE +2 -2
- package/node_modules/safe-stable-stringify/esm/package.json +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
- package/node_modules/safe-stable-stringify/index.d.ts +22 -0
- package/node_modules/safe-stable-stringify/index.js +625 -0
- package/node_modules/safe-stable-stringify/package.json +65 -0
- package/node_modules/safe-stable-stringify/readme.md +179 -0
- package/package.json +5 -6
- package/node_modules/call-bind/.eslintignore +0 -1
- package/node_modules/call-bind/.eslintrc +0 -16
- package/node_modules/call-bind/.github/FUNDING.yml +0 -12
- package/node_modules/call-bind/.nycrc +0 -9
- package/node_modules/call-bind/CHANGELOG.md +0 -106
- package/node_modules/call-bind/LICENSE +0 -21
- package/node_modules/call-bind/README.md +0 -64
- package/node_modules/call-bind/callBound.js +0 -15
- package/node_modules/call-bind/index.js +0 -24
- package/node_modules/call-bind/package.json +0 -93
- package/node_modules/call-bind/test/callBound.js +0 -54
- package/node_modules/call-bind/test/index.js +0 -74
- package/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
- package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
- package/node_modules/call-bind-apply-helpers/.nycrc +0 -9
- package/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
- package/node_modules/call-bind-apply-helpers/README.md +0 -62
- package/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
- package/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
- package/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
- package/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
- package/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
- package/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
- package/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
- package/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
- package/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
- package/node_modules/call-bind-apply-helpers/index.js +0 -15
- package/node_modules/call-bind-apply-helpers/package.json +0 -85
- package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
- package/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
- package/node_modules/call-bind-apply-helpers/test/index.js +0 -63
- package/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
- package/node_modules/call-bound/.eslintrc +0 -13
- package/node_modules/call-bound/.github/FUNDING.yml +0 -12
- package/node_modules/call-bound/.nycrc +0 -9
- package/node_modules/call-bound/CHANGELOG.md +0 -42
- package/node_modules/call-bound/LICENSE +0 -21
- package/node_modules/call-bound/README.md +0 -53
- package/node_modules/call-bound/index.d.ts +0 -94
- package/node_modules/call-bound/index.js +0 -19
- package/node_modules/call-bound/package.json +0 -99
- package/node_modules/call-bound/test/index.js +0 -61
- package/node_modules/call-bound/tsconfig.json +0 -10
- package/node_modules/define-data-property/.eslintrc +0 -24
- package/node_modules/define-data-property/.github/FUNDING.yml +0 -12
- package/node_modules/define-data-property/.nycrc +0 -13
- package/node_modules/define-data-property/CHANGELOG.md +0 -70
- package/node_modules/define-data-property/LICENSE +0 -21
- package/node_modules/define-data-property/README.md +0 -67
- package/node_modules/define-data-property/index.d.ts +0 -12
- package/node_modules/define-data-property/index.js +0 -56
- package/node_modules/define-data-property/package.json +0 -106
- package/node_modules/define-data-property/test/index.js +0 -392
- package/node_modules/define-data-property/tsconfig.json +0 -59
- package/node_modules/dunder-proto/.eslintrc +0 -5
- package/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
- package/node_modules/dunder-proto/.nycrc +0 -13
- package/node_modules/dunder-proto/CHANGELOG.md +0 -24
- package/node_modules/dunder-proto/LICENSE +0 -21
- package/node_modules/dunder-proto/README.md +0 -54
- package/node_modules/dunder-proto/get.d.ts +0 -5
- package/node_modules/dunder-proto/get.js +0 -30
- package/node_modules/dunder-proto/package.json +0 -76
- package/node_modules/dunder-proto/set.d.ts +0 -5
- package/node_modules/dunder-proto/set.js +0 -35
- package/node_modules/dunder-proto/test/get.js +0 -34
- package/node_modules/dunder-proto/test/index.js +0 -4
- package/node_modules/dunder-proto/test/set.js +0 -50
- package/node_modules/dunder-proto/tsconfig.json +0 -9
- package/node_modules/es-define-property/.eslintrc +0 -13
- package/node_modules/es-define-property/.github/FUNDING.yml +0 -12
- package/node_modules/es-define-property/.nycrc +0 -9
- package/node_modules/es-define-property/CHANGELOG.md +0 -29
- package/node_modules/es-define-property/LICENSE +0 -21
- package/node_modules/es-define-property/README.md +0 -49
- package/node_modules/es-define-property/index.d.ts +0 -3
- package/node_modules/es-define-property/index.js +0 -14
- package/node_modules/es-define-property/package.json +0 -81
- package/node_modules/es-define-property/test/index.js +0 -56
- package/node_modules/es-define-property/tsconfig.json +0 -10
- package/node_modules/es-errors/.eslintrc +0 -5
- package/node_modules/es-errors/.github/FUNDING.yml +0 -12
- package/node_modules/es-errors/CHANGELOG.md +0 -40
- package/node_modules/es-errors/LICENSE +0 -21
- package/node_modules/es-errors/README.md +0 -55
- package/node_modules/es-errors/eval.d.ts +0 -3
- package/node_modules/es-errors/eval.js +0 -4
- package/node_modules/es-errors/index.d.ts +0 -3
- package/node_modules/es-errors/index.js +0 -4
- package/node_modules/es-errors/package.json +0 -80
- package/node_modules/es-errors/range.d.ts +0 -3
- package/node_modules/es-errors/range.js +0 -4
- package/node_modules/es-errors/ref.d.ts +0 -3
- package/node_modules/es-errors/ref.js +0 -4
- package/node_modules/es-errors/syntax.d.ts +0 -3
- package/node_modules/es-errors/syntax.js +0 -4
- package/node_modules/es-errors/test/index.js +0 -19
- package/node_modules/es-errors/tsconfig.json +0 -49
- package/node_modules/es-errors/type.d.ts +0 -3
- package/node_modules/es-errors/type.js +0 -4
- package/node_modules/es-errors/uri.d.ts +0 -3
- package/node_modules/es-errors/uri.js +0 -4
- package/node_modules/es-object-atoms/.eslintrc +0 -16
- package/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
- package/node_modules/es-object-atoms/CHANGELOG.md +0 -37
- package/node_modules/es-object-atoms/LICENSE +0 -21
- package/node_modules/es-object-atoms/README.md +0 -63
- package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
- package/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
- package/node_modules/es-object-atoms/ToObject.d.ts +0 -7
- package/node_modules/es-object-atoms/ToObject.js +0 -10
- package/node_modules/es-object-atoms/index.d.ts +0 -3
- package/node_modules/es-object-atoms/index.js +0 -4
- package/node_modules/es-object-atoms/isObject.d.ts +0 -3
- package/node_modules/es-object-atoms/isObject.js +0 -6
- package/node_modules/es-object-atoms/package.json +0 -80
- package/node_modules/es-object-atoms/test/index.js +0 -38
- package/node_modules/es-object-atoms/tsconfig.json +0 -6
- package/node_modules/function-bind/.eslintrc +0 -21
- package/node_modules/function-bind/.github/FUNDING.yml +0 -12
- package/node_modules/function-bind/.github/SECURITY.md +0 -3
- package/node_modules/function-bind/.nycrc +0 -13
- package/node_modules/function-bind/CHANGELOG.md +0 -136
- package/node_modules/function-bind/LICENSE +0 -20
- package/node_modules/function-bind/README.md +0 -46
- package/node_modules/function-bind/implementation.js +0 -84
- package/node_modules/function-bind/index.js +0 -5
- package/node_modules/function-bind/package.json +0 -87
- package/node_modules/function-bind/test/.eslintrc +0 -9
- package/node_modules/function-bind/test/index.js +0 -252
- package/node_modules/get-intrinsic/.eslintrc +0 -42
- package/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
- package/node_modules/get-intrinsic/.nycrc +0 -9
- package/node_modules/get-intrinsic/CHANGELOG.md +0 -186
- package/node_modules/get-intrinsic/LICENSE +0 -21
- package/node_modules/get-intrinsic/README.md +0 -71
- package/node_modules/get-intrinsic/index.js +0 -378
- package/node_modules/get-intrinsic/package.json +0 -97
- package/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
- package/node_modules/get-proto/.eslintrc +0 -10
- package/node_modules/get-proto/.github/FUNDING.yml +0 -12
- package/node_modules/get-proto/.nycrc +0 -9
- package/node_modules/get-proto/CHANGELOG.md +0 -21
- package/node_modules/get-proto/LICENSE +0 -21
- package/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
- package/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
- package/node_modules/get-proto/README.md +0 -50
- package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
- package/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
- package/node_modules/get-proto/index.d.ts +0 -5
- package/node_modules/get-proto/index.js +0 -27
- package/node_modules/get-proto/package.json +0 -81
- package/node_modules/get-proto/test/index.js +0 -68
- package/node_modules/get-proto/tsconfig.json +0 -9
- package/node_modules/gopd/.eslintrc +0 -16
- package/node_modules/gopd/.github/FUNDING.yml +0 -12
- package/node_modules/gopd/CHANGELOG.md +0 -45
- package/node_modules/gopd/LICENSE +0 -21
- package/node_modules/gopd/README.md +0 -40
- package/node_modules/gopd/gOPD.d.ts +0 -1
- package/node_modules/gopd/gOPD.js +0 -4
- package/node_modules/gopd/index.d.ts +0 -5
- package/node_modules/gopd/index.js +0 -15
- package/node_modules/gopd/package.json +0 -77
- package/node_modules/gopd/test/index.js +0 -36
- package/node_modules/gopd/tsconfig.json +0 -9
- package/node_modules/has-property-descriptors/.eslintrc +0 -13
- package/node_modules/has-property-descriptors/.github/FUNDING.yml +0 -12
- package/node_modules/has-property-descriptors/.nycrc +0 -9
- package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
- package/node_modules/has-property-descriptors/LICENSE +0 -21
- package/node_modules/has-property-descriptors/README.md +0 -43
- package/node_modules/has-property-descriptors/index.js +0 -22
- package/node_modules/has-property-descriptors/package.json +0 -77
- package/node_modules/has-property-descriptors/test/index.js +0 -57
- package/node_modules/has-symbols/.eslintrc +0 -11
- package/node_modules/has-symbols/.github/FUNDING.yml +0 -12
- package/node_modules/has-symbols/.nycrc +0 -9
- package/node_modules/has-symbols/CHANGELOG.md +0 -91
- package/node_modules/has-symbols/LICENSE +0 -21
- package/node_modules/has-symbols/README.md +0 -46
- package/node_modules/has-symbols/index.d.ts +0 -3
- package/node_modules/has-symbols/index.js +0 -14
- package/node_modules/has-symbols/package.json +0 -111
- package/node_modules/has-symbols/shams.d.ts +0 -3
- package/node_modules/has-symbols/shams.js +0 -45
- package/node_modules/has-symbols/test/index.js +0 -22
- package/node_modules/has-symbols/test/shams/core-js.js +0 -29
- package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
- package/node_modules/has-symbols/test/tests.js +0 -58
- package/node_modules/has-symbols/tsconfig.json +0 -10
- package/node_modules/hasown/.eslintrc +0 -5
- package/node_modules/hasown/.github/FUNDING.yml +0 -12
- package/node_modules/hasown/.nycrc +0 -13
- package/node_modules/hasown/CHANGELOG.md +0 -40
- package/node_modules/hasown/LICENSE +0 -21
- package/node_modules/hasown/README.md +0 -40
- package/node_modules/hasown/index.d.ts +0 -3
- package/node_modules/hasown/index.js +0 -8
- package/node_modules/hasown/package.json +0 -92
- package/node_modules/hasown/tsconfig.json +0 -6
- package/node_modules/isarray/LICENSE +0 -21
- package/node_modules/isarray/README.md +0 -38
- package/node_modules/isarray/index.js +0 -5
- package/node_modules/isarray/package.json +0 -48
- package/node_modules/json-stable-stringify/.eslintrc +0 -31
- package/node_modules/json-stable-stringify/.github/FUNDING.yml +0 -12
- package/node_modules/json-stable-stringify/CHANGELOG.md +0 -160
- package/node_modules/json-stable-stringify/LICENSE +0 -21
- package/node_modules/json-stable-stringify/README.md +0 -157
- package/node_modules/json-stable-stringify/example/key_cmp.js +0 -9
- package/node_modules/json-stable-stringify/example/nested.js +0 -7
- package/node_modules/json-stable-stringify/example/str.js +0 -7
- package/node_modules/json-stable-stringify/example/value_cmp.js +0 -12
- package/node_modules/json-stable-stringify/index.d.ts +0 -25
- package/node_modules/json-stable-stringify/index.js +0 -124
- package/node_modules/json-stable-stringify/package.json +0 -88
- package/node_modules/json-stable-stringify/test/cmp.js +0 -33
- package/node_modules/json-stable-stringify/test/nested.js +0 -48
- package/node_modules/json-stable-stringify/test/replacer.js +0 -81
- package/node_modules/json-stable-stringify/test/space.js +0 -127
- package/node_modules/json-stable-stringify/test/str.js +0 -46
- package/node_modules/json-stable-stringify/test/to-json.js +0 -22
- package/node_modules/json-stable-stringify/tsconfig.json +0 -10
- package/node_modules/jsonify/.eslintrc +0 -21
- package/node_modules/jsonify/.github/FUNDING.yml +0 -12
- package/node_modules/jsonify/CHANGELOG.md +0 -48
- package/node_modules/jsonify/README.md +0 -66
- package/node_modules/jsonify/index.js +0 -4
- package/node_modules/jsonify/lib/parse.js +0 -261
- package/node_modules/jsonify/lib/stringify.js +0 -151
- package/node_modules/jsonify/package.json +0 -62
- package/node_modules/jsonify/test/parse.js +0 -20
- package/node_modules/jsonify/test/stringify.js +0 -18
- package/node_modules/math-intrinsics/.eslintrc +0 -16
- package/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
- package/node_modules/math-intrinsics/CHANGELOG.md +0 -24
- package/node_modules/math-intrinsics/LICENSE +0 -21
- package/node_modules/math-intrinsics/README.md +0 -50
- package/node_modules/math-intrinsics/abs.d.ts +0 -1
- package/node_modules/math-intrinsics/abs.js +0 -4
- package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
- package/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
- package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
- package/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
- package/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
- package/node_modules/math-intrinsics/constants/maxValue.js +0 -5
- package/node_modules/math-intrinsics/floor.d.ts +0 -1
- package/node_modules/math-intrinsics/floor.js +0 -4
- package/node_modules/math-intrinsics/isFinite.d.ts +0 -3
- package/node_modules/math-intrinsics/isFinite.js +0 -12
- package/node_modules/math-intrinsics/isInteger.d.ts +0 -3
- package/node_modules/math-intrinsics/isInteger.js +0 -16
- package/node_modules/math-intrinsics/isNaN.d.ts +0 -1
- package/node_modules/math-intrinsics/isNaN.js +0 -6
- package/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
- package/node_modules/math-intrinsics/isNegativeZero.js +0 -6
- package/node_modules/math-intrinsics/max.d.ts +0 -1
- package/node_modules/math-intrinsics/max.js +0 -4
- package/node_modules/math-intrinsics/min.d.ts +0 -1
- package/node_modules/math-intrinsics/min.js +0 -4
- package/node_modules/math-intrinsics/mod.d.ts +0 -3
- package/node_modules/math-intrinsics/mod.js +0 -9
- package/node_modules/math-intrinsics/package.json +0 -86
- package/node_modules/math-intrinsics/pow.d.ts +0 -1
- package/node_modules/math-intrinsics/pow.js +0 -4
- package/node_modules/math-intrinsics/round.d.ts +0 -1
- package/node_modules/math-intrinsics/round.js +0 -4
- package/node_modules/math-intrinsics/sign.d.ts +0 -3
- package/node_modules/math-intrinsics/sign.js +0 -11
- package/node_modules/math-intrinsics/test/index.js +0 -192
- package/node_modules/math-intrinsics/tsconfig.json +0 -3
- package/node_modules/object-keys/.editorconfig +0 -13
- package/node_modules/object-keys/.eslintrc +0 -17
- package/node_modules/object-keys/.travis.yml +0 -277
- package/node_modules/object-keys/CHANGELOG.md +0 -232
- package/node_modules/object-keys/LICENSE +0 -21
- package/node_modules/object-keys/README.md +0 -76
- package/node_modules/object-keys/implementation.js +0 -122
- package/node_modules/object-keys/index.js +0 -32
- package/node_modules/object-keys/isArguments.js +0 -17
- package/node_modules/object-keys/package.json +0 -88
- package/node_modules/object-keys/test/index.js +0 -5
- package/node_modules/set-function-length/.eslintrc +0 -27
- package/node_modules/set-function-length/.github/FUNDING.yml +0 -12
- package/node_modules/set-function-length/.nycrc +0 -13
- package/node_modules/set-function-length/CHANGELOG.md +0 -70
- package/node_modules/set-function-length/LICENSE +0 -21
- package/node_modules/set-function-length/README.md +0 -56
- package/node_modules/set-function-length/env.d.ts +0 -9
- package/node_modules/set-function-length/env.js +0 -25
- package/node_modules/set-function-length/index.d.ts +0 -7
- package/node_modules/set-function-length/index.js +0 -42
- package/node_modules/set-function-length/package.json +0 -102
- package/node_modules/set-function-length/tsconfig.json +0 -9
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var GetIntrinsic = require('../');
|
|
4
|
-
|
|
5
|
-
var test = require('tape');
|
|
6
|
-
var forEach = require('for-each');
|
|
7
|
-
var debug = require('object-inspect');
|
|
8
|
-
var generatorFns = require('make-generator-function')();
|
|
9
|
-
var asyncFns = require('make-async-function').list();
|
|
10
|
-
var asyncGenFns = require('make-async-generator-function')();
|
|
11
|
-
var mockProperty = require('mock-property');
|
|
12
|
-
|
|
13
|
-
var callBound = require('call-bound');
|
|
14
|
-
var v = require('es-value-fixtures');
|
|
15
|
-
var $gOPD = require('gopd');
|
|
16
|
-
var DefinePropertyOrThrow = require('es-abstract/2023/DefinePropertyOrThrow');
|
|
17
|
-
|
|
18
|
-
var $isProto = callBound('%Object.prototype.isPrototypeOf%');
|
|
19
|
-
|
|
20
|
-
test('export', function (t) {
|
|
21
|
-
t.equal(typeof GetIntrinsic, 'function', 'it is a function');
|
|
22
|
-
t.equal(GetIntrinsic.length, 2, 'function has length of 2');
|
|
23
|
-
|
|
24
|
-
t.end();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
test('throws', function (t) {
|
|
28
|
-
t['throws'](
|
|
29
|
-
function () { GetIntrinsic('not an intrinsic'); },
|
|
30
|
-
SyntaxError,
|
|
31
|
-
'nonexistent intrinsic throws a syntax error'
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
t['throws'](
|
|
35
|
-
function () { GetIntrinsic(''); },
|
|
36
|
-
TypeError,
|
|
37
|
-
'empty string intrinsic throws a type error'
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
t['throws'](
|
|
41
|
-
function () { GetIntrinsic('.'); },
|
|
42
|
-
SyntaxError,
|
|
43
|
-
'"just a dot" intrinsic throws a syntax error'
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
t['throws'](
|
|
47
|
-
function () { GetIntrinsic('%String'); },
|
|
48
|
-
SyntaxError,
|
|
49
|
-
'Leading % without trailing % throws a syntax error'
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
t['throws'](
|
|
53
|
-
function () { GetIntrinsic('String%'); },
|
|
54
|
-
SyntaxError,
|
|
55
|
-
'Trailing % without leading % throws a syntax error'
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
t['throws'](
|
|
59
|
-
function () { GetIntrinsic("String['prototype]"); },
|
|
60
|
-
SyntaxError,
|
|
61
|
-
'Dynamic property access is disallowed for intrinsics (unterminated string)'
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
t['throws'](
|
|
65
|
-
function () { GetIntrinsic('%Proxy.prototype.undefined%'); },
|
|
66
|
-
TypeError,
|
|
67
|
-
"Throws when middle part doesn't exist (%Proxy.prototype.undefined%)"
|
|
68
|
-
);
|
|
69
|
-
|
|
70
|
-
t['throws'](
|
|
71
|
-
function () { GetIntrinsic('%Array.prototype%garbage%'); },
|
|
72
|
-
SyntaxError,
|
|
73
|
-
'Throws with extra percent signs'
|
|
74
|
-
);
|
|
75
|
-
|
|
76
|
-
t['throws'](
|
|
77
|
-
function () { GetIntrinsic('%Array.prototype%push%'); },
|
|
78
|
-
SyntaxError,
|
|
79
|
-
'Throws with extra percent signs, even on an existing intrinsic'
|
|
80
|
-
);
|
|
81
|
-
|
|
82
|
-
forEach(v.nonStrings, function (nonString) {
|
|
83
|
-
t['throws'](
|
|
84
|
-
function () { GetIntrinsic(nonString); },
|
|
85
|
-
TypeError,
|
|
86
|
-
debug(nonString) + ' is not a String'
|
|
87
|
-
);
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
forEach(v.nonBooleans, function (nonBoolean) {
|
|
91
|
-
t['throws'](
|
|
92
|
-
function () { GetIntrinsic('%', nonBoolean); },
|
|
93
|
-
TypeError,
|
|
94
|
-
debug(nonBoolean) + ' is not a Boolean'
|
|
95
|
-
);
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
forEach([
|
|
99
|
-
'toString',
|
|
100
|
-
'propertyIsEnumerable',
|
|
101
|
-
'hasOwnProperty'
|
|
102
|
-
], function (objectProtoMember) {
|
|
103
|
-
t['throws'](
|
|
104
|
-
function () { GetIntrinsic(objectProtoMember); },
|
|
105
|
-
SyntaxError,
|
|
106
|
-
debug(objectProtoMember) + ' is not an intrinsic'
|
|
107
|
-
);
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
t.end();
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
test('base intrinsics', function (t) {
|
|
114
|
-
t.equal(GetIntrinsic('%Object%'), Object, '%Object% yields Object');
|
|
115
|
-
t.equal(GetIntrinsic('Object'), Object, 'Object yields Object');
|
|
116
|
-
t.equal(GetIntrinsic('%Array%'), Array, '%Array% yields Array');
|
|
117
|
-
t.equal(GetIntrinsic('Array'), Array, 'Array yields Array');
|
|
118
|
-
|
|
119
|
-
t.end();
|
|
120
|
-
});
|
|
121
|
-
|
|
122
|
-
test('dotted paths', function (t) {
|
|
123
|
-
t.equal(GetIntrinsic('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% yields Object.prototype.toString');
|
|
124
|
-
t.equal(GetIntrinsic('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString yields Object.prototype.toString');
|
|
125
|
-
t.equal(GetIntrinsic('%Array.prototype.push%'), Array.prototype.push, '%Array.prototype.push% yields Array.prototype.push');
|
|
126
|
-
t.equal(GetIntrinsic('Array.prototype.push'), Array.prototype.push, 'Array.prototype.push yields Array.prototype.push');
|
|
127
|
-
|
|
128
|
-
test('underscore paths are aliases for dotted paths', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
|
|
129
|
-
var original = GetIntrinsic('%ObjProto_toString%');
|
|
130
|
-
|
|
131
|
-
forEach([
|
|
132
|
-
'%Object.prototype.toString%',
|
|
133
|
-
'Object.prototype.toString',
|
|
134
|
-
'%ObjectPrototype.toString%',
|
|
135
|
-
'ObjectPrototype.toString',
|
|
136
|
-
'%ObjProto_toString%',
|
|
137
|
-
'ObjProto_toString'
|
|
138
|
-
], function (name) {
|
|
139
|
-
DefinePropertyOrThrow(Object.prototype, 'toString', {
|
|
140
|
-
'[[Value]]': function toString() {
|
|
141
|
-
return original.apply(this, arguments);
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
st.equal(GetIntrinsic(name), original, name + ' yields original Object.prototype.toString');
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
DefinePropertyOrThrow(Object.prototype, 'toString', { '[[Value]]': original });
|
|
148
|
-
st.end();
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
test('dotted paths cache', { skip: !Object.isFrozen || Object.isFrozen(Object.prototype) }, function (st) {
|
|
152
|
-
var original = GetIntrinsic('%Object.prototype.propertyIsEnumerable%');
|
|
153
|
-
|
|
154
|
-
forEach([
|
|
155
|
-
'%Object.prototype.propertyIsEnumerable%',
|
|
156
|
-
'Object.prototype.propertyIsEnumerable',
|
|
157
|
-
'%ObjectPrototype.propertyIsEnumerable%',
|
|
158
|
-
'ObjectPrototype.propertyIsEnumerable'
|
|
159
|
-
], function (name) {
|
|
160
|
-
var restore = mockProperty(Object.prototype, 'propertyIsEnumerable', {
|
|
161
|
-
value: function propertyIsEnumerable() {
|
|
162
|
-
return original.apply(this, arguments);
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
st.equal(GetIntrinsic(name), original, name + ' yields cached Object.prototype.propertyIsEnumerable');
|
|
166
|
-
|
|
167
|
-
restore();
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
st.end();
|
|
171
|
-
});
|
|
172
|
-
|
|
173
|
-
test('dotted path reports correct error', function (st) {
|
|
174
|
-
st['throws'](function () {
|
|
175
|
-
GetIntrinsic('%NonExistentIntrinsic.prototype.property%');
|
|
176
|
-
}, /%NonExistentIntrinsic%/, 'The base intrinsic of %NonExistentIntrinsic.prototype.property% is %NonExistentIntrinsic%');
|
|
177
|
-
|
|
178
|
-
st['throws'](function () {
|
|
179
|
-
GetIntrinsic('%NonExistentIntrinsicPrototype.property%');
|
|
180
|
-
}, /%NonExistentIntrinsicPrototype%/, 'The base intrinsic of %NonExistentIntrinsicPrototype.property% is %NonExistentIntrinsicPrototype%');
|
|
181
|
-
|
|
182
|
-
st.end();
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
t.end();
|
|
186
|
-
});
|
|
187
|
-
|
|
188
|
-
test('accessors', { skip: !$gOPD || typeof Map !== 'function' }, function (t) {
|
|
189
|
-
var actual = $gOPD(Map.prototype, 'size');
|
|
190
|
-
t.ok(actual, 'Map.prototype.size has a descriptor');
|
|
191
|
-
t.equal(typeof actual.get, 'function', 'Map.prototype.size has a getter function');
|
|
192
|
-
t.equal(GetIntrinsic('%Map.prototype.size%'), actual.get, '%Map.prototype.size% yields the getter for it');
|
|
193
|
-
t.equal(GetIntrinsic('Map.prototype.size'), actual.get, 'Map.prototype.size yields the getter for it');
|
|
194
|
-
|
|
195
|
-
t.end();
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
test('generator functions', { skip: !generatorFns.length }, function (t) {
|
|
199
|
-
var $GeneratorFunction = GetIntrinsic('%GeneratorFunction%');
|
|
200
|
-
var $GeneratorFunctionPrototype = GetIntrinsic('%Generator%');
|
|
201
|
-
var $GeneratorPrototype = GetIntrinsic('%GeneratorPrototype%');
|
|
202
|
-
|
|
203
|
-
forEach(generatorFns, function (genFn) {
|
|
204
|
-
var fnName = genFn.name;
|
|
205
|
-
fnName = fnName ? "'" + fnName + "'" : 'genFn';
|
|
206
|
-
|
|
207
|
-
t.ok(genFn instanceof $GeneratorFunction, fnName + ' instanceof %GeneratorFunction%');
|
|
208
|
-
t.ok($isProto($GeneratorFunctionPrototype, genFn), '%Generator% is prototype of ' + fnName);
|
|
209
|
-
t.ok($isProto($GeneratorPrototype, genFn.prototype), '%GeneratorPrototype% is prototype of ' + fnName + '.prototype');
|
|
210
|
-
});
|
|
211
|
-
|
|
212
|
-
t.end();
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
test('async functions', { skip: !asyncFns.length }, function (t) {
|
|
216
|
-
var $AsyncFunction = GetIntrinsic('%AsyncFunction%');
|
|
217
|
-
var $AsyncFunctionPrototype = GetIntrinsic('%AsyncFunctionPrototype%');
|
|
218
|
-
|
|
219
|
-
forEach(asyncFns, function (asyncFn) {
|
|
220
|
-
var fnName = asyncFn.name;
|
|
221
|
-
fnName = fnName ? "'" + fnName + "'" : 'asyncFn';
|
|
222
|
-
|
|
223
|
-
t.ok(asyncFn instanceof $AsyncFunction, fnName + ' instanceof %AsyncFunction%');
|
|
224
|
-
t.ok($isProto($AsyncFunctionPrototype, asyncFn), '%AsyncFunctionPrototype% is prototype of ' + fnName);
|
|
225
|
-
});
|
|
226
|
-
|
|
227
|
-
t.end();
|
|
228
|
-
});
|
|
229
|
-
|
|
230
|
-
test('async generator functions', { skip: asyncGenFns.length === 0 }, function (t) {
|
|
231
|
-
var $AsyncGeneratorFunction = GetIntrinsic('%AsyncGeneratorFunction%');
|
|
232
|
-
var $AsyncGeneratorFunctionPrototype = GetIntrinsic('%AsyncGenerator%');
|
|
233
|
-
var $AsyncGeneratorPrototype = GetIntrinsic('%AsyncGeneratorPrototype%');
|
|
234
|
-
|
|
235
|
-
forEach(asyncGenFns, function (asyncGenFn) {
|
|
236
|
-
var fnName = asyncGenFn.name;
|
|
237
|
-
fnName = fnName ? "'" + fnName + "'" : 'asyncGenFn';
|
|
238
|
-
|
|
239
|
-
t.ok(asyncGenFn instanceof $AsyncGeneratorFunction, fnName + ' instanceof %AsyncGeneratorFunction%');
|
|
240
|
-
t.ok($isProto($AsyncGeneratorFunctionPrototype, asyncGenFn), '%AsyncGenerator% is prototype of ' + fnName);
|
|
241
|
-
t.ok($isProto($AsyncGeneratorPrototype, asyncGenFn.prototype), '%AsyncGeneratorPrototype% is prototype of ' + fnName + '.prototype');
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
t.end();
|
|
245
|
-
});
|
|
246
|
-
|
|
247
|
-
test('%ThrowTypeError%', function (t) {
|
|
248
|
-
var $ThrowTypeError = GetIntrinsic('%ThrowTypeError%');
|
|
249
|
-
|
|
250
|
-
t.equal(typeof $ThrowTypeError, 'function', 'is a function');
|
|
251
|
-
t['throws'](
|
|
252
|
-
$ThrowTypeError,
|
|
253
|
-
TypeError,
|
|
254
|
-
'%ThrowTypeError% throws a TypeError'
|
|
255
|
-
);
|
|
256
|
-
|
|
257
|
-
t.end();
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
test('allowMissing', { skip: asyncGenFns.length > 0 }, function (t) {
|
|
261
|
-
t['throws'](
|
|
262
|
-
function () { GetIntrinsic('%AsyncGeneratorPrototype%'); },
|
|
263
|
-
TypeError,
|
|
264
|
-
'throws when missing'
|
|
265
|
-
);
|
|
266
|
-
|
|
267
|
-
t.equal(
|
|
268
|
-
GetIntrinsic('%AsyncGeneratorPrototype%', true),
|
|
269
|
-
undefined,
|
|
270
|
-
'does not throw when allowMissing'
|
|
271
|
-
);
|
|
272
|
-
|
|
273
|
-
t.end();
|
|
274
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# These are supported funding model platforms
|
|
2
|
-
|
|
3
|
-
github: [ljharb]
|
|
4
|
-
patreon: # Replace with a single Patreon username
|
|
5
|
-
open_collective: # Replace with a single Open Collective username
|
|
6
|
-
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
-
tidelift: npm/get-proto
|
|
8
|
-
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
-
liberapay: # Replace with a single Liberapay username
|
|
10
|
-
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
-
otechie: # Replace with a single Otechie username
|
|
12
|
-
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
-
|
|
8
|
-
## [v1.0.1](https://github.com/ljharb/get-proto/compare/v1.0.0...v1.0.1) - 2025-01-02
|
|
9
|
-
|
|
10
|
-
### Commits
|
|
11
|
-
|
|
12
|
-
- [Fix] for the `Object.getPrototypeOf` window, throw for non-objects [`7fe6508`](https://github.com/ljharb/get-proto/commit/7fe6508b71419ebe1976bedb86001d1feaeaa49a)
|
|
13
|
-
|
|
14
|
-
## v1.0.0 - 2025-01-01
|
|
15
|
-
|
|
16
|
-
### Commits
|
|
17
|
-
|
|
18
|
-
- Initial implementation, tests, readme, types [`5c70775`](https://github.com/ljharb/get-proto/commit/5c707751e81c3deeb2cf980d185fc7fd43611415)
|
|
19
|
-
- Initial commit [`7c65c2a`](https://github.com/ljharb/get-proto/commit/7c65c2ad4e33d5dae2f219ebe1a046ae2256972c)
|
|
20
|
-
- npm init [`0b8cf82`](https://github.com/ljharb/get-proto/commit/0b8cf824c9634e4a34ef7dd2a2cdc5be6ac79518)
|
|
21
|
-
- Only apps should have lockfiles [`a6d1bff`](https://github.com/ljharb/get-proto/commit/a6d1bffc364f5828377cea7194558b2dbef7aea2)
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Jordan Harband
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# get-proto <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
|
2
|
-
|
|
3
|
-
[![github actions][actions-image]][actions-url]
|
|
4
|
-
[![coverage][codecov-image]][codecov-url]
|
|
5
|
-
[![License][license-image]][license-url]
|
|
6
|
-
[![Downloads][downloads-image]][downloads-url]
|
|
7
|
-
|
|
8
|
-
[![npm badge][npm-badge-png]][package-url]
|
|
9
|
-
|
|
10
|
-
Robustly get the [[Prototype]] of an object. Uses the best available method.
|
|
11
|
-
|
|
12
|
-
## Getting started
|
|
13
|
-
|
|
14
|
-
```sh
|
|
15
|
-
npm install --save get-proto
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Usage/Examples
|
|
19
|
-
|
|
20
|
-
```js
|
|
21
|
-
const assert = require('assert');
|
|
22
|
-
const getProto = require('get-proto');
|
|
23
|
-
|
|
24
|
-
const a = { a: 1, b: 2, [Symbol.toStringTag]: 'foo' };
|
|
25
|
-
const b = { c: 3, __proto__: a };
|
|
26
|
-
|
|
27
|
-
assert.equal(getProto(b), a);
|
|
28
|
-
assert.equal(getProto(a), Object.prototype);
|
|
29
|
-
assert.equal(getProto({ __proto__: null }), null);
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Tests
|
|
33
|
-
|
|
34
|
-
Clone the repo, `npm install`, and run `npm test`
|
|
35
|
-
|
|
36
|
-
[package-url]: https://npmjs.org/package/get-proto
|
|
37
|
-
[npm-version-svg]: https://versionbadg.es/ljharb/get-proto.svg
|
|
38
|
-
[deps-svg]: https://david-dm.org/ljharb/get-proto.svg
|
|
39
|
-
[deps-url]: https://david-dm.org/ljharb/get-proto
|
|
40
|
-
[dev-deps-svg]: https://david-dm.org/ljharb/get-proto/dev-status.svg
|
|
41
|
-
[dev-deps-url]: https://david-dm.org/ljharb/get-proto#info=devDependencies
|
|
42
|
-
[npm-badge-png]: https://nodei.co/npm/get-proto.png?downloads=true&stars=true
|
|
43
|
-
[license-image]: https://img.shields.io/npm/l/get-proto.svg
|
|
44
|
-
[license-url]: LICENSE
|
|
45
|
-
[downloads-image]: https://img.shields.io/npm/dm/get-proto.svg
|
|
46
|
-
[downloads-url]: https://npm-stat.com/charts.html?package=get-proto
|
|
47
|
-
[codecov-image]: https://codecov.io/gh/ljharb/get-proto/branch/main/graphs/badge.svg
|
|
48
|
-
[codecov-url]: https://app.codecov.io/gh/ljharb/get-proto/
|
|
49
|
-
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/get-proto
|
|
50
|
-
[actions-url]: https://github.com/ljharb/get-proto/actions
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var reflectGetProto = require('./Reflect.getPrototypeOf');
|
|
4
|
-
var originalGetProto = require('./Object.getPrototypeOf');
|
|
5
|
-
|
|
6
|
-
var getDunderProto = require('dunder-proto/get');
|
|
7
|
-
|
|
8
|
-
/** @type {import('.')} */
|
|
9
|
-
module.exports = reflectGetProto
|
|
10
|
-
? function getProto(O) {
|
|
11
|
-
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
12
|
-
return reflectGetProto(O);
|
|
13
|
-
}
|
|
14
|
-
: originalGetProto
|
|
15
|
-
? function getProto(O) {
|
|
16
|
-
if (!O || (typeof O !== 'object' && typeof O !== 'function')) {
|
|
17
|
-
throw new TypeError('getProto: not an object');
|
|
18
|
-
}
|
|
19
|
-
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
20
|
-
return originalGetProto(O);
|
|
21
|
-
}
|
|
22
|
-
: getDunderProto
|
|
23
|
-
? function getProto(O) {
|
|
24
|
-
// @ts-expect-error TS can't narrow inside a closure, for some reason
|
|
25
|
-
return getDunderProto(O);
|
|
26
|
-
}
|
|
27
|
-
: null;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "get-proto",
|
|
3
|
-
"version": "1.0.1",
|
|
4
|
-
"description": "Robustly get the [[Prototype]] of an object",
|
|
5
|
-
"main": "index.js",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": "./index.js",
|
|
8
|
-
"./Reflect.getPrototypeOf": "./Reflect.getPrototypeOf.js",
|
|
9
|
-
"./Object.getPrototypeOf": "./Object.getPrototypeOf.js",
|
|
10
|
-
"./package.json": "./package.json"
|
|
11
|
-
},
|
|
12
|
-
"scripts": {
|
|
13
|
-
"prepack": "npmignore --auto --commentLines=autogenerated",
|
|
14
|
-
"prepublish": "not-in-publish || npm run prepublishOnly",
|
|
15
|
-
"prepublishOnly": "safe-publish-latest",
|
|
16
|
-
"pretest": "npm run --silent lint",
|
|
17
|
-
"test": "npm run tests-only",
|
|
18
|
-
"posttest": "npx npm@\">=10.2\" audit --production",
|
|
19
|
-
"tests-only": "nyc tape 'test/**/*.js'",
|
|
20
|
-
"prelint": "evalmd README.md",
|
|
21
|
-
"lint": "eslint --ext=js,mjs .",
|
|
22
|
-
"postlint": "tsc && attw -P",
|
|
23
|
-
"version": "auto-changelog && git add CHANGELOG.md",
|
|
24
|
-
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
|
|
25
|
-
},
|
|
26
|
-
"repository": {
|
|
27
|
-
"type": "git",
|
|
28
|
-
"url": "git+https://github.com/ljharb/get-proto.git"
|
|
29
|
-
},
|
|
30
|
-
"keywords": [
|
|
31
|
-
"get",
|
|
32
|
-
"proto",
|
|
33
|
-
"prototype",
|
|
34
|
-
"getPrototypeOf",
|
|
35
|
-
"[[Prototype]]"
|
|
36
|
-
],
|
|
37
|
-
"author": "Jordan Harband <ljharb@gmail.com>",
|
|
38
|
-
"license": "MIT",
|
|
39
|
-
"bugs": {
|
|
40
|
-
"url": "https://github.com/ljharb/get-proto/issues"
|
|
41
|
-
},
|
|
42
|
-
"homepage": "https://github.com/ljharb/get-proto#readme",
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"dunder-proto": "^1.0.1",
|
|
45
|
-
"es-object-atoms": "^1.0.0"
|
|
46
|
-
},
|
|
47
|
-
"devDependencies": {
|
|
48
|
-
"@arethetypeswrong/cli": "^0.17.2",
|
|
49
|
-
"@ljharb/eslint-config": "^21.1.1",
|
|
50
|
-
"@ljharb/tsconfig": "^0.2.3",
|
|
51
|
-
"@types/tape": "^5.8.0",
|
|
52
|
-
"auto-changelog": "^2.5.0",
|
|
53
|
-
"eslint": "=8.8.0",
|
|
54
|
-
"evalmd": "^0.0.19",
|
|
55
|
-
"in-publish": "^2.0.1",
|
|
56
|
-
"npmignore": "^0.3.1",
|
|
57
|
-
"nyc": "^10.3.2",
|
|
58
|
-
"safe-publish-latest": "^2.0.0",
|
|
59
|
-
"tape": "^5.9.0",
|
|
60
|
-
"typescript": "next"
|
|
61
|
-
},
|
|
62
|
-
"engines": {
|
|
63
|
-
"node": ">= 0.4"
|
|
64
|
-
},
|
|
65
|
-
"auto-changelog": {
|
|
66
|
-
"output": "CHANGELOG.md",
|
|
67
|
-
"template": "keepachangelog",
|
|
68
|
-
"unreleased": false,
|
|
69
|
-
"commitLimit": false,
|
|
70
|
-
"backfillLimit": false,
|
|
71
|
-
"hideCredit": true
|
|
72
|
-
},
|
|
73
|
-
"publishConfig": {
|
|
74
|
-
"ignore": [
|
|
75
|
-
".github/workflows"
|
|
76
|
-
]
|
|
77
|
-
},
|
|
78
|
-
"testling": {
|
|
79
|
-
"files": "test/index.js"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var test = require('tape');
|
|
4
|
-
|
|
5
|
-
var getProto = require('../');
|
|
6
|
-
|
|
7
|
-
test('getProto', function (t) {
|
|
8
|
-
t.equal(typeof getProto, 'function', 'is a function');
|
|
9
|
-
|
|
10
|
-
t.test('can get', { skip: !getProto }, function (st) {
|
|
11
|
-
if (getProto) { // TS doesn't understand tape's skip
|
|
12
|
-
var proto = { b: 2 };
|
|
13
|
-
st.equal(getProto(proto), Object.prototype, 'proto: returns the [[Prototype]]');
|
|
14
|
-
|
|
15
|
-
st.test('nullish value', function (s2t) {
|
|
16
|
-
// @ts-expect-error
|
|
17
|
-
s2t['throws'](function () { return getProto(undefined); }, TypeError, 'undefined is not an object');
|
|
18
|
-
// @ts-expect-error
|
|
19
|
-
s2t['throws'](function () { return getProto(null); }, TypeError, 'null is not an object');
|
|
20
|
-
s2t.end();
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
// @ts-expect-error
|
|
24
|
-
st['throws'](function () { getProto(true); }, 'throws for true');
|
|
25
|
-
// @ts-expect-error
|
|
26
|
-
st['throws'](function () { getProto(false); }, 'throws for false');
|
|
27
|
-
// @ts-expect-error
|
|
28
|
-
st['throws'](function () { getProto(42); }, 'throws for 42');
|
|
29
|
-
// @ts-expect-error
|
|
30
|
-
st['throws'](function () { getProto(NaN); }, 'throws for NaN');
|
|
31
|
-
// @ts-expect-error
|
|
32
|
-
st['throws'](function () { getProto(0); }, 'throws for +0');
|
|
33
|
-
// @ts-expect-error
|
|
34
|
-
st['throws'](function () { getProto(-0); }, 'throws for -0');
|
|
35
|
-
// @ts-expect-error
|
|
36
|
-
st['throws'](function () { getProto(Infinity); }, 'throws for ∞');
|
|
37
|
-
// @ts-expect-error
|
|
38
|
-
st['throws'](function () { getProto(-Infinity); }, 'throws for -∞');
|
|
39
|
-
// @ts-expect-error
|
|
40
|
-
st['throws'](function () { getProto(''); }, 'throws for empty string');
|
|
41
|
-
// @ts-expect-error
|
|
42
|
-
st['throws'](function () { getProto('foo'); }, 'throws for non-empty string');
|
|
43
|
-
st.equal(getProto(/a/g), RegExp.prototype);
|
|
44
|
-
st.equal(getProto(new Date()), Date.prototype);
|
|
45
|
-
st.equal(getProto(function () {}), Function.prototype);
|
|
46
|
-
st.equal(getProto([]), Array.prototype);
|
|
47
|
-
st.equal(getProto({}), Object.prototype);
|
|
48
|
-
|
|
49
|
-
var nullObject = { __proto__: null };
|
|
50
|
-
if ('toString' in nullObject) {
|
|
51
|
-
st.comment('no null objects in this engine');
|
|
52
|
-
st.equal(getProto(nullObject), Object.prototype, '"null" object has Object.prototype as [[Prototype]]');
|
|
53
|
-
} else {
|
|
54
|
-
st.equal(getProto(nullObject), null, 'null object has null [[Prototype]]');
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
st.end();
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
t.test('can not get', { skip: !!getProto }, function (st) {
|
|
62
|
-
st.equal(getProto, null);
|
|
63
|
-
|
|
64
|
-
st.end();
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
t.end();
|
|
68
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# These are supported funding model platforms
|
|
2
|
-
|
|
3
|
-
github: [ljharb]
|
|
4
|
-
patreon: # Replace with a single Patreon username
|
|
5
|
-
open_collective: # Replace with a single Open Collective username
|
|
6
|
-
ko_fi: # Replace with a single Ko-fi username
|
|
7
|
-
tidelift: npm/gopd
|
|
8
|
-
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
|
9
|
-
liberapay: # Replace with a single Liberapay username
|
|
10
|
-
issuehunt: # Replace with a single IssueHunt username
|
|
11
|
-
otechie: # Replace with a single Otechie username
|
|
12
|
-
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|