mnemonica 0.9.992 → 0.9.996

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 (81) hide show
  1. package/README.md +5 -1
  2. package/build/api/errors/exceptionConstructor.js +4 -2
  3. package/build/api/errors/index.d.ts +3 -1
  4. package/build/api/errors/index.js +1 -1
  5. package/build/api/errors/throwModificationError.js +3 -2
  6. package/build/api/hooks/flowCheckers.js +1 -1
  7. package/build/api/hooks/index.js +1 -1
  8. package/build/api/hooks/invokeHook.js +1 -1
  9. package/build/api/hooks/registerHook.js +1 -1
  10. package/build/api/index.js +1 -1
  11. package/build/api/types/InstanceCreator.d.ts +0 -1
  12. package/build/api/types/InstanceCreator.js +9 -12
  13. package/build/api/types/InstanceModificator.js +3 -3
  14. package/build/api/types/Mnemosyne.d.ts +1 -15
  15. package/build/api/types/Mnemosyne.js +90 -12
  16. package/build/api/types/Props.d.ts +43 -0
  17. package/build/api/types/Props.js +154 -0
  18. package/build/api/types/TypeProxy.js +6 -89
  19. package/build/api/types/compileNewModificatorFunctionBody.d.ts +1 -1
  20. package/build/api/types/compileNewModificatorFunctionBody.js +1 -1
  21. package/build/api/types/createInstanceModificator.d.ts +1 -1
  22. package/build/api/types/createInstanceModificator.js +8 -10
  23. package/build/api/types/index.js +5 -5
  24. package/build/api/types/obeyConstructor.js +4 -9
  25. package/build/api/utils/index.d.ts +1 -1
  26. package/build/api/utils/index.js +12 -8
  27. package/build/constants/index.d.ts +0 -1
  28. package/build/constants/index.js +1 -5
  29. package/build/descriptors/errors/index.js +1 -1
  30. package/build/descriptors/index.js +1 -1
  31. package/build/descriptors/types/index.js +1 -1
  32. package/build/index.d.ts +1 -0
  33. package/build/index.js +5 -2
  34. package/build/types/index.js +1 -1
  35. package/build/utils/collectConstructors.js +1 -1
  36. package/build/utils/defineStackCleaner.js +1 -1
  37. package/build/utils/extract.js +1 -5
  38. package/build/utils/hop.js +1 -1
  39. package/build/utils/index.js +1 -1
  40. package/build/utils/merge.js +1 -1
  41. package/build/utils/parent.js +5 -3
  42. package/build/utils/parse.js +1 -1
  43. package/build/utils/pick.js +1 -1
  44. package/build/utils/toJSON.js +1 -1
  45. package/package.json +12 -11
  46. package/build/api/errors/exceptionConstructor.js.map +0 -1
  47. package/build/api/errors/index.js.map +0 -1
  48. package/build/api/errors/throwModificationError.js.map +0 -1
  49. package/build/api/hooks/flowCheckers.js.map +0 -1
  50. package/build/api/hooks/index.js.map +0 -1
  51. package/build/api/hooks/invokeHook.js.map +0 -1
  52. package/build/api/hooks/registerHook.js.map +0 -1
  53. package/build/api/index.js.map +0 -1
  54. package/build/api/types/InstanceCreator.js.map +0 -1
  55. package/build/api/types/InstanceModificator.js.map +0 -1
  56. package/build/api/types/Mnemosyne.js.map +0 -1
  57. package/build/api/types/TypeProxy.js.map +0 -1
  58. package/build/api/types/addProps.d.ts +0 -1
  59. package/build/api/types/addProps.js +0 -64
  60. package/build/api/types/addProps.js.map +0 -1
  61. package/build/api/types/compileNewModificatorFunctionBody.js.map +0 -1
  62. package/build/api/types/createInstanceModificator.js.map +0 -1
  63. package/build/api/types/index.js.map +0 -1
  64. package/build/api/types/obeyConstructor.js.map +0 -1
  65. package/build/api/utils/index.js.map +0 -1
  66. package/build/constants/index.js.map +0 -1
  67. package/build/descriptors/errors/index.js.map +0 -1
  68. package/build/descriptors/index.js.map +0 -1
  69. package/build/descriptors/types/index.js.map +0 -1
  70. package/build/index.js.map +0 -1
  71. package/build/types/index.js.map +0 -1
  72. package/build/utils/collectConstructors.js.map +0 -1
  73. package/build/utils/defineStackCleaner.js.map +0 -1
  74. package/build/utils/extract.js.map +0 -1
  75. package/build/utils/hop.js.map +0 -1
  76. package/build/utils/index.js.map +0 -1
  77. package/build/utils/merge.js.map +0 -1
  78. package/build/utils/parent.js.map +0 -1
  79. package/build/utils/parse.js.map +0 -1
  80. package/build/utils/pick.js.map +0 -1
  81. package/build/utils/toJSON.js.map +0 -1
package/README.md CHANGED
@@ -492,7 +492,7 @@ And we wish to get reference to one of the prececessors, though we have only ref
492
492
  ```js
493
493
 
494
494
  // fisrst parent
495
- // simply equal to instance.__parent__
495
+ // simply equal to getProps(instance).__parent__
496
496
  const parent = instance.parent();
497
497
 
498
498
  // deep parent from chain
@@ -715,6 +715,10 @@ It is important: if we make `util.callbackify` from our instance async creation
715
715
 
716
716
  Also starting from `v0.3.8` the following non enumerable props are availiable from instance itself (`instance.hasOwnProperty(__prop__)`):
717
717
 
718
+ ## Breaking Changes for 0.9.995
719
+
720
+ ### all props below available from `getProps(instance)` :
721
+
718
722
  ## `.__args__`
719
723
 
720
724
  Arguments, used for calling instance creation constructor.
@@ -10,6 +10,7 @@ const { parse } = utils_1.utils;
10
10
  const utils_2 = require("../utils");
11
11
  const { makeFakeModificatorType } = utils_2.default;
12
12
  const InstanceModificator_1 = require("../types/InstanceModificator");
13
+ const Props_1 = require("../types/Props");
13
14
  const checkThrowArgs = (instance, target, error, args) => {
14
15
  let wrongThrow;
15
16
  if (!target) {
@@ -94,7 +95,8 @@ const exceptionConsctructHandler = function (opts) {
94
95
  const prepareException = function (target, error, ...args) {
95
96
  const instance = this;
96
97
  checkThrowArgs(instance, target, error, args);
97
- const { __type__, __creator__ } = instance;
98
+ const props = (0, Props_1._getProps)(instance);
99
+ const { __type__, __creator__ } = props;
98
100
  const { stack: typeStack, TypeName } = __type__;
99
101
  const ExceptionCreator = Object.create(__creator__);
100
102
  ExceptionCreator.config = Object.assign({}, __creator__.config);
@@ -113,4 +115,4 @@ const prepareException = function (target, error, ...args) {
113
115
  return new ExceptionCreator.InstanceModificator();
114
116
  };
115
117
  exports.default = prepareException;
116
- //# sourceMappingURL=exceptionConstructor.js.map
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uQ29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9leGNlcHRpb25Db25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBRWIsK0NBQTRDO0FBQzVDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxxQkFBUyxDQUFDO0FBRTFCLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixHQUFHLG9CQUFXLENBQUM7QUFFaEIsc0NBQW1EO0FBRW5ELHVDQUFvQztBQUNwQyxNQUFNLEVBQ0wsS0FBSyxFQUNMLEdBQUcsYUFBSyxDQUFDO0FBRVYsb0NBQWtDO0FBRWxDLE1BQU0sRUFDTCx1QkFBdUIsRUFDdkIsR0FBRyxlQUFVLENBQUM7QUFFZixzRUFBdUU7QUFFdkUsMENBQWtEO0FBRWxELE1BQU0sY0FBYyxHQUFHLENBQUUsUUFBYSxFQUFFLE1BQVcsRUFBRSxLQUFZLEVBQUUsSUFBVyxFQUFHLEVBQUU7SUFFbEYsSUFBSSxVQUFVLENBQUM7SUFXZixJQUFLLENBQUMsTUFBTSxFQUFHLENBQUM7UUFDZixNQUFNLElBQUkseUJBQXlCLENBQUUsMkNBQTJDLENBQUUsQ0FBQztJQUNwRixDQUFDO0lBRUQsSUFBSyxDQUFDLENBQUUsS0FBSyxZQUFZLEtBQUssQ0FBRSxFQUFHLENBQUM7UUFDbkMsVUFBVSxHQUFHLElBQUksb0JBQW9CLENBQUUsZ0NBQWdDLENBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsSUFBSyxDQUFDLENBQUUsVUFBVSxZQUFZLEtBQUssQ0FBRSxFQUFHLENBQUM7UUFDeEMsT0FBTztJQUNSLENBQUM7SUFFRCxHQUFHLENBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRTtRQUM1QixHQUFHO1lBQ0YsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQztLQUNELENBQUUsQ0FBQztJQUVKLEdBQUcsQ0FB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LEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUUsQ0FBQztJQUVoRCxNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsUUFBUSxDQUFVLENBQUM7SUFFM0MsTUFBTSxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxLQUFLLENBQUM7SUFHVixNQUFNLEVBQ0wsS0FBSyxFQUFFLFNBQVMsRUFDaEIsUUFBUSxFQUNSLEdBQUcsUUFBUSxDQUFDO0lBVWIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLFdBQVcsQ0FBRSxDQUFDO0lBQ3RELGdCQUFnQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFFLENBQUM7SUFDbEUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFFNUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRTFDLGdCQUFnQixDQUFDLGVBQWUsR0FBRyx1QkFBdUIsQ0FBRSxRQUFRLEVBQUU7UUFDckUsT0FBTywwQkFBMEIsQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFO1lBQzdDLFFBQVE7WUFDUixRQUFRO1lBQ1IsU0FBUztZQUNULElBQUk7WUFDSixLQUFLO1NBQ0wsQ0FBRSxDQUFDO0lBQ0wsQ0FBQyxDQUFFLENBQUM7SUFFSixnQkFBZ0IsQ0FBQyxtQkFBbUIsR0FBRyxJQUFBLDZDQUF1QixFQUFFLGdCQUFnQixDQUFFLENBQUM7SUFFbkYsT0FBTyxJQUFJLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUM7QUFDbkQsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5jb25zdCB7IG9kcCB9ID0gY29uc3RhbnRzO1xuXG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5jb25zdCB7XG5cdFdST05HX0FSR1VNRU5UU19VU0VELFxuXHRXUk9OR19JTlNUQU5DRV9JTlZPQ0FUSU9OXG59ID0gRXJyb3JzVHlwZXM7XG5cbmltcG9ydCB7IGNsZWFudXBTdGFjaywgZ2V0U3RhY2sgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmNvbnN0IHtcblx0cGFyc2Vcbn0gPSB1dGlscztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCB7XG5cdG1ha2VGYWtlTW9kaWZpY2F0b3JUeXBlXG59ID0gVHlwZXNVdGlscztcblxuaW1wb3J0IHsgbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IgfSBmcm9tICcuLi90eXBlcy9JbnN0YW5jZU1vZGlmaWNhdG9yJztcblxuaW1wb3J0IHsgX2dldFByb3BzLCBQcm9wcyB9IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcblxuY29uc3QgY2hlY2tUaHJvd0FyZ3MgPSAoIGluc3RhbmNlOiBhbnksIHRhcmdldDogYW55LCBlcnJvcjogRXJyb3IsIGFyZ3M6IGFueVtdICkgPT4ge1xuXG5cdGxldCB3cm9uZ1Rocm93O1xuXG5cdC8qIHVucmVhY2hlYmxlLCBjdXMgaW5zdGFuY2UgYm91bmQgaW5zaWRlIG9mIE1uZW1vc3luZVxuXHRpZiAoaW5zdGFuY2UgIT09IE9iamVjdChpbnN0YW5jZSkpIHtcblx0XHR3cm9uZ1Rocm93ID0gbmV3IFdST05HX0FSR1VNRU5UU19VU0VEKCdcInRoaXNcIiBtdXN0IGJlIGFuIG9iamVjdCcpO1xuXHR9XG5cdGlmIChpbnN0YW5jZS5jb25zdHJ1Y3RvcltTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdICE9PSBpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCgnXCJ0aGlzXCIgbXVzdCBiZSBhbiBvYmplY3QnKTtcblx0fVxuXHQqL1xuXG5cdGlmICggIXRhcmdldCApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTiggJ2V4Y2VwdGlvbiBzaG91bGQgYmUgbWFkZSB3aXRoIG5ldyBrZXl3b3JkJyApO1xuXHR9XG5cblx0aWYgKCAhKCBlcnJvciBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCggJ2Vycm9yIG11c3QgYmUgaW5zdGFuY2VvZiBFcnJvcicgKTtcblx0fVxuXG5cdGlmICggISggd3JvbmdUaHJvdyBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0b2RwKCB3cm9uZ1Rocm93LCAnaW5zdGFuY2UnLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBpbnN0YW5jZTtcblx0XHR9XG5cdH0gKTtcblxuXHRvZHAoIHdyb25nVGhyb3csICdlcnJvcicsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdH1cblx0fSApO1xuXG5cdG9kcCggd3JvbmdUaHJvdywgJ2FyZ3MnLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSApO1xuXG5cdHRocm93IHdyb25nVGhyb3c7XG5cbn07XG5cbmNvbnN0IGV4Y2VwdGlvbkNvbnNjdHJ1Y3RIYW5kbGVyID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIG9wdHM6IHsgWyBpbmRleDogc3RyaW5nIF06IGFueSB9ICkge1xuXG5cdGNvbnN0IHtcblx0XHRpbnN0YW5jZSxcblx0XHRUeXBlTmFtZSxcblx0XHR0eXBlU3RhY2ssXG5cdFx0YXJncyxcblx0XHRlcnJvclxuXHR9ID0gb3B0cztcblxuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRjb25zdCBleGNlcHRpb24gPSB0aGlzO1xuXG5cdG9kcCggZXhjZXB0aW9uLCAnYXJncycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIGFyZ3M7XG5cdFx0fVxuXHR9ICk7XG5cblx0b2RwKCBleGNlcHRpb24sICdvcmlnaW5hbEVycm9yJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZXJyb3I7XG5cdFx0fVxuXHR9ICk7XG5cblx0b2RwKCBleGNlcHRpb24sICdpbnN0YW5jZScsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdH1cblx0fSApO1xuXG5cdG9kcCggZXhjZXB0aW9uLCAnZXh0cmFjdCcsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0cmV0dXJuIGluc3RhbmNlLmV4dHJhY3QoKTtcblx0XHRcdH07XG5cdFx0fVxuXHR9ICk7XG5cblx0b2RwKCBleGNlcHRpb24sICdwYXJzZScsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0cmV0dXJuIHBhcnNlKCBpbnN0YW5jZSApO1xuXHRcdFx0fTtcblx0XHR9XG5cdH0gKTtcblxuXHQvLyByZWFsIGVycm9yIHN0YWNrXG5cdGNvbnN0IGVycm9yU3RhY2sgPSBleGNlcHRpb24uc3RhY2suc3BsaXQoICdcXG4nICk7XG5cblx0Y29uc3Qgc3RhY2s6IHN0cmluZ1tdID0gW107XG5cblx0Y29uc3QgdGl0bGUgPSBgXFxuPC0tIGxpZmVjeWNsZSBvZiBbICR7VHlwZU5hbWV9IF0gdHJhY2VkIC0tPmA7XG5cblx0Z2V0U3RhY2suY2FsbCggZXhjZXB0aW9uLCB0aXRsZSwgW10sIHByZXBhcmVFeGNlcHRpb24gKTtcblxuXHRzdGFjay5wdXNoKCAuLi5leGNlcHRpb24uc3RhY2sgKTtcblxuXHRzdGFjay5wdXNoKCAnPC0tIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvciAtLT4nICk7XG5cblx0ZXJyb3JTdGFjay5mb3JFYWNoKCAoIGxpbmU6IHN0cmluZyApID0+IHtcblx0XHRpZiAoICFzdGFjay5pbmNsdWRlcyggbGluZSApICkge1xuXHRcdFx0c3RhY2sucHVzaCggbGluZSApO1xuXHRcdH1cblx0fSApO1xuXG5cdHN0YWNrLnB1c2goICdcXG48LS0gb2YgY29uc3RydWN0b3IgZGVmaW5pdGlvbnMgc3RhY2sgLS0+JyApO1xuXHRzdGFjay5wdXNoKCAuLi50eXBlU3RhY2sgKTtcblxuXHRjb25zdCBleGNlcHRpb25TdGFjayA9IGNsZWFudXBTdGFjayggc3RhY2sgKS5qb2luKCAnXFxuJyApO1xuXG5cdG9kcCggZXhjZXB0aW9uLCAnc3RhY2snLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBleGNlcHRpb25TdGFjaztcblx0XHR9XG5cdH0pO1xuXG5cdHJldHVybiBleGNlcHRpb247XG5cblxufTtcblxuY29uc3QgcHJlcGFyZUV4Y2VwdGlvbiA9IGZ1bmN0aW9uICggdGhpczogYW55LCB0YXJnZXQ6IGFueSwgZXJyb3I6IEVycm9yLCAuLi5hcmdzOiBhbnlbXSApIHtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0Y29uc3QgaW5zdGFuY2UgPSB0aGlzO1xuXG5cdGNoZWNrVGhyb3dBcmdzKCBpbnN0YW5jZSwgdGFyZ2V0LCBlcnJvciwgYXJncyApO1xuXG5cdGNvbnN0IHByb3BzID0gX2dldFByb3BzKGluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRjb25zdCB7XG5cdFx0X190eXBlX18sXG5cdFx0X19jcmVhdG9yX19cblx0fSA9IHByb3BzO1xuXG5cblx0Y29uc3Qge1xuXHRcdHN0YWNrOiB0eXBlU3RhY2ssXG5cdFx0VHlwZU5hbWVcblx0fSA9IF9fdHlwZV9fO1xuXG5cdC8qIHNob3J0IHdheSwgbWFrZXMgaG9va3MgY2FsbHMsIHdpbGwgbm90IHVzZVxuXG5cdGNvbnN0IHR5cGUgPSBPYmplY3QuY3JlYXRlKF9fdHlwZV9fKTtcblx0dHlwZS5jb25maWcuYmxvY2tFcnJvcnMgPSBmYWxzZTtcblxuXHRsZXQgZXJyb3JlZCA9IG5ldyBJbnN0YW5jZUNyZWF0b3IodHlwZSwgZXJyb3IsIGFyZ3MpO1xuXHQqL1xuXG5cdGNvbnN0IEV4Y2VwdGlvbkNyZWF0b3IgPSBPYmplY3QuY3JlYXRlKCBfX2NyZWF0b3JfXyApO1xuXHRFeGNlcHRpb25DcmVhdG9yLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBfX2NyZWF0b3JfXy5jb25maWcgKTtcblx0RXhjZXB0aW9uQ3JlYXRvci5jb25maWcuYmxvY2tFcnJvcnMgPSBmYWxzZTtcblxuXHRFeGNlcHRpb25DcmVhdG9yLmV4aXN0ZW50SW5zdGFuY2UgPSBlcnJvcjtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuXHRFeGNlcHRpb25DcmVhdG9yLk1vZGlmaWNhdG9yVHlwZSA9IG1ha2VGYWtlTW9kaWZpY2F0b3JUeXBlKCBUeXBlTmFtZSwgZnVuY3Rpb24gKCB0aGlzOiB1bmtub3duICkge1xuXHRcdHJldHVybiBleGNlcHRpb25Db25zY3RydWN0SGFuZGxlci5jYWxsKCB0aGlzLCB7XG5cdFx0XHRpbnN0YW5jZSxcblx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0dHlwZVN0YWNrLFxuXHRcdFx0YXJncyxcblx0XHRcdGVycm9yXG5cdFx0fSApO1xuXHR9ICk7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5JbnN0YW5jZU1vZGlmaWNhdG9yID0gbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IoIEV4Y2VwdGlvbkNyZWF0b3IgKTtcblxuXHRyZXR1cm4gbmV3IEV4Y2VwdGlvbkNyZWF0b3IuSW5zdGFuY2VNb2RpZmljYXRvcigpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcHJlcGFyZUV4Y2VwdGlvbjtcbiJdfQ==
@@ -1,8 +1,9 @@
1
+ declare const SymbolConstructorName: symbol;
1
2
  export declare const stackCleaners: RegExp[];
2
3
  export declare const cleanupStack: (stack: string[]) => string[];
3
4
  export declare const getStack: (this: any, title: string, stackAddition: string[], tillFunction?: CallableFunction) => any;
4
5
  export declare class BASE_MNEMONICA_ERROR extends Error {
5
- static [x: symbol]: String;
6
+ static [SymbolConstructorName]: String;
6
7
  constructor(message: string | undefined, additionalStack: string[]);
7
8
  }
8
9
  export declare const constructError: (name: string, message: string) => {
@@ -10,3 +11,4 @@ export declare const constructError: (name: string, message: string) => {
10
11
  constructor: CallableFunction;
11
12
  };
12
13
  };
14
+ export {};
@@ -76,4 +76,4 @@ const constructError = (name, message) => {
76
76
  return reNamer[name];
77
77
  };
78
78
  exports.constructError = constructError;
79
- //# sourceMappingURL=index.js.map
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLCtDQUE0QztBQUU1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsYUFBYSxHQUNiLEdBQUcscUJBQVMsQ0FBQztBQUVkLE1BQU0sRUFDTCxrQkFBa0IsRUFDbEIsR0FBRyxhQUFhLENBQUM7QUFFTCxRQUFBLGFBQWEsR0FBYSxFQUFFLENBQUM7QUFFbkMsTUFBTSxZQUFZLEdBQUcsQ0FBRSxLQUFlLEVBQUcsRUFBRTtJQUNqRCxNQUFNLE9BQU8sR0FBYSxLQUFLLENBQUMsTUFBTSxDQUFFLENBQUUsR0FBYSxFQUFFLElBQVksRUFBRyxFQUFFO1FBQ3pFLHFCQUFhLENBQUMsT0FBTyxDQUFFLGFBQWEsQ0FBQyxFQUFFO1lBQ3RDLElBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxFQUFHLENBQUM7Z0JBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUM7WUFDbEIsQ0FBQztRQUNGLENBQUMsQ0FBRSxDQUFDO1FBQ0osT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUM7SUFDUixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQVZXLFFBQUEsWUFBWSxnQkFVdkI7QUFFSyxNQUFNLFFBQVEsR0FBRyxVQUFzQixLQUFhLEVBQUUsYUFBdUIsRUFBRSxZQUErQjtJQUVwSCxJQUFLLEtBQUssQ0FBQyxpQkFBaUIsRUFBRyxDQUFDO1FBQy9CLEtBQUssQ0FBQyxpQkFBaUIsQ0FBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLGdCQUFRLENBQUUsQ0FBQztJQUMzRCxDQUFD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QU8sQ0FBRSxJQUFJLENBQUUsQ0FBQztBQUN4QixDQUFDLENBQUM7QUF0QlcsUUFBQSxjQUFjLGtCQXNCekIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0RXJyb3JNZXNzYWdlcyxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHtcblx0QkFTRV9FUlJPUl9NRVNTQUdFXG59ID0gRXJyb3JNZXNzYWdlcztcblxuZXhwb3J0IGNvbnN0IHN0YWNrQ2xlYW5lcnM6IFJlZ0V4cFtdID0gW107XG5cbmV4cG9ydCBjb25zdCBjbGVhbnVwU3RhY2sgPSAoIHN0YWNrOiBzdHJpbmdbXSApID0+IHtcblx0Y29uc3QgY2xlYW5lZDogc3RyaW5nW10gPSBzdGFjay5yZWR1Y2UoICggYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdHN0YWNrQ2xlYW5lcnMuZm9yRWFjaCggY2xlYW5lclJlZ0V4cCA9PiB7XG5cdFx0XHRpZiAoICFjbGVhbmVyUmVnRXhwLnRlc3QoIGxpbmUgKSApIHtcblx0XHRcdFx0YXJyLnB1c2goIGxpbmUgKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdFx0cmV0dXJuIGFycjtcblx0fSwgW10gKTtcblx0cmV0dXJuIGNsZWFuZWQubGVuZ3RoID8gY2xlYW5lZCA6IHN0YWNrO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN0YWNrID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIHRpdGxlOiBzdHJpbmcsIHN0YWNrQWRkaXRpb246IHN0cmluZ1tdLCB0aWxsRnVuY3Rpb24/OiBDYWxsYWJsZUZ1bmN0aW9uICkge1xuXG5cdGlmICggRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UgKSB7XG5cdFx0RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoIHRoaXMsIHRpbGxGdW5jdGlvbiB8fCBnZXRTdGFjayApO1xuXHR9IGVsc2Uge1xuXHRcdHRoaXMuc3RhY2sgPSAoIG5ldyBFcnJvcigpICkuc3RhY2s7XG5cdH1cblxuXHR0aGlzLnN0YWNrID0gdGhpcy5zdGFjay5zcGxpdCggJ1xcbicgKS5zbGljZSggMSApO1xuXHR0aGlzLnN0YWNrID0gY2xlYW51cFN0YWNrKCB0aGlzLnN0YWNrICk7XG5cblx0dGhpcy5zdGFjay51bnNoaWZ0KCB0aXRsZSApO1xuXHRpZiAoIEFycmF5LmlzQXJyYXkoIHN0YWNrQWRkaXRpb24gKSAmJiBzdGFja0FkZGl0aW9uLmxlbmd0aCApIHtcblx0XHR0aGlzLnN0YWNrLnB1c2goIC4uLnN0YWNrQWRkaXRpb24gKTtcblx0fVxuXHR0aGlzLnN0YWNrLnB1c2goICdcXG4nICk7XG5cblx0cmV0dXJuIHRoaXMuc3RhY2s7XG5cbn07XG5cbmV4cG9ydCBjbGFzcyBCQVNFX01ORU1PTklDQV9FUlJPUiBleHRlbmRzIEVycm9yIHtcblxuXHRjb25zdHJ1Y3RvciAoIG1lc3NhZ2UgPSBCQVNFX0VSUk9SX01FU1NBR0UsIGFkZGl0aW9uYWxTdGFjazogc3RyaW5nW10gKSB7XG5cblx0XHRzdXBlciggbWVzc2FnZSApO1xuXHRcdGNvbnN0IEJhc2VTdGFjazogYW55ID0gdGhpcy5zdGFjaztcblx0XHRvZHAoIHRoaXMsICdCYXNlU3RhY2snLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gQmFzZVN0YWNrO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHRcdGNvbnN0IHN0YWNrID0gY2xlYW51cFN0YWNrKCBCYXNlU3RhY2suc3BsaXQoICdcXG4nICkgKTtcblxuXHRcdGlmICggYWRkaXRpb25hbFN0YWNrICkge1xuXHRcdFx0c3RhY2sudW5zaGlmdCggLi4uYWRkaXRpb25hbFN0YWNrICk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zdGFjayA9IHN0YWNrLmpvaW4oICdcXG4nICk7XG5cblx0fVxuXG5cdHN0YXRpYyBnZXQgWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSAoKSB7XG5cdFx0cmV0dXJuIG5ldyBTdHJpbmcoIGBiYXNlIG9mIDogJHtNTkVNT05JQ0F9IDogZXJyb3JzYCApO1xuXHR9XG5cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KCBCQVNFX01ORU1PTklDQV9FUlJPUi5wcm90b3R5cGUuY29uc3RydWN0b3IsICduYW1lJywge1xuXHRnZXQgKCkge1xuXHRcdHJldHVybiBuZXcgU3RyaW5nKCAnQkFTRV9NTkVNT05JQ0FfRVJST1InICk7XG5cdH1cbn0gKTtcblxuXG5leHBvcnQgY29uc3QgY29uc3RydWN0RXJyb3IgPSAoIG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBOYW1lZEVycm9yQ29uc3RydWN0b3IgPSBjbGFzcyBleHRlbmRzIEJBU0VfTU5FTU9OSUNBX0VSUk9SIHtcblx0XHRjb25zdHJ1Y3RvciAoIGFkZGl0aW9uOiBzdHJpbmcsIHN0YWNrOiBzdHJpbmdbXSApIHtcblx0XHRcdGNvbnN0IHNheWluZyA9IGFkZGl0aW9uID8gYCR7bWVzc2FnZX0gOiAke2FkZGl0aW9ufWAgOiBgJHttZXNzYWdlfWA7XG5cdFx0XHRzdXBlciggc2F5aW5nLCBzdGFjayApO1xuXHRcdH1cblx0fTtcblxuXHRjb25zdCByZU5hbWVyID0ge30gYXMge1xuXHRcdFsga2V5OiBzdHJpbmcgXToge1xuXHRcdFx0cHJvdG90eXBlOiB7XG5cdFx0XHRcdGNvbnN0cnVjdG9yOiBDYWxsYWJsZUZ1bmN0aW9uXG5cdFx0XHR9XG5cdFx0fSxcblx0fTtcblx0cmVOYW1lclsgbmFtZSBdID0gTmFtZWRFcnJvckNvbnN0cnVjdG9yO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoIHJlTmFtZXJbIG5hbWUgXS5wcm90b3R5cGUuY29uc3RydWN0b3IsICduYW1lJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gbmV3IFN0cmluZyggbmFtZSApO1xuXHRcdH1cblx0fSApO1xuXHRyZXR1cm4gcmVOYW1lclsgbmFtZSBdO1xufTtcbiJdfQ==
@@ -92,7 +92,8 @@ const throwModificationError = function (error) {
92
92
  odp(erroredInstance, 'extract', {
93
93
  get() {
94
94
  return () => {
95
- return erroredInstance.__self__.extract();
95
+ const parent = erroredInstance.parent();
96
+ return parent.extract();
96
97
  };
97
98
  }
98
99
  });
@@ -106,4 +107,4 @@ const throwModificationError = function (error) {
106
107
  throw erroredInstance;
107
108
  };
108
109
  exports.throwModificationError = throwModificationError;
109
- //# sourceMappingURL=throwModificationError.js.map
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dNb2RpZmljYXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXJyb3JzL3Rocm93TW9kaWZpY2F0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxtQkFBbUIsR0FFbkIsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBQ3ZELE1BQU0sRUFDTCxvQkFBb0IsRUFDcEIsR0FBRyxvQkFBVyxDQUFDO0FBRWhCLHlCQUE0QztBQUU1QyxvQ0FBa0M7QUFDbEMsTUFBTSxFQUNMLHVCQUF1QixFQUN2QixHQUFHLGVBQVUsQ0FBQztBQUVmLHVDQUFvQztBQUNwQyxNQUFNLEVBQ0wsS0FBSyxFQUNMLEdBQUcsYUFBSyxDQUFDO0FBRVYsc0VBQXVFO0FBRWhFLE1BQU0sc0JBQXNCLEdBQUcsVUFBc0IsS0FBVTtJQUlyRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQUUsRUFDTCxLQUFLLEVBQUUsU0FBUyxFQUNoQixFQUNELElBQUksRUFDSixHQUFHLElBQUksQ0FBQztJQU1ULE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO0lBRXZELElBQUssS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUcsQ0FBQztRQUUzQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUMsZUFBZSxDQUFFLENBQUM7UUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFFLENBQUM7UUFFNUIsTUFBTSxLQUFLLENBQUM7SUFFYixDQUFDO0lBRUQsR0FBRyxDQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtRQUM5QixHQUFHO1lBQ0YsT0FBTyxlQUFlLENBQUM7UUFDeEIsQ0FB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T0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO0tBQ0QsQ0FBRSxDQUFDO0lBRUosR0FBRyxDQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUU7UUFDakMsR0FBRztZQUNGLE9BQU8sZUFBZSxDQUFDO1FBQ3hCLENBQUM7S0FDRCxDQUFFLENBQUM7SUFFSixHQUFHLENBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRTtRQUNoQyxHQUFHO1lBQ0YsT0FBTyxHQUFHLEVBQUU7Z0JBQ1gsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN4QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUM7UUFDSCxDQUFDO0tBQ0QsQ0FBRSxDQUFDO0lBRUosR0FBRyxDQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUU7UUFDOUIsR0FBRztZQUNGLE9BQU8sR0FBRyxFQUFFO2dCQUNYLE9BQU8sS0FBSyxDQUFFLGVBQWUsQ0FBRSxDQUFDO1lBQ2pDLENBQUMsQ0FBQztRQUNILENBQUM7S0FDRCxDQUFFLENBQUM7SUFFSixNQUFNLGVBQWUsQ0FBQztBQUV2QixDQUFDLENBQUM7QUExSlcsUUFBQSxzQkFBc0IsMEJBMEpqQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xSZXBsYWNlVXJhbnVzLFxuXHQvLyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0QkFTRV9NTkVNT05JQ0FfRVJST1Jcbn0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IHsgY2xlYW51cFN0YWNrLCBnZXRTdGFjayB9IGZyb20gJy4vJztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRtYWtlRmFrZU1vZGlmaWNhdG9yVHlwZVxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRwYXJzZVxufSA9IHV0aWxzO1xuXG5pbXBvcnQgeyBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciB9IGZyb20gJy4uL3R5cGVzL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5leHBvcnQgY29uc3QgdGhyb3dNb2RpZmljYXRpb25FcnJvciA9IGZ1bmN0aW9uICggdGhpczogYW55LCBlcnJvcjogYW55ICkge1xuXG5cdC8vIEluc3RhbmNlQ3JlYXRvclxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0Y29uc3Qge1xuXHRcdFR5cGVOYW1lLFxuXHRcdHR5cGU6IHtcblx0XHRcdHN0YWNrOiB0eXBlU3RhY2tcblx0XHR9LFxuXHRcdGFyZ3Ncblx0fSA9IHNlbGY7XG5cblx0Ly8gaWYgKCBlcnJvclsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKSB7XG5cdC8vIFx0ZGVidWdnZXI7XG5cdC8vIH1cblxuXHRjb25zdCBleGNlcHRpb25SZWFzb24gPSBlcnJvci5leGNlcHRpb25SZWFzb24gfHwgZXJyb3I7XG5cblx0aWYgKCBlcnJvci5leGNlcHRpb25SZWFzb24gIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdGVycm9yLnJlYXNvbnMucHVzaCggZXJyb3IuZXhjZXB0aW9uUmVhc29uICk7XG5cdFx0ZXJyb3Iuc3VycGx1cy5wdXNoKCBlcnJvciApO1xuXG5cdFx0dGhyb3cgZXJyb3I7XG5cblx0fVxuXG5cdG9kcCggZXJyb3IsICdleGNlcHRpb25SZWFzb24nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBleGNlcHRpb25SZWFzb247XG5cdFx0fSxcblx0XHRlbnVtZXJhYmxlIDogdHJ1ZVxuXHR9ICk7XG5cblx0Y29uc3QgcmVhc29uczogYW55WyB0eXBlb2YgZXhjZXB0aW9uUmVhc29uIF0gPSBbIGV4Y2VwdGlvblJlYXNvbiBdO1xuXG5cdG9kcCggZXJyb3IsICdyZWFzb25zJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gcmVhc29ucztcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gKTtcblx0Y29uc3Qgc3VycGx1czogYW55WyB0eXBlb2YgZXhjZXB0aW9uUmVhc29uIF0gPSBbXTtcblx0b2RwKCBlcnJvciwgJ3N1cnBsdXMnLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBzdXJwbHVzO1xuXHRcdH0sXG5cdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0fSApO1xuXG5cdHNlbGYuTW9kaWZpY2F0b3JUeXBlID0gbWFrZUZha2VNb2RpZmljYXRvclR5cGUoIFR5cGVOYW1lICk7XG5cblx0c2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yID0gbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IoIHNlbGYgKTtcblxuXHQvLyBDb25zdHJ1Y3RvciBJbnZvY2F0aW9uIEl0c2VsZlxuXHRjb25zdCBlcnJvcmVkSW5zdGFuY2UgPSBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCk7XG5cblx0ZXJyb3JlZEluc3RhbmNlWyBTeW1ib2xSZXBsYWNlVXJhbnVzIF0oIGVycm9yICk7XG5cblx0Y29uc3Qgc3RhY2s6IHN0cmluZ1tdID0gW107XG5cblx0aWYgKCBlcnJvciBpbnN0YW5jZW9mIEJBU0VfTU5FTU9OSUNBX0VSUk9SICkge1xuXG5cdFx0c3RhY2sucHVzaCggZXJyb3Iuc3RhY2sgKTtcblxuXHR9IGVsc2Uge1xuXG5cdFx0Y29uc3QgdGl0bGUgPSBgXFxuPC0tIGNyZWF0aW9uIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblxuXHRcdGdldFN0YWNrLmNhbGwoIGVycm9yZWRJbnN0YW5jZSwgdGl0bGUsIFtdLCB0aHJvd01vZGlmaWNhdGlvbkVycm9yICk7XG5cblx0XHRzdGFjay5wdXNoKCAuLi5lcnJvcmVkSW5zdGFuY2Uuc3RhY2sgKTtcblxuXHRcdGNvbnN0IGVycm9yU3RhY2sgPSBlcnJvci5zdGFjay5zcGxpdCggJ1xcbicgKTtcblxuXHRcdHN0YWNrLnB1c2goICc8LS0gd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yIC0tPicgKTtcblxuXHRcdGVycm9yU3RhY2suZm9yRWFjaCggKCBsaW5lOiBzdHJpbmcgKSA9PiB7XG5cdFx0XHRpZiAoICFzdGFjay5pbmNsdWRlcyggbGluZSApICkge1xuXHRcdFx0XHRzdGFjay5wdXNoKCBsaW5lICk7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdFx0c3RhY2sucHVzaCggJ1xcbjwtLSBvZiBjb25zdHJ1Y3RvciBkZWZpbml0aW9ucyBzdGFjayAtLT4nICk7XG5cdFx0c3RhY2sucHVzaCggLi4udHlwZVN0YWNrICk7XG5cblx0fVxuXG5cdGNvbnN0IGVycm9yZWRJbnN0YW5jZVN0YWNrID0gY2xlYW51cFN0YWNrKCBzdGFjayApLmpvaW4oICdcXG4nICk7XG5cblx0Ly8gc3RhcnRpbmcgZnJvbSBOb2RlLmpzIHYyMiB3ZSBzaG91bGQgZGVmaW5lIHRoaXMgcHJvcGVydHkgdGhyb3VnaCBvZHBcblx0Ly8gdGhhdCB3YXMgdW5uZWNlc3NhcnkgZm9yIHYyMCwgdGhvdWdoIHNlZW1zIG5ldyB2OCBvcHRpbWl6ZWQgY29tcGlsZXJcblx0Ly8gaXMgZ2F0aGVyaW5nIHZhbHVlIGZyb20gZGVlcCBjaGFpbiBhbmQgd2hpbGUgY29tcGFyaW5nIGl0IHdpdGggXG5cdC8vIGFzc2lnbm1lbnQgb3BlcmF0b3IsIHRoZW4gaXQgd2lsbCBub3QgY3JlYXRlIHRoaXMgcHJvcGVydHkgXG5cdC8vIHNvIHdlIG5lZWQgZGlyZWN0IHByb3BlcnR5IGRlY2xhcmF0aW9uIGhlcmUgLi4uXG5cdG9kcCggZXJyb3JlZEluc3RhbmNlLCAnc3RhY2snLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2VTdGFjaztcblx0XHR9XG5cdH0gKTtcblxuXHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gZXJyb3JlZEluc3RhbmNlO1xuXG5cdC8vIGlmIGhvb2tzIGhhZCBzb21lIGludGVyY2VwdGlvbjogc3RhcnRcblx0Y29uc3QgcmVzdWx0cyA9IHNlbGYuaW52b2tlUG9zdEhvb2tzKCk7XG5cdGNvbnN0IHtcblx0XHR0eXBlLFxuXHRcdGNvbGxlY3Rpb24sXG5cdH0gPSByZXN1bHRzO1xuXG5cdGlmICggdHlwZS5oYXMoIHRydWUgKSB8fCBjb2xsZWN0aW9uLmhhcyggdHJ1ZSApICkge1xuXHRcdHJldHVybjtcblx0fVxuXHQvLyBpZiBob29rcyBoYWQgc29tZSBpbnRlcmNlcHRpb246IHN0b3BcblxuXHRvZHAoIGVycm9yZWRJbnN0YW5jZSwgJ2FyZ3MnLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSApO1xuXG5cdG9kcCggZXJyb3JlZEluc3RhbmNlLCAnb3JpZ2luYWxFcnJvcicsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdH1cblx0fSApO1xuXG5cdG9kcCggZXJyb3JlZEluc3RhbmNlLCAnaW5zdGFuY2UnLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2U7XG5cdFx0fVxuXHR9ICk7XG5cblx0b2RwKCBlcnJvcmVkSW5zdGFuY2UsICdleHRyYWN0Jywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBwYXJlbnQgPSBlcnJvcmVkSW5zdGFuY2UucGFyZW50KCk7XG5cdFx0XHRcdHJldHVybiBwYXJlbnQuZXh0cmFjdCgpO1xuXHRcdFx0fTtcblx0XHR9XG5cdH0gKTtcblxuXHRvZHAoIGVycm9yZWRJbnN0YW5jZSwgJ3BhcnNlJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gcGFyc2UoIGVycm9yZWRJbnN0YW5jZSApO1xuXHRcdFx0fTtcblx0XHR9XG5cdH0gKTtcblxuXHR0aHJvdyBlcnJvcmVkSW5zdGFuY2U7XG5cbn07XG4iXX0=
@@ -14,4 +14,4 @@ const registerFlowChecker = function (cb) {
14
14
  exports.flowCheckers.set(this, cb);
15
15
  };
16
16
  exports.registerFlowChecker = registerFlowChecker;
17
- //# sourceMappingURL=flowCheckers.js.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd0NoZWNrZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ob29rcy9mbG93Q2hlY2tlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixxREFBdUQ7QUFDdkQsTUFBTSxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsR0FDekIsR0FBRyxvQkFBVyxDQUFDO0FBRUgsUUFBQSxZQUFZLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNuQyxNQUFNLG1CQUFtQixHQUFHLFVBQXFCLEVBQWlCO0lBRXhFLElBQUssT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFHLENBQUM7UUFDaEMsTUFBTSxJQUFJLHlCQUF5QixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFLLG9CQUFZLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBRSxFQUFHLENBQUM7UUFDaEMsTUFBTSxJQUFJLHlCQUF5QixDQUFDO0lBQ3JDLENBQUM7SUFFRCxvQkFBWSxDQUFDLEdBQUcsQ0FBRSxJQUFJLEVBQUUsRUFBRSxDQUFFLENBQUM7QUFFOUIsQ0FBQyxDQUFDO0FBWlcsUUFBQSxtQkFBbUIsdUJBWTlCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5jb25zdCB7XG5cdE1JU1NJTkdfQ0FMTEJBQ0tfQVJHVU1FTlQsXG5cdEZMT1dfQ0hFQ0tFUl9SRURFRklOSVRJT04sXG59ID0gRXJyb3JzVHlwZXM7XG5cbmV4cG9ydCBjb25zdCBmbG93Q2hlY2tlcnMgPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyRmxvd0NoZWNrZXIgPSBmdW5jdGlvbiAodGhpczogYW55LCBjYjogKCkgPT4gdW5rbm93biApIHtcblxuXHRpZiAoIHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJyApIHtcblx0XHR0aHJvdyBuZXcgTUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVDtcblx0fVxuXG5cdGlmICggZmxvd0NoZWNrZXJzLmhhcyggdGhpcyApICkge1xuXHRcdHRocm93IG5ldyBGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OO1xuXHR9XG5cblx0Zmxvd0NoZWNrZXJzLnNldCggdGhpcywgY2IgKTtcblxufTtcbiJdfQ==
@@ -7,4 +7,4 @@ var registerHook_1 = require("./registerHook");
7
7
  Object.defineProperty(exports, "registerHook", { enumerable: true, get: function () { return registerHook_1.registerHook; } });
8
8
  var flowCheckers_1 = require("./flowCheckers");
9
9
  Object.defineProperty(exports, "registerFlowChecker", { enumerable: true, get: function () { return flowCheckers_1.registerFlowChecker; } });
10
- //# sourceMappingURL=index.js.map
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2hvb2tzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQiwrQ0FBOEM7QUFBckMsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLCtDQUFxRDtBQUE1QyxtSEFBQSxtQkFBbUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IHsgaW52b2tlSG9vayB9IGZyb20gJy4vaW52b2tlSG9vayc7XG5leHBvcnQgeyByZWdpc3Rlckhvb2sgfSBmcm9tICcuL3JlZ2lzdGVySG9vayc7XG5leHBvcnQgeyByZWdpc3RlckZsb3dDaGVja2VyIH0gZnJvbSAnLi9mbG93Q2hlY2tlcnMnO1xuXG4iXX0=
@@ -42,4 +42,4 @@ const invokeHook = function (hookType, opts) {
42
42
  return invocationResults;
43
43
  };
44
44
  exports.invokeHook = invokeHook;
45
- //# sourceMappingURL=invokeHook.js.map
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2tlSG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaG9va3MvaW52b2tlSG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLCtDQUE0QztBQUM1QyxNQUFNLEVBQ0wsU0FBUyxHQUNULEdBQUcscUJBQVMsQ0FBQztBQUVkLGlEQUE4QztBQUU5Qyx5Q0FBc0M7QUFFL0IsTUFBTSxVQUFVLEdBQUcsVUFBc0IsUUFBZ0IsRUFBRSxJQUFnQztJQUVqRyxNQUFNLEVBQ0wsSUFBSSxFQUNKLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsSUFBSSxFQUVKLE9BQU8sRUFDUCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUdwQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsSUFBSyxJQUFBLFNBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBRSxFQUFHLENBQUM7UUFLbkMsTUFBTSxFQUNMLFFBQVEsR0FFUixHQUFHLElBQUksQ0FBQztRQUVULE1BQU0sUUFBUSxHQUFHO1lBQ2hCLElBQUk7WUFDSixRQUFRO1lBQ1IsZ0JBQWdCLEVBQUcsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDeEIsSUFBSTtTQUNKLENBQUM7UUFFRixJQUFLLE9BQU8saUJBQWlCLEtBQUssUUFBUSxFQUFHLENBQUM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBRSxRQUFRLEVBQUU7Z0JBQ3hCLGlCQUFpQjtnQkFDakIsc0JBQXNCLENBQUcsS0FBWTtvQkFDcEMsT0FBTyxDQUFDLHNCQUFzQixDQUFFLEtBQUssQ0FBRSxDQUFDO2dCQUN6QyxDQUFDO2FBQ0QsQ0FBRSxDQUFDO1FBQ0wsQ0FBQztRQUdELElBQUksQ0FBQyxLQUFLLENBQUUsUUFBUSxDQUFFLENBQUMsT0FBTyxDQUFFLENBQUUsSUFBNEQsRUFBRyxFQUFFO1lBQ2xHLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBRSxDQUFDO1lBQzNDLGlCQUFpQixDQUFDLEdBQUcsQ0FBRSxNQUFNLENBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUUsQ0FBQztRQUVKLE1BQU0sV0FBVyxHQUFHLDJCQUFZLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBRSxDQUFDO1FBQzdDLElBQUssT0FBTyxXQUFXLEtBQUssVUFBVSxFQUFHLENBQUM7WUFDekMsV0FBVztpQkFDVCxJQUFJLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUUsRUFBRSxFQUFFO2dCQUMvQixpQkFBaUI7Z0JBQ2pCLFFBQVE7YUFDUixFQUFFLFFBQVEsQ0FBRSxDQUFFLENBQUM7UUFDbEIsQ0FBQztJQUVGLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBRTFCLENBQUMsQ0FBQztBQTlEVyxRQUFBLFVBQVUsY0E4RHJCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRNTkVNT05JQ0EsXG59ID0gY29uc3RhbnRzO1xuXG5pbXBvcnQgeyBmbG93Q2hlY2tlcnMgfSBmcm9tICcuL2Zsb3dDaGVja2Vycyc7XG5cbmltcG9ydCB7IGhvcCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvcCc7XG5cbmV4cG9ydCBjb25zdCBpbnZva2VIb29rID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIGhvb2tUeXBlOiBzdHJpbmcsIG9wdHM6IHsgWyBpbmRleDogc3RyaW5nIF06IGFueSB9ICkge1xuXG5cdGNvbnN0IHtcblx0XHR0eXBlLFxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0aW5oZXJpdGVkSW5zdGFuY2UsXG5cdFx0YXJncyxcblx0XHQvLyBJbnN0YW5jZU1vZGlmaWNhdG9yLFxuXHRcdGNyZWF0b3Jcblx0fSA9IG9wdHM7XG5cblx0Y29uc3QgaW52b2NhdGlvblJlc3VsdHMgPSBuZXcgU2V0KCk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGlmICggaG9wKCBzZWxmLmhvb2tzLCBob29rVHlwZSApICkge1xuXG5cdFx0Ly8gXCJ0aGlzXCIgcmVmZXJlcyB0b1xuXHRcdC8vIHR5cGUsIGlmIGNhbGxlZCBmcm9tIHR5cGVzXG5cblx0XHRjb25zdCB7XG5cdFx0XHRUeXBlTmFtZSxcblx0XHRcdC8vIHBhcmVudFR5cGUsXG5cdFx0fSA9IHR5cGU7XG5cblx0XHRjb25zdCBob29rQXJncyA9IHtcblx0XHRcdHR5cGUsXG5cdFx0XHRUeXBlTmFtZSxcblx0XHRcdGV4aXN0ZW50SW5zdGFuY2UgOiBleGlzdGVudEluc3RhbmNlLmNvbnN0cnVjdG9yLm5hbWUgPT09IE1ORU1PTklDQSA/XG5cdFx0XHRcdG51bGwgOiBleGlzdGVudEluc3RhbmNlLFxuXHRcdFx0YXJncyxcblx0XHR9O1xuXG5cdFx0aWYgKCB0eXBlb2YgaW5oZXJpdGVkSW5zdGFuY2UgPT09ICdvYmplY3QnICkge1xuXHRcdFx0T2JqZWN0LmFzc2lnbiggaG9va0FyZ3MsIHtcblx0XHRcdFx0aW5oZXJpdGVkSW5zdGFuY2UsXG5cdFx0XHRcdHRocm93TW9kaWZpY2F0aW9uRXJyb3IgKCBlcnJvcjogRXJyb3IgKSB7XG5cdFx0XHRcdFx0Y3JlYXRvci50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuXHRcdHRoaXMuaG9va3NbIGhvb2tUeXBlIF0uZm9yRWFjaCggKCBob29rOiAoIHRoaXM6IHVua25vd24sIGhvb2tQYXJhbXM6IHR5cGVvZiBob29rQXJncyApID0+IHZvaWQgKSA9PiB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBob29rLmNhbGwoIHNlbGYsIGhvb2tBcmdzICk7XG5cdFx0XHRpbnZvY2F0aW9uUmVzdWx0cy5hZGQoIHJlc3VsdCApO1xuXHRcdH0gKTtcblxuXHRcdGNvbnN0IGZsb3dDaGVja2VyID0gZmxvd0NoZWNrZXJzLmdldCggdGhpcyApO1xuXHRcdGlmICggdHlwZW9mIGZsb3dDaGVja2VyID09PSAnZnVuY3Rpb24nICkge1xuXHRcdFx0Zmxvd0NoZWNrZXJcblx0XHRcdFx0LmNhbGwoIHRoaXMsIE9iamVjdC5hc3NpZ24oIHt9LCB7XG5cdFx0XHRcdFx0aW52b2NhdGlvblJlc3VsdHMsXG5cdFx0XHRcdFx0aG9va1R5cGUsXG5cdFx0XHRcdH0sIGhvb2tBcmdzICkgKTtcblx0XHR9XG5cblx0fVxuXG5cdHJldHVybiBpbnZvY2F0aW9uUmVzdWx0cztcblxufTtcbiJdfQ==
@@ -23,4 +23,4 @@ const registerHook = function (hookType, cb) {
23
23
  }
24
24
  };
25
25
  exports.registerHook = registerHook;
26
- //# sourceMappingURL=registerHook.js.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ob29rcy9yZWdpc3Rlckhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixxREFBdUQ7QUFDdkQsTUFBTSxFQUNMLGVBQWUsRUFDZixxQkFBcUIsR0FDckIsR0FBRyxvQkFBVyxDQUFDO0FBRWhCLE1BQU0sVUFBVSxHQUFHO0lBQ2xCLGFBQWE7SUFDYixjQUFjO0lBQ2QsZUFBZTtDQUNmLENBQUM7QUFFSyxNQUFNLFlBQVksR0FBRyxVQUFzQixRQUFnQixFQUFFLEVBQW9CO0lBRXZGLElBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFFLFFBQVEsQ0FBRSxFQUFHLENBQUM7UUFDeEMsTUFBTSxJQUFJLGVBQWUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSyxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUcsQ0FBQztRQUNoQyxNQUFNLElBQUkscUJBQXFCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFFLFFBQVEsQ0FBRSxFQUFHLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBRSxRQUFRLENBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBRSxDQUFFLEVBQUUsQ0FBRSxDQUFFLENBQUM7SUFDNUMsQ0FBQztTQUFNLENBQUM7UUFDUCxJQUFJLENBQUMsS0FBSyxDQUFFLFFBQVEsQ0FBRSxDQUFDLEdBQUcsQ0FBRSxFQUFFLENBQUUsQ0FBQztJQUNsQyxDQUFDO0FBRUYsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsWUFBWSxnQkFnQnZCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5jb25zdCB7XG5cdFdST05HX0hPT0tfVFlQRSxcblx0TUlTU0lOR19IT09LX0NBTExCQUNLLFxufSA9IEVycm9yc1R5cGVzO1xuXG5jb25zdCBob29rc1R5cGVzID0gW1xuXHQncHJlQ3JlYXRpb24nLFxuXHQncG9zdENyZWF0aW9uJyxcblx0J2NyZWF0aW9uRXJyb3InLFxuXTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVySG9vayA9IGZ1bmN0aW9uICggdGhpczogYW55LCBob29rVHlwZTogc3RyaW5nLCBjYjogQ2FsbGFibGVGdW5jdGlvbiApIHtcblxuXHRpZiAoICFob29rc1R5cGVzLmluY2x1ZGVzKCBob29rVHlwZSApICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19IT09LX1RZUEU7XG5cdH1cblxuXHRpZiAoIHR5cGVvZiBjYiAhPT0gJ2Z1bmN0aW9uJyApIHtcblx0XHR0aHJvdyBuZXcgTUlTU0lOR19IT09LX0NBTExCQUNLO1xuXHR9XG5cblx0aWYgKCAhdGhpcy5ob29rc1sgaG9va1R5cGUgXSApIHtcblx0XHR0aGlzLmhvb2tzWyBob29rVHlwZSBdID0gbmV3IFNldCggWyBjYiBdICk7XG5cdH0gZWxzZSB7XG5cdFx0dGhpcy5ob29rc1sgaG9va1R5cGUgXS5hZGQoIGNiICk7XG5cdH1cblxufTtcbiJdfQ==
@@ -13,4 +13,4 @@ exports.types = {
13
13
  define: types_1.define,
14
14
  lookup: types_1.lookup,
15
15
  };
16
- //# sourceMappingURL=index.js.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBVWIsbUNBSWlCO0FBQ2pCLG1DQUdpQjtBQUVqQixxQ0FBbUM7QUFFdEIsUUFBQSxLQUFLLEdBQUc7SUFDcEIsVUFBVSxFQUFWLGtCQUFVO0lBQ1YsWUFBWSxFQUFaLG9CQUFZO0lBQ1osbUJBQW1CLEVBQW5CLDJCQUFtQjtDQUNuQixDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDcEIsTUFBTSxFQUFOLGNBQU07SUFDTixNQUFNLEVBQU4sY0FBTTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIFRPRE8gOlxuXG4vLyBldmVudHNcbi8vIGhhbmRsZXJzXG4vLyBoZWxwZXJzXG4vLyBsb2FkZXJzXG4vLyB0cmFuc2Zvcm1zXG5cbmltcG9ydCB7XG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVySG9vayxcblx0cmVnaXN0ZXJGbG93Q2hlY2tlcixcbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCAqIGFzIGVycm9ycyBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBob29rcyA9IHtcblx0aW52b2tlSG9vayxcblx0cmVnaXN0ZXJIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufTtcblxuZXhwb3J0IGNvbnN0IHR5cGVzID0ge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn07XG4iXX0=
@@ -3,7 +3,6 @@ declare const InstanceCreatorPrototype: {
3
3
  getExistentAsyncStack: (existentInstance: import("../utils").asyncStack) => unknown;
4
4
  postProcessing: (this: any, continuationOf: any) => void;
5
5
  makeAwaiter: (this: any, type: any, then: any) => any;
6
- addProps: (this: any) => any;
7
6
  addThen: (this: any, then: any) => void;
8
7
  invokePreHooks: (this: any) => void;
9
8
  invokePostHooks: (this: any) => {
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InstanceCreator = void 0;
4
4
  const constants_1 = require("../../constants");
5
- const { odp, SymbolConstructorName, defaultOptions: { ModificationConstructor: defaultMC } } = constants_1.constants;
5
+ const { odp, SymbolConstructorName } = constants_1.constants;
6
6
  const errors_1 = require("../../descriptors/errors");
7
7
  const { WRONG_MODIFICATION_PATTERN, } = errors_1.ErrorsTypes;
8
8
  const utils_1 = require("../utils");
9
9
  const { getExistentAsyncStack, makeFakeModificatorType, } = utils_1.default;
10
10
  const errors_2 = require("../errors");
11
11
  const throwModificationError_1 = require("../errors/throwModificationError");
12
- const addProps_1 = require("./addProps");
12
+ const Props_1 = require("./Props");
13
13
  const InstanceModificator_1 = require("./InstanceModificator");
14
14
  const obeyConstructor_1 = require("./obeyConstructor");
15
15
  const invokePreHooks = function () {
@@ -27,7 +27,8 @@ const invokePreHooks = function () {
27
27
  const invokePostHooks = function () {
28
28
  const creator = this;
29
29
  const { inheritedInstance, } = creator;
30
- const { __type__: type, __parent__: existentInstance, __args__: args, } = inheritedInstance;
30
+ const props = (0, Props_1._getProps)(inheritedInstance);
31
+ const { __type__: type, __parent__: existentInstance, __args__: args, } = props;
31
32
  const { collection, } = type;
32
33
  const hookType = inheritedInstance instanceof Error ?
33
34
  'creationError' : 'postCreation';
@@ -59,11 +60,7 @@ const postProcessing = function (continuationOf) {
59
60
  const msg = `should inherit from ${continuationOf.TypeName} but got ${icn}`;
60
61
  self.throwModificationError(new WRONG_MODIFICATION_PATTERN(msg, stack));
61
62
  }
62
- odp(self.inheritedInstance, '__self__', {
63
- get() {
64
- return self.inheritedInstance;
65
- }
66
- });
63
+ (0, Props_1._setSelf)(self.inheritedInstance);
67
64
  self.invokePostHooks();
68
65
  };
69
66
  const addThen = function (then) {
@@ -94,7 +91,8 @@ const makeAwaiter = function (type, then) {
94
91
  throw new WRONG_MODIFICATION_PATTERN(msg, self.stack);
95
92
  }
96
93
  self.inheritedInstance = instance;
97
- if (self.inheritedInstance.__self__ !== self.inheritedInstance) {
94
+ const props = (0, Props_1._getProps)(self.inheritedInstance);
95
+ if (props.__self__ !== self.inheritedInstance) {
98
96
  self.postProcessing(type);
99
97
  }
100
98
  return self.inheritedInstance;
@@ -126,7 +124,6 @@ const InstanceCreatorPrototype = {
126
124
  getExistentAsyncStack,
127
125
  postProcessing,
128
126
  makeAwaiter,
129
- addProps: addProps_1.addProps,
130
127
  addThen,
131
128
  invokePreHooks,
132
129
  invokePostHooks,
@@ -135,7 +132,7 @@ const InstanceCreatorPrototype = {
135
132
  exports.InstanceCreator = function (type, existentInstance, args, chained) {
136
133
  const { constructHandler, proto, config, TypeName } = type;
137
134
  const { ModificationConstructor, blockErrors, submitStack } = config;
138
- const mc = ModificationConstructor(obeyConstructor_1.obey, defaultMC);
135
+ const mc = ModificationConstructor(obeyConstructor_1.obey);
139
136
  const self = this;
140
137
  const ModificatorType = constructHandler();
141
138
  Object.assign(self, {
@@ -193,4 +190,4 @@ exports.InstanceCreator = function (type, existentInstance, args, chained) {
193
190
  return self.inheritedInstance;
194
191
  };
195
192
  Object.assign(exports.InstanceCreator.prototype, InstanceCreatorPrototype);
196
- //# sourceMappingURL=InstanceCreator.js.map
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFuY2VDcmVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9JbnN0YW5jZUNyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7QUFJYiwrQ0FFeUI7QUFFekIsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBQ3ZELE1BQU0sRUFDTCwwQkFBMEIsR0FDMUIsR0FBRyxvQkFBVyxDQUFDO0FBRWhCLG9DQUFrQztBQUNsQyxNQUFNLEVBQ0wscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUN2QixHQUFHLGVBQVUsQ0FBQztBQUVmLHNDQUFxQztBQUNyQyw2RUFBMEU7QUFFMUUsbUNBQXFEO0FBRXJELCtEQUFnRTtBQUVoRSx1REFBeUM7QUFFekMsTUFBTSxjQUFjLEdBQUc7SUFFdEIsTUFBTSxFQUNMLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCxVQUFVLEdBQ1YsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLFFBQVEsR0FBRztRQUNoQixJQUFJO1FBQ0osZ0JBQWdCO1FBQ2hCLElBQUk7UUFDSixtQkFBbUI7S0FDbkIsQ0FBQztJQUVGLFVBQVUsQ0FBQyxVQUFVLENBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0lBRWpELElBQUksQ0FBQyxVQUFVLENBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBRSxDQUFDO0FBRTVDLENBQUMsQ0FBQztBQUdGLE1BQU0sZUFBZSxHQUFHO0lBR3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztJQUNyQixNQUFNLEVBQ0wsaUJBQWlCLEdBQ2pCLEdBQUcsT0FBTyxDQUFDO0lBRVosTUFBTSxLQUFLLEdBQUcsSUFBQSxpQkFBUyxFQUFDLGlCQUFpQixDQUFVLENBQUM7SUFFcEQsTUFBTSxFQUNMLFFBQVEsRUFBRSxJQUFJLEVBQ2QsVUFBVSxFQUFFLGdCQUFnQixFQUM1QixRQUFRLEVBQUUsSUFBSSxHQUNkLEdBQUcsS0FBSyxDQUFDO0lBRVYsTUFBTSxFQUNMLFVBQVUsR0FDVixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sUUFBUSxHQUFHLGlCQUFpQixZQUFZLEtBQUssQ0FBQyxDQUFDO1FBQ3BELGVBQWUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHO1FBQ2hCLElBQUk7UUFDSixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLElBQUk7UUFDSixPQUFPO0tBQ1AsQ0FBQztJQUVGLE9BQU87UUFFTixJQUFJLEVBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBRSxRQUFRLEVBQUUsUUFBUSxDQUFFO1FBRTVDLFVBQVUsRUFBRyxVQUFVLENBQUMsVUFBVSxDQUFFLFFBQVEsRUFBRSxRQUFRLENBQUU7S0FFeEQsQ0FBQztBQUVILENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLFVBQXNCLGNBQW1CO0lBRy9ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztJQUNsQixNQUFNLEVBQ0wsS0FBSyxHQUNMLEdBQUcsSUFBSSxDQUFDO0lBRVQsSUFBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUcsQ0FBQztRQUMzQyxNQUFNLEdBQUcsR0FBRyx3Q0FBd0MsQ0FBQztRQUNyRCxJQUFJLENBQUMsc0JBQXNCLENBQUUsSUFBSSwwQkFBMEIsQ0FBRSxHQUFHLEVBQUUsS0FBSyxDQUFFLENBQUUsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUUscUJBQXFCLENBQUUsRUFBRyxDQUFDO1FBQ3BFLE1BQU0sR0FBRyxHQUFHLHdDQUF3QyxDQUFDO1FBQ3JELElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxJQUFJLDBCQUEwQixDQUFFLEdBQUcsRUFBRSxLQUFLLENBQUUsQ0FBRSxDQUFDO0lBQzdFLENBQUM7SUFFRCxJQUFLLGNBQWMsSUFBSSxDQUFDLENBQUUsSUFBSSxDQUFDLGlCQUFpQixZQUFZLGNBQWMsQ0FBRSxFQUFHLENBQUM7UUFFL0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDcEQsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLGNBQWMsQ0FBQyxRQUFRLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDNUUsSUFBSSxDQUFDLHNCQUFzQixDQUFFLElBQUksMEJBQTBCLENBQUUsR0FBRyxFQUFFLEtBQUssQ0FBRSxDQUFFLENBQUM7SUFFN0UsQ0FBQztJQUVELElBQUEsZ0JBQVEsRUFBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVqQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7QUFFeEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsVUFBc0IsSUFBUztJQUc5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUI7U0FFN0MsSUFBSSxDQUFFLEdBQUcsRUFBRTtRQUVYLElBQUksQ0FBQyxpQkFBaUI7WUFDckIsSUFBSSx1QkFBZSxDQUNsQixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLElBQUksRUFFVCxJQUFJLENBRUosQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQy9CLENBQUMsQ0FBRSxDQUFDO0FBRU4sQ0FBQyxDQUFDO0FBR0YsTUFBTSxXQUFXLEdBQUcsVUFBc0IsSUFBUyxFQUFFLElBQVM7SUFHN0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRWxCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCO1NBQzdDLElBQUksQ0FBRSxDQUFFLFFBQWEsRUFBRyxFQUFFO1FBRTFCLElBQUssT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFHLENBQUM7WUFDcEMsSUFBSyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRyxDQUFDO2dCQUMvQixNQUFNLEdBQUcsR0FBRyx1QkFBdUIsSUFBSSxDQUFDLFFBQVEsaUJBQWlCLElBQUksQ0FBQyxRQUFRLDBCQUEwQixDQUFDO2dCQUN6RyxNQUFNLElBQUksMEJBQTBCLENBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUUsQ0FBQztZQUN6RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsT0FBTyxRQUFRLENBQUM7WUFDakIsQ0FBQztRQUNGLENBQUM7UUFFRCxJQUFLLENBQUMsQ0FBRSxRQUFRLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBRSxFQUFHLENBQUM7WUFDMUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDdEMsTUFBTSxHQUFHLEdBQUcsdUJBQXVCLElBQUksQ0FBQyxRQUFRLFlBQVksR0FBRyxFQUFFLENBQUM7WUFFbEUsTUFBTSxJQUFJLDBCQUEwQixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFFLENBQUM7UUFDekQsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFFbEMsTUFBTSxLQUFLLEdBQUcsSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBVSxDQUFDO1FBRXpELElBQUssS0FBSyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsaUJBQWlCLEVBQUcsQ0FBQztZQUlqRCxJQUFJLENBQUMsY0FBYyxDQUFFLElBQUksQ0FBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUUvQixDQUFDLENBQUU7U0FDRixLQUFLLENBQUUsQ0FBRSxLQUFZLEVBQUcsRUFBRTtRQUMxQixJQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFHLENBQUM7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFFLEtBQUssQ0FBRSxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxLQUFLLENBQUM7UUFDYixDQUFDO0lBQ0YsQ0FBQyxDQUFFLENBQUM7SUFFTCxJQUFLLElBQUksRUFBRyxDQUFDO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUUsQ0FBRSxPQUFZLEVBQUUsSUFBWSxFQUFHLEVBQUU7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFFLElBQUksQ0FBRSxHQUFHLENBQUUsR0FBRyxJQUFXLEVBQUcsRUFBRTtZQUNyRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBRSxPQUFPLEVBQUU7Z0JBQ25ELElBQUk7Z0JBQ0osT0FBTztnQkFDUCxJQUFJO2FBQ0osQ0FBRSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDL0IsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFFLENBQUM7SUFFSixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztBQUUvQixDQUFDLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHO0lBQ2hDLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QsV0FBVztJQUNYLE9BQU87SUFDUCxjQUFjO0lBQ2QsZUFBZTtJQUNmLHNCQUFzQixFQUF0QiwrQ0FBc0I7Q0FDdEIsQ0FBQztBQUlXLFFBQUEsZUFBZSxHQUFHLFVBQXNCLElBQVMsRUFBRSxnQkFBcUIsRUFBRSxJQUFXLEVBQUUsT0FBZ0I7SUFFbkgsTUFBTSxFQUNMLGdCQUFnQixFQUNoQixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLFdBQVcsRUFDWCxHQUFHLE1BQU0sQ0FBQztJQUdYLE1BQU0sRUFBRSxHQUFHLHVCQUF1QixDQUFFLHNCQUFJLENBQUUsQ0FBQztJQUczQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUUzQyxNQUFNLENBQUMsTUFBTSxDQUFFLElBQUksRUFBRTtRQUVwQixJQUFJO1FBQ0osUUFBUTtRQUVSLGdCQUFnQjtRQUVoQixJQUFJLElBQUk7WUFDUCxPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7UUFFRCx1QkFBdUIsRUFBRyxFQUFFO1FBQzVCLGVBQWU7UUFFZixNQUFNO1FBRU4sS0FBSztLQUVMLENBQUUsQ0FBQztJQUVKLElBQUssV0FBVyxJQUFJLE9BQU8sRUFBRyxDQUFDO1FBQzlCLE1BQU0sYUFBYSxHQUFhLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFFLGdCQUFnQixDQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RixNQUFNLEtBQUssR0FBRyx1QkFBdUIsUUFBUSxlQUFlLENBQUM7UUFDN0QsSUFBSyxXQUFXLEVBQUcsQ0FBQztZQUNuQixpQkFBUSxDQUFDLElBQUksQ0FBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBRSxDQUFDO1FBQzdDLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDcEIsQ0FBQztJQUNGLENBQUM7SUFFRCxJQUFLLFdBQVcsSUFBSSxnQkFBZ0IsWUFBWSxLQUFLLEVBQUcsQ0FBQztRQUV4RCxJQUFJLENBQUMsZUFBZSxHQUFHLHVCQUF1QixDQUFFLFFBQVEsQ0FBRSxDQUFDO1FBRTNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFBLDZDQUF1QixFQUFFLElBQUksQ0FBRSxDQUFDO1FBRTNELE1BQU0sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztJQUUvQyxDQUFDO0lBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBRXRCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFBLDZDQUF1QixFQUFFLElBQUksQ0FBRSxDQUFDO0lBRTNELElBQUssV0FBVyxFQUFHLENBQUM7UUFFbkIsSUFBSSxDQUFDO1lBRUosTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztZQUV2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO1FBRWpDLENBQUM7UUFBQyxPQUFRLEtBQUssRUFBRyxDQUFDO1lBRWxCLElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUV0QyxDQUFDO0lBRUYsQ0FBQztTQUFNLENBQUM7UUFHUCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1FBRXZELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUM7SUFFakMsQ0FBQztJQUdELElBQUssSUFBSSxDQUFDLGlCQUFpQixZQUFZLE9BQU8sRUFBRyxDQUFDO1FBRWpELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUUsSUFBSSxDQUFFLENBQUM7UUFFeEMsR0FBRyxDQUFFLE1BQU0sRUFBRSxxQkFBcUIsRUFBRTtZQUNuQyxHQUFHO2dCQUNGLE9BQU8sUUFBUSxDQUFDO1lBQ2pCLENBQUM7U0FDRCxDQUFFLENBQUM7UUFFSixPQUFPLE1BQU0sQ0FBQztJQUVmLENBQUM7SUFFRCxJQUFJLENBQUMsY0FBYyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBRTVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0FBRS9CLENBQXlELENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sQ0FBRSx1QkFBZSxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsQ0FBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQge1xuXHRjb25zdGFudHNcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxufSA9IGNvbnN0YW50cztcblxuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuY29uc3Qge1xuXHRXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTixcbn0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRnZXRFeGlzdGVudEFzeW5jU3RhY2ssXG5cdG1ha2VGYWtlTW9kaWZpY2F0b3JUeXBlLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGdldFN0YWNrIH0gZnJvbSAnLi4vZXJyb3JzJztcbmltcG9ydCB7IHRocm93TW9kaWZpY2F0aW9uRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGhyb3dNb2RpZmljYXRpb25FcnJvcic7XG5cbmltcG9ydCB7IF9nZXRQcm9wcywgX3NldFNlbGYsIFByb3BzIH0gZnJvbSAnLi9Qcm9wcyc7XG5cbmltcG9ydCB7IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yIH0gZnJvbSAnLi9JbnN0YW5jZU1vZGlmaWNhdG9yJztcblxuaW1wb3J0IHsgb2JleSB9IGZyb20gJy4vb2JleUNvbnN0cnVjdG9yJztcblxuY29uc3QgaW52b2tlUHJlSG9va3MgPSBmdW5jdGlvbiAoIHRoaXM6IGFueSApIHtcblxuXHRjb25zdCB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0SW5zdGFuY2VNb2RpZmljYXRvclxuXHR9ID0gdGhpcztcblxuXHRjb25zdCB7XG5cdFx0Y29sbGVjdGlvbixcblx0fSA9IHR5cGU7XG5cblx0Y29uc3QgaG9va0RhdGEgPSB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0SW5zdGFuY2VNb2RpZmljYXRvclxuXHR9O1xuXG5cdGNvbGxlY3Rpb24uaW52b2tlSG9vayggJ3ByZUNyZWF0aW9uJywgaG9va0RhdGEgKTtcblxuXHR0eXBlLmludm9rZUhvb2soICdwcmVDcmVhdGlvbicsIGhvb2tEYXRhICk7XG5cbn07XG5cblxuY29uc3QgaW52b2tlUG9zdEhvb2tzID0gZnVuY3Rpb24gKCB0aGlzOiBhbnkgKSB7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IGNyZWF0b3IgPSB0aGlzO1xuXHRjb25zdCB7XG5cdFx0aW5oZXJpdGVkSW5zdGFuY2UsXG5cdH0gPSBjcmVhdG9yO1xuXG5cdGNvbnN0IHByb3BzID0gX2dldFByb3BzKGluaGVyaXRlZEluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRjb25zdCB7XG5cdFx0X190eXBlX186IHR5cGUsXG5cdFx0X19wYXJlbnRfXzogZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRfX2FyZ3NfXzogYXJncyxcblx0fSA9IHByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRjb2xsZWN0aW9uLFxuXHR9ID0gdHlwZTtcblxuXHRjb25zdCBob29rVHlwZSA9IGluaGVyaXRlZEluc3RhbmNlIGluc3RhbmNlb2YgRXJyb3IgP1xuXHRcdCdjcmVhdGlvbkVycm9yJyA6ICdwb3N0Q3JlYXRpb24nO1xuXG5cdGNvbnN0IGhvb2tEYXRhID0ge1xuXHRcdHR5cGUsXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblx0XHRpbmhlcml0ZWRJbnN0YW5jZSxcblx0XHRhcmdzLFxuXHRcdGNyZWF0b3Jcblx0fTtcblxuXHRyZXR1cm4ge1xuXG5cdFx0dHlwZSA6IHR5cGUuaW52b2tlSG9vayggaG9va1R5cGUsIGhvb2tEYXRhICksXG5cblx0XHRjb2xsZWN0aW9uIDogY29sbGVjdGlvbi5pbnZva2VIb29rKCBob29rVHlwZSwgaG9va0RhdGEgKSxcblxuXHR9O1xuXG59O1xuXG5jb25zdCBwb3N0UHJvY2Vzc2luZyA9IGZ1bmN0aW9uICggdGhpczogYW55LCBjb250aW51YXRpb25PZjogYW55ICkge1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRjb25zdCBzZWxmID0gdGhpcztcblx0Y29uc3Qge1xuXHRcdHN0YWNrLFxuXHR9ID0gc2VsZjtcblxuXHRpZiAoICFzZWxmLmluaGVyaXRlZEluc3RhbmNlLmNvbnN0cnVjdG9yICkge1xuXHRcdGNvbnN0IG1zZyA9ICdzaG91bGQgaW5oZXJpdCBmcm9tIG1uZW1vbmljYSBpbnN0YW5jZSc7XG5cdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHR9XG5cblx0aWYgKCAhc2VsZi5pbmhlcml0ZWRJbnN0YW5jZS5jb25zdHJ1Y3RvclsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKSB7XG5cdFx0Y29uc3QgbXNnID0gJ3Nob3VsZCBpbmhlcml0IGZyb20gbW5lbW9uaWNhIGluc3RhbmNlJztcblx0XHRzZWxmLnRocm93TW9kaWZpY2F0aW9uRXJyb3IoIG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiggbXNnLCBzdGFjayApICk7XG5cdH1cblxuXHRpZiAoIGNvbnRpbnVhdGlvbk9mICYmICEoIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgaW5zdGFuY2VvZiBjb250aW51YXRpb25PZiApICkge1xuXHRcdC8vIGRlYnVnZ2VyO1xuXHRcdGNvbnN0IGljbiA9IHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UuY29uc3RydWN0b3IubmFtZTtcblx0XHRjb25zdCBtc2cgPSBgc2hvdWxkIGluaGVyaXQgZnJvbSAke2NvbnRpbnVhdGlvbk9mLlR5cGVOYW1lfSBidXQgZ290ICR7aWNufWA7XG5cdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4oIG1zZywgc3RhY2sgKSApO1xuXHRcdC8vIHRocm93IG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTihtc2csIHNlbGYuc3RhY2spO1xuXHR9XG5cblx0X3NldFNlbGYoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSk7XG5cblx0c2VsZi5pbnZva2VQb3N0SG9va3MoKTtcblxufTtcblxuY29uc3QgYWRkVGhlbiA9IGZ1bmN0aW9uICggdGhpczogYW55LCB0aGVuOiBhbnkgKSB7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBzZWxmLmluaGVyaXRlZEluc3RhbmNlXG5cdFx0Ly8gLnRoZW4oICggaW5zdGFuY2U6IGFueSApID0+IHtcblx0XHQudGhlbiggKCkgPT4ge1xuXHRcdFx0Ly8gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGluc3RhbmNlO1xuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9XG5cdFx0XHRcdG5ldyBJbnN0YW5jZUNyZWF0b3IoXG5cdFx0XHRcdFx0dGhlbi5zdWJ0eXBlLFxuXHRcdFx0XHRcdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UsXG5cdFx0XHRcdFx0dGhlbi5hcmdzLFxuXHRcdFx0XHRcdC8vIHdhcyBjaGFpbmVkIDpcblx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdFx0Ly8gc2VsZi5leGlzdGVudEluc3RhbmNlXG5cdFx0XHRcdCk7XG5cdFx0XHRyZXR1cm4gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZTtcblx0XHR9ICk7XG5cbn07XG5cblxuY29uc3QgbWFrZUF3YWl0ZXIgPSBmdW5jdGlvbiAoIHRoaXM6IGFueSwgdHlwZTogYW55LCB0aGVuOiBhbnkgKSB7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBzZWxmLmluaGVyaXRlZEluc3RhbmNlXG5cdFx0LnRoZW4oICggaW5zdGFuY2U6IGFueSApID0+IHtcblxuXHRcdFx0aWYgKCB0eXBlb2YgaW5zdGFuY2UgIT09ICdvYmplY3QnICkge1xuXHRcdFx0XHRpZiAoIHNlbGYuY29uZmlnLmF3YWl0UmV0dXJuICkge1xuXHRcdFx0XHRcdGNvbnN0IG1zZyA9IGBzaG91bGQgaW5oZXJpdCBmcm9tICR7dHlwZS5UeXBlTmFtZX06IHNlZW1zIGFzeW5jICR7dHlwZS5UeXBlTmFtZX0gaGFzIG5vIHJldHVybiBzdGF0ZW1lbnRgO1xuXHRcdFx0XHRcdHRocm93IG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiggbXNnLCBzZWxmLnN0YWNrICk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGlmICggISggaW5zdGFuY2UgaW5zdGFuY2VvZiBzZWxmLnR5cGUgKSApIHtcblx0XHRcdFx0Y29uc3QgaWNuID0gaW5zdGFuY2UuY29uc3RydWN0b3IubmFtZTtcblx0XHRcdFx0Y29uc3QgbXNnID0gYHNob3VsZCBpbmhlcml0IGZyb20gJHt0eXBlLlR5cGVOYW1lfSBidXQgZ290ICR7aWNufWA7XG5cdFx0XHRcdC8vIHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvcihuZXcgV1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4obXNnLCBzZWxmLnN0YWNrKSk7XG5cdFx0XHRcdHRocm93IG5ldyBXUk9OR19NT0RJRklDQVRJT05fUEFUVEVSTiggbXNnLCBzZWxmLnN0YWNrICk7XG5cdFx0XHR9XG5cblx0XHRcdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBpbnN0YW5jZTtcblxuXHRcdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0XHRcdGlmICggcHJvcHMuX19zZWxmX18gIT09IHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgKSB7XG5cdFx0XHRcdC8vIGl0IHdhcyBhc3luYyBpbnN0YW5jZSxcblx0XHRcdFx0Ly8gc28gd2UgaGF2ZSB0byBhZGQgYWxsIHRoZSBzdHVmZlxuXHRcdFx0XHQvLyBmb3Igc3luYyBpbnN0YW5jZXMgaXQgd2FzIGRvbmUgYWxyZWFkeVxuXHRcdFx0XHRzZWxmLnBvc3RQcm9jZXNzaW5nKCB0eXBlICk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG5cdFx0fSApXG5cdFx0LmNhdGNoKCAoIGVycm9yOiBFcnJvciApID0+IHtcblx0XHRcdGlmICggc2VsZi5jb25maWcuYmxvY2tFcnJvcnMgKSB7XG5cdFx0XHRcdHNlbGYudGhyb3dNb2RpZmljYXRpb25FcnJvciggZXJyb3IgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRocm93IGVycm9yO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHRpZiAoIHRoZW4gKSB7XG5cdFx0c2VsZi5hZGRUaGVuKCB0aGVuICk7XG5cdH1cblxuXHR0eXBlLnN1YnR5cGVzLmZvckVhY2goICggc3VidHlwZTogYW55LCBuYW1lOiBzdHJpbmcgKSA9PiB7XG5cdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZVsgbmFtZSBdID0gKCAuLi5hcmdzOiBhbnlbXSApID0+IHtcblx0XHRcdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBzZWxmLm1ha2VBd2FpdGVyKCBzdWJ0eXBlLCB7XG5cdFx0XHRcdG5hbWUsXG5cdFx0XHRcdHN1YnR5cGUsXG5cdFx0XHRcdGFyZ3MsXG5cdFx0XHR9ICk7XG5cdFx0XHRyZXR1cm4gc2VsZi5pbmhlcml0ZWRJbnN0YW5jZTtcblx0XHR9O1xuXHR9ICk7XG5cblx0cmV0dXJuIHNlbGYuaW5oZXJpdGVkSW5zdGFuY2U7XG5cbn07XG5cbmNvbnN0IEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZSA9IHtcblx0Z2V0RXhpc3RlbnRBc3luY1N0YWNrLFxuXHRwb3N0UHJvY2Vzc2luZyxcblx0bWFrZUF3YWl0ZXIsXG5cdGFkZFRoZW4sXG5cdGludm9rZVByZUhvb2tzLFxuXHRpbnZva2VQb3N0SG9va3MsXG5cdHRocm93TW9kaWZpY2F0aW9uRXJyb3Jcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBJbnN0YW5jZUNyZWF0b3IgPSBmdW5jdGlvbiAoIHRoaXM6IGFueSwgdHlwZTogYW55LCBleGlzdGVudEluc3RhbmNlOiBhbnksIGFyZ3M6IGFueVtdLCBjaGFpbmVkOiBib29sZWFuICkge1xuXG5cdGNvbnN0IHtcblx0XHRjb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdHByb3RvLFxuXHRcdGNvbmZpZyxcblx0XHRUeXBlTmFtZVxuXHR9ID0gdHlwZTtcblxuXHRjb25zdCB7XG5cdFx0TW9kaWZpY2F0aW9uQ29uc3RydWN0b3IsXG5cdFx0YmxvY2tFcnJvcnMsXG5cdFx0c3VibWl0U3RhY2tcblx0fSA9IGNvbmZpZztcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuXHRjb25zdCBtYyA9IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yKCBvYmV5ICk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGNvbnN0IE1vZGlmaWNhdG9yVHlwZSA9IGNvbnN0cnVjdEhhbmRsZXIoKTtcblxuXHRPYmplY3QuYXNzaWduKCBzZWxmLCB7XG5cblx0XHR0eXBlLFxuXHRcdFR5cGVOYW1lLFxuXG5cdFx0ZXhpc3RlbnRJbnN0YW5jZSxcblxuXHRcdGdldCBhcmdzICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH0sXG5cblx0XHRNb2RpZmljYXRpb25Db25zdHJ1Y3RvciA6IG1jLFxuXHRcdE1vZGlmaWNhdG9yVHlwZSxcblxuXHRcdGNvbmZpZyxcblxuXHRcdHByb3RvXG5cblx0fSApO1xuXG5cdGlmICggc3VibWl0U3RhY2sgfHwgY2hhaW5lZCApIHtcblx0XHRjb25zdCBzdGFja0FkZGl0aW9uOiBzdHJpbmdbXSA9IGNoYWluZWQgPyBzZWxmLmdldEV4aXN0ZW50QXN5bmNTdGFjayggZXhpc3RlbnRJbnN0YW5jZSApIDogW107XG5cdFx0Y29uc3QgdGl0bGUgPSBgXFxuPC0tIGNyZWF0aW9uIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblx0XHRpZiAoIHN1Ym1pdFN0YWNrICkge1xuXHRcdFx0Z2V0U3RhY2suY2FsbCggc2VsZiwgdGl0bGUsIHN0YWNrQWRkaXRpb24gKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c2VsZi5zdGFjayA9IHRpdGxlO1xuXHRcdH1cblx0fVxuXG5cdGlmICggYmxvY2tFcnJvcnMgJiYgZXhpc3RlbnRJbnN0YW5jZSBpbnN0YW5jZW9mIEVycm9yICkge1xuXG5cdFx0c2VsZi5Nb2RpZmljYXRvclR5cGUgPSBtYWtlRmFrZU1vZGlmaWNhdG9yVHlwZSggVHlwZU5hbWUgKTtcblxuXHRcdHNlbGYuSW5zdGFuY2VNb2RpZmljYXRvciA9IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yKCBzZWxmICk7XG5cblx0XHR0aHJvdyBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCAuLi5hcmdzICk7XG5cblx0fVxuXG5cdHNlbGYuaW52b2tlUHJlSG9va3MoKTtcblxuXHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdGlmICggYmxvY2tFcnJvcnMgKSB7XG5cblx0XHR0cnkge1xuXHRcdFx0Ly8gQ29uc3RydWN0b3IgSW52b2NhdGlvbiBJdHNlbGZcblx0XHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGFuc3dlcjtcblxuXHRcdH0gY2F0Y2ggKCBlcnJvciApIHtcblxuXHRcdFx0c2VsZi50aHJvd01vZGlmaWNhdGlvbkVycm9yKCBlcnJvciApO1xuXG5cdFx0fVxuXG5cdH0gZWxzZSB7XG5cblx0XHQvLyBDb25zdHJ1Y3RvciBJbnZvY2F0aW9uIEl0c2VsZlxuXHRcdGNvbnN0IGFuc3dlciA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoIC4uLmFyZ3MgKTtcblx0XHQvLyBkZWJ1Z2dlcjtcblx0XHRzZWxmLmluaGVyaXRlZEluc3RhbmNlID0gYW5zd2VyO1xuXG5cdH1cblxuXG5cdGlmICggc2VsZi5pbmhlcml0ZWRJbnN0YW5jZSBpbnN0YW5jZW9mIFByb21pc2UgKSB7XG5cblx0XHRjb25zdCB3YWl0ZXIgPSBzZWxmLm1ha2VBd2FpdGVyKCB0eXBlICk7XG5cblx0XHRvZHAoIHdhaXRlciwgU3ltYm9sQ29uc3RydWN0b3JOYW1lLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gVHlwZU5hbWU7XG5cdFx0XHR9XG5cdFx0fSApO1xuXG5cdFx0cmV0dXJuIHdhaXRlcjtcblxuXHR9XG5cblx0c2VsZi5wb3N0UHJvY2Vzc2luZyggdHlwZSApO1xuXG5cdHJldHVybiBzZWxmLmluaGVyaXRlZEluc3RhbmNlO1xuXG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248dHlwZW9mIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZT47XG5cbk9iamVjdC5hc3NpZ24oIEluc3RhbmNlQ3JlYXRvci5wcm90b3R5cGUsIEluc3RhbmNlQ3JlYXRvclByb3RvdHlwZSApO1xuIl19
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeInstanceModificator = void 0;
4
- const addProps_1 = require("./addProps");
4
+ const Props_1 = require("./Props");
5
5
  const makeInstanceModificator = (self) => {
6
6
  const { ModificationConstructor, existentInstance, ModificatorType, proto, } = self;
7
7
  const result = ModificationConstructor.call(existentInstance, ModificatorType, Object.assign({}, proto), (__proto_proto__) => {
8
8
  self.__proto_proto__ = __proto_proto__;
9
- addProps_1.addProps.call(self);
9
+ Props_1._addProps.call(self);
10
10
  });
11
11
  return result;
12
12
  };
13
13
  exports.makeInstanceModificator = makeInstanceModificator;
14
- //# sourceMappingURL=InstanceModificator.js.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdGFuY2VNb2RpZmljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLG1DQUFvQztBQUU3QixNQUFNLHVCQUF1QixHQUFHLENBQUUsSUFBUyxFQUFHLEVBQUU7SUFFdEQsTUFBTSxFQUNMLHVCQUF1QixFQUN2QixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLEtBQUssR0FDTCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sTUFBTSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FDMUMsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixNQUFNLENBQUMsTUFBTSxDQUFFLEVBQUUsRUFBRSxLQUFLLENBQUUsRUFDMUIsQ0FBRSxlQUFvQixFQUFHLEVBQUU7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsaUJBQVMsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFFLENBQUM7SUFDeEIsQ0FBQyxDQUNELENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNmLENBQUMsQ0FBQztBQXBCVyxRQUFBLHVCQUF1QiwyQkFvQmxDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBfYWRkUHJvcHMgfSBmcm9tICcuL1Byb3BzJztcblxuZXhwb3J0IGNvbnN0IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yID0gKCBzZWxmOiBhbnkgKSA9PiB7XG5cblx0Y29uc3Qge1xuXHRcdE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yLFxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0TW9kaWZpY2F0b3JUeXBlLFxuXHRcdHByb3RvLFxuXHR9ID0gc2VsZjtcblxuXHRjb25zdCByZXN1bHQgPSBNb2RpZmljYXRpb25Db25zdHJ1Y3Rvci5jYWxsKFxuXHRcdGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0TW9kaWZpY2F0b3JUeXBlLFxuXHRcdE9iamVjdC5hc3NpZ24oIHt9LCBwcm90byApLFxuXHRcdCggX19wcm90b19wcm90b19fOiBhbnkgKSA9PiB7XG5cdFx0XHRzZWxmLl9fcHJvdG9fcHJvdG9fXyA9IF9fcHJvdG9fcHJvdG9fXztcblx0XHRcdF9hZGRQcm9wcy5jYWxsKCBzZWxmICk7XG5cdFx0fVxuXHQpO1xuXG5cdHJldHVybiByZXN1bHQ7XG59O1xuIl19
@@ -1,20 +1,6 @@
1
1
  import { ConstructorFunction } from '../../types';
2
2
  declare const _default: {
3
3
  Gaia: ConstructorFunction<object>;
4
- Mnemosyne: ConstructorFunction<{
5
- [x: symbol]: (() => (this: any, uranus: any) => void) | (() => string);
6
- extract(): (this: any) => {
7
- [index: string]: any;
8
- };
9
- pick(): (this: any, ...args: any[]) => {
10
- [index: string]: any;
11
- };
12
- parent(): (this: any, constructorLookupPath: string) => any;
13
- clone(this: any): any;
14
- fork(this: any): (this: any, ...forkArgs: any[]) => any;
15
- exception(): (error: Error, ...args: any[]) => any;
16
- sibling(): (SiblingTypeName: string) => any;
17
- }>;
18
- readonly MnemosynePrototypeKeys: string[];
4
+ readonly createMnemosyne: (Uranus: unknown) => any;
19
5
  };
20
6
  export default _default;
@@ -3,16 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const constants_1 = require("../../constants");
4
4
  const { odp, SymbolConstructorName, SymbolGaia, SymbolReplaceUranus, MNEMONICA, GAIA, URANUS } = constants_1.constants;
5
5
  const utils_1 = require("../utils");
6
- const { getTypeChecker, reflectPrimitiveWrappers } = utils_1.default;
6
+ const { getTypeChecker, findSubTypeFromParent, reflectPrimitiveWrappers } = utils_1.default;
7
7
  const extract_1 = require("../../utils/extract");
8
8
  const parent_1 = require("../../utils/parent");
9
9
  const pick_1 = require("../../utils/pick");
10
10
  const exceptionConstructor_1 = require("../errors/exceptionConstructor");
11
11
  const InstanceCreator_1 = require("./InstanceCreator");
12
+ const Props_1 = require("./Props");
13
+ const InstanceRoots = new WeakMap;
12
14
  const Gaia = function (Uranus) {
13
15
  const gaiaProto = Uranus ? Uranus : this;
14
16
  const GaiaConstructor = function () { };
15
- GaiaConstructor.prototype = Object.create(gaiaProto);
17
+ Reflect.setPrototypeOf(GaiaConstructor.prototype, Object.create(gaiaProto));
16
18
  const gaia = new GaiaConstructor;
17
19
  odp(gaia, MNEMONICA, {
18
20
  get() {
@@ -41,7 +43,8 @@ const MnemonicaProtoProps = {
41
43
  return this.fork();
42
44
  },
43
45
  fork() {
44
- const { __type__: type, __collection__: collection, __parent__: existentInstance, __args__, __self__ } = this;
46
+ const props = (0, Props_1._getProps)(this);
47
+ const { __type__: type, __collection__: collection, __parent__: existentInstance, __args__, __self__, } = props;
45
48
  const { isSubType, TypeName } = type;
46
49
  return function (...forkArgs) {
47
50
  let forked;
@@ -74,9 +77,9 @@ const MnemonicaProtoProps = {
74
77
  };
75
78
  },
76
79
  sibling() {
77
- const self = this;
78
80
  const siblings = (SiblingTypeName) => {
79
- const { __collection__: collection, } = self;
81
+ const props = (0, Props_1._getProps)(this);
82
+ const { __collection__: collection, } = props;
80
83
  const sibling = collection[SiblingTypeName];
81
84
  return sibling;
82
85
  };
@@ -90,7 +93,75 @@ const MnemonicaProtoProps = {
90
93
  });
91
94
  }
92
95
  };
93
- const TypesRoots = new WeakMap;
96
+ const staticProps = [
97
+ 'constructor',
98
+ 'prototype',
99
+ 'then',
100
+ 'stack',
101
+ 'message',
102
+ 'domain',
103
+ 'on',
104
+ 'once',
105
+ 'off',
106
+ 'inspect',
107
+ 'showDiff',
108
+ ]
109
+ .concat(Object.keys(MnemonicaProtoProps))
110
+ .concat(Object.getOwnPropertyNames(Object.prototype))
111
+ .concat(Object.getOwnPropertyNames(Function.prototype))
112
+ .reduce((obj, key) => {
113
+ obj[key] = true;
114
+ return obj;
115
+ }, Object.create(null));
116
+ const makeSubTypeProxy = function (subtype, inheritedInstance) {
117
+ const subtypeProxy = new Proxy(InstanceCreator_1.InstanceCreator, {
118
+ get(Target, _prop) {
119
+ if (_prop === Symbol.hasInstance) {
120
+ return getTypeChecker(subtype.TypeName);
121
+ }
122
+ return Reflect.get(Target, _prop);
123
+ },
124
+ construct(Target, _args) {
125
+ return new Target(subtype, inheritedInstance, _args);
126
+ },
127
+ apply(Target, thisArg, _args) {
128
+ if (thisArg === undefined) {
129
+ thisArg = inheritedInstance;
130
+ }
131
+ let existentInstance = reflectPrimitiveWrappers(thisArg);
132
+ if (!existentInstance[SymbolGaia]) {
133
+ const mnemosyne = new Mnemosyne(new Gaia(existentInstance));
134
+ existentInstance = new Proxy(mnemosyne, {
135
+ get: mnemosyneProxyHandlerGet
136
+ });
137
+ }
138
+ const entity = new Target(subtype, existentInstance, _args);
139
+ return entity;
140
+ },
141
+ });
142
+ return subtypeProxy;
143
+ };
144
+ const mnemosyneProxyHandlerGet = (target, prop, receiver) => {
145
+ const result = Reflect.get(target, prop, receiver);
146
+ if (result !== undefined) {
147
+ return result;
148
+ }
149
+ if (typeof prop === 'symbol') {
150
+ return result;
151
+ }
152
+ if (staticProps[prop]) {
153
+ return result;
154
+ }
155
+ const instance = Reflect.getPrototypeOf(receiver);
156
+ const props = (0, Props_1._getProps)(instance);
157
+ const { __type__: { config: { strictChain }, subtypes }, } = props;
158
+ const subtype = subtypes.has(prop) ?
159
+ subtypes.get(prop) :
160
+ strictChain ?
161
+ undefined :
162
+ findSubTypeFromParent(instance, prop);
163
+ return subtype ? makeSubTypeProxy(subtype, receiver) : result;
164
+ };
94
165
  const Mnemosyne = function (gaia) {
95
166
  const instance = this;
96
167
  const Mnemonica = function () {
@@ -128,14 +199,21 @@ const Mnemosyne = function (gaia) {
128
199
  }
129
200
  });
130
201
  const proto = new Mnemonica();
131
- TypesRoots.set(instance, proto);
132
202
  Reflect.setPrototypeOf(instance, proto);
203
+ InstanceRoots.set(instance, proto);
204
+ };
205
+ const createMnemosyne = function (Uranus) {
206
+ const uranus = reflectPrimitiveWrappers(Uranus);
207
+ const mnemosyne = new Mnemosyne(new Gaia(uranus));
208
+ const mnemosyneProxy = new Proxy(mnemosyne, {
209
+ get: mnemosyneProxyHandlerGet
210
+ });
211
+ return mnemosyneProxy;
133
212
  };
134
213
  exports.default = {
135
214
  Gaia,
136
- Mnemosyne,
137
- get MnemosynePrototypeKeys() {
138
- return Object.keys(MnemonicaProtoProps);
139
- }
215
+ get createMnemosyne() {
216
+ return createMnemosyne;
217
+ },
140
218
  };
141
- //# sourceMappingURL=Mnemosyne.js.map
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW5lbW9zeW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9NbmVtb3N5bmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQUdiLCtDQUE0QztBQUM1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsbUJBQW1CLEVBRW5CLFNBQVMsRUFDVCxJQUFJLEVBQ0osTUFBTSxFQUVOLEdBQUcscUJBQVMsQ0FBQztBQUVkLG9DQUFrQztBQUNsQyxNQUFNLEVBQ0wsY0FBYyxFQUNkLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsR0FBRyxlQUFVLENBQUM7QUFFZixpREFBOEM7QUFDOUMsK0NBQTRDO0FBQzVDLDJDQUF3QztBQUV4Qyx5RUFBa0U7QUFFbEUsdURBQW9EO0FBRXBELG1DQUEyQztBQUUzQyxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQztBQUVsQyxNQUFNLElBQUksR0FBRyxVQUFVLE1BQVc7SUFFakMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUV6QyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQWdDLENBQUM7SUFDdkUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUU1RSxNQUFNLElBQUksR0FBRyxJQUFJLGVBQWUsQ0FBQztJQUVqQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtRQUNwQixHQUFHO1lBQ0YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEMsQ0FBQztLQUNELENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2IsQ0FBZ0MsQ0FBQztBQUdqQyxNQUFNLG1C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RTlCLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRXhDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRXBDLENBQW9ELENBQUM7QUFFckQsTUFBTSxlQUFlLEdBQUcsVUFBVSxNQUFlO0lBR2hELE1BQU0sTUFBTSxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQzNDLEdBQUcsRUFBRyx3QkFBd0I7S0FDOUIsQ0FBQyxDQUFDO0lBRUgsT0FBTyxjQUFjLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsa0JBQWU7SUFDZCxJQUFJO0lBQ0osSUFBSSxlQUFlO1FBQ2xCLE9BQU8sZUFBZSxDQUFDO0lBQ3hCLENBQUM7Q0FPRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdFN5bWJvbEdhaWEsXG5cdFN5bWJvbFJlcGxhY2VVcmFudXMsXG5cblx0TU5FTU9OSUNBLFxuXHRHQUlBLFxuXHRVUkFOVVNcblxufSA9IGNvbnN0YW50cztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRnZXRUeXBlQ2hlY2tlcixcblx0ZmluZFN1YlR5cGVGcm9tUGFyZW50LFxuXHRyZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnNcbn0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZXh0cmFjdCc7XG5pbXBvcnQgeyBwYXJlbnQgfSBmcm9tICcuLi8uLi91dGlscy9wYXJlbnQnO1xuaW1wb3J0IHsgcGljayB9IGZyb20gJy4uLy4uL3V0aWxzL3BpY2snO1xuXG5pbXBvcnQgZXhjZXB0aW9uQ29uc3RydWN0b3IgZnJvbSAnLi4vZXJyb3JzL2V4Y2VwdGlvbkNvbnN0cnVjdG9yJztcblxuaW1wb3J0IHsgSW5zdGFuY2VDcmVhdG9yIH0gZnJvbSAnLi9JbnN0YW5jZUNyZWF0b3InO1xuXG5pbXBvcnQgeyBfZ2V0UHJvcHMsIFByb3BzIH0gZnJvbSAnLi9Qcm9wcyc7XG5cbmNvbnN0IEluc3RhbmNlUm9vdHMgPSBuZXcgV2Vha01hcDtcblxuY29uc3QgR2FpYSA9IGZ1bmN0aW9uIChVcmFudXM6IGFueSkge1xuXG5cdGNvbnN0IGdhaWFQcm90byA9IFVyYW51cyA/IFVyYW51cyA6IHRoaXM7XG5cblx0Y29uc3QgR2FpYUNvbnN0cnVjdG9yID0gZnVuY3Rpb24gKCkgeyB9IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248b2JqZWN0Pjtcblx0UmVmbGVjdC5zZXRQcm90b3R5cGVPZihHYWlhQ29uc3RydWN0b3IucHJvdG90eXBlLCBPYmplY3QuY3JlYXRlKGdhaWFQcm90bykpO1xuXG5cdGNvbnN0IGdhaWEgPSBuZXcgR2FpYUNvbnN0cnVjdG9yO1xuXG5cdG9kcChnYWlhLCBNTkVNT05JQ0EsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuICFVcmFudXMgPyBHQUlBIDogVVJBTlVTO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuIGdhaWE7XG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248b2JqZWN0PjtcblxuXG5jb25zdCBNbmVtb25pY2FQcm90b1Byb3BzID0ge1xuXG5cdGV4dHJhY3QgKCkge1xuXHRcdHJldHVybiBmdW5jdGlvbiAodGhpczogYW55KSB7XG5cdFx0XHRyZXR1cm4gZXh0cmFjdCh0aGlzKTtcblx0XHR9O1xuXHR9LFxuXG5cdHBpY2sgKCkge1xuXHRcdHJldHVybiBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuXHRcdFx0cmV0dXJuIHBpY2sodGhpcywgLi4uYXJncyk7XG5cdFx0fTtcblx0fSxcblxuXHRwYXJlbnQgKCkge1xuXHRcdHJldHVybiBmdW5jdGlvbiAodGhpczogYW55LCBjb25zdHJ1Y3Rvckxvb2t1cFBhdGg6IHN0cmluZykge1xuXHRcdFx0cmV0dXJuIHBhcmVudCh0aGlzLCBjb25zdHJ1Y3Rvckxvb2t1cFBhdGgpO1xuXHRcdH07XG5cdH0sXG5cblx0Y2xvbmUgKHRoaXM6IGFueSkge1xuXHRcdHJldHVybiB0aGlzLmZvcmsoKTtcblx0fSxcblxuXHRmb3JrICh0aGlzOiBhbnkpIHtcblxuXHRcdGNvbnN0IHByb3BzID0gX2dldFByb3BzKHRoaXMpIGFzIFByb3BzO1xuXG5cdFx0Y29uc3Qge1xuXHRcdFx0X190eXBlX186IHR5cGUsXG5cdFx0XHRfX2NvbGxlY3Rpb25fXzogY29sbGVjdGlvbixcblx0XHRcdF9fcGFyZW50X186IGV4aXN0ZW50SW5zdGFuY2UsXG5cdFx0XHRfX2FyZ3NfXyxcblx0XHRcdF9fc2VsZl9fLFxuXHRcdH0gPSBwcm9wcztcblxuXHRcdGNvbnN0IHtcblx0XHRcdGlzU3ViVHlwZSxcblx0XHRcdFR5cGVOYW1lXG5cdFx0fSA9IHR5cGU7XG5cblx0XHQvLyAnZnVuY3Rpb24nLCBjYXVzZSBtaWdodCBiZSBjYWxsZWQgd2l0aCAnbmV3J1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3csIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0XHRyZXR1cm4gZnVuY3Rpb24gKHRoaXM6IGFueSwgLi4uZm9ya0FyZ3M6IGFueVtdKSB7XG5cblx0XHRcdGxldCBmb3JrZWQ7XG5cdFx0XHRjb25zdCBDb25zdHJ1Y3RvciA9IGlzU3ViVHlwZSA/XG5cdFx0XHRcdGV4aXN0ZW50SW5zdGFuY2UgOlxuXHRcdFx0XHRjb2xsZWN0aW9uO1xuXG5cdFx0XHRjb25zdCBhcmdzID0gZm9ya0FyZ3MubGVuZ3RoID8gZm9ya0FyZ3MgOiBfX2FyZ3NfXztcblxuXG5cdFx0XHRpZiAodGhpcyA9PT0gX19zZWxmX18pIHtcblx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIFxuXHRcdFx0XHRmb3JrZWQgPSBuZXcgKENvbnN0cnVjdG9yWyBUeXBlTmFtZSBdKSguLi5hcmdzKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIGZvcmsuY2FsbCA/IGxldCdzIGRvIGl0ICFcblx0XHRcdFx0Zm9ya2VkID0gbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCByZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnModGhpcyksIGFyZ3MpO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZm9ya2VkO1xuXG5cdFx0fTtcblx0fSxcblxuXHRbIFN5bWJvbFJlcGxhY2VVcmFudXMgXSAoKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcblx0XHRyZXR1cm4gZnVuY3Rpb24gKHRoaXM6IGFueSwgdXJhbnVzOiBhbnkpIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoUmVmbGVjdC5nZXRQcm90b3R5cGVPZih0aGlzWyBTeW1ib2xHYWlhIF0pLCB1cmFudXMpO1xuXHRcdH07XG5cdH0sXG5cblx0WyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSAoKSB7XG5cdFx0cmV0dXJuIE1ORU1PTklDQTtcblx0fSxcblxuXHRleGNlcHRpb24gKCkge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IHNlbGYgPSB0aGlzO1xuXHRcdHJldHVybiBmdW5jdGlvbiAoZXJyb3I6IEVycm9yLCAuLi5hcmdzOiBhbnlbXSkge1xuXHRcdFx0Y29uc3QgdGFyZ2V0ID0gbmV3LnRhcmdldDtcblx0XHRcdHJldHVybiBleGNlcHRpb25Db25zdHJ1Y3Rvci5jYWxsKHNlbGYsIHRhcmdldCwgZXJyb3IsIC4uLmFyZ3MpO1xuXHRcdH07XG5cdH0sXG5cblx0c2libGluZyAoKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5cdFx0Y29uc3Qgc2libGluZ3MgPSAoU2libGluZ1R5cGVOYW1lOiBzdHJpbmcpID0+IHtcblxuXHRcdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHModGhpcykgYXMgUHJvcHM7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdF9fY29sbGVjdGlvbl9fOiBjb2xsZWN0aW9uLFxuXHRcdFx0fSA9IHByb3BzO1xuXHRcdFx0Y29uc3Qgc2libGluZzogYW55ID0gY29sbGVjdGlvblsgU2libGluZ1R5cGVOYW1lIF07XG5cdFx0XHRyZXR1cm4gc2libGluZztcblx0XHR9O1xuXG5cdFx0cmV0dXJuIG5ldyBQcm94eShzaWJsaW5ncywge1xuXHRcdFx0Z2V0IChfLCBwcm9wOiBzdHJpbmcpIHtcblx0XHRcdFx0cmV0dXJuIHNpYmxpbmdzKHByb3ApO1xuXHRcdFx0fSxcblx0XHRcdGFwcGx5IChfLCBfXywgYXJncywpIHtcblx0XHRcdFx0cmV0dXJuIHNpYmxpbmdzKGFyZ3NbIDAgXSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxufTtcblxuY29uc3Qgc3RhdGljUHJvcHMgPSBbXG5cblx0Ly8gYnVpbHRpbnM6IGZ1bmN0aW9ucyArIFByb21pc2VzXG5cdCdjb25zdHJ1Y3RvcicsXG5cdCdwcm90b3R5cGUnLFxuXHQndGhlbicsXG5cblx0Ly8gYnVpbHRpbnM6IGVycm9yc1xuXHQnc3RhY2snLFxuXHQnbWVzc2FnZScsXG5cdCdkb21haW4nLFxuXG5cdC8vIGJ1aWx0aW5zOiBFdmVudEVtaXR0ZXJcblx0J29uJyxcblx0J29uY2UnLFxuXHQnb2ZmJyxcblxuXHQvLyBtb2NoYSArIGNoYWkgPT4gYnVnOiAuL3V0aWxzLmpzIC5maW5kU3ViVHlwZUZyb21QYXJlbnQgJ2luc3BlY3QnXG5cdCdpbnNwZWN0Jyxcblx0J3Nob3dEaWZmJyxcblxuXVxuXHQuY29uY2F0KE9iamVjdC5rZXlzKE1uZW1vbmljYVByb3RvUHJvcHMpKVxuXHQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVjdC5wcm90b3R5cGUpKVxuXHQuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKEZ1bmN0aW9uLnByb3RvdHlwZSkpXG5cdC5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG5cdFx0b2JqWyBrZXkgXSA9IHRydWU7XG5cdFx0cmV0dXJuIG9iajtcblx0fSwgT2JqZWN0LmNyZWF0ZShudWxsKSk7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogb25seS1hcnJvdy1mdW5jdGlvbnNcbmNvbnN0IG1ha2VTdWJUeXBlUHJveHkgPSBmdW5jdGlvbiAoc3VidHlwZTogYW55LCBpbmhlcml0ZWRJbnN0YW5jZTogYW55KSB7XG5cblx0Y29uc3Qgc3VidHlwZVByb3h5ID0gbmV3IFByb3h5KEluc3RhbmNlQ3JlYXRvciwge1xuXG5cdFx0Z2V0IChUYXJnZXQsIF9wcm9wKSB7XG5cblx0XHRcdGlmIChfcHJvcCA9PT0gU3ltYm9sLmhhc0luc3RhbmNlKSB7XG5cdFx0XHRcdHJldHVybiBnZXRUeXBlQ2hlY2tlcihzdWJ0eXBlLlR5cGVOYW1lKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIFJlZmxlY3QuZ2V0KFRhcmdldCwgX3Byb3ApO1xuXG5cdFx0fSxcblxuXHRcdGNvbnN0cnVjdCAoVGFyZ2V0LCBfYXJncykge1xuXHRcdFx0cmV0dXJuIG5ldyBUYXJnZXQoc3VidHlwZSwgaW5oZXJpdGVkSW5zdGFuY2UsIF9hcmdzKTtcblx0XHR9LFxuXG5cdFx0YXBwbHkgKFRhcmdldCwgdGhpc0FyZywgX2FyZ3MpIHtcblxuXHRcdFx0aWYgKHRoaXNBcmcgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHR0aGlzQXJnID0gaW5oZXJpdGVkSW5zdGFuY2U7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRPRE86IGlmIHdlIHdvdWxkIG1ha2UgbmV3IGtleXdvcmQgb2JsaWdhdG9yeVxuXHRcdFx0Ly8gdGhlbiB3ZSBzaG91bGQgYXZvaWQgaXQgaGVyZSwgd2l0aCB0aHJvdyBFcnJvclxuXG5cdFx0XHRsZXQgZXhpc3RlbnRJbnN0YW5jZSA9IHJlZmxlY3RQcmltaXRpdmVXcmFwcGVycyh0aGlzQXJnKTtcblxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0aWYgKCFleGlzdGVudEluc3RhbmNlWyBTeW1ib2xHYWlhIF0pIHtcblx0XHRcdFx0Y29uc3QgbW5lbW9zeW5lID0gbmV3IE1uZW1vc3luZShuZXcgR2FpYShleGlzdGVudEluc3RhbmNlKSk7XG5cdFx0XHRcdGV4aXN0ZW50SW5zdGFuY2UgPSBuZXcgUHJveHkobW5lbW9zeW5lLCB7XG5cdFx0XHRcdFx0Z2V0IDogbW5lbW9zeW5lUHJveHlIYW5kbGVyR2V0XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0Ly8gZWxzZSBpcyB0aGUgb3JkaW5hcnkgd2F5IGZvciBhbGwgZW50aXRpZXNcblxuXHRcdFx0Y29uc3QgZW50aXR5ID0gbmV3IFRhcmdldChzdWJ0eXBlLCBleGlzdGVudEluc3RhbmNlLCBfYXJncyk7XG5cdFx0XHRyZXR1cm4gZW50aXR5O1xuXHRcdH0sXG5cblx0fSk7XG5cblx0cmV0dXJuIHN1YnR5cGVQcm94eTtcbn07XG5cblxuY29uc3QgbW5lbW9zeW5lUHJveHlIYW5kbGVyR2V0ID0gKHRhcmdldDogYW55LCBwcm9wOiBzdHJpbmcsIHJlY2VpdmVyOiBhbnkpID0+IHtcblxuXHQvLyBOb2RlLmpzIDIyIFJlZmxlY3QuZ2V0IEJlaGF2aW91ciBDaGFuZ2VkIGhlcmVcblx0Ly8gY2F1c2Ugc29tZXRoaW5nIGdvbmUgd3Jvbmcgd2l0aCBwcm9wIGFzc2lnbm1lbnRcblx0Ly8gc28gbm93IGlmIHdlIG5lZWQgLnN0YWNrLCB3ZSBzaG91bGQgYXZvaWQgcmVjZWl2ZXIgaGVyZVxuXHQvLyBuYXZlIG5vdCB5ZXQgY2hlY2tlZCBvdGhlciBzdGF0aWNQcm9wcyxcblx0Ly8ganVzdCBmaXhlZCB0aGlzIGJlbG93XG5cdC8vIHdoaWxlIHVzaW5nIGNvbmRpdGlvbmFsIGZvciBzdGF0aWNQcm9wc1xuXHRjb25zdCByZXN1bHQgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcblxuXHRpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0aWYgKHR5cGVvZiBwcm9wID09PSAnc3ltYm9sJykge1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRpZiAoc3RhdGljUHJvcHNbIHByb3AgXSkge1xuXHRcdC8qXG5cdFx0Y29uc3QgbWF5QmVSZXN1bHQgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3ApO1xuXHRcdGlmIChtYXlCZVJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gbWF5QmVSZXN1bHQ7XG5cdFx0fVxuXHRcdCovXG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fVxuXG5cdC8vIHByb3RvdHlwZSBvZiBwcm94eVxuXHRjb25zdCBpbnN0YW5jZTogYW55ID0gUmVmbGVjdC5nZXRQcm90b3R5cGVPZihyZWNlaXZlcik7XG5cblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpIGFzIFByb3BzO1xuXHRjb25zdCB7XG5cdFx0X190eXBlX186IHtcblx0XHRcdGNvbmZpZzoge1xuXHRcdFx0XHRzdHJpY3RDaGFpblxuXHRcdFx0fSxcblx0XHRcdHN1YnR5cGVzXG5cdFx0fSxcblx0fSA9IHByb3BzO1xuXG5cblx0Y29uc3Qgc3VidHlwZSA9IHN1YnR5cGVzLmhhcyhwcm9wKSA/XG5cdFx0c3VidHlwZXMuZ2V0KHByb3ApIDpcblx0XHRzdHJpY3RDaGFpbiA/XG5cdFx0XHR1bmRlZmluZWQgOlxuXHRcdFx0ZmluZFN1YlR5cGVGcm9tUGFyZW50KGluc3RhbmNlLCBwcm9wKTtcblxuXHRyZXR1cm4gc3VidHlwZSA/IG1ha2VTdWJUeXBlUHJveHkoc3VidHlwZSwgcmVjZWl2ZXIpIDogcmVzdWx0O1xufTtcblxuXG5jb25zdCBNbmVtb3N5bmUgPSBmdW5jdGlvbiAoZ2FpYTogYW55KSB7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdGNvbnN0IGluc3RhbmNlID0gdGhpcztcblxuXHRjb25zdCBNbmVtb25pY2E6IGFueSA9IGZ1bmN0aW9uICh0aGlzOiBhbnkpIHtcblx0XHRvZHAodGhpcywgU3ltYm9sQ29uc3RydWN0b3JOYW1lLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gTU5FTU9OSUNBO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9O1xuXG5cdGNvbnN0IG1uZW1vbmljYSA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoZ2FpYSk7XG5cblx0UmVmbGVjdC5zZXRQcm90b3R5cGVPZihNbmVtb25pY2EucHJvdG90eXBlLCBtbmVtb25pY2EpO1xuXG5cdE9iamVjdC5lbnRyaWVzKE1uZW1vbmljYVByb3RvUHJvcHMpLmZvckVhY2goKFsgbmFtZSwgbWV0aG9kIF06IFtzdHJpbmcsIGFueV0pID0+IHtcblx0XHRvZHAoTW5lbW9uaWNhLnByb3RvdHlwZSwgbmFtZSwge1xuXHRcdFx0Z2V0ICh0aGlzOiBhbnkpIHtcblx0XHRcdFx0cmV0dXJuIG1ldGhvZC5jYWxsKHRoaXMpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9KTtcblxuXHRPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKE1uZW1vbmljYVByb3RvUHJvcHMpLmZvckVhY2goKHN5bWJvbDogc3ltYm9sKSA9PiB7XG5cdFx0b2RwKE1uZW1vbmljYS5wcm90b3R5cGUsIHN5bWJvbCwge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0Y29uc3Qgc3ltYm9sTWV0aG9kID0gUmVmbGVjdC5nZXQoTW5lbW9uaWNhUHJvdG9Qcm9wcywgc3ltYm9sKTtcblx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdHJldHVybiBzeW1ib2xNZXRob2QuY2FsbCh0aGlzKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSk7XG5cblx0Ly8gaW5zdGFuY2Ugb2Ygc2VsZiBDb25zdHJ1Y3RvciB0eXBlXG5cdG9kcChNbmVtb25pY2EucHJvdG90eXBlLCBTeW1ib2wuaGFzSW5zdGFuY2UsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIGdldFR5cGVDaGVja2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAoTW5lbW9uaWNhLnByb3RvdHlwZSwgU3ltYm9sR2FpYSwge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZ2FpYTtcblx0XHR9XG5cdH0pO1xuXG5cdGNvbnN0IHByb3RvID0gbmV3IE1uZW1vbmljYSgpO1xuXG5cdFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoaW5zdGFuY2UsIHByb3RvKTtcblxuXHRJbnN0YW5jZVJvb3RzLnNldChpbnN0YW5jZSwgcHJvdG8pO1xuXG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248dHlwZW9mIE1uZW1vbmljYVByb3RvUHJvcHM+O1xuXG5jb25zdCBjcmVhdGVNbmVtb3N5bmUgPSBmdW5jdGlvbiAoVXJhbnVzOiB1bmtub3duKSB7XG5cdC8vIGNvbnN0cnVjdHMgbmV3IEdhaWEgLT4gbmV3IE1uZW1vc3luZVxuXHQvLyB0byBidWlsZCB0aGUgZmlyc3QgaW5zdGFuY2UgaW4gY2hhaW5cblx0Y29uc3QgdXJhbnVzID0gcmVmbGVjdFByaW1pdGl2ZVdyYXBwZXJzKFVyYW51cyk7XG5cdGNvbnN0IG1uZW1vc3luZSA9IG5ldyBNbmVtb3N5bmUobmV3IEdhaWEodXJhbnVzKSk7XG5cdGNvbnN0IG1uZW1vc3luZVByb3h5ID0gbmV3IFByb3h5KG1uZW1vc3luZSwge1xuXHRcdGdldCA6IG1uZW1vc3luZVByb3h5SGFuZGxlckdldFxuXHR9KTtcblxuXHRyZXR1cm4gbW5lbW9zeW5lUHJveHk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdEdhaWEsXG5cdGdldCBjcmVhdGVNbmVtb3N5bmUgKCkge1xuXHRcdHJldHVybiBjcmVhdGVNbmVtb3N5bmU7XG5cdH0sXG5cdC8vIGdldCBNbmVtb3N5bmVQcm90b3R5cGVLZXlzICgpIHtcblx0Ly8gXHRyZXR1cm4gTW5lbW9zeW5lUHJvdG90eXBlS2V5cztcblx0Ly8gfSxcblx0Ly8gZ2V0IEluc3RhbmNlUm9vdHMgKCkge1xuXHQvLyBcdHJldHVybiBJbnN0YW5jZVJvb3RzO1xuXHQvLyB9XG59O1xuIl19
@@ -0,0 +1,43 @@
1
+ export declare const _addProps: (this: any) => any;
2
+ export type CollectionDef = {
3
+ define: CallableFunction;
4
+ lookup: CallableFunction;
5
+ invokeHook: CallableFunction;
6
+ registerHook: CallableFunction;
7
+ registerFlowChecker: CallableFunction;
8
+ subtypes: object;
9
+ hooks: object;
10
+ [key: string]: unknown;
11
+ };
12
+ export type TypeDef = {
13
+ proto: object;
14
+ collection: CollectionDef;
15
+ invokeHook: CallableFunction;
16
+ config: {
17
+ strictChain: boolean;
18
+ };
19
+ subtypes: Map<string, Props>;
20
+ isSubType: boolean;
21
+ TypeName: string;
22
+ prototype: unknown;
23
+ stack?: string;
24
+ };
25
+ export type Props = {
26
+ __proto_proto__: object;
27
+ __args__: unknown[];
28
+ __collection__: CollectionDef;
29
+ __subtypes__: Map<string, object>;
30
+ __type__: TypeDef;
31
+ __parent__: Props;
32
+ __stack__?: string;
33
+ __creator__: TypeDef;
34
+ __timestamp__: number;
35
+ __self__?: {
36
+ extract: CallableFunction;
37
+ [key: string]: unknown;
38
+ };
39
+ };
40
+ export declare const _getProps: (instance: object, base?: object) => Props | undefined;
41
+ export declare const _setSelf: (instance: object) => void;
42
+ export declare const getProps: (instance: object) => Props | undefined;
43
+ export declare const setProps: (instance: object, _values: object) => string[] | false;