mnemonica 0.9.992 → 0.9.995

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 (77) 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 +1 -1
  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.js +5 -4
  12. package/build/api/types/InstanceModificator.js +1 -1
  13. package/build/api/types/Mnemosyne.d.ts +1 -15
  14. package/build/api/types/Mnemosyne.js +104 -12
  15. package/build/api/types/TypeProxy.js +6 -89
  16. package/build/api/types/addProps.d.ts +35 -0
  17. package/build/api/types/addProps.js +31 -12
  18. package/build/api/types/compileNewModificatorFunctionBody.d.ts +1 -1
  19. package/build/api/types/compileNewModificatorFunctionBody.js +1 -1
  20. package/build/api/types/createInstanceModificator.js +4 -2
  21. package/build/api/types/index.js +5 -5
  22. package/build/api/types/obeyConstructor.js +4 -9
  23. package/build/api/utils/index.d.ts +1 -1
  24. package/build/api/utils/index.js +12 -8
  25. package/build/constants/index.d.ts +0 -1
  26. package/build/constants/index.js +1 -5
  27. package/build/descriptors/errors/index.js +1 -1
  28. package/build/descriptors/index.js +1 -1
  29. package/build/descriptors/types/index.js +1 -1
  30. package/build/index.d.ts +1 -0
  31. package/build/index.js +4 -2
  32. package/build/types/index.js +1 -1
  33. package/build/utils/collectConstructors.js +1 -1
  34. package/build/utils/defineStackCleaner.js +1 -1
  35. package/build/utils/extract.js +1 -5
  36. package/build/utils/hop.js +1 -1
  37. package/build/utils/index.js +1 -1
  38. package/build/utils/merge.js +1 -1
  39. package/build/utils/parent.js +5 -3
  40. package/build/utils/parse.js +1 -1
  41. package/build/utils/pick.js +1 -1
  42. package/build/utils/toJSON.js +1 -1
  43. package/package.json +12 -12
  44. package/build/api/errors/exceptionConstructor.js.map +0 -1
  45. package/build/api/errors/index.js.map +0 -1
  46. package/build/api/errors/throwModificationError.js.map +0 -1
  47. package/build/api/hooks/flowCheckers.js.map +0 -1
  48. package/build/api/hooks/index.js.map +0 -1
  49. package/build/api/hooks/invokeHook.js.map +0 -1
  50. package/build/api/hooks/registerHook.js.map +0 -1
  51. package/build/api/index.js.map +0 -1
  52. package/build/api/types/InstanceCreator.js.map +0 -1
  53. package/build/api/types/InstanceModificator.js.map +0 -1
  54. package/build/api/types/Mnemosyne.js.map +0 -1
  55. package/build/api/types/TypeProxy.js.map +0 -1
  56. package/build/api/types/addProps.js.map +0 -1
  57. package/build/api/types/compileNewModificatorFunctionBody.js.map +0 -1
  58. package/build/api/types/createInstanceModificator.js.map +0 -1
  59. package/build/api/types/index.js.map +0 -1
  60. package/build/api/types/obeyConstructor.js.map +0 -1
  61. package/build/api/utils/index.js.map +0 -1
  62. package/build/constants/index.js.map +0 -1
  63. package/build/descriptors/errors/index.js.map +0 -1
  64. package/build/descriptors/index.js.map +0 -1
  65. package/build/descriptors/types/index.js.map +0 -1
  66. package/build/index.js.map +0 -1
  67. package/build/types/index.js.map +0 -1
  68. package/build/utils/collectConstructors.js.map +0 -1
  69. package/build/utils/defineStackCleaner.js.map +0 -1
  70. package/build/utils/extract.js.map +0 -1
  71. package/build/utils/hop.js.map +0 -1
  72. package/build/utils/index.js.map +0 -1
  73. package/build/utils/merge.js.map +0 -1
  74. package/build/utils/parent.js.map +0 -1
  75. package/build/utils/parse.js.map +0 -1
  76. package/build/utils/pick.js.map +0 -1
  77. package/build/utils/toJSON.js.map +0 -1
@@ -1,15 +1,13 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeProxy = void 0;
4
- const constants_1 = require("../../constants");
5
- const { SymbolGaia, } = constants_1.constants;
4
+ const utils_1 = require("../utils");
5
+ const { checkProto, } = utils_1.default;
6
6
  const hop_1 = require("../../utils/hop");
7
7
  const errors_1 = require("../../descriptors/errors");
8
8
  const { WRONG_TYPE_DEFINITION, } = errors_1.ErrorsTypes;
9
- const utils_1 = require("../utils");
10
- const { checkProto, getTypeChecker, findSubTypeFromParent, reflectPrimitiveWrappers, } = utils_1.default;
11
9
  const Mnemosyne_1 = require("./Mnemosyne");
12
- const { Gaia, Mnemosyne, MnemosynePrototypeKeys } = Mnemosyne_1.default;
10
+ const { createMnemosyne } = Mnemosyne_1.default;
13
11
  const InstanceCreator_1 = require("./InstanceCreator");
14
12
  exports.TypeProxy = function (__type__, Uranus) {
15
13
  Object.assign(this, {
@@ -66,91 +64,10 @@ exports.TypeProxy.prototype.apply = function (__, Uranus, args) {
66
64
  }
67
65
  return instance;
68
66
  };
69
- const makeSubTypeProxy = function (subtype, inheritedInstance) {
70
- const subtypeProxy = new Proxy(InstanceCreator_1.InstanceCreator, {
71
- get(Target, _prop) {
72
- if (_prop === Symbol.hasInstance) {
73
- return getTypeChecker(subtype.TypeName);
74
- }
75
- return Reflect.get(Target, _prop);
76
- },
77
- construct(Target, _args) {
78
- return new Target(subtype, inheritedInstance, _args);
79
- },
80
- apply(Target, thisArg = inheritedInstance, _args) {
81
- let existentInstance = reflectPrimitiveWrappers(thisArg);
82
- if (!existentInstance[SymbolGaia]) {
83
- const gaia = new Mnemosyne(new Gaia(existentInstance));
84
- existentInstance = new Proxy(gaia, {
85
- get: gaiaProxyHandlerGet
86
- });
87
- }
88
- const entity = new Target(subtype, existentInstance, _args);
89
- return entity;
90
- },
91
- });
92
- return subtypeProxy;
93
- };
94
- const MnemonicaInstanceProps = [
95
- '__proto_proto__',
96
- '__type__',
97
- '__self__',
98
- '__args__',
99
- '__parent__',
100
- '__subtypes__',
101
- '__stack__',
102
- '__collection__',
103
- '__timestamp__',
104
- '__creator__'
105
- ].concat(MnemosynePrototypeKeys);
106
- const staticProps = [
107
- 'constructor',
108
- 'prototype',
109
- 'then',
110
- 'stack',
111
- 'message',
112
- 'domain',
113
- 'on',
114
- 'once',
115
- 'off',
116
- 'inspect',
117
- 'showDiff',
118
- ]
119
- .concat(MnemonicaInstanceProps)
120
- .concat(Object.getOwnPropertyNames(Object.prototype))
121
- .concat(Object.getOwnPropertyNames(Function.prototype))
122
- .reduce((obj, key) => {
123
- obj[key] = true;
124
- return obj;
125
- }, Object.create(null));
126
- const gaiaProxyHandlerGet = (target, prop, receiver) => {
127
- const result = Reflect.get(target, prop, receiver);
128
- if (result !== undefined) {
129
- return result;
130
- }
131
- if (typeof prop === 'symbol') {
132
- return result;
133
- }
134
- if (staticProps[prop]) {
135
- return result;
136
- }
137
- const instance = Reflect.getPrototypeOf(receiver);
138
- const { __type__: { config: { strictChain }, subtypes }, } = instance;
139
- const subtype = subtypes.has(prop) ?
140
- subtypes.get(prop) :
141
- strictChain ?
142
- undefined :
143
- findSubTypeFromParent(instance, prop);
144
- return subtype ? makeSubTypeProxy(subtype, receiver) : result;
145
- };
146
67
  exports.TypeProxy.prototype.construct = function (__, args) {
147
68
  const { __type__: type, Uranus } = this;
148
- const uranus = reflectPrimitiveWrappers(Uranus);
149
- const gaia = new Mnemosyne(new Gaia(uranus));
150
- const gaiaProxy = new Proxy(gaia, {
151
- get: gaiaProxyHandlerGet
152
- });
153
- const instance = new InstanceCreator_1.InstanceCreator(type, gaiaProxy, args);
69
+ const mnemosyneProxy = createMnemosyne(Uranus);
70
+ const instance = new InstanceCreator_1.InstanceCreator(type, mnemosyneProxy, args);
154
71
  return instance;
155
72
  };
156
- //# sourceMappingURL=TypeProxy.js.map
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZVByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9UeXBlUHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7QUFLYixvQ0FBa0M7QUFDbEMsTUFBTSxFQUNMLFVBQVUsR0FDVixHQUFHLGVBQVUsQ0FBQztBQUVmLHlDQUFzQztBQUV0QyxxREFBdUQ7QUFDdkQsTUFBTSxFQUNMLHFCQUFxQixHQUNyQixHQUFHLG9CQUFXLENBQUM7QUFFaEIsMkNBQXFDO0FBQ3JDLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxtQkFBVSxDQUFDO0FBRXZDLHVEQUFvRDtBQUl2QyxRQUFBLFNBQVMsR0FBRyxVQUFXLFFBQWEsRUFBRSxNQUFlO0lBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQUUsSUFBSSxFQUFFO1FBQ3BCLFFBQVE7UUFDUixNQUFNO0tBQ04sQ0FBRSxDQUFDO0lBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUUsaUNBQWUsRUFBRSxJQUFJLENBQUUsQ0FBQztJQUNyRCxPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUE2QixDQUFDO0FBRTlCLGlCQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFXLE1BQVcsRUFBRSxJQUFtQjtJQUlwRSxNQUFNLEVBQ0wsUUFBUSxFQUFFLElBQUksRUFDZCxHQUFHLElBQUksQ0FBQztJQUtULElBQUssSUFBSSxLQUFLLFdBQVcsRUFBRyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ3JDLElBQUssZUFBZSxFQUFHLENBQUM7UUFDdkIsT0FBTyxlQUFlLENBQUM7SUFDeEIsQ0FBQztJQUlELElBQUssSUFBQSxTQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxFQUFHLENBQUM7UUFDekIsT0FBTyxlQUFlLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFFLEVBQUcsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUUsTUFBTSxFQUFFLElBQUksQ0FBRSxDQUFDO0FBRXBDLENBQUMsQ0FBQztBQUVGLGlCQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFXLEVBQU8sRUFBRSxJQUFZLEVBQUUsS0FBVTtJQUVyRSxNQUFNLEVBQ0wsUUFBUSxFQUFFLElBQUksRUFDZCxHQUFHLElBQUksQ0FBQztJQUdULElBQUssSUFBSSxLQUFLLFdBQVcsRUFBRyxDQUFDO1FBQzVCLFVBQVUsQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFLLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQztRQUNoRCxNQUFNLElBQUkscUJBQXFCLENBQUUseUNBQXlDLENBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSyxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUcsQ0FBQztRQUNuQyxNQUFNLElBQUkscUJBQXFCLENBQUUseUNBQXlDLENBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQztJQUUxQixJQUFJLENBQUMsTUFBTSxDQUFFLFFBQVEsRUFBRSxXQUFXLENBQUUsQ0FBQztJQUNyQyxPQUFPLElBQUksQ0FBQztBQUViLENBQUMsQ0FBQztBQUdGLGlCQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxVQUFXLEVBQVcsRUFBRSxNQUFlLEVBQUUsSUFBZTtJQUNuRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFLLE1BQU0sRUFBRyxDQUFDO1FBQ2QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFTLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBRSxDQUFDO1FBQzNELFFBQVEsR0FBRyxJQUFJLG9CQUFvQixDQUFFLEdBQUcsSUFBSSxDQUFFLENBQUM7SUFDaEQsQ0FBQztTQUFNLENBQUM7UUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUtGLGlCQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxVQUFXLEVBQVcsRUFBRSxJQUFlO0lBSXRFLE1BQU0sRUFDTCxRQUFRLEVBQUUsSUFBSSxFQUNkLE1BQU0sRUFDTixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGlDQUFlLENBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUUsQ0FBQztJQUNuRSxPQUFPLFFBQVEsQ0FBQztBQUVqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IENvbnN0cnVjdG9yRnVuY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRjaGVja1Byb3RvLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGhvcCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvcCc7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OLFxufSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQgbW5lbW9zeW5lcyBmcm9tICcuL01uZW1vc3luZSc7XG5jb25zdCB7IGNyZWF0ZU1uZW1vc3luZSB9ID0gbW5lbW9zeW5lcztcblxuaW1wb3J0IHsgSW5zdGFuY2VDcmVhdG9yIH0gZnJvbSAnLi9JbnN0YW5jZUNyZWF0b3InO1xuXG5pbXBvcnQgeyAvKiBnZXRQcm9wcywgUHJvcHMsICovIFR5cGVEZWYgfSBmcm9tICcuL2FkZFByb3BzJztcblxuZXhwb3J0IGNvbnN0IFR5cGVQcm94eSA9IGZ1bmN0aW9uICggX190eXBlX186IGFueSwgVXJhbnVzOiB1bmtub3duICkge1xuXHRPYmplY3QuYXNzaWduKCB0aGlzLCB7XG5cdFx0X190eXBlX18sXG5cdFx0VXJhbnVzXG5cdH0gKTtcblx0Y29uc3QgdHlwZVByb3h5ID0gbmV3IFByb3h5KCBJbnN0YW5jZUNyZWF0b3IsIHRoaXMgKTtcblx0cmV0dXJuIHR5cGVQcm94eTtcbn0gYXMgQ29uc3RydWN0b3JGdW5jdGlvbjxhbnk+O1xuXG5UeXBlUHJveHkucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICggdGFyZ2V0OiBhbnksIHByb3A6IGtleW9mIFR5cGVEZWYgKSB7XG5cdFxuXHQvLyBjb25zdCBwcm9wcyA9IGdldFByb3BzKHRoaXMpIGFzIFByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXzogdHlwZVxuXHR9ID0gdGhpcztcblxuXHQvLyBwcm90b3R5cGUgb2YgcHJveHlcblx0Ly8gY29uc3QgaW5zdGFuY2UgPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKHJlY2VpdmVyKTtcblxuXHRpZiAoIHByb3AgPT09ICdwcm90b3R5cGUnICkge1xuXHRcdHJldHVybiB0eXBlLnByb3RvO1xuXHR9XG5cblx0Y29uc3QgcHJvcERlY2xhcmF0aW9uID0gdHlwZVsgcHJvcCBdO1xuXHRpZiAoIHByb3BEZWNsYXJhdGlvbiApIHtcblx0XHRyZXR1cm4gcHJvcERlY2xhcmF0aW9uO1xuXHR9XG5cblx0Ly8gdXNlZCBmb3IgZXhpc3RlbnQgcHJvcHMgd2l0aCB2YWx1ZVxuXHQvLyB1bmRlZmluZWQgfHwgbnVsbCB8fCBmYWxzZVxuXHRpZiAoIGhvcCggdHlwZSwgcHJvcCApICkge1xuXHRcdHJldHVybiBwcm9wRGVjbGFyYXRpb247XG5cdH1cblxuXHQvLyBTb21lVHlwZS5Tb21lU3ViVHlwZVxuXHRpZiAoIHR5cGUuc3VidHlwZXMuaGFzKCBwcm9wICkgKSB7XG5cdFx0cmV0dXJuIHR5cGUuc3VidHlwZXMuZ2V0KCBwcm9wICk7XG5cdH1cblxuXHRyZXR1cm4gUmVmbGVjdC5nZXQoIHRhcmdldCwgcHJvcCApO1xuXG59O1xuXG5UeXBlUHJveHkucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICggX186IGFueSwgbmFtZTogc3RyaW5nLCB2YWx1ZTogYW55ICkge1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXzogdHlwZVxuXHR9ID0gdGhpcztcblxuXHQvLyBpcyBhYm91dCBzZXR0aW5nIGEgcHJvdG90eXBlIHRvIFR5cGVcblx0aWYgKCBuYW1lID09PSAncHJvdG90eXBlJyApIHtcblx0XHRjaGVja1Byb3RvKCB2YWx1ZSApO1xuXHRcdHR5cGUucHJvdG8gPSB2YWx1ZTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdGlmICggdHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnIHx8ICFuYW1lLmxlbmd0aCApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCAnc2hvdWxkIHVzZSBub24gZW1wdHkgc3RyaW5nIGFzIFR5cGVOYW1lJyApO1xuXHR9XG5cblx0aWYgKCB0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ3Nob3VsZCB1c2UgZnVuY3Rpb24gZm9yIHR5cGUgZGVmaW5pdGlvbicgKTtcblx0fVxuXG5cdGNvbnN0IFR5cGVOYW1lID0gbmFtZTtcblx0Y29uc3QgQ29uc3RydWN0b3IgPSB2YWx1ZTtcblxuXHR0eXBlLmRlZmluZSggVHlwZU5hbWUsIENvbnN0cnVjdG9yICk7XG5cdHJldHVybiB0cnVlO1xuXG59O1xuXG5cblR5cGVQcm94eS5wcm90b3R5cGUuYXBwbHkgPSBmdW5jdGlvbiAoIF9fOiB1bmtub3duLCBVcmFudXM6IHVua25vd24sIGFyZ3M6IHVua25vd25bXSApIHtcblx0Y29uc3QgdHlwZSA9IHRoaXMuX190eXBlX187XG5cdGxldCBpbnN0YW5jZSA9IG51bGw7XG5cdGlmICggVXJhbnVzICkge1xuXHRcdGNvbnN0IEluc3RhbmNlQ3JlYXRvclByb3h5ID0gbmV3IFR5cGVQcm94eSggdHlwZSwgVXJhbnVzICk7XG5cdFx0aW5zdGFuY2UgPSBuZXcgSW5zdGFuY2VDcmVhdG9yUHJveHkoIC4uLmFyZ3MgKTtcblx0fSBlbHNlIHtcblx0XHRpbnN0YW5jZSA9IHRoaXMuY29uc3RydWN0KCBudWxsLCBhcmdzICk7XG5cdH1cblx0cmV0dXJuIGluc3RhbmNlO1xufTtcblxuXG5cblxuVHlwZVByb3h5LnByb3RvdHlwZS5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAoIF9fOiB1bmtub3duLCBhcmdzOiB1bmtub3duW10gKSB7XG5cblx0Ly8gbmV3LnRhcmdldCBpZCBlcXVhbCB3aXRoIHRhcmdldCBoZXJlXG5cdFxuXHRjb25zdCB7XG5cdFx0X190eXBlX186IHR5cGUsXG5cdFx0VXJhbnVzXG5cdH0gPSB0aGlzO1xuXG5cdGNvbnN0IG1uZW1vc3luZVByb3h5ID0gY3JlYXRlTW5lbW9zeW5lKFVyYW51cyk7XG5cblx0Y29uc3QgaW5zdGFuY2UgPSBuZXcgSW5zdGFuY2VDcmVhdG9yKCB0eXBlLCBtbmVtb3N5bmVQcm94eSwgYXJncyApO1xuXHRyZXR1cm4gaW5zdGFuY2U7XG5cbn07XG4iXX0=
@@ -1 +1,36 @@
1
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
+ };
36
+ export declare const getProps: (instance: object, base?: object) => Props | undefined;
@@ -1,64 +1,83 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addProps = void 0;
3
+ exports.getProps = exports.addProps = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  const { odp, } = constants_1.constants;
6
+ const props = new WeakMap();
6
7
  const addProps = function () {
7
8
  const self = this;
8
9
  const { type, existentInstance, args, config: { submitStack }, __proto_proto__: proto } = self;
9
10
  const { collection, subtypes, } = type;
10
- odp(proto, '__proto_proto__', {
11
+ const value = Object.create(null);
12
+ odp(value, '__proto_proto__', {
11
13
  get() {
12
14
  return proto;
13
15
  }
14
16
  });
15
- odp(proto, '__args__', {
17
+ odp(value, '__args__', {
16
18
  get() {
17
19
  return args;
18
20
  }
19
21
  });
20
- odp(proto, '__collection__', {
22
+ odp(value, '__collection__', {
21
23
  get() {
22
24
  return collection;
23
25
  }
24
26
  });
25
- odp(proto, '__subtypes__', {
27
+ odp(value, '__subtypes__', {
26
28
  get() {
27
29
  return subtypes;
28
30
  }
29
31
  });
30
- odp(proto, '__type__', {
32
+ odp(value, '__type__', {
31
33
  get() {
32
34
  return type;
33
35
  }
34
36
  });
35
- odp(proto, '__parent__', {
37
+ odp(value, '__parent__', {
36
38
  get() {
37
39
  return existentInstance;
38
40
  }
39
41
  });
40
42
  if (submitStack) {
41
43
  const { stack } = this;
42
- odp(proto, '__stack__', {
44
+ odp(value, '__stack__', {
43
45
  get() {
44
46
  return stack.join('\n');
45
47
  }
46
48
  });
47
49
  }
48
- odp(proto, '__creator__', {
50
+ odp(value, '__creator__', {
49
51
  get() {
50
52
  return self;
51
53
  }
52
54
  });
53
55
  const timestamp = Date.now();
54
- odp(proto, '__timestamp__', {
56
+ odp(value, '__timestamp__', {
55
57
  get() {
56
58
  return timestamp;
57
59
  }
58
60
  });
61
+ props.set(proto, value);
59
62
  };
60
63
  exports.addProps = addProps;
64
+ const getProps = (instance, base) => {
65
+ const proto = Reflect.getPrototypeOf(instance);
66
+ if (base !== undefined && (base.constructor !== proto.constructor)) {
67
+ return undefined;
68
+ }
69
+ const result = props.get(proto);
70
+ if (result === undefined) {
71
+ if (base === undefined) {
72
+ base = instance;
73
+ }
74
+ return (0, exports.getProps)(proto, base);
75
+ }
76
+ return result;
77
+ };
78
+ exports.getProps = getProps;
61
79
  module.exports = {
62
- addProps: exports.addProps
80
+ addProps: exports.addProps,
81
+ getProps: exports.getProps
63
82
  };
64
- //# sourceMappingURL=addProps.js.map
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2FkZFByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBRTVDLE1BQU0sRUFDTCxHQUFHLEdBQ0gsR0FBRyxxQkFBUyxDQUFDO0FBRWQsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUVyQixNQUFNLFFBQVEsR0FBRztJQU12QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxFQUNMLElBQUksRUFDSixnQkFBZ0IsRUFDaEIsSUFBSSxFQUNKLE1BQU0sRUFBRSxFQUNQLFdBQVcsRUFDWCxFQUNELGVBQWUsRUFBRSxLQUFLLEVBQ3RCLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxFQUNMLFVBQVUsRUFDVixRQUFRLEdBQ1IsR0FBRyxJQUFJLENBQUM7SUFFVCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWxDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7UUFDN0IsR0FBRztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztLQUNELENBQUMsQ0FBQztJQUVILEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQ3RCLEdBQUc7WUFDRixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFO1FBQzVCLEdBQUc7WUFDRixPQUFPLFVBQVUsQ0FBQztRQUNuQixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7UUFDMUIsR0FBRztZQUNGLE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN0QixHQUFHO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUU7UUFDeEIsR0FBRztZQUNGLE9BQU8sZ0JBQWdCLENBQUM7UUFDekIsQ0FBQztLQUNELENBQUMsQ0FBQztJQUVILElBQUksV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixHQUFHLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRTtZQUN2QixHQUFHO2dCQUNGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQ3pCLEdBQUc7WUFDRixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsR0FBRyxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7UUFDM0IsR0FBRztZQUNGLE9BQU8sU0FBUyxDQUFDO1FBQ2xCLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV6QixDQUFDLENBQUM7QUFyRlcsUUFBQSxRQUFRLFlBcUZuQjtBQXdDSyxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQWdCLEVBQUUsSUFBYSxFQUFxQixFQUFFO0lBQzlFLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFXLENBQUM7SUFDekQsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUVwRSxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUEsZ0JBQVEsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBZFcsUUFBQSxRQUFRLFlBY25CO0FBRUYsTUFBTSxDQUFDLE9BQU8sR0FBRztJQUNoQixRQUFRLEVBQVIsZ0JBQVE7SUFDUixRQUFRLEVBQVIsZ0JBQVE7Q0FDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuXG5jb25zdCB7XG5cdG9kcCxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHByb3BzID0gbmV3IFdlYWtNYXAoKTtcblxuZXhwb3J0IGNvbnN0IGFkZFByb3BzID0gZnVuY3Rpb24gKHRoaXM6IGFueSk6IGFueSB7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlYnVnZ2VyXG5cdC8vIGRlYnVnZ2VyO1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0Y29uZmlnOiB7XG5cdFx0XHRzdWJtaXRTdGFja1xuXHRcdH0sXG5cdFx0X19wcm90b19wcm90b19fOiBwcm90b1xuXHR9ID0gc2VsZjtcblxuXHRjb25zdCB7XG5cdFx0Y29sbGVjdGlvbixcblx0XHRzdWJ0eXBlcyxcblx0fSA9IHR5cGU7XG5cblx0Y29uc3QgdmFsdWUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5cdG9kcCh2YWx1ZSwgJ19fcHJvdG9fcHJvdG9fXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHByb3RvO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19hcmdzX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19jb2xsZWN0aW9uX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBjb2xsZWN0aW9uO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19zdWJ0eXBlc19fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3R5cGVfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHR5cGU7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3BhcmVudF9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZXhpc3RlbnRJbnN0YW5jZTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChzdWJtaXRTdGFjaykge1xuXHRcdGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG5cdFx0b2RwKHZhbHVlLCAnX19zdGFja19fJywge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN0YWNrLmpvaW4oJ1xcbicpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0b2RwKHZhbHVlLCAnX19jcmVhdG9yX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBzZWxmO1xuXHRcdH1cblx0fSk7XG5cblx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblx0b2RwKHZhbHVlLCAnX190aW1lc3RhbXBfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHRpbWVzdGFtcDtcblx0XHR9XG5cdH0pO1xuXG5cdHByb3BzLnNldChwcm90bywgdmFsdWUpO1xuXG59O1xuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uRGVmID0ge1xuXHRkZWZpbmU6IENhbGxhYmxlRnVuY3Rpb25cblx0bG9va3VwOiBDYWxsYWJsZUZ1bmN0aW9uXG5cdGludm9rZUhvb2s6IENhbGxhYmxlRnVuY3Rpb25cblx0cmVnaXN0ZXJIb29rOiBDYWxsYWJsZUZ1bmN0aW9uXG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXI6IENhbGxhYmxlRnVuY3Rpb25cblx0c3VidHlwZXM6IG9iamVjdFxuXHRob29rczogb2JqZWN0XG5cdFtrZXk6IHN0cmluZ106IHVua25vd25cbn1cbi8vIHwgTWFwPHN0cmluZywgb2JqZWN0PlxuXG5leHBvcnQgdHlwZSBUeXBlRGVmID0ge1xuXHRwcm90bzogb2JqZWN0O1xuXHRjb2xsZWN0aW9uOiBDb2xsZWN0aW9uRGVmXG5cdGludm9rZUhvb2s6IENhbGxhYmxlRnVuY3Rpb25cblx0Y29uZmlnOiB7XG5cdFx0c3RyaWN0Q2hhaW46IGJvb2xlYW5cblx0fVxuXHRzdWJ0eXBlczogTWFwPHN0cmluZywgUHJvcHM+XG5cdGlzU3ViVHlwZTogYm9vbGVhblxuXHRUeXBlTmFtZTogc3RyaW5nXG5cdHByb3RvdHlwZTogdW5rbm93blxuXHRzdGFjaz86IHN0cmluZ1xufTtcblxuZXhwb3J0IHR5cGUgUHJvcHMgPSB7XG5cdF9fcHJvdG9fcHJvdG9fXzogb2JqZWN0LFxuXHRfX2FyZ3NfXzogdW5rbm93bltdLFxuXHRfX2NvbGxlY3Rpb25fXzogQ29sbGVjdGlvbkRlZixcblx0X19zdWJ0eXBlc19fOiBNYXA8c3RyaW5nLCBvYmplY3Q+LFxuXHRfX3R5cGVfXzogVHlwZURlZixcblx0X19wYXJlbnRfXzogUHJvcHMsXG5cdF9fc3RhY2tfXz86IHN0cmluZyxcblx0X19jcmVhdG9yX186IFR5cGVEZWYsXG5cdF9fdGltZXN0YW1wX186IG51bWJlcixcbn1cblxuZXhwb3J0IGNvbnN0IGdldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIGJhc2U/OiBvYmplY3QpOiBQcm9wcyB8IHVuZGVmaW5lZCA9PiB7XG5cdGNvbnN0IHByb3RvID0gUmVmbGVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSkgYXMgb2JqZWN0O1xuXHRpZiAoYmFzZSAhPT0gdW5kZWZpbmVkICYmIChiYXNlLmNvbnN0cnVjdG9yICE9PSBwcm90by5jb25zdHJ1Y3RvcikpIHtcblx0XHQvLyBoZXJlIHdlIGdvdCByaWQgb2YgdW5uZWNlc3NhcnkgY2hhaW4gZGl2ZVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cblx0Y29uc3QgcmVzdWx0ID0gcHJvcHMuZ2V0KHByb3RvKTtcblx0aWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0aWYgKGJhc2UgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0YmFzZSA9IGluc3RhbmNlO1xuXHRcdH1cblx0XHRyZXR1cm4gZ2V0UHJvcHMocHJvdG8sIGJhc2UpO1xuXHR9XG5cdHJldHVybiByZXN1bHQ7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0YWRkUHJvcHMsXG5cdGdldFByb3BzXG59O1xuIl19
@@ -1,2 +1,2 @@
1
- declare const compileNewModificatorFunctionBody: (FunctionName: string, asClass?: boolean) => (ConstructHandler: any, CreationHandler: any, SymbolConstructorName: symbol) => any;
1
+ declare const compileNewModificatorFunctionBody: (FunctionName: string, asClass?: boolean) => (ConstructHandler: CallableFunction, CreationHandler: CallableFunction, SymbolConstructorName: symbol) => any;
2
2
  export default compileNewModificatorFunctionBody;
@@ -49,4 +49,4 @@ const compileNewModificatorFunctionBody = function (FunctionName, asClass = fals
49
49
  };
50
50
  };
51
51
  exports.default = compileNewModificatorFunctionBody;
52
- //# sourceMappingURL=compileNewModificatorFunctionBody.js.map
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9jb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQWtDYixNQUFNLG1CQUFtQixHQUFHLENBQUUsZ0JBQXFCLEVBQUUsZUFBb0IsRUFBSSxFQUFFO0lBQzlFLE9BQU8sS0FBTSxTQUFRLGdCQUFnQjtRQUNwQyxZQUFjLEdBQUcsSUFBVztZQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztZQUVoQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBRSxDQUFDO1FBQzdDLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxDQUFFLGdCQUFxQixFQUFFLGVBQW9CLEVBQUksRUFBRTtJQUNqRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUUsQ0FBQztJQUM1RSxPQUFPLFVBQXNCLEdBQUcsSUFBVztRQUMxQyxJQUFJLE1BQU0sQ0FBQztRQUlYLElBQUssQ0FBQyxPQUFPLEVBQUcsQ0FBQztZQUNoQixNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1lBQzFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUV4RCxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1lBQ3pDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDckMsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBRSxJQUFJLEVBQUUsTUFBTSxDQUFFLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBRyxVQUFXLFlBQW9CLEVBQUUsT0FBTyxHQUFHLEtBQUs7SUFDekYsT0FBTyxVQUFXLGdCQUFrQyxFQUFFLGVBQWlDLEVBQUUscUJBQTZCO1FBQ3JILE9BQU87WUFDTixJQUFJLGdCQUFxQixDQUFDO1lBQzFCLElBQUssT0FBTyxFQUFHLENBQUM7Z0JBQ2YsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFFLENBQUM7WUFDN0UsQ0FBQztpQkFBTSxDQUFDO2dCQUlQLGdCQUFnQixHQUFHLHNCQUFzQixDQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBRSxDQUFDO1lBQ2hGLENBQUM7WUFDRCxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO1lBQzFELE1BQU0sQ0FBQyxjQUFjLENBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUU7Z0JBQ3RFLEtBQUssRUFBTSxZQUFZO2dCQUN2QixRQUFRLEVBQUcsS0FBSzthQUNoQixDQUFFLENBQUM7WUFDSixNQUFNLENBQUMsY0FBYyxDQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFO2dCQUMvRCxHQUFHO29CQUVGLE9BQU8sWUFBWSxDQUFDO2dCQUNyQixDQUFDO2FBQ0QsQ0FBRSxDQUFDO1lBSUosT0FBTyxnQkFBZ0IsQ0FBQztRQUN6QixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixrQkFBZSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLypcblxuLy8gaXQgaXMgbm90IHRoYXQgZWFzeVxuLy8gY29uc3RydWN0b3IgbmFtZSBkaWFwcGVhcnMgd2hlbiB5b3UgbG9vayBvbiAndGhpcydcbi8vIHVzaW5nIENocm9tZSBEZXYgdG9vbHMgZGVidWdnZXIgZm9yIGV4YW1wbGVcbi8vIGFkZGluZyAnZGVidWdnZXI7JyBrZXl3b3JkIG5leHQgbGluZSB0byBcbi8vICdjb25zdCBhbnN3ZXIgPSAnIHNlZSBleGFtcGxlIGRvd24gYmVsb3dcblxuLy8gdGhvdWdodCBmb3IgY29uc29sZS5sb2cgaXQgaXMgdGhlcmVcblxuLy8gQWxzbywgYXMgaXQgaXMgd3JpdHRlbiBoZXJlXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9GdW5jdGlvbi9uYW1lXG5cbi8vIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBtaWdodCBiZSBvYmZ1c2NhdGVkIGR1cmluZyBidW5kbGluZ1xuLy8gdGhlcmVmb3JlIGl0IHNlZW1zIHRvIGJlIG1vcmUgY29ycmVjdCB0byBpbXBsZW1lbnQgdXNpbmcgJ25ldyBGdW5jdGlvbidcblxuLy8gdGhlcmVmb3JlIGNvbnNpZGVyaW5nIHdlIGhhdmUgb3BlbiBidWcgbm93OlxuLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTM1MDQwNFxuLy8gcmVsYXRlZCB0byB0aGUgbGlua3MgYmVsb3dcbi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3dlbnRvdXQvNWRjZGQzNGY5MjY0NjBkODljOGMxNTUyZDFiYmMzZDdcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0Z1bmN0aW9uL25hbWVcblxuLy8gd2Ugd2lsbCB1c2UgbmV4dCBzb2x1dGlvbiBhcyB3b3JraW5nIGNvZGVcbi8vIGJlY2F1c2UgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIGtlcHQgT0tcbi8vIGp1c3QgdGhlIGJ1ZyBpcyBmb3IgQ2hyb21lIERldiBUb29sc1xuXG4vLyBhbmQgYXMgcHJlbGltaW5hcnkgY29tcGlsZWQgZnVuY3Rpb25zIHNvbHV0aW9uIHdvcmtzIGZhc3RlclxuLy8gYW5kIGRvZXMgbm90IHJlcXVpcmUgbmV3IGNvZGUgY29tcGlsYXRpb25cbi8vIHdlIHdpbGwga2VlcCBpdCBmdXJ0aGVyXG5cbiovXG5cbmNvbnN0IGdldENsYXNzQ29uc3RydWN0b3IgPSAoIENvbnN0cnVjdEhhbmRsZXI6IGFueSwgQ3JlYXRpb25IYW5kbGVyOiBhbnksICkgPT4ge1xuXHRyZXR1cm4gY2xhc3MgZXh0ZW5kcyBDb25zdHJ1Y3RIYW5kbGVyIHtcblx0XHRjb25zdHJ1Y3RvciAoIC4uLmFyZ3M6IGFueVtdICkge1xuXHRcdFx0Y29uc3QgYW5zd2VyID0gc3VwZXIoIC4uLmFyZ3MgKTtcblx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0cmV0dXJuIENyZWF0aW9uSGFuZGxlci5jYWxsKCB0aGlzLCBhbnN3ZXIgKTtcblx0XHR9XG5cdH07XG59O1xuXG5jb25zdCBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yID0gKCBDb25zdHJ1Y3RIYW5kbGVyOiBhbnksIENyZWF0aW9uSGFuZGxlcjogYW55LCApID0+IHtcblx0Y29uc3QgbmV3YWJsZSA9IE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKCBDb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApO1xuXHRyZXR1cm4gZnVuY3Rpb24gKCB0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdICkge1xuXHRcdGxldCBhbnN3ZXI7XG5cdFx0Ly8gaWYgKCFuZXcudGFyZ2V0KSB7XG5cdFx0Ly8gXHRkZWJ1Z2dlcjtcblx0XHQvLyB9XG5cdFx0aWYgKCAhbmV3YWJsZSApIHtcblx0XHRcdGFuc3dlciA9IENvbnN0cnVjdEhhbmRsZXIuY2FsbCggdGhpcywgLi4uYXJncyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBfcHJvdG8gPSBDb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZTtcblx0XHRcdENvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlID0gdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG5cdFx0XHQvLyBPYmplY3Quc2V0UHJvdG90eXBlT2YoQ29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUsIE9iamVjdC5jcmVhdGUodGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpKTtcblx0XHRcdGFuc3dlciA9IG5ldyBDb25zdHJ1Y3RIYW5kbGVyKCAuLi5hcmdzICk7XG5cdFx0XHRDb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IF9wcm90bztcblx0XHR9XG5cdFx0cmV0dXJuIENyZWF0aW9uSGFuZGxlci5jYWxsKCB0aGlzLCBhbnN3ZXIgKTtcblx0fTtcbn07XG5cbmNvbnN0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uICggRnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFzQ2xhc3MgPSBmYWxzZSApIHtcblx0cmV0dXJuIGZ1bmN0aW9uICggQ29uc3RydWN0SGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbiwgQ3JlYXRpb25IYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uLCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWU6IHN5bWJvbCApOiBhbnkge1xuXHRcdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRsZXQgTW9kaWZpY2F0aW9uQm9keTogYW55O1xuXHRcdFx0aWYgKCBhc0NsYXNzICkge1xuXHRcdFx0XHRNb2RpZmljYXRpb25Cb2R5ID0gZ2V0Q2xhc3NDb25zdHJ1Y3RvciggQ29uc3RydWN0SGFuZGxlciwgQ3JlYXRpb25IYW5kbGVyICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBjb25zdCBSZU5hbWVkQ29uc3RydWN0SGFuZGxlciA9IHt9IGFzIGFueTtcblx0XHRcdFx0Ly8gUmVOYW1lZENvbnN0cnVjdEhhbmRsZXJbRnVuY3Rpb25OYW1lXSA9IENvbnN0cnVjdEhhbmRsZXI7XG5cdFx0XHRcdC8vIE1vZGlmaWNhdGlvbkJvZHkgPSBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yKFJlTmFtZWRDb25zdHJ1Y3RIYW5kbGVyW0Z1bmN0aW9uTmFtZV0sIENyZWF0aW9uSGFuZGxlcik7XG5cdFx0XHRcdE1vZGlmaWNhdGlvbkJvZHkgPSBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yKCBDb25zdHJ1Y3RIYW5kbGVyLCBDcmVhdGlvbkhhbmRsZXIgKTtcblx0XHRcdH1cblx0XHRcdE1vZGlmaWNhdGlvbkJvZHkucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTW9kaWZpY2F0aW9uQm9keTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSggTW9kaWZpY2F0aW9uQm9keS5wcm90b3R5cGUuY29uc3RydWN0b3IsICduYW1lJywge1xuXHRcdFx0XHR2YWx1ZSAgICA6IEZ1bmN0aW9uTmFtZSxcblx0XHRcdFx0d3JpdGFibGUgOiBmYWxzZVxuXHRcdFx0fSApO1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KCBNb2RpZmljYXRpb25Cb2R5LCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsIHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHQvLyByZXR1cm4gbmV3IFN0cmluZyggRnVuY3Rpb25OYW1lICk7XG5cdFx0XHRcdFx0cmV0dXJuIEZ1bmN0aW9uTmFtZTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdFx0Ly8gT2JqZWN0LmZyZWV6ZSggTW9kaWZpY2F0aW9uQm9keS5wcm90b3R5cGUuY29uc3RydWN0b3IgKTtcblx0XHRcdC8vIE9iamVjdC5mcmVlemUoIE1vZGlmaWNhdGlvbkJvZHkucHJvdG90eXBlICk7XG5cdFx0XHQvLyBPYmplY3QuZnJlZXplKCBNb2RpZmljYXRpb25Cb2R5ICk7XG5cdFx0XHRyZXR1cm4gTW9kaWZpY2F0aW9uQm9keTtcblx0XHR9O1xuXHR9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5O1xuXG5cbi8qXG5cbi8vIGhvd2V2ZXIsIGZvciBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGlzIGdvaW5nIG9uIGhlcmVcbi8vIEknZCBsaWtlIHRvIHByb3ZpZGUgXG5cbmNvbnN0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uICggRnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFzQ2xhc3MgPSBmYWxzZSApIHtcblxuXHRjb25zdCBkdCA9IGAke0RhdGUubm93KCl9XyR7YCR7TWF0aC5yYW5kb20oKX1gLnNwbGl0KCAnLicgKVsgMSBdfWA7XG5cblx0Y29uc3QgbW9kU3RyaW5nID0gYXNDbGFzcyA/XG5cblx0XHRgY2xhc3MgJHtGdW5jdGlvbk5hbWV9IGV4dGVuZHMgQ29uc3RydWN0SGFuZGxlcl8ke2R0fSB7XG5cdFx0XHRjb25zdHJ1Y3RvciguLi5hcmdzKSB7XG5cdFx0XHRcdGNvbnN0IGFuc3dlciA9IHN1cGVyKC4uLmFyZ3MpO1xuXHRcdFx0XHRyZXR1cm4gQ3JlYXRpb25IYW5kbGVyXyR7ZHR9LmNhbGwodGhpcywgYW5zd2VyKTtcblx0XHRcdH1cblx0XHR9YFxuXG5cdFx0OlxuXG5cdFx0YGNvbnN0ICR7RnVuY3Rpb25OYW1lfSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG5cdFx0XHRjb25zdCBuZXdhYmxlID0gT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoIENvbnN0cnVjdEhhbmRsZXJfJHtkdH0sICdwcm90b3R5cGUnICk7XG5cdFx0XHRsZXQgYW5zd2VyO1xuXHRcdFx0aWYgKCAhbmV3YWJsZSApIHtcblx0XHRcdFx0YW5zd2VyID0gQ29uc3RydWN0SGFuZGxlcl8ke2R0fS5jYWxsKCB0aGlzLCAuLi5hcmdzICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zdCBfcHJvdG8gPSBDb25zdHJ1Y3RIYW5kbGVyXyR7ZHR9LnByb3RvdHlwZTtcblx0XHRcdFx0Q29uc3RydWN0SGFuZGxlcl8ke2R0fS5wcm90b3R5cGUgPSB0aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcblx0XHRcdFx0YW5zd2VyID0gbmV3IENvbnN0cnVjdEhhbmRsZXJfJHtkdH0oIC4uLmFyZ3MgKTtcblx0XHRcdFx0Q29uc3RydWN0SGFuZGxlcl8ke2R0fS5wcm90b3R5cGUgPSBfcHJvdG87XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gQ3JlYXRpb25IYW5kbGVyXyR7ZHR9LmNhbGwoIHRoaXMsIGFuc3dlciApO1xuXHRcdH07YDtcblxuXHRyZXR1cm4gbmV3IEZ1bmN0aW9uKCBgQ29uc3RydWN0SGFuZGxlcl8ke2R0fWAsIGBDcmVhdGlvbkhhbmRsZXJfJHtkdH1gLCAnU3ltYm9sQ29uc3RydWN0b3JOYW1lJyxcblx0XHRgcmV0dXJuIGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0JHttb2RTdHJpbmd9XG5cblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgke0Z1bmN0aW9uTmFtZX0sIFN5bWJvbENvbnN0cnVjdG9yTmFtZSwge1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgU3RyaW5nKCAnJHtGdW5jdGlvbk5hbWV9JyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuICR7RnVuY3Rpb25OYW1lfTtcblxuXHRcdH07XG5cdGApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5O1xuXG4qL1xuIl19
@@ -19,11 +19,13 @@ function default_1(obey) {
19
19
  (ModificatorType.prototype[name] = value);
20
20
  }
21
21
  });
22
- ModificatorType.prototype.constructor = ModificatorType;
22
+ Object.defineProperty(ModificatorType.prototype, 'constructor', {
23
+ value: ModificatorType
24
+ });
23
25
  Reflect.setPrototypeOf(ModificatorType.prototype, Mnemosyne);
24
26
  obey(existentInstance, ModificatorType);
25
27
  return ModificatorType;
26
28
  };
27
29
  return CreateInstanceModificator;
28
30
  }
29
- //# sourceMappingURL=createInstanceModificator.js.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdHlwZXMvY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBRWIsNEJBbUVDO0FBbkVELG1CQUF5QixJQUFzQjtJQUU5QyxNQUFNLHlCQUF5QixHQUFHLFVBRWpDLGVBQWlDLEVBQ2pDLHdCQUFzRCxFQUN0RCxRQUEwQjtRQUkxQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUs5QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFJcEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFO1lBQy9DLEdBQUc7Z0JBQ0YsT0FBTyxlQUFlLENBQUM7WUFDeEIsQ0FBQztZQUNELFVBQVUsRUFBRyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztRQUlILE1BQU0sQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMxRCxNQUFNLENBQUUsSUFBSSxFQUFFLEtBQUssQ0FBRSxHQUFHLEtBQUssQ0FBQztZQUM5QixJQUNDLElBQUksS0FBSyxhQUFhLEVBR3JCLENBQUM7Z0JBQ0YsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFFLElBQUksQ0FBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzdDLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUtILE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDL0QsS0FBSyxFQUFHLGVBQWU7U0FJdkIsQ0FBQyxDQUFDO1FBR0gsT0FBTyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRzdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUV4QyxPQUFPLGVBQWUsQ0FBQztJQU14QixDQUFDLENBQUM7SUFFRixPQUFPLHlCQUF5QixDQUFDO0FBRWxDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChvYmV5OiBDYWxsYWJsZUZ1bmN0aW9uKSB7XG5cblx0Y29uc3QgQ3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvciA9IGZ1bmN0aW9uIChcblx0XHR0aGlzOiBvYmplY3QsXG5cdFx0TW9kaWZpY2F0b3JUeXBlOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdE1vZGlmaWNhdG9yVHlwZVByb3RvdHlwZTogeyBbaW5kZXg6IHN0cmluZ106IHVua25vd24gfSxcblx0XHRhZGRQcm9wczogQ2FsbGFibGVGdW5jdGlvblxuXHQpIHtcblxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRcdGNvbnN0IGV4aXN0ZW50SW5zdGFuY2UgPSB0aGlzO1xuXG5cdFx0Ly8gY29uc3QgVHJpcGxlU2NoZW1lQ2xvc3VyZSA9IGZ1bmN0aW9uICgpIHtcblx0XHQvLyBjb25zdCBNbmVtb3N5bmUgPSB0aGlzO1xuXG5cdFx0Y29uc3QgTW5lbW9zeW5lID0ge307XG5cdFx0UmVmbGVjdC5zZXRQcm90b3R5cGVPZihNbmVtb3N5bmUsIGV4aXN0ZW50SW5zdGFuY2UpO1xuXHRcdGFkZFByb3BzKE1uZW1vc3luZSk7XG5cblx0XHQvLyBhYm91dCB0byBzZXR1cCBjb25zdHJ1Y3RvciBwcm9wZXJ0eSBmb3IgbmV3IGluc3RhbmNlXG5cdFx0Ly8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGluaGVyaXRlZCwgJ2NvbnN0cnVjdG9yJywge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNbmVtb3N5bmUsICdjb25zdHJ1Y3RvcicsIHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBNb2RpZmljYXRvclR5cGU7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IGZhbHNlXG5cdFx0fSk7XG5cblx0XHQvLyBtb2RpZmljYXRpb24gaXRzZWxmXG5cdFx0Ly8gc28gbm93IHdlIGhhdmUgdG8gY29weSBhbGwgY29uc3RydWN0b3IgcHJvcHNcblx0XHRPYmplY3QuZW50cmllcyhNb2RpZmljYXRvclR5cGVQcm90b3R5cGUpLmZvckVhY2goKGVudHJ5KSA9PiB7XG5cdFx0XHRjb25zdCBbIG5hbWUsIHZhbHVlIF0gPSBlbnRyeTtcblx0XHRcdGlmIChcblx0XHRcdFx0bmFtZSAhPT0gJ2NvbnN0cnVjdG9yJ1xuXHRcdFx0XHQvLyAmJlxuXHRcdFx0XHQvLyBuYW1lICE9PSBTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcblx0XHRcdCkge1xuXHRcdFx0XHQoTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZVsgbmFtZSBdID0gdmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdC8vIDEuIG5leHQgbGluZSBpcyBkb25lIDQgb3VyIGNvbnNvbGUubG9nIHdpbGwgcHJpbnQgcHJvcGVyIHR5cGVcblx0XHQvLyBhbmQgaXQgc2hvdWxkIGJlIGV4cGxpY2l0IGRlY2xhcmF0aW9uLCBvciBpdCB3b3VsZG4ndCBzZWVcblx0XHQvLyBNb2RpZmljYXRvclR5cGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTW9kaWZpY2F0b3JUeXBlO1xuXHRcdC8vIHRoZXJmb3JlIHRoZSBmb2xsb3dpbmcgbGluZXMgYXJlIGNvbW1lbnRlZFxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNb2RpZmljYXRvclR5cGUucHJvdG90eXBlLCAnY29uc3RydWN0b3InLCB7XG5cdFx0XHR2YWx1ZSA6IE1vZGlmaWNhdG9yVHlwZVxuXHRcdFx0Ly8gZ2V0ICgpIHtcblx0XHRcdC8vIFx0cmV0dXJuIE1vZGlmaWNhdG9yVHlwZTtcblx0XHRcdC8vIH1cblx0XHR9KTtcblxuXHRcdC8vIGFuZCBzZXQgdGhlIHByb3RvdHlwZSBpbmhlcml0ZWRcblx0XHRSZWZsZWN0LnNldFByb3RvdHlwZU9mKE1vZGlmaWNhdG9yVHlwZS5wcm90b3R5cGUsIE1uZW1vc3luZSk7XG5cdFx0Ly8gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihNb2RpZmljYXRvclR5cGUucHJvdG90eXBlLCBpbmhlcml0ZWQpO1xuXG5cdFx0b2JleShleGlzdGVudEluc3RhbmNlLCBNb2RpZmljYXRvclR5cGUpO1xuXG5cdFx0cmV0dXJuIE1vZGlmaWNhdG9yVHlwZTtcblxuXHRcdC8vIH07XG5cdFx0Ly8gVHJpcGxlU2NoZW1lQ2xvc3VyZS5wcm90b3R5cGUgPSBleGlzdGVudEluc3RhbmNlO1xuXHRcdC8vIHJldHVybiBuZXcgVHJpcGxlU2NoZW1lQ2xvc3VyZSgpO1xuXG5cdH07XG5cblx0cmV0dXJuIENyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3I7XG5cbn1cbiJdfQ==
@@ -58,7 +58,7 @@ odp(TypeDescriptor.prototype, Symbol.hasInstance, {
58
58
  return getTypeChecker(this.TypeName);
59
59
  }
60
60
  });
61
- const defineFromType = function (subtypes, constructHandlerGetter, config) {
61
+ const defineUsingType = function (subtypes, constructHandlerGetter, config) {
62
62
  const type = constructHandlerGetter();
63
63
  if (typeof type !== 'function') {
64
64
  throw new HANDLER_MUST_BE_A_FUNCTION;
@@ -104,7 +104,7 @@ const extractNonEnumerableProps = (_obj) => {
104
104
  }, {});
105
105
  return extracted;
106
106
  };
107
- const defineFromFunction = function (subtypes, TypeName, constructHandler = function () { }, proto, config = {}) {
107
+ const defineUsingFunction = function (subtypes, TypeName, constructHandler = function () { }, proto, config = {}) {
108
108
  if (typeof constructHandler !== 'function') {
109
109
  throw new HANDLER_MUST_BE_A_FUNCTION;
110
110
  }
@@ -139,7 +139,7 @@ const define = function (subtypes, TypeOrTypeName, constructHandlerOrConfig, pro
139
139
  return exports.define.call(this, subtypes, TypeOrTypeName.name, TypeOrTypeName, constructHandlerOrConfig || TypeOrTypeName.prototype, config);
140
140
  }
141
141
  else {
142
- return defineFromType.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig);
142
+ return defineUsingType.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig);
143
143
  }
144
144
  }
145
145
  if (typeof TypeOrTypeName === 'string') {
@@ -148,7 +148,7 @@ const define = function (subtypes, TypeOrTypeName, constructHandlerOrConfig, pro
148
148
  const Type = exports.lookup.call(subtypes, split[0]);
149
149
  if (!Type) {
150
150
  if (split.length === 1) {
151
- return defineFromFunction.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig, proto, config);
151
+ return defineUsingFunction.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig, proto, config);
152
152
  }
153
153
  throw new WRONG_TYPE_DEFINITION(`${split[0]} definition is not yet exists`);
154
154
  }
@@ -178,4 +178,4 @@ const lookup = function (TypeNestedPath) {
178
178
  return exports.lookup.call(type.subtypes, NextNestedPath);
179
179
  };
180
180
  exports.lookup = lookup;
181
- //# sourceMappingURL=index.js.map
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBSWIseUNBQXNDO0FBRXRDLCtDQUE0QztBQUM1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsWUFBWSxFQUVaLGlCQUFpQixFQUNqQixTQUFTLEdBRVQsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBR3ZELE1BQU0sRUFDTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsR0FBRyxvQkFBVyxDQUFDO0FBS2hCLHFDQUFxQztBQUNyQywyQ0FBd0M7QUFFeEMsMkZBQW9GO0FBRXBGLG9DQUFrQztBQUNsQyxNQUFNLEVBQ0wsVUFBVSxFQUNWLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixPQUFPLEdBQ1AsR0FBRyxlQUFVLENBQUM7QUFFZixzQ0FBcUM7QUFFckMsTUFBTSxjQUFjLEdBQUcsVUFFdEIsWUFBOEIsRUFDOUIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFxQyxFQUNyQyxNQUFzQztJQUt0QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUUsZ0JBQWdCLENBQUUsSUFBSSxJQUFJLENBQUM7SUFFckQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUU1QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBRSxTQUFTLENBQUUsQ0FBQztJQUUxRSxJQUFLLEtBQUssQ0FBQyxHQUFHLENBQUUsUUFBUSxDQUFFLEVBQUcsQ0FBQztRQUM3QixNQUFNLElBQUksZ0JB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RyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBQ3BELE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBRSxDQUFDO0FBRXJELENBQUMsQ0FBQztBQXJCVyxRQUFBLE1BQU0sVUFxQmpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZ1bmN0aW9uLCBUeXBlRGVzY3JpcHRvckluc3RhbmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBob3AgfSBmcm9tICcuLi8uLi91dGlscy9ob3AnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbFBhcmVudFR5cGUsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZSxcblx0U3ltYm9sQ29uZmlnLFxuXG5cdFRZUEVfVElUTEVfUFJFRklYLFxuXHRNTkVNT1NZTkUsXG5cbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbi8vIGltcG9ydCB7IGRlc2NyaXB0b3JzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG5jb25zdCB7XG5cdEFMUkVBRFlfREVDTEFSRUQsXG5cdFdST05HX1RZUEVfREVGSU5JVElPTixcblx0VFlQRU5BTUVfTVVTVF9CRV9BX1NUUklORyxcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04sXG59ID0gRXJyb3JzVHlwZXM7XG5cbi8vIGludm9rZUhvb2tcbi8vIHJlZ2lzdGVySG9va1xuLy8gcmVnaXN0ZXJGbG93Q2hlY2tlclxuaW1wb3J0ICogYXMgaG9va3NBcGkgZnJvbSAnLi4vaG9va3MnO1xuaW1wb3J0IHsgVHlwZVByb3h5IH0gZnJvbSAnLi9UeXBlUHJveHknO1xuXG5pbXBvcnQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5IGZyb20gJy4vY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5JztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRjaGVja1Byb3RvLFxuXHRnZXRUeXBlQ2hlY2tlcixcblx0Q3JlYXRpb25IYW5kbGVyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRjaGVja1R5cGVOYW1lLFxuXHRpc0NsYXNzLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGdldFN0YWNrIH0gZnJvbSAnLi4vZXJyb3JzJztcblxuY29uc3QgVHlwZURlc2NyaXB0b3IgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IGFueSxcblx0ZGVmaW5lT3JpZ2luOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHR0eXBlczogYW55LFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRjb25zdHJ1Y3RIYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRwcm90bzogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9LFxuXHRjb25maWc6IHsgWyBpbmRleDogc3RyaW5nIF06IHVua25vd24gfSxcbikge1xuXG5cdC8vIGhlcmUgXCJ0eXBlc1wiIHJlZmVycyB0byBzdWJ0eXBlcyBvZiB0eXBlIG9yIGNvbGxlY3Rpb24gb2JqZWN0IHt9XG5cblx0Y29uc3QgcGFyZW50VHlwZSA9IHR5cGVzWyBTeW1ib2xQYXJlbnRUeXBlIF0gfHwgbnVsbDtcblxuXHRjb25zdCBpc1N1YlR5cGUgPSBwYXJlbnRUeXBlID8gdHJ1ZSA6IGZhbHNlO1xuXG5cdGNvbnN0IGNvbGxlY3Rpb24gPSBpc1N1YlR5cGUgPyBwYXJlbnRUeXBlLmNvbGxlY3Rpb24gOiB0eXBlc1sgTU5FTU9TWU5FIF07XG5cblx0aWYgKCB0eXBlcy5oYXMoIFR5cGVOYW1lICkgKSB7XG5cdFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQ7XG5cdH1cblxuXHRjaGVja1Byb3RvKCBwcm90byApO1xuXG5cdC8vIGNvbnN0IHN1YnR5cGVzID0gZGVzY3JpcHRvcnMuY3JlYXRlVHlwZXNDb2xsZWN0aW9uKCk7XG5cdGNvbnN0IHN1YnR5cGVzID0gbmV3IE1hcCgpO1xuXG5cdGNvbnN0IHRpdGxlID0gYCR7VFlQRV9USVRMRV9QUkVGSVh9JHtUeXBlTmFtZX1gO1xuXG5cdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb2xsZWN0aW9uWyBTeW1ib2xDb25maWcgXSwgY29uZmlnICk7XG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5hc3NpZ24oIHRoaXMsIHtcblxuXHRcdGdldCBjb25zdHJ1Y3RIYW5kbGVyICgpIHtcblx0XHRcdHJldHVybiBjb25zdHJ1Y3RIYW5kbGVyO1xuXHRcdH0sXG5cblxuXHRcdFR5cGVOYW1lLFxuXHRcdHByb3RvLFxuXG5cdFx0aXNTdWJUeXBlLFxuXHRcdHN1YnR5cGVzLFxuXHRcdHBhcmVudFR5cGUsXG5cblx0XHRjb2xsZWN0aW9uLFxuXG5cdFx0dGl0bGUsXG5cblx0XHRjb25maWcsXG5cblx0XHRob29rcyA6IE9iamVjdC5jcmVhdGUoIG51bGwgKVxuXG5cdH0gKTtcblxuXHRnZXRTdGFjay5jYWxsKCB0aGlzLCBgRGVmaW5pdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gbWFkZSBhdDpgLCBbXSwgZGVmaW5lT3JpZ2luICk7XG5cblx0b2RwKCBzdWJ0eXBlcywgU3ltYm9sUGFyZW50VHlwZSwge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZTtcblx0XHR9XG5cdH0gKTtcblxuXHR0eXBlcy5zZXQoIFR5cGVOYW1lLCBuZXcgVHlwZVByb3h5KCB0eXBlICkgKTtcblxuXHRyZXR1cm4gdHlwZXMuZ2V0KCBUeXBlTmFtZSApO1xuXG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248VHlwZURlc2NyaXB0b3JJbnN0YW5jZT47XG5cbk9iamVjdC5hc3NpZ24oIFR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZSwgaG9va3NBcGkgKTtcblxuVHlwZURlc2NyaXB0b3IucHJvdG90eXBlLmRlZmluZSA9IGZ1bmN0aW9uICggLi4uYXJnczogYW55W10gKSB7XG5cdHJldHVybiBkZWZpbmUuY2FsbCggZGVmaW5lLCB0aGlzLnN1YnR5cGVzLCAuLi5hcmdzICk7XG59O1xuXG5UeXBlRGVzY3JpcHRvci5wcm90b3R5cGUubG9va3VwID0gZnVuY3Rpb24gKCAuLi5hcmdzOiBhbnlbXSApIHtcblx0cmV0dXJuIGxvb2t1cC5jYWxsKCB0aGlzLnN1YnR5cGVzLCAuLi5hcmdzICk7XG59O1xuXG5vZHAoIFR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XG5cdGdldCAoKSB7XG5cdFx0cmV0dXJuIGdldFR5cGVDaGVja2VyKCB0aGlzLlR5cGVOYW1lICk7XG5cdH1cbn0gKTtcblxuY29uc3QgZGVmaW5lVXNpbmdUeXBlID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIHN1YnR5cGVzOiBhbnksIGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXI6IENhbGxhYmxlRnVuY3Rpb24sIGNvbmZpZzogYW55ICkge1xuXHQvLyB3ZSBuZWVkIHRoaXMgdG8gZXh0cmFjdCBUeXBlTmFtZVxuXHRjb25zdCB0eXBlID0gY29uc3RydWN0SGFuZGxlckdldHRlcigpO1xuXG5cdGlmICggdHlwZW9mIHR5cGUgIT09ICdmdW5jdGlvbicgKSB7XG5cdFx0dGhyb3cgbmV3IEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OO1xuXHR9XG5cblx0Y29uc3QgVHlwZU5hbWUgPSB0eXBlLm5hbWU7XG5cblx0aWYgKCAhVHlwZU5hbWUgKSB7XG5cdFx0dGhyb3cgbmV3IFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkc7XG5cdH1cblxuXHRjb25zdCBhc0NsYXNzID0gaXNDbGFzcyggdHlwZSApO1xuXG5cdGNvbnN0IG1ha2VDb25zdHJ1Y3RIYW5kbGVyID0gKCkgPT4ge1xuXHRcdGNvbnN0IGNvbnN0cnVjdEhhbmRsZXIgPSBjb25zdHJ1Y3RIYW5kbGVyR2V0dGVyKCk7XG5cdFx0Ly8gY29uc3RydWN0SGFuZGxlcltTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdID0gVHlwZU5hbWU7XG5cdFx0b2RwKCBjb25zdHJ1Y3RIYW5kbGVyLCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsIHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBUeXBlTmFtZTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdFx0Y29uc3QgcHJvdG9EZXNjOiBhbnkgPSBPYmplY3Rcblx0XHRcdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoIGNvbnN0cnVjdEhhbmRsZXIsICdwcm90b3R5cGUnICk7XG5cdFx0aWYgKCBwcm90b0Rlc2Mud3JpdGFibGUgKSB7XG5cdFx0XHRjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IHt9O1xuXHRcdH1cblx0XHRyZXR1cm4gY29uc3RydWN0SGFuZGxlcjtcblx0fTtcblxuXHRpZiAoIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb25maWcgKTtcblx0fSBlbHNlIHtcblx0XHRjb25maWcgPSB7fTtcblx0fVxuXG5cdGNvbmZpZy5hc0NsYXNzID0gYXNDbGFzcztcblxuXHRyZXR1cm4gbmV3IFR5cGVEZXNjcmlwdG9yKFxuXHRcdHRoaXMsXG5cdFx0c3VidHlwZXMsXG5cdFx0VHlwZU5hbWUsXG5cdFx0bWFrZUNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0dHlwZS5wcm90b3R5cGUsXG5cdFx0Y29uZmlnXG5cdCk7XG59O1xuXG5jb25zdCBleHRyYWN0Tm9uRW51bWVyYWJsZVByb3BzID0gKCBfb2JqOiBvYmplY3QgKSA9PiB7XG5cdGNvbnN0IGV4dHJhY3RlZCA9IE9iamVjdC5lbnRyaWVzKCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyggX29iaiApICkucmVkdWNlKCAoIG9iaiwgZW50cnkgKSA9PiB7XG5cdFx0Y29uc3QgWyBuYW1lLCB7IHZhbHVlIH0gXSA9IGVudHJ5O1xuXHRcdG9kcCggb2JqLCBuYW1lLCB7XG5cdFx0XHR2YWx1ZSxcblx0XHRcdGNvbmZpZ3VyYWJsZSA6IHRydWUsXG5cdFx0XHRlbnVtZXJhYmxlICAgOiB0cnVlLFxuXHRcdFx0d3JpdGFibGUgICAgIDogdHJ1ZSxcblx0XHR9XG5cdFx0KTtcblx0XHRyZXR1cm4gb2JqO1xuXHR9LCB7fSApO1xuXHRyZXR1cm4gZXh0cmFjdGVkO1xufTtcblxuXG5jb25zdCBkZWZpbmVVc2luZ0Z1bmN0aW9uID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBhbnksXG5cdHN1YnR5cGVzOiBhbnksXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdGNvbnN0cnVjdEhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7IH0sXG5cdHByb3RvOiBhbnksXG5cdGNvbmZpZzogYW55ID0ge31cbikge1xuXG5cdGlmICggdHlwZW9mIGNvbnN0cnVjdEhhbmRsZXIgIT09ICdmdW5jdGlvbicgKSB7XG5cdFx0dGhyb3cgbmV3IEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OO1xuXHR9XG5cblx0Y29uc3QgYXNDbGFzcyA9IGlzQ2xhc3MoIGNvbnN0cnVjdEhhbmRsZXIgKTtcblx0Y29uc3QgbW9kaWZpY2F0b3JCb2R5ID0gY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5KCBUeXBlTmFtZSwgYXNDbGFzcyApO1xuXG5cdGNvbnN0IG1ha2VDb25zdHJ1Y3RIYW5kbGVyID0gbW9kaWZpY2F0b3JCb2R5KFxuXHRcdGNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0Q3JlYXRpb25IYW5kbGVyLFxuXHRcdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxuXHQpO1xuXG5cdGlmICggIXByb3RvICkge1xuXHRcdGlmICggaG9wKCBjb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApICkge1xuXHRcdFx0cHJvdG8gPSBPYmplY3QuYXNzaWduKCB7fSwgY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cHJvdG8gPSB7fTtcblx0XHR9XG5cdH1cblxuXHRpZiAoIGFzQ2xhc3MgKSB7XG5cdFx0cHJvdG8gPSBleHRyYWN0Tm9uRW51bWVyYWJsZVByb3BzKCBwcm90byApO1xuXHR9XG5cblx0aWYgKCBjb25maWcgaW5zdGFuY2VvZiBGdW5jdGlvbiApIHtcblx0XHRjb25maWcgPSB7XG5cdFx0XHRNb2RpZmljYXRpb25Db25zdHJ1Y3RvciA6IGNvbmZpZ1xuXHRcdH07XG5cdH1cblxuXHRpZiAoIHR5cGVvZiBjb25maWcgIT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IHt9O1xuXHR9XG5cblxuXHRjb25maWcuYXNDbGFzcyA9IGFzQ2xhc3M7XG5cblx0cmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcihcblx0XHR0aGlzLFxuXHRcdHN1YnR5cGVzLFxuXHRcdFR5cGVOYW1lLFxuXHRcdG1ha2VDb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdHByb3RvLFxuXHRcdGNvbmZpZ1xuXHQpO1xuXG59O1xuXG5cbmV4cG9ydCBjb25zdCBkZWZpbmU6IGFueSA9IGZ1bmN0aW9uICggdGhpczogYW55LCBzdWJ0eXBlczogYW55LCBUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgYW55LCBjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc6IGFueSwgcHJvdG86IG9iamVjdCwgY29uZmlnOiBvYmplY3QgKSB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdmdW5jdGlvbicgKSB7XG5cdFx0aWYgKCBUeXBlT3JUeXBlTmFtZS5uYW1lICkge1xuXHRcdFx0cmV0dXJuIGRlZmluZS5jYWxsKCB0aGlzLCBzdWJ0eXBlcywgVHlwZU9yVHlwZU5hbWUubmFtZSwgVHlwZU9yVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyB8fCBUeXBlT3JUeXBlTmFtZS5wcm90b3R5cGUsIGNvbmZpZyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZGVmaW5lVXNpbmdUeXBlLmNhbGwoIHRoaXMsIHN1YnR5cGVzLCBUeXBlT3JUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnICk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdzdHJpbmcnICkge1xuXG5cdFx0Y2hlY2tUeXBlTmFtZSggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IHNwbGl0ID0gZ2V0VHlwZVNwbGl0UGF0aCggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IFR5cGUgPSBsb29rdXAuY2FsbCggc3VidHlwZXMsIHNwbGl0WyAwIF0gKTtcblxuXHRcdGlmICggIVR5cGUgKSB7XG5cblx0XHRcdGlmICggc3BsaXQubGVuZ3RoID09PSAxICkge1xuXHRcdFx0XHRyZXR1cm4gZGVmaW5lVXNpbmdGdW5jdGlvbi5jYWxsKCB0aGlzLCBzdWJ0eXBlcywgVHlwZU9yVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZywgcHJvdG8sIGNvbmZpZyApO1xuXHRcdFx0fVxuXG5cdFx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCBgJHtzcGxpdFsgMCBdfSBkZWZpbml0aW9uIGlzIG5vdCB5ZXQgZXhpc3RzYCApO1xuXHRcdH1cblxuXHRcdGNvbnN0IFR5cGVOYW1lID0gc3BsaXQuc2xpY2UoIDEgKS5qb2luKCAnLicgKTtcblxuXHRcdGlmICggc3BsaXQubGVuZ3RoID4gMSApIHtcblx0XHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgVHlwZS5zdWJ0eXBlcywgVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZywgcHJvdG8sIGNvbmZpZyApO1xuXHRcdH1cblxuXHRcdC8vIHNvLCBoZXJlIHdlIGdvIHdpdGhcblx0XHQvLyBkZWZpbmVVc2luZ1R5cGUuY2FsbFxuXHRcdC8vIGZyb20gdGhlIG5leHQgc3RlcFxuXHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgVHlwZS5zdWJ0eXBlcywgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnLCBwcm90bywgY29uZmlnICk7XG5cblx0fVxuXG5cdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdkZWZpbml0aW9uIGlzIG5vdCBwcm92aWRlZCcgKTtcblxufTtcblxuZXhwb3J0IGNvbnN0IGxvb2t1cDogYW55ID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcgKSB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU5lc3RlZFBhdGggIT09ICdzdHJpbmcnICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdhcmcgOiB0eXBlIG5lc3RlZCBwYXRoIG11c3QgYmUgYSBzdHJpbmcnICk7XG5cdH1cblxuXHRpZiAoICFUeXBlTmVzdGVkUGF0aC5sZW5ndGggKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ2FyZyA6IHR5cGUgbmVzdGVkIHBhdGggaGFzIG5vIHBhdGgnICk7XG5cdH1cblxuXHRjb25zdCBzcGxpdCA9IGdldFR5cGVTcGxpdFBhdGgoIFR5cGVOZXN0ZWRQYXRoICk7XG5cblx0Y29uc3QgWyBuYW1lIF0gPSBzcGxpdDtcblx0Y29uc3QgdHlwZSA9IHRoaXMuZ2V0KCBuYW1lICk7XG5cdGlmICggc3BsaXQubGVuZ3RoID09PSAxICkge1xuXHRcdHJldHVybiB0eXBlO1xuXHR9XG5cblx0Y29uc3QgTmV4dE5lc3RlZFBhdGggPSBzcGxpdC5zbGljZSggMSApLmpvaW4oICcuJyApO1xuXHRyZXR1cm4gbG9va3VwLmNhbGwoIHR5cGUuc3VidHlwZXMsIE5leHROZXN0ZWRQYXRoICk7XG5cbn07XG5cblxuXG4iXX0=
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.obey = void 0;
4
- const constants_1 = require("../../constants");
5
- const { SymbolUsed } = constants_1.constants;
6
4
  const errors_1 = require("../../descriptors/errors");
7
5
  const { PROTOTYPE_USED_TWICE, } = errors_1.ErrorsTypes;
6
+ const used = new WeakSet();
8
7
  const obey = (existentInstance, ModificatorType) => {
9
8
  let protoConstructor = ModificatorType;
10
9
  while (protoConstructor instanceof Function) {
11
- if (Object.prototype.hasOwnProperty.call(protoConstructor, SymbolUsed) && protoConstructor[SymbolUsed]) {
10
+ if (used.has(protoConstructor)) {
12
11
  const error = new PROTOTYPE_USED_TWICE(`${protoConstructor.name}.prototype > ${ModificatorType.name}`);
13
12
  throw error;
14
13
  }
@@ -17,15 +16,11 @@ const obey = (existentInstance, ModificatorType) => {
17
16
  protoConstructor = sample;
18
17
  }
19
18
  else {
20
- Object.defineProperty(protoConstructor, SymbolUsed, {
21
- get() {
22
- return true;
23
- }
24
- });
19
+ used.add(protoConstructor);
25
20
  break;
26
21
  }
27
22
  }
28
23
  Reflect.setPrototypeOf(protoConstructor, existentInstance.constructor);
29
24
  };
30
25
  exports.obey = obey;
31
- //# sourceMappingURL=obeyConstructor.js.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JleUNvbnN0cnVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9vYmV5Q29uc3RydWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixxREFBdUQ7QUFDdkQsTUFBTSxFQUNMLG9CQUFvQixHQUNwQixHQUFHLG9CQUFXLENBQUM7QUFFaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUVwQixNQUFNLElBQUksR0FBRyxDQUFFLGdCQUFxQixFQUFFLGVBQW9CLEVBQUcsRUFBRTtJQUNyRSxJQUFJLGdCQUFnQixHQUFRLGVBQWUsQ0FBQztJQUM1QyxPQUFRLGdCQUFnQixZQUFZLFFBQVEsRUFBRyxDQUFDO1FBQy9DLElBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFHLENBQUM7WUFDbEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBb0IsQ0FBRSxHQUFHLGdCQUFnQixDQUFDLElBQUksZ0JBQWdCLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBRSxDQUFDO1lBQ3pHLE1BQU0sS0FBSyxDQUFDO1FBQ2IsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUUsZ0JBQWdCLENBQUUsQ0FBQztRQUMxRCxJQUFLLE1BQU0sWUFBWSxRQUFRLEVBQUcsQ0FBQztZQUNsQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUM7UUFDM0IsQ0FBQzthQUFNLENBQUM7WUFDUCxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDM0IsTUFBTTtRQUNQLENBQUM7SUFDRixDQUFDO0lBQ0QsT0FBTyxDQUFDLGNBQWMsQ0FBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUUsQ0FBQztBQUMxRSxDQUFDLENBQUM7QUFoQlcsUUFBQSxJQUFJLFFBZ0JmIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5jb25zdCB7XG5cdFBST1RPVFlQRV9VU0VEX1RXSUNFLFxufSA9IEVycm9yc1R5cGVzO1xuXG5jb25zdCB1c2VkID0gbmV3IFdlYWtTZXQoKTtcblxuZXhwb3J0IGNvbnN0IG9iZXkgPSAoIGV4aXN0ZW50SW5zdGFuY2U6IGFueSwgTW9kaWZpY2F0b3JUeXBlOiBhbnkgKSA9PiB7XG5cdGxldCBwcm90b0NvbnN0cnVjdG9yOiBhbnkgPSBNb2RpZmljYXRvclR5cGU7XG5cdHdoaWxlICggcHJvdG9Db25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uICkge1xuXHRcdGlmICggdXNlZC5oYXMocHJvdG9Db25zdHJ1Y3RvcikgKSB7XG5cdFx0XHRjb25zdCBlcnJvciA9IG5ldyBQUk9UT1RZUEVfVVNFRF9UV0lDRSggYCR7cHJvdG9Db25zdHJ1Y3Rvci5uYW1lfS5wcm90b3R5cGUgPiAke01vZGlmaWNhdG9yVHlwZS5uYW1lfWAgKTtcblx0XHRcdHRocm93IGVycm9yO1xuXHRcdH1cblx0XHRjb25zdCBzYW1wbGUgPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKCBwcm90b0NvbnN0cnVjdG9yICk7XG5cdFx0aWYgKCBzYW1wbGUgaW5zdGFuY2VvZiBGdW5jdGlvbiApIHtcblx0XHRcdHByb3RvQ29uc3RydWN0b3IgPSBzYW1wbGU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHVzZWQuYWRkKHByb3RvQ29uc3RydWN0b3IpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cdFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoIHByb3RvQ29uc3RydWN0b3IsIGV4aXN0ZW50SW5zdGFuY2UuY29uc3RydWN0b3IgKTtcbn07XG4iXX0=
@@ -19,7 +19,7 @@ declare const TypesUtils: {
19
19
  getTypeSplitPath: (path: string) => string[];
20
20
  getExistentAsyncStack: (existentInstance: asyncStack) => unknown;
21
21
  checkTypeName: (name: string) => void;
22
- findSubTypeFromParent: (instance: parentSub, subType: string) => parentSub;
22
+ findSubTypeFromParent: (instance: parentSub, subType: string) => parentSub | undefined;
23
23
  makeFakeModificatorType: (TypeName: string, fakeModificator?: () => void) => any;
24
24
  reflectPrimitiveWrappers: (_thisArg: unknown) => unknown;
25
25
  };
@@ -6,6 +6,7 @@ const utils_1 = require("../../utils");
6
6
  const { odp, SymbolConstructorName, MNEMONICA, MNEMOSYNE, GAIA, URANUS } = constants_1.constants;
7
7
  const { WRONG_TYPE_DEFINITION, } = errors_1.ErrorsTypes;
8
8
  const { collectConstructors } = utils_1.utils;
9
+ const addProps_1 = require("../types/addProps");
9
10
  const CreationHandler = function (constructionAnswer) {
10
11
  if (constructionAnswer instanceof Object) {
11
12
  return constructionAnswer;
@@ -46,10 +47,11 @@ const getExistentAsyncStack = (existentInstance) => {
46
47
  const stack = [];
47
48
  let proto = existentInstance;
48
49
  while (proto) {
49
- if (!proto.__stack__) {
50
+ const props = (0, addProps_1.getProps)(proto);
51
+ if (!props.__stack__) {
50
52
  break;
51
53
  }
52
- const pstack = proto
54
+ const pstack = props
53
55
  .__stack__
54
56
  .split('\n')
55
57
  .reduce((arr, line) => {
@@ -59,8 +61,9 @@ const getExistentAsyncStack = (existentInstance) => {
59
61
  return arr;
60
62
  }, []);
61
63
  proto = proto.parent();
62
- if (proto && proto.__type__) {
63
- if (proto.__type__.isSubType) {
64
+ const protoProps = (0, addProps_1.getProps)(proto);
65
+ if (proto && protoProps && protoProps.__type__) {
66
+ if (protoProps.__type__.isSubType) {
64
67
  stack.push(...pstack.slice(0, 1));
65
68
  }
66
69
  else {
@@ -88,11 +91,12 @@ const checkTypeName = (name) => {
88
91
  };
89
92
  const findSubTypeFromParent = (instance, subType) => {
90
93
  let subtype = null;
91
- if (instance.__type__.subtypes.has(subType)) {
92
- subtype = instance.__type__.subtypes.get(subType);
94
+ const props = (0, addProps_1.getProps)(instance);
95
+ if (props.__type__.subtypes.has(subType)) {
96
+ subtype = props.__type__.subtypes.get(subType);
93
97
  return subtype;
94
98
  }
95
- return findSubTypeFromParent(instance.__parent__, subType);
99
+ return findSubTypeFromParent(props.__parent__, subType);
96
100
  };
97
101
  const isClass = (fn) => {
98
102
  if (typeof fn.prototype !== 'object') {
@@ -146,4 +150,4 @@ const TypesUtils = {
146
150
  reflectPrimitiveWrappers
147
151
  };
148
152
  exports.default = TypesUtils;
149
- //# sourceMappingURL=index.js.map
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYiwrQ0FBNEM7QUFDNUMscURBQXVEO0FBQ3ZELHVDQUFvQztBQUVwQyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixNQUFNLEVBQ04sR0FBRyxxQkFBUyxDQUFDO0FBRWQsTUFBTSxFQUNMLHFCQUFxQixHQUNyQixHQUFHLG9CQUFXLENBQUM7QUFFaEIsTUFBTSxFQUNMLG1CQUFtQixFQUNuQixHQUFHLGFBQUssQ0FBQztBQUVWLGdEQUFvRDtBQUdwRCxNQUFNLGVBQWUsR0FBRyxVQUEwQixrQkFBMkI7SUFTNUUsSUFBSyxrQkFBa0IsWUFBWSxNQUFNLEVBQUcsQ0FBQztRQUM1QyxPQUFPLGtCQUFrQixDQUFDO0lBQzNCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLGtHQUEyRjtBQUUzRixNQUFNLFVBQVUsR0FBRyxDQUFFLEtBQWMsRUFBRyxFQUFFO0lBQ3ZDLElBQUssQ0FBQyxDQUFFLEtBQUssWUFBWSxNQUFNLENBQUUsRUFBRyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBRSxrQ0FBa0MsQ0FBRSxDQUFDO0lBQ3ZFLENBQUM7QUFDRixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFFLFFBQWdCLEVBQUcsRUFBRTtJQUM3QyxNQUFNLE1BQU0sR0FBWSxDQUFFLFFBQWdCLEVBQUcsRUFBRTtRQUU5QyxJQUFLLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRyxDQUFDO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUdELElBQUssQ0FBQyxRQUFTLENBQUMsV0FBVyxFQUFHLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFD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ckIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN4QixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxuXHRHQUlBLFxuXHRVUkFOVVNcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHtcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OLFxufSA9IEVycm9yc1R5cGVzO1xuXG5jb25zdCB7XG5cdGNvbGxlY3RDb25zdHJ1Y3RvcnNcbn0gPSB1dGlscztcblxuaW1wb3J0IHsgZ2V0UHJvcHMsIFByb3BzIH0gZnJvbSAnLi4vdHlwZXMvYWRkUHJvcHMnO1xuXG5cbmNvbnN0IENyZWF0aW9uSGFuZGxlciA9IGZ1bmN0aW9uICggdGhpczogdW5rbm93biwgY29uc3RydWN0aW9uQW5zd2VyOiB1bmtub3duICkge1xuXHQvLyBzdGFuZGFyZCBzYXlzIDpcblx0Ly8gaWYgY29uc3RydWN0b3IgcmV0dXJucyBzb21ldGhpbmdcblx0Ly8gdGhlbiB0aGlzIGlzIGEgdG95XG5cdC8vIHdlIGhhdmUgdG8gcGxheSB3aXRoXG5cdC8vIHJlc3BlY3RpdmVseVxuXHQvLyBzbyB3ZSB3aWxsIG5vdCBmb2xsb3cgdGhlIHJ1bGVcblx0Ly8gaWYgKGNvbnN0cnVjdGlvbkFuc3dlciBpbnN0YW5jZW9mIHR5cGVzW1R5cGVOYW1lXSkge1xuXHQvLyBhbmQgaW5zdGVhZCBmb2xsb3cgdGhlIGxpbmUgYmVsb3dcblx0aWYgKCBjb25zdHJ1Y3Rpb25BbnN3ZXIgaW5zdGFuY2VvZiBPYmplY3QgKSB7XG5cdFx0cmV0dXJuIGNvbnN0cnVjdGlvbkFuc3dlcjtcblx0fVxuXHRyZXR1cm4gdGhpcztcbn07XG5cbmltcG9ydCBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkgZnJvbSAnLi4vdHlwZXMvY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5JztcblxuY29uc3QgY2hlY2tQcm90byA9ICggcHJvdG86IHVua25vd24gKSA9PiB7XG5cdGlmICggISggcHJvdG8gaW5zdGFuY2VvZiBPYmplY3QgKSApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCAnZXhwZWN0IHByb3RvdHlwZSB0byBiZSBhbiBvYmplY3QnICk7XG5cdH1cbn07XG5cbmNvbnN0IGdldFR5cGVDaGVja2VyID0gKCBUeXBlTmFtZTogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBzZWVrZXI6IHVua25vd24gPSAoIGluc3RhbmNlOiBvYmplY3QgKSA9PiB7XG5cblx0XHRpZiAoIHR5cGVvZiBpbnN0YW5jZSAhPT0gJ29iamVjdCcgKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cblx0XHRpZiAoICFpbnN0YW5jZSEuY29uc3RydWN0b3IgKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0aWYgKCBSZWZsZWN0LmdldFByb3RvdHlwZU9mKCBpbnN0YW5jZSApLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQcm9taXNlJyApIHtcblx0XHRcdC8vIGlmICggaW5zdGFuY2UgaW5zdGFuY2VvZiBQcm9taXNlICkge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0cmV0dXJuIGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gVHlwZU5hbWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29uc3RydWN0b3JzOiB7XG5cdFx0XHRzdHJpbmc6IG5ldyAoKSA9PiB1bmtub3duXG5cdFx0fSA9IGNvbGxlY3RDb25zdHJ1Y3RvcnMoIGluc3RhbmNlICk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gY29uc3RydWN0b3JzWyBUeXBlTmFtZSBdIHx8IGZhbHNlO1xuXG5cdH07XG5cdHJldHVybiBzZWVrZXI7XG59O1xuXG5jb25zdCBnZXRUeXBlU3BsaXRQYXRoID0gKCBwYXRoOiBzdHJpbmcgKSA9PiB7XG5cdGNvbnN0IHNwbGl0ID0gcGF0aFxuXHRcdC8vIGJlYXV0aWZ1bGwgbmFtZXNcblx0XHQucmVwbGFjZSggL1xcbnxcXHR8IC9nLCAnJyApXG5cdFx0LnJlcGxhY2UoIC9cXFsoXFx3KylcXF0vZywgJy4kMScgKVxuXHRcdC5yZXBsYWNlKCAvXlxcLi8sICcnIClcblx0XHQuc3BsaXQoIC9cXC58XFwvfDovICk7XG5cdHJldHVybiBzcGxpdDtcbn07XG5cbmV4cG9ydCB0eXBlIGFzeW5jU3RhY2sgPSB7XG5cdF9fc3RhY2tfXz86IHN0cmluZ1xuXHRfX3R5cGVfXzoge1xuXHRcdGlzU3ViVHlwZTogYm9vbGVhblxuXHR9XG5cdHBhcmVudDogKCkgPT4gYXN5bmNTdGFja1xufVxuXG5jb25zdCBnZXRFeGlzdGVudEFzeW5jU3RhY2sgPSAoIGV4aXN0ZW50SW5zdGFuY2U6IGFzeW5jU3RhY2sgKTogdW5rbm93biA9PiB7XG5cblx0Y29uc3Qgc3RhY2sgPSBbXTtcblx0bGV0IHByb3RvID0gZXhpc3RlbnRJbnN0YW5jZTtcblxuXHR3aGlsZSAoIHByb3RvICkge1xuXG5cdFx0Y29uc3QgcHJvcHMgPSBnZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAoICFwcm9wcy5fX3N0YWNrX18gKSB7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cblx0XHRjb25zdCBwc3RhY2sgPSBwcm9wc1xuXHRcdFx0Ll9fc3RhY2tfX1xuXHRcdFx0LnNwbGl0KCAnXFxuJyApXG5cdFx0XHQucmVkdWNlKCAoIGFycjogc3RyaW5nW10sIGxpbmU6IHN0cmluZyApID0+IHtcblx0XHRcdFx0aWYgKCBsaW5lLmxlbmd0aCApIHtcblx0XHRcdFx0XHRhcnIucHVzaCggbGluZSApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBhcnI7XG5cdFx0XHR9LCBbXSApO1xuXG5cdFx0cHJvdG8gPSBwcm90by5wYXJlbnQoKTtcblxuXHRcdGNvbnN0IHByb3RvUHJvcHMgPSBnZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAoIHByb3RvICYmIHByb3RvUHJvcHMgJiYgcHJvdG9Qcm9wcy5fX3R5cGVfXyApIHtcblxuXHRcdFx0aWYgKCBwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSApIHtcblx0XHRcdFx0c3RhY2sucHVzaCggLi4ucHN0YWNrLnNsaWNlKCAwLCAxICkgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHN0YWNrLnB1c2goIC4uLnBzdGFjayApO1xuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0YWNrLnB1c2goIC4uLnBzdGFjayApO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUsIEdBSUEsIFVSQU5VUyBdO1xuXG5jb25zdCBjaGVja1R5cGVOYW1lID0gKCBuYW1lOiBzdHJpbmcgKSA9PiB7XG5cblx0aWYgKCAhbmFtZS5sZW5ndGggKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ1R5cGVOYW1lIG11c3Qgbm90IGJlIGVtcHR5JyApO1xuXHR9XG5cblx0aWYgKCBuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdUeXBlTmFtZSBzaG91bGQgc3RhcnQgd2l0aCBVcHBlcmNhc2UgTGV0dGVyJyApO1xuXHR9XG5cblx0aWYgKCBmb3JiaWRkZW5OYW1lcy5pbmNsdWRlcyggbmFtZSApICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdUeXBlTmFtZSBvZiByZXNlcnZlZCBrZXl3b3JkJyApO1xuXHR9XG5cbn07XG5cbnR5cGUgcGFyZW50U3ViID0ge1xuXHRfX3R5cGVfXzoge1xuXHRcdHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBwYXJlbnRTdWI+XG5cdH1cblx0X19wYXJlbnRfXzogcGFyZW50U3ViXG59XG5cbmNvbnN0IGZpbmRTdWJUeXBlRnJvbVBhcmVudCA9ICggaW5zdGFuY2U6IHBhcmVudFN1Yiwgc3ViVHlwZTogc3RyaW5nICk6IHBhcmVudFN1YiB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHQvLyBpZiAoIWluc3RhbmNlLl9fc3VidHlwZXNfXykge1xuXG5cdC8vIGlmICggIWluc3RhbmNlLl9fdHlwZV9fICkge1xuXG5cdC8vIFx0Ly8gbW9jaGEgKyBjaGFpIG1ha2VzIC5pbnNwZWN0IDQgU2hhcGVyIGNsYXNzXG5cdC8vIFx0Ly8gb3IgLnNob3dEaWZmIGlmIHNvbWV0aGluZyB3cm9uZyB3aXRoIGNvbnN0cnVjdG9yXG5cdC8vIFx0Ly8gZGVidWdnZXI7XG5cdC8vIFx0cmV0dXJuIG51bGw7XG5cdC8vIH1cblxuXHRjb25zdCBwcm9wcyA9IGdldFByb3BzKGluc3RhbmNlKSBhcyBQcm9wcztcblxuXHRpZiAoIHByb3BzLl9fdHlwZV9fLnN1YnR5cGVzLmhhcyggc3ViVHlwZSApICkge1xuXHRcdHN1YnR5cGUgPSBwcm9wcy5fX3R5cGVfXy5zdWJ0eXBlcy5nZXQoIHN1YlR5cGUgKTtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdHJldHVybiBzdWJ0eXBlO1xuXHR9XG5cdHJldHVybiBmaW5kU3ViVHlwZUZyb21QYXJlbnQoIHByb3BzLl9fcGFyZW50X18sIHN1YlR5cGUgKTtcbn07XG5cbi8vIGNvbnN0IGlzQ2xhc3MgPSAoIGZ1bmN0aW9uUG9pbnRlcjogQ2FsbGFibGVGdW5jdGlvbiApID0+IHtcbi8vIFx0Y29uc3QgdmFsdWUgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggZnVuY3Rpb25Qb2ludGVyICk7XG4vLyBcdHJldHVybiAvXlxccypjbGFzc1xccysvLnRlc3QoIHZhbHVlLnRyaW0oKSApO1xuLy8gfTtcblxuLy8gYWNjb3JkaW5nbHkgdG8gdGhlIGdpc3QgZnJvbSBoZXJlOlxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vd2VudG91dC9lYTNhZmU5YzgyMmE2YjZlZjMyZjllNGYzZTk4YjFiYVxuY29uc3QgaXNDbGFzcyA9ICggZm46IENhbGxhYmxlRnVuY3Rpb24gKSA9PiB7XG5cdC8vIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgZm4gZm9yIHR5cGVvZlxuXHQvLyBiZWNhdXNlIG9mIG90aGVyIGNoZWNrcyBtYWRlIGJlZm9yZVxuXHQvLyBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG5cdC8vIFx0cmV0dXJuIGZhbHNlO1xuXHQvLyB9XG5cdGlmICggdHlwZW9mIGZuLnByb3RvdHlwZSAhPT0gJ29iamVjdCcgKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdGlmICggZm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBmbiApIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cblx0cmV0dXJuIFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCBmbiwgJ3Byb3RvdHlwZScgKSEud3JpdGFibGUgPT09IGZhbHNlO1xufTtcblxuY29uc3QgbWFrZUZha2VNb2RpZmljYXRvclR5cGUgPSAoXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdGZha2VNb2RpZmljYXRvciA9IGZ1bmN0aW9uICgpIHsgfVxuKSA9PiB7XG5cblx0Y29uc3QgbW9kaWZpY2F0b3JCb2R5ID0gY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5KCBUeXBlTmFtZSApO1xuXG5cdGNvbnN0IG1vZGlmaWNhdG9yVHlwZSA9IG1vZGlmaWNhdG9yQm9keShcblx0XHRmYWtlTW9kaWZpY2F0b3IsXG5cdFx0Q3JlYXRpb25IYW5kbGVyLFxuXHRcdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxuXHQpO1xuXG5cdHJldHVybiBtb2RpZmljYXRvclR5cGUoKTtcblxufTtcblxuY29uc3QgcmVmbGVjdFByaW1pdGl2ZVdyYXBwZXJzID0gKCBfdGhpc0FyZzogdW5rbm93biApID0+IHtcblx0bGV0IHRoaXNBcmcgPSBfdGhpc0FyZztcblxuXHRpZiAoIF90aGlzQXJnID09PSBudWxsICkge1xuXHRcdHRoaXNBcmcgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdFx0b2RwKCB0aGlzQXJnLCBTeW1ib2wudG9QcmltaXRpdmUsIHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIF90aGlzQXJnO1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0fVxuXG5cdGlmIChcblx0XHRfdGhpc0FyZyBpbnN0YW5jZW9mIE51bWJlciB8fFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgQm9vbGVhbiB8fFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgU3RyaW5nXG5cdCkge1xuXHRcdG9kcCggdGhpc0FyZywgU3ltYm9sLnRvUHJpbWl0aXZlLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBfdGhpc0FyZy52YWx1ZU9mKCk7XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0fSApO1xuXHR9XG5cblx0cmV0dXJuIHRoaXNBcmc7XG59O1xuXG5jb25zdCBUeXBlc1V0aWxzID0ge1xuXHRpc0NsYXNzLFxuXHRDcmVhdGlvbkhhbmRsZXIsXG5cdGNoZWNrUHJvdG8sXG5cdGdldFR5cGVDaGVja2VyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRnZXRFeGlzdGVudEFzeW5jU3RhY2ssXG5cdGNoZWNrVHlwZU5hbWUsXG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudCxcblx0bWFrZUZha2VNb2RpZmljYXRvclR5cGUsXG5cdHJlZmxlY3RQcmltaXRpdmVXcmFwcGVyc1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHlwZXNVdGlscztcbiJdfQ==
@@ -5,7 +5,6 @@ export declare const constants: {
5
5
  readonly SymbolReplaceUranus: symbol;
6
6
  readonly SymbolDefaultTypesCollection: symbol;
7
7
  readonly SymbolConfig: symbol;
8
- readonly SymbolUsed: symbol;
9
8
  readonly MNEMONICA: string;
10
9
  readonly MNEMOSYNE: string;
11
10
  readonly GAIA: string;
@@ -11,7 +11,6 @@ const SymbolConstructorName = Symbol('Defined Constructor Name');
11
11
  const SymbolGaia = Symbol('Defined Gaia Constructor');
12
12
  const SymbolReplaceUranus = Symbol('Defined Method Name to Replace Gaia');
13
13
  const SymbolConfig = Symbol('Mnemonica Config Data');
14
- const SymbolUsed = Symbol('.prototype used twice');
15
14
  const TYPE_TITLE_PREFIX = 'modificator of : ';
16
15
  const ErrorMessages = {
17
16
  BASE_ERROR_MESSAGE: 'UNPREDICTABLE BEHAVIOUR',
@@ -67,9 +66,6 @@ exports.constants = {
67
66
  get 'SymbolConfig'() {
68
67
  return SymbolConfig;
69
68
  },
70
- get 'SymbolUsed'() {
71
- return SymbolUsed;
72
- },
73
69
  get 'MNEMONICA'() {
74
70
  return MNEMONICA;
75
71
  },
@@ -96,4 +92,4 @@ exports.constants = {
96
92
  TYPE_TITLE_PREFIX,
97
93
  ErrorMessages,
98
94
  };
99
- //# sourceMappingURL=index.js.map
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBR2IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBSzlCLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUk5QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7QUFDcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBR3hCLE1BQU0sNEJBQTRCLEdBQUcsTUFBTSxDQUFFLFdBQVcsU0FBUyxtQkFBbUIsQ0FBRSxDQUFDO0FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFFLG1DQUFtQyxDQUFFLENBQUM7QUFDdkUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUUsMEJBQTBCLENBQUUsQ0FBQztBQUduRSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUUsMEJBQTBCLENBQUUsQ0FBQztBQUN4RCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBRSxxQ0FBcUMsQ0FBRSxDQUFDO0FBRTVFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBRSx1QkFBdUIsQ0FBRSxDQUFDO0FBR3ZELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFHOUMsTUFBTSxhQUFhLEdBQUc7SUFFckIsa0JBQWtCLEVBQVcseUJBQXlCO0lBQ3RELHlCQUF5QixFQUFJLDJCQUEyQjtJQUN4RCwwQkFBMEIsRUFBRyw0QkFBNEI7SUFDekQscUJBQXFCLEVBQVEsdUJBQXVCO0lBQ3BELHlCQUF5QixFQUFJLDJCQUEyQjtJQUN4RCwwQkFBMEIsRUFBRyw0QkFBNEI7SUFDekQsZ0JBQWdCLEVBQWEscUNBQXFDO0lBRWxFLG9CQUFvQixFQUFTLGdEQUFnRDtJQUM3RSxlQUFlLEVBQWMsK0JBQStCO0lBQzVELHFCQUFxQixFQUFRLG1DQUFtQztJQUNoRSx5QkFBeUIsRUFBSSwrQkFBK0I7SUFDNUQseUJBQXlCLEVBQUksNENBQTRDO0lBQ3pFLGFBQWEsRUFBZ0IsdUNBQXVDO0lBQ3BFLG1CQUFtQixFQUFVLGdDQUFnQztJQUM3RCxvQkFBb0IsRUFBUyx1QkFBdUI7Q0FFcEQsQ0FBQztBQUVGLHNGQUE2RTtBQUU3RSxNQUFNLGNBQWMsR0FBRztJQUV0QixJQUFJLHVCQUF1QjtRQUMxQixPQUFPLG1DQUF1QixDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFPRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FFMEIsQ0FBQztBQUVoQixRQUFBLFNBQVMsR0FBRztJQUV4QixJQUFJLGtCQUFrQjtRQUNyQixPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUMxQixPQUFPLHFCQUFxQixDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZixPQUFPLFVBQVUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDeEIsT0FBTyxtQkFBbUIsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSw4QkFBOEI7UUFDakMsT0FBTyw0QkFBNEIsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2pCLE9BQU8sWUFBWSxDQUFDO0lBQ3JCLENBQUM7SUFHRCxJQUFJLFdBQVc7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2QsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUNELElBQUksUUFBUTtRQUNYLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksS0FBSztRQUNSLE9BQU8sQ0FBRSxDQUFNLEVBQUUsQ0FBYyxFQUFFLFVBQThDLEVBQVEsRUFBRTtZQUN4RixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUUsQ0FBQztRQUNsRCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbkIsT0FBTyxjQUFjLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBRSxjQUFjLENBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCO0lBRWpCLGFBQWE7Q0FFYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vLyBuYW1lc1xuY29uc3QgTU5FTU9OSUNBID0gJ01uZW1vbmljYSc7XG5cbi8vIE8gR3JlYXQgTW5lbW9zeW5lISBQbGVhc2UhXG4vLyBTYXZlIHVzIGZyb20gT2JsaXZpb24uLi5cbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL01uZW1vc3luZVxuY29uc3QgTU5FTU9TWU5FID0gJ01uZW1vc3luZSc7XG5cbi8vIEdhaWEgLSBXaWtpcGVkaWFcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0dhaWFcbmNvbnN0IEdBSUEgPSAnR2FpYSc7XG5jb25zdCBVUkFOVVMgPSAnVXJhbnVzJztcblxuLy8gc3ltYm9sc1xuY29uc3QgU3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbiA9IFN5bWJvbCggYGRlZmF1bHQgJHtNTkVNT05JQ0F9IHR5cGVzIGNvbGxlY3Rpb25gICk7XG5jb25zdCBTeW1ib2xQYXJlbnRUeXBlID0gU3ltYm9sKCAnUGFyZW50IG9mIHRoaXMgU3ViVHlwZSBDb2xsZWN0aW9uJyApO1xuY29uc3QgU3ltYm9sQ29uc3RydWN0b3JOYW1lID0gU3ltYm9sKCAnRGVmaW5lZCBDb25zdHJ1Y3RvciBOYW1lJyApO1xuXG4vLyBTeW1ib2xHYWlhIG1lYW5zIHdlIGFyZSByZWFjaGVkIHByb3RvdHlwZSBjaGFpbiByb290XG5jb25zdCBTeW1ib2xHYWlhID0gU3ltYm9sKCAnRGVmaW5lZCBHYWlhIENvbnN0cnVjdG9yJyApO1xuY29uc3QgU3ltYm9sUmVwbGFjZVVyYW51cyA9IFN5bWJvbCggJ0RlZmluZWQgTWV0aG9kIE5hbWUgdG8gUmVwbGFjZSBHYWlhJyApO1xuXG5jb25zdCBTeW1ib2xDb25maWcgPSBTeW1ib2woICdNbmVtb25pY2EgQ29uZmlnIERhdGEnICk7XG5cbi8vIGV0Yy4uLlxuY29uc3QgVFlQRV9USVRMRV9QUkVGSVggPSAnbW9kaWZpY2F0b3Igb2YgOiAnO1xuXG4vLyBlcnJvcnNcbmNvbnN0IEVycm9yTWVzc2FnZXMgPSB7XG5cblx0QkFTRV9FUlJPUl9NRVNTQUdFICAgICAgICAgOiAnVU5QUkVESUNUQUJMRSBCRUhBVklPVVInLFxuXHRUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HICA6ICd0eXBlbmFtZSBtdXN0IGJlIGEgc3RyaW5nJyxcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04gOiAnaGFuZGxlciBtdXN0IGJlIGEgZnVuY3Rpb24nLFxuXHRXUk9OR19UWVBFX0RFRklOSVRJT04gICAgICA6ICd3cm9uZyB0eXBlIGRlZmluaXRpb24nLFxuXHRXUk9OR19JTlNUQU5DRV9JTlZPQ0FUSU9OICA6ICd3cm9uZyBpbnN0YW5jZSBpbnZvY2F0aW9uJyxcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4gOiAnd3JvbmcgbW9kaWZpY2F0aW9uIHBhdHRlcm4nLFxuXHRBTFJFQURZX0RFQ0xBUkVEICAgICAgICAgICA6ICd0aGlzIHR5cGUgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZCcsXG5cdC8vIEVYSVNURU5UX1BST1BFUlRZX1JFREVGSU5JVElPTiA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSB0eXBlIGNvbnN0cnVjdG9yJyxcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQgICAgICAgOiAnd3JvbmcgYXJndW1lbnRzIDogc2hvdWxkIHVzZSBwcm9wZXIgaW52b2NhdGlvbicsXG5cdFdST05HX0hPT0tfVFlQRSAgICAgICAgICAgIDogJ3RoaXMgaG9vayB0eXBlIGRvZXMgbm90IGV4aXN0Jyxcblx0TUlTU0lOR19IT09LX0NBTExCQUNLICAgICAgOiAnaG9vayBkZWZpbml0aW9uIHJlcXVpcmVzIGNhbGxiYWNrJyxcblx0TUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVCAgOiAnY2FsbGJhY2sgaXMgcmVxdWlyZWQgYXJndW1lbnQnLFxuXHRGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OICA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSBmbG93IGNoZWNrZXIgY2FsbGJhY2snLFxuXHRPUFRJT05TX0VSUk9SICAgICAgICAgICAgICA6ICdvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IG9yIGEgc3RyaW5nJyxcblx0V1JPTkdfU1RBQ0tfQ0xFQU5FUiAgICAgICAgOiAnd3Jvbmcgc3RhY2sgY2xlYW5lciBpbnN0YW5jZW9mJyxcblx0UFJPVE9UWVBFX1VTRURfVFdJQ0UgICAgICAgOiAnLnByb3RvdHlwZSB1c2VkIHR3aWNlJyxcblxufTtcblxuaW1wb3J0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yIGZyb20gJy4uL2FwaS90eXBlcy9jcmVhdGVJbnN0YW5jZU1vZGlmaWNhdG9yJztcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG5cblx0Z2V0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yICgpIHtcblx0XHRyZXR1cm4gTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG5cdH0sXG5cblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRnZXQgc3RyaWN0Q2hhaW4gKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0Ly8gZGlzYWxsb3cgaW5zdGFuY2UgY29uc3RydWN0aW9uXG5cdC8vIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHByb3RvdHlwZSBjaGFpblxuXHRnZXQgYmxvY2tFcnJvcnMgKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIGlmIGl0IGlzIG5lY2Vzc2FyeSB0byBjb2xsZWN0IHN0YWNrXG5cdC8vIGFzIGEgX19zdGFja19fIHByb3RvdHlwZSBwcm9wZXJ0eVxuXHQvLyBkdXJpbmcgdGhlIHByb2Nlc3Mgb2YgaW5zdGFuY2UgY3JlYXRpb25cblx0Z2V0IHN1Ym1pdFN0YWNrICgpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0sXG5cblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0Ly8gb3B0aW9uYWwgLi9pc3N1ZXMvMTA2XG5cdGdldCBhd2FpdFJldHVybiAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cbn0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCBjb25zdCBjb25zdGFudHMgPSB7XG5cblx0Z2V0ICdTeW1ib2xQYXJlbnRUeXBlJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbFBhcmVudFR5cGU7XG5cdH0sXG5cblx0Z2V0ICdTeW1ib2xDb25zdHJ1Y3Rvck5hbWUnICgpIHtcblx0XHRyZXR1cm4gU3ltYm9sQ29uc3RydWN0b3JOYW1lO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sR2FpYScgKCkge1xuXHRcdHJldHVybiBTeW1ib2xHYWlhO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sUmVwbGFjZVVyYW51cycgKCkge1xuXHRcdHJldHVybiBTeW1ib2xSZXBsYWNlVXJhbnVzO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbicgKCkge1xuXHRcdHJldHVybiBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sQ29uZmlnJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbENvbmZpZztcblx0fSxcblxuXHQvLyBjb25zdGFudHNcblx0Z2V0ICdNTkVNT05JQ0EnICgpIHtcblx0XHRyZXR1cm4gTU5FTU9OSUNBO1xuXHR9LFxuXHRnZXQgJ01ORU1PU1lORScgKCkge1xuXHRcdHJldHVybiBNTkVNT1NZTkU7XG5cdH0sXG5cdGdldCAnR0FJQScgKCkge1xuXHRcdHJldHVybiBHQUlBO1xuXHR9LFxuXHRnZXQgJ1VSQU5VUycgKCkge1xuXHRcdHJldHVybiBVUkFOVVM7XG5cdH0sXG5cdGdldCAnb2RwJyAoKSB7XG5cdFx0cmV0dXJuICggbzogYW55LCBwOiBQcm9wZXJ0eUtleSwgYXR0cmlidXRlczogUHJvcGVydHlEZXNjcmlwdG9yICYgVGhpc1R5cGU8YW55PiApOiBhbnkgPT4ge1xuXHRcdFx0cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSggbywgcCwgYXR0cmlidXRlcyApO1xuXHRcdH07XG5cdH0sXG5cblx0Z2V0ICdkZWZhdWx0T3B0aW9ucycgKCkge1xuXHRcdHJldHVybiBkZWZhdWx0T3B0aW9ucztcblx0fSxcblxuXHRnZXQgJ2RlZmF1bHRPcHRpb25zS2V5cycgKCkge1xuXHRcdHJldHVybiBPYmplY3Qua2V5cyggZGVmYXVsdE9wdGlvbnMgKTtcblx0fSxcblxuXHRUWVBFX1RJVExFX1BSRUZJWCxcblxuXHRFcnJvck1lc3NhZ2VzLFxuXG59O1xuIl19
@@ -12,4 +12,4 @@ Object.entries(ErrorMessages).forEach(entry => {
12
12
  const ErrorConstructor = (0, errors_1.constructError)(ErrorConstructorName, message);
13
13
  exports.ErrorsTypes[ErrorConstructorName] = ErrorConstructor;
14
14
  });
15
- //# sourceMappingURL=index.js.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvcnMvZXJyb3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBQzVDLDZDQUF3RTtBQUV4RSxNQUFNLEVBQ0wsYUFBYSxHQUNiLEdBQUcscUJBQVMsQ0FBQztBQUVELFFBQUEsV0FBVyxHQUErQjtJQUN0RCxvQkFBb0IsRUFBcEIsNkJBQW9CO0NBQ3BCLENBQUM7QUFFRixNQUFNLENBQUMsT0FBTyxDQUFFLGFBQWEsQ0FBRSxDQUFDLE9BQU8sQ0FBRSxLQUFLLENBQUMsRUFBRTtJQUNoRCxNQUFNLENBQUUsb0JBQW9CLEVBQUUsT0FBTyxDQUFFLEdBQUcsS0FBSyxDQUFDO0lBRWhELE1BQU0sZ0JBQWdCLEdBQXNCLElBQUEsdUJBQWMsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQUUsQ0FBQztJQUM1RixtQkFBVyxDQUFFLG9CQUFvQixDQUFFLEdBQUcsZ0JBQWdCLENBQUM7QUFDeEQsQ0FBQyxDQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCQVNFX01ORU1PTklDQV9FUlJPUiwgY29uc3RydWN0RXJyb3IgfSBmcm9tICcuLi8uLi9hcGkvZXJyb3JzJztcblxuY29uc3Qge1xuXHRFcnJvck1lc3NhZ2VzLFxufSA9IGNvbnN0YW50cztcblxuZXhwb3J0IGNvbnN0IEVycm9yc1R5cGVzOiB7IFsgaW5kZXg6IHN0cmluZyBdOiBhbnkgfSA9IHtcblx0QkFTRV9NTkVNT05JQ0FfRVJST1Jcbn07XG5cbk9iamVjdC5lbnRyaWVzKCBFcnJvck1lc3NhZ2VzICkuZm9yRWFjaCggZW50cnkgPT4ge1xuXHRjb25zdCBbIEVycm9yQ29uc3RydWN0b3JOYW1lLCBtZXNzYWdlIF0gPSBlbnRyeTtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvdywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSBcblx0Y29uc3QgRXJyb3JDb25zdHJ1Y3RvcjogSW5zdGFuY2VUeXBlPGFueT4gPSBjb25zdHJ1Y3RFcnJvciggRXJyb3JDb25zdHJ1Y3Rvck5hbWUsIG1lc3NhZ2UgKTtcblx0RXJyb3JzVHlwZXNbIEVycm9yQ29uc3RydWN0b3JOYW1lIF0gPSBFcnJvckNvbnN0cnVjdG9yO1xufSApO1xuXG5cbiJdfQ==
@@ -4,4 +4,4 @@ exports.descriptors = void 0;
4
4
  const errors_1 = require("./errors");
5
5
  const types_1 = require("./types");
6
6
  exports.descriptors = Object.assign(Object.assign({}, types_1.types), { ErrorsTypes: errors_1.ErrorsTypes });
7
- //# sourceMappingURL=index.js.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVzY3JpcHRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYixxQ0FBdUM7QUFDdkMsbUNBRWlCO0FBR0osUUFBQSxXQUFXLG1DQUVwQixhQUFLLEtBRVIsV0FBVyxFQUFYLG9CQUFXLElBRVYiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHtcblx0dHlwZXNcbn0gZnJvbSAnLi90eXBlcyc7XG5cblxuZXhwb3J0IGNvbnN0IGRlc2NyaXB0b3JzID0ge1xuXG5cdC4uLnR5cGVzLFxuXG5cdEVycm9yc1R5cGVzXG5cbn07XG4iXX0=