mnemonica 0.9.992 → 0.9.996
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/build/api/errors/exceptionConstructor.js +4 -2
- package/build/api/errors/index.d.ts +3 -1
- package/build/api/errors/index.js +1 -1
- package/build/api/errors/throwModificationError.js +3 -2
- package/build/api/hooks/flowCheckers.js +1 -1
- package/build/api/hooks/index.js +1 -1
- package/build/api/hooks/invokeHook.js +1 -1
- package/build/api/hooks/registerHook.js +1 -1
- package/build/api/index.js +1 -1
- package/build/api/types/InstanceCreator.d.ts +0 -1
- package/build/api/types/InstanceCreator.js +9 -12
- package/build/api/types/InstanceModificator.js +3 -3
- package/build/api/types/Mnemosyne.d.ts +1 -15
- package/build/api/types/Mnemosyne.js +90 -12
- package/build/api/types/Props.d.ts +43 -0
- package/build/api/types/Props.js +154 -0
- package/build/api/types/TypeProxy.js +6 -89
- package/build/api/types/compileNewModificatorFunctionBody.d.ts +1 -1
- package/build/api/types/compileNewModificatorFunctionBody.js +1 -1
- package/build/api/types/createInstanceModificator.d.ts +1 -1
- package/build/api/types/createInstanceModificator.js +8 -10
- package/build/api/types/index.js +5 -5
- package/build/api/types/obeyConstructor.js +4 -9
- package/build/api/utils/index.d.ts +1 -1
- package/build/api/utils/index.js +12 -8
- package/build/constants/index.d.ts +0 -1
- package/build/constants/index.js +1 -5
- package/build/descriptors/errors/index.js +1 -1
- package/build/descriptors/index.js +1 -1
- package/build/descriptors/types/index.js +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +5 -2
- package/build/types/index.js +1 -1
- package/build/utils/collectConstructors.js +1 -1
- package/build/utils/defineStackCleaner.js +1 -1
- package/build/utils/extract.js +1 -5
- package/build/utils/hop.js +1 -1
- package/build/utils/index.js +1 -1
- package/build/utils/merge.js +1 -1
- package/build/utils/parent.js +5 -3
- package/build/utils/parse.js +1 -1
- package/build/utils/pick.js +1 -1
- package/build/utils/toJSON.js +1 -1
- package/package.json +12 -11
- package/build/api/errors/exceptionConstructor.js.map +0 -1
- package/build/api/errors/index.js.map +0 -1
- package/build/api/errors/throwModificationError.js.map +0 -1
- package/build/api/hooks/flowCheckers.js.map +0 -1
- package/build/api/hooks/index.js.map +0 -1
- package/build/api/hooks/invokeHook.js.map +0 -1
- package/build/api/hooks/registerHook.js.map +0 -1
- package/build/api/index.js.map +0 -1
- package/build/api/types/InstanceCreator.js.map +0 -1
- package/build/api/types/InstanceModificator.js.map +0 -1
- package/build/api/types/Mnemosyne.js.map +0 -1
- package/build/api/types/TypeProxy.js.map +0 -1
- package/build/api/types/addProps.d.ts +0 -1
- package/build/api/types/addProps.js +0 -64
- package/build/api/types/addProps.js.map +0 -1
- package/build/api/types/compileNewModificatorFunctionBody.js.map +0 -1
- package/build/api/types/createInstanceModificator.js.map +0 -1
- package/build/api/types/index.js.map +0 -1
- package/build/api/types/obeyConstructor.js.map +0 -1
- package/build/api/utils/index.js.map +0 -1
- package/build/constants/index.js.map +0 -1
- package/build/descriptors/errors/index.js.map +0 -1
- package/build/descriptors/index.js.map +0 -1
- package/build/descriptors/types/index.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/types/index.js.map +0 -1
- package/build/utils/collectConstructors.js.map +0 -1
- package/build/utils/defineStackCleaner.js.map +0 -1
- package/build/utils/extract.js.map +0 -1
- package/build/utils/hop.js.map +0 -1
- package/build/utils/index.js.map +0 -1
- package/build/utils/merge.js.map +0 -1
- package/build/utils/parent.js.map +0 -1
- package/build/utils/parse.js.map +0 -1
- package/build/utils/pick.js.map +0 -1
- package/build/utils/toJSON.js.map +0 -1
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setProps = exports.getProps = exports._setSelf = exports._getProps = exports._addProps = void 0;
|
|
4
|
+
const constants_1 = require("../../constants");
|
|
5
|
+
const { odp, } = constants_1.constants;
|
|
6
|
+
const __props__ = new WeakMap();
|
|
7
|
+
const nativeProps = new Set([
|
|
8
|
+
'__proto_proto__',
|
|
9
|
+
'__args__',
|
|
10
|
+
'__collection__',
|
|
11
|
+
'__subtypes__',
|
|
12
|
+
'__type__',
|
|
13
|
+
'__parent__',
|
|
14
|
+
'__stack__',
|
|
15
|
+
'__creator__',
|
|
16
|
+
'__timestamp__',
|
|
17
|
+
'__self__',
|
|
18
|
+
]);
|
|
19
|
+
const _addProps = function () {
|
|
20
|
+
const self = this;
|
|
21
|
+
const { type, existentInstance, args, config: { submitStack }, __proto_proto__: proto } = self;
|
|
22
|
+
const { collection, subtypes, } = type;
|
|
23
|
+
const value = Object.create(null);
|
|
24
|
+
odp(value, '__proto_proto__', {
|
|
25
|
+
get() {
|
|
26
|
+
return proto;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
odp(value, '__args__', {
|
|
30
|
+
get() {
|
|
31
|
+
return args;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
odp(value, '__collection__', {
|
|
35
|
+
get() {
|
|
36
|
+
return collection;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
odp(value, '__subtypes__', {
|
|
40
|
+
get() {
|
|
41
|
+
return subtypes;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
odp(value, '__type__', {
|
|
45
|
+
get() {
|
|
46
|
+
return type;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
odp(value, '__parent__', {
|
|
50
|
+
get() {
|
|
51
|
+
return existentInstance;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (submitStack) {
|
|
55
|
+
const { stack } = this;
|
|
56
|
+
odp(value, '__stack__', {
|
|
57
|
+
get() {
|
|
58
|
+
return stack.join('\n');
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
odp(value, '__creator__', {
|
|
63
|
+
get() {
|
|
64
|
+
return self;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const timestamp = Date.now();
|
|
68
|
+
odp(value, '__timestamp__', {
|
|
69
|
+
get() {
|
|
70
|
+
return timestamp;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
__props__.set(proto, value);
|
|
74
|
+
};
|
|
75
|
+
exports._addProps = _addProps;
|
|
76
|
+
const isObjectNature = (instance) => {
|
|
77
|
+
if (instance instanceof Object)
|
|
78
|
+
return true;
|
|
79
|
+
if (typeof instance === 'object' && instance != null)
|
|
80
|
+
return true;
|
|
81
|
+
return false;
|
|
82
|
+
};
|
|
83
|
+
const _getProps = (instance, base) => {
|
|
84
|
+
if (!isObjectNature(instance))
|
|
85
|
+
return undefined;
|
|
86
|
+
const proto = Reflect.getPrototypeOf(instance);
|
|
87
|
+
if (base !== undefined && isObjectNature(base) && isObjectNature(proto) && (base.constructor !== proto.constructor)) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
const result = __props__.get(proto);
|
|
91
|
+
if (result === undefined) {
|
|
92
|
+
if (base === undefined) {
|
|
93
|
+
base = instance;
|
|
94
|
+
}
|
|
95
|
+
return (0, exports._getProps)(proto, base);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
};
|
|
99
|
+
exports._getProps = _getProps;
|
|
100
|
+
const _setSelf = (instance) => {
|
|
101
|
+
const props = (0, exports._getProps)(instance);
|
|
102
|
+
Object.defineProperty(props, '__self__', {
|
|
103
|
+
get() {
|
|
104
|
+
return instance;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
__props__.set(instance, props);
|
|
108
|
+
};
|
|
109
|
+
exports._setSelf = _setSelf;
|
|
110
|
+
const getProps = (instance) => {
|
|
111
|
+
const props = (0, exports._getProps)(instance);
|
|
112
|
+
if (props) {
|
|
113
|
+
const _additions = __props__.get(props);
|
|
114
|
+
if (_additions instanceof Object) {
|
|
115
|
+
const descriptors = Object.getOwnPropertyDescriptors(props);
|
|
116
|
+
const additions = Object.getOwnPropertyDescriptors(_additions);
|
|
117
|
+
const answer = {};
|
|
118
|
+
Object.defineProperties(answer, additions);
|
|
119
|
+
Object.defineProperties(answer, descriptors);
|
|
120
|
+
return answer;
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return props;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return undefined;
|
|
127
|
+
};
|
|
128
|
+
exports.getProps = getProps;
|
|
129
|
+
const setProps = (instance, _values) => {
|
|
130
|
+
const props = (0, exports._getProps)(instance);
|
|
131
|
+
if (props) {
|
|
132
|
+
const values = Object.getOwnPropertyDescriptors(_values);
|
|
133
|
+
const written = [];
|
|
134
|
+
const allowed = {};
|
|
135
|
+
Object.entries(values).forEach(([name, value]) => {
|
|
136
|
+
if (!nativeProps.has(name)) {
|
|
137
|
+
written.push(name);
|
|
138
|
+
Object.defineProperty(allowed, name, value);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
__props__.set(props, allowed);
|
|
142
|
+
return written;
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
};
|
|
146
|
+
exports.setProps = setProps;
|
|
147
|
+
module.exports = {
|
|
148
|
+
_addProps: exports._addProps,
|
|
149
|
+
_getProps: exports._getProps,
|
|
150
|
+
_setSelf: exports._setSelf,
|
|
151
|
+
getProps: exports.getProps,
|
|
152
|
+
setProps: exports.setProps
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL1Byb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsK0NBQTRDO0FBRTVDLE1BQU0sRUFDTCxHQUFHLEdBQ0gsR0FBRyxxQkFBUyxDQUFDO0FBRWQsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUVoQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUMzQixpQkFBaUI7SUFDakIsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsVUFBVTtJQUNWLFlBQVk7SUFDWixXQUFXO0lBQ1gsYUFBYTtJQUNiLGVBQWU7SUFDZixVQUFVO0NBQ1YsQ0FBQyxDQUFDO0FBRUksTUFBTSxTQUFTLEdBQUc7SUFHeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBRWxCLE1BQU0sRUFDTCxJQUFJLEVBQ0osZ0JBQWdCLEVBQ2hCLElBQUksRUFDSixNQUFNLEVBQUUsRUFDUCxXQUFXLEVBQ1gsRUFDRCxlQUFlLEVBQUUsS0FBSyxFQUN0QixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sRUFDTCxVQUFVLEVBQ1YsUUFBUSxHQUNSLEdBQUcsSUFBSSxDQUFDO0lBRVQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsQyxHQUFHLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFO1FBQzdCLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7S0FDRCxDQUFDLENBQUM7SUFFSCxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRTtRQUN0QixHQUFHO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQyxDQUFDO0lBRUgsR0FBRyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtRQUM1QixHQUFHO1lBQ0YsT0FBTyxV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LENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFFLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNuQixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxPQUFPLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsUUFBUSxZQWdCbkI7QUFFRixNQUFNLENBQUMsT0FBTyxHQUFHO0lBQ2hCLFNBQVMsRUFBVCxpQkFBUztJQUNULFNBQVMsRUFBVCxpQkFBUztJQUNULFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtJQUNSLFFBQVEsRUFBUixnQkFBUTtDQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxufSA9IGNvbnN0YW50cztcblxuY29uc3QgX19wcm9wc19fID0gbmV3IFdlYWtNYXAoKTtcblxuY29uc3QgbmF0aXZlUHJvcHMgPSBuZXcgU2V0KFtcblx0J19fcHJvdG9fcHJvdG9fXycsXG5cdCdfX2FyZ3NfXycsXG5cdCdfX2NvbGxlY3Rpb25fXycsXG5cdCdfX3N1YnR5cGVzX18nLFxuXHQnX190eXBlX18nLFxuXHQnX19wYXJlbnRfXycsXG5cdCdfX3N0YWNrX18nLFxuXHQnX19jcmVhdG9yX18nLFxuXHQnX190aW1lc3RhbXBfXycsXG5cdCdfX3NlbGZfXycsXG5dKTtcblxuZXhwb3J0IGNvbnN0IF9hZGRQcm9wcyA9IGZ1bmN0aW9uICh0aGlzOiBhbnkpOiBhbnkge1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuXHRjb25zdCBzZWxmID0gdGhpcztcblxuXHRjb25zdCB7XG5cdFx0dHlwZSxcblx0XHRleGlzdGVudEluc3RhbmNlLFxuXHRcdGFyZ3MsXG5cdFx0Y29uZmlnOiB7XG5cdFx0XHRzdWJtaXRTdGFja1xuXHRcdH0sXG5cdFx0X19wcm90b19wcm90b19fOiBwcm90b1xuXHR9ID0gc2VsZjtcblxuXHRjb25zdCB7XG5cdFx0Y29sbGVjdGlvbixcblx0XHRzdWJ0eXBlcyxcblx0fSA9IHR5cGU7XG5cblx0Y29uc3QgdmFsdWUgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5cdG9kcCh2YWx1ZSwgJ19fcHJvdG9fcHJvdG9fXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHByb3RvO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19hcmdzX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19jb2xsZWN0aW9uX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBjb2xsZWN0aW9uO1xuXHRcdH1cblx0fSk7XG5cblx0b2RwKHZhbHVlLCAnX19zdWJ0eXBlc19fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gc3VidHlwZXM7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3R5cGVfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHR5cGU7XG5cdFx0fVxuXHR9KTtcblxuXHRvZHAodmFsdWUsICdfX3BhcmVudF9fJywge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gZXhpc3RlbnRJbnN0YW5jZTtcblx0XHR9XG5cdH0pO1xuXG5cdGlmIChzdWJtaXRTdGFjaykge1xuXHRcdGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG5cdFx0b2RwKHZhbHVlLCAnX19zdGFja19fJywge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN0YWNrLmpvaW4oJ1xcbicpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0b2RwKHZhbHVlLCAnX19jcmVhdG9yX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBzZWxmO1xuXHRcdH1cblx0fSk7XG5cblx0Y29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKTtcblx0b2RwKHZhbHVlLCAnX190aW1lc3RhbXBfXycsIHtcblx0XHRnZXQgKCkge1xuXHRcdFx0cmV0dXJuIHRpbWVzdGFtcDtcblx0XHR9XG5cdH0pO1xuXG5cdC8vIF9fcHJvcHNfXy5zZXQoc2VsZiwgdmFsdWUpO1xuXHRfX3Byb3BzX18uc2V0KHByb3RvLCB2YWx1ZSk7XG5cbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25EZWYgPSB7XG5cdGRlZmluZTogQ2FsbGFibGVGdW5jdGlvblxuXHRsb29rdXA6IENhbGxhYmxlRnVuY3Rpb25cblx0aW52b2tlSG9vazogQ2FsbGFibGVGdW5jdGlvblxuXHRyZWdpc3Rlckhvb2s6IENhbGxhYmxlRnVuY3Rpb25cblx0cmVnaXN0ZXJGbG93Q2hlY2tlcjogQ2FsbGFibGVGdW5jdGlvblxuXHRzdWJ0eXBlczogb2JqZWN0XG5cdGhvb2tzOiBvYmplY3Rcblx0W2tleTogc3RyaW5nXTogdW5rbm93blxufVxuLy8gfCBNYXA8c3RyaW5nLCBvYmplY3Q+XG5cbmV4cG9ydCB0eXBlIFR5cGVEZWYgPSB7XG5cdHByb3RvOiBvYmplY3Q7XG5cdGNvbGxlY3Rpb246IENvbGxlY3Rpb25EZWZcblx0aW52b2tlSG9vazogQ2FsbGFibGVGdW5jdGlvblxuXHRjb25maWc6IHtcblx0XHRzdHJpY3RDaGFpbjogYm9vbGVhblxuXHR9XG5cdHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBQcm9wcz5cblx0aXNTdWJUeXBlOiBib29sZWFuXG5cdFR5cGVOYW1lOiBzdHJpbmdcblx0cHJvdG90eXBlOiB1bmtub3duXG5cdHN0YWNrPzogc3RyaW5nXG59O1xuXG5leHBvcnQgdHlwZSBQcm9wcyA9IHtcblx0X19wcm90b19wcm90b19fOiBvYmplY3QsXG5cdF9fYXJnc19fOiB1bmtub3duW10sXG5cdF9fY29sbGVjdGlvbl9fOiBDb2xsZWN0aW9uRGVmLFxuXHRfX3N1YnR5cGVzX186IE1hcDxzdHJpbmcsIG9iamVjdD4sXG5cdF9fdHlwZV9fOiBUeXBlRGVmLFxuXHRfX3BhcmVudF9fOiBQcm9wcyxcblx0X19zdGFja19fPzogc3RyaW5nLFxuXHRfX2NyZWF0b3JfXzogVHlwZURlZixcblx0X190aW1lc3RhbXBfXzogbnVtYmVyLFxuXHRfX3NlbGZfXz86IHtcblx0XHRleHRyYWN0OiBDYWxsYWJsZUZ1bmN0aW9uXG5cdFx0W2tleTogc3RyaW5nXTogdW5rbm93blxuXHR9XG59XG5cbmNvbnN0IGlzT2JqZWN0TmF0dXJlID0gKGluc3RhbmNlOiB1bmtub3duKSA9PiB7XG5cdGlmIChpbnN0YW5jZSBpbnN0YW5jZW9mIE9iamVjdCkgcmV0dXJuIHRydWU7XG5cdGlmICh0eXBlb2YgaW5zdGFuY2UgPT09ICdvYmplY3QnICYmIGluc3RhbmNlICE9IG51bGwpIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgX2dldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIGJhc2U/OiBvYmplY3QpOiBQcm9wcyB8IHVuZGVmaW5lZCA9PiB7XG5cdGlmICghaXNPYmplY3ROYXR1cmUoaW5zdGFuY2UpKSByZXR1cm4gdW5kZWZpbmVkO1xuXHRjb25zdCBwcm90byA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoaW5zdGFuY2UpIGFzIG9iamVjdDtcblx0aWYgKGJhc2UgIT09IHVuZGVmaW5lZCAmJiBpc09iamVjdE5hdHVyZShiYXNlKSAmJiBpc09iamVjdE5hdHVyZShwcm90bykgJiYgKGJhc2UuY29uc3RydWN0b3IgIT09IHByb3RvLmNvbnN0cnVjdG9yKSkge1xuXHRcdC8vIGhlcmUgd2UgZ290IHJpZCBvZiB1bm5lY2Vzc2FyeSBjaGFpbiBkaXZlXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXHRjb25zdCByZXN1bHQgPSBfX3Byb3BzX18uZ2V0KHByb3RvKTtcblx0aWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0Ly8gc28gd2UganVtcGluZyBkZWVwZXIgaGVyZVxuXHRcdGlmIChiYXNlID09PSB1bmRlZmluZWQpIHtcblx0XHRcdGJhc2UgPSBpbnN0YW5jZTtcblx0XHR9XG5cdFx0cmV0dXJuIF9nZXRQcm9wcyhwcm90bywgYmFzZSk7XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBfc2V0U2VsZiA9IChpbnN0YW5jZTogb2JqZWN0KTogdm9pZCA9PiB7XG5cdC8vIGNvbnN0IHByb3BzID0gX19wcm9wc19fLmdldChpbnN0YW5jZSk7XG5cdGNvbnN0IHByb3BzID0gX2dldFByb3BzKGluc3RhbmNlKTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAnX19zZWxmX18nLCB7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdHJldHVybiBpbnN0YW5jZTtcblx0XHR9XG5cdH0pO1xuXHRfX3Byb3BzX18uc2V0KGluc3RhbmNlLCBwcm9wcyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UHJvcHMgPSAoaW5zdGFuY2U6IG9iamVjdCk6IFByb3BzIHwgdW5kZWZpbmVkID0+IHtcblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpO1xuXHRpZiAocHJvcHMpIHtcblx0XHRjb25zdCBfYWRkaXRpb25zID0gX19wcm9wc19fLmdldChwcm9wcyk7XG5cdFx0aWYgKF9hZGRpdGlvbnMgaW5zdGFuY2VvZiBPYmplY3QpIHtcblx0XHRcdGNvbnN0IGRlc2NyaXB0b3JzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocHJvcHMpO1xuXHRcdFx0Y29uc3QgYWRkaXRpb25zID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoX2FkZGl0aW9ucyk7XG5cdFx0XHRjb25zdCBhbnN3ZXIgPSB7fTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFuc3dlciwgYWRkaXRpb25zKTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFuc3dlciwgZGVzY3JpcHRvcnMpO1xuXHRcdFx0cmV0dXJuIGFuc3dlciBhcyBQcm9wcztcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHByb3BzO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFByb3BzID0gKGluc3RhbmNlOiBvYmplY3QsIF92YWx1ZXM6IG9iamVjdCk6IHN0cmluZ1tdIHwgZmFsc2UgPT4ge1xuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSk7XG5cdGlmIChwcm9wcykge1xuXHRcdGNvbnN0IHZhbHVlcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKF92YWx1ZXMpO1xuXHRcdGNvbnN0IHdyaXR0ZW46IHN0cmluZ1tdID0gW107XG5cdFx0Y29uc3QgYWxsb3dlZCA9IHt9O1xuXHRcdE9iamVjdC5lbnRyaWVzKHZhbHVlcykuZm9yRWFjaCgoWyBuYW1lLCB2YWx1ZSBdKSA9PiB7XG5cdFx0XHRpZiAoIW5hdGl2ZVByb3BzLmhhcyhuYW1lKSkge1xuXHRcdFx0XHR3cml0dGVuLnB1c2gobmFtZSk7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhbGxvd2VkLCBuYW1lLCB2YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0X19wcm9wc19fLnNldChwcm9wcywgYWxsb3dlZCk7XG5cdFx0cmV0dXJuIHdyaXR0ZW47XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG5cdF9hZGRQcm9wcyxcblx0X2dldFByb3BzLFxuXHRfc2V0U2VsZixcblx0Z2V0UHJvcHMsXG5cdHNldFByb3BzXG59O1xuIl19
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeProxy = void 0;
|
|
4
|
-
const
|
|
5
|
-
const {
|
|
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 {
|
|
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
|
|
149
|
-
const
|
|
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=
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZVByb3h5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9UeXBlUHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7QUFLYixvQ0FBa0M7QUFDbEMsTUFBTSxFQUNMLFVBQVUsR0FDVixHQUFHLGVBQVUsQ0FBQztBQUVmLHlDQUFzQztBQUV0QyxxREFBdUQ7QUFDdkQsTUFBTSxFQUNMLHFCQUFxQixHQUNyQixHQUFHLG9CQUFXLENBQUM7QUFFaEIsMkNBQXFDO0FBQ3JDLE1BQU0sRUFBRSxlQUFlLEVBQUUsR0FBRyxtQkFBVSxDQUFDO0FBRXZDLHVEQUFvRDtBQUl2QyxRQUFBLFNBQVMsR0FBRyxVQUFXLFFBQWEsRUFBRSxNQUFlO0lBQ2pFLE1BQU0sQ0FBQyxNQUFNLENBQUUsSUFBSSxFQUFFO1FBQ3BCLFFBQVE7UUFDUixNQUFNO0tBQ04sQ0FBRSxDQUFDO0lBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUUsaUNBQWUsRUFBRSxJQUFJLENBQUUsQ0FBQztJQUNyRCxPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUE2QixDQUFDO0FBRTlCLGlCQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFXLE1BQVcsRUFBRSxJQUFtQjtJQUlwRSxNQUFNLEVBQ0wsUUFBUSxFQUFFLElBQUksRUFDZCxHQUFHLElBQUksQ0FBQztJQUtULElBQUssSUFBSSxLQUFLLFdBQVcsRUFBRyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ3JDLElBQUssZUFBZSxFQUFHLENBQUM7UUFDdkIsT0FBTyxlQUFlLENBQUM7SUFDeEIsQ0FBQztJQUlELElBQUssSUFBQSxTQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxFQUFHLENBQUM7UUFDekIsT0FBTyxlQUFlLENBQUM7SUFDeEIsQ0FBQztJQUdELElBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFFLEVBQUcsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUUsTUFBTSxFQUFFLElBQUksQ0FBRSxDQUFDO0FBRXBDLENBQUMsQ0FBQztBQUVGLGlCQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxVQUFXLEVBQU8sRUFBRSxJQUFZLEVBQUUsS0FBVTtJQUVyRSxNQUFNLEVBQ0wsUUFBUSxFQUFFLElBQUksRUFDZCxHQUFHLElBQUksQ0FBQztJQUdULElBQUssSUFBSSxLQUFLLFdBQVcsRUFBRyxDQUFDO1FBQzVCLFVBQVUsQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFLLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUcsQ0FBQztRQUNoRCxNQUFNLElBQUkscUJBQXFCLENBQUUseUNBQXlDLENBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsSUFBSyxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUcsQ0FBQztRQUNuQyxNQUFNLElBQUkscUJBQXFCLENBQUUseUNBQXlDLENBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQztJQUUxQixJQUFJLENBQUMsTUFBTSxDQUFFLFFBQVEsRUFBRSxXQUFXLENBQUUsQ0FBQztJQUNyQyxPQUFPLElBQUksQ0FBQztBQUViLENBQUMsQ0FBQztBQUdGLGlCQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxVQUFXLEVBQVcsRUFBRSxNQUFlLEVBQUUsSUFBZTtJQUNuRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzNCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFLLE1BQU0sRUFBRyxDQUFDO1FBQ2QsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGlCQUFTLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBRSxDQUFDO1FBQzNELFFBQVEsR0FBRyxJQUFJLG9CQUFvQixDQUFFLEdBQUcsSUFBSSxDQUFFLENBQUM7SUFDaEQsQ0FBQztTQUFNLENBQUM7UUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUM7SUFDekMsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUtGLGlCQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxVQUFXLEVBQVcsRUFBRSxJQUFlO0lBSXRFLE1BQU0sRUFDTCxRQUFRLEVBQUUsSUFBSSxFQUNkLE1BQU0sRUFDTixHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGlDQUFlLENBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUUsQ0FBQztJQUNuRSxPQUFPLFFBQVEsQ0FBQztBQUVqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4ndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IENvbnN0cnVjdG9yRnVuY3Rpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRjaGVja1Byb3RvLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGhvcCB9IGZyb20gJy4uLy4uL3V0aWxzL2hvcCc7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OLFxufSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQgbW5lbW9zeW5lcyBmcm9tICcuL01uZW1vc3luZSc7XG5jb25zdCB7IGNyZWF0ZU1uZW1vc3luZSB9ID0gbW5lbW9zeW5lcztcblxuaW1wb3J0IHsgSW5zdGFuY2VDcmVhdG9yIH0gZnJvbSAnLi9JbnN0YW5jZUNyZWF0b3InO1xuXG5pbXBvcnQgeyAvKiBfZ2V0UHJvcHMsIFByb3BzLCAqLyBUeXBlRGVmIH0gZnJvbSAnLi9Qcm9wcyc7XG5cbmV4cG9ydCBjb25zdCBUeXBlUHJveHkgPSBmdW5jdGlvbiAoIF9fdHlwZV9fOiBhbnksIFVyYW51czogdW5rbm93biApIHtcblx0T2JqZWN0LmFzc2lnbiggdGhpcywge1xuXHRcdF9fdHlwZV9fLFxuXHRcdFVyYW51c1xuXHR9ICk7XG5cdGNvbnN0IHR5cGVQcm94eSA9IG5ldyBQcm94eSggSW5zdGFuY2VDcmVhdG9yLCB0aGlzICk7XG5cdHJldHVybiB0eXBlUHJveHk7XG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248YW55PjtcblxuVHlwZVByb3h5LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoIHRhcmdldDogYW55LCBwcm9wOiBrZXlvZiBUeXBlRGVmICkge1xuXHRcblx0Ly8gY29uc3QgcHJvcHMgPSBfZ2V0UHJvcHModGhpcykgYXMgUHJvcHM7XG5cblx0Y29uc3Qge1xuXHRcdF9fdHlwZV9fOiB0eXBlXG5cdH0gPSB0aGlzO1xuXG5cdC8vIHByb3RvdHlwZSBvZiBwcm94eVxuXHQvLyBjb25zdCBpbnN0YW5jZSA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YocmVjZWl2ZXIpO1xuXG5cdGlmICggcHJvcCA9PT0gJ3Byb3RvdHlwZScgKSB7XG5cdFx0cmV0dXJuIHR5cGUucHJvdG87XG5cdH1cblxuXHRjb25zdCBwcm9wRGVjbGFyYXRpb24gPSB0eXBlWyBwcm9wIF07XG5cdGlmICggcHJvcERlY2xhcmF0aW9uICkge1xuXHRcdHJldHVybiBwcm9wRGVjbGFyYXRpb247XG5cdH1cblxuXHQvLyB1c2VkIGZvciBleGlzdGVudCBwcm9wcyB3aXRoIHZhbHVlXG5cdC8vIHVuZGVmaW5lZCB8fCBudWxsIHx8IGZhbHNlXG5cdGlmICggaG9wKCB0eXBlLCBwcm9wICkgKSB7XG5cdFx0cmV0dXJuIHByb3BEZWNsYXJhdGlvbjtcblx0fVxuXG5cdC8vIFNvbWVUeXBlLlNvbWVTdWJUeXBlXG5cdGlmICggdHlwZS5zdWJ0eXBlcy5oYXMoIHByb3AgKSApIHtcblx0XHRyZXR1cm4gdHlwZS5zdWJ0eXBlcy5nZXQoIHByb3AgKTtcblx0fVxuXG5cdHJldHVybiBSZWZsZWN0LmdldCggdGFyZ2V0LCBwcm9wICk7XG5cbn07XG5cblR5cGVQcm94eS5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKCBfXzogYW55LCBuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkgKSB7XG5cblx0Y29uc3Qge1xuXHRcdF9fdHlwZV9fOiB0eXBlXG5cdH0gPSB0aGlzO1xuXG5cdC8vIGlzIGFib3V0IHNldHRpbmcgYSBwcm90b3R5cGUgdG8gVHlwZVxuXHRpZiAoIG5hbWUgPT09ICdwcm90b3R5cGUnICkge1xuXHRcdGNoZWNrUHJvdG8oIHZhbHVlICk7XG5cdFx0dHlwZS5wcm90byA9IHZhbHVlO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0aWYgKCB0eXBlb2YgbmFtZSAhPT0gJ3N0cmluZycgfHwgIW5hbWUubGVuZ3RoICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdzaG91bGQgdXNlIG5vbiBlbXB0eSBzdHJpbmcgYXMgVHlwZU5hbWUnICk7XG5cdH1cblxuXHRpZiAoIHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJyApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCAnc2hvdWxkIHVzZSBmdW5jdGlvbiBmb3IgdHlwZSBkZWZpbml0aW9uJyApO1xuXHR9XG5cblx0Y29uc3QgVHlwZU5hbWUgPSBuYW1lO1xuXHRjb25zdCBDb25zdHJ1Y3RvciA9IHZhbHVlO1xuXG5cdHR5cGUuZGVmaW5lKCBUeXBlTmFtZSwgQ29uc3RydWN0b3IgKTtcblx0cmV0dXJuIHRydWU7XG5cbn07XG5cblxuVHlwZVByb3h5LnByb3RvdHlwZS5hcHBseSA9IGZ1bmN0aW9uICggX186IHVua25vd24sIFVyYW51czogdW5rbm93biwgYXJnczogdW5rbm93bltdICkge1xuXHRjb25zdCB0eXBlID0gdGhpcy5fX3R5cGVfXztcblx0bGV0IGluc3RhbmNlID0gbnVsbDtcblx0aWYgKCBVcmFudXMgKSB7XG5cdFx0Y29uc3QgSW5zdGFuY2VDcmVhdG9yUHJveHkgPSBuZXcgVHlwZVByb3h5KCB0eXBlLCBVcmFudXMgKTtcblx0XHRpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZUNyZWF0b3JQcm94eSggLi4uYXJncyApO1xuXHR9IGVsc2Uge1xuXHRcdGluc3RhbmNlID0gdGhpcy5jb25zdHJ1Y3QoIG51bGwsIGFyZ3MgKTtcblx0fVxuXHRyZXR1cm4gaW5zdGFuY2U7XG59O1xuXG5cblxuXG5UeXBlUHJveHkucHJvdG90eXBlLmNvbnN0cnVjdCA9IGZ1bmN0aW9uICggX186IHVua25vd24sIGFyZ3M6IHVua25vd25bXSApIHtcblxuXHQvLyBuZXcudGFyZ2V0IGlkIGVxdWFsIHdpdGggdGFyZ2V0IGhlcmVcblx0XG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXzogdHlwZSxcblx0XHRVcmFudXNcblx0fSA9IHRoaXM7XG5cblx0Y29uc3QgbW5lbW9zeW5lUHJveHkgPSBjcmVhdGVNbmVtb3N5bmUoVXJhbnVzKTtcblxuXHRjb25zdCBpbnN0YW5jZSA9IG5ldyBJbnN0YW5jZUNyZWF0b3IoIHR5cGUsIG1uZW1vc3luZVByb3h5LCBhcmdzICk7XG5cdHJldHVybiBpbnN0YW5jZTtcblxufTtcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const compileNewModificatorFunctionBody: (FunctionName: string, asClass?: boolean) => (ConstructHandler:
|
|
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=
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS90eXBlcy9jb21waWxlTmV3TW9kaWZpY2F0b3JGdW5jdGlvbkJvZHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOztBQWtDYixNQUFNLG1CQUFtQixHQUFHLENBQUUsZ0JBQXFCLEVBQUUsZUFBb0IsRUFBSSxFQUFFO0lBQzlFLE9BQU8sS0FBTSxTQUFRLGdCQUFnQjtRQUNwQyxZQUFjLEdBQUcsSUFBVztZQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztZQUVoQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBRSxDQUFDO1FBQzdDLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxDQUFFLGdCQUFxQixFQUFFLGVBQW9CLEVBQUksRUFBRTtJQUNqRixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUUsQ0FBQztJQUM1RSxPQUFPLFVBQXNCLEdBQUcsSUFBVztRQUMxQyxJQUFJLE1BQU0sQ0FBQztRQUlYLElBQUssQ0FBQyxPQUFPLEVBQUcsQ0FBQztZQUNoQixNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO1lBQzFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztZQUV4RCxNQUFNLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBRSxHQUFHLElBQUksQ0FBRSxDQUFDO1lBQ3pDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7UUFDckMsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBRSxJQUFJLEVBQUUsTUFBTSxDQUFFLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxpQ0FBaUMsR0FBRyxVQUFXLFlBQW9CLEVBQUUsT0FBTyxHQUFHLEtBQUs7SUFDekYsT0FBTyxVQUFXLGdCQUFrQyxFQUFFLGVBQWlDLEVBQUUscUJBQTZCO1FBQ3JILE9BQU87WUFDTixJQUFJLGdCQUFxQixDQUFDO1lBQzFCLElBQUssT0FBTyxFQUFHLENBQUM7Z0JBQ2YsZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUUsZ0JBQWdCLEVBQUUsZUFBZSxDQUFFLENBQUM7WUFDN0UsQ0FBQztpQkFBTSxDQUFDO2dCQUlQLGdCQUFnQixHQUFHLHNCQUFzQixDQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBRSxDQUFDO1lBQ2hGLENBQUM7WUFDRCxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO1lBQzFELE1BQU0sQ0FBQyxjQUFjLENBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUU7Z0JBQ3RFLEtBQUssRUFBTSxZQUFZO2dCQUN2QixRQUFRLEVBQUcsS0FBSzthQUNoQixDQUFFLENBQUM7WUFDSixNQUFNLENBQUMsY0FBYyxDQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFO2dCQUMvRCxHQUFHO29CQUVGLE9BQU8sWUFBWSxDQUFDO2dCQUNyQixDQUFDO2FBQ0QsQ0FBRSxDQUFDO1lBSUosT0FBTyxnQkFBZ0IsQ0FBQztRQUN6QixDQUFDLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixrQkFBZSxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLypcblxuLy8gaXQgaXMgbm90IHRoYXQgZWFzeVxuLy8gY29uc3RydWN0b3IgbmFtZSBkaWFwcGVhcnMgd2hlbiB5b3UgbG9vayBvbiAndGhpcydcbi8vIHVzaW5nIENocm9tZSBEZXYgdG9vbHMgZGVidWdnZXIgZm9yIGV4YW1wbGVcbi8vIGFkZGluZyAnZGVidWdnZXI7JyBrZXl3b3JkIG5leHQgbGluZSB0byBcbi8vICdjb25zdCBhbnN3ZXIgPSAnIHNlZSBleGFtcGxlIGRvd24gYmVsb3dcblxuLy8gdGhvdWdodCBmb3IgY29uc29sZS5sb2cgaXQgaXMgdGhlcmVcblxuLy8gQWxzbywgYXMgaXQgaXMgd3JpdHRlbiBoZXJlXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9GdW5jdGlvbi9uYW1lXG5cbi8vIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBtaWdodCBiZSBvYmZ1c2NhdGVkIGR1cmluZyBidW5kbGluZ1xuLy8gdGhlcmVmb3JlIGl0IHNlZW1zIHRvIGJlIG1vcmUgY29ycmVjdCB0byBpbXBsZW1lbnQgdXNpbmcgJ25ldyBGdW5jdGlvbidcblxuLy8gdGhlcmVmb3JlIGNvbnNpZGVyaW5nIHdlIGhhdmUgb3BlbiBidWcgbm93OlxuLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9MTM1MDQwNFxuLy8gcmVsYXRlZCB0byB0aGUgbGlua3MgYmVsb3dcbi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3dlbnRvdXQvNWRjZGQzNGY5MjY0NjBkODljOGMxNTUyZDFiYmMzZDdcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0Z1bmN0aW9uL25hbWVcblxuLy8gd2Ugd2lsbCB1c2UgbmV4dCBzb2x1dGlvbiBhcyB3b3JraW5nIGNvZGVcbi8vIGJlY2F1c2UgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIGtlcHQgT0tcbi8vIGp1c3QgdGhlIGJ1ZyBpcyBmb3IgQ2hyb21lIERldiBUb29sc1xuXG4vLyBhbmQgYXMgcHJlbGltaW5hcnkgY29tcGlsZWQgZnVuY3Rpb25zIHNvbHV0aW9uIHdvcmtzIGZhc3RlclxuLy8gYW5kIGRvZXMgbm90IHJlcXVpcmUgbmV3IGNvZGUgY29tcGlsYXRpb25cbi8vIHdlIHdpbGwga2VlcCBpdCBmdXJ0aGVyXG5cbiovXG5cbmNvbnN0IGdldENsYXNzQ29uc3RydWN0b3IgPSAoIENvbnN0cnVjdEhhbmRsZXI6IGFueSwgQ3JlYXRpb25IYW5kbGVyOiBhbnksICkgPT4ge1xuXHRyZXR1cm4gY2xhc3MgZXh0ZW5kcyBDb25zdHJ1Y3RIYW5kbGVyIHtcblx0XHRjb25zdHJ1Y3RvciAoIC4uLmFyZ3M6IGFueVtdICkge1xuXHRcdFx0Y29uc3QgYW5zd2VyID0gc3VwZXIoIC4uLmFyZ3MgKTtcblx0XHRcdC8vIGRlYnVnZ2VyO1xuXHRcdFx0cmV0dXJuIENyZWF0aW9uSGFuZGxlci5jYWxsKCB0aGlzLCBhbnN3ZXIgKTtcblx0XHR9XG5cdH07XG59O1xuXG5jb25zdCBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yID0gKCBDb25zdHJ1Y3RIYW5kbGVyOiBhbnksIENyZWF0aW9uSGFuZGxlcjogYW55LCApID0+IHtcblx0Y29uc3QgbmV3YWJsZSA9IE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKCBDb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApO1xuXHRyZXR1cm4gZnVuY3Rpb24gKCB0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdICkge1xuXHRcdGxldCBhbnN3ZXI7XG5cdFx0Ly8gaWYgKCFuZXcudGFyZ2V0KSB7XG5cdFx0Ly8gXHRkZWJ1Z2dlcjtcblx0XHQvLyB9XG5cdFx0aWYgKCAhbmV3YWJsZSApIHtcblx0XHRcdGFuc3dlciA9IENvbnN0cnVjdEhhbmRsZXIuY2FsbCggdGhpcywgLi4uYXJncyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCBfcHJvdG8gPSBDb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZTtcblx0XHRcdENvbnN0cnVjdEhhbmRsZXIucHJvdG90eXBlID0gdGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7XG5cdFx0XHQvLyBPYmplY3Quc2V0UHJvdG90eXBlT2YoQ29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUsIE9iamVjdC5jcmVhdGUodGhpcy5jb25zdHJ1Y3Rvci5wcm90b3R5cGUpKTtcblx0XHRcdGFuc3dlciA9IG5ldyBDb25zdHJ1Y3RIYW5kbGVyKCAuLi5hcmdzICk7XG5cdFx0XHRDb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IF9wcm90bztcblx0XHR9XG5cdFx0cmV0dXJuIENyZWF0aW9uSGFuZGxlci5jYWxsKCB0aGlzLCBhbnN3ZXIgKTtcblx0fTtcbn07XG5cbmNvbnN0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uICggRnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFzQ2xhc3MgPSBmYWxzZSApIHtcblx0cmV0dXJuIGZ1bmN0aW9uICggQ29uc3RydWN0SGFuZGxlcjogQ2FsbGFibGVGdW5jdGlvbiwgQ3JlYXRpb25IYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uLCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWU6IHN5bWJvbCApOiBhbnkge1xuXHRcdHJldHVybiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRsZXQgTW9kaWZpY2F0aW9uQm9keTogYW55O1xuXHRcdFx0aWYgKCBhc0NsYXNzICkge1xuXHRcdFx0XHRNb2RpZmljYXRpb25Cb2R5ID0gZ2V0Q2xhc3NDb25zdHJ1Y3RvciggQ29uc3RydWN0SGFuZGxlciwgQ3JlYXRpb25IYW5kbGVyICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBjb25zdCBSZU5hbWVkQ29uc3RydWN0SGFuZGxlciA9IHt9IGFzIGFueTtcblx0XHRcdFx0Ly8gUmVOYW1lZENvbnN0cnVjdEhhbmRsZXJbRnVuY3Rpb25OYW1lXSA9IENvbnN0cnVjdEhhbmRsZXI7XG5cdFx0XHRcdC8vIE1vZGlmaWNhdGlvbkJvZHkgPSBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yKFJlTmFtZWRDb25zdHJ1Y3RIYW5kbGVyW0Z1bmN0aW9uTmFtZV0sIENyZWF0aW9uSGFuZGxlcik7XG5cdFx0XHRcdE1vZGlmaWNhdGlvbkJvZHkgPSBnZXRGdW5jdGlvbkNvbnN0cnVjdG9yKCBDb25zdHJ1Y3RIYW5kbGVyLCBDcmVhdGlvbkhhbmRsZXIgKTtcblx0XHRcdH1cblx0XHRcdE1vZGlmaWNhdGlvbkJvZHkucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTW9kaWZpY2F0aW9uQm9keTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSggTW9kaWZpY2F0aW9uQm9keS5wcm90b3R5cGUuY29uc3RydWN0b3IsICduYW1lJywge1xuXHRcdFx0XHR2YWx1ZSAgICA6IEZ1bmN0aW9uTmFtZSxcblx0XHRcdFx0d3JpdGFibGUgOiBmYWxzZVxuXHRcdFx0fSApO1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KCBNb2RpZmljYXRpb25Cb2R5LCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsIHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHQvLyByZXR1cm4gbmV3IFN0cmluZyggRnVuY3Rpb25OYW1lICk7XG5cdFx0XHRcdFx0cmV0dXJuIEZ1bmN0aW9uTmFtZTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdFx0Ly8gT2JqZWN0LmZyZWV6ZSggTW9kaWZpY2F0aW9uQm9keS5wcm90b3R5cGUuY29uc3RydWN0b3IgKTtcblx0XHRcdC8vIE9iamVjdC5mcmVlemUoIE1vZGlmaWNhdGlvbkJvZHkucHJvdG90eXBlICk7XG5cdFx0XHQvLyBPYmplY3QuZnJlZXplKCBNb2RpZmljYXRpb25Cb2R5ICk7XG5cdFx0XHRyZXR1cm4gTW9kaWZpY2F0aW9uQm9keTtcblx0XHR9O1xuXHR9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5O1xuXG5cbi8qXG5cbi8vIGhvd2V2ZXIsIGZvciBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB3aGF0IGlzIGdvaW5nIG9uIGhlcmVcbi8vIEknZCBsaWtlIHRvIHByb3ZpZGUgXG5cbmNvbnN0IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSA9IGZ1bmN0aW9uICggRnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFzQ2xhc3MgPSBmYWxzZSApIHtcblxuXHRjb25zdCBkdCA9IGAke0RhdGUubm93KCl9XyR7YCR7TWF0aC5yYW5kb20oKX1gLnNwbGl0KCAnLicgKVsgMSBdfWA7XG5cblx0Y29uc3QgbW9kU3RyaW5nID0gYXNDbGFzcyA/XG5cblx0XHRgY2xhc3MgJHtGdW5jdGlvbk5hbWV9IGV4dGVuZHMgQ29uc3RydWN0SGFuZGxlcl8ke2R0fSB7XG5cdFx0XHRjb25zdHJ1Y3RvciguLi5hcmdzKSB7XG5cdFx0XHRcdGNvbnN0IGFuc3dlciA9IHN1cGVyKC4uLmFyZ3MpO1xuXHRcdFx0XHRyZXR1cm4gQ3JlYXRpb25IYW5kbGVyXyR7ZHR9LmNhbGwodGhpcywgYW5zd2VyKTtcblx0XHRcdH1cblx0XHR9YFxuXG5cdFx0OlxuXG5cdFx0YGNvbnN0ICR7RnVuY3Rpb25OYW1lfSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG5cdFx0XHRjb25zdCBuZXdhYmxlID0gT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoIENvbnN0cnVjdEhhbmRsZXJfJHtkdH0sICdwcm90b3R5cGUnICk7XG5cdFx0XHRsZXQgYW5zd2VyO1xuXHRcdFx0aWYgKCAhbmV3YWJsZSApIHtcblx0XHRcdFx0YW5zd2VyID0gQ29uc3RydWN0SGFuZGxlcl8ke2R0fS5jYWxsKCB0aGlzLCAuLi5hcmdzICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb25zdCBfcHJvdG8gPSBDb25zdHJ1Y3RIYW5kbGVyXyR7ZHR9LnByb3RvdHlwZTtcblx0XHRcdFx0Q29uc3RydWN0SGFuZGxlcl8ke2R0fS5wcm90b3R5cGUgPSB0aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcblx0XHRcdFx0YW5zd2VyID0gbmV3IENvbnN0cnVjdEhhbmRsZXJfJHtkdH0oIC4uLmFyZ3MgKTtcblx0XHRcdFx0Q29uc3RydWN0SGFuZGxlcl8ke2R0fS5wcm90b3R5cGUgPSBfcHJvdG87XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gQ3JlYXRpb25IYW5kbGVyXyR7ZHR9LmNhbGwoIHRoaXMsIGFuc3dlciApO1xuXHRcdH07YDtcblxuXHRyZXR1cm4gbmV3IEZ1bmN0aW9uKCBgQ29uc3RydWN0SGFuZGxlcl8ke2R0fWAsIGBDcmVhdGlvbkhhbmRsZXJfJHtkdH1gLCAnU3ltYm9sQ29uc3RydWN0b3JOYW1lJyxcblx0XHRgcmV0dXJuIGZ1bmN0aW9uICgpIHtcblxuXHRcdFx0JHttb2RTdHJpbmd9XG5cblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSgke0Z1bmN0aW9uTmFtZX0sIFN5bWJvbENvbnN0cnVjdG9yTmFtZSwge1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgU3RyaW5nKCAnJHtGdW5jdGlvbk5hbWV9JyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuICR7RnVuY3Rpb25OYW1lfTtcblxuXHRcdH07XG5cdGApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5O1xuXG4qL1xuIl19
|
|
@@ -2,28 +2,26 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = default_1;
|
|
4
4
|
function default_1(obey) {
|
|
5
|
-
const CreateInstanceModificator = function (ModificatorType, ModificatorTypePrototype,
|
|
5
|
+
const CreateInstanceModificator = function (ModificatorType, ModificatorTypePrototype, _addProps) {
|
|
6
6
|
const existentInstance = this;
|
|
7
7
|
const Mnemosyne = {};
|
|
8
8
|
Reflect.setPrototypeOf(Mnemosyne, existentInstance);
|
|
9
|
-
|
|
9
|
+
_addProps(Mnemosyne);
|
|
10
10
|
Object.defineProperty(Mnemosyne, 'constructor', {
|
|
11
11
|
get() {
|
|
12
12
|
return ModificatorType;
|
|
13
13
|
},
|
|
14
14
|
enumerable: false
|
|
15
15
|
});
|
|
16
|
-
Object.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
});
|
|
22
|
-
ModificatorType.prototype.constructor = ModificatorType;
|
|
16
|
+
const props = Object.getOwnPropertyDescriptors(ModificatorTypePrototype);
|
|
17
|
+
props.constructor = {
|
|
18
|
+
value: ModificatorType
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperties(ModificatorType.prototype, props);
|
|
23
21
|
Reflect.setPrototypeOf(ModificatorType.prototype, Mnemosyne);
|
|
24
22
|
obey(existentInstance, ModificatorType);
|
|
25
23
|
return ModificatorType;
|
|
26
24
|
};
|
|
27
25
|
return CreateInstanceModificator;
|
|
28
26
|
}
|
|
29
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvdHlwZXMvY3JlYXRlSW5zdGFuY2VNb2RpZmljYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBRWIsNEJBZ0RDO0FBaERELG1CQUF5QixJQUFzQjtJQUU5QyxNQUFNLHlCQUF5QixHQUFHLFVBRWpDLGVBQWlDLEVBQ2pDLHdCQUFzRCxFQUN0RCxTQUEyQjtRQUkzQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUc5QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFJckIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFO1lBQy9DLEdBQUc7Z0JBQ0YsT0FBTyxlQUFlLENBQUM7WUFDeEIsQ0FBQztZQUNELFVBQVUsRUFBRyxLQUFLO1NBQ2xCLENBQUMsQ0FBQztRQUlILE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3pFLEtBQUssQ0FBQyxXQUFXLEdBQUc7WUFHbkIsS0FBSyxFQUFHLGVBQWU7U0FDdkIsQ0FBQztRQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSTFELE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFeEMsT0FBTyxlQUFlLENBQUM7SUFFeEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyx5QkFBeUIsQ0FBQztBQUVsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAob2JleTogQ2FsbGFibGVGdW5jdGlvbikge1xuXG5cdGNvbnN0IENyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3IgPSBmdW5jdGlvbiAoXG5cdFx0dGhpczogb2JqZWN0LFxuXHRcdE1vZGlmaWNhdG9yVHlwZTogQ2FsbGFibGVGdW5jdGlvbixcblx0XHRNb2RpZmljYXRvclR5cGVQcm90b3R5cGU6IHsgW2luZGV4OiBzdHJpbmddOiB1bmtub3duIH0sXG5cdFx0X2FkZFByb3BzOiBDYWxsYWJsZUZ1bmN0aW9uXG5cdCkge1xuXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG5cdFx0Y29uc3QgZXhpc3RlbnRJbnN0YW5jZSA9IHRoaXM7XG5cblx0XHQvLyBpbmhlcml0ZWRcblx0XHRjb25zdCBNbmVtb3N5bmUgPSB7fTtcblx0XHRSZWZsZWN0LnNldFByb3RvdHlwZU9mKE1uZW1vc3luZSwgZXhpc3RlbnRJbnN0YW5jZSk7XG5cdFx0X2FkZFByb3BzKE1uZW1vc3luZSk7XG5cblx0XHQvLyBhYm91dCB0byBzZXR1cCBjb25zdHJ1Y3RvciBwcm9wZXJ0eSBmb3IgbmV3IGluc3RhbmNlXG5cdFx0Ly8gT2JqZWN0LmRlZmluZVByb3BlcnR5KGluaGVyaXRlZCwgJ2NvbnN0cnVjdG9yJywge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNbmVtb3N5bmUsICdjb25zdHJ1Y3RvcicsIHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBNb2RpZmljYXRvclR5cGU7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IGZhbHNlXG5cdFx0fSk7XG5cblx0XHQvLyBtb2RpZmljYXRpb24gaXRzZWxmXG5cdFx0Ly8gc28gbm93IHdlIGhhdmUgdG8gY29weSBhbGwgY29uc3RydWN0b3IgcHJvcHNcblx0XHRjb25zdCBwcm9wcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKE1vZGlmaWNhdG9yVHlwZVByb3RvdHlwZSk7XG5cdFx0cHJvcHMuY29uc3RydWN0b3IgPSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yXG5cdFx0XHR2YWx1ZSA6IE1vZGlmaWNhdG9yVHlwZVxuXHRcdH07XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZSwgcHJvcHMpO1xuXG5cdFx0Ly8gYW5kIHNldCB0aGUgcHJvdG90eXBlIGluaGVyaXRlZFxuXHRcdC8vIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoTW9kaWZpY2F0b3JUeXBlLnByb3RvdHlwZSwgaW5oZXJpdGVkKTtcblx0XHRSZWZsZWN0LnNldFByb3RvdHlwZU9mKE1vZGlmaWNhdG9yVHlwZS5wcm90b3R5cGUsIE1uZW1vc3luZSk7XG5cblx0XHRvYmV5KGV4aXN0ZW50SW5zdGFuY2UsIE1vZGlmaWNhdG9yVHlwZSk7XG5cblx0XHRyZXR1cm4gTW9kaWZpY2F0b3JUeXBlO1xuXG5cdH07XG5cblx0cmV0dXJuIENyZWF0ZUluc3RhbmNlTW9kaWZpY2F0b3I7XG5cbn1cbiJdfQ==
|
package/build/api/types/index.js
CHANGED
|
@@ -58,7 +58,7 @@ odp(TypeDescriptor.prototype, Symbol.hasInstance, {
|
|
|
58
58
|
return getTypeChecker(this.TypeName);
|
|
59
59
|
}
|
|
60
60
|
});
|
|
61
|
-
const
|
|
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
|
|
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
|
|
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
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBSWIseUNBQXNDO0FBRXRDLCtDQUE0QztBQUM1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsWUFBWSxFQUVaLGlCQUFpQixFQUNqQixTQUFTLEdBRVQsR0FBRyxxQkFBUyxDQUFDO0FBRWQscURBQXVEO0FBR3ZELE1BQU0sRUFDTCxnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsR0FBRyxvQkFBVyxDQUFDO0FBS2hCLHFDQUFxQztBQUNyQywyQ0FBd0M7QUFFeEMsMkZBQW9GO0FBRXBGLG9DQUFrQztBQUNsQyxNQUFNLEVBQ0wsVUFBVSxFQUNWLGNBQWMsRUFDZCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixPQUFPLEdBQ1AsR0FBRyxlQUFVLENBQUM7QUFFZixzQ0FBcUM7QUFFckMsTUFBTSxjQUFjLEdBQUcsVUFFdEIsWUFBOEIsRUFDOUIsS0FBVSxFQUNWLFFBQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxLQUFxQyxFQUNyQyxNQUFzQztJQUt0QyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUUsZ0JBQWdCLENBQUUsSUFBSSxJQUFJLENBQUM7SUFFckQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUU1QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBRSxTQUFTLENBQUUsQ0FBQztJQUUxRSxJQUFLLEtBQUssQ0FBQyxHQUFHLENBQUUsUUFBUSxDQUFFLEVBQUcsQ0FBQztRQUM3QixNQUFNLElBQUksZ0JBQWdCLENBQUM7SUFDNUIsQ0FBQztJQUVELFVBQVUsQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUdwQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTNCLE1BQU0sS0FBSyxHQUFHLEdBQUcsaUJBQWlCLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFFaEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBRSxZQUFZLENBQUUsRUFBRSxNQUFNLENBQUUsQ0FBQztJQUVqRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLElBQUksRUFBRTtRQUVqQyxJQUFJLGdCQUFnQjtZQUNuQixPQUFPLGdCQUFnQixDQUFDO1FBQ3pCLENBQUM7UUFHRCxRQUFRO1FBQ1IsS0FBSztRQUVMLFNBQVM7UUFDVCxRQUFRO1FBQ1IsVUFBVTtRQUVWLFVBQVU7UUFFVixLQUFLO1FBRUwsTUFBTTtRQUVOLEtBQUssRUFBRyxNQUFNLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBRTtLQUU3QixDQUFFLENBQUM7SUFFSixpQkFBUSxDQUFDLElBQUksQ0FBRSxJQUFJLEVBQUUsbUJBQW1CLFFBQVEsYUFBYSxFQUFFLEVBQUUsRUFBRSxZQUFZLENBQUUsQ0FBQztJQUVsRixHQUFHLENBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFO1FBQ2hDLEdBQUc7WUFDRixPQUFPLElBQUksQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFFLENBQUM7SUFFSixLQUFLLENBQUMsR0FBRyxDQUFFLFFBQVEsRUFBRSxJQUFJLHFCQUFTLENBQUUsSUFBSSxDQUFFLENBQUUsQ0FBQztJQUU3QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUUsUUFBUSxDQUFFLENBQUM7QUFFOUIsQ0FBZ0QsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxDQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFFLENBQUM7QUFFcEQsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVyxHQUFHLElBQVc7SUFDMUQsT0FBTyxjQUFNLENBQUMsSUFBSSxDQUFFLGNBQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFFLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBRUYsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBVyxHQUFHLElBQVc7SUFDMUQsT0FBTyxjQUFNLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUUsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFFRixHQUFHLENBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFO0lBQ2xELEdBQUc7UUFDRixPQUFPLGNBQWMsQ0FBRSxJQUFJLENBQUMsUUFBUSxDQUFFLENBQUM7SUFDeEMsQ0FBQztDQUNELENBQUUsQ0FBQztBQUVKLE1BQU0sZUFBZSxHQUFHLFVBQXNCLFFBQWEsRUFBRSxzQkFBd0MsRUFBRSxNQUFXO0lBRWpILE1BQU0sSUFBSSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFdEMsSUFBSyxPQUFPLElBQUksS0FBSyxVQUFVLEVBQUcsQ0FBQztRQUNsQyxNQUFNLElBQUksMEJBQTBCLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFM0IsSUFBSyxDQUFDLFFBQVEsRUFBRyxDQUFDO1FBQ2pCLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBRWhDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsc0JBQXNCLEVBQUUsQ0FBQztRQUVsRCxHQUFHLENBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUU7WUFDN0MsR0FBRztnQkFDRixPQUFPLFFBQVEsQ0FBQztZQUNqQixDQUFDO1NBQ0QsQ0FBRSxDQUFDO1FBQ0osTUFBTSxTQUFTLEdBQVEsTUFBTTthQUMzQix3QkFBd0IsQ0FBRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUUsQ0FBQztRQUM1RCxJQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUcsQ0FBQztZQUMxQixnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLGdCQUFnQixDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLElBQUssT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFHLENBQUM7UUFDbEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBRSxDQUFDO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ1AsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUV6QixPQUFPLElBQUksY0FBYyxDQUN4QixJQUFJLEVBQ0osUUFBUSxFQUNSLFFBQVEsRUFDUixvQkFBb0IsRUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxNQUFNLENBQ04sQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FBRSxJQUFZLEVBQUcsRUFBRTtJQUNwRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFFLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBRSxJQUFJLENBQUUsQ0FBRSxDQUFDLE1BQU0sQ0FBRSxDQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUcsRUFBRTtRQUNyRyxNQUFNLENBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEMsR0FBRyxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7WUFDZixLQUFLO1lBQ0wsWUFBWSxFQUFHLElBQUk7WUFDbkIsVUFBVSxFQUFLLElBQUk7WUFDbkIsUUFBUSxFQUFPLElBQUk7U0FDbkIsQ0FDQSxDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUM7SUFDUixPQUFPLFNBQVMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFHRixNQUFNLG1CQUFtQixHQUFHLFVBRTNCLFFBQWEsRUFDYixRQUFnQixFQUNoQixnQkFBZ0IsR0FBRyxjQUFjLENBQUMsRUFDbEMsS0FBVSxFQUNWLFNBQWMsRUFBRTtJQUdoQixJQUFLLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxFQUFHLENBQUM7UUFDOUMsTUFBTSxJQUFJLDBCQUEwQixDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUUsZ0JBQWdCLENBQUUsQ0FBQztJQUM1QyxNQUFNLGVBQWUsR0FBRyxJQUFBLDJDQUFpQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUUsQ0FBQztJQUUvRSxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FDM0MsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixxQkFBcUIsQ0FDckIsQ0FBQztJQUVGLElBQUssQ0FBQyxLQUFLLEVBQUcsQ0FBQztRQUNkLElBQUssSUFBQSxTQUFHLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxDQUFFLEVBQUcsQ0FBQztZQUM1QyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBRSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFFLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDUCxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNGLENBQUM7SUFFRCxJQUFLLE9BQU8sRUFBRyxDQUFDO1FBQ2YsS0FBSyxHQUFHLHlCQUF5QixDQUFFLEtBQUssQ0FBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFLLE1BQU0sWUFBWSxRQUFRLEVBQUcsQ0FBQztRQUNsQyxNQUFNLEdBQUc7WUFDUix1QkFBdUIsRUFBRyxNQUFNO1NBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSyxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUcsQ0FBQztRQUNsQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUdELE1BQU0sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBRXpCLE9BQU8sSUFBSSxjQUFjLENBQ3hCLElBQUksRUFDSixRQUFRLEVBQ1IsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixLQUFLLEVBQ0wsTUFBTSxDQUNOLENBQUM7QUFFSCxDQUFDLENBQUM7QUFHSyxNQUFNLE1BQU0sR0FBUSxVQUFzQixRQUFhLEVBQUUsY0FBNEIsRUFBRSx3QkFBNkIsRUFBRSxLQUFhLEVBQUUsTUFBYztJQUV6SixJQUFLLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRyxDQUFDO1FBQzVDLElBQUssY0FBYyxDQUFDLElBQUksRUFBRyxDQUFDO1lBQzNCLE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixJQUFJLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFFLENBQUM7UUFDekksQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLENBQUUsQ0FBQztRQUN6RixDQUFDO0lBQ0YsQ0FBQztJQUVELElBQUssT0FBTyxjQUFjLEtBQUssUUFBUSxFQUFHLENBQUM7UUFFMUMsYUFBYSxDQUFFLGNBQWMsQ0FBRSxDQUFDO1FBRWhDLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFFLGNBQWMsQ0FBRSxDQUFDO1FBRWpELE1BQU0sSUFBSSxHQUFHLGNBQU0sQ0FBQyxJQUFJLENBQUUsUUFBUSxFQUFFLEtBQUssQ0FBRSxDQUFDLENBQUUsQ0FBRSxDQUFDO1FBRWpELElBQUssQ0FBQyxJQUFJLEVBQUcsQ0FBQztZQUViLElBQUssS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUcsQ0FBQztnQkFDMUIsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBRSxDQUFDO1lBQzVHLENBQUM7WUFFRCxNQUFNLElBQUkscUJBQXFCLENBQUUsR0FBRyxLQUFLLENBQUUsQ0FBQyxDQUFFLCtCQUErQixDQUFFLENBQUM7UUFDakYsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRSxDQUFDO1FBRTlDLElBQUssS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUcsQ0FBQztZQUN4QixPQUFPLGNBQU0sQ0FBQyxJQUFJLENBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUUsQ0FBQztRQUM5RixDQUFDO1FBS0QsT0FBTyxjQUFNLENBQUMsSUFBSSxDQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUUsQ0FBQztJQUVwRixDQUFDO0lBRUQsTUFBTSxJQUFJLHFCQUFxQixDQUFFLDRCQUE0QixDQUFFLENBQUM7QUFFakUsQ0FBQyxDQUFDO0FBMUNXLFFBQUEsTUFBTSxVQTBDakI7QUFFSyxNQUFNLE1BQU0sR0FBUSxVQUFzQixjQUFzQjtJQUV0RSxJQUFLLE9BQU8sY0FBYyxLQUFLLFFBQVEsRUFBRyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBRSx5Q0FBeUMsQ0FBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRyxDQUFDO1FBQzlCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBRSxvQ0FBb0MsQ0FBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBRSxjQUFjLENBQUUsQ0FBQztJQUVqRCxNQUFNLENBQUUsSUFBSSxDQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUUsSUFBSSxDQUFFLENBQUM7SUFDOUIsSUFBSyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRSxDQUFDO0lBQ3BELE9BQU8sY0FBTSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBRSxDQUFDO0FBRXJELENBQUMsQ0FBQztBQXJCVyxRQUFBLE1BQU0sVUFxQmpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3RvckZ1bmN0aW9uLCBUeXBlRGVzY3JpcHRvckluc3RhbmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBob3AgfSBmcm9tICcuLi8uLi91dGlscy9ob3AnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3Qge1xuXHRvZHAsXG5cdFN5bWJvbFBhcmVudFR5cGUsXG5cdFN5bWJvbENvbnN0cnVjdG9yTmFtZSxcblx0U3ltYm9sQ29uZmlnLFxuXG5cdFRZUEVfVElUTEVfUFJFRklYLFxuXHRNTkVNT1NZTkUsXG5cbn0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbi8vIGltcG9ydCB7IGRlc2NyaXB0b3JzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMnO1xuXG5jb25zdCB7XG5cdEFMUkVBRFlfREVDTEFSRUQsXG5cdFdST05HX1RZUEVfREVGSU5JVElPTixcblx0VFlQRU5BTUVfTVVTVF9CRV9BX1NUUklORyxcblx0SEFORExFUl9NVVNUX0JFX0FfRlVOQ1RJT04sXG59ID0gRXJyb3JzVHlwZXM7XG5cbi8vIGludm9rZUhvb2tcbi8vIHJlZ2lzdGVySG9va1xuLy8gcmVnaXN0ZXJGbG93Q2hlY2tlclxuaW1wb3J0ICogYXMgaG9va3NBcGkgZnJvbSAnLi4vaG9va3MnO1xuaW1wb3J0IHsgVHlwZVByb3h5IH0gZnJvbSAnLi9UeXBlUHJveHknO1xuXG5pbXBvcnQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5IGZyb20gJy4vY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5JztcblxuaW1wb3J0IFR5cGVzVXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuY29uc3Qge1xuXHRjaGVja1Byb3RvLFxuXHRnZXRUeXBlQ2hlY2tlcixcblx0Q3JlYXRpb25IYW5kbGVyLFxuXHRnZXRUeXBlU3BsaXRQYXRoLFxuXHRjaGVja1R5cGVOYW1lLFxuXHRpc0NsYXNzLFxufSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IGdldFN0YWNrIH0gZnJvbSAnLi4vZXJyb3JzJztcblxuY29uc3QgVHlwZURlc2NyaXB0b3IgPSBmdW5jdGlvbiAoXG5cdHRoaXM6IGFueSxcblx0ZGVmaW5lT3JpZ2luOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHR0eXBlczogYW55LFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRjb25zdHJ1Y3RIYW5kbGVyOiBDYWxsYWJsZUZ1bmN0aW9uLFxuXHRwcm90bzogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9LFxuXHRjb25maWc6IHsgWyBpbmRleDogc3RyaW5nIF06IHVua25vd24gfSxcbikge1xuXG5cdC8vIGhlcmUgXCJ0eXBlc1wiIHJlZmVycyB0byBzdWJ0eXBlcyBvZiB0eXBlIG9yIGNvbGxlY3Rpb24gb2JqZWN0IHt9XG5cblx0Y29uc3QgcGFyZW50VHlwZSA9IHR5cGVzWyBTeW1ib2xQYXJlbnRUeXBlIF0gfHwgbnVsbDtcblxuXHRjb25zdCBpc1N1YlR5cGUgPSBwYXJlbnRUeXBlID8gdHJ1ZSA6IGZhbHNlO1xuXG5cdGNvbnN0IGNvbGxlY3Rpb24gPSBpc1N1YlR5cGUgPyBwYXJlbnRUeXBlLmNvbGxlY3Rpb24gOiB0eXBlc1sgTU5FTU9TWU5FIF07XG5cblx0aWYgKCB0eXBlcy5oYXMoIFR5cGVOYW1lICkgKSB7XG5cdFx0dGhyb3cgbmV3IEFMUkVBRFlfREVDTEFSRUQ7XG5cdH1cblxuXHRjaGVja1Byb3RvKCBwcm90byApO1xuXG5cdC8vIGNvbnN0IHN1YnR5cGVzID0gZGVzY3JpcHRvcnMuY3JlYXRlVHlwZXNDb2xsZWN0aW9uKCk7XG5cdGNvbnN0IHN1YnR5cGVzID0gbmV3IE1hcCgpO1xuXG5cdGNvbnN0IHRpdGxlID0gYCR7VFlQRV9USVRMRV9QUkVGSVh9JHtUeXBlTmFtZX1gO1xuXG5cdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb2xsZWN0aW9uWyBTeW1ib2xDb25maWcgXSwgY29uZmlnICk7XG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5hc3NpZ24oIHRoaXMsIHtcblxuXHRcdGdldCBjb25zdHJ1Y3RIYW5kbGVyICgpIHtcblx0XHRcdHJldHVybiBjb25zdHJ1Y3RIYW5kbGVyO1xuXHRcdH0sXG5cblxuXHRcdFR5cGVOYW1lLFxuXHRcdHByb3RvLFxuXG5cdFx0aXNTdWJUeXBlLFxuXHRcdHN1YnR5cGVzLFxuXHRcdHBhcmVudFR5cGUsXG5cblx0XHRjb2xsZWN0aW9uLFxuXG5cdFx0dGl0bGUsXG5cblx0XHRjb25maWcsXG5cblx0XHRob29rcyA6IE9iamVjdC5jcmVhdGUoIG51bGwgKVxuXG5cdH0gKTtcblxuXHRnZXRTdGFjay5jYWxsKCB0aGlzLCBgRGVmaW5pdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gbWFkZSBhdDpgLCBbXSwgZGVmaW5lT3JpZ2luICk7XG5cblx0b2RwKCBzdWJ0eXBlcywgU3ltYm9sUGFyZW50VHlwZSwge1xuXHRcdGdldCAoKSB7XG5cdFx0XHRyZXR1cm4gdHlwZTtcblx0XHR9XG5cdH0gKTtcblxuXHR0eXBlcy5zZXQoIFR5cGVOYW1lLCBuZXcgVHlwZVByb3h5KCB0eXBlICkgKTtcblxuXHRyZXR1cm4gdHlwZXMuZ2V0KCBUeXBlTmFtZSApO1xuXG59IGFzIENvbnN0cnVjdG9yRnVuY3Rpb248VHlwZURlc2NyaXB0b3JJbnN0YW5jZT47XG5cbk9iamVjdC5hc3NpZ24oIFR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZSwgaG9va3NBcGkgKTtcblxuVHlwZURlc2NyaXB0b3IucHJvdG90eXBlLmRlZmluZSA9IGZ1bmN0aW9uICggLi4uYXJnczogYW55W10gKSB7XG5cdHJldHVybiBkZWZpbmUuY2FsbCggZGVmaW5lLCB0aGlzLnN1YnR5cGVzLCAuLi5hcmdzICk7XG59O1xuXG5UeXBlRGVzY3JpcHRvci5wcm90b3R5cGUubG9va3VwID0gZnVuY3Rpb24gKCAuLi5hcmdzOiBhbnlbXSApIHtcblx0cmV0dXJuIGxvb2t1cC5jYWxsKCB0aGlzLnN1YnR5cGVzLCAuLi5hcmdzICk7XG59O1xuXG5vZHAoIFR5cGVEZXNjcmlwdG9yLnByb3RvdHlwZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XG5cdGdldCAoKSB7XG5cdFx0cmV0dXJuIGdldFR5cGVDaGVja2VyKCB0aGlzLlR5cGVOYW1lICk7XG5cdH1cbn0gKTtcblxuY29uc3QgZGVmaW5lVXNpbmdUeXBlID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIHN1YnR5cGVzOiBhbnksIGNvbnN0cnVjdEhhbmRsZXJHZXR0ZXI6IENhbGxhYmxlRnVuY3Rpb24sIGNvbmZpZzogYW55ICkge1xuXHQvLyB3ZSBuZWVkIHRoaXMgdG8gZXh0cmFjdCBUeXBlTmFtZVxuXHRjb25zdCB0eXBlID0gY29uc3RydWN0SGFuZGxlckdldHRlcigpO1xuXG5cdGlmICggdHlwZW9mIHR5cGUgIT09ICdmdW5jdGlvbicgKSB7XG5cdFx0dGhyb3cgbmV3IEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OO1xuXHR9XG5cblx0Y29uc3QgVHlwZU5hbWUgPSB0eXBlLm5hbWU7XG5cblx0aWYgKCAhVHlwZU5hbWUgKSB7XG5cdFx0dGhyb3cgbmV3IFRZUEVOQU1FX01VU1RfQkVfQV9TVFJJTkc7XG5cdH1cblxuXHRjb25zdCBhc0NsYXNzID0gaXNDbGFzcyggdHlwZSApO1xuXG5cdGNvbnN0IG1ha2VDb25zdHJ1Y3RIYW5kbGVyID0gKCkgPT4ge1xuXHRcdGNvbnN0IGNvbnN0cnVjdEhhbmRsZXIgPSBjb25zdHJ1Y3RIYW5kbGVyR2V0dGVyKCk7XG5cdFx0Ly8gY29uc3RydWN0SGFuZGxlcltTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdID0gVHlwZU5hbWU7XG5cdFx0b2RwKCBjb25zdHJ1Y3RIYW5kbGVyLCBTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsIHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBUeXBlTmFtZTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdFx0Y29uc3QgcHJvdG9EZXNjOiBhbnkgPSBPYmplY3Rcblx0XHRcdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoIGNvbnN0cnVjdEhhbmRsZXIsICdwcm90b3R5cGUnICk7XG5cdFx0aWYgKCBwcm90b0Rlc2Mud3JpdGFibGUgKSB7XG5cdFx0XHRjb25zdHJ1Y3RIYW5kbGVyLnByb3RvdHlwZSA9IHt9O1xuXHRcdH1cblx0XHRyZXR1cm4gY29uc3RydWN0SGFuZGxlcjtcblx0fTtcblxuXHRpZiAoIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IE9iamVjdC5hc3NpZ24oIHt9LCBjb25maWcgKTtcblx0fSBlbHNlIHtcblx0XHRjb25maWcgPSB7fTtcblx0fVxuXG5cdGNvbmZpZy5hc0NsYXNzID0gYXNDbGFzcztcblxuXHRyZXR1cm4gbmV3IFR5cGVEZXNjcmlwdG9yKFxuXHRcdHRoaXMsXG5cdFx0c3VidHlwZXMsXG5cdFx0VHlwZU5hbWUsXG5cdFx0bWFrZUNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0dHlwZS5wcm90b3R5cGUsXG5cdFx0Y29uZmlnXG5cdCk7XG59O1xuXG5jb25zdCBleHRyYWN0Tm9uRW51bWVyYWJsZVByb3BzID0gKCBfb2JqOiBvYmplY3QgKSA9PiB7XG5cdGNvbnN0IGV4dHJhY3RlZCA9IE9iamVjdC5lbnRyaWVzKCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyggX29iaiApICkucmVkdWNlKCAoIG9iaiwgZW50cnkgKSA9PiB7XG5cdFx0Y29uc3QgWyBuYW1lLCB7IHZhbHVlIH0gXSA9IGVudHJ5O1xuXHRcdG9kcCggb2JqLCBuYW1lLCB7XG5cdFx0XHR2YWx1ZSxcblx0XHRcdGNvbmZpZ3VyYWJsZSA6IHRydWUsXG5cdFx0XHRlbnVtZXJhYmxlICAgOiB0cnVlLFxuXHRcdFx0d3JpdGFibGUgICAgIDogdHJ1ZSxcblx0XHR9XG5cdFx0KTtcblx0XHRyZXR1cm4gb2JqO1xuXHR9LCB7fSApO1xuXHRyZXR1cm4gZXh0cmFjdGVkO1xufTtcblxuXG5jb25zdCBkZWZpbmVVc2luZ0Z1bmN0aW9uID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBhbnksXG5cdHN1YnR5cGVzOiBhbnksXG5cdFR5cGVOYW1lOiBzdHJpbmcsXG5cdGNvbnN0cnVjdEhhbmRsZXIgPSBmdW5jdGlvbiAoKSB7IH0sXG5cdHByb3RvOiBhbnksXG5cdGNvbmZpZzogYW55ID0ge31cbikge1xuXG5cdGlmICggdHlwZW9mIGNvbnN0cnVjdEhhbmRsZXIgIT09ICdmdW5jdGlvbicgKSB7XG5cdFx0dGhyb3cgbmV3IEhBTkRMRVJfTVVTVF9CRV9BX0ZVTkNUSU9OO1xuXHR9XG5cblx0Y29uc3QgYXNDbGFzcyA9IGlzQ2xhc3MoIGNvbnN0cnVjdEhhbmRsZXIgKTtcblx0Y29uc3QgbW9kaWZpY2F0b3JCb2R5ID0gY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5KCBUeXBlTmFtZSwgYXNDbGFzcyApO1xuXG5cdGNvbnN0IG1ha2VDb25zdHJ1Y3RIYW5kbGVyID0gbW9kaWZpY2F0b3JCb2R5KFxuXHRcdGNvbnN0cnVjdEhhbmRsZXIsXG5cdFx0Q3JlYXRpb25IYW5kbGVyLFxuXHRcdFN5bWJvbENvbnN0cnVjdG9yTmFtZVxuXHQpO1xuXG5cdGlmICggIXByb3RvICkge1xuXHRcdGlmICggaG9wKCBjb25zdHJ1Y3RIYW5kbGVyLCAncHJvdG90eXBlJyApICkge1xuXHRcdFx0cHJvdG8gPSBPYmplY3QuYXNzaWduKCB7fSwgY29uc3RydWN0SGFuZGxlci5wcm90b3R5cGUgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cHJvdG8gPSB7fTtcblx0XHR9XG5cdH1cblxuXHRpZiAoIGFzQ2xhc3MgKSB7XG5cdFx0cHJvdG8gPSBleHRyYWN0Tm9uRW51bWVyYWJsZVByb3BzKCBwcm90byApO1xuXHR9XG5cblx0aWYgKCBjb25maWcgaW5zdGFuY2VvZiBGdW5jdGlvbiApIHtcblx0XHRjb25maWcgPSB7XG5cdFx0XHRNb2RpZmljYXRpb25Db25zdHJ1Y3RvciA6IGNvbmZpZ1xuXHRcdH07XG5cdH1cblxuXHRpZiAoIHR5cGVvZiBjb25maWcgIT09ICdvYmplY3QnICkge1xuXHRcdGNvbmZpZyA9IHt9O1xuXHR9XG5cblxuXHRjb25maWcuYXNDbGFzcyA9IGFzQ2xhc3M7XG5cblx0cmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcihcblx0XHR0aGlzLFxuXHRcdHN1YnR5cGVzLFxuXHRcdFR5cGVOYW1lLFxuXHRcdG1ha2VDb25zdHJ1Y3RIYW5kbGVyLFxuXHRcdHByb3RvLFxuXHRcdGNvbmZpZ1xuXHQpO1xuXG59O1xuXG5cbmV4cG9ydCBjb25zdCBkZWZpbmU6IGFueSA9IGZ1bmN0aW9uICggdGhpczogYW55LCBzdWJ0eXBlczogYW55LCBUeXBlT3JUeXBlTmFtZTogc3RyaW5nIHwgYW55LCBjb25zdHJ1Y3RIYW5kbGVyT3JDb25maWc6IGFueSwgcHJvdG86IG9iamVjdCwgY29uZmlnOiBvYmplY3QgKSB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdmdW5jdGlvbicgKSB7XG5cdFx0aWYgKCBUeXBlT3JUeXBlTmFtZS5uYW1lICkge1xuXHRcdFx0cmV0dXJuIGRlZmluZS5jYWxsKCB0aGlzLCBzdWJ0eXBlcywgVHlwZU9yVHlwZU5hbWUubmFtZSwgVHlwZU9yVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZyB8fCBUeXBlT3JUeXBlTmFtZS5wcm90b3R5cGUsIGNvbmZpZyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gZGVmaW5lVXNpbmdUeXBlLmNhbGwoIHRoaXMsIHN1YnR5cGVzLCBUeXBlT3JUeXBlTmFtZSwgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnICk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKCB0eXBlb2YgVHlwZU9yVHlwZU5hbWUgPT09ICdzdHJpbmcnICkge1xuXG5cdFx0Y2hlY2tUeXBlTmFtZSggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IHNwbGl0ID0gZ2V0VHlwZVNwbGl0UGF0aCggVHlwZU9yVHlwZU5hbWUgKTtcblxuXHRcdGNvbnN0IFR5cGUgPSBsb29rdXAuY2FsbCggc3VidHlwZXMsIHNwbGl0WyAwIF0gKTtcblxuXHRcdGlmICggIVR5cGUgKSB7XG5cblx0XHRcdGlmICggc3BsaXQubGVuZ3RoID09PSAxICkge1xuXHRcdFx0XHRyZXR1cm4gZGVmaW5lVXNpbmdGdW5jdGlvbi5jYWxsKCB0aGlzLCBzdWJ0eXBlcywgVHlwZU9yVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZywgcHJvdG8sIGNvbmZpZyApO1xuXHRcdFx0fVxuXG5cdFx0XHR0aHJvdyBuZXcgV1JPTkdfVFlQRV9ERUZJTklUSU9OKCBgJHtzcGxpdFsgMCBdfSBkZWZpbml0aW9uIGlzIG5vdCB5ZXQgZXhpc3RzYCApO1xuXHRcdH1cblxuXHRcdGNvbnN0IFR5cGVOYW1lID0gc3BsaXQuc2xpY2UoIDEgKS5qb2luKCAnLicgKTtcblxuXHRcdGlmICggc3BsaXQubGVuZ3RoID4gMSApIHtcblx0XHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgVHlwZS5zdWJ0eXBlcywgVHlwZU5hbWUsIGNvbnN0cnVjdEhhbmRsZXJPckNvbmZpZywgcHJvdG8sIGNvbmZpZyApO1xuXHRcdH1cblxuXHRcdC8vIHNvLCBoZXJlIHdlIGdvIHdpdGhcblx0XHQvLyBkZWZpbmVVc2luZ1R5cGUuY2FsbFxuXHRcdC8vIGZyb20gdGhlIG5leHQgc3RlcFxuXHRcdHJldHVybiBkZWZpbmUuY2FsbCggdGhpcywgVHlwZS5zdWJ0eXBlcywgY29uc3RydWN0SGFuZGxlck9yQ29uZmlnLCBwcm90bywgY29uZmlnICk7XG5cblx0fVxuXG5cdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdkZWZpbml0aW9uIGlzIG5vdCBwcm92aWRlZCcgKTtcblxufTtcblxuZXhwb3J0IGNvbnN0IGxvb2t1cDogYW55ID0gZnVuY3Rpb24gKCB0aGlzOiBhbnksIFR5cGVOZXN0ZWRQYXRoOiBzdHJpbmcgKSB7XG5cblx0aWYgKCB0eXBlb2YgVHlwZU5lc3RlZFBhdGggIT09ICdzdHJpbmcnICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdhcmcgOiB0eXBlIG5lc3RlZCBwYXRoIG11c3QgYmUgYSBzdHJpbmcnICk7XG5cdH1cblxuXHRpZiAoICFUeXBlTmVzdGVkUGF0aC5sZW5ndGggKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ2FyZyA6IHR5cGUgbmVzdGVkIHBhdGggaGFzIG5vIHBhdGgnICk7XG5cdH1cblxuXHRjb25zdCBzcGxpdCA9IGdldFR5cGVTcGxpdFBhdGgoIFR5cGVOZXN0ZWRQYXRoICk7XG5cblx0Y29uc3QgWyBuYW1lIF0gPSBzcGxpdDtcblx0Y29uc3QgdHlwZSA9IHRoaXMuZ2V0KCBuYW1lICk7XG5cdGlmICggc3BsaXQubGVuZ3RoID09PSAxICkge1xuXHRcdHJldHVybiB0eXBlO1xuXHR9XG5cblx0Y29uc3QgTmV4dE5lc3RlZFBhdGggPSBzcGxpdC5zbGljZSggMSApLmpvaW4oICcuJyApO1xuXHRyZXR1cm4gbG9va3VwLmNhbGwoIHR5cGUuc3VidHlwZXMsIE5leHROZXN0ZWRQYXRoICk7XG5cbn07XG5cblxuXG4iXX0=
|
|
@@ -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 (
|
|
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
|
-
|
|
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=
|
|
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
|
};
|
package/build/api/utils/index.js
CHANGED
|
@@ -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 Props_1 = require("../types/Props");
|
|
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
|
-
|
|
50
|
+
const props = (0, Props_1._getProps)(proto);
|
|
51
|
+
if (!props.__stack__) {
|
|
50
52
|
break;
|
|
51
53
|
}
|
|
52
|
-
const pstack =
|
|
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
|
-
|
|
63
|
-
|
|
64
|
+
const protoProps = (0, Props_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
|
-
|
|
92
|
-
|
|
94
|
+
const props = (0, Props_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(
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7QUFFYiwrQ0FBNEM7QUFDNUMscURBQXVEO0FBQ3ZELHVDQUFvQztBQUVwQyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixNQUFNLEVBQ04sR0FBRyxxQkFBUyxDQUFDO0FBRWQsTUFBTSxFQUNMLHFCQUFxQixHQUNyQixHQUFHLG9CQUFXLENBQUM7QUFFaEIsTUFBTSxFQUNMLG1CQUFtQixFQUNuQixHQUFHLGFBQUssQ0FBQztBQUVWLDBDQUFrRDtBQUdsRCxNQUFNLGVBQWUsR0FBRyxVQUEwQixrQkFBMkI7SUFTNUUsSUFBSyxrQkFBa0IsWUFBWSxNQUFNLEVBQUcsQ0FBQztRQUM1QyxPQUFPLGtCQUFrQixDQUFDO0lBQzNCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNiLENBQUMsQ0FBQztBQUVGLGtHQUEyRjtBQUUzRixNQUFNLFVBQVUsR0FBRyxDQUFFLEtBQWMsRUFBRyxFQUFFO0lBQ3ZDLElBQUssQ0FBQyxDQUFFLEtBQUssWUFBWSxNQUFNLENBQUUsRUFBRyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBRSxrQ0FBa0MsQ0FBRSxDQUFDO0lBQ3ZFLENBQUM7QUFDRixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFFLFFBQWdCLEVBQUcsRUFBRTtJQUM3QyxNQUFNLE1BQU0sR0FBWSxDQUFFLFFBQWdCLEVBQUcsRUFBRTtRQUU5QyxJQUFLLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRyxDQUFDO1lBQ3BDLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztRQUdELElBQUssQ0FBQyxRQUFTLENBQUMsV0FBVyxFQUFHLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFD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ckIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtDQUN4QixDQUFDO0FBRUYsa0JBQWUsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0TU5FTU9TWU5FLFxuXHRHQUlBLFxuXHRVUkFOVVNcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHtcblx0V1JPTkdfVFlQRV9ERUZJTklUSU9OLFxufSA9IEVycm9yc1R5cGVzO1xuXG5jb25zdCB7XG5cdGNvbGxlY3RDb25zdHJ1Y3RvcnNcbn0gPSB1dGlscztcblxuaW1wb3J0IHsgX2dldFByb3BzLCBQcm9wcyB9IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcblxuXG5jb25zdCBDcmVhdGlvbkhhbmRsZXIgPSBmdW5jdGlvbiAoIHRoaXM6IHVua25vd24sIGNvbnN0cnVjdGlvbkFuc3dlcjogdW5rbm93biApIHtcblx0Ly8gc3RhbmRhcmQgc2F5cyA6XG5cdC8vIGlmIGNvbnN0cnVjdG9yIHJldHVybnMgc29tZXRoaW5nXG5cdC8vIHRoZW4gdGhpcyBpcyBhIHRveVxuXHQvLyB3ZSBoYXZlIHRvIHBsYXkgd2l0aFxuXHQvLyByZXNwZWN0aXZlbHlcblx0Ly8gc28gd2Ugd2lsbCBub3QgZm9sbG93IHRoZSBydWxlXG5cdC8vIGlmIChjb25zdHJ1Y3Rpb25BbnN3ZXIgaW5zdGFuY2VvZiB0eXBlc1tUeXBlTmFtZV0pIHtcblx0Ly8gYW5kIGluc3RlYWQgZm9sbG93IHRoZSBsaW5lIGJlbG93XG5cdGlmICggY29uc3RydWN0aW9uQW5zd2VyIGluc3RhbmNlb2YgT2JqZWN0ICkge1xuXHRcdHJldHVybiBjb25zdHJ1Y3Rpb25BbnN3ZXI7XG5cdH1cblx0cmV0dXJuIHRoaXM7XG59O1xuXG5pbXBvcnQgY29tcGlsZU5ld01vZGlmaWNhdG9yRnVuY3Rpb25Cb2R5IGZyb20gJy4uL3R5cGVzL2NvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSc7XG5cbmNvbnN0IGNoZWNrUHJvdG8gPSAoIHByb3RvOiB1bmtub3duICkgPT4ge1xuXHRpZiAoICEoIHByb3RvIGluc3RhbmNlb2YgT2JqZWN0ICkgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ2V4cGVjdCBwcm90b3R5cGUgdG8gYmUgYW4gb2JqZWN0JyApO1xuXHR9XG59O1xuXG5jb25zdCBnZXRUeXBlQ2hlY2tlciA9ICggVHlwZU5hbWU6IHN0cmluZyApID0+IHtcblx0Y29uc3Qgc2Vla2VyOiB1bmtub3duID0gKCBpbnN0YW5jZTogb2JqZWN0ICkgPT4ge1xuXG5cdFx0aWYgKCB0eXBlb2YgaW5zdGFuY2UgIT09ICdvYmplY3QnICkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5cdFx0aWYgKCAhaW5zdGFuY2UhLmNvbnN0cnVjdG9yICkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGlmICggUmVmbGVjdC5nZXRQcm90b3R5cGVPZiggaW5zdGFuY2UgKS5jb25zdHJ1Y3Rvci5uYW1lID09PSAnUHJvbWlzZScgKSB7XG5cdFx0XHQvLyBpZiAoIGluc3RhbmNlIGluc3RhbmNlb2YgUHJvbWlzZSApIHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdHJldHVybiBpbnN0YW5jZVsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gPT09IFR5cGVOYW1lO1xuXHRcdH1cblxuXHRcdGNvbnN0IGNvbnN0cnVjdG9yczoge1xuXHRcdFx0c3RyaW5nOiBuZXcgKCkgPT4gdW5rbm93blxuXHRcdH0gPSBjb2xsZWN0Q29uc3RydWN0b3JzKCBpbnN0YW5jZSApO1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIGNvbnN0cnVjdG9yc1sgVHlwZU5hbWUgXSB8fCBmYWxzZTtcblxuXHR9O1xuXHRyZXR1cm4gc2Vla2VyO1xufTtcblxuY29uc3QgZ2V0VHlwZVNwbGl0UGF0aCA9ICggcGF0aDogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBzcGxpdCA9IHBhdGhcblx0XHQvLyBiZWF1dGlmdWxsIG5hbWVzXG5cdFx0LnJlcGxhY2UoIC9cXG58XFx0fCAvZywgJycgKVxuXHRcdC5yZXBsYWNlKCAvXFxbKFxcdyspXFxdL2csICcuJDEnIClcblx0XHQucmVwbGFjZSggL15cXC4vLCAnJyApXG5cdFx0LnNwbGl0KCAvXFwufFxcL3w6LyApO1xuXHRyZXR1cm4gc3BsaXQ7XG59O1xuXG5leHBvcnQgdHlwZSBhc3luY1N0YWNrID0ge1xuXHRfX3N0YWNrX18/OiBzdHJpbmdcblx0X190eXBlX186IHtcblx0XHRpc1N1YlR5cGU6IGJvb2xlYW5cblx0fVxuXHRwYXJlbnQ6ICgpID0+IGFzeW5jU3RhY2tcbn1cblxuY29uc3QgZ2V0RXhpc3RlbnRBc3luY1N0YWNrID0gKCBleGlzdGVudEluc3RhbmNlOiBhc3luY1N0YWNrICk6IHVua25vd24gPT4ge1xuXG5cdGNvbnN0IHN0YWNrID0gW107XG5cdGxldCBwcm90byA9IGV4aXN0ZW50SW5zdGFuY2U7XG5cblx0d2hpbGUgKCBwcm90byApIHtcblxuXHRcdGNvbnN0IHByb3BzID0gX2dldFByb3BzKHByb3RvKSBhcyBQcm9wcztcblxuXHRcdGlmICggIXByb3BzLl9fc3RhY2tfXyApIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblxuXHRcdGNvbnN0IHBzdGFjayA9IHByb3BzXG5cdFx0XHQuX19zdGFja19fXG5cdFx0XHQuc3BsaXQoICdcXG4nIClcblx0XHRcdC5yZWR1Y2UoICggYXJyOiBzdHJpbmdbXSwgbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdFx0XHRpZiAoIGxpbmUubGVuZ3RoICkge1xuXHRcdFx0XHRcdGFyci5wdXNoKCBsaW5lICk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGFycjtcblx0XHRcdH0sIFtdICk7XG5cblx0XHRwcm90byA9IHByb3RvLnBhcmVudCgpO1xuXG5cdFx0Y29uc3QgcHJvdG9Qcm9wcyA9IF9nZXRQcm9wcyhwcm90bykgYXMgUHJvcHM7XG5cblx0XHRpZiAoIHByb3RvICYmIHByb3RvUHJvcHMgJiYgcHJvdG9Qcm9wcy5fX3R5cGVfXyApIHtcblxuXHRcdFx0aWYgKCBwcm90b1Byb3BzLl9fdHlwZV9fLmlzU3ViVHlwZSApIHtcblx0XHRcdFx0c3RhY2sucHVzaCggLi4ucHN0YWNrLnNsaWNlKCAwLCAxICkgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHN0YWNrLnB1c2goIC4uLnBzdGFjayApO1xuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIHtcblx0XHRcdHN0YWNrLnB1c2goIC4uLnBzdGFjayApO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0YWNrO1xuXG59O1xuXG5jb25zdCBmb3JiaWRkZW5OYW1lcyA9IFsgTU5FTU9OSUNBLCBNTkVNT1NZTkUsIEdBSUEsIFVSQU5VUyBdO1xuXG5jb25zdCBjaGVja1R5cGVOYW1lID0gKCBuYW1lOiBzdHJpbmcgKSA9PiB7XG5cblx0aWYgKCAhbmFtZS5sZW5ndGggKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX1RZUEVfREVGSU5JVElPTiggJ1R5cGVOYW1lIG11c3Qgbm90IGJlIGVtcHR5JyApO1xuXHR9XG5cblx0aWYgKCBuYW1lWyAwIF0gIT09IG5hbWVbIDAgXS50b1VwcGVyQ2FzZSgpICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdUeXBlTmFtZSBzaG91bGQgc3RhcnQgd2l0aCBVcHBlcmNhc2UgTGV0dGVyJyApO1xuXHR9XG5cblx0aWYgKCBmb3JiaWRkZW5OYW1lcy5pbmNsdWRlcyggbmFtZSApICkge1xuXHRcdHRocm93IG5ldyBXUk9OR19UWVBFX0RFRklOSVRJT04oICdUeXBlTmFtZSBvZiByZXNlcnZlZCBrZXl3b3JkJyApO1xuXHR9XG5cbn07XG5cbnR5cGUgcGFyZW50U3ViID0ge1xuXHRfX3R5cGVfXzoge1xuXHRcdHN1YnR5cGVzOiBNYXA8c3RyaW5nLCBwYXJlbnRTdWI+XG5cdH1cblx0X19wYXJlbnRfXzogcGFyZW50U3ViXG59XG5cbmNvbnN0IGZpbmRTdWJUeXBlRnJvbVBhcmVudCA9ICggaW5zdGFuY2U6IHBhcmVudFN1Yiwgc3ViVHlwZTogc3RyaW5nICk6IHBhcmVudFN1YiB8IHVuZGVmaW5lZCA9PiB7XG5cdGxldCBzdWJ0eXBlID0gbnVsbDtcblxuXHQvLyBpZiAoIWluc3RhbmNlLl9fc3VidHlwZXNfXykge1xuXG5cdC8vIGlmICggIWluc3RhbmNlLl9fdHlwZV9fICkge1xuXG5cdC8vIFx0Ly8gbW9jaGEgKyBjaGFpIG1ha2VzIC5pbnNwZWN0IDQgU2hhcGVyIGNsYXNzXG5cdC8vIFx0Ly8gb3IgLnNob3dEaWZmIGlmIHNvbWV0aGluZyB3cm9uZyB3aXRoIGNvbnN0cnVjdG9yXG5cdC8vIFx0Ly8gZGVidWdnZXI7XG5cdC8vIFx0cmV0dXJuIG51bGw7XG5cdC8vIH1cblxuXHRjb25zdCBwcm9wcyA9IF9nZXRQcm9wcyhpbnN0YW5jZSkgYXMgUHJvcHM7XG5cblx0aWYgKCBwcm9wcy5fX3R5cGVfXy5zdWJ0eXBlcy5oYXMoIHN1YlR5cGUgKSApIHtcblx0XHRzdWJ0eXBlID0gcHJvcHMuX190eXBlX18uc3VidHlwZXMuZ2V0KCBzdWJUeXBlICk7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gc3VidHlwZTtcblx0fVxuXHRyZXR1cm4gZmluZFN1YlR5cGVGcm9tUGFyZW50KCBwcm9wcy5fX3BhcmVudF9fLCBzdWJUeXBlICk7XG59O1xuXG4vLyBjb25zdCBpc0NsYXNzID0gKCBmdW5jdGlvblBvaW50ZXI6IENhbGxhYmxlRnVuY3Rpb24gKSA9PiB7XG4vLyBcdGNvbnN0IHZhbHVlID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoIGZ1bmN0aW9uUG9pbnRlciApO1xuLy8gXHRyZXR1cm4gL15cXHMqY2xhc3NcXHMrLy50ZXN0KCB2YWx1ZS50cmltKCkgKTtcbi8vIH07XG5cbi8vIGFjY29yZGluZ2x5IHRvIHRoZSBnaXN0IGZyb20gaGVyZTpcbi8vIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL3dlbnRvdXQvZWEzYWZlOWM4MjJhNmI2ZWYzMmY5ZTRmM2U5OGIxYmFcbmNvbnN0IGlzQ2xhc3MgPSAoIGZuOiBDYWxsYWJsZUZ1bmN0aW9uICkgPT4ge1xuXHQvLyBub3QgbmVjZXNzYXJ5IHRvIGNoZWNrIGZuIGZvciB0eXBlb2Zcblx0Ly8gYmVjYXVzZSBvZiBvdGhlciBjaGVja3MgbWFkZSBiZWZvcmVcblx0Ly8gaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJykge1xuXHQvLyBcdHJldHVybiBmYWxzZTtcblx0Ly8gfVxuXHRpZiAoIHR5cGVvZiBmbi5wcm90b3R5cGUgIT09ICdvYmplY3QnICkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXHRpZiAoIGZuLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gZm4gKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG5cdHJldHVybiBSZWZsZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciggZm4sICdwcm90b3R5cGUnICkhLndyaXRhYmxlID09PSBmYWxzZTtcbn07XG5cbmNvbnN0IG1ha2VGYWtlTW9kaWZpY2F0b3JUeXBlID0gKFxuXHRUeXBlTmFtZTogc3RyaW5nLFxuXHRmYWtlTW9kaWZpY2F0b3IgPSBmdW5jdGlvbiAoKSB7IH1cbikgPT4ge1xuXG5cdGNvbnN0IG1vZGlmaWNhdG9yQm9keSA9IGNvbXBpbGVOZXdNb2RpZmljYXRvckZ1bmN0aW9uQm9keSggVHlwZU5hbWUgKTtcblxuXHRjb25zdCBtb2RpZmljYXRvclR5cGUgPSBtb2RpZmljYXRvckJvZHkoXG5cdFx0ZmFrZU1vZGlmaWNhdG9yLFxuXHRcdENyZWF0aW9uSGFuZGxlcixcblx0XHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWVcblx0KTtcblxuXHRyZXR1cm4gbW9kaWZpY2F0b3JUeXBlKCk7XG5cbn07XG5cbmNvbnN0IHJlZmxlY3RQcmltaXRpdmVXcmFwcGVycyA9ICggX3RoaXNBcmc6IHVua25vd24gKSA9PiB7XG5cdGxldCB0aGlzQXJnID0gX3RoaXNBcmc7XG5cblx0aWYgKCBfdGhpc0FyZyA9PT0gbnVsbCApIHtcblx0XHR0aGlzQXJnID0gT2JqZWN0LmNyZWF0ZSggbnVsbCApO1xuXHRcdG9kcCggdGhpc0FyZywgU3ltYm9sLnRvUHJpbWl0aXZlLCB7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBfdGhpc0FyZztcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdH1cblxuXHRpZiAoXG5cdFx0X3RoaXNBcmcgaW5zdGFuY2VvZiBOdW1iZXIgfHxcblx0XHRfdGhpc0FyZyBpbnN0YW5jZW9mIEJvb2xlYW4gfHxcblx0XHRfdGhpc0FyZyBpbnN0YW5jZW9mIFN0cmluZ1xuXHQpIHtcblx0XHRvZHAoIHRoaXNBcmcsIFN5bWJvbC50b1ByaW1pdGl2ZSwge1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gX3RoaXNBcmcudmFsdWVPZigpO1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB0aGlzQXJnO1xufTtcblxuY29uc3QgVHlwZXNVdGlscyA9IHtcblx0aXNDbGFzcyxcblx0Q3JlYXRpb25IYW5kbGVyLFxuXHRjaGVja1Byb3RvLFxuXHRnZXRUeXBlQ2hlY2tlcixcblx0Z2V0VHlwZVNwbGl0UGF0aCxcblx0Z2V0RXhpc3RlbnRBc3luY1N0YWNrLFxuXHRjaGVja1R5cGVOYW1lLFxuXHRmaW5kU3ViVHlwZUZyb21QYXJlbnQsXG5cdG1ha2VGYWtlTW9kaWZpY2F0b3JUeXBlLFxuXHRyZWZsZWN0UHJpbWl0aXZlV3JhcHBlcnNcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFR5cGVzVXRpbHM7XG4iXX0=
|
|
@@ -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;
|