cdk-lambda-subminute 2.0.556 → 2.0.558
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 +15 -2
- package/lib/cdk-lambda-subminute.js +3 -3
- package/node_modules/call-bound/.eslintrc +13 -0
- package/node_modules/call-bound/.github/FUNDING.yml +12 -0
- package/node_modules/call-bound/.nycrc +9 -0
- package/node_modules/call-bound/CHANGELOG.md +25 -0
- package/node_modules/call-bound/LICENSE +21 -0
- package/node_modules/call-bound/README.md +53 -0
- package/node_modules/call-bound/index.d.ts +5 -0
- package/node_modules/call-bound/index.js +18 -0
- package/node_modules/call-bound/package.json +98 -0
- package/node_modules/call-bound/test/index.js +54 -0
- package/node_modules/call-bound/tsconfig.json +9 -0
- package/node_modules/is-arguments/.eslintrc +0 -1
- package/node_modules/is-arguments/CHANGELOG.md +22 -0
- package/node_modules/is-arguments/README.md +11 -11
- package/node_modules/is-arguments/index.d.ts +6 -0
- package/node_modules/is-arguments/index.js +19 -8
- package/node_modules/is-arguments/package.json +25 -11
- package/node_modules/is-arguments/test/index.js +4 -1
- package/node_modules/is-arguments/tsconfig.json +9 -0
- package/package.json +2 -2
- package/node_modules/is-arguments/.eslintignore +0 -1
package/.jsii
CHANGED
|
@@ -1854,6 +1854,19 @@
|
|
|
1854
1854
|
}
|
|
1855
1855
|
}
|
|
1856
1856
|
},
|
|
1857
|
+
"aws-cdk-lib.aws_invoicing": {
|
|
1858
|
+
"targets": {
|
|
1859
|
+
"dotnet": {
|
|
1860
|
+
"package": "Amazon.CDK.AWS.Invoicing"
|
|
1861
|
+
},
|
|
1862
|
+
"java": {
|
|
1863
|
+
"package": "software.amazon.awscdk.services.invoicing"
|
|
1864
|
+
},
|
|
1865
|
+
"python": {
|
|
1866
|
+
"module": "aws_cdk.aws_invoicing"
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
},
|
|
1857
1870
|
"aws-cdk-lib.aws_iot": {
|
|
1858
1871
|
"targets": {
|
|
1859
1872
|
"dotnet": {
|
|
@@ -4359,6 +4372,6 @@
|
|
|
4359
4372
|
"symbolId": "src/cdk-lambda-subminute:SubminuteStateMachineProps"
|
|
4360
4373
|
}
|
|
4361
4374
|
},
|
|
4362
|
-
"version": "2.0.
|
|
4363
|
-
"fingerprint": "
|
|
4375
|
+
"version": "2.0.558",
|
|
4376
|
+
"fingerprint": "VC0jmJZmtcUWxZhIUFgk9juxavm8l4Y3SLN5Kw1FFn8="
|
|
4364
4377
|
}
|
|
@@ -45,7 +45,7 @@ class LambdaSubminute extends constructs_1.Construct {
|
|
|
45
45
|
}
|
|
46
46
|
exports.LambdaSubminute = LambdaSubminute;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
LambdaSubminute[_a] = { fqn: "cdk-lambda-subminute.LambdaSubminute", version: "2.0.
|
|
48
|
+
LambdaSubminute[_a] = { fqn: "cdk-lambda-subminute.LambdaSubminute", version: "2.0.558" };
|
|
49
49
|
class IteratorLambda extends constructs_1.Construct {
|
|
50
50
|
constructor(scope, name, props) {
|
|
51
51
|
super(scope, name);
|
|
@@ -85,7 +85,7 @@ class IteratorLambda extends constructs_1.Construct {
|
|
|
85
85
|
}
|
|
86
86
|
exports.IteratorLambda = IteratorLambda;
|
|
87
87
|
_b = JSII_RTTI_SYMBOL_1;
|
|
88
|
-
IteratorLambda[_b] = { fqn: "cdk-lambda-subminute.IteratorLambda", version: "2.0.
|
|
88
|
+
IteratorLambda[_b] = { fqn: "cdk-lambda-subminute.IteratorLambda", version: "2.0.558" };
|
|
89
89
|
class SubminuteStateMachine extends constructs_1.Construct {
|
|
90
90
|
constructor(scope, id, props) {
|
|
91
91
|
super(scope, id);
|
|
@@ -160,5 +160,5 @@ class SubminuteStateMachine extends constructs_1.Construct {
|
|
|
160
160
|
}
|
|
161
161
|
exports.SubminuteStateMachine = SubminuteStateMachine;
|
|
162
162
|
_c = JSII_RTTI_SYMBOL_1;
|
|
163
|
-
SubminuteStateMachine[_c] = { fqn: "cdk-lambda-subminute.SubminuteStateMachine", version: "2.0.
|
|
163
|
+
SubminuteStateMachine[_c] = { fqn: "cdk-lambda-subminute.SubminuteStateMachine", version: "2.0.558" };
|
|
164
164
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxhbWJkYS1zdWJtaW51dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLWxhbWJkYS1zdWJtaW51dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyxpREFBa0Q7QUFDbEQsMERBQTJEO0FBQzNELDJDQUEyQztBQUUzQyx1REFBcUU7QUFDckUscUVBQStEO0FBQy9ELG1EQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsNkRBQTZEO0FBQzdELDJDQUF1QztBQTRCdkMsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBUzVDLFlBQVksTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBMkI7UUFDdEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDMUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUNyRixnQkFBZ0IsRUFBRSwrQkFBK0I7WUFDakQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUN0QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUUxRSxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENB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QyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUM5RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQzs7QUFiSCxzREE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCBldmVudHMgPSByZXF1aXJlKCdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJyk7XG5pbXBvcnQgdGFyZ2V0cyA9IHJlcXVpcmUoJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cycpO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuXG5pbXBvcnQgeyBJRnVuY3Rpb24sIFJ1bnRpbWUsIFRyYWNpbmcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgKiBhcyB0YXNrcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFTdWJtaW51dGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQgcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gb25lIG1pbnV0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldEZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIC8qKlxuICAgKiBBIHBhdHRlcm4geW91IHdhbnQgdGhpcyBzdGF0ZW1hY2hpbmUgdG8gYmUgZXhlY3V0ZWQuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L2V2ZW50cy9TY2hlZHVsZWRFdmVudHMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBjcm9uKDUwLzEgMTUtMTcgPyAqICogKikgVVRDKzAgYmVpbmcgcnVuIGV2ZXJ5IG1pbnV0ZSBzdGFydGluZyBmcm9tIDE1OjAwIFBNIHRvIDE3OjAwIFBNLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JvbmpvYkV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0aW1lcyB5b3UgaW50ZW50IHRvIGV4ZWN1dGUgaW4gYSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDZcbiAgICovXG4gIHJlYWRvbmx5IGZyZXF1ZW5jeT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNlY29uZHMgZm9yIGFuIGludGVydmFsLCB0aGUgcHJvZHVjdCBvZiBgZnJlcXVlbmN5YCBhbmQgYGludGVydmFsVGltZWAgc2hvdWxkIGJlIGFwcHJveGltYWdlbHkgMSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbFRpbWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFTdWJtaW51dGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHBsYXlzIHRoZSByb2xlIG9mIHRoZSBpdGVyYXRvci5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZXJhdG9yRnVuY3Rpb246IElGdW5jdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHN0YXRlIG1hY2hpbmUgdGhhdCBleGVjdXRlcyB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbiBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBMYW1iZGFTdWJtaW51dGVQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgbmFtZSk7XG4gICAgY29uc3QgaXRlcmF0b3IgPSBuZXcgSXRlcmF0b3JMYW1iZGEodGhpcywgJ0l0ZXJhdG9yTGFtYmRhJywgeyB0YXJnZXRGdW5jdGlvbjogcHJvcHMudGFyZ2V0RnVuY3Rpb24gfSk7XG4gICAgdGhpcy5pdGVyYXRvckZ1bmN0aW9uID0gaXRlcmF0b3IuZnVuY3Rpb247XG4gICAgY29uc3Qgc3VibWludXRlU3RhdGVNYWNoaW5lID0gbmV3IFN1Ym1pbnV0ZVN0YXRlTWFjaGluZSh0aGlzLCAnU3VibWludXRlU3RhdGVNYWNoaW5lJywge1xuICAgICAgc3RhdGVNYWNoaW5lTmFtZTogJ2xhbWJkYS1zdWJtaW51dGUtc3RhdGVtYWNoaW5lJyxcbiAgICAgIHRhcmdldEZ1bmN0aW9uOiBwcm9wcy50YXJnZXRGdW5jdGlvbixcbiAgICAgIGl0ZXJhdG9yRnVuY3Rpb246IHRoaXMuaXRlcmF0b3JGdW5jdGlvbixcbiAgICAgIGludGVydmFsVGltZTogcHJvcHMuaW50ZXJ2YWxUaW1lID8/IDEwLFxuICAgICAgZnJlcXVlbmN5OiBwcm9wcy5mcmVxdWVuY3kgPz8gNixcbiAgICB9KTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZUFybiA9IHN1Ym1pbnV0ZVN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuO1xuXG4gICAgY29uc3Qgc3RhcnRSdWxlID0gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTdGFydFN1Ym1pbnV0ZVN0YXRlTWFjaGluZScsIHtcbiAgICAgIHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUuZXhwcmVzc2lvbihwcm9wcy5jcm9uam9iRXhwcmVzc2lvbiA/PyAnY3Jvbig1MC8xIDE1LTE3ID8gKiAqICopJyksXG4gICAgICBydWxlTmFtZTogJ3N1Ym1pbnV0ZS1zdGF0ZW1hY2hpbmUtbGFtYmRhLXJ1bGUnLFxuICAgICAgZGVzY3JpcHRpb246IGBBIHJ1bGUgdG8gcnVuIHRoZSBzdWJtaW51dGUgc3RhdGUgbWFjaGluZSwgaS5lLiAke3N1Ym1pbnV0ZVN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lTmFtZX1gLFxuICAgIH0pO1xuICAgIHN0YXJ0UnVsZS5hZGRUYXJnZXQobmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKFxuICAgICAgc3VibWludXRlU3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZSwge1xuICAgICAgICBpbnB1dDogZXZlbnRzLlJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KHtcbiAgICAgICAgICBpdGVyYXRvcjoge1xuICAgICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAgICBjb3VudDogNixcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl0ZXJhdG9yTGFtYmRhUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQgcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gb25lIG1pbnV0ZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RnVuY3Rpb246IElGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIEl0ZXJhdG9yTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAgICogQSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBwbGF5cyB0aGUgcm9sZSBvZiB0aGUgaXRlcmF0b3IuXG4gICAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEl0ZXJhdG9yTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSk7XG4gICAgY29uc3QgaXRlcmF0b3JMYW1iZGFSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJdGVyYXRvckxhbWJkYVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQ29tcG9zaXRlUHJpbmNpcGFsKFxuICAgICAgICBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICApLFxuICAgICAgZGVzY3JpcHRpb246ICdBbiBleGVjdXRpb24gcm9sZSBmb3IgYSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlIGEgdGFyZ2V0IExhbWJkYSBGdW5jdGlvbiBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlJyxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKSxcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBV1NYUmF5RGFlbW9uV3JpdGVBY2Nlc3MnKSxcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhVlBDQWNjZXNzRXhlY3V0aW9uUm9sZScpLFxuICAgICAgXSxcbiAgICAgIHJvbGVOYW1lOiAnTGFtYmRhLUl0ZXJhdG9yLVJvbGUnLFxuICAgIH0pO1xuICAgIGNkay5Eb2NrZXJWb2x1bWVDb25zaXN0ZW5jeS5DT05TSVNURU5UO1xuXG5cbiAgICBpdGVyYXRvckxhbWJkYVJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnVGFyZ2V0TGFtYmRhUGVybWlzc2lvbicsXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbcHJvcHMudGFyZ2V0RnVuY3Rpb24uZnVuY3Rpb25Bcm5dLFxuICAgIH0pKTtcblxuICAgIHRoaXMuZnVuY3Rpb24gPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ0l0ZXJhdG9yJywge1xuICAgICAgZnVuY3Rpb25OYW1lOiAnbGFtYmRhLXN1Ym1pbnV0ZS1pdGVyYXRvcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgZnVuY3Rpb24gZm9yIGJyZWFraW5nIHRoZSBsaW1pdCBvZiAxIG1pbnV0ZSB3aXRoIHRoZSBDbG91ZFdhdGNoIFJ1bGVzLicsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgIGVudHJ5OiBmcy5leGlzdHNTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvaXRlcmF0b3IvaXRlcmF0b3JfYWdlbnQudHMnKSkgPyBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2l0ZXJhdG9yL2l0ZXJhdG9yX2FnZW50LnRzJykgOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2l0ZXJhdG9yL2l0ZXJhdG9yX2FnZW50LmpzJyksXG4gICAgICBoYW5kbGVyOiAnbGFtYmRhSGFuZGxlcicsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBUQVJHRVRfRk5fTkFNRTogcHJvcHMudGFyZ2V0RnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIHJvbGU6IGl0ZXJhdG9yTGFtYmRhUm9sZSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDU4KSwgLy8gMSBtaW5cbiAgICAgIHRyYWNpbmc6IFRyYWNpbmcuQUNUSVZFLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWludXRlU3RhdGVNYWNoaW5lUHJvcHMge1xuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIHN0YXRlIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgZXhlY3V0ZXMgeW91ciBpbnRlbnRpb24uXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRGdW5jdGlvbjogSUZ1bmN0aW9uO1xuICAvKipcbiAgICogdGhlIGl0ZXJhdG9yIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIHRhcmdldCBMYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVyYXRvckZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIC8qKlxuICAgKiBTZWNvbmRzIGZvciBhbiBpbnRlcnZhbCwgdGhlIHByb2R1Y3Qgb2YgYGZyZXF1ZW5jeWAgYW5kIGBpbnRlcnZhbFRpbWVgIHNob3VsZCBiZSBhcHByb3hpbWFnZWx5IDEgbWludXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWxUaW1lOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0aW1lcyB5b3UgaW50ZW50IHRvIGV4ZWN1dGUgaW4gYSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDZcbiAgICovXG4gIHJlYWRvbmx5IGZyZXF1ZW5jeTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgU3VibWludXRlU3RhdGVNYWNoaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lOiBzZm4uU3RhdGVNYWNoaW5lO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3VibWludXRlU3RhdGVNYWNoaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZVJvbGUgPSB0aGlzLl9jcmVhdGVXb3JrRmxvd1JvbGUoXG4gICAgICBwcm9wcy50YXJnZXRGdW5jdGlvbi5mdW5jdGlvbkFybiwgcHJvcHMuaXRlcmF0b3JGdW5jdGlvbi5mdW5jdGlvbkFybik7XG4gICAgY29uc3Qgam9iRGVmaW5pdGlvbiA9IHRoaXMuY3JlYXRlSm9iRGVmaW5pdGlvbihwcm9wcy5pdGVyYXRvckZ1bmN0aW9uLCBwcm9wcy5pbnRlcnZhbFRpbWUsIHByb3BzLmZyZXF1ZW5jeSk7XG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IHNmbi5TdGF0ZU1hY2hpbmUodGhpcywgJ1N0YXRlTWFjaGluZScsIHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IHByb3BzLnN0YXRlTWFjaGluZU5hbWUsXG4gICAgICBkZWZpbml0aW9uOiBqb2JEZWZpbml0aW9uLFxuICAgICAgcm9sZTogc3RhdGVNYWNoaW5lUm9sZSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZSA9IHN0YXRlTWFjaGluZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgYnJlYWtpbmcgdGhlIGxpbWl0IG9mIDEgbWludXRlIHdpdGggdGhlIENsb3VkV2F0Y2ggUnVsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBpdGVyYXRvckZ1bmN0aW9uIFRoZSBpdGVyYXRvciBMYW1iZGEgZnVuY3Rpb24gZm9yIHRoZSB0YXJnZXQgTGFibWRhIGZ1bmNpdG9uLlxuICAgKiBAcGFyYW0gaW50ZXJ2YWxUaW1lIFNlY29uZHMgZm9yIGFuIGludGVydmFsLCB0aGUgcHJvZHVjdCBvZiBgZnJlcXVlbmN5YCBhbmQgYGludGVydmFsVGltZWAgc2hvdWxkIGJlIGFwcHJveGltYWdlbHkgMSBtaW51dGUuXG4gICAqIEBwYXJhbSBmcmVxdWVuY3kgSG93IG1hbnkgdGltZXMgeW91IGludGVudCB0byBleGVjdXRlIGluIGEgbWludXRlLlxuICAgKiBAcmV0dXJucyBUSGUgam9iIGRlZmluaXRpb24gZm9yIHRoZSBzdGF0ZSBtYWNoaW5lLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVKb2JEZWZpbml0aW9uID0gKFxuICAgIGl0ZXJhdG9yRnVuY3Rpb246IElGdW5jdGlvbiwgaW50ZXJ2YWxUaW1lOiBudW1iZXIsIGZyZXF1ZW5jeTogbnVtYmVyKTogc2ZuLkNoYWluID0+IHtcbiAgICBjb25zdCBjb25maWd1cmVDb3VudCA9IG5ldyBzZm4uUGFzcyh0aGlzLCAnQ29uZmlndXJlQ291bnQnLCB7XG4gICAgICByZXN1bHQ6IHNmbi5SZXN1bHQuZnJvbU9iamVjdCh7XG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBjb3VudDogZnJlcXVlbmN5LFxuICAgICAgfSksXG4gICAgICByZXN1bHRQYXRoOiAnJC5pdGVyYXRvcicsXG4gICAgfSk7XG4gICAgY29uc3QgaXRlcmF0b3IgPSBuZXcgdGFza3MuTGFtYmRhSW52b2tlKHRoaXMsICdJdGVyYXRvcicsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBpdGVyYXRvckZ1bmN0aW9uLFxuICAgICAgcmVzdWx0UGF0aDogJyQuaXRlcmF0b3InLFxuICAgICAgcmVzdWx0U2VsZWN0b3I6IHtcbiAgICAgICAgJ2luZGV4LiQnOiAnJC5QYXlsb2FkLmluZGV4JyxcbiAgICAgICAgJ2NvdW50LiQnOiAnJC5QYXlsb2FkLmNvdW50JyxcbiAgICAgICAgJ2NvbnRpbnVlLiQnOiAnJC5QYXlsb2FkLmNvbnRpbnVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3Qgd2FpdCA9IG5ldyBzZm4uV2FpdCh0aGlzLCAnV2FpdCBmb3IgdGhlIHRhcmdldCBMYW1iZGEgZnVuY3Rpb24gZmluaXNoZWQnLCB7XG4gICAgICB0aW1lOiBzZm4uV2FpdFRpbWUuZHVyYXRpb24oY2RrLkR1cmF0aW9uLnNlY29uZHMoaW50ZXJ2YWxUaW1lKSksXG4gICAgfSk7XG4gICAgd2FpdC5uZXh0KGl0ZXJhdG9yKTtcbiAgICBjb25zdCBkb25lID0gbmV3IHNmbi5QYXNzKHRoaXMsICdEb25lJyk7XG5cbiAgICBjb25zdCBpc0NvdW50UmVhY2hlZCA9IG5ldyBzZm4uQ2hvaWNlKHRoaXMsICdJc0NvdW50UmVhY2hlZCcpO1xuICAgIGlzQ291bnRSZWFjaGVkLndoZW4oc2ZuLkNvbmRpdGlvbi5ib29sZWFuRXF1YWxzKCckLml0ZXJhdG9yLmNvbnRpbnVlJywgdHJ1ZSksIHdhaXQpO1xuICAgIGlzQ291bnRSZWFjaGVkLm90aGVyd2lzZShkb25lKTtcbiAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gY29uZmlndXJlQ291bnQubmV4dChpdGVyYXRvcikubmV4dChpc0NvdW50UmVhY2hlZCk7XG4gICAgcmV0dXJuIGpvYkRlZmluaXRpb247XG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb2xlIGFuZCBjb3JyZXNwb25kaW5nIHBvbGljaWVzIGZvciB0aGUgc3VibWludXRlIHN0YXRlIG1hY2hpbmUuXG4gICAqXG4gICAqIEBwYXJhbSB0YXJnZXRGdW5jdGlvbkFybiB0aGUgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBleGVjdXRlcyB5b3VyIGludGVudGlvbi5cbiAgICogQHBhcmFtIGl0ZXJhdG9yRnVuY3Rpb25Bcm4gdGhlIEFSTiBvZiB0aGUgaXRlcmF0b3IgTGFtYmRhIGZ1bmN0aW9uIGZvciB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgdGhlIHJvbGUgYXMgdGhlIGRvY3VtZW50YXRpb24gaW5kaWNhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlV29ya0Zsb3dSb2xlID0gKHRhcmdldEZ1bmN0aW9uQXJuOiBzdHJpbmcsIGl0ZXJhdG9yRnVuY3Rpb25Bcm46IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHdvcmtGbG93RXhlY3V0aW9uUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnU3RlcEZ1bmN0aW9uRXhlY3V0aW9uUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzdGF0ZXMuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdFeGVjdXRlIGEgd29ya2Zsb3cgcmVsYXRlZCB0byBleGVjdXRpbmcgYSBMYW1iZGEgZnVuY3Rpb24gcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gMSBtaW51dGUuJyxcbiAgICB9KTtcbiAgICB3b3JrRmxvd0V4ZWN1dGlvblJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnTGFtYmRhSW52b2tlUGVybWlzc2lvbnMnLFxuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydsYW1iZGE6SW52b2tlRnVuY3Rpb24nXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB0YXJnZXRGdW5jdGlvbkFybixcbiAgICAgICAgaXRlcmF0b3JGdW5jdGlvbkFybixcbiAgICAgIF0sXG4gICAgfSkpO1xuICAgIHJldHVybiB3b3JrRmxvd0V4ZWN1dGlvblJvbGU7XG4gIH07XG59Il19
|
|
@@ -0,0 +1,12 @@
|
|
|
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/call-bound
|
|
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']
|
|
@@ -0,0 +1,25 @@
|
|
|
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.2](https://github.com/ljharb/call-bound/compare/v1.0.1...v1.0.2) - 2024-12-10
|
|
9
|
+
|
|
10
|
+
### Commits
|
|
11
|
+
|
|
12
|
+
- [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `gopd` [`e6a5ffe`](https://github.com/ljharb/call-bound/commit/e6a5ffe849368fe4f74dfd6cdeca1b9baa39e8d5)
|
|
13
|
+
- [Deps] update `call-bind`, `get-intrinsic` [`2aeb5b5`](https://github.com/ljharb/call-bound/commit/2aeb5b521dc2b2683d1345c753ea1161de2d1c14)
|
|
14
|
+
- [types] improve return type [`1a0c9fe`](https://github.com/ljharb/call-bound/commit/1a0c9fe3114471e7ca1f57d104e2efe713bb4871)
|
|
15
|
+
|
|
16
|
+
## v1.0.1 - 2024-12-05
|
|
17
|
+
|
|
18
|
+
### Commits
|
|
19
|
+
|
|
20
|
+
- Initial implementation, tests, readme, types [`6d94121`](https://github.com/ljharb/call-bound/commit/6d94121a9243602e506334069f7a03189fe3363d)
|
|
21
|
+
- Initial commit [`0eae867`](https://github.com/ljharb/call-bound/commit/0eae867334ea025c33e6e91cdecfc9df96680cf9)
|
|
22
|
+
- npm init [`71b2479`](https://github.com/ljharb/call-bound/commit/71b2479c6723e0b7d91a6b663613067e98b7b275)
|
|
23
|
+
- Only apps should have lockfiles [`c3754a9`](https://github.com/ljharb/call-bound/commit/c3754a949b7f9132b47e2d18c1729889736741eb)
|
|
24
|
+
- [actions] skip `npm ls` in node < 10 [`74275a5`](https://github.com/ljharb/call-bound/commit/74275a5186b8caf6309b6b97472bdcb0df4683a8)
|
|
25
|
+
- [Dev Deps] add missing peer dep [`1354de8`](https://github.com/ljharb/call-bound/commit/1354de8679413e4ae9c523d85f76fa7a5e032d97)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 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.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# call-bound <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
|
2
|
+
|
|
3
|
+
[![github actions][actions-image]][actions-url]
|
|
4
|
+
[![coverage][codecov-image]][codecov-url]
|
|
5
|
+
[![dependency status][deps-svg]][deps-url]
|
|
6
|
+
[![dev dependency status][dev-deps-svg]][dev-deps-url]
|
|
7
|
+
[![License][license-image]][license-url]
|
|
8
|
+
[![Downloads][downloads-image]][downloads-url]
|
|
9
|
+
|
|
10
|
+
[![npm badge][npm-badge-png]][package-url]
|
|
11
|
+
|
|
12
|
+
Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.
|
|
13
|
+
|
|
14
|
+
## Getting started
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm install --save call-bound
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage/Examples
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
const assert = require('assert');
|
|
24
|
+
const callBound = require('call-bind/callBound');
|
|
25
|
+
|
|
26
|
+
const slice = callBound('Array.prototype.slice');
|
|
27
|
+
|
|
28
|
+
delete Function.prototype.call;
|
|
29
|
+
delete Function.prototype.bind;
|
|
30
|
+
delete Array.prototype.slice;
|
|
31
|
+
|
|
32
|
+
assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Tests
|
|
36
|
+
|
|
37
|
+
Clone the repo, `npm install`, and run `npm test`
|
|
38
|
+
|
|
39
|
+
[package-url]: https://npmjs.org/package/call-bound
|
|
40
|
+
[npm-version-svg]: https://versionbadg.es/ljharb/call-bound.svg
|
|
41
|
+
[deps-svg]: https://david-dm.org/ljharb/call-bound.svg
|
|
42
|
+
[deps-url]: https://david-dm.org/ljharb/call-bound
|
|
43
|
+
[dev-deps-svg]: https://david-dm.org/ljharb/call-bound/dev-status.svg
|
|
44
|
+
[dev-deps-url]: https://david-dm.org/ljharb/call-bound#info=devDependencies
|
|
45
|
+
[npm-badge-png]: https://nodei.co/npm/call-bound.png?downloads=true&stars=true
|
|
46
|
+
[license-image]: https://img.shields.io/npm/l/call-bound.svg
|
|
47
|
+
[license-url]: LICENSE
|
|
48
|
+
[downloads-image]: https://img.shields.io/npm/dm/call-bound.svg
|
|
49
|
+
[downloads-url]: https://npm-stat.com/charts.html?package=call-bound
|
|
50
|
+
[codecov-image]: https://codecov.io/gh/ljharb/call-bound/branch/main/graphs/badge.svg
|
|
51
|
+
[codecov-url]: https://app.codecov.io/gh/ljharb/call-bound/
|
|
52
|
+
[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/call-bound
|
|
53
|
+
[actions-url]: https://github.com/ljharb/call-bound/actions
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var GetIntrinsic = require('get-intrinsic');
|
|
4
|
+
|
|
5
|
+
var callBind = require('call-bind');
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line no-extra-parens
|
|
8
|
+
var $indexOf = callBind(/** @type {typeof String.prototype.indexOf} */ (GetIntrinsic('String.prototype.indexOf')));
|
|
9
|
+
|
|
10
|
+
/** @type {import('.')} */
|
|
11
|
+
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
|
12
|
+
// eslint-disable-next-line no-extra-parens
|
|
13
|
+
var intrinsic = /** @type {Parameters<typeof callBind>[0]} */ (GetIntrinsic(name, !!allowMissing));
|
|
14
|
+
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
|
15
|
+
return callBind(intrinsic);
|
|
16
|
+
}
|
|
17
|
+
return intrinsic;
|
|
18
|
+
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "call-bound",
|
|
3
|
+
"version": "1.0.2",
|
|
4
|
+
"description": "Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./index.js",
|
|
8
|
+
"./package.json": "./package.json"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"prepack": "npmignore --auto --commentLines=auto",
|
|
12
|
+
"prepublish": "not-in-publish || npm run prepublishOnly",
|
|
13
|
+
"prepublishOnly": "safe-publish-latest",
|
|
14
|
+
"prelint": "evalmd README.md",
|
|
15
|
+
"lint": "eslint --ext=.js,.mjs .",
|
|
16
|
+
"postlint": "tsc -p . && attw -P",
|
|
17
|
+
"pretest": "npm run lint",
|
|
18
|
+
"tests-only": "nyc tape 'test/**/*.js'",
|
|
19
|
+
"test": "npm run tests-only",
|
|
20
|
+
"posttest": "npx npm@'>=10.2' audit --production",
|
|
21
|
+
"version": "auto-changelog && git add CHANGELOG.md",
|
|
22
|
+
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
|
|
23
|
+
},
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+https://github.com/ljharb/call-bound.git"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"javascript",
|
|
30
|
+
"ecmascript",
|
|
31
|
+
"es",
|
|
32
|
+
"js",
|
|
33
|
+
"callbind",
|
|
34
|
+
"callbound",
|
|
35
|
+
"call",
|
|
36
|
+
"bind",
|
|
37
|
+
"bound",
|
|
38
|
+
"call-bind",
|
|
39
|
+
"call-bound",
|
|
40
|
+
"function",
|
|
41
|
+
"es-abstract"
|
|
42
|
+
],
|
|
43
|
+
"author": "Jordan Harband <ljharb@gmail.com>",
|
|
44
|
+
"funding": {
|
|
45
|
+
"url": "https://github.com/sponsors/ljharb"
|
|
46
|
+
},
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://github.com/ljharb/call-bound/issues"
|
|
50
|
+
},
|
|
51
|
+
"homepage": "https://github.com/ljharb/call-bound#readme",
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"call-bind": "^1.0.8",
|
|
54
|
+
"get-intrinsic": "^1.2.5"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@arethetypeswrong/cli": "^0.17.1",
|
|
58
|
+
"@ljharb/eslint-config": "^21.1.1",
|
|
59
|
+
"@ljharb/tsconfig": "^0.2.2",
|
|
60
|
+
"@types/call-bind": "^1.0.5",
|
|
61
|
+
"@types/get-intrinsic": "^1.2.3",
|
|
62
|
+
"@types/tape": "^5.6.5",
|
|
63
|
+
"auto-changelog": "^2.5.0",
|
|
64
|
+
"encoding": "^0.1.13",
|
|
65
|
+
"es-value-fixtures": "^1.5.0",
|
|
66
|
+
"eslint": "=8.8.0",
|
|
67
|
+
"evalmd": "^0.0.19",
|
|
68
|
+
"for-each": "^0.3.3",
|
|
69
|
+
"gopd": "^1.2.0",
|
|
70
|
+
"has-strict-mode": "^1.0.1",
|
|
71
|
+
"in-publish": "^2.0.1",
|
|
72
|
+
"npmignore": "^0.3.1",
|
|
73
|
+
"nyc": "^10.3.2",
|
|
74
|
+
"object-inspect": "^1.13.3",
|
|
75
|
+
"safe-publish-latest": "^2.0.0",
|
|
76
|
+
"tape": "^5.9.0",
|
|
77
|
+
"typescript": "next"
|
|
78
|
+
},
|
|
79
|
+
"testling": {
|
|
80
|
+
"files": "test/index.js"
|
|
81
|
+
},
|
|
82
|
+
"auto-changelog": {
|
|
83
|
+
"output": "CHANGELOG.md",
|
|
84
|
+
"template": "keepachangelog",
|
|
85
|
+
"unreleased": false,
|
|
86
|
+
"commitLimit": false,
|
|
87
|
+
"backfillLimit": false,
|
|
88
|
+
"hideCredit": true
|
|
89
|
+
},
|
|
90
|
+
"publishConfig": {
|
|
91
|
+
"ignore": [
|
|
92
|
+
".github/workflows"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"engines": {
|
|
96
|
+
"node": ">= 0.4"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var test = require('tape');
|
|
4
|
+
|
|
5
|
+
var callBound = require('../');
|
|
6
|
+
|
|
7
|
+
test('callBound', function (t) {
|
|
8
|
+
// static primitive
|
|
9
|
+
t.equal(callBound('Array.length'), Array.length, 'Array.length yields itself');
|
|
10
|
+
t.equal(callBound('%Array.length%'), Array.length, '%Array.length% yields itself');
|
|
11
|
+
|
|
12
|
+
// static non-function object
|
|
13
|
+
t.equal(callBound('Array.prototype'), Array.prototype, 'Array.prototype yields itself');
|
|
14
|
+
t.equal(callBound('%Array.prototype%'), Array.prototype, '%Array.prototype% yields itself');
|
|
15
|
+
t.equal(callBound('Array.constructor'), Array.constructor, 'Array.constructor yields itself');
|
|
16
|
+
t.equal(callBound('%Array.constructor%'), Array.constructor, '%Array.constructor% yields itself');
|
|
17
|
+
|
|
18
|
+
// static function
|
|
19
|
+
t.equal(callBound('Date.parse'), Date.parse, 'Date.parse yields itself');
|
|
20
|
+
t.equal(callBound('%Date.parse%'), Date.parse, '%Date.parse% yields itself');
|
|
21
|
+
|
|
22
|
+
// prototype primitive
|
|
23
|
+
t.equal(callBound('Error.prototype.message'), Error.prototype.message, 'Error.prototype.message yields itself');
|
|
24
|
+
t.equal(callBound('%Error.prototype.message%'), Error.prototype.message, '%Error.prototype.message% yields itself');
|
|
25
|
+
|
|
26
|
+
// prototype function
|
|
27
|
+
t.notEqual(callBound('Object.prototype.toString'), Object.prototype.toString, 'Object.prototype.toString does not yield itself');
|
|
28
|
+
t.notEqual(callBound('%Object.prototype.toString%'), Object.prototype.toString, '%Object.prototype.toString% does not yield itself');
|
|
29
|
+
t.equal(callBound('Object.prototype.toString')(true), Object.prototype.toString.call(true), 'call-bound Object.prototype.toString calls into the original');
|
|
30
|
+
t.equal(callBound('%Object.prototype.toString%')(true), Object.prototype.toString.call(true), 'call-bound %Object.prototype.toString% calls into the original');
|
|
31
|
+
|
|
32
|
+
t['throws'](
|
|
33
|
+
function () { callBound('does not exist'); },
|
|
34
|
+
SyntaxError,
|
|
35
|
+
'nonexistent intrinsic throws'
|
|
36
|
+
);
|
|
37
|
+
t['throws'](
|
|
38
|
+
function () { callBound('does not exist', true); },
|
|
39
|
+
SyntaxError,
|
|
40
|
+
'allowMissing arg still throws for unknown intrinsic'
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
t.test('real but absent intrinsic', { skip: typeof WeakRef !== 'undefined' }, function (st) {
|
|
44
|
+
st['throws'](
|
|
45
|
+
function () { callBound('WeakRef'); },
|
|
46
|
+
TypeError,
|
|
47
|
+
'real but absent intrinsic throws'
|
|
48
|
+
);
|
|
49
|
+
st.equal(callBound('WeakRef', true), undefined, 'allowMissing arg avoids exception');
|
|
50
|
+
st.end();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
t.end();
|
|
54
|
+
});
|
|
@@ -5,6 +5,28 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [v1.2.0](https://github.com/inspect-js/is-arguments/compare/v1.1.1...v1.2.0) - 2024-12-12
|
|
9
|
+
|
|
10
|
+
### Commits
|
|
11
|
+
|
|
12
|
+
- [actions] reuse common workflows [`ff7c948`](https://github.com/inspect-js/is-arguments/commit/ff7c94886dbfb6ea5d2175d5e49c1d0b4f4ac922)
|
|
13
|
+
- [New] add types [`5fe6c6e`](https://github.com/inspect-js/is-arguments/commit/5fe6c6e0d0826d86f355c7e95adb4838dbe6df36)
|
|
14
|
+
- [meta] use `npmignore` to autogenerate an npmignore file [`9a9b0cf`](https://github.com/inspect-js/is-arguments/commit/9a9b0cf7dcf00a8dad6dd38f983f7611b33a5c9d)
|
|
15
|
+
- [actions] split out node 10-20, and 20+ [`74c5c49`](https://github.com/inspect-js/is-arguments/commit/74c5c490763649e03d54f97f8367918ee710d6a5)
|
|
16
|
+
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`d9a932d`](https://github.com/inspect-js/is-arguments/commit/d9a932db8a0ad7f95ebd3ccd5322a5d5ea3d422f)
|
|
17
|
+
- [readme] update URLs [`0f726b6`](https://github.com/inspect-js/is-arguments/commit/0f726b696ff562d5beecdd5a407579c9d18ec226)
|
|
18
|
+
- [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `tape` [`ea21450`](https://github.com/inspect-js/is-arguments/commit/ea21450ecbfff962f273b1e741af2bf20241563d)
|
|
19
|
+
- [actions] update rebase action to use reusable workflow [`eaad2ab`](https://github.com/inspect-js/is-arguments/commit/eaad2ab2e25018037a3bcd149d65206bf723cb88)
|
|
20
|
+
- [actions] cleanup [`2be15d3`](https://github.com/inspect-js/is-arguments/commit/2be15d3ee78dd214d5b961d8c890aae94f0faa58)
|
|
21
|
+
- [actions] update codecov uploader [`29b929c`](https://github.com/inspect-js/is-arguments/commit/29b929cf44fa1014f431d89c44518c34bbcd774b)
|
|
22
|
+
- [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `npmignore`, `tape` [`8a38bf5`](https://github.com/inspect-js/is-arguments/commit/8a38bf572c59fdfdf6db9167185f78c59410048b)
|
|
23
|
+
- [Dev Deps] update `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`841627d`](https://github.com/inspect-js/is-arguments/commit/841627ddcc32f578b62b659dede177697737d027)
|
|
24
|
+
- [Refactor] use `call-bound` directly [`e429257`](https://github.com/inspect-js/is-arguments/commit/e429257b9e3d28b60cbc86c6f1c877e23af28429)
|
|
25
|
+
- [Deps] update `call-bind`, `has-tostringtag` [`c0db6a8`](https://github.com/inspect-js/is-arguments/commit/c0db6a800366e9744c375560813cbd70bf8e0d2d)
|
|
26
|
+
- [Tests] replace `aud` with `npm audit` [`f589983`](https://github.com/inspect-js/is-arguments/commit/f589983d330f205f89af679af6d4b806a3cbceb5)
|
|
27
|
+
- [meta] add `sideEffects` flag [`2e15793`](https://github.com/inspect-js/is-arguments/commit/2e15793dfd3ef97b0e4a311be056bdfbaa9f5beb)
|
|
28
|
+
- [Dev Deps] add missing peer dep [`0ffe01b`](https://github.com/inspect-js/is-arguments/commit/0ffe01b8ecce5a30b93bf6078e62a3c6268254b8)
|
|
29
|
+
|
|
8
30
|
## [v1.1.1](https://github.com/inspect-js/is-arguments/compare/v1.1.0...v1.1.1) - 2021-08-05
|
|
9
31
|
|
|
10
32
|
### Commits
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
# is-arguments <sup>[![Version Badge][
|
|
1
|
+
# is-arguments <sup>[![Version Badge][npm-version-svg]][package-url]</sup>
|
|
2
2
|
|
|
3
3
|
[![github actions][actions-image]][actions-url]
|
|
4
4
|
[![coverage][codecov-image]][codecov-url]
|
|
5
|
-
[![dependency status][
|
|
6
|
-
[![dev dependency status][
|
|
5
|
+
[![dependency status][deps-svg]][deps-url]
|
|
6
|
+
[![dev dependency status][dev-deps-svg]][dev-deps-url]
|
|
7
7
|
[![License][license-image]][license-url]
|
|
8
8
|
[![Downloads][downloads-image]][downloads-url]
|
|
9
9
|
|
|
10
|
-
[![npm badge][
|
|
10
|
+
[![npm badge][npm-badge-png]][package-url]
|
|
11
11
|
|
|
12
12
|
Is this an arguments object? It's a harder question than you think.
|
|
13
13
|
|
|
@@ -30,13 +30,13 @@ If you have modified an actual `arguments` object by giving it a `Symbol.toStrin
|
|
|
30
30
|
## Tests
|
|
31
31
|
Simply clone the repo, `npm install`, and run `npm test`
|
|
32
32
|
|
|
33
|
-
[
|
|
34
|
-
[
|
|
35
|
-
[
|
|
36
|
-
[
|
|
37
|
-
[
|
|
38
|
-
[
|
|
39
|
-
[
|
|
33
|
+
[package-url]: https://npmjs.org/package/is-arguments
|
|
34
|
+
[npm-version-svg]: https://versionbadg.es/inspect-js/is-arguments.svg
|
|
35
|
+
[deps-svg]: https://david-dm.org/inspect-js/is-arguments.svg
|
|
36
|
+
[deps-url]: https://david-dm.org/inspect-js/is-arguments
|
|
37
|
+
[dev-deps-svg]: https://david-dm.org/inspect-js/is-arguments/dev-status.svg
|
|
38
|
+
[dev-deps-url]: https://david-dm.org/inspect-js/is-arguments#info=devDependencies
|
|
39
|
+
[npm-badge-png]: https://nodei.co/npm/is-arguments.png?downloads=true&stars=true
|
|
40
40
|
[license-image]: https://img.shields.io/npm/l/is-arguments.svg
|
|
41
41
|
[license-url]: LICENSE
|
|
42
42
|
[downloads-image]: https://img.shields.io/npm/dm/is-arguments.svg
|
|
@@ -1,33 +1,44 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var hasToStringTag = require('has-tostringtag/shams')();
|
|
4
|
-
var callBound = require('call-
|
|
4
|
+
var callBound = require('call-bound');
|
|
5
5
|
|
|
6
6
|
var $toString = callBound('Object.prototype.toString');
|
|
7
7
|
|
|
8
|
+
/** @type {import('.')} */
|
|
8
9
|
var isStandardArguments = function isArguments(value) {
|
|
9
|
-
if (
|
|
10
|
+
if (
|
|
11
|
+
hasToStringTag
|
|
12
|
+
&& value
|
|
13
|
+
&& typeof value === 'object'
|
|
14
|
+
&& Symbol.toStringTag in value
|
|
15
|
+
) {
|
|
10
16
|
return false;
|
|
11
17
|
}
|
|
12
18
|
return $toString(value) === '[object Arguments]';
|
|
13
19
|
};
|
|
14
20
|
|
|
21
|
+
/** @type {import('.')} */
|
|
15
22
|
var isLegacyArguments = function isArguments(value) {
|
|
16
23
|
if (isStandardArguments(value)) {
|
|
17
24
|
return true;
|
|
18
25
|
}
|
|
19
|
-
return value !== null
|
|
20
|
-
typeof value === 'object'
|
|
21
|
-
|
|
22
|
-
value.length
|
|
23
|
-
|
|
24
|
-
$toString(value
|
|
26
|
+
return value !== null
|
|
27
|
+
&& typeof value === 'object'
|
|
28
|
+
&& 'length' in value
|
|
29
|
+
&& typeof value.length === 'number'
|
|
30
|
+
&& value.length >= 0
|
|
31
|
+
&& $toString(value) !== '[object Array]'
|
|
32
|
+
&& 'callee' in value
|
|
33
|
+
&& $toString(value.callee) === '[object Function]';
|
|
25
34
|
};
|
|
26
35
|
|
|
27
36
|
var supportsStandardArguments = (function () {
|
|
28
37
|
return isStandardArguments(arguments);
|
|
29
38
|
}());
|
|
30
39
|
|
|
40
|
+
// @ts-expect-error TODO make this not error
|
|
31
41
|
isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
|
|
32
42
|
|
|
43
|
+
/** @type {import('.')} */
|
|
33
44
|
module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "is-arguments",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Is this an arguments object? It's a harder question than you think.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jordan Harband",
|
|
@@ -19,14 +19,17 @@
|
|
|
19
19
|
],
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"main": "index.js",
|
|
22
|
+
"sideEffects": false,
|
|
22
23
|
"scripts": {
|
|
24
|
+
"prepack": "npmignore --auto --commentLines=autogenerated",
|
|
23
25
|
"prepublishOnly": "safe-publish-latest",
|
|
24
26
|
"prepublish": "not-in-publish || npm run prepublishOnly",
|
|
25
27
|
"pretest": "npm run --silent lint",
|
|
26
28
|
"test": "npm run tests-only",
|
|
27
29
|
"tests-only": "nyc tape 'test/**/*.js'",
|
|
28
|
-
"posttest": "npx
|
|
29
|
-
"lint": "eslint .",
|
|
30
|
+
"posttest": "npx npm@'>= 10.2' audit --production",
|
|
31
|
+
"lint": "eslint --ext=js,mjs .",
|
|
32
|
+
"postlint": "tsc && attw -P",
|
|
30
33
|
"version": "auto-changelog && git add CHANGELOG.md",
|
|
31
34
|
"postversion": "auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""
|
|
32
35
|
},
|
|
@@ -47,17 +50,23 @@
|
|
|
47
50
|
"object"
|
|
48
51
|
],
|
|
49
52
|
"dependencies": {
|
|
50
|
-
"call-
|
|
51
|
-
"has-tostringtag": "^1.0.
|
|
53
|
+
"call-bound": "^1.0.2",
|
|
54
|
+
"has-tostringtag": "^1.0.2"
|
|
52
55
|
},
|
|
53
56
|
"devDependencies": {
|
|
54
|
-
"@
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
57
|
+
"@arethetypeswrong/cli": "^0.17.1",
|
|
58
|
+
"@ljharb/eslint-config": "^21.1.1",
|
|
59
|
+
"@ljharb/tsconfig": "^0.2.2",
|
|
60
|
+
"@types/tape": "^5.6.5",
|
|
61
|
+
"auto-changelog": "^2.5.0",
|
|
62
|
+
"encoding": "^0.1.13",
|
|
63
|
+
"eslint": "=8.8.0",
|
|
64
|
+
"in-publish": "^2.0.1",
|
|
65
|
+
"npmignore": "^0.3.1",
|
|
58
66
|
"nyc": "^10.3.2",
|
|
59
|
-
"safe-publish-latest": "^
|
|
60
|
-
"tape": "^5.
|
|
67
|
+
"safe-publish-latest": "^2.0.0",
|
|
68
|
+
"tape": "^5.9.0",
|
|
69
|
+
"typescript": "next"
|
|
61
70
|
},
|
|
62
71
|
"testling": {
|
|
63
72
|
"files": "test.js",
|
|
@@ -87,5 +96,10 @@
|
|
|
87
96
|
"commitLimit": false,
|
|
88
97
|
"backfillLimit": false,
|
|
89
98
|
"hideCredit": true
|
|
99
|
+
},
|
|
100
|
+
"publishConfig": {
|
|
101
|
+
"ignore": [
|
|
102
|
+
".github/workflows"
|
|
103
|
+
]
|
|
90
104
|
}
|
|
91
105
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var test = require('tape');
|
|
4
|
-
|
|
4
|
+
// eslint-disable-next-line no-extra-parens
|
|
5
|
+
var isArguments = /** @type {import('..') & { isLegacyArguments: import('..') }} */ (require('../'));
|
|
5
6
|
var hasToStringTag = require('has-tostringtag/shams')();
|
|
6
7
|
|
|
7
8
|
test('primitives', function (t) {
|
|
@@ -30,10 +31,12 @@ test('old-style arguments object', function (t) {
|
|
|
30
31
|
});
|
|
31
32
|
|
|
32
33
|
test('Symbol.toStringTag', { skip: !hasToStringTag }, function (t) {
|
|
34
|
+
/** @type {{ [Symbol.toStringTag]?: string }} */
|
|
33
35
|
var obj = {};
|
|
34
36
|
obj[Symbol.toStringTag] = 'Arguments';
|
|
35
37
|
t.notOk(isArguments(obj), 'object with faked toStringTag is not arguments');
|
|
36
38
|
|
|
39
|
+
/** @type {IArguments & { [Symbol.toStringTag]?: string }} */
|
|
37
40
|
var args = (function () {
|
|
38
41
|
return arguments;
|
|
39
42
|
}());
|
package/package.json
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"jsii-docgen": "^10.5.0",
|
|
58
58
|
"jsii-pacmak": "^1.105.0",
|
|
59
59
|
"jsii-rosetta": "5.4.x",
|
|
60
|
-
"projen": "^0.
|
|
60
|
+
"projen": "^0.91.0",
|
|
61
61
|
"source-map-support": "^0.5.21",
|
|
62
62
|
"ts-jest": "^27",
|
|
63
63
|
"typescript": "^4.9.5"
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"access": "public"
|
|
93
93
|
},
|
|
94
|
-
"version": "2.0.
|
|
94
|
+
"version": "2.0.558",
|
|
95
95
|
"jest": {
|
|
96
96
|
"coverageProvider": "v8",
|
|
97
97
|
"testMatch": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
coverage/
|