cdk-lambda-subminute 2.0.576 → 2.0.578

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.
Files changed (53) hide show
  1. package/.jsii +2 -2
  2. package/lib/cdk-lambda-subminute.js +3 -3
  3. package/node_modules/get-intrinsic/CHANGELOG.md +8 -0
  4. package/node_modules/get-intrinsic/index.js +10 -5
  5. package/node_modules/get-intrinsic/package.json +5 -5
  6. package/node_modules/get-proto/.eslintrc +10 -0
  7. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  8. package/node_modules/get-proto/.nycrc +9 -0
  9. package/node_modules/get-proto/CHANGELOG.md +21 -0
  10. package/node_modules/get-proto/LICENSE +21 -0
  11. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  12. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  13. package/node_modules/get-proto/README.md +50 -0
  14. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  15. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  16. package/node_modules/get-proto/index.d.ts +5 -0
  17. package/node_modules/get-proto/index.js +27 -0
  18. package/node_modules/get-proto/package.json +81 -0
  19. package/node_modules/get-proto/test/index.js +68 -0
  20. package/node_modules/get-proto/tsconfig.json +9 -0
  21. package/node_modules/is-generator-function/.eslintrc +1 -1
  22. package/node_modules/is-generator-function/CHANGELOG.md +21 -0
  23. package/node_modules/is-generator-function/index.d.ts +3 -0
  24. package/node_modules/is-generator-function/index.js +16 -7
  25. package/node_modules/is-generator-function/package.json +30 -11
  26. package/node_modules/is-generator-function/test/corejs.js +1 -0
  27. package/node_modules/is-generator-function/test/index.js +4 -7
  28. package/node_modules/is-generator-function/test/uglified.js +1 -0
  29. package/node_modules/is-generator-function/tsconfig.json +9 -0
  30. package/node_modules/is-regex/.editorconfig +23 -0
  31. package/node_modules/is-regex/.eslintrc +10 -0
  32. package/node_modules/is-regex/.nycrc +10 -0
  33. package/node_modules/is-regex/CHANGELOG.md +233 -0
  34. package/node_modules/is-regex/LICENSE +20 -0
  35. package/node_modules/is-regex/README.md +52 -0
  36. package/node_modules/is-regex/index.d.ts +3 -0
  37. package/node_modules/is-regex/index.js +69 -0
  38. package/node_modules/is-regex/package.json +104 -0
  39. package/node_modules/is-regex/test/index.js +121 -0
  40. package/node_modules/is-regex/tsconfig.json +9 -0
  41. package/node_modules/safe-regex-test/.eslintrc +9 -0
  42. package/node_modules/safe-regex-test/.github/FUNDING.yml +12 -0
  43. package/node_modules/safe-regex-test/.nycrc +13 -0
  44. package/node_modules/safe-regex-test/CHANGELOG.md +55 -0
  45. package/node_modules/safe-regex-test/LICENSE +21 -0
  46. package/node_modules/safe-regex-test/README.md +46 -0
  47. package/node_modules/safe-regex-test/index.d.ts +3 -0
  48. package/node_modules/safe-regex-test/index.js +17 -0
  49. package/node_modules/safe-regex-test/package.json +87 -0
  50. package/node_modules/safe-regex-test/test/index.js +41 -0
  51. package/node_modules/safe-regex-test/tsconfig.json +9 -0
  52. package/package.json +2 -2
  53. package/node_modules/is-generator-function/.eslintignore +0 -1
package/.jsii CHANGED
@@ -4372,6 +4372,6 @@
4372
4372
  "symbolId": "src/cdk-lambda-subminute:SubminuteStateMachineProps"
4373
4373
  }
4374
4374
  },
4375
- "version": "2.0.576",
4376
- "fingerprint": "OrJ21SLOrEQEHdVVWH5TMWVHnRXyAWhnDf4fO0sYGNI="
4375
+ "version": "2.0.578",
4376
+ "fingerprint": "VwJBCZ0/6H/Fzk2ZW2p4N/ZO2tvwyLYVHhMUeDA4SRs="
4377
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.576" };
48
+ LambdaSubminute[_a] = { fqn: "cdk-lambda-subminute.LambdaSubminute", version: "2.0.578" };
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.576" };
88
+ IteratorLambda[_b] = { fqn: "cdk-lambda-subminute.IteratorLambda", version: "2.0.578" };
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.576" };
163
+ SubminuteStateMachine[_c] = { fqn: "cdk-lambda-subminute.SubminuteStateMachine", version: "2.0.578" };
164
164
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxhbWJkYS1zdWJtaW51dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2RrLWxhbWJkYS1zdWJtaW51dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyxpREFBa0Q7QUFDbEQsMERBQTJEO0FBQzNELDJDQUEyQztBQUUzQyx1REFBcUU7QUFDckUscUVBQStEO0FBQy9ELG1EQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsNkRBQTZEO0FBQzdELDJDQUF1QztBQTRCdkMsTUFBYSxlQUFnQixTQUFRLHNCQUFTO0lBUzVDLFlBQVksTUFBaUIsRUFBRSxJQUFZLEVBQUUsS0FBMkI7UUFDdEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDMUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSx1QkFBdUIsRUFBRTtZQUNyRixnQkFBZ0IsRUFBRSwrQkFBK0I7WUFDakQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRTtZQUN0QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDO1NBQ2hDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUUxRSxNQUFNLFNBQVMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENB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QyxLQUFLLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RyxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUM5RCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLElBQUksRUFBRSxnQkFBZ0I7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQzs7QUFiSCxzREE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCBldmVudHMgPSByZXF1aXJlKCdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJyk7XG5pbXBvcnQgdGFyZ2V0cyA9IHJlcXVpcmUoJ2F3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0cycpO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuXG5pbXBvcnQgeyBJRnVuY3Rpb24sIFJ1bnRpbWUsIFRyYWNpbmcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgUmV0ZW50aW9uRGF5cyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCAqIGFzIHNmbiBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucyc7XG5pbXBvcnQgKiBhcyB0YXNrcyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9ucy10YXNrcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFTdWJtaW51dGVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQgcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gb25lIG1pbnV0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldEZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIC8qKlxuICAgKiBBIHBhdHRlcm4geW91IHdhbnQgdGhpcyBzdGF0ZW1hY2hpbmUgdG8gYmUgZXhlY3V0ZWQuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L2V2ZW50cy9TY2hlZHVsZWRFdmVudHMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBjcm9uKDUwLzEgMTUtMTcgPyAqICogKikgVVRDKzAgYmVpbmcgcnVuIGV2ZXJ5IG1pbnV0ZSBzdGFydGluZyBmcm9tIDE1OjAwIFBNIHRvIDE3OjAwIFBNLlxuICAgKi9cbiAgcmVhZG9ubHkgY3JvbmpvYkV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0aW1lcyB5b3UgaW50ZW50IHRvIGV4ZWN1dGUgaW4gYSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDZcbiAgICovXG4gIHJlYWRvbmx5IGZyZXF1ZW5jeT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNlY29uZHMgZm9yIGFuIGludGVydmFsLCB0aGUgcHJvZHVjdCBvZiBgZnJlcXVlbmN5YCBhbmQgYGludGVydmFsVGltZWAgc2hvdWxkIGJlIGFwcHJveGltYWdlbHkgMSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbFRpbWU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGFTdWJtaW51dGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHBsYXlzIHRoZSByb2xlIG9mIHRoZSBpdGVyYXRvci5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZXJhdG9yRnVuY3Rpb246IElGdW5jdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHN0YXRlIG1hY2hpbmUgdGhhdCBleGVjdXRlcyB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbiBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lQXJuOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHBhcmVudDogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBMYW1iZGFTdWJtaW51dGVQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgbmFtZSk7XG4gICAgY29uc3QgaXRlcmF0b3IgPSBuZXcgSXRlcmF0b3JMYW1iZGEodGhpcywgJ0l0ZXJhdG9yTGFtYmRhJywgeyB0YXJnZXRGdW5jdGlvbjogcHJvcHMudGFyZ2V0RnVuY3Rpb24gfSk7XG4gICAgdGhpcy5pdGVyYXRvckZ1bmN0aW9uID0gaXRlcmF0b3IuZnVuY3Rpb247XG4gICAgY29uc3Qgc3VibWludXRlU3RhdGVNYWNoaW5lID0gbmV3IFN1Ym1pbnV0ZVN0YXRlTWFjaGluZSh0aGlzLCAnU3VibWludXRlU3RhdGVNYWNoaW5lJywge1xuICAgICAgc3RhdGVNYWNoaW5lTmFtZTogJ2xhbWJkYS1zdWJtaW51dGUtc3RhdGVtYWNoaW5lJyxcbiAgICAgIHRhcmdldEZ1bmN0aW9uOiBwcm9wcy50YXJnZXRGdW5jdGlvbixcbiAgICAgIGl0ZXJhdG9yRnVuY3Rpb246IHRoaXMuaXRlcmF0b3JGdW5jdGlvbixcbiAgICAgIGludGVydmFsVGltZTogcHJvcHMuaW50ZXJ2YWxUaW1lID8/IDEwLFxuICAgICAgZnJlcXVlbmN5OiBwcm9wcy5mcmVxdWVuY3kgPz8gNixcbiAgICB9KTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZUFybiA9IHN1Ym1pbnV0ZVN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuO1xuXG4gICAgY29uc3Qgc3RhcnRSdWxlID0gbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdTdGFydFN1Ym1pbnV0ZVN0YXRlTWFjaGluZScsIHtcbiAgICAgIHNjaGVkdWxlOiBldmVudHMuU2NoZWR1bGUuZXhwcmVzc2lvbihwcm9wcy5jcm9uam9iRXhwcmVzc2lvbiA/PyAnY3Jvbig1MC8xIDE1LTE3ID8gKiAqICopJyksXG4gICAgICBydWxlTmFtZTogJ3N1Ym1pbnV0ZS1zdGF0ZW1hY2hpbmUtbGFtYmRhLXJ1bGUnLFxuICAgICAgZGVzY3JpcHRpb246IGBBIHJ1bGUgdG8gcnVuIHRoZSBzdWJtaW51dGUgc3RhdGUgbWFjaGluZSwgaS5lLiAke3N1Ym1pbnV0ZVN0YXRlTWFjaGluZS5zdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lTmFtZX1gLFxuICAgIH0pO1xuICAgIHN0YXJ0UnVsZS5hZGRUYXJnZXQobmV3IHRhcmdldHMuU2ZuU3RhdGVNYWNoaW5lKFxuICAgICAgc3VibWludXRlU3RhdGVNYWNoaW5lLnN0YXRlTWFjaGluZSwge1xuICAgICAgICBpbnB1dDogZXZlbnRzLlJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KHtcbiAgICAgICAgICBpdGVyYXRvcjoge1xuICAgICAgICAgICAgaW5kZXg6IDAsXG4gICAgICAgICAgICBjb3VudDogNixcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl0ZXJhdG9yTGFtYmRhUHJvcHMge1xuICAvKipcbiAgICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQgcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gb25lIG1pbnV0ZS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0RnVuY3Rpb246IElGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIEl0ZXJhdG9yTGFtYmRhIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAgICogQSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBwbGF5cyB0aGUgcm9sZSBvZiB0aGUgaXRlcmF0b3IuXG4gICAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IEl0ZXJhdG9yTGFtYmRhUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSk7XG4gICAgY29uc3QgaXRlcmF0b3JMYW1iZGFSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdJdGVyYXRvckxhbWJkYVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uQ29tcG9zaXRlUHJpbmNpcGFsKFxuICAgICAgICBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICApLFxuICAgICAgZGVzY3JpcHRpb246ICdBbiBleGVjdXRpb24gcm9sZSBmb3IgYSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlIGEgdGFyZ2V0IExhbWJkYSBGdW5jdGlvbiBwZXIgdGltZSB1bml0IGxlc3MgdGhhbiBvbmUgbWludXRlJyxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKSxcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBV1NYUmF5RGFlbW9uV3JpdGVBY2Nlc3MnKSxcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhVlBDQWNjZXNzRXhlY3V0aW9uUm9sZScpLFxuICAgICAgXSxcbiAgICAgIHJvbGVOYW1lOiAnTGFtYmRhLUl0ZXJhdG9yLVJvbGUnLFxuICAgIH0pO1xuICAgIGNkay5Eb2NrZXJWb2x1bWVDb25zaXN0ZW5jeS5DT05TSVNURU5UO1xuXG5cbiAgICBpdGVyYXRvckxhbWJkYVJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnVGFyZ2V0TGFtYmRhUGVybWlzc2lvbicsXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgcmVzb3VyY2VzOiBbcHJvcHMudGFyZ2V0RnVuY3Rpb24uZnVuY3Rpb25Bcm5dLFxuICAgIH0pKTtcblxuICAgIHRoaXMuZnVuY3Rpb24gPSBuZXcgTm9kZWpzRnVuY3Rpb24odGhpcywgJ0l0ZXJhdG9yJywge1xuICAgICAgZnVuY3Rpb25OYW1lOiAnbGFtYmRhLXN1Ym1pbnV0ZS1pdGVyYXRvcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0EgZnVuY3Rpb24gZm9yIGJyZWFraW5nIHRoZSBsaW1pdCBvZiAxIG1pbnV0ZSB3aXRoIHRoZSBDbG91ZFdhdGNoIFJ1bGVzLicsXG4gICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVEhSRUVfTU9OVEhTLFxuICAgICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfMThfWCxcbiAgICAgIGVudHJ5OiBmcy5leGlzdHNTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvaXRlcmF0b3IvaXRlcmF0b3JfYWdlbnQudHMnKSkgPyBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2l0ZXJhdG9yL2l0ZXJhdG9yX2FnZW50LnRzJykgOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAncmVzb3VyY2VzL2l0ZXJhdG9yL2l0ZXJhdG9yX2FnZW50LmpzJyksXG4gICAgICBoYW5kbGVyOiAnbGFtYmRhSGFuZGxlcicsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBUQVJHRVRfRk5fTkFNRTogcHJvcHMudGFyZ2V0RnVuY3Rpb24uZnVuY3Rpb25OYW1lLFxuICAgICAgfSxcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIHJvbGU6IGl0ZXJhdG9yTGFtYmRhUm9sZSxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDU4KSwgLy8gMSBtaW5cbiAgICAgIHRyYWNpbmc6IFRyYWNpbmcuQUNUSVZFLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWludXRlU3RhdGVNYWNoaW5lUHJvcHMge1xuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIHN0YXRlIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0aGUgTGFtYmRhIGZ1bmN0aW9uIHRoYXQgZXhlY3V0ZXMgeW91ciBpbnRlbnRpb24uXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRGdW5jdGlvbjogSUZ1bmN0aW9uO1xuICAvKipcbiAgICogdGhlIGl0ZXJhdG9yIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIHRhcmdldCBMYW1iZGEgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVyYXRvckZ1bmN0aW9uOiBJRnVuY3Rpb247XG4gIC8qKlxuICAgKiBTZWNvbmRzIGZvciBhbiBpbnRlcnZhbCwgdGhlIHByb2R1Y3Qgb2YgYGZyZXF1ZW5jeWAgYW5kIGBpbnRlcnZhbFRpbWVgIHNob3VsZCBiZSBhcHByb3hpbWFnZWx5IDEgbWludXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWxUaW1lOiBudW1iZXI7XG4gIC8qKlxuICAgKiBIb3cgbWFueSB0aW1lcyB5b3UgaW50ZW50IHRvIGV4ZWN1dGUgaW4gYSBtaW51dGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDZcbiAgICovXG4gIHJlYWRvbmx5IGZyZXF1ZW5jeTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgU3VibWludXRlU3RhdGVNYWNoaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgc3RhdGVNYWNoaW5lOiBzZm4uU3RhdGVNYWNoaW5lO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3VibWludXRlU3RhdGVNYWNoaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IHN0YXRlTWFjaGluZVJvbGUgPSB0aGlzLl9jcmVhdGVXb3JrRmxvd1JvbGUoXG4gICAgICBwcm9wcy50YXJnZXRGdW5jdGlvbi5mdW5jdGlvbkFybiwgcHJvcHMuaXRlcmF0b3JGdW5jdGlvbi5mdW5jdGlvbkFybik7XG4gICAgY29uc3Qgam9iRGVmaW5pdGlvbiA9IHRoaXMuY3JlYXRlSm9iRGVmaW5pdGlvbihwcm9wcy5pdGVyYXRvckZ1bmN0aW9uLCBwcm9wcy5pbnRlcnZhbFRpbWUsIHByb3BzLmZyZXF1ZW5jeSk7XG4gICAgY29uc3Qgc3RhdGVNYWNoaW5lID0gbmV3IHNmbi5TdGF0ZU1hY2hpbmUodGhpcywgJ1N0YXRlTWFjaGluZScsIHtcbiAgICAgIHN0YXRlTWFjaGluZU5hbWU6IHByb3BzLnN0YXRlTWFjaGluZU5hbWUsXG4gICAgICBkZWZpbml0aW9uOiBqb2JEZWZpbml0aW9uLFxuICAgICAgcm9sZTogc3RhdGVNYWNoaW5lUm9sZSxcbiAgICB9KTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZSA9IHN0YXRlTWFjaGluZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgYnJlYWtpbmcgdGhlIGxpbWl0IG9mIDEgbWludXRlIHdpdGggdGhlIENsb3VkV2F0Y2ggUnVsZXMuXG4gICAqXG4gICAqIEBwYXJhbSBpdGVyYXRvckZ1bmN0aW9uIFRoZSBpdGVyYXRvciBMYW1iZGEgZnVuY3Rpb24gZm9yIHRoZSB0YXJnZXQgTGFibWRhIGZ1bmNpdG9uLlxuICAgKiBAcGFyYW0gaW50ZXJ2YWxUaW1lIFNlY29uZHMgZm9yIGFuIGludGVydmFsLCB0aGUgcHJvZHVjdCBvZiBgZnJlcXVlbmN5YCBhbmQgYGludGVydmFsVGltZWAgc2hvdWxkIGJlIGFwcHJveGltYWdlbHkgMSBtaW51dGUuXG4gICAqIEBwYXJhbSBmcmVxdWVuY3kgSG93IG1hbnkgdGltZXMgeW91IGludGVudCB0byBleGVjdXRlIGluIGEgbWludXRlLlxuICAgKiBAcmV0dXJucyBUSGUgam9iIGRlZmluaXRpb24gZm9yIHRoZSBzdGF0ZSBtYWNoaW5lLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVKb2JEZWZpbml0aW9uID0gKFxuICAgIGl0ZXJhdG9yRnVuY3Rpb246IElGdW5jdGlvbiwgaW50ZXJ2YWxUaW1lOiBudW1iZXIsIGZyZXF1ZW5jeTogbnVtYmVyKTogc2ZuLkNoYWluID0+IHtcbiAgICBjb25zdCBjb25maWd1cmVDb3VudCA9IG5ldyBzZm4uUGFzcyh0aGlzLCAnQ29uZmlndXJlQ291bnQnLCB7XG4gICAgICByZXN1bHQ6IHNmbi5SZXN1bHQuZnJvbU9iamVjdCh7XG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBjb3VudDogZnJlcXVlbmN5LFxuICAgICAgfSksXG4gICAgICByZXN1bHRQYXRoOiAnJC5pdGVyYXRvcicsXG4gICAgfSk7XG4gICAgY29uc3QgaXRlcmF0b3IgPSBuZXcgdGFza3MuTGFtYmRhSW52b2tlKHRoaXMsICdJdGVyYXRvcicsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBpdGVyYXRvckZ1bmN0aW9uLFxuICAgICAgcmVzdWx0UGF0aDogJyQuaXRlcmF0b3InLFxuICAgICAgcmVzdWx0U2VsZWN0b3I6IHtcbiAgICAgICAgJ2luZGV4LiQnOiAnJC5QYXlsb2FkLmluZGV4JyxcbiAgICAgICAgJ2NvdW50LiQnOiAnJC5QYXlsb2FkLmNvdW50JyxcbiAgICAgICAgJ2NvbnRpbnVlLiQnOiAnJC5QYXlsb2FkLmNvbnRpbnVlJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29uc3Qgd2FpdCA9IG5ldyBzZm4uV2FpdCh0aGlzLCAnV2FpdCBmb3IgdGhlIHRhcmdldCBMYW1iZGEgZnVuY3Rpb24gZmluaXNoZWQnLCB7XG4gICAgICB0aW1lOiBzZm4uV2FpdFRpbWUuZHVyYXRpb24oY2RrLkR1cmF0aW9uLnNlY29uZHMoaW50ZXJ2YWxUaW1lKSksXG4gICAgfSk7XG4gICAgd2FpdC5uZXh0KGl0ZXJhdG9yKTtcbiAgICBjb25zdCBkb25lID0gbmV3IHNmbi5QYXNzKHRoaXMsICdEb25lJyk7XG5cbiAgICBjb25zdCBpc0NvdW50UmVhY2hlZCA9IG5ldyBzZm4uQ2hvaWNlKHRoaXMsICdJc0NvdW50UmVhY2hlZCcpO1xuICAgIGlzQ291bnRSZWFjaGVkLndoZW4oc2ZuLkNvbmRpdGlvbi5ib29sZWFuRXF1YWxzKCckLml0ZXJhdG9yLmNvbnRpbnVlJywgdHJ1ZSksIHdhaXQpO1xuICAgIGlzQ291bnRSZWFjaGVkLm90aGVyd2lzZShkb25lKTtcbiAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gY29uZmlndXJlQ291bnQubmV4dChpdGVyYXRvcikubmV4dChpc0NvdW50UmVhY2hlZCk7XG4gICAgcmV0dXJuIGpvYkRlZmluaXRpb247XG4gIH07XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByb2xlIGFuZCBjb3JyZXNwb25kaW5nIHBvbGljaWVzIGZvciB0aGUgc3VibWludXRlIHN0YXRlIG1hY2hpbmUuXG4gICAqXG4gICAqIEBwYXJhbSB0YXJnZXRGdW5jdGlvbkFybiB0aGUgQVJOIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24gdGhhdCBleGVjdXRlcyB5b3VyIGludGVudGlvbi5cbiAgICogQHBhcmFtIGl0ZXJhdG9yRnVuY3Rpb25Bcm4gdGhlIEFSTiBvZiB0aGUgaXRlcmF0b3IgTGFtYmRhIGZ1bmN0aW9uIGZvciB0aGUgdGFyZ2V0IExhbWJkYSBmdW5jdGlvbi5cbiAgICogQHJldHVybnMgdGhlIHJvbGUgYXMgdGhlIGRvY3VtZW50YXRpb24gaW5kaWNhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlV29ya0Zsb3dSb2xlID0gKHRhcmdldEZ1bmN0aW9uQXJuOiBzdHJpbmcsIGl0ZXJhdG9yRnVuY3Rpb25Bcm46IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHdvcmtGbG93RXhlY3V0aW9uUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnU3RlcEZ1bmN0aW9uRXhlY3V0aW9uUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdzdGF0ZXMuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdFeGVjdXRlIGEgd29ya2Zsb3cgcmVsYXRlZCB0byBleGVjdXRpbmcgYSBMYW1iZGEgZnVuY3Rpb24gcGVyIHRpbWUgdW5pdCBsZXNzIHRoYW4gMSBtaW51dGUuJyxcbiAgICB9KTtcbiAgICB3b3JrRmxvd0V4ZWN1dGlvblJvbGUuYWRkVG9Qb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiAnTGFtYmRhSW52b2tlUGVybWlzc2lvbnMnLFxuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydsYW1iZGE6SW52b2tlRnVuY3Rpb24nXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB0YXJnZXRGdW5jdGlvbkFybixcbiAgICAgICAgaXRlcmF0b3JGdW5jdGlvbkFybixcbiAgICAgIF0sXG4gICAgfSkpO1xuICAgIHJldHVybiB3b3JrRmxvd0V4ZWN1dGlvblJvbGU7XG4gIH07XG59Il19
@@ -5,6 +5,14 @@ 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.7](https://github.com/ljharb/get-intrinsic/compare/v1.2.6...v1.2.7) - 2025-01-02
9
+
10
+ ### Commits
11
+
12
+ - [Refactor] use `get-proto` directly [`00ab955`](https://github.com/ljharb/get-intrinsic/commit/00ab95546a0980c8ad42a84253daaa8d2adcedf9)
13
+ - [Deps] update `math-intrinsics` [`c716cdd`](https://github.com/ljharb/get-intrinsic/commit/c716cdd6bbe36b438057025561b8bb5a879ac8a0)
14
+ - [Dev Deps] update `call-bound`, `es-abstract` [`dc648a6`](https://github.com/ljharb/get-intrinsic/commit/dc648a67eb359037dff8d8619bfa71d86debccb1)
15
+
8
16
  ## [v1.2.6](https://github.com/ljharb/get-intrinsic/compare/v1.2.5...v1.2.6) - 2024-12-11
9
17
 
10
18
  ### Commits
@@ -17,6 +17,8 @@ var floor = require('math-intrinsics/floor');
17
17
  var max = require('math-intrinsics/max');
18
18
  var min = require('math-intrinsics/min');
19
19
  var pow = require('math-intrinsics/pow');
20
+ var round = require('math-intrinsics/round');
21
+ var sign = require('math-intrinsics/sign');
20
22
 
21
23
  var $Function = Function;
22
24
 
@@ -51,11 +53,10 @@ var ThrowTypeError = $gOPD
51
53
  : throwTypeError;
52
54
 
53
55
  var hasSymbols = require('has-symbols')();
54
- var getDunderProto = require('dunder-proto/get');
55
56
 
56
- var getProto = (typeof Reflect === 'function' && Reflect.getPrototypeOf)
57
- || $Object.getPrototypeOf
58
- || getDunderProto;
57
+ var getProto = require('get-proto');
58
+ var $ObjectGPO = require('get-proto/Object.getPrototypeOf');
59
+ var $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');
59
60
 
60
61
  var $apply = require('call-bind-apply-helpers/functionApply');
61
62
  var $call = require('call-bind-apply-helpers/functionCall');
@@ -137,11 +138,15 @@ var INTRINSICS = {
137
138
  '%Function.prototype.call%': $call,
138
139
  '%Function.prototype.apply%': $apply,
139
140
  '%Object.defineProperty%': $defineProperty,
141
+ '%Object.getPrototypeOf%': $ObjectGPO,
140
142
  '%Math.abs%': abs,
141
143
  '%Math.floor%': floor,
142
144
  '%Math.max%': max,
143
145
  '%Math.min%': min,
144
- '%Math.pow%': pow
146
+ '%Math.pow%': pow,
147
+ '%Math.round%': round,
148
+ '%Math.sign%': sign,
149
+ '%Reflect.getPrototypeOf%': $ReflectGPO
145
150
  };
146
151
 
147
152
  if (getProto) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-intrinsic",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "Get and robustly cache all JS language-level intrinsics at first require time",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -45,22 +45,22 @@
45
45
  "homepage": "https://github.com/ljharb/get-intrinsic#readme",
46
46
  "dependencies": {
47
47
  "call-bind-apply-helpers": "^1.0.1",
48
- "dunder-proto": "^1.0.0",
49
48
  "es-define-property": "^1.0.1",
50
49
  "es-errors": "^1.3.0",
51
50
  "es-object-atoms": "^1.0.0",
52
51
  "function-bind": "^1.1.2",
52
+ "get-proto": "^1.0.0",
53
53
  "gopd": "^1.2.0",
54
54
  "has-symbols": "^1.1.0",
55
55
  "hasown": "^2.0.2",
56
- "math-intrinsics": "^1.0.0"
56
+ "math-intrinsics": "^1.1.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@ljharb/eslint-config": "^21.1.1",
60
60
  "auto-changelog": "^2.5.0",
61
- "call-bound": "^1.0.2",
61
+ "call-bound": "^1.0.3",
62
62
  "encoding": "^0.1.13",
63
- "es-abstract": "^1.23.5",
63
+ "es-abstract": "^1.23.8",
64
64
  "es-value-fixtures": "^1.5.0",
65
65
  "eslint": "=8.8.0",
66
66
  "evalmd": "^0.0.19",
@@ -0,0 +1,10 @@
1
+ {
2
+ "root": true,
3
+
4
+ "extends": "@ljharb",
5
+
6
+ "rules": {
7
+ "id-length": "off",
8
+ "sort-keys": "off",
9
+ },
10
+ }
@@ -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/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']
@@ -0,0 +1,9 @@
1
+ {
2
+ "all": true,
3
+ "check-coverage": false,
4
+ "reporter": ["text-summary", "text", "html", "json"],
5
+ "exclude": [
6
+ "coverage",
7
+ "test"
8
+ ]
9
+ }
@@ -0,0 +1,21 @@
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)
@@ -0,0 +1,21 @@
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.
@@ -0,0 +1,5 @@
1
+ declare function getProto<O extends object>(object: O): object | null;
2
+
3
+ declare const x: typeof getProto | null;
4
+
5
+ export = x;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var $Object = require('es-object-atoms');
4
+
5
+ /** @type {import('./Object.getPrototypeOf')} */
6
+ module.exports = $Object.getPrototypeOf || null;
@@ -0,0 +1,50 @@
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
@@ -0,0 +1,3 @@
1
+ declare const x: typeof Reflect.getPrototypeOf | null;
2
+
3
+ export = x;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ /** @type {import('./Reflect.getPrototypeOf')} */
4
+ module.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;
@@ -0,0 +1,5 @@
1
+ declare function getProto<O extends object>(object: O): object | null;
2
+
3
+ declare const x: typeof getProto | null;
4
+
5
+ export = x;
@@ -0,0 +1,27 @@
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;
@@ -0,0 +1,81 @@
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
+ }
@@ -0,0 +1,68 @@
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
+ });
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "@ljharb/tsconfig",
3
+ "compilerOptions": {
4
+ //"target": "es2021",
5
+ },
6
+ "exclude": [
7
+ "coverage",
8
+ ],
9
+ }
@@ -4,6 +4,6 @@
4
4
  "extends": "@ljharb",
5
5
 
6
6
  "rules": {
7
- "no-new-func": 1
7
+ "no-new-func": 1,
8
8
  },
9
9
  }
@@ -5,6 +5,27 @@ 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.1.0](https://github.com/inspect-js/is-generator-function/compare/v1.0.10...v1.1.0) - 2025-01-02
9
+
10
+ ### Commits
11
+
12
+ - [actions] reuse common workflows [`7301651`](https://github.com/inspect-js/is-generator-function/commit/7301651ad24468ab17aee7a86a2dd2a6fcd58637)
13
+ - [actions] split out node 10-20, and 20+ [`40f30a5`](https://github.com/inspect-js/is-generator-function/commit/40f30a5dee3e26cad236ce0afbd0567b6075af54)
14
+ - [meta] use `npmignore` to autogenerate an npmignore file [`ec843a4`](https://github.com/inspect-js/is-generator-function/commit/ec843a4501d238fcde254c7e33c137ec997abfaa)
15
+ - [New] add types [`6dd27c4`](https://github.com/inspect-js/is-generator-function/commit/6dd27c4b6a3ebaa42ddbf4e93c20e2b4d90bad07)
16
+ - [actions] update codecov uploader [`717f85e`](https://github.com/inspect-js/is-generator-function/commit/717f85e8b080cdbdb160558b289ec9f043410bd2)
17
+ - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `safe-publish-latest`, `tape` [`4280e62`](https://github.com/inspect-js/is-generator-function/commit/4280e6260029ccdae8b299faadacafd0f8a2de78)
18
+ - [actions] update rebase action to use reusable workflow [`895c2d0`](https://github.com/inspect-js/is-generator-function/commit/895c2d06a914b82913d3fae2df3071bde72cb584)
19
+ - [Tests] use `for-each` [`3caee87`](https://github.com/inspect-js/is-generator-function/commit/3caee870b0509b91ad37e6a0562f261d7b5f4523)
20
+ - [Robustness] use `call-bound` [`1eb55de`](https://github.com/inspect-js/is-generator-function/commit/1eb55def663c335222d970c5e62459f73aee20db)
21
+ - [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `aud`, `auto-changelog`, `object-inspect`, `tape` [`5bbd4cd`](https://github.com/inspect-js/is-generator-function/commit/5bbd4cd8bcbd167a05ddf1cd285fd1fd2802801a)
22
+ - [Robustness] use `safe-regex-test` [`5f8b992`](https://github.com/inspect-js/is-generator-function/commit/5f8b9921e4cf53c3cb4185a0f30a170fa2e0722f)
23
+ - [Dev Deps] update `@ljharb/eslint-config`, `auto-changelog`, `npmignore`, `tape` [`c730f4c`](https://github.com/inspect-js/is-generator-function/commit/c730f4c056697653ba935b37b44bf9bfe1017331)
24
+ - [Robustness] use `get-proto` [`6dfff38`](https://github.com/inspect-js/is-generator-function/commit/6dfff3821b8a42d0b0f70651abfe1d2e90afbb10)
25
+ - [Tests] replace `aud` with `npm audit` [`725db70`](https://github.com/inspect-js/is-generator-function/commit/725db703352200f7400fa4b2b2058e2220a4c42b)
26
+ - [Deps] update `has-tostringtag` [`5cc3c2d`](https://github.com/inspect-js/is-generator-function/commit/5cc3c2d34b77c3d7d50588225d4d4afa20aa3df2)
27
+ - [Dev Deps] add missing peer dep [`869a507`](https://github.com/inspect-js/is-generator-function/commit/869a507790e8cf1452b355719a6c00efadbe4965)
28
+
8
29
  ## [v1.0.10](https://github.com/inspect-js/is-generator-function/compare/v1.0.9...v1.0.10) - 2021-08-05
9
30
 
10
31
  ### Commits
@@ -0,0 +1,3 @@
1
+ declare function isGeneratorFunction(fn: unknown): fn is GeneratorFunction;
2
+
3
+ export = isGeneratorFunction;
@@ -1,10 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var toStr = Object.prototype.toString;
4
- var fnToStr = Function.prototype.toString;
5
- var isFnRegex = /^\s*(?:function)?\*/;
3
+ var callBound = require('call-bound');
4
+ var safeRegexTest = require('safe-regex-test');
5
+ var isFnRegex = safeRegexTest(/^\s*(?:function)?\*/);
6
6
  var hasToStringTag = require('has-tostringtag/shams')();
7
- var getProto = Object.getPrototypeOf;
7
+ var getProto = require('get-proto');
8
+
9
+ var toStr = callBound('Object.prototype.toString');
10
+ var fnToStr = callBound('Function.prototype.toString');
11
+
8
12
  var getGeneratorFunc = function () { // eslint-disable-line consistent-return
9
13
  if (!hasToStringTag) {
10
14
  return false;
@@ -14,17 +18,19 @@ var getGeneratorFunc = function () { // eslint-disable-line consistent-return
14
18
  } catch (e) {
15
19
  }
16
20
  };
21
+ /** @type {undefined | false | null | GeneratorFunctionConstructor} */
17
22
  var GeneratorFunction;
18
23
 
24
+ /** @type {import('.')} */
19
25
  module.exports = function isGeneratorFunction(fn) {
20
26
  if (typeof fn !== 'function') {
21
27
  return false;
22
28
  }
23
- if (isFnRegex.test(fnToStr.call(fn))) {
29
+ if (isFnRegex(fnToStr(fn))) {
24
30
  return true;
25
31
  }
26
32
  if (!hasToStringTag) {
27
- var str = toStr.call(fn);
33
+ var str = toStr(fn);
28
34
  return str === '[object GeneratorFunction]';
29
35
  }
30
36
  if (!getProto) {
@@ -32,7 +38,10 @@ module.exports = function isGeneratorFunction(fn) {
32
38
  }
33
39
  if (typeof GeneratorFunction === 'undefined') {
34
40
  var generatorFunc = getGeneratorFunc();
35
- GeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;
41
+ GeneratorFunction = generatorFunc
42
+ // eslint-disable-next-line no-extra-parens
43
+ ? /** @type {GeneratorFunctionConstructor} */ (getProto(generatorFunc))
44
+ : false;
36
45
  }
37
46
  return getProto(fn) === GeneratorFunction;
38
47
  };