mnemonica 1.0.1 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ai/AGENTS.md +1 -1
- package/.ai/ONBOARDING.md +3 -2
- package/.ai/PROTOTYPE-CHAIN.md +122 -0
- package/.ai/TACTICA-DEEP-DIVE.md +52 -49
- package/.ai/TACTICA-RULES.md +8 -8
- package/.ai/ask/AGENTS.md +15 -9
- package/.ai/rules-skill/contributing.md +1 -1
- package/.ai/rules-skill/define-patterns.md +8 -2
- package/.ai/rules-skill/ecosystem.md +4 -4
- package/.ai/rules-skill/instance-methods.md +48 -15
- package/.ai/rules-skill/lookup-typed.md +17 -19
- package/.ai/rules-skill/type-system.md +12 -2
- package/AGENTS.md +25 -15
- package/CONTRIBUTING.md +8 -2
- package/FOR_HUMANS.md +193 -218
- package/README.md +84 -47
- package/SKILL.md +4 -4
- package/build/api/errors/exceptionConstructor.js +20 -12
- package/build/api/errors/index.js +9 -5
- package/build/api/errors/throwModificationError.js +15 -9
- package/build/api/index.js +35 -2
- package/build/api/types/InstanceCreator.js +5 -2
- package/build/api/types/Mnemosyne.d.ts +6 -6
- package/build/api/types/Mnemosyne.js +43 -120
- package/build/api/types/Props.js +5 -3
- package/build/api/types/TypeProxy.js +13 -9
- package/build/api/types/compileNewModificatorFunctionBody.js +14 -8
- package/build/api/types/createInstanceModificator.js +1 -1
- package/build/api/types/index.js +56 -13
- package/build/api/utils/index.js +21 -12
- package/build/constants/index.js +11 -8
- package/build/descriptors/types/index.js +79 -26
- package/build/index.d.ts +9 -10
- package/build/index.js +65 -25
- package/build/types/index.d.ts +76 -32
- package/build/types/index.js +1 -1
- package/build/utils/clone.d.ts +1 -0
- package/build/utils/clone.js +11 -0
- package/build/utils/collectConstructors.js +5 -3
- package/build/utils/exception.d.ts +1 -0
- package/build/utils/exception.js +14 -0
- package/build/utils/extract.d.ts +2 -3
- package/build/utils/extract.js +3 -2
- package/build/utils/fork.d.ts +1 -0
- package/build/utils/fork.js +33 -0
- package/build/utils/index.d.ts +2 -3
- package/build/utils/index.js +21 -7
- package/build/utils/merge.d.ts +2 -1
- package/build/utils/merge.js +10 -6
- package/build/utils/parent.d.ts +4 -1
- package/build/utils/parent.js +7 -7
- package/build/utils/parse.d.ts +2 -12
- package/build/utils/parse.js +1 -1
- package/build/utils/pick.d.ts +4 -3
- package/build/utils/pick.js +4 -5
- package/build/utils/sibling.d.ts +1 -0
- package/build/utils/sibling.js +25 -0
- package/build/utils/toJSON.d.ts +1 -1
- package/build/utils/toJSON.js +3 -2
- package/docs/UTILS.md +184 -0
- package/docs/ai-learning-trajectory.md +9 -9
- package/docs/async-constructors.md +21 -1
- package/docs/empathy-in-ai.md +170 -0
- package/docs/hott-primer.md +47 -0
- package/docs/performance-vs-security.md +2 -2
- package/docs/prototype-chain.md +127 -0
- package/docs/purpose.md +42 -11
- package/docs/tactica-pattern.md +20 -20
- package/docs/theory-of-operations.md +224 -0
- package/docs/typed-lookup.md +30 -26
- package/module/index.js +0 -1
- package/package.json +13 -7
- package/src/api/errors/exceptionConstructor.ts +14 -9
- package/src/api/errors/index.ts +8 -4
- package/src/api/errors/throwModificationError.ts +10 -9
- package/src/api/types/InstanceCreator.ts +5 -8
- package/src/api/types/Mnemosyne.ts +72 -231
- package/src/api/types/Props.ts +4 -2
- package/src/api/types/TypeProxy.ts +7 -11
- package/src/api/types/compileNewModificatorFunctionBody.ts +13 -7
- package/src/api/types/createInstanceModificator.ts +13 -0
- package/src/api/types/index.ts +15 -8
- package/src/api/utils/index.ts +16 -14
- package/src/constants/index.ts +6 -9
- package/src/descriptors/types/index.ts +45 -25
- package/src/index.ts +60 -71
- package/src/types/index.ts +188 -70
- package/src/utils/clone.ts +11 -0
- package/src/utils/collectConstructors.ts +4 -2
- package/src/utils/exception.ts +16 -0
- package/src/utils/extract.ts +5 -2
- package/src/utils/fork.ts +57 -0
- package/src/utils/index.ts +32 -13
- package/src/utils/merge.ts +18 -6
- package/src/utils/parent.ts +16 -7
- package/src/utils/parse.ts +5 -4
- package/src/utils/pick.ts +10 -2
- package/src/utils/sibling.ts +33 -0
- package/src/utils/toJSON.ts +3 -2
package/build/api/utils/index.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.CreationHandler = void 0;
|
|
4
7
|
const constants_1 = require("../../constants");
|
|
5
8
|
const errors_1 = require("../../descriptors/errors");
|
|
6
|
-
const
|
|
9
|
+
const collectConstructors_1 = require("../../utils/collectConstructors");
|
|
7
10
|
const { odp, SymbolConstructorName, MNEMONICA, MNEMOSYNE, } = constants_1.constants;
|
|
8
11
|
const { WRONG_TYPE_DEFINITION, } = errors_1.ErrorsTypes;
|
|
9
|
-
const { collectConstructors } = utils_1.utils;
|
|
10
12
|
const Props_1 = require("../types/Props");
|
|
11
|
-
const compileNewModificatorFunctionBody_1 = require("../types/compileNewModificatorFunctionBody");
|
|
13
|
+
const compileNewModificatorFunctionBody_1 = __importDefault(require("../types/compileNewModificatorFunctionBody"));
|
|
12
14
|
const CreationHandler = function (constructionAnswer) {
|
|
13
15
|
return constructionAnswer;
|
|
14
16
|
};
|
|
@@ -27,10 +29,12 @@ const getTypeChecker = (TypeName) => {
|
|
|
27
29
|
return false;
|
|
28
30
|
}
|
|
29
31
|
if (Reflect.getPrototypeOf(instance).constructor.name === 'Promise') {
|
|
30
|
-
|
|
32
|
+
const checkResult = instance[SymbolConstructorName] === TypeName;
|
|
33
|
+
return checkResult;
|
|
31
34
|
}
|
|
32
|
-
const constructors = collectConstructors(instance);
|
|
33
|
-
|
|
35
|
+
const constructors = (0, collectConstructors_1.collectConstructors)(instance);
|
|
36
|
+
const constructorResult = constructors[TypeName] || false;
|
|
37
|
+
return constructorResult;
|
|
34
38
|
};
|
|
35
39
|
return seeker;
|
|
36
40
|
};
|
|
@@ -107,13 +111,15 @@ const findSubTypeFromParent = (instance, subType) => {
|
|
|
107
111
|
};
|
|
108
112
|
const isClass = (fn) => {
|
|
109
113
|
const str = String(fn);
|
|
110
|
-
|
|
114
|
+
const result = str.indexOf('class ') === 0;
|
|
115
|
+
return result;
|
|
111
116
|
};
|
|
112
117
|
const makeErrorModificatorType = (TypeName, ErrorModificator = function () { }) => {
|
|
113
118
|
const modificatorBody = (0, compileNewModificatorFunctionBody_1.default)(TypeName);
|
|
114
119
|
const modificatorType = modificatorBody(ErrorModificator, exports.CreationHandler, SymbolConstructorName);
|
|
115
120
|
const result = modificatorType();
|
|
116
|
-
|
|
121
|
+
const constructorResult = result;
|
|
122
|
+
return constructorResult;
|
|
117
123
|
};
|
|
118
124
|
const reflectPrimitiveWrappers = (_thisArg) => {
|
|
119
125
|
let thisArg = _thisArg;
|
|
@@ -121,9 +127,10 @@ const reflectPrimitiveWrappers = (_thisArg) => {
|
|
|
121
127
|
thisArg = Object.create(null);
|
|
122
128
|
odp(thisArg, Symbol.toPrimitive, {
|
|
123
129
|
get() {
|
|
124
|
-
|
|
130
|
+
const result = () => {
|
|
125
131
|
return _thisArg;
|
|
126
132
|
};
|
|
133
|
+
return result;
|
|
127
134
|
}
|
|
128
135
|
});
|
|
129
136
|
}
|
|
@@ -132,9 +139,11 @@ const reflectPrimitiveWrappers = (_thisArg) => {
|
|
|
132
139
|
_thisArg instanceof String) {
|
|
133
140
|
odp(thisArg, Symbol.toPrimitive, {
|
|
134
141
|
get() {
|
|
135
|
-
|
|
136
|
-
|
|
142
|
+
const result = () => {
|
|
143
|
+
const valueResult = _thisArg.valueOf();
|
|
144
|
+
return valueResult;
|
|
137
145
|
};
|
|
146
|
+
return result;
|
|
138
147
|
}
|
|
139
148
|
});
|
|
140
149
|
}
|
|
@@ -152,4 +161,4 @@ const TypesUtils = {
|
|
|
152
161
|
reflectPrimitiveWrappers,
|
|
153
162
|
};
|
|
154
163
|
exports.default = TypesUtils;
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBQzVDLHFEQUF1RDtBQUN2RCx1Q0FBb0M7QUFFcEMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULFNBQVMsR0FDVCxHQUFHLHFCQUFTLENBQUM7QUFFZCxNQUFNLEVBQUUscUJBQXFCLEdBQUcsR0FBRyxvQkFBVyxDQUFDO0FBRS9DLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxHQUFHLGFBQUssQ0FBQztBQUV0QywwQ0FFd0I7QUFHeEIsa0dBQWlIO0FBSTFHLE1BQU0sZUFBZSxHQUFHLFVBQTJELGtCQUEyQjtJQUNwSCxPQUFPLGtCQUFrQixDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUZXLFFBQUEsZUFBZSxtQkFFMUI7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQ3JDLElBQUksQ0FBQyxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7QUFDRixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMzQyxNQUFNLE1BQU0sR0FBWSxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUU1QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUdELElBQUksQ0FBQyxRQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBR0QsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJ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Q0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCB7XG5cdG9kcCxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRNTkVNT05JQ0EsXG5cdE1ORU1PU1lORSxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHsgV1JPTkdfVFlQRV9ERUZJTklUSU9OLCB9ID0gRXJyb3JzVHlwZXM7XG5cbmNvbnN0IHsgY29sbGVjdENvbnN0cnVjdG9ycyB9ID0gdXRpbHM7XG5cbmltcG9ydCB7XG5cdF9nZXRQcm9wcywgUHJvcHMgXG59IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcbmltcG9ydCB0eXBlIHsgTW5lbW9uaWNhQ29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHksIHsgQ29uc3RydWN0SGFuZGxlciB9IGZyb20gJy4uL3R5cGVzL2NvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSc7XG5cbi8vIENyZWF0aW9uSGFuZGxlciAtIGhhbmRsZXMgY29uc3RydWN0b3IgcmV0dXJuIHZhbHVlc1xuLy8gTW92ZWQgdG8gYXBpL3R5cGVzL2luZGV4LnRzIGFzIHBlciByZWZhY3RvcmluZyBwbGFuXG5leHBvcnQgY29uc3QgQ3JlYXRpb25IYW5kbGVyID0gZnVuY3Rpb24gKHRoaXM6IG9iamVjdCAmIHsgY29uc3RydWN0b3I6IE5ld2FibGVGdW5jdGlvbiB9LCBjb25zdHJ1Y3Rpb25BbnN3ZXI6IHVua25vd24pIHtcblx0cmV0dXJuIGNvbnN0cnVjdGlvbkFuc3dlcjtcbn07XG5cbmNvbnN0IGNoZWNrUHJvdG8gPSAocHJvdG86IHVua25vd24pID0+IHtcblx0aWYgKCEocHJvdG8gaW5zdGFuY2VvZiBPYmplY3QpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignZXhwZWN0IHByb3RvdHlwZSB0byBiZSBhbiBvYmplY3QnKTtcblx0fVxufTtcblxuY29uc3QgZ2V0VHlwZUNoZWNrZXIgPSAoVHlwZU5hbWU6IHN0cmluZykgPT4ge1xuXHRjb25zdCBzZWVrZXI6IHVua25vd24gPSAoaW5zdGFuY2U6IG9iamVjdCkgPT4ge1xuXG5cdFx0aWYgKHR5cGVvZiBpbnN0YW5jZSAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQgXG5cdFx0aWYgKCFpbnN0YW5jZSEuY29uc3RydWN0b3IpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0IFxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgSSdtIHRvbyBsYXp5IGZvciB0aGF0XG5cdFx0aWYgKFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQcm9taXNlJykge1xuXHRcdFx0Ly8gaWYgKCBpbnN0YW5jZSBpbnN0YW5jZW9mIFByb21pc2UgKSB7XG5cdFx0XHQgXG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRcdFx0cmV0dXJuIGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gVHlwZU5hbWU7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29uc3RydWN0b3JzOiB7XG5cdFx0XHRzdHJpbmc6IG5ldyAoKSA9PiB1bmtub3duXG5cdFx0fSA9IGNvbGxlY3RDb25zdHJ1Y3RvcnMoaW5zdGFuY2UpO1xuXHRcdCBcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRcdHJldHVybiBjb25zdHJ1Y3RvcnNbIFR5cGVOYW1lIF0gfHwgZmFsc2U7XG5cblx0fTtcblx0cmV0dXJuIHNlZWtlcjtcbn07XG5cbmNvbnN0IGdldFR5cGVTcGxpdFBhdGggPSAocGF0aDogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNwbGl0ID0gcGF0aFxuXHRcdC8vIGJlYXV0aWZ1bGwgbmFtZXNcblx0XHQucmVwbGFjZShcblx0XHRcdC9cXG58XFx0fCAvZyxcblx0XHRcdCcnXG5cdFx0KVxuXHRcdC5yZXBsYWNlKFxuXHRcdFx0L1xcWyhcXHcrKVxcXS9nLFxuXHRcdFx0Jy4kMSdcblx0XHQpXG5cdFx0LnJlcGxhY2UoXG5cdFx0XHQvXlxcLi8sXG5cdFx0XHQnJ1xuXHRcdClcblx0XHQuc3BsaXQoL1xcLnxcXC98Oi8pO1xuXHRyZXR1cm4gc3BsaXQ7XG59O1xuXG5leHBvcnQgdHlwZSBhc3luY1N0YWNrID0ge1xuXHRfX3N0YWNrX18/OiBzdHJpbmdcblx0X190eXBlX186IHtcblx0XHRpc1N1YlR5cGU6IGJvb2xlYW5cblx0fVxuXHRwYXJlbnQ6ICgpID0+IGFzeW5jU3RhY2tcbn1cblxuY29uc3QgZ2V0RXhpc3RlbnRBc3luY1N0YWNrID0gKGV4aXN0ZW50SW5zdGFuY2U6IGFzeW5jU3RhY2spOiB1bmtub3duID0+IHtcblxuXHRjb25zdCBzdGFjayA9IFtdO1xuXHRsZXQgcHJvdG8gPSBleGlzdGVudEluc3RhbmNlO1xuXG5cdHdoaWxlIChwcm90bykge1xuXG5cdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMocHJvdG8pIGFzIFByb3BzO1xuXG5cdFx0aWYgKCFwcm9wcy5fX3N0YWNrX18pIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBzdGFjayA9IHByb3BzXG5cdFx0XHQuX19zdGFja19fXG5cdFx0XHQuc3BsaXQoJ1xcbicpXG5cdFx0XHQucmVkdWNlKFxuXHRcdFx0XHQoYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGxpbmUubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRhcnIucHVzaChsaW5lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGFycjtcblx0XHRcdFx0fSxcblx0XHRcdFx0W11cblx0XHRcdCk7XG5cblx0XHRwcm90byA9IHByb3RvLnBhcmVudCgpO1xuXG5cdFx0Y29uc3QgcHJvdG9Qcm9wcyA9IF9nZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAocHJvdG8gJiYgcHJvdG9Qcm9wcyAmJiBwcm90b1Byb3BzLl9fdHlwZV9fKSB7XG5cblx0XHRcdGlmIChwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSkge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjay5zbGljZShcblx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdDFcblx0XHRcdFx0KSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjayk7XG5cdFx0XHR9XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RhY2sucHVzaCguLi5wc3RhY2spO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUgXTtcblxuY29uc3QgY2hlY2tUeXBlTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcblxuXHRpZiAoIW5hbWUubGVuZ3RoKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcblx0fVxuXG5cdGlmIChuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggVXBwZXJjYXNlIExldHRlcicpO1xuXHR9XG5cblx0aWYgKGZvcmJpZGRlbk5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgb2YgcmVzZXJ2ZWQga2V5d29yZCcpO1xuXHR9XG5cbn07XG5cbmV4cG9ydCB0eXBlIHBhcmVudFN1YiA9IHtcblx0VHlwZU5hbWU6IHN0cmluZztcblx0X190eXBlX186IHtcblx0XHRzdWJ0eXBlczogTWFwPHN0cmluZywgcGFyZW50U3ViPlxuXHR9XG5cdF9fcGFyZW50X186IHBhcmVudFN1YlxufVxuXG5jb25zdCBmaW5kU3ViVHlwZUZyb21QYXJlbnQgPSAoaW5zdGFuY2U6IHBhcmVudFN1YiB8IG9iamVjdCB8IHVuZGVmaW5lZCwgc3ViVHlwZTogc3RyaW5nKTogcGFyZW50U3ViIHwgbnVsbCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHRpZiAoIWluc3RhbmNlKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKHByb3BzKSB7XG5cdFx0aWYocHJvcHMuX190eXBlX18uc3VidHlwZXMuaGFzKHN1YlR5cGUpKSB7XG5cdFx0XHRjb25zdCBfc3VidHlwZSA9IHByb3BzLl9fdHlwZV9fLnN1YnR5cGVzLmdldChzdWJUeXBlKTtcblx0XHRcdHN1YnR5cGUgPSBfc3VidHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VidHlwZSA9IGZpbmRTdWJUeXBlRnJvbVBhcmVudChcblx0XHRcdFx0cHJvcHMuX19wYXJlbnRfXyxcblx0XHRcdFx0c3ViVHlwZVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0IFxuXHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRyZXR1cm4gc3VidHlwZTtcbn07XG5cbi8vIGNvbnN0IGlzQ2xhc3MgPSAoIGZ1bmN0aW9uUG9pbnRlcjogQ2FsbGFibGVGdW5jdGlvbiApID0+IHtcbi8vIFx0Y29uc3QgdmFsdWUgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggZnVuY3Rpb25Qb2ludGVyICk7XG4vLyBcdHJldHVybiAvXlxccypjbGFzc1xccysvLnRlc3QoIHZhbHVlLnRyaW0oKSApO1xuLy8gfTtcblxuLy8gYWNjb3JkaW5nbHkgdG8gdGhlIGdpc3QgZnJvbSBoZXJlOlxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vd2VudG91dC9lYTNhZmU5YzgyMmE2YjZlZjMyZjllNGYzZTk4YjFiYVxuY29uc3QgaXNDbGFzcyA9IChmbjogQ29uc3RydWN0SGFuZGxlcikgPT4ge1xuXHRcblx0Y29uc3Qgc3RyID0gU3RyaW5nKGZuKTtcblx0cmV0dXJuIHN0ci5pbmRleE9mKCdjbGFzcyAnKSA9PT0gMDtcblxuXHQvKlxuXG5cdC8vIG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgZm4gZm9yIHR5cGVvZlxuXHQvLyBiZWNhdXNlIG9mIG90aGVyIGNoZWNrcyBtYWRlIGJlZm9yZVxuXHQvLyBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nKSB7XG5cdC8vIFx0cmV0dXJuIGZhbHNlO1xuXHQvLyB9XG5cblx0Ly8gc2VlbWluZ2x5XG5cdC8vIGNsYXNzIHByb3RvdHlwZSBpcyBhbHdheXMgb2JqZWN0XG5cdGlmICghKGZuLnByb3RvdHlwZSBpbnN0YW5jZW9mIE9iamVjdCkpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblx0Ly8gYnV0IG9ubHkgaWYgbm90IGF1Z21lbnRlZFxuXG5cdC8vIGNsYXNzIHByb3RvdHlwZS5jb25zdHJ1Y3RvciBjYW5ub3QgYmUgcmUtZGVmaW5lZCAodXN1YWxseSlcblx0Ly8gYnV0IGZvciBmdW5jdGlvbnMgdXNlciBtYXkgcmUtYXNzaWduIGl0IGVhc2lseVxuXHQvLyBqdXN0IGFzc2lnbmluZyB0aGUgd2F5IC5wcm90b3R5cGUgPSB7fVxuXHQvLyBhbmQgdGhleSA5OS45JSBkbyB0aGlzLCBjYXVzZSBub2JvZHkgY2FyZXNcblx0Ly8gYnV0IHdlIGFyZSBjaGVja2luZyBpZiB0aGlzIGlzIGNsYXNzLCBzbyBpdCB3b3JrcyAuLi5cblx0aWYgKGZuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gZm4pIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvLyBhbmQgdGhlIG1vc3QgdW5rbm93biB0aGluZyBpcyB0aGF0LFxuXHQvLyBjYXVzZSBmb3IgZnVuY3Rpb25zIGl0IGl0IHdyaXRlYWJsZSApKSlcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cblx0cmV0dXJuIFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuLCAncHJvdG90eXBlJykhLndyaXRhYmxlID09PSBmYWxzZTtcblxuXHQqL1xufTtcblxuY29uc3QgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlID0gKFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRFcnJvck1vZGlmaWNhdG9yID0gZnVuY3Rpb24gKCkgeyB9XG4pOiBNbmVtb25pY2FDb25zdHJ1Y3RvciA9PiB7XG5cblx0Y29uc3QgbW9kaWZpY2F0b3JCb2R5ID0gY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5KFR5cGVOYW1lKTtcblxuXHQvLyBDcmVhdGlvbkhhbmRsZXIgaXMgbm93IGRlZmluZWQgbG9jYWxseSBpbiBhcGkvdHlwZXMvaW5kZXgudHNcblx0Y29uc3QgbW9kaWZpY2F0b3JUeXBlID0gbW9kaWZpY2F0b3JCb2R5KFxuXHRcdEVycm9yTW9kaWZpY2F0b3IsXG5cdFx0Q3JlYXRpb25IYW5kbGVyLFxuXHRcdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxuXHQpO1xuXG5cdGNvbnN0IHJlc3VsdCA9IG1vZGlmaWNhdG9yVHlwZSgpO1xuXHRyZXR1cm4gcmVzdWx0IGFzIE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXG59O1xuXG5cbi8vIFRPRE86IC52YWx1ZU9mKCksIC50b1N0cmluZygpID8/P1xuY29uc3QgcmVmbGVjdFByaW1pdGl2ZVdyYXBwZXJzID0gKF90aGlzQXJnOiB1bmtub3duKSA9PiB7XG5cdGxldCB0aGlzQXJnOiBvYmplY3QgPSBfdGhpc0FyZyBhcyBvYmplY3Q7XG5cblx0aWYgKF90aGlzQXJnID09PSBudWxsKSB7XG5cdFx0dGhpc0FyZyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzQXJnO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cblx0aWYgKFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgTnVtYmVyIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBCb29sZWFuIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBTdHJpbmdcblx0KSB7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIChfdGhpc0FyZyBhcyBTdHJpbmcgfCBOdW1iZXIgfCBCb29sZWFuKS52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdCk7XG5cdH1cblxuXHRyZXR1cm4gdGhpc0FyZztcbn07XG5cbmNvbnN0IFR5cGVzVXRpbHMgPSB7XG5cdGlzQ2xhc3MsXG5cdGNoZWNrUHJvdG8sXG5cdGdldFR5cGVDaGVja2VyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRnZXRFeGlzdGVudEFzeW5jU3RhY2ssXG5cdGNoZWNrVHlwZU5hbWUsXG5cdGZpbmRTdWJUeXBlRnJvbVBhcmVudCxcblx0bWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlLFxuXHRyZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUeXBlc1V0aWxzO1xuIl19
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7O0FBRWIsK0NBQTRDO0FBQzVDLHFEQUF1RDtBQUN2RCx5RUFBc0U7QUFFdEUsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULFNBQVMsR0FDVCxHQUFHLHFCQUFTLENBQUM7QUFFZCxNQUFNLEVBQUUscUJBQXFCLEdBQUcsR0FBRyxvQkFBVyxDQUFDO0FBRS9DLDBDQUV3QjtBQUd4QixtSEFBaUg7QUFJMUcsTUFBTSxlQUFlLEdBQUcsVUFBMkQsa0JBQTJCO0lBQ3BILE9BQU8sa0JBQWtCLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRlcsUUFBQSxlQUFlLG1CQUUxQjtBQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7SUFDckMsSUFBSSxDQUFDLENBQUMsS0FBSyxZQUFZLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDckUsQ0FBQztBQUNGLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO0lBQzNDLE1BQU0sTUFBTSxHQUFZLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1FBRTVDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBR0QsSUFBSSxDQUFDLFFBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFHRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUlyRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUUscUJBQXFCLENBQUUsS0FBSyxRQUFRLENBQUM7WUFDbkUsT0FBTyxXQUFXLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUEseUNBQW1CLEVBQUMsUUFBUSxDQUFzQyxDQUFDO1FBRXhGLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFFLFFBQVEsQ0FBRSxJQUFJLEtBQUssQ0FBQztRQUM1RCxPQUFPLGlCQUFpQixDQUFDO0lBRTFCLENBQUMsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUk7U0FFaEIsT0FBTyxDQUNQLFVBQVUsRUFDVixFQUFFLENBQ0Y7U0FDQSxPQUFPLENBQ1AsWUFBWSxFQUNaLEtBQUssQ0FDTDtTQUNBLE9BQU8sQ0FDUCxLQUFLLEVBQ0wsRUFBRSxDQUNGO1NBQ0EsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBVUYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLGdCQUE0QixFQUFXLEVBQUU7SUFFdkUsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLElBQUksS0FBSyxHQUFHLGdCQUFnQixDQUFDO0lBRTdCLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFFZCxNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsS0FBSyxDQUFVLENBQUM7UUFFeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixNQUFNO1FBQ1AsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLEtBQUs7YUFDbEIsU0FBUzthQUNULEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxNQUFNLENBQ04sQ0FBQyxHQUFhLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO1FBRUgsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUV2QixNQUFNLFVBQVUsR0FBRyxJQUFBLGlCQUFTLEVBQUMsS0FBSyxDQUFVLENBQUM7UUFFN0MsSUFBSSxLQUFLLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUVoRCxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUN6QixDQUFDLEVBQ0QsQ0FBQyxDQUNELENBQUMsQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDUCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUVGLENBQUM7YUFBTSxDQUFDO1lBQ1AsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBQ3RCLE1BQU07UUFDUCxDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBRWQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBRSxTQUFTLEVBQUUsU0FBUyxDQUFFLENBQUM7QUFFaEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUV0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLElBQUksQ0FBRSxDQUFDLENBQUUsS0FBSyxJQUFJLENBQUUsQ0FBQyxDQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUMzQyxNQUFNLElBQUkscUJBQXFCLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDakUsQ0FBQztBQUVGLENBQUMsQ0FBQztBQVVGLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUF3QyxFQUFFLE9BQWUsRUFBb0IsRUFBRTtJQUM3RyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFbkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBQSxpQkFBUyxFQUFDLFFBQVEsQ0FBVSxDQUFDO0lBRTNDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDWCxJQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RCxPQUFPLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLENBQUM7YUFBTSxDQUFDO1lBQ1AsT0FBTyxHQUFHLHFCQUFxQixDQUM5QixLQUFLLENBQUMsVUFBVSxFQUNoQixPQUFPLENBQ1AsQ0FBQztRQUNILENBQUM7SUFDRixDQUFDO0lBR0QsT0FBTyxPQUFPLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBU0YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFvQixFQUFFLEVBQUU7SUFFeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sTUFBTSxDQUFDO0FBZ0NmLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FDaEMsUUFBZ0IsRUFDaEIsZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLEVBQ1gsRUFBRTtJQUV6QixNQUFNLGVBQWUsR0FBRyxJQUFBLDJDQUFpQyxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBR3BFLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FDdEMsZ0JBQWdCLEVBQ2hCLHVCQUFlLEVBQ2YscUJBQXFCLENBQ3JCLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUNqQyxNQUFNLGlCQUFpQixHQUFHLE1BQThCLENBQUM7SUFDekQsT0FBTyxpQkFBaUIsQ0FBQztBQUUxQixDQUFDLENBQUM7QUFJRixNQUFNLHdCQUF3QixHQUFHLENBQUMsUUFBaUIsRUFBRSxFQUFFO0lBQ3RELElBQUksT0FBTyxHQUFXLFFBQWtCLENBQUM7SUFFekMsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDdkIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsR0FBRyxDQUNGLE9BQU8sRUFDUCxNQUFNLENBQUMsV0FBVyxFQUNsQjtZQUNDLEdBQUc7Z0JBQ0YsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO29CQUNuQixPQUFPLFFBQVEsQ0FBQztnQkFDakIsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sTUFBTSxDQUFDO1lBQ2YsQ0FBQztTQUNELENBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxJQUNDLFFBQVEsWUFBWSxNQUFNO1FBQzFCLFFBQVEsWUFBWSxPQUFPO1FBQzNCLFFBQVEsWUFBWSxNQUFNLEVBQ3pCLENBQUM7UUFDRixHQUFHLENBQ0YsT0FBTyxFQUNQLE1BQU0sQ0FBQyxXQUFXLEVBQ2xCO1lBQ0MsR0FBRztnQkFDRixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7b0JBQ25CLE1BQU0sV0FBVyxHQUFJLFFBQXNDLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3RFLE9BQU8sV0FBVyxDQUFDO2dCQUNwQixDQUFDLENBQUM7Z0JBQ0YsT0FBTyxNQUFNLENBQUM7WUFDZixDQUFDO1NBQ0QsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHO0lBQ2xCLE9BQU87SUFDUCxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIsd0JBQXdCO0NBQ3hCLENBQUM7QUFFRixrQkFBZSxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvcnNUeXBlcyB9IGZyb20gJy4uLy4uL2Rlc2NyaXB0b3JzL2Vycm9ycyc7XG5pbXBvcnQgeyBjb2xsZWN0Q29uc3RydWN0b3JzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdENvbnN0cnVjdG9ycyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxufSA9IGNvbnN0YW50cztcblxuY29uc3QgeyBXUk9OR19UWVBFX0RFRklOSVRJT04sIH0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IHtcblx0X2dldFByb3BzLCBQcm9wcyBcbn0gZnJvbSAnLi4vdHlwZXMvUHJvcHMnO1xuaW1wb3J0IHR5cGUgeyBNbmVtb25pY2FDb25zdHJ1Y3RvciB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSwgeyBDb25zdHJ1Y3RIYW5kbGVyIH0gZnJvbSAnLi4vdHlwZXMvY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5JztcblxuLy8gQ3JlYXRpb25IYW5kbGVyIC0gaGFuZGxlcyBjb25zdHJ1Y3RvciByZXR1cm4gdmFsdWVzXG4vLyBNb3ZlZCB0byBhcGkvdHlwZXMvaW5kZXgudHMgYXMgcGVyIHJlZmFjdG9yaW5nIHBsYW5cbmV4cG9ydCBjb25zdCBDcmVhdGlvbkhhbmRsZXIgPSBmdW5jdGlvbiAodGhpczogb2JqZWN0ICYgeyBjb25zdHJ1Y3RvcjogTmV3YWJsZUZ1bmN0aW9uIH0sIGNvbnN0cnVjdGlvbkFuc3dlcjogdW5rbm93bikge1xuXHRyZXR1cm4gY29uc3RydWN0aW9uQW5zd2VyO1xufTtcblxuY29uc3QgY2hlY2tQcm90byA9IChwcm90bzogdW5rbm93bikgPT4ge1xuXHRpZiAoIShwcm90byBpbnN0YW5jZW9mIE9iamVjdCkpIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCdleHBlY3QgcHJvdG90eXBlIHRvIGJlIGFuIG9iamVjdCcpO1xuXHR9XG59O1xuXG5jb25zdCBnZXRUeXBlQ2hlY2tlciA9IChUeXBlTmFtZTogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNlZWtlcjogdW5rbm93biA9IChpbnN0YW5jZTogb2JqZWN0KSA9PiB7XG5cblx0XHRpZiAodHlwZW9mIGluc3RhbmNlICE9PSAnb2JqZWN0Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdCBcblx0XHRpZiAoIWluc3RhbmNlIS5jb25zdHJ1Y3Rvcikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHQgXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBJJ20gdG9vIGxhenkgZm9yIHRoYXRcblx0XHRpZiAoUmVmbGVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSkuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Byb21pc2UnKSB7XG5cdFx0XHQvLyBpZiAoIGluc3RhbmNlIGluc3RhbmNlb2YgUHJvbWlzZSApIHtcblx0XHRcdCBcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgSSdtIHRvbyBsYXp5IGZvciB0aGF0XG5cdFx0XHRjb25zdCBjaGVja1Jlc3VsdCA9IGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gVHlwZU5hbWU7XG5cdFx0XHRyZXR1cm4gY2hlY2tSZXN1bHQ7XG5cdFx0fVxuXG5cdFx0Y29uc3QgY29uc3RydWN0b3JzID0gY29sbGVjdENvbnN0cnVjdG9ycyhpbnN0YW5jZSkgYXMgUmVjb3JkPHN0cmluZywgbmV3ICgpID0+IHVua25vd24+O1xuXHRcdCBcblx0XHRjb25zdCBjb25zdHJ1Y3RvclJlc3VsdCA9IGNvbnN0cnVjdG9yc1sgVHlwZU5hbWUgXSB8fCBmYWxzZTtcblx0XHRyZXR1cm4gY29uc3RydWN0b3JSZXN1bHQ7XG5cblx0fTtcblx0cmV0dXJuIHNlZWtlcjtcbn07XG5cbmNvbnN0IGdldFR5cGVTcGxpdFBhdGggPSAocGF0aDogc3RyaW5nKSA9PiB7XG5cdGNvbnN0IHNwbGl0ID0gcGF0aFxuXHRcdC8vIGJlYXV0aWZ1bGwgbmFtZXNcblx0XHQucmVwbGFjZShcblx0XHRcdC9cXG58XFx0fCAvZyxcblx0XHRcdCcnXG5cdFx0KVxuXHRcdC5yZXBsYWNlKFxuXHRcdFx0L1xcWyhcXHcrKVxcXS9nLFxuXHRcdFx0Jy4kMSdcblx0XHQpXG5cdFx0LnJlcGxhY2UoXG5cdFx0XHQvXlxcLi8sXG5cdFx0XHQnJ1xuXHRcdClcblx0XHQuc3BsaXQoL1xcLnxcXC98Oi8pO1xuXHRyZXR1cm4gc3BsaXQ7XG59O1xuXG5leHBvcnQgdHlwZSBhc3luY1N0YWNrID0ge1xuXHRfX3N0YWNrX18/OiBzdHJpbmdcblx0X190eXBlX186IHtcblx0XHRpc1N1YlR5cGU6IGJvb2xlYW5cblx0fVxuXHRwYXJlbnQ6ICgpID0+IGFzeW5jU3RhY2tcbn1cblxuY29uc3QgZ2V0RXhpc3RlbnRBc3luY1N0YWNrID0gKGV4aXN0ZW50SW5zdGFuY2U6IGFzeW5jU3RhY2spOiB1bmtub3duID0+IHtcblxuXHRjb25zdCBzdGFjayA9IFtdO1xuXHRsZXQgcHJvdG8gPSBleGlzdGVudEluc3RhbmNlO1xuXG5cdHdoaWxlIChwcm90bykge1xuXG5cdFx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMocHJvdG8pIGFzIFByb3BzO1xuXG5cdFx0aWYgKCFwcm9wcy5fX3N0YWNrX18pIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBzdGFjayA9IHByb3BzXG5cdFx0XHQuX19zdGFja19fXG5cdFx0XHQuc3BsaXQoJ1xcbicpXG5cdFx0XHQucmVkdWNlKFxuXHRcdFx0XHQoYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0aWYgKGxpbmUubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHRhcnIucHVzaChsaW5lKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGFycjtcblx0XHRcdFx0fSxcblx0XHRcdFx0W11cblx0XHRcdCk7XG5cblx0XHRwcm90byA9IHByb3RvLnBhcmVudCgpO1xuXG5cdFx0Y29uc3QgcHJvdG9Qcm9wcyA9IF9nZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAocHJvdG8gJiYgcHJvdG9Qcm9wcyAmJiBwcm90b1Byb3BzLl9fdHlwZV9fKSB7XG5cblx0XHRcdGlmIChwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSkge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjay5zbGljZShcblx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdDFcblx0XHRcdFx0KSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGFjay5wdXNoKC4uLnBzdGFjayk7XG5cdFx0XHR9XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RhY2sucHVzaCguLi5wc3RhY2spO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUgXTtcblxuY29uc3QgY2hlY2tUeXBlTmFtZSA9IChuYW1lOiBzdHJpbmcpID0+IHtcblxuXHRpZiAoIW5hbWUubGVuZ3RoKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcblx0fVxuXG5cdGlmIChuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgc2hvdWxkIHN0YXJ0IHdpdGggVXBwZXJjYXNlIExldHRlcicpO1xuXHR9XG5cblx0aWYgKGZvcmJpZGRlbk5hbWVzLmluY2x1ZGVzKG5hbWUpKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTignVHlwZU5hbWUgb2YgcmVzZXJ2ZWQga2V5d29yZCcpO1xuXHR9XG5cbn07XG5cbmV4cG9ydCB0eXBlIHBhcmVudFN1YiA9IHtcblx0VHlwZU5hbWU6IHN0cmluZztcblx0X190eXBlX186IHtcblx0XHRzdWJ0eXBlczogTWFwPHN0cmluZywgcGFyZW50U3ViPlxuXHR9XG5cdF9fcGFyZW50X186IHBhcmVudFN1YlxufVxuXG5jb25zdCBmaW5kU3ViVHlwZUZyb21QYXJlbnQgPSAoaW5zdGFuY2U6IHBhcmVudFN1YiB8IG9iamVjdCB8IHVuZGVmaW5lZCwgc3ViVHlwZTogc3RyaW5nKTogcGFyZW50U3ViIHwgbnVsbCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHRpZiAoIWluc3RhbmNlKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKHByb3BzKSB7XG5cdFx0aWYocHJvcHMuX190eXBlX18uc3VidHlwZXMuaGFzKHN1YlR5cGUpKSB7XG5cdFx0XHRjb25zdCBfc3VidHlwZSA9IHByb3BzLl9fdHlwZV9fLnN1YnR5cGVzLmdldChzdWJUeXBlKTtcblx0XHRcdHN1YnR5cGUgPSBfc3VidHlwZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VidHlwZSA9IGZpbmRTdWJUeXBlRnJvbVBhcmVudChcblx0XHRcdFx0cHJvcHMuX19wYXJlbnRfXyxcblx0XHRcdFx0c3ViVHlwZVxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblx0IFxuXHQvLyBAdHMtZXhwZWN0LWVycm9yIEknbSB0b28gbGF6eSBmb3IgdGhhdFxuXHRyZXR1cm4gc3VidHlwZTtcbn07XG5cbi8vIGNvbnN0IGlzQ2xhc3MgPSAoIGZ1bmN0aW9uUG9pbnRlcjogQ2FsbGFibGVGdW5jdGlvbiApID0+IHtcbi8vIFx0Y29uc3QgdmFsdWUgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCggZnVuY3Rpb25Qb2ludGVyICk7XG4vLyBcdHJldHVybiAvXlxccypjbGFzc1xccysvLnRlc3QoIHZhbHVlLnRyaW0oKSApO1xuLy8gfTtcblxuLy8gYWNjb3JkaW5nbHkgdG8gdGhlIGdpc3QgZnJvbSBoZXJlOlxuLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vd2VudG91dC9lYTNhZmU5YzgyMmE2YjZlZjMyZjllNGYzZTk4YjFiYVxuY29uc3QgaXNDbGFzcyA9IChmbjogQ29uc3RydWN0SGFuZGxlcikgPT4ge1xuXHRcblx0Y29uc3Qgc3RyID0gU3RyaW5nKGZuKTtcblx0Y29uc3QgcmVzdWx0ID0gc3RyLmluZGV4T2YoJ2NsYXNzICcpID09PSAwO1xuXHRyZXR1cm4gcmVzdWx0O1xuXG5cdC8qXG5cblx0Ly8gbm90IG5lY2Vzc2FyeSB0byBjaGVjayBmbiBmb3IgdHlwZW9mXG5cdC8vIGJlY2F1c2Ugb2Ygb3RoZXIgY2hlY2tzIG1hZGUgYmVmb3JlXG5cdC8vIGlmICh0eXBlb2YgZm4gIT09ICdmdW5jdGlvbicpIHtcblx0Ly8gXHRyZXR1cm4gZmFsc2U7XG5cdC8vIH1cblxuXHQvLyBzZWVtaW5nbHlcblx0Ly8gY2xhc3MgcHJvdG90eXBlIGlzIGFsd2F5cyBvYmplY3Rcblx0aWYgKCEoZm4ucHJvdG90eXBlIGluc3RhbmNlb2YgT2JqZWN0KSkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXHQvLyBidXQgb25seSBpZiBub3QgYXVnbWVudGVkXG5cblx0Ly8gY2xhc3MgcHJvdG90eXBlLmNvbnN0cnVjdG9yIGNhbm5vdCBiZSByZS1kZWZpbmVkICh1c3VhbGx5KVxuXHQvLyBidXQgZm9yIGZ1bmN0aW9ucyB1c2VyIG1heSByZS1hc3NpZ24gaXQgZWFzaWx5XG5cdC8vIGp1c3QgYXNzaWduaW5nIHRoZSB3YXkgLnByb3RvdHlwZSA9IHt9XG5cdC8vIGFuZCB0aGV5IDk5LjklIGRvIHRoaXMsIGNhdXNlIG5vYm9keSBjYXJlc1xuXHQvLyBidXQgd2UgYXJlIGNoZWNraW5nIGlmIHRoaXMgaXMgY2xhc3MsIHNvIGl0IHdvcmtzIC4uLlxuXHRpZiAoZm4ucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBmbikge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8vIGFuZCB0aGUgbW9zdCB1bmtub3duIHRoaW5nIGlzIHRoYXQsXG5cdC8vIGNhdXNlIGZvciBmdW5jdGlvbnMgaXQgaXQgd3JpdGVhYmxlICkpKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuXHRyZXR1cm4gUmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm4sICdwcm90b3R5cGUnKSEud3JpdGFibGUgPT09IGZhbHNlO1xuXG5cdCovXG59O1xuXG5jb25zdCBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUgPSAoXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdEVycm9yTW9kaWZpY2F0b3IgPSBmdW5jdGlvbiAoKSB7IH1cbik6IE1uZW1vbmljYUNvbnN0cnVjdG9yID0+IHtcblxuXHRjb25zdCBtb2RpZmljYXRvckJvZHkgPSBjb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkoVHlwZU5hbWUpO1xuXG5cdC8vIENyZWF0aW9uSGFuZGxlciBpcyBub3cgZGVmaW5lZCBsb2NhbGx5IGluIGFwaS90eXBlcy9pbmRleC50c1xuXHRjb25zdCBtb2RpZmljYXRvclR5cGUgPSBtb2RpZmljYXRvckJvZHkoXG5cdFx0RXJyb3JNb2RpZmljYXRvcixcblx0XHRDcmVhdGlvbkhhbmRsZXIsXG5cdFx0U3ltYm9sQ29uc3RydWN0b3JOYW1lXG5cdCk7XG5cblx0Y29uc3QgcmVzdWx0ID0gbW9kaWZpY2F0b3JUeXBlKCk7XG5cdGNvbnN0IGNvbnN0cnVjdG9yUmVzdWx0ID0gcmVzdWx0IGFzIE1uZW1vbmljYUNvbnN0cnVjdG9yO1xuXHRyZXR1cm4gY29uc3RydWN0b3JSZXN1bHQ7XG5cbn07XG5cblxuLy8gVE9ETzogLnZhbHVlT2YoKSwgLnRvU3RyaW5nKCkgPz8/XG5jb25zdCByZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnMgPSAoX3RoaXNBcmc6IHVua25vd24pID0+IHtcblx0bGV0IHRoaXNBcmc6IG9iamVjdCA9IF90aGlzQXJnIGFzIG9iamVjdDtcblxuXHRpZiAoX3RoaXNBcmcgPT09IG51bGwpIHtcblx0XHR0aGlzQXJnID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblx0XHRvZHAoXG5cdFx0XHR0aGlzQXJnLFxuXHRcdFx0U3ltYm9sLnRvUHJpbWl0aXZlLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9ICgpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiBfdGhpc0FyZztcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHQpO1xuXHR9XG5cblx0aWYgKFxuXHRcdF90aGlzQXJnIGluc3RhbmNlb2YgTnVtYmVyIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBCb29sZWFuIHx8XG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBTdHJpbmdcblx0KSB7XG5cdFx0b2RwKFxuXHRcdFx0dGhpc0FyZyxcblx0XHRcdFN5bWJvbC50b1ByaW1pdGl2ZSxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCB2YWx1ZVJlc3VsdCA9IChfdGhpc0FyZyBhcyBTdHJpbmcgfCBOdW1iZXIgfCBCb29sZWFuKS52YWx1ZU9mKCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWVSZXN1bHQ7XG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0KTtcblx0fVxuXG5cdHJldHVybiB0aGlzQXJnO1xufTtcblxuY29uc3QgVHlwZXNVdGlscyA9IHtcblx0aXNDbGFzcyxcblx0Y2hlY2tQcm90byxcblx0Z2V0VHlwZUNoZWNrZXIsXG5cdGdldFR5cGVTcGxpdFBhdGgsXG5cdGdldEV4aXN0ZW50QXN5bmNTdGFjayxcblx0Y2hlY2tUeXBlTmFtZSxcblx0ZmluZFN1YlR5cGVGcm9tUGFyZW50LFxuXHRtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUsXG5cdHJlZmxlY3RQcmltaXRpdmVXcmFwcGVycyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFR5cGVzVXRpbHM7XG4iXX0=
|
package/build/constants/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.constants = void 0;
|
|
4
7
|
const MNEMONICA = 'Mnemonica';
|
|
@@ -23,7 +26,7 @@ const ErrorMessages = {
|
|
|
23
26
|
OPTIONS_ERROR: 'options must be an object or a string',
|
|
24
27
|
WRONG_STACK_CLEANER: 'wrong stack cleaner instanceof',
|
|
25
28
|
};
|
|
26
|
-
const createInstanceModificator_1 = require("../api/types/createInstanceModificator");
|
|
29
|
+
const createInstanceModificator_1 = __importDefault(require("../api/types/createInstanceModificator"));
|
|
27
30
|
const defaultOptions = {
|
|
28
31
|
get ModificationConstructor() {
|
|
29
32
|
return createInstanceModificator_1.default;
|
|
@@ -40,9 +43,6 @@ const defaultOptions = {
|
|
|
40
43
|
get awaitReturn() {
|
|
41
44
|
return true;
|
|
42
45
|
},
|
|
43
|
-
get exposeInstanceMethods() {
|
|
44
|
-
return true;
|
|
45
|
-
},
|
|
46
46
|
};
|
|
47
47
|
exports.constants = {
|
|
48
48
|
get 'SymbolParentType'() {
|
|
@@ -64,17 +64,20 @@ exports.constants = {
|
|
|
64
64
|
return MNEMOSYNE;
|
|
65
65
|
},
|
|
66
66
|
get 'odp'() {
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
const result = (o, p, attributes) => {
|
|
68
|
+
const defineResult = Object.defineProperty(o, p, attributes);
|
|
69
|
+
return defineResult;
|
|
69
70
|
};
|
|
71
|
+
return result;
|
|
70
72
|
},
|
|
71
73
|
get 'defaultOptions'() {
|
|
72
74
|
return defaultOptions;
|
|
73
75
|
},
|
|
74
76
|
get 'defaultOptionsKeys'() {
|
|
75
|
-
|
|
77
|
+
const result = Object.keys(defaultOptions);
|
|
78
|
+
return result;
|
|
76
79
|
},
|
|
77
80
|
TYPE_TITLE_PREFIX,
|
|
78
81
|
ErrorMessages,
|
|
79
82
|
};
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3RhbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7O0FBR2IsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDO0FBSzlCLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQUc5QixNQUFNLDRCQUE0QixHQUFHLE1BQU0sQ0FBRSxXQUFXLFNBQVMsbUJBQW1CLENBQUUsQ0FBQztBQUN2RixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBRSxtQ0FBbUMsQ0FBRSxDQUFDO0FBQ3ZFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFFLDBCQUEwQixDQUFFLENBQUM7QUFFbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFFLHVCQUF1QixDQUFFLENBQUM7QUFJdkQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUc5QyxNQUFNLGFBQWEsR0FBRztJQUVyQixrQkFBa0IsRUFBVyx5QkFBeUI7SUFDdEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxxQkFBcUIsRUFBUSx1QkFBdUI7SUFDcEQseUJBQXlCLEVBQUksMkJBQTJCO0lBQ3hELDBCQUEwQixFQUFHLDRCQUE0QjtJQUN6RCxnQkFBZ0IsRUFBYSxxQ0FBcUM7SUFFbEUsb0JBQW9CLEVBQVMsZ0RBQWdEO0lBQzdFLGVBQWUsRUFBYywrQkFBK0I7SUFDNUQscUJBQXFCLEVBQVEsbUNBQW1DO0lBQ2hFLHlCQUF5QixFQUFJLCtCQUErQjtJQUU1RCxhQUFhLEVBQWdCLHVDQUF1QztJQUNwRSxtQkFBbUIsRUFBVSxnQ0FBZ0M7Q0FHN0QsQ0FBQztBQUVGLHVHQUE2RTtBQUU3RSxNQUFNLGNBQWMsR0FBRztJQUV0QixJQUFJLHVCQUF1QjtRQUMxQixPQUFPLG1DQUF1QixDQUFDO0lBQ2hDLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFPRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLFdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7Q0FFMEIsQ0FBQztBQUVoQixRQUFBLFNBQVMsR0FBRztJQUV4QixJQUFJLGtCQUFrQjtRQUNyQixPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUMxQixPQUFPLHFCQUFxQixDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLDhCQUE4QjtRQUNqQyxPQUFPLDRCQUE0QixDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxZQUFZLENBQUM7SUFDckIsQ0FBQztJQU9ELElBQUksV0FBVztRQUNkLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxJQUFJLFdBQVc7UUFDZCxPQUFPLFNBQVMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ1IsTUFBTSxNQUFNLEdBQUcsQ0FBb0IsQ0FBSSxFQUFFLENBQWMsRUFBRSxVQUE4QixFQUFNLEVBQUU7WUFDOUYsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FDekMsQ0FBQyxFQUNELENBQUMsRUFDRCxVQUFVLENBQ0wsQ0FBQztZQUNQLE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ25CLE9BQU8sY0FBYyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN2QixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFFLGNBQWMsQ0FBRSxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELGlCQUFpQjtJQUVqQixhQUFhO0NBRWIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLy8gbmFtZXNcbmNvbnN0IE1ORU1PTklDQSA9ICdNbmVtb25pY2EnO1xuXG4vLyBPIEdyZWF0IE1uZW1vc3luZSEgUGxlYXNlIVxuLy8gU2F2ZSB1cyBmcm9tIE9ibGl2aW9uLi4uXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NbmVtb3N5bmVcbmNvbnN0IE1ORU1PU1lORSA9ICdNbmVtb3N5bmUnO1xuXG4vLyBzeW1ib2xzXG5jb25zdCBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uID0gU3ltYm9sKCBgZGVmYXVsdCAke01ORU1PTklDQX0gdHlwZXMgY29sbGVjdGlvbmAgKTtcbmNvbnN0IFN5bWJvbFBhcmVudFR5cGUgPSBTeW1ib2woICdQYXJlbnQgb2YgdGhpcyBTdWJUeXBlIENvbGxlY3Rpb24nICk7XG5jb25zdCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgPSBTeW1ib2woICdEZWZpbmVkIENvbnN0cnVjdG9yIE5hbWUnICk7XG5cbmNvbnN0IFN5bWJvbENvbmZpZyA9IFN5bWJvbCggJ01uZW1vbmljYSBDb25maWcgRGF0YScgKTtcbi8vIGNvbnN0IFN5bWJvbFVzZWQgPSBTeW1ib2woICcucHJvdG90eXBlIHVzZWQgdHdpY2UnICk7XG5cbi8vIGV0Yy4uLlxuY29uc3QgVFlQRV9USVRMRV9QUkVGSVggPSAnbW9kaWZpY2F0b3Igb2YgOiAnO1xuXG4vLyBlcnJvcnNcbmNvbnN0IEVycm9yTWVzc2FnZXMgPSB7XG5cblx0QkFTRV9FUlJPUl9NRVNTQUdFICAgICAgICAgOiAnVU5QUkVESUNUQUJMRSBCRUhBVklPVVInLFxuXHRUWVBFTkFNRV9NVVNUX0JFX0FfU1RSSU5HICA6ICd0eXBlbmFtZSBtdXN0IGJlIGEgc3RyaW5nJyxcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04gOiAnaGFuZGxlciBtdXN0IGJlIGEgZnVuY3Rpb24nLFxuXHRXUk9OR19UWVBFX0RFRklOSVRJT04gICAgICA6ICd3cm9uZyB0eXBlIGRlZmluaXRpb24nLFxuXHRXUk9OR19JTlNUQU5DRV9JTlZPQ0FUSU9OICA6ICd3cm9uZyBpbnN0YW5jZSBpbnZvY2F0aW9uJyxcblx0V1JPTkdfTU9ESUZJQ0FUSU9OX1BBVFRFUk4gOiAnd3JvbmcgbW9kaWZpY2F0aW9uIHBhdHRlcm4nLFxuXHRBTFJFQURZX0RFQ0xBUkVEICAgICAgICAgICA6ICd0aGlzIHR5cGUgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZCcsXG5cdC8vIEVYSVNURU5UX1BST1BFUlRZX1JFREVGSU5JVElPTiA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSB0eXBlIGNvbnN0cnVjdG9yJyxcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQgICAgICAgOiAnd3JvbmcgYXJndW1lbnRzIDogc2hvdWxkIHVzZSBwcm9wZXIgaW52b2NhdGlvbicsXG5cdFdST05HX0hPT0tfVFlQRSAgICAgICAgICAgIDogJ3RoaXMgaG9vayB0eXBlIGRvZXMgbm90IGV4aXN0Jyxcblx0TUlTU0lOR19IT09LX0NBTExCQUNLICAgICAgOiAnaG9vayBkZWZpbml0aW9uIHJlcXVpcmVzIGNhbGxiYWNrJyxcblx0TUlTU0lOR19DQUxMQkFDS19BUkdVTUVOVCAgOiAnY2FsbGJhY2sgaXMgcmVxdWlyZWQgYXJndW1lbnQnLFxuXHQvLyBGTE9XX0NIRUNLRVJfUkVERUZJTklUSU9OICA6ICdhdHRlbXB0IHRvIHJlLWRlZmluZSBmbG93IGNoZWNrZXIgY2FsbGJhY2snLFxuXHRPUFRJT05TX0VSUk9SICAgICAgICAgICAgICA6ICdvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0IG9yIGEgc3RyaW5nJyxcblx0V1JPTkdfU1RBQ0tfQ0xFQU5FUiAgICAgICAgOiAnd3Jvbmcgc3RhY2sgY2xlYW5lciBpbnN0YW5jZW9mJyxcblx0Ly8gUFJPVE9UWVBFX1VTRURfVFdJQ0UgICAgICAgOiAnLnByb3RvdHlwZSB1c2VkIHR3aWNlJyxcblxufTtcblxuaW1wb3J0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yIGZyb20gJy4uL2FwaS90eXBlcy9jcmVhdGVJbnN0YW5jZU1vZGlmaWNhdG9yJztcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG5cblx0Z2V0IE1vZGlmaWNhdGlvbkNvbnN0cnVjdG9yICgpIHtcblx0XHRyZXR1cm4gTW9kaWZpY2F0aW9uQ29uc3RydWN0b3I7XG5cdH0sXG5cblx0Ly8gc2hhbGwgb3Igbm90IHdlIHVzZSBzdHJpY3QgY2hlY2tpbmdcblx0Ly8gZm9yIGNyZWF0aW9uIHN1Yi1pbnN0YW5jZXMgT25seSBmcm9tIGN1cnJlbnQgdHlwZVxuXHQvLyBvciB3ZSBtaWdodCB1c2UgdXAtbmVzdGVkIHN1Yi1pbnN0YW5jZXMgZnJvbSBjaGFpblxuXHRnZXQgc3RyaWN0Q2hhaW4gKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIHNob3VsZCB3ZSB1c2UgZm9yY2VkIGVycm9ycyBjaGVja2luZ1xuXHQvLyB0byBtYWtlIGFsbCBpbmhlcml0ZWQgdHlwZXMgZXJyb3JlZFxuXHQvLyBpZiB0aGVyZSBpcyBhbiBlcnJvciBzb21ld2hlcmUgaW4gY2hhaW5cblx0Ly8gZGlzYWxsb3cgaW5zdGFuY2UgY29uc3RydWN0aW9uXG5cdC8vIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHByb3RvdHlwZSBjaGFpblxuXHRnZXQgYmxvY2tFcnJvcnMgKCkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXG5cdC8vIGlmIGl0IGlzIG5lY2Vzc2FyeSB0byBjb2xsZWN0IHN0YWNrXG5cdC8vIGFzIGEgX19zdGFja19fIHByb3RvdHlwZSBwcm9wZXJ0eVxuXHQvLyBkdXJpbmcgdGhlIHByb2Nlc3Mgb2YgaW5zdGFuY2UgY3JlYXRpb25cblx0Z2V0IHN1Ym1pdFN0YWNrICgpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH0sXG5cblx0Ly8gYXdhaXQgbmV3IENvbnN0cnVjdG9yKClcblx0Ly8gbXVzdCByZXR1cm4gdmFsdWVcblx0Ly8gb3B0aW9uYWwgLi9pc3N1ZXMvMTA2XG5cdGdldCBhd2FpdFJldHVybiAoKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH0sXG5cbn0gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbmV4cG9ydCBjb25zdCBjb25zdGFudHMgPSB7XG5cblx0Z2V0ICdTeW1ib2xQYXJlbnRUeXBlJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbFBhcmVudFR5cGU7XG5cdH0sXG5cblx0Z2V0ICdTeW1ib2xDb25zdHJ1Y3Rvck5hbWUnICgpIHtcblx0XHRyZXR1cm4gU3ltYm9sQ29uc3RydWN0b3JOYW1lO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbicgKCkge1xuXHRcdHJldHVybiBTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uO1xuXHR9LFxuXG5cdGdldCAnU3ltYm9sQ29uZmlnJyAoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbENvbmZpZztcblx0fSxcblxuXHQvLyBnZXQgJ1N5bWJvbFVzZWQnICgpIHtcblx0Ly8gXHRyZXR1cm4gU3ltYm9sVXNlZDtcblx0Ly8gfSxcblxuXHQvLyBjb25zdGFudHNcblx0Z2V0ICdNTkVNT05JQ0EnICgpIHtcblx0XHRyZXR1cm4gTU5FTU9OSUNBO1xuXHR9LFxuXHRnZXQgJ01ORU1PU1lORScgKCkge1xuXHRcdHJldHVybiBNTkVNT1NZTkU7XG5cdH0sXG5cdGdldCAnb2RwJyAoKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gPFQgZXh0ZW5kcyBvYmplY3Q+KCBvOiBULCBwOiBQcm9wZXJ0eUtleSwgYXR0cmlidXRlczogUHJvcGVydHlEZXNjcmlwdG9yICk6IFQgPT4ge1xuXHRcdFx0Y29uc3QgZGVmaW5lUmVzdWx0ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuXHRcdFx0XHRvLFxuXHRcdFx0XHRwLFxuXHRcdFx0XHRhdHRyaWJ1dGVzIFxuXHRcdFx0KSBhcyBUO1xuXHRcdFx0cmV0dXJuIGRlZmluZVJlc3VsdDtcblx0XHR9O1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cblx0Z2V0ICdkZWZhdWx0T3B0aW9ucycgKCkge1xuXHRcdHJldHVybiBkZWZhdWx0T3B0aW9ucztcblx0fSxcblxuXHRnZXQgJ2RlZmF1bHRPcHRpb25zS2V5cycgKCkge1xuXHRcdGNvbnN0IHJlc3VsdCA9IE9iamVjdC5rZXlzKCBkZWZhdWx0T3B0aW9ucyApO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH0sXG5cblx0VFlQRV9USVRMRV9QUkVGSVgsXG5cblx0RXJyb3JNZXNzYWdlcyxcblxufTtcbiJdfQ==
|
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.types = void 0;
|
|
4
37
|
const constants_1 = require("../../constants");
|
|
5
38
|
const { odp, SymbolConstructorName, SymbolDefaultTypesCollection, SymbolConfig, defaultOptions, defaultOptionsKeys, MNEMONICA, MNEMOSYNE, } = constants_1.constants;
|
|
6
39
|
const types_1 = require("../../api/types");
|
|
7
|
-
const hooksAPI = require("../../api/hooks");
|
|
40
|
+
const hooksAPI = __importStar(require("../../api/hooks"));
|
|
8
41
|
const { registerHook, invokeHook, registerFlowChecker, } = hooksAPI;
|
|
9
42
|
const typesCollections = new Map();
|
|
10
43
|
const TypesCollection = function (_config) {
|
|
@@ -30,9 +63,11 @@ const TypesCollection = function (_config) {
|
|
|
30
63
|
});
|
|
31
64
|
odp(this, Symbol.hasInstance, {
|
|
32
65
|
get() {
|
|
33
|
-
|
|
34
|
-
|
|
66
|
+
const result = (instance) => {
|
|
67
|
+
const checkResult = instance[SymbolConstructorName] === MNEMONICA;
|
|
68
|
+
return checkResult;
|
|
35
69
|
};
|
|
70
|
+
return result;
|
|
36
71
|
}
|
|
37
72
|
});
|
|
38
73
|
odp(this, 'subtypes', {
|
|
@@ -42,12 +77,14 @@ const TypesCollection = function (_config) {
|
|
|
42
77
|
});
|
|
43
78
|
odp(subtypes, MNEMOSYNE, {
|
|
44
79
|
get() {
|
|
45
|
-
|
|
80
|
+
const result = typesCollections.get(self);
|
|
81
|
+
return result;
|
|
46
82
|
}
|
|
47
83
|
});
|
|
48
84
|
odp(this, MNEMOSYNE, {
|
|
49
85
|
get() {
|
|
50
|
-
|
|
86
|
+
const result = typesCollections.get(self);
|
|
87
|
+
return result;
|
|
51
88
|
}
|
|
52
89
|
});
|
|
53
90
|
const hooks = Object.create(null);
|
|
@@ -59,59 +96,71 @@ const TypesCollection = function (_config) {
|
|
|
59
96
|
};
|
|
60
97
|
odp(TypesCollection.prototype, MNEMONICA, {
|
|
61
98
|
get() {
|
|
62
|
-
|
|
99
|
+
const result = typesCollections.get(this);
|
|
100
|
+
return result;
|
|
63
101
|
}
|
|
64
102
|
});
|
|
65
103
|
odp(TypesCollection.prototype, 'define', {
|
|
66
104
|
get() {
|
|
67
105
|
const { subtypes } = this;
|
|
68
|
-
|
|
69
|
-
const
|
|
70
|
-
return
|
|
106
|
+
const result = function (TypeOrTypeName, constructHandlerOrConfig, config) {
|
|
107
|
+
const defineResult = types_1.define.call(this, subtypes, TypeOrTypeName, constructHandlerOrConfig, config);
|
|
108
|
+
return defineResult;
|
|
71
109
|
};
|
|
110
|
+
return result;
|
|
72
111
|
},
|
|
73
112
|
enumerable: true
|
|
74
113
|
});
|
|
75
114
|
odp(TypesCollection.prototype, 'lookup', {
|
|
76
115
|
get() {
|
|
77
|
-
|
|
78
|
-
|
|
116
|
+
const result = function (TypeNestedPath) {
|
|
117
|
+
const lookupResult = types_1.lookup.call(this.subtypes, TypeNestedPath);
|
|
118
|
+
return lookupResult;
|
|
79
119
|
}.bind(this);
|
|
120
|
+
return result;
|
|
80
121
|
},
|
|
81
122
|
enumerable: true
|
|
82
123
|
});
|
|
83
124
|
odp(TypesCollection.prototype, 'registerHook', {
|
|
84
125
|
get() {
|
|
85
126
|
const self = this;
|
|
86
|
-
|
|
87
|
-
|
|
127
|
+
const result = function (hookName, hookCallback) {
|
|
128
|
+
const hookResult = registerHook.call(self, hookName, hookCallback);
|
|
129
|
+
return hookResult;
|
|
88
130
|
}.bind(this);
|
|
131
|
+
return result;
|
|
89
132
|
},
|
|
90
133
|
enumerable: true
|
|
91
134
|
});
|
|
92
135
|
odp(TypesCollection.prototype, 'invokeHook', {
|
|
93
136
|
get() {
|
|
94
|
-
|
|
95
|
-
|
|
137
|
+
const result = (hookName, opts) => {
|
|
138
|
+
const hookResult = invokeHook.call(typesCollections.get(this), hookName, opts);
|
|
139
|
+
return hookResult;
|
|
96
140
|
};
|
|
141
|
+
return result;
|
|
97
142
|
}
|
|
98
143
|
});
|
|
99
144
|
odp(TypesCollection.prototype, 'registerFlowChecker', {
|
|
100
145
|
get() {
|
|
101
|
-
|
|
102
|
-
|
|
146
|
+
const result = (flowCheckerCallback) => {
|
|
147
|
+
const checkerResult = registerFlowChecker.call(typesCollections.get(this), flowCheckerCallback);
|
|
148
|
+
return checkerResult;
|
|
103
149
|
};
|
|
150
|
+
return result;
|
|
104
151
|
}
|
|
105
152
|
});
|
|
106
153
|
const typesCollectionProxyHandler = {
|
|
107
154
|
get(target, prop) {
|
|
108
155
|
if (target.subtypes.has(prop)) {
|
|
109
|
-
|
|
156
|
+
const subtypeResult = target.subtypes.get(prop);
|
|
157
|
+
return subtypeResult;
|
|
110
158
|
}
|
|
111
159
|
if (prop === 'define') {
|
|
112
160
|
return target.define;
|
|
113
161
|
}
|
|
114
|
-
|
|
162
|
+
const reflectResult = Reflect.get(target, prop);
|
|
163
|
+
return reflectResult;
|
|
115
164
|
},
|
|
116
165
|
set(target, TypeName, Constructor) {
|
|
117
166
|
target.define(TypeName, Constructor);
|
|
@@ -119,14 +168,16 @@ const typesCollectionProxyHandler = {
|
|
|
119
168
|
},
|
|
120
169
|
getOwnPropertyDescriptor(target, prop) {
|
|
121
170
|
if (target.subtypes.has(prop)) {
|
|
122
|
-
|
|
171
|
+
const descriptorResult = {
|
|
123
172
|
configurable: true,
|
|
124
173
|
enumerable: true,
|
|
125
174
|
writable: false,
|
|
126
175
|
value: target.subtypes.get(prop)
|
|
127
176
|
};
|
|
177
|
+
return descriptorResult;
|
|
128
178
|
}
|
|
129
|
-
|
|
179
|
+
const ownPropResult = Reflect.getOwnPropertyDescriptor(target, prop);
|
|
180
|
+
return ownPropResult;
|
|
130
181
|
}
|
|
131
182
|
};
|
|
132
183
|
const createTypesCollection = (config = {}) => {
|
|
@@ -143,13 +194,15 @@ odp(DEFAULT_TYPES, SymbolDefaultTypesCollection, {
|
|
|
143
194
|
});
|
|
144
195
|
exports.types = {
|
|
145
196
|
get createTypesCollection() {
|
|
146
|
-
|
|
147
|
-
const
|
|
148
|
-
return
|
|
197
|
+
const result = function (config = {}) {
|
|
198
|
+
const collectionResult = createTypesCollection(config);
|
|
199
|
+
return collectionResult;
|
|
149
200
|
};
|
|
201
|
+
return result;
|
|
150
202
|
},
|
|
151
203
|
get defaultTypes() {
|
|
152
|
-
|
|
204
|
+
const result = DEFAULT_TYPES;
|
|
205
|
+
return result;
|
|
153
206
|
}
|
|
154
207
|
};
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvcnMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFVYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QsMkNBRXlCO0FBRXpCLDRDQUE0QztBQUU1QyxNQUFNLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixtQkFBbUIsR0FDbkIsR0FBRyxRQUFRLENBQUM7QUFFYixNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsVUFBVyxPQUFnQztJQUVsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUczQixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUUsQ0FBMEIsRUFBRSxHQUFXLEVBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFFLEdBQUcsQ0FBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxDQUFDO1FBQzdCLElBQUssTUFBTSxLQUFLLE1BQU0sRUFBRyxDQUFDO1lBQ3pCLENBQUMsQ0FBRSxHQUFHLENBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxDQUFDLENBQUUsR0FBRyxDQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ25CLENBQUM7UUFD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Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgdHlwZSB7XG5cdF9JbnRlcm5hbF9UQ18sXG5cdENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uLFxuXHRUeXBlc0NvbGxlY3Rpb24sXG5cdGhvb2tzT3B0cyxcblx0aG9va1xufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5jb25zdCB7XG5cdG9kcCxcblx0U3ltYm9sQ29uc3RydWN0b3JOYW1lLFxuXHRTeW1ib2xEZWZhdWx0VHlwZXNDb2xsZWN0aW9uLFxuXHRTeW1ib2xDb25maWcsXG5cdGRlZmF1bHRPcHRpb25zLFxuXHRkZWZhdWx0T3B0aW9uc0tleXMsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxufSA9IGNvbnN0YW50cztcblxuLy8gaGVyZSBpcyBUeXBlc0NvbGxlY3Rpb24uZGVmaW5lKCkgbWV0aG9kXG5pbXBvcnQge1xuXHRkZWZpbmUsIGxvb2t1cCwgdHlwZSBUeXBlc01hcCBcbn0gZnJvbSAnLi4vLi4vYXBpL3R5cGVzJztcblxuaW1wb3J0ICogYXMgaG9va3NBUEkgZnJvbSAnLi4vLi4vYXBpL2hvb2tzJztcblxuY29uc3Qge1xuXHRyZWdpc3Rlckhvb2ssXG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVyRmxvd0NoZWNrZXIsXG59ID0gaG9va3NBUEk7XG5cbmNvbnN0IHR5cGVzQ29sbGVjdGlvbnMgPSBuZXcgTWFwKCk7XG5cbmNvbnN0IFR5cGVzQ29sbGVjdGlvbiA9IGZ1bmN0aW9uICggX2NvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gKSB7XG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0Y29uc3Qgc3VidHlwZXMgPSBuZXcgTWFwKCk7XG5cblx0Ly8gZGVmYXVsdCBjb25maWcgaXMgbGVzcyBpbXBvcnRhbnQgdGhhbiB0eXBlcyBjb2xsZWN0aW9uIGNvbmZpZ1xuXHRjb25zdCBjb25maWcgPSBkZWZhdWx0T3B0aW9uc0tleXMucmVkdWNlKFxuXHRcdCggbzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nICkgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWUgPSBfY29uZmlnWyBrZXkgXTtcblx0XHRcdGNvbnN0IG9wdGlvbiA9IGRlZmF1bHRPcHRpb25zWyBrZXkgXTtcblx0XHRcdGNvbnN0IHRfY29uZiA9IHR5cGVvZiB2YWx1ZTtcblx0XHRcdGNvbnN0IHRfb3B0cyA9IHR5cGVvZiBvcHRpb247XG5cdFx0XHRpZiAoIHRfY29uZiA9PT0gdF9vcHRzICkge1xuXHRcdFx0XHRvWyBrZXkgXSA9IHZhbHVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b1sga2V5IF0gPSBvcHRpb247XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbztcblx0XHR9LFxuXHRcdHt9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdFN5bWJvbENvbmZpZyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gY29uZmlnO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHRoaXMsXG5cdFx0U3ltYm9sLmhhc0luc3RhbmNlLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiAoIGluc3RhbmNlOiB7IFtTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdPzogc3RyaW5nIH0gKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIGluc3RhbmNlWyBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUgXSA9PT0gTU5FTU9OSUNBO1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHRoaXMsXG5cdFx0J3N1YnR5cGVzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHQvLyBGb3IgaW5zdGFuY2VvZiBNTkVNT1NZTkVcblx0b2RwKFxuXHRcdHN1YnR5cGVzLFxuXHRcdE1ORU1PU1lORSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0Ly8gcmV0dXJuaW5nIHByb3h5XG5cdFx0XHRcdHJldHVybiB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gRm9yIGluc3RhbmNlb2YgTU5FTU9TWU5FXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdE1ORU1PU1lORSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0Ly8gcmV0dXJuaW5nIHByb3h5XG5cdFx0XHRcdHJldHVybiB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Y29uc3QgaG9va3MgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdCdob29rcycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGhvb2tzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cbn0gYXMgX0ludGVybmFsX1RDXzxvYmplY3Q+O1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdE1ORU1PTklDQSxcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHRoaXMgKTtcblx0XHR9XG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdkZWZpbmUnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHsgc3VidHlwZXMgfSA9IHRoaXM7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24gKFxuXHRcdFx0XHR0aGlzOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0XHRUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgQ2FsbGFibGVGdW5jdGlvbixcblx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnPzogQ2FsbGFibGVGdW5jdGlvbiB8IG9iamVjdCxcblx0XHRcdFx0Y29uZmlnPzogb2JqZWN0XG5cdFx0XHQpIHtcblx0XHRcdC8vIHRoaXMgLSBkZWZpbmUgZnVuY3Rpb24gb2YgbW5lbW9uaWNhIGludGVyZmFjZVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBkZWZpbmUuY2FsbChcblx0XHRcdFx0XHR0aGlzIGFzIHVua25vd24sXG5cdFx0XHRcdFx0c3VidHlwZXMgYXMgVHlwZXNNYXAsXG5cdFx0XHRcdFx0VHlwZU9yVHlwZU5hbWUsXG5cdFx0XHRcdFx0Y29uc3RydWN0SGFuZGxlck9yQ29uZmlnLFxuXHRcdFx0XHRcdGNvbmZpZ1xuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdsb29rdXAnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdHJldHVybiBmdW5jdGlvbiAoXG5cdFx0XHRcdHRoaXM6IHsgc3VidHlwZXM6IE1hcDxzdHJpbmcsIG9iamVjdD4gfSxcblx0XHRcdFx0VHlwZU5lc3RlZFBhdGg6IHN0cmluZ1xuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBsb29rdXAuY2FsbChcbiB0aGlzLnN1YnR5cGVzIGFzIHVua25vd24gYXMgVHlwZXNNYXAsXG4gVHlwZU5lc3RlZFBhdGggXG5cdFx0XHRcdCk7XG5cdFx0XHR9LmJpbmQoIHRoaXMgKTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdyZWdpc3Rlckhvb2snLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiBUeXBlc0NvbGxlY3Rpb24pIHtcblx0XHQgXG5cdFx0XHRjb25zdCBzZWxmID0gdGhpcztcblx0XHRcdHJldHVybiBmdW5jdGlvbiAoIGhvb2tOYW1lOiBzdHJpbmcsIGhvb2tDYWxsYmFjazogaG9vayApIHtcblx0XHRcdC8vIHJldHVybiBwcm90by5yZWdpc3Rlckhvb2suY2FsbCggdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHNlbGYgKSwgaG9va05hbWUsIGhvb2tDYWxsYmFjayApO1xuXHRcdFx0XHRyZXR1cm4gcmVnaXN0ZXJIb29rLmNhbGwoXG5cdFx0XHRcdFx0c2VsZixcblx0XHRcdFx0XHRob29rTmFtZSxcblx0XHRcdFx0XHRob29rQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHR9LmJpbmQoIHRoaXMgKTtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdpbnZva2VIb29rJyxcblx0e1xuXHRcdGdldCAodGhpczogVHlwZXNDb2xsZWN0aW9uKSB7XG5cdFx0XHRyZXR1cm4gKCBob29rTmFtZTogc3RyaW5nLCBvcHRzOiB7IFtpbmRleDogc3RyaW5nXTogdW5rbm93biB9ICkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gaW52b2tlSG9vay5jYWxsKFxuXHRcdFx0XHRcdHR5cGVzQ29sbGVjdGlvbnMuZ2V0KCB0aGlzICksXG5cdFx0XHRcdFx0aG9va05hbWUsXG5vcHRzIGFzIGhvb2tzT3B0cyBcblx0XHRcdFx0KTtcblx0XHRcdH07XG5cdFx0fVxuXHR9IFxuKTtcblxub2RwKFxuXHRUeXBlc0NvbGxlY3Rpb24ucHJvdG90eXBlLFxuXHQncmVnaXN0ZXJGbG93Q2hlY2tlcicsXG5cdHtcblx0XHRnZXQgKHRoaXM6IFR5cGVzQ29sbGVjdGlvbikge1xuXHRcdFx0cmV0dXJuICggZmxvd0NoZWNrZXJDYWxsYmFjazogKCkgPT4gdW5rbm93biApID0+IHtcblx0XHRcdFx0cmV0dXJuIHJlZ2lzdGVyRmxvd0NoZWNrZXIuY2FsbChcblx0XHRcdFx0XHR0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApLFxuXHRcdFx0XHRcdGZsb3dDaGVja2VyQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHR9O1xuXHRcdH1cblx0fSBcbik7XG5cblxuaW50ZXJmYWNlIFR5cGVzQ29sbGVjdGlvblRhcmdldCB7XG5cdHN1YnR5cGVzOiBUeXBlc01hcDtcblx0ZGVmaW5lOiAobmFtZTogc3RyaW5nLCBjdG9yOiBGdW5jdGlvbkNvbnN0cnVjdG9yKSA9PiBvYmplY3Q7XG59XG5cbmNvbnN0IHR5cGVzQ29sbGVjdGlvblByb3h5SGFuZGxlciA9IHtcblx0Z2V0ICggdGFyZ2V0OiBUeXBlc0NvbGxlY3Rpb25UYXJnZXQsIHByb3A6IHN0cmluZyApIHtcblx0XHRpZiAoIHRhcmdldC5zdWJ0eXBlcy5oYXMoIHByb3AgKSApIHtcblx0XHRcdC8vIGFjY2VzcyB0byBzdXB0eXBlXG5cdFx0XHQvLyBmb3IgbmV3IGNhbGwgb3IgZGVmaW5pbmcgbmV3IHR5cGVcblx0XHRcdHJldHVybiB0YXJnZXQuc3VidHlwZXMuZ2V0KCBwcm9wICk7XG5cdFx0fVxuXHRcdGlmICggcHJvcCA9PT0gJ2RlZmluZScgKSB7XG5cdFx0XHQvLyB3aWxsIGhvcGVmdWxseSBkZWZpbmUgbmV3IHR5cGVcblx0XHRcdHJldHVybiB0YXJnZXQuZGVmaW5lO1xuXHRcdH1cblx0XHRyZXR1cm4gUmVmbGVjdC5nZXQoXG5cdFx0XHR0YXJnZXQsXG5cdFx0XHRwcm9wIFxuXHRcdCk7XG5cdH0sXG5cdHNldCAoIHRhcmdldDogVHlwZXNDb2xsZWN0aW9uVGFyZ2V0LCBUeXBlTmFtZTogc3RyaW5nLCBDb25zdHJ1Y3RvcjogRnVuY3Rpb25Db25zdHJ1Y3RvciApIHtcblx0XHR0YXJnZXQuZGVmaW5lKFxuXHRcdFx0VHlwZU5hbWUsXG5cdFx0XHRDb25zdHJ1Y3RvciBcblx0XHQpO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9LFxuXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcblx0Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICggdGFyZ2V0OiBUeXBlc0NvbGxlY3Rpb25UYXJnZXQsIHByb3A6IHN0cmluZyApIHtcblx0XHRpZiAoIHRhcmdldC5zdWJ0eXBlcy5oYXMoIHByb3AgKSApIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGNvbmZpZ3VyYWJsZSA6IHRydWUsXG5cdFx0XHRcdGVudW1lcmFibGUgICA6IHRydWUsXG5cdFx0XHRcdHdyaXRhYmxlICAgICA6IGZhbHNlLFxuXHRcdFx0XHR2YWx1ZSAgICAgICAgOiB0YXJnZXQuc3VidHlwZXMuZ2V0KCBwcm9wIClcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciggdGFyZ2V0LCBwcm9wICk7XG5cdH1cbn07XG5cbmNvbnN0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiA9ICggY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9ICkgPT4ge1xuXG5cdGNvbnN0IHR5cGVzQ29sbGVjdGlvbiA9IG5ldyBUeXBlc0NvbGxlY3Rpb24oIGNvbmZpZyApO1xuXHRjb25zdCB0eXBlc0NvbGxlY3Rpb25Qcm94eSA9IG5ldyBQcm94eShcblx0XHR0eXBlc0NvbGxlY3Rpb24sXG5cdFx0dHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyIFxuXHQpO1xuXG5cdHR5cGVzQ29sbGVjdGlvbnMuc2V0KFxuXHRcdHR5cGVzQ29sbGVjdGlvbixcblx0XHR0eXBlc0NvbGxlY3Rpb25Qcm94eSBcblx0KTtcblxuXHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9uUHJveHk7XG5cbn07XG5cbmNvbnN0IERFRkFVTFRfVFlQRVMgPSBjcmVhdGVUeXBlc0NvbGxlY3Rpb24oKTtcbm9kcChcblx0REVGQVVMVF9UWVBFUyxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH0gXG4pO1xuXG5leHBvcnQgY29uc3QgdHlwZXMgPSB7XG5cdGdldCBjcmVhdGVUeXBlc0NvbGxlY3Rpb24gKCk6IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uIHtcblx0XHRyZXR1cm4gZnVuY3Rpb24gKCBjb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge30gKTogVHlwZXNDb2xsZWN0aW9uIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiggY29uZmlnICkgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9O1xuXHR9LFxuXHRnZXQgZGVmYXVsdFR5cGVzICgpOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdHJldHVybiBERUZBVUxUX1RZUEVTIGFzIFR5cGVzQ29sbGVjdGlvbjtcblx0fVxuXG59O1xuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGVzY3JpcHRvcnMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLFlBQVksRUFDWixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QsMkNBRXlCO0FBRXpCLDBEQUE0QztBQUU1QyxNQUFNLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixtQkFBbUIsR0FDbkIsR0FBRyxRQUFRLENBQUM7QUFFYixNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUcsVUFBVyxPQUFnQztJQUVsRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUczQixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUUsQ0FBMEIsRUFBRSxHQUFXLEVBQUcsRUFBRTtRQUM3QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUUsR0FBRyxDQUFFLENBQUM7UUFDN0IsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFFLEdBQUcsQ0FBRSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxDQUFDO1FBQzVCLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxDQUFDO1FBQzdCLElBQUssTUFBTSxLQUFLLE1BQU0sRUFBRyxDQUFDO1lBQ3pCLENBQUMsQ0FBRSxHQUFHLENBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDUCxDQUFDLENBQUUsR0FBRyxD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RyxDQUFFLFNBQWtDLEVBQUUsRUFBRyxFQUFFO0lBRXhFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFFLE1BQU0sQ0FBRSxDQUFDO0lBQ3RELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxLQUFLLENBQ3JDLGVBQWUsRUFDZiwyQkFBMkIsQ0FDM0IsQ0FBQztJQUVGLGdCQUFnQixDQUFDLEdBQUcsQ0FDbkIsZUFBZSxFQUNmLG9CQUFvQixDQUNwQixDQUFDO0lBRUYsT0FBTyxvQkFBb0IsQ0FBQztBQUU3QixDQUFDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO0FBQzlDLEdBQUcsQ0FDRixhQUFhLEVBQ2IsNEJBQTRCLEVBQzVCO0lBQ0MsR0FBRztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztDQUNELENBQ0QsQ0FBQztBQUVXLFFBQUEsS0FBSyxHQUFHO0lBQ3BCLElBQUkscUJBQXFCO1FBQ3hCLE1BQU0sTUFBTSxHQUFHLFVBQVcsU0FBa0MsRUFBRTtZQUM3RCxNQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFFLE1BQU0sQ0FBcUIsQ0FBQztZQUM1RSxPQUFPLGdCQUFnQixDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksWUFBWTtRQUNmLE1BQU0sTUFBTSxHQUFHLGFBQWdDLENBQUM7UUFDaEQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0NBRUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHR5cGUge1xuXHRfSW50ZXJuYWxfVENfLFxuXHRDcmVhdGVUeXBlc0NvbGxlY3Rpb25GdW5jdGlvbixcblx0VHlwZXNDb2xsZWN0aW9uLFxuXHRob29rc09wdHMsXG5cdGhvb2tcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZSxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0U3ltYm9sQ29uZmlnLFxuXHRkZWZhdWx0T3B0aW9ucyxcblx0ZGVmYXVsdE9wdGlvbnNLZXlzLFxuXHRNTkVNT05JQ0EsXG5cdE1ORU1PU1lORSxcbn0gPSBjb25zdGFudHM7XG5cbi8vIGhlcmUgaXMgVHlwZXNDb2xsZWN0aW9uLmRlZmluZSgpIG1ldGhvZFxuaW1wb3J0IHtcblx0ZGVmaW5lLCBsb29rdXAsIHR5cGUgVHlwZXNNYXAgXG59IGZyb20gJy4uLy4uL2FwaS90eXBlcyc7XG5cbmltcG9ydCAqIGFzIGhvb2tzQVBJIGZyb20gJy4uLy4uL2FwaS9ob29rcyc7XG5cbmNvbnN0IHtcblx0cmVnaXN0ZXJIb29rLFxuXHRpbnZva2VIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufSA9IGhvb2tzQVBJO1xuXG5jb25zdCB0eXBlc0NvbGxlY3Rpb25zID0gbmV3IE1hcCgpO1xuXG5jb25zdCBUeXBlc0NvbGxlY3Rpb24gPSBmdW5jdGlvbiAoIF9jb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ICkge1xuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGNvbnN0IHN1YnR5cGVzID0gbmV3IE1hcCgpO1xuXG5cdC8vIGRlZmF1bHQgY29uZmlnIGlzIGxlc3MgaW1wb3J0YW50IHRoYW4gdHlwZXMgY29sbGVjdGlvbiBjb25maWdcblx0Y29uc3QgY29uZmlnID0gZGVmYXVsdE9wdGlvbnNLZXlzLnJlZHVjZShcblx0XHQoIG86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZyApID0+IHtcblx0XHRcdGNvbnN0IHZhbHVlID0gX2NvbmZpZ1sga2V5IF07XG5cdFx0XHRjb25zdCBvcHRpb24gPSBkZWZhdWx0T3B0aW9uc1sga2V5IF07XG5cdFx0XHRjb25zdCB0X2NvbmYgPSB0eXBlb2YgdmFsdWU7XG5cdFx0XHRjb25zdCB0X29wdHMgPSB0eXBlb2Ygb3B0aW9uO1xuXHRcdFx0aWYgKCB0X2NvbmYgPT09IHRfb3B0cyApIHtcblx0XHRcdFx0b1sga2V5IF0gPSB2YWx1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG9bIGtleSBdID0gb3B0aW9uO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG87XG5cdFx0fSxcblx0XHR7fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHRTeW1ib2xDb25maWcsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGNvbmZpZztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdFN5bWJvbC5oYXNJbnN0YW5jZSxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSAoIGluc3RhbmNlOiB7IFtTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdPzogc3RyaW5nIH0gKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgY2hlY2tSZXN1bHQgPSBpbnN0YW5jZVsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gPT09IE1ORU1PTklDQTtcblx0XHRcdFx0XHRyZXR1cm4gY2hlY2tSZXN1bHQ7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHQnc3VidHlwZXMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBzdWJ0eXBlcztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdC8vIEZvciBpbnN0YW5jZW9mIE1ORU1PU1lORVxuXHRvZHAoXG5cdFx0c3VidHlwZXMsXG5cdFx0TU5FTU9TWU5FLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHQvLyByZXR1cm5pbmcgcHJveHlcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdHlwZXNDb2xsZWN0aW9ucy5nZXQoIHNlbGYgKTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdC8vIEZvciBpbnN0YW5jZW9mIE1ORU1PU1lORVxuXHRvZHAoXG5cdFx0dGhpcyxcblx0XHRNTkVNT1NZTkUsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdC8vIHJldHVybmluZyBwcm94eVxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSB0eXBlc0NvbGxlY3Rpb25zLmdldCggc2VsZiApO1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Y29uc3QgaG9va3MgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdG9kcChcblx0XHR0aGlzLFxuXHRcdCdob29rcycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGhvb2tzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cbn0gYXMgX0ludGVybmFsX1RDXzxvYmplY3Q+O1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdE1ORU1PTklDQSxcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSB0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdkZWZpbmUnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHsgc3VidHlwZXMgfSA9IHRoaXM7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBmdW5jdGlvbiAoXG5cdFx0XHRcdHRoaXM6IENhbGxhYmxlRnVuY3Rpb24sXG5cdFx0XHRcdFR5cGVPclR5cGVOYW1lOiBzdHJpbmcgfCBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRcdFx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc/OiBDYWxsYWJsZUZ1bmN0aW9uIHwgb2JqZWN0LFxuXHRcdFx0XHRjb25maWc/OiBvYmplY3Rcblx0XHRcdCkge1xuXHRcdFx0Ly8gdGhpcyAtIGRlZmluZSBmdW5jdGlvbiBvZiBtbmVtb25pY2EgaW50ZXJmYWNlXG5cdFx0XHRcdGNvbnN0IGRlZmluZVJlc3VsdCA9IGRlZmluZS5jYWxsKFxuXHRcdFx0XHRcdHRoaXMgYXMgdW5rbm93bixcblx0XHRcdFx0XHRzdWJ0eXBlcyBhcyBUeXBlc01hcCxcblx0XHRcdFx0XHRUeXBlT3JUeXBlTmFtZSxcblx0XHRcdFx0XHRjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWcsXG5cdFx0XHRcdFx0Y29uZmlnXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHJldHVybiBkZWZpbmVSZXN1bHQ7XG5cdFx0XHR9O1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdsb29rdXAnLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiB7IHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBvYmplY3Q+IH0pIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGZ1bmN0aW9uIChcblx0XHRcdFx0dGhpczogeyBzdWJ0eXBlczogTWFwPHN0cmluZywgb2JqZWN0PiB9LFxuXHRcdFx0XHRUeXBlTmVzdGVkUGF0aDogc3RyaW5nXG5cdFx0XHQpIHtcblx0XHRcdFx0Y29uc3QgbG9va3VwUmVzdWx0ID0gbG9va3VwLmNhbGwoXG4gdGhpcy5zdWJ0eXBlcyBhcyB1bmtub3duIGFzIFR5cGVzTWFwLFxuIFR5cGVOZXN0ZWRQYXRoIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gbG9va3VwUmVzdWx0O1xuXHRcdFx0fS5iaW5kKCB0aGlzICk7XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH0sXG5cdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0fSBcbik7XG5cbm9kcChcblx0VHlwZXNDb2xsZWN0aW9uLnByb3RvdHlwZSxcblx0J3JlZ2lzdGVySG9vaycsXG5cdHtcblx0XHRnZXQgKHRoaXM6IFR5cGVzQ29sbGVjdGlvbikge1xuXHRcdCBcblx0XHRcdGNvbnN0IHNlbGYgPSB0aGlzO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZnVuY3Rpb24gKCBob29rTmFtZTogc3RyaW5nLCBob29rQ2FsbGJhY2s6IGhvb2sgKSB7XG5cdFx0XHQvLyByZXR1cm4gcHJvdG8ucmVnaXN0ZXJIb29rLmNhbGwoIHR5cGVzQ29sbGVjdGlvbnMuZ2V0KCBzZWxmICksIGhvb2tOYW1lLCBob29rQ2FsbGJhY2sgKTtcblx0XHRcdFx0Y29uc3QgaG9va1Jlc3VsdCA9IHJlZ2lzdGVySG9vay5jYWxsKFxuXHRcdFx0XHRcdHNlbGYsXG5cdFx0XHRcdFx0aG9va05hbWUsXG5cdFx0XHRcdFx0aG9va0NhbGxiYWNrIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gaG9va1Jlc3VsdDtcblx0XHRcdH0uYmluZCggdGhpcyApO1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LFxuXHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdH0gXG4pO1xuXG5vZHAoXG5cdFR5cGVzQ29sbGVjdGlvbi5wcm90b3R5cGUsXG5cdCdpbnZva2VIb29rJyxcblx0e1xuXHRcdGdldCAodGhpczogVHlwZXNDb2xsZWN0aW9uKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSAoIGhvb2tOYW1lOiBzdHJpbmcsIG9wdHM6IHsgW2luZGV4OiBzdHJpbmddOiB1bmtub3duIH0gKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGhvb2tSZXN1bHQgPSBpbnZva2VIb29rLmNhbGwoXG5cdFx0XHRcdFx0dHlwZXNDb2xsZWN0aW9ucy5nZXQoIHRoaXMgKSxcblx0XHRcdFx0XHRob29rTmFtZSxcbm9wdHMgYXMgaG9va3NPcHRzIFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gaG9va1Jlc3VsdDtcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblx0fSBcbik7XG5cbm9kcChcblx0VHlwZXNDb2xsZWN0aW9uLnByb3RvdHlwZSxcblx0J3JlZ2lzdGVyRmxvd0NoZWNrZXInLFxuXHR7XG5cdFx0Z2V0ICh0aGlzOiBUeXBlc0NvbGxlY3Rpb24pIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9ICggZmxvd0NoZWNrZXJDYWxsYmFjazogKCkgPT4gdW5rbm93biApID0+IHtcblx0XHRcdFx0Y29uc3QgY2hlY2tlclJlc3VsdCA9IHJlZ2lzdGVyRmxvd0NoZWNrZXIuY2FsbChcblx0XHRcdFx0XHR0eXBlc0NvbGxlY3Rpb25zLmdldCggdGhpcyApLFxuXHRcdFx0XHRcdGZsb3dDaGVja2VyQ2FsbGJhY2sgXG5cdFx0XHRcdCk7XG5cdFx0XHRcdHJldHVybiBjaGVja2VyUmVzdWx0O1xuXHRcdFx0fTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHR9IFxuKTtcblxuXG5pbnRlcmZhY2UgVHlwZXNDb2xsZWN0aW9uVGFyZ2V0IHtcblx0c3VidHlwZXM6IFR5cGVzTWFwO1xuXHRkZWZpbmU6IChuYW1lOiBzdHJpbmcsIGN0b3I6IEZ1bmN0aW9uQ29uc3RydWN0b3IpID0+IG9iamVjdDtcbn1cblxuY29uc3QgdHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyID0ge1xuXHRnZXQgKCB0YXJnZXQ6IFR5cGVzQ29sbGVjdGlvblRhcmdldCwgcHJvcDogc3RyaW5nICkge1xuXHRcdGlmICggdGFyZ2V0LnN1YnR5cGVzLmhhcyggcHJvcCApICkge1xuXHRcdFx0Ly8gYWNjZXNzIHRvIHN1YnR5cGVcblx0XHRcdC8vIGZvciBuZXcgY2FsbCBvciBkZWZpbmluZyBuZXcgdHlwZVxuXHRcdFx0Y29uc3Qgc3VidHlwZVJlc3VsdCA9IHRhcmdldC5zdWJ0eXBlcy5nZXQoIHByb3AgKTtcblx0XHRcdHJldHVybiBzdWJ0eXBlUmVzdWx0O1xuXHRcdH1cblx0XHRpZiAoIHByb3AgPT09ICdkZWZpbmUnICkge1xuXHRcdFx0Ly8gd2lsbCBob3BlZnVsbHkgZGVmaW5lIG5ldyB0eXBlXG5cdFx0XHRyZXR1cm4gdGFyZ2V0LmRlZmluZTtcblx0XHR9XG5cdFx0Y29uc3QgcmVmbGVjdFJlc3VsdCA9IFJlZmxlY3QuZ2V0KFxuXHRcdFx0dGFyZ2V0LFxuXHRcdFx0cHJvcCBcblx0XHQpO1xuXHRcdHJldHVybiByZWZsZWN0UmVzdWx0O1xuXHR9LFxuXHRzZXQgKCB0YXJnZXQ6IFR5cGVzQ29sbGVjdGlvblRhcmdldCwgVHlwZU5hbWU6IHN0cmluZywgQ29uc3RydWN0b3I6IEZ1bmN0aW9uQ29uc3RydWN0b3IgKSB7XG5cdFx0dGFyZ2V0LmRlZmluZShcblx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0Q29uc3RydWN0b3IgXG5cdFx0KTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSxcblx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG5cdGdldE93blByb3BlcnR5RGVzY3JpcHRvciAoIHRhcmdldDogVHlwZXNDb2xsZWN0aW9uVGFyZ2V0LCBwcm9wOiBzdHJpbmcgKSB7XG5cdFx0aWYgKCB0YXJnZXQuc3VidHlwZXMuaGFzKCBwcm9wICkgKSB7XG5cdFx0XHRjb25zdCBkZXNjcmlwdG9yUmVzdWx0ID0ge1xuXHRcdFx0XHRjb25maWd1cmFibGUgOiB0cnVlLFxuXHRcdFx0XHRlbnVtZXJhYmxlICAgOiB0cnVlLFxuXHRcdFx0XHR3cml0YWJsZSAgICAgOiBmYWxzZSxcblx0XHRcdFx0dmFsdWUgICAgICAgIDogdGFyZ2V0LnN1YnR5cGVzLmdldCggcHJvcCApXG5cdFx0XHR9O1xuXHRcdFx0cmV0dXJuIGRlc2NyaXB0b3JSZXN1bHQ7XG5cdFx0fVxuXHRcdGNvbnN0IG93blByb3BSZXN1bHQgPSBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciggdGFyZ2V0LCBwcm9wICk7XG5cdFx0cmV0dXJuIG93blByb3BSZXN1bHQ7XG5cdH1cbn07XG5cbmNvbnN0IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiA9ICggY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9ICkgPT4ge1xuXG5cdGNvbnN0IHR5cGVzQ29sbGVjdGlvbiA9IG5ldyBUeXBlc0NvbGxlY3Rpb24oIGNvbmZpZyApO1xuXHRjb25zdCB0eXBlc0NvbGxlY3Rpb25Qcm94eSA9IG5ldyBQcm94eShcblx0XHR0eXBlc0NvbGxlY3Rpb24sXG5cdFx0dHlwZXNDb2xsZWN0aW9uUHJveHlIYW5kbGVyIFxuXHQpO1xuXG5cdHR5cGVzQ29sbGVjdGlvbnMuc2V0KFxuXHRcdHR5cGVzQ29sbGVjdGlvbixcblx0XHR0eXBlc0NvbGxlY3Rpb25Qcm94eSBcblx0KTtcblxuXHRyZXR1cm4gdHlwZXNDb2xsZWN0aW9uUHJveHk7XG5cbn07XG5cbmNvbnN0IERFRkFVTFRfVFlQRVMgPSBjcmVhdGVUeXBlc0NvbGxlY3Rpb24oKTtcbm9kcChcblx0REVGQVVMVF9UWVBFUyxcblx0U3ltYm9sRGVmYXVsdFR5cGVzQ29sbGVjdGlvbixcblx0e1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH0gXG4pO1xuXG5leHBvcnQgY29uc3QgdHlwZXMgPSB7XG5cdGdldCBjcmVhdGVUeXBlc0NvbGxlY3Rpb24gKCk6IENyZWF0ZVR5cGVzQ29sbGVjdGlvbkZ1bmN0aW9uIHtcblx0XHRjb25zdCByZXN1bHQgPSBmdW5jdGlvbiAoIGNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSApOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdFx0Y29uc3QgY29sbGVjdGlvblJlc3VsdCA9IGNyZWF0ZVR5cGVzQ29sbGVjdGlvbiggY29uZmlnICkgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdFx0cmV0dXJuIGNvbGxlY3Rpb25SZXN1bHQ7XG5cdFx0fTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LFxuXHRnZXQgZGVmYXVsdFR5cGVzICgpOiBUeXBlc0NvbGxlY3Rpb24ge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERFRkFVTFRfVFlQRVMgYXMgVHlwZXNDb2xsZWN0aW9uO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufTtcbiJdfQ==
|
package/build/index.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import type { CreateTypesCollectionFunction, IDEF, hook, hooksTypes, constructorOptions, Proto, Constructor, DecoratedClass, TypeClass, TypeAbsorber, MnemonicaModule,
|
|
1
|
+
import type { CreateTypesCollectionFunction, IDEF, hook, hooksTypes, constructorOptions, Proto, Constructor, DecoratedClass, TypeClass, TypeAbsorber, MnemonicaModule, InstanceResult, Merge } from './types';
|
|
2
2
|
export declare const isClass: (fn: import("./api/types/compileNewModificatorFunctionBody").ConstructHandler) => boolean, findSubTypeFromParent: (instance: import("./api/utils/index").parentSub | object | undefined, subType: string) => import("./api/utils/index").parentSub | null;
|
|
3
|
-
export type { IDEF, TypeConstructor, _Internal_TC_, Proto, ProtoFlat, hooksOpts, hook, hooksTypes, TypesCollection } from './types';
|
|
3
|
+
export type { IDEF, TypeConstructor, TypeConstructorBase, InstanceOfTypeRegistry, LiteralKeysOf, ParentPath, PathOfInstance, AllParentPrefixes, ParentPathOfInstance, _Internal_TC_, Proto, ProtoFlat, hooksOpts, hook, hooksTypes, TypesCollection } from './types';
|
|
4
|
+
export interface TypeRegistry {
|
|
5
|
+
}
|
|
4
6
|
export { getProps, setProps } from './api/types/Props';
|
|
5
7
|
export declare const defaultTypes: import("./types").TypesCollection;
|
|
6
8
|
export declare const define: TypeAbsorber;
|
|
7
|
-
export declare
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const apply: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, args?: unknown[]) => { [key in keyof S]: S[key]; };
|
|
13
|
-
export declare const call: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, ...args: unknown[]) => { [key in keyof S]: S[key]; };
|
|
14
|
-
export declare const bind: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>) => (...args: unknown[]) => { [key in keyof S]: S[key]; };
|
|
9
|
+
export declare function lookup<const K extends keyof TypeRegistry>(this: unknown, TypeNestedPath: K): TypeRegistry[K] | undefined;
|
|
10
|
+
export declare function lookup(this: unknown, TypeNestedPath: string): TypeClass | undefined;
|
|
11
|
+
export declare const apply: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, args?: unknown[]) => InstanceResult<Merge<E, T>>;
|
|
12
|
+
export declare const call: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>, ...args: unknown[]) => InstanceResult<Merge<E, T>>;
|
|
13
|
+
export declare const bind: <E extends object, T extends object, S extends Proto<E, T>>(entity: E, Ctor: IDEF<T>) => (...args: unknown[]) => InstanceResult<Merge<E, T>>;
|
|
15
14
|
export declare const decorate: <T extends Constructor<object> | constructorOptions | undefined = undefined>(target?: T, config?: constructorOptions) => <U extends Constructor<object>>(cstr: U) => DecoratedClass<U>;
|
|
16
15
|
export declare const registerHook: <T extends Constructor<T>>(Ctor: DecoratedClass<T>, hookType: hooksTypes, cb: hook) => void;
|
|
17
16
|
export declare const mnemonica: MnemonicaModule;
|