typeomatica 0.3.3 → 0.3.5
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/lib/errors.js +1 -0
- package/lib/fields.js +1 -0
- package/lib/index.d.ts +15 -7
- package/lib/index.js +131 -18
- package/lib/types/functions.js +1 -0
- package/lib/types/index.js +1 -0
- package/lib/types/nullish.js +1 -0
- package/lib/types/objects.js +1 -0
- package/lib/types/primitives.js +1 -0
- package/lib/types/special.js +1 -0
- package/package.json +40 -18
- package/.editorconfig +0 -11
- package/.eslintignore +0 -0
- package/.eslintrc.js +0 -72
- package/.gitattributes +0 -22
- package/.github/workflows/node.js.yml +0 -62
- package/.husky/pre-commit +0 -4
- package/jest.config.js +0 -8
- package/src/errors.ts +0 -9
- package/src/fields.ts +0 -76
- package/src/index.ts +0 -208
- package/src/types/functions.ts +0 -7
- package/src/types/index.ts +0 -17
- package/src/types/nullish.ts +0 -15
- package/src/types/objects.ts +0 -19
- package/src/types/primitives.ts +0 -69
- package/src/types/special.ts +0 -19
- package/test/__snapshots__/index.ts.snap +0 -3
- package/test/addition.js +0 -44
- package/test/index.ts +0 -683
- package/tsconfig.jest.json +0 -38
- package/tsconfig.json +0 -34
package/lib/errors.js
CHANGED
|
@@ -8,3 +8,4 @@ exports.ErrorsNames = {
|
|
|
8
8
|
RIP_FUNCTIONS: 'Functions are Restricted',
|
|
9
9
|
FORBIDDEN_RE: 'Re-Assirnment is Forbidden'
|
|
10
10
|
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUVBLFFBQUEsV0FBVyxHQUFHO0lBQzFCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsWUFBWSxFQUFFLHFDQUFxQztJQUNuRCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSw0QkFBNEI7Q0FDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZXhwb3J0IGNvbnN0IEVycm9yc05hbWVzID0ge1xuXHRUWVBFX01JU01BVENIOiAnVHlwZSBNaXNtYXRjaCcsXG5cdEFDQ0VTU19ERU5JRUQ6ICdWYWx1ZSBBY2Nlc3MgRGVuaWVkJyxcblx0TUlTU0lOR19QUk9QOiAnQXR0ZW1wdCB0byBBY2Nlc3MgdG8gVW5kZWZpbmVkIFByb3AnLFxuXHRSSVBfRlVOQ1RJT05TOiAnRnVuY3Rpb25zIGFyZSBSZXN0cmljdGVkJyxcblx0Rk9SQklEREVOX1JFOiAnUmUtQXNzaXJubWVudCBpcyBGb3JiaWRkZW4nXG59OyJdfQ==
|
package/lib/fields.js
CHANGED
|
@@ -25,3 +25,4 @@ class FieldConstructor {
|
|
|
25
25
|
exports.FieldConstructor = FieldConstructor;
|
|
26
26
|
Object.freeze(FieldConstructor.prototype);
|
|
27
27
|
Object.seal(FieldConstructor.prototype);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLHFDQUF1QztBQUV2QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWVuRCxNQUFhLGdCQUFnQjtJQUU1QixJQUFXLEdBQUc7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTztZQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQVcsR0FBRztRQUNiLE9BQU87WUFDTixNQUFNLElBQUksU0FBUyxDQUFDLG9CQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQWEsS0FBYztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELE1BQU0sS0FBSyxrQkFBa0I7UUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztJQUMzQixDQUFDO0NBQ0Q7QUFuQkQsNENBbUJDO0FBb0NELE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgRXJyb3JzTmFtZXMgfSBmcm9tICcuL2Vycm9ycyc7XG5cbmNvbnN0IFN5bWJvbEluaXRpYWxWYWx1ZSA9IFN5bWJvbCgnSW5pdGlhbCBWYWx1ZScpO1xuXG5pbnRlcmZhY2UgRmllbGREZWZpbml0aW9uICB7XG5cdFtTeW1ib2xJbml0aWFsVmFsdWVdOiB1bmtub3duXG5cdC8vIGdldD86IHVua25vd25cblx0Ly8gc2V0PzogdW5rbm93blxuXHQvLyBjb25maWd1cmFibGU6IGJvb2xlYW4sXG5cdC8vIGVudW1lcmFibGU6IGJvb2xlYW4sXG5cdC8vIHdyaXRhYmxlOiBib29sZWFuXG59XG5cbi8vIGV4cG9ydCBjb25zdCBGaWVsZENvbnN0cnVjdG9yID0gZnVuY3Rpb24gKHRoaXM6IEZpZWxkRGVmaW5pdGlvbiwgdmFsdWU6IHVua25vd24pIHtcbi8vIFx0dGhpc1tTeW1ib2xJbml0aWFsVmFsdWVdID0gdmFsdWU7XG4vLyB9IGFzIE9iamVjdENvbnN0cnVjdG9yO1xuXG5leHBvcnQgY2xhc3MgRmllbGRDb25zdHJ1Y3RvciBpbXBsZW1lbnRzIEZpZWxkRGVmaW5pdGlvbiB7XG5cdFtTeW1ib2xJbml0aWFsVmFsdWVdOiB1bmtub3duO1xuXHRwdWJsaWMgZ2V0IGdldCAoKSB7XG5cdFx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cdFx0cmV0dXJuIGZ1bmN0aW9uICgvKiB0aGlzOiBGaWVsZERlZmluaXRpb24gKi8pIHtcblx0XHRcdHJldHVybiBzZWxmW1N5bWJvbEluaXRpYWxWYWx1ZV07XG5cdFx0fTtcblx0fVxuXHRwdWJsaWMgZ2V0IHNldCAoKSB7XG5cdFx0cmV0dXJuIGZ1bmN0aW9uICgpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoRXJyb3JzTmFtZXMuRk9SQklEREVOX1JFKTtcblx0XHR9O1xuXHR9XG5cdGNvbnN0cnVjdG9yICh2YWx1ZTogdW5rbm93bikge1xuXHRcdHRoaXNbU3ltYm9sSW5pdGlhbFZhbHVlXSA9IHZhbHVlO1xuXHR9XG5cdHN0YXRpYyBnZXQgU3ltYm9sSW5pdGlhbFZhbHVlICgpIHtcblx0XHRyZXR1cm4gU3ltYm9sSW5pdGlhbFZhbHVlO1xuXHR9XG59XG5cbi8vIE9iamVjdC5hc3NpZ24oRmllbGRDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHtcbi8vIFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbi8vIFx0ZW51bWVyYWJsZTogZmFsc2UsXG4vLyBcdC8vIHdyaXRhYmxlOiBmYWxzZVxuLy8gfSlcblxuLy8gT2JqZWN0LmRlZmluZVByb3BlcnR5KEZpZWxkQ29uc3RydWN0b3IucHJvdG90eXBlLCAnZ2V0Jywge1xuLy8gXHRnZXQoKSB7XG4vLyBcdFx0cmV0dXJuIHRoaXNbc3ltYm9sVmFsdWVdO1xuLy8gXHR9LFxuLy8gXHQvLyBAdHMtaWdub3JlXG4vLyBcdHNldCh2YWx1ZTogdW5rbm93bikge1xuLy8gXHRcdHRocm93IG5ldyBFcnJvcignYnJva2VuIGJlaGF2aW91cjogYXNzaWdubWVudCB0byBnZXR0ZXInKTtcbi8vIFx0fSxcbi8vIFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbi8vIFx0ZW51bWVyYWJsZTogdHJ1ZSxcbi8vIFx0Ly8gd3JpdGFibGU6IGZhbHNlXG4vLyB9KTtcblxuLy8gT2JqZWN0LmRlZmluZVByb3BlcnR5KEZpZWxkQ29uc3RydWN0b3IucHJvdG90eXBlLCAnc2V0Jywge1xuLy8gXHRnZXQoKSB7XG4vLyBcdFx0cmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBGaWVsZERlZmluaXRpb24sIHZhbHVlOiB1bmtub3duKSB7XG4vLyBcdFx0XHR0aGlzW3N5bWJvbFZhbHVlXSA9IHZhbHVlO1xuLy8gXHRcdH1cbi8vIFx0fSxcbi8vIFx0Ly8gQHRzLWlnbm9yZVxuLy8gXHRzZXQodmFsdWU6IHVua25vd24pIHtcbi8vIFx0XHR0aHJvdyBuZXcgRXJyb3IoJ2Jyb2tlbiBiZWhhdmlvdXI6IGFzc2lnbm1lbnQgdG8gc2V0dGVyJyk7XG4vLyBcdH0sXG4vLyBcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4vLyBcdGVudW1lcmFibGU6IHRydWUsXG4vLyBcdC8vIHdyaXRhYmxlOiBmYWxzZVxuLy8gfSk7XG5cbk9iamVjdC5mcmVlemUoRmllbGRDb25zdHJ1Y3Rvci5wcm90b3R5cGUpO1xuT2JqZWN0LnNlYWwoRmllbGRDb25zdHJ1Y3Rvci5wcm90b3R5cGUpO1xuIl19
|
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
4
|
-
new ():
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export declare const baseTarget: (proto?: object | null) => any;
|
|
2
|
+
export declare const SymbolTypeomaticaProxyReference: unique symbol;
|
|
3
|
+
export declare const BaseConstructorPrototype: {
|
|
4
|
+
new (): unknown;
|
|
5
|
+
(): void;
|
|
6
|
+
};
|
|
7
|
+
export declare class BaseClass<T extends object, S extends T> {
|
|
8
|
+
constructor(_target: S extends T ? S : never);
|
|
7
9
|
}
|
|
8
|
-
|
|
10
|
+
interface ITypeDefinition<T> {
|
|
11
|
+
new (): T;
|
|
12
|
+
(): void;
|
|
13
|
+
}
|
|
14
|
+
export declare const SymbolInitialValue: symbol;
|
|
15
|
+
export declare const Strict: <P extends object>(_target?: P | null) => <T extends ITypeDefinition<T>, M extends P & InstanceType<T>, IR extends { [key in keyof M]: M[key]; }>(cstr: T) => IR;
|
|
16
|
+
export {};
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Strict = exports.SymbolInitialValue = exports.BaseClass = exports.BaseConstructorPrototype = exports.SymbolTypeomaticaProxyReference = exports.baseTarget = void 0;
|
|
4
4
|
const errors_1 = require("./errors");
|
|
5
5
|
const types_1 = require("./types");
|
|
6
6
|
const fields_1 = require("./fields");
|
|
@@ -40,17 +40,23 @@ const createProperty = (propName, initialValue, receiver) => {
|
|
|
40
40
|
const isObject = typeof initialValue === 'object';
|
|
41
41
|
const isFunction = initialValue instanceof Function;
|
|
42
42
|
const isNull = initialValue === null;
|
|
43
|
-
const
|
|
43
|
+
const types = valueIsPrimitive ? 'primitives' : (isObject ? (isNull ? 'nullish' : 'objects') : (isFunction ? 'functions' : 'special'));
|
|
44
44
|
const descriptor = (isObject && (value instanceof fields_1.FieldConstructor)) ?
|
|
45
45
|
value
|
|
46
|
-
: Object.assign({ enumerable: true }, resolver[
|
|
46
|
+
: Object.assign({ enumerable: true }, resolver[types](value, receiver));
|
|
47
47
|
const result = Reflect.defineProperty(receiver, propName, descriptor);
|
|
48
48
|
return result;
|
|
49
49
|
};
|
|
50
|
-
const props2skip = new Set([
|
|
50
|
+
const props2skip = new Set([
|
|
51
|
+
Symbol.toStringTag,
|
|
52
|
+
Symbol.iterator,
|
|
53
|
+
'toString',
|
|
54
|
+
'valueOf',
|
|
55
|
+
'href'
|
|
56
|
+
]);
|
|
51
57
|
const util = require('util');
|
|
52
58
|
const hasNodeInspect = (util && util.inspect && util.inspect.custom);
|
|
53
|
-
hasNodeInspect && (props2skip.add(util.inspect.custom));
|
|
59
|
+
(hasNodeInspect && (props2skip.add(util.inspect.custom)));
|
|
54
60
|
const handlers = {
|
|
55
61
|
get(target, prop, receiver) {
|
|
56
62
|
const result = Reflect.get(target, prop, receiver);
|
|
@@ -66,47 +72,127 @@ const handlers = {
|
|
|
66
72
|
}, {}));
|
|
67
73
|
};
|
|
68
74
|
}
|
|
75
|
+
const { name } = receiver.constructor;
|
|
69
76
|
if (props2skip.has(prop)) {
|
|
70
|
-
|
|
77
|
+
const message = `${name} lacks definition of [ ${String(prop).valueOf()} ]`;
|
|
78
|
+
return message;
|
|
71
79
|
}
|
|
72
|
-
|
|
80
|
+
const errorMessage = `${errors_1.ErrorsNames.MISSING_PROP}: [ ${String(prop).valueOf()} ] for ${name}`;
|
|
81
|
+
throw new Error(errorMessage);
|
|
73
82
|
},
|
|
74
83
|
set(_, prop, value, receiver) {
|
|
75
84
|
const result = createProperty(prop, value, receiver);
|
|
76
85
|
return result;
|
|
77
86
|
},
|
|
87
|
+
setPrototypeOf() {
|
|
88
|
+
throw new Error('Setting prototype is not allowed!');
|
|
89
|
+
},
|
|
90
|
+
defineProperty() {
|
|
91
|
+
throw new Error('Defining new Properties is not allowed!');
|
|
92
|
+
},
|
|
93
|
+
deleteProperty() {
|
|
94
|
+
throw new Error('Properties Deletion is not allowed!');
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
Object.freeze(handlers);
|
|
98
|
+
const baseTarget = (proto = null) => {
|
|
99
|
+
const answer = Object.create(proto);
|
|
100
|
+
return answer;
|
|
78
101
|
};
|
|
79
|
-
|
|
80
|
-
|
|
102
|
+
exports.baseTarget = baseTarget;
|
|
103
|
+
exports.SymbolTypeomaticaProxyReference = Symbol('TypeØmaticaProxyReference');
|
|
104
|
+
const getTypeomaticaProxyReference = (_target) => {
|
|
105
|
+
const target = Object.create(_target);
|
|
106
|
+
const id = `TypeØmaticaProxyReference-${Math.random()}`;
|
|
107
|
+
Object.defineProperty(target, exports.SymbolTypeomaticaProxyReference, {
|
|
108
|
+
get() {
|
|
109
|
+
return id;
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
const proxy = new Proxy(target, handlers);
|
|
113
|
+
return proxy;
|
|
114
|
+
};
|
|
115
|
+
exports.BaseConstructorPrototype = function (_target = null) {
|
|
81
116
|
if (!new.target) {
|
|
82
|
-
const self = exports.BaseConstructorPrototype.bind(this,
|
|
117
|
+
const self = exports.BaseConstructorPrototype.bind(this, _target);
|
|
83
118
|
self.prototype = {
|
|
84
119
|
constructor: exports.BaseConstructorPrototype
|
|
85
120
|
};
|
|
86
121
|
return self;
|
|
87
122
|
}
|
|
88
|
-
|
|
123
|
+
if (this[exports.SymbolTypeomaticaProxyReference]) {
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
const target = (0, exports.baseTarget)(_target);
|
|
127
|
+
const InstancePrototype = getTypeomaticaProxyReference(target);
|
|
128
|
+
let proto;
|
|
89
129
|
let protoPointer = this;
|
|
90
130
|
let protoConstrcutor;
|
|
131
|
+
let constructors = false;
|
|
91
132
|
do {
|
|
92
|
-
|
|
93
|
-
|
|
133
|
+
proto = protoPointer;
|
|
134
|
+
protoPointer = Object.getPrototypeOf(proto);
|
|
135
|
+
if (exports.BaseConstructorPrototype.prototype === protoPointer) {
|
|
136
|
+
constructors = true;
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
if (!protoPointer)
|
|
140
|
+
break;
|
|
141
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(protoPointer, 'constructor');
|
|
142
|
+
if (!descriptor)
|
|
143
|
+
continue;
|
|
144
|
+
const value = descriptor.value || descriptor.get;
|
|
145
|
+
protoConstrcutor = value;
|
|
94
146
|
} while (protoConstrcutor !== exports.BaseConstructorPrototype);
|
|
95
|
-
|
|
147
|
+
if (!constructors && protoConstrcutor !== exports.BaseConstructorPrototype) {
|
|
148
|
+
throw new Error('Unable to setup TypeØmatica handler!');
|
|
149
|
+
}
|
|
150
|
+
Object.setPrototypeOf(proto, InstancePrototype);
|
|
96
151
|
return this;
|
|
97
152
|
};
|
|
98
|
-
exports.BaseConstructorPrototype = BaseConstructorPrototype;
|
|
99
153
|
Object.defineProperty(module, 'exports', {
|
|
100
154
|
get() {
|
|
101
155
|
return exports.BaseConstructorPrototype;
|
|
102
156
|
},
|
|
103
157
|
enumerable: true
|
|
104
158
|
});
|
|
105
|
-
class BaseClass
|
|
159
|
+
class BaseClass {
|
|
160
|
+
constructor(_target) {
|
|
161
|
+
if (this[exports.SymbolTypeomaticaProxyReference]) {
|
|
162
|
+
return this;
|
|
163
|
+
}
|
|
164
|
+
const target = (0, exports.baseTarget)(_target);
|
|
165
|
+
const proxy = getTypeomaticaProxyReference(target);
|
|
166
|
+
let proto = this;
|
|
167
|
+
let protoPointer;
|
|
168
|
+
let found = false;
|
|
169
|
+
do {
|
|
170
|
+
protoPointer = Object.getPrototypeOf(proto);
|
|
171
|
+
if (protoPointer === Object.prototype) {
|
|
172
|
+
found = true;
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
proto = protoPointer;
|
|
176
|
+
} while (!found);
|
|
177
|
+
Object.setPrototypeOf(proto, proxy);
|
|
178
|
+
}
|
|
106
179
|
}
|
|
107
180
|
exports.BaseClass = BaseClass;
|
|
108
|
-
|
|
109
|
-
|
|
181
|
+
const strict = function (_target = null) {
|
|
182
|
+
const decorator = function (cstr) {
|
|
183
|
+
if (cstr.prototype[exports.SymbolTypeomaticaProxyReference]) {
|
|
184
|
+
return cstr;
|
|
185
|
+
}
|
|
186
|
+
const target = (0, exports.baseTarget)(_target);
|
|
187
|
+
const proxy = getTypeomaticaProxyReference(target);
|
|
188
|
+
const _replacer = Object.create(proxy);
|
|
189
|
+
Object.setPrototypeOf(cstr.prototype, _replacer);
|
|
190
|
+
return cstr;
|
|
191
|
+
};
|
|
192
|
+
return decorator;
|
|
193
|
+
};
|
|
194
|
+
exports.SymbolInitialValue = fields_1.FieldConstructor.SymbolInitialValue;
|
|
195
|
+
exports.Strict = strict;
|
|
110
196
|
Object.defineProperty(module.exports, 'BaseClass', {
|
|
111
197
|
get() {
|
|
112
198
|
return BaseClass;
|
|
@@ -119,3 +205,30 @@ Object.defineProperty(module.exports, 'FieldConstructor', {
|
|
|
119
205
|
},
|
|
120
206
|
enumerable: true
|
|
121
207
|
});
|
|
208
|
+
Object.defineProperty(module.exports, 'SymbolInitialValue', {
|
|
209
|
+
get() {
|
|
210
|
+
return exports.SymbolInitialValue;
|
|
211
|
+
},
|
|
212
|
+
enumerable: true
|
|
213
|
+
});
|
|
214
|
+
Object.defineProperty(module.exports, 'SymbolTypeomaticaProxyReference', {
|
|
215
|
+
get() {
|
|
216
|
+
return exports.SymbolTypeomaticaProxyReference;
|
|
217
|
+
},
|
|
218
|
+
enumerable: true
|
|
219
|
+
});
|
|
220
|
+
Object.defineProperty(module.exports, 'baseTarget', {
|
|
221
|
+
get() {
|
|
222
|
+
return exports.baseTarget;
|
|
223
|
+
},
|
|
224
|
+
enumerable: true
|
|
225
|
+
});
|
|
226
|
+
Object.defineProperty(module.exports, 'Strict', {
|
|
227
|
+
get() {
|
|
228
|
+
return strict;
|
|
229
|
+
},
|
|
230
|
+
enumerable: true
|
|
231
|
+
});
|
|
232
|
+
Object.freeze(exports.BaseConstructorPrototype);
|
|
233
|
+
Object.freeze(exports.BaseConstructorPrototype.prototype);
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsWUFBWSxDQUFDOzs7QUFFYixxQ0FBdUM7QUFFdkMsbUNBT2lCO0FBRWpCLHFDQUE0QztBQVE1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQy9CLFVBQVUsRUFBVixrQkFBVTtJQUNWLE9BQU8sRUFBUCxlQUFPO0lBQ1AsT0FBTyxFQUFQLGVBQU87SUFDUCxPQUFPLEVBQVAsZUFBTztJQUNQLFNBQVMsRUFBVCxpQkFBUztDQUNULENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtJQUUxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxZQUFvQixFQUFFLFFBQWdCO1FBQzFELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxPQUFPO1lBQ04sR0FBRztnQkFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUM7WUFDRCxHQUFHLENBQUMsZ0JBQXlCO2dCQUM1QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FB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QVUsRUFBRSxJQUFJO0NBQ2hCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0NBQXdCLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLGdDQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gb3hsaW50LWRpc2FibGUgdHlwZXNjcmlwdC9uby10aGlzLWFsaWFzXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1kZWJ1Z2dlciAqL1xuJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNOYW1lcyB9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtcblx0ZnVuY3Rpb25zLFxuXHRudWxsaXNoLFxuXHRvYmplY3RzLFxuXHRwcmltaXRpdmVzLFxuXHRzcGVjaWFsLFxuXHRpc1ByaW1pdGl2ZVxufSBmcm9tICcuL3R5cGVzJztcblxuaW1wb3J0IHsgRmllbGRDb25zdHJ1Y3RvciB9IGZyb20gJy4vZmllbGRzJztcblxuLy8gdHlwZSBQcm90bzxQLCBUPiA9IFBpY2s8UCwgRXhjbHVkZTxrZXlvZiBQLCBrZXlvZiBUPj4gJiBUO1xuLy8gdHlwZSBGbGF0UHJvdG88UCwgVCwgUyA9IFByb3RvPFAsIFQ+PiA9IHtcbi8vIFx0W2tleSBpbiBrZXlvZiBTXTogU1trZXldXG4vLyB9XG5cblxuY29uc3QgcmVzb2x2ZXIgPSBPYmplY3QuZW50cmllcyh7XG5cdHByaW1pdGl2ZXMsXG5cdHNwZWNpYWwsXG5cdG51bGxpc2gsXG5cdG9iamVjdHMsXG5cdGZ1bmN0aW9uc1xufSkucmVkdWNlKChvYmo6IG9iamVjdCwgW2tleSwgX2hhbmRsZXJdKSA9PiB7XG5cdC8vIEB0cy1pZ25vcmVcblx0b2JqW2tleV0gPSBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlOiBvYmplY3QsIHJlY2VpdmVyOiBvYmplY3QpIHtcblx0XHRjb25zdCBoYW5kbGVyID0gX2hhbmRsZXIoaW5pdGlhbFZhbHVlKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRjb25zdCBpbnZvY2F0aW9uVGhpcyA9IHRoaXM7XG5cdFx0XHRcdGlmIChpbnZvY2F0aW9uVGhpcyAhPT0gcmVjZWl2ZXIpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoRXJyb3JzTmFtZXMuQUNDRVNTX0RFTklFRCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gaGFuZGxlci5nZXQoKTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH0sXG5cdFx0XHRzZXQocmVwbGFjZW1lbnRWYWx1ZTogdW5rbm93bikge1xuXHRcdFx0XHRjb25zdCBpbnZvY2F0aW9uVGhpcyA9IHRoaXM7XG5cdFx0XHRcdGlmIChpbnZvY2F0aW9uVGhpcyAhPT0gcmVjZWl2ZXIpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoRXJyb3JzTmFtZXMuQUNDRVNTX0RFTklFRCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gaGFuZGxlci5zZXQocmVwbGFjZW1lbnRWYWx1ZSk7XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fTtcblx0fTtcblxuXHRyZXR1cm4gb2JqO1xufSwge30pO1xuXG5jb25zdCBjcmVhdGVQcm9wZXJ0eSA9IChwcm9wTmFtZTogc3RyaW5nLCBpbml0aWFsVmFsdWU6IHVua25vd24sIHJlY2VpdmVyOiBvYmplY3QpID0+IHtcblxuXHRjb25zdCB2YWx1ZSA9IGluaXRpYWxWYWx1ZTtcblx0Y29uc3QgdmFsdWVJc1ByaW1pdGl2ZSA9IGlzUHJpbWl0aXZlKGluaXRpYWxWYWx1ZSk7XG5cdGNvbnN0IGlzT2JqZWN0ID0gdHlwZW9mIGluaXRpYWxWYWx1ZSA9PT0gJ29iamVjdCc7XG5cdGNvbnN0IGlzRnVuY3Rpb24gPSBpbml0aWFsVmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbjtcblx0Y29uc3QgaXNOdWxsID0gaW5pdGlhbFZhbHVlID09PSBudWxsO1xuXG5cdC8qKlxuXHQgKiBzcGVjaWFsOiB1bmRlZmluZWQgb3IgQmlnSW50IG9yIFN5bWJvbFxuXHQgKiBcdG9yIG90aGVyIG5vbiBjb25zdHJ1Y3RpYmxlIHR5cGVcblx0ICovXG5cblx0Y29uc3QgdHlwZXMgPSB2YWx1ZUlzUHJpbWl0aXZlID8gJ3ByaW1pdGl2ZXMnIDogKFxuXHRcdGlzT2JqZWN0ID8gKFxuXHRcdFx0aXNOdWxsID8gJ251bGxpc2gnIDogJ29iamVjdHMnXG5cdFx0KSA6IChcblx0XHRcdGlzRnVuY3Rpb24gPyAnZnVuY3Rpb25zJyA6ICdzcGVjaWFsJ1xuXHRcdClcblx0KTtcblxuXHRjb25zdCBkZXNjcmlwdG9yID0gKGlzT2JqZWN0ICYmICh2YWx1ZSBpbnN0YW5jZW9mIEZpZWxkQ29uc3RydWN0b3IpKSA/XG5cdFx0dmFsdWVcblx0XHQ6XG5cdFx0e1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdC8vIEB0cy1pZ25vcmVcblx0XHRcdC4uLnJlc29sdmVyW3R5cGVzXSh2YWx1ZSwgcmVjZWl2ZXIpLFxuXHRcdH07XG5cblx0Ly8gaWYgKHZhbHVlIGluc3RhbmNlb2YgRmllbGRDb25zdHJ1Y3Rvcikge1xuXHQvLyBcdGRlc2NyaXB0b3I7XG5cdC8vIFx0ZGVidWdnZXI7XG5cdC8vIH1cblxuXHRjb25zdCByZXN1bHQgPSBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHJlY2VpdmVyLCBwcm9wTmFtZSwgZGVzY3JpcHRvcik7XG5cdHJldHVybiByZXN1bHQ7XG5cbn07XG5cbi8vIGxpbmUgYmVsb3cgJ2hyZWYnIGlzIGZvciB1dGlsLmluc3BlY3Qgd29ya3MsIHVzZWZ1bCBmb3IgdjI0XG5jb25zdCBwcm9wczJza2lwID0gbmV3IFNldChbXG5cdFN5bWJvbC50b1N0cmluZ1RhZyxcblx0U3ltYm9sLml0ZXJhdG9yLFxuXHQvLyBTeW1ib2wudG9QcmltaXRpdmUsXG5cdCd0b1N0cmluZycsXG5cdCd2YWx1ZU9mJyxcblx0J2hyZWYnXG5dKTtcbi8vIGNvbnN0IHByb3BzMnNraXAgPSBuZXcgU2V0KFtTeW1ib2wudG9TdHJpbmdUYWcsIFN5bWJvbC5pdGVyYXRvcl0pO1xuY29uc3QgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbmNvbnN0IGhhc05vZGVJbnNwZWN0ID0gKHV0aWwgJiYgdXRpbC5pbnNwZWN0ICYmIHV0aWwuaW5zcGVjdC5jdXN0b20pO1xuLy8gb3hsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xuKGhhc05vZGVJbnNwZWN0ICYmIChwcm9wczJza2lwLmFkZCh1dGlsLmluc3BlY3QuY3VzdG9tKSkpO1xuXG5jb25zdCBoYW5kbGVycyA9IHtcblx0Z2V0KHRhcmdldDogb2JqZWN0LCBwcm9wOiBzdHJpbmcgfCBzeW1ib2wsIHJlY2VpdmVyOiBvYmplY3QpIHtcblx0XHRjb25zdCByZXN1bHQgPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcblx0XHRpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHRcdGlmIChwcm9wID09PSAndG9KU09OJykge1xuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24gKHRoaXM6IHR5cGVvZiB0YXJnZXQpIHtcblx0XHRcdFx0Y29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpO1xuXHRcdFx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZW50cmllcy5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsdWVdKSA9PiB7XG5cdFx0XHRcdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdFx0XHRcdG9ialtrZXldID0gdmFsdWUudmFsdWVPZigpO1xuXHRcdFx0XHRcdHJldHVybiBvYmo7XG5cdFx0XHRcdH0sIHt9KSk7XG5cdFx0XHR9O1xuXHRcdH1cblx0XHRjb25zdCB7IG5hbWUgfSA9IHJlY2VpdmVyLmNvbnN0cnVjdG9yO1xuXHRcdGlmIChwcm9wczJza2lwLmhhcyhwcm9wKSkge1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IGAke25hbWV9IGxhY2tzIGRlZmluaXRpb24gb2YgWyAke1N0cmluZyhwcm9wKS52YWx1ZU9mKCl9IF1gO1xuXHRcdFx0cmV0dXJuIG1lc3NhZ2U7XG5cdFx0fVxuXHRcdGNvbnN0IGVycm9yTWVzc2FnZSA9IGAke0Vycm9yc05hbWVzLk1JU1NJTkdfUFJPUH06IFsgJHtTdHJpbmcocHJvcCkudmFsdWVPZigpfSBdIGZvciAke25hbWV9YDtcblx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcblx0fSxcblx0c2V0KF86IG9iamVjdCwgcHJvcDogc3RyaW5nLCB2YWx1ZTogdW5rbm93biwgcmVjZWl2ZXI6IG9iamVjdCkge1xuXHRcdGNvbnN0IHJlc3VsdCA9IGNyZWF0ZVByb3BlcnR5KHByb3AsIHZhbHVlLCByZWNlaXZlcik7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblx0c2V0UHJvdG90eXBlT2YoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdTZXR0aW5nIHByb3RvdHlwZSBpcyBub3QgYWxsb3dlZCEnKTtcblx0fSxcblx0Ly8gZGVmaW5lUHJvcGVydHkodGFyZ2V0OiBvYmplY3QsIGtleTogc3RyaW5nLCBkZXNjcmlwdG9yOiBvYmplY3QpIHtcblx0ZGVmaW5lUHJvcGVydHkoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdEZWZpbmluZyBuZXcgUHJvcGVydGllcyBpcyBub3QgYWxsb3dlZCEnKTtcblx0XHQvLyBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBkZXNjcmlwdG9yKTtcblx0fSxcblx0ZGVsZXRlUHJvcGVydHkoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdQcm9wZXJ0aWVzIERlbGV0aW9uIGlzIG5vdCBhbGxvd2VkIScpO1xuXHR9LFxuXHQvLyBnZXRQcm90b3R5cGVPZigpIHtcblx0Ly8gXHRkZWJ1Z2dlcjtcblx0Ly8gXHR0aHJvdyBuZXcgRXJyb3IoJ0dldHRpbmcgcHJvdG90eXBlIGlzIG5vdCBhbGxvd2VkJyk7XG5cdC8vIH0sXG59O1xuXG5PYmplY3QuZnJlZXplKGhhbmRsZXJzKTtcblxuLy8gdXNlciBoYXZlIHRvIHByZWNpc2VseSBkZWZpbmUgYWxsIHByb3BzXG5leHBvcnQgY29uc3QgYmFzZVRhcmdldCA9IChwcm90bzogb2JqZWN0IHwgbnVsbCA9IG51bGwpID0+IHtcblx0Y29uc3QgYW5zd2VyID0gT2JqZWN0LmNyZWF0ZShwcm90byk7XG5cdHJldHVybiBhbnN3ZXI7XG59O1xuXG5leHBvcnQgY29uc3QgU3ltYm9sVHlwZW9tYXRpY2FQcm94eVJlZmVyZW5jZSA9IFN5bWJvbCgnVHlwZcOYbWF0aWNhUHJveHlSZWZlcmVuY2UnKTtcbmNvbnN0IGdldFR5cGVvbWF0aWNhUHJveHlSZWZlcmVuY2UgPSAoX3RhcmdldDogb2JqZWN0KSA9PiB7XG5cdGNvbnN0IHRhcmdldCA9IE9iamVjdC5jcmVhdGUoX3RhcmdldCk7XG5cdGNvbnN0IGlkID0gYFR5cGXDmG1hdGljYVByb3h5UmVmZXJlbmNlLSR7TWF0aC5yYW5kb20oKX1gO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBTeW1ib2xUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlLCB7XG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIGlkO1xuXHRcdH1cblx0fSk7XG5cdGNvbnN0IHByb3h5ID0gbmV3IFByb3h5KHRhcmdldCwgaGFuZGxlcnMpO1xuXHRyZXR1cm4gcHJveHk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBCYXNlQ29uc3RydWN0b3JQcm90b3R5cGUgPSBmdW5jdGlvbiA8XG5cdFQgZXh0ZW5kcyBvYmplY3QsXG5cdE0gZXh0ZW5kcyB7XG5cdFx0W1N5bWJvbFR5cGVvbWF0aWNhUHJveHlSZWZlcmVuY2VdOiBudW1iZXJcblx0fSxcblx0SyBleHRlbmRzIHtcblx0XHRba2V5IGluIGtleW9mIFRdOiBUW2tleV1cblx0fSxcblx0UyBleHRlbmRzIHtcblx0XHQoKTogdm9pZFxuXHRcdG5ldygpOiBLXG5cdH0sXG5cdEwgZXh0ZW5kcyBNICYgVCxcblx0TyBleHRlbmRzIHt9LFxuXHRSIGV4dGVuZHMge1xuXHRcdCgpOiBTXG5cdFx0bmV3KCk6IFQgZXh0ZW5kcyBMID8gTCA6IFQgfCB7fVxuXHR9XG4+KFxuXHR0aGlzOiBPIGV4dGVuZHMgTSA/IE0gOiBPLFxuXHRfdGFyZ2V0OiBUIHwgbnVsbCA9IG51bGxcbik6IE0gZXh0ZW5kcyBNID8gTSA6IFIge1xuXHRpZiAoIW5ldy50YXJnZXQpIHtcblxuXHRcdGNvbnN0IHNlbGY6IHtcblx0XHRcdHByb3RvdHlwZToge1xuXHRcdFx0XHRjb25zdHJ1Y3RvcjogdHlwZW9mIEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZVxuXHRcdFx0fVxuXHRcdFx0Ly9AdHMtaWdub3JlXG5cdFx0fSA9IEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZS5iaW5kKHRoaXMsIF90YXJnZXQpO1xuXG5cdFx0c2VsZi5wcm90b3R5cGUgPSB7XG5cdFx0XHRjb25zdHJ1Y3RvcjogQmFzZUNvbnN0cnVjdG9yUHJvdG90eXBlXG5cdFx0fTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gc2VsZjtcblxuXHR9XG5cblx0Ly8gQHRzLWlnbm9yZVxuXHRpZiAodGhpc1tTeW1ib2xUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlXSkge1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGNvbnN0IHRhcmdldCA9IGJhc2VUYXJnZXQoX3RhcmdldCkgYXMgb2JqZWN0O1xuXG5cdGNvbnN0IEluc3RhbmNlUHJvdG90eXBlID0gZ2V0VHlwZW9tYXRpY2FQcm94eVJlZmVyZW5jZSh0YXJnZXQpO1xuXG5cdGxldCBwcm90bztcblx0bGV0IHByb3RvUG9pbnRlciA9IHRoaXMgYXMgb2JqZWN0O1xuXHRsZXQgcHJvdG9Db25zdHJjdXRvcjtcblxuXHRsZXQgY29uc3RydWN0b3JzID0gZmFsc2U7XG5cblx0Ly8gQHRzLWlnbm9yZVxuXHQvLyBjb25zdCBoYXNQcm94eVJlZmVyZW5jZSA9IHByb3RvUG9pbnRlcltTeW1ib2xUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlXSBhcyB1bmtub3duIGFzIGJvb2xlYW47XG5cdC8vIGlmIChoYXNQcm94eVJlZmVyZW5jZSkge1xuXHQvLyBcdHRocm93IG5ldyBFcnJvcignTXVsdGlwbGUgVHlwZcOYbWF0aWNhIGluc3RhbnRpYXRpb25zIGFyZSBub3QgYWxsb3dlZCBmb3IgdGhlIHNhbWUgUHJvdG90eXBlIENoYWluIScpO1xuXHQvLyB9XG5cblx0ZG8ge1xuXHRcdHByb3RvID0gcHJvdG9Qb2ludGVyO1xuXHRcdHByb3RvUG9pbnRlciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG5cdFx0aWYgKEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZS5wcm90b3R5cGUgPT09IHByb3RvUG9pbnRlcikge1xuXHRcdFx0Y29uc3RydWN0b3JzID0gdHJ1ZTtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRpZiAoIXByb3RvUG9pbnRlcikgYnJlYWs7XG5cdFx0Y29uc3QgZGVzY3JpcHRvciA9IFJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHByb3RvUG9pbnRlciwgJ2NvbnN0cnVjdG9yJyk7XG5cdFx0aWYgKCFkZXNjcmlwdG9yKSBjb250aW51ZTtcblx0XHRjb25zdCB2YWx1ZSA9IGRlc2NyaXB0b3IudmFsdWUgfHwgZGVzY3JpcHRvci5nZXQ7XG5cdFx0Ly8gaWYgKCF2YWx1ZSkgY29udGludWU7XG5cdFx0cHJvdG9Db25zdHJjdXRvciA9IHZhbHVlO1xuXHR9IHdoaWxlIChwcm90b0NvbnN0cmN1dG9yICE9PSBCYXNlQ29uc3RydWN0b3JQcm90b3R5cGUpO1xuXG5cdGlmICghY29uc3RydWN0b3JzICYmIHByb3RvQ29uc3RyY3V0b3IgIT09IEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHNldHVwIFR5cGXDmG1hdGljYSBoYW5kbGVyIScpO1xuXHR9XG5cblx0T2JqZWN0LnNldFByb3RvdHlwZU9mKHByb3RvLCBJbnN0YW5jZVByb3RvdHlwZSk7XG5cdC8vIEB0cy1pZ25vcmVcblx0cmV0dXJuIHRoaXM7XG5cbn0gYXMge1xuXHRuZXcoKTogdW5rbm93blxuXHQoKTogdm9pZFxufTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgJ2V4cG9ydHMnLCB7XG5cdGdldCgpIHtcblx0XHRyZXR1cm4gQmFzZUNvbnN0cnVjdG9yUHJvdG90eXBlO1xuXHR9LFxuXHRlbnVtZXJhYmxlOiB0cnVlXG59KTtcblxuZXhwb3J0IGNsYXNzIEJhc2VDbGFzczxUIGV4dGVuZHMgb2JqZWN0LCBTIGV4dGVuZHMgVD4ge1xuXHRjb25zdHJ1Y3RvcihfdGFyZ2V0OiBTIGV4dGVuZHMgVCA/IFMgOiBuZXZlcikge1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRpZiAodGhpc1tTeW1ib2xUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlXSkge1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFyZ2V0ID0gYmFzZVRhcmdldChfdGFyZ2V0KSBhcyBvYmplY3Q7XG5cdFx0Y29uc3QgcHJveHkgPSBnZXRUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlKHRhcmdldCk7XG5cdFx0bGV0IHByb3RvOiBvYmplY3QgfCBudWxsID0gdGhpcztcblx0XHRsZXQgcHJvdG9Qb2ludGVyOiBvYmplY3QgfCBudWxsO1xuXHRcdGxldCBmb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRcdGRvIHtcblx0XHRcdHByb3RvUG9pbnRlciA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG5cdFx0XHQvLyBpZiAocHJvdG9Qb2ludGVyW1N5bWJvbFR5cGVvbWF0aWNhUHJveHlSZWZlcmVuY2VdKSB7XG5cdFx0XHQvLyBcdHRocm93IG5ldyBFcnJvcignRG91YmxlIFR5cGXDmG1hdGljYSBleHRlbnNpb24gaXMgbm90IGFsbG93ZWQhJyk7XG5cdFx0XHQvLyB9XG5cdFx0XHRpZiAocHJvdG9Qb2ludGVyID09PSBPYmplY3QucHJvdG90eXBlKSB7XG5cdFx0XHRcdGZvdW5kID0gdHJ1ZTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHQvKlxuXHRcdFx0Ly8gaXQgY2FuIGJlLCB0aGF0IHByb3RvUG9pbnRlciA9PT0gbnVsbFxuXHRcdFx0Ly8gdGhvdWdoIHRvbyBoYXJkIHRvIGltcGxlbWVudCB0aGlzIHRlc3Rcblx0XHRcdCovXG5cdFx0XHRwcm90byA9IHByb3RvUG9pbnRlcjtcblx0XHR9IHdoaWxlICghZm91bmQpO1xuXHRcdE9iamVjdC5zZXRQcm90b3R5cGVPZihwcm90bywgcHJveHkpO1xuXHR9XG59XG5cbmludGVyZmFjZSBJVHlwZURlZmluaXRpb248VD4ge1xuXHRuZXcoKTogVCxcblx0KCk6IHZvaWRcbn1cblxuLy8gaW50ZXJmYWNlIElUeXBlPFQsIFA+IGV4dGVuZHMgSVR5cGVEZWZpbml0aW9uPFQ+IHtcbi8vIFx0bmV3KC4uLmFyZ3M6IHVua25vd25bXSk6IEZsYXRQcm90bzxQLCBUPlxuLy8gfVxuXG5cbmNvbnN0IHN0cmljdCA9IGZ1bmN0aW9uIDxQIGV4dGVuZHMgb2JqZWN0PihfdGFyZ2V0OiBQIHwgbnVsbCA9IG51bGwpIHtcblx0Y29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gPFxuXHRcdFQgZXh0ZW5kcyBJVHlwZURlZmluaXRpb248VD4sXG5cdFx0Ly8gUyBleHRlbmRzIHsgW2tleSBpbiBrZXlvZiBQXTogUFtrZXldIH0sXG5cdFx0Ly8gUiBleHRlbmRzIElUeXBlPFMsIFQ+LFxuXHRcdE0gZXh0ZW5kcyBQICYgSW5zdGFuY2VUeXBlPFQ+LFxuXHRcdElSIGV4dGVuZHMgeyBba2V5IGluIGtleW9mIE1dOiBNW2tleV0gfVxuXHQ+KGNzdHI6IFQpOiBJUiB7XG5cblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0aWYgKGNzdHIucHJvdG90eXBlW1N5bWJvbFR5cGVvbWF0aWNhUHJveHlSZWZlcmVuY2VdKSB7XG5cdFx0XHRyZXR1cm4gY3N0ciBhcyB1bmtub3duIGFzIElSO1xuXHRcdH1cblxuXHRcdGNvbnN0IHRhcmdldCA9IGJhc2VUYXJnZXQoX3RhcmdldCk7XG5cdFx0Y29uc3QgcHJveHkgPSBnZXRUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlKHRhcmdldCk7XG5cdFx0Y29uc3QgX3JlcGxhY2VyID0gT2JqZWN0LmNyZWF0ZShwcm94eSk7XG5cblx0XHRPYmplY3Quc2V0UHJvdG90eXBlT2YoY3N0ci5wcm90b3R5cGUsIF9yZXBsYWNlcik7XG5cblx0XHRyZXR1cm4gY3N0ciBhcyB1bmtub3duIGFzIElSO1xuXG5cblx0XHQvLyBjb25zdCBNeUNsYXNzUHJveHkgPSBuZXcgUHJveHkoY3N0ciwge1xuXHRcdC8vIFx0Y29uc3RydWN0KF8sIGFyZ3VtZW50c0xpc3QsIG5ld1RhcmdldCkge1xuXHRcdC8vIFx0XHRkZWJ1Z2dlcjtcblx0XHQvLyBcdFx0Y29uc3QgdGFyZ2V0ID0gYmFzZVRhcmdldChfdGFyZ2V0KTtcblx0XHQvLyBcdFx0Y29uc3QgcHJveHkgPSBnZXRUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlKHRhcmdldCk7XG5cdFx0Ly8gXHRcdGNvbnN0IF9yZXBsYWNlciA9IE9iamVjdC5jcmVhdGUocHJveHkpO1xuXG5cdFx0Ly8gXHRcdGNvbnN0IF9wcm90byA9IGNzdHIucHJvdG90eXBlO1xuXG5cdFx0Ly8gXHRcdGNvbnN0IHByb3RvID0gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YoX3Byb3RvKSk7XG5cdFx0Ly8gXHRcdHByb3RvLmlBbVByb3RvID0gdHJ1ZTtcblxuXHRcdC8vIFx0XHRPYmplY3Quc2V0UHJvdG90eXBlT2YoY3N0ci5wcm90b3R5cGUsIHByb3RvKTtcblxuXHRcdC8vIFx0XHRjb25zdCBkZXNjcmlwdG9ycyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKF9wcm90byk7XG5cdFx0Ly8gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHByb3RvLCBkZXNjcmlwdG9ycyk7XG5cblx0XHQvLyBcdFx0Y29uc3QgcmVwbGFjZXIgPSBPYmplY3QuY3JlYXRlKF9yZXBsYWNlcik7XG5cdFx0Ly8gXHRcdE9iamVjdC5zZXRQcm90b3R5cGVPZihwcm90bywgcmVwbGFjZXIpO1xuXG5cblx0XHQvLyBcdFx0T2JqZWN0LnNldFByb3RvdHlwZU9mKGNzdHIucHJvdG90eXBlLCBwcm90byk7XG5cdFx0Ly8gXHRcdGNvbnN0IHJlc3VsdCA9IFJlZmxlY3QuY29uc3RydWN0KGNzdHIsIGFyZ3VtZW50c0xpc3QsIG5ld1RhcmdldCk7XG5cblx0XHQvLyBcdFx0ZGVidWdnZXI7XG5cdFx0Ly8gXHRcdE9iamVjdC5zZXRQcm90b3R5cGVPZihjc3RyLnByb3RvdHlwZSwgX3Byb3RvKTtcblx0XHQvLyBcdFx0ZGVidWdnZXI7XG5cblx0XHQvLyBcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHQvLyBcdH0sXG5cdFx0Ly8gfSk7XG5cdFx0Ly8gcmV0dXJuIE15Q2xhc3NQcm94eTtcblx0fTtcblxuXHRyZXR1cm4gZGVjb3JhdG9yO1xuXG59O1xuZXhwb3J0IGNvbnN0IHsgU3ltYm9sSW5pdGlhbFZhbHVlIH0gPSBGaWVsZENvbnN0cnVjdG9yO1xuZXhwb3J0IGNvbnN0IFN0cmljdCA9IHN0cmljdDtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZS5leHBvcnRzLCAnQmFzZUNsYXNzJywge1xuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIEJhc2VDbGFzcztcblx0fSxcblx0ZW51bWVyYWJsZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLmV4cG9ydHMsICdGaWVsZENvbnN0cnVjdG9yJywge1xuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIEZpZWxkQ29uc3RydWN0b3I7XG5cdH0sXG5cdGVudW1lcmFibGU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZS5leHBvcnRzLCAnU3ltYm9sSW5pdGlhbFZhbHVlJywge1xuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbEluaXRpYWxWYWx1ZTtcblx0fSxcblx0ZW51bWVyYWJsZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLmV4cG9ydHMsICdTeW1ib2xUeXBlb21hdGljYVByb3h5UmVmZXJlbmNlJywge1xuXHRnZXQoKSB7XG5cdFx0cmV0dXJuIFN5bWJvbFR5cGVvbWF0aWNhUHJveHlSZWZlcmVuY2U7XG5cdH0sXG5cdGVudW1lcmFibGU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZS5leHBvcnRzLCAnYmFzZVRhcmdldCcsIHtcblx0Z2V0KCkge1xuXHRcdHJldHVybiBiYXNlVGFyZ2V0O1xuXHR9LFxuXHRlbnVtZXJhYmxlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUuZXhwb3J0cywgJ1N0cmljdCcsIHtcblx0Z2V0KCkge1xuXHRcdHJldHVybiBzdHJpY3Q7XG5cdH0sXG5cdGVudW1lcmFibGU6IHRydWVcbn0pO1xuXG5PYmplY3QuZnJlZXplKEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZSk7XG5PYmplY3QuZnJlZXplKEJhc2VDb25zdHJ1Y3RvclByb3RvdHlwZS5wcm90b3R5cGUpO1xuIl19
|
package/lib/types/functions.js
CHANGED
|
@@ -6,3 +6,4 @@ const functions = () => {
|
|
|
6
6
|
throw new TypeError(errors_1.ErrorsNames.RIP_FUNCTIONS);
|
|
7
7
|
};
|
|
8
8
|
exports.functions = functions;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLHNDQUF3QztBQUVqQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDN0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxvQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUZXLFFBQUEsU0FBUyxhQUVwQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgRXJyb3JzTmFtZXMgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG5leHBvcnQgY29uc3QgZnVuY3Rpb25zID0gKCkgPT4ge1xuXHR0aHJvdyBuZXcgVHlwZUVycm9yKEVycm9yc05hbWVzLlJJUF9GVU5DVElPTlMpO1xufTsiXX0=
|
package/lib/types/index.js
CHANGED
|
@@ -20,3 +20,4 @@ const isPrimitive = (value) => {
|
|
|
20
20
|
return PRIMITIVE_TYPES.includes(typeof value);
|
|
21
21
|
};
|
|
22
22
|
exports.isPrimitive = isPrimitive;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiwyQ0FBMEM7QUFBakMsd0dBQUEsVUFBVSxPQUFBO0FBQ25CLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFFaEIsTUFBTSxlQUFlLEdBQUc7SUFDdkIsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0NBQ1QsQ0FBQztBQUVLLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7SUFDN0MsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRlcsUUFBQSxXQUFXLGVBRXRCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5leHBvcnQgeyBmdW5jdGlvbnMgfSBmcm9tICcuL2Z1bmN0aW9ucyc7XG5leHBvcnQgeyBudWxsaXNoIH0gZnJvbSAnLi9udWxsaXNoJztcbmV4cG9ydCB7IG9iamVjdHMgfSBmcm9tICcuL29iamVjdHMnO1xuZXhwb3J0IHsgcHJpbWl0aXZlcyB9IGZyb20gJy4vcHJpbWl0aXZlcyc7XG5leHBvcnQgeyBzcGVjaWFsIH0gZnJvbSAnLi9zcGVjaWFsJztcblxuY29uc3QgUFJJTUlUSVZFX1RZUEVTID0gW1xuXHQnc3RyaW5nJyxcblx0J251bWJlcicsXG5cdCdib29sZWFuJyxcbl07XG5cbmV4cG9ydCBjb25zdCBpc1ByaW1pdGl2ZSA9ICh2YWx1ZTogdW5rbm93bikgPT4ge1xuXHRyZXR1cm4gUFJJTUlUSVZFX1RZUEVTLmluY2x1ZGVzKHR5cGVvZiB2YWx1ZSk7XG59O1xuIl19
|
package/lib/types/nullish.js
CHANGED
|
@@ -14,3 +14,4 @@ const nullish = (value) => {
|
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
exports.nullish = nullish;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9udWxsaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHO1lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBVlcsUUFBQSxPQUFPLFdBVWxCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNOYW1lcyB9IGZyb20gJy4uL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBudWxsaXNoID0gKHZhbHVlOiBvYmplY3QpID0+IHtcblx0cmV0dXJuIHtcblx0XHRnZXQoKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSxcblx0XHRzZXQoKSB7XG5cdFx0XHRjb25zdCBlcnJvciA9IG5ldyBUeXBlRXJyb3IoRXJyb3JzTmFtZXMuVFlQRV9NSVNNQVRDSCk7XG5cdFx0XHR0aHJvdyBlcnJvcjtcblx0XHR9XG5cdH07XG59OyJdfQ==
|
package/lib/types/objects.js
CHANGED
|
@@ -18,3 +18,4 @@ const objects = (value) => {
|
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
exports.objects = objects;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHLENBQUMsZ0JBQXlCO1lBQzVCLElBQUksZ0JBQWdCLFlBQVksTUFBTSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzlGLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQztnQkFDekIsT0FBTyxLQUFLLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBZFcsUUFBQSxPQUFPLFdBY2xCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBFcnJvcnNOYW1lcyB9IGZyb20gJy4uL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBvYmplY3RzID0gKHZhbHVlOiBvYmplY3QpID0+IHtcblx0cmV0dXJuIHtcblx0XHRnZXQoKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSxcblx0XHRzZXQocmVwbGFjZW1lbnRWYWx1ZTogdW5rbm93bikge1xuXHRcdFx0aWYgKHJlcGxhY2VtZW50VmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgcmVwbGFjZW1lbnRWYWx1ZS5jb25zdHJ1Y3RvciA9PT0gdmFsdWUuY29uc3RydWN0b3IpIHtcblx0XHRcdFx0dmFsdWUgPSByZXBsYWNlbWVudFZhbHVlO1xuXHRcdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBlcnJvciA9IG5ldyBUeXBlRXJyb3IoRXJyb3JzTmFtZXMuVFlQRV9NSVNNQVRDSCk7XG5cdFx0XHR0aHJvdyBlcnJvcjtcblx0XHR9XG5cdH07XG59OyJdfQ==
|
package/lib/types/primitives.js
CHANGED
|
@@ -47,3 +47,4 @@ const primitives = (initialValue) => {
|
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
49
|
exports.primitives = primitives;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wcmltaXRpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBb0IsRUFBRSxFQUFFO0lBQ2xELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLFlBQVksQ0FBQztJQUV4QyxPQUFPO1FBQ04sR0FBRztZQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFFckMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJO29CQUNWLElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDakMsT0FBTyxVQUFVLElBQVk7NEJBQzVCLElBQUksSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dDQUMxQixNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7NEJBQ3JELENBQUM7NEJBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ3hCLENBQUMsQ0FBQztvQkFDSCxDQUFDO29CQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUN4QixPQUFPOzRCQUNOLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUN4QixDQUFDLENBQUM7b0JBQ0gsQ0FBQztvQkFHRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxRQUFRLEVBQUUsQ0FBQzt3QkFDckMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQyxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxNQUFNLENBQUM7Z0JBQ2YsQ0FBQzthQUNELENBQUMsQ0FBQztZQUNILE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUM7UUFhRCxHQUFHLENBQUMsZ0JBQXlCO1lBQzVCLElBQUksZ0JBQWdCLFlBQVksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuRCxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTFDLElBQUksUUFBUSxZQUFZLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxHQUFHLFFBQVEsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUM7WUFDZCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBaEVXLFFBQUEsVUFBVSxjQWdFckIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IEVycm9yc05hbWVzIH0gZnJvbSAnLi4vZXJyb3JzJztcblxuZXhwb3J0IGNvbnN0IHByaW1pdGl2ZXMgPSAoaW5pdGlhbFZhbHVlOiBvYmplY3QpID0+IHtcblx0bGV0IHZhbHVlID0gT2JqZWN0KGluaXRpYWxWYWx1ZSk7XG5cdGNvbnN0IGluaXRpYWxUeXBlID0gdHlwZW9mIGluaXRpYWxWYWx1ZTtcblxuXHRyZXR1cm4ge1xuXHRcdGdldCgpIHtcblx0XHRcdGNvbnN0IHByb3h5QXNWYWx1ZSA9IG5ldyBQcm94eSh2YWx1ZSwge1xuXHRcdFx0XHQvLyBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcikge1xuXHRcdFx0XHRnZXQoXywgcHJvcCkge1xuXHRcdFx0XHRcdGlmIChwcm9wID09PSBTeW1ib2wudG9QcmltaXRpdmUpIHtcblx0XHRcdFx0XHRcdHJldHVybiBmdW5jdGlvbiAoaGludDogc3RyaW5nKSB7XG5cdFx0XHRcdFx0XHRcdGlmIChoaW50ICE9PSBpbml0aWFsVHlwZSkge1xuXHRcdFx0XHRcdFx0XHRcdHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihFcnJvcnNOYW1lcy5BQ0NFU1NfREVOSUVEKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWUudmFsdWVPZigpO1xuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRpZiAocHJvcCA9PT0gJ3ZhbHVlT2YnKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWUudmFsdWVPZigpO1xuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0aWYgKHZhbHVlW3Byb3BdIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcblx0XHRcdFx0XHRcdHJldHVybiB2YWx1ZVtwcm9wXS5iaW5kKHZhbHVlKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRjb25zdCBhbnN3ZXIgPSB2YWx1ZVtwcm9wXTtcblx0XHRcdFx0XHRyZXR1cm4gYW5zd2VyO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiBwcm94eUFzVmFsdWU7XG5cdFx0fSxcblx0XHQvLyBnZXQoKSB7XG5cdFx0Ly8gXHRjb25zdCBwcmVwYXJlZFZhbHVlID0ge1xuXHRcdC8vIFx0XHRbU3ltYm9sLnRvUHJpbWl0aXZlXSgpIHtcblx0XHQvLyBcdFx0XHRyZXR1cm4gZnVuY3Rpb24gKCkge1xuXHRcdC8vIFx0XHRcdFx0dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKEVycm9yc05hbWVzLkFDQ0VTU19ERU5JRUQpO1xuXHRcdC8vIFx0XHRcdH07XG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH07XG5cdFx0Ly8gXHRSZWZsZWN0LnNldFByb3RvdHlwZU9mKHByZXBhcmVkVmFsdWUsIHZhbHVlKTtcblx0XHQvLyBcdGRlYnVnZ2VyO1xuXHRcdC8vIFx0cmV0dXJuIHByZXBhcmVkVmFsdWU7XG5cdFx0Ly8gfSxcblx0XHRzZXQocmVwbGFjZW1lbnRWYWx1ZTogdW5rbm93bikge1xuXHRcdFx0aWYgKHJlcGxhY2VtZW50VmFsdWUgaW5zdGFuY2VvZiB2YWx1ZS5jb25zdHJ1Y3Rvcikge1xuXHRcdFx0XHR2YWx1ZSA9IHJlcGxhY2VtZW50VmFsdWU7XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcHJldmFsdWUgPSBPYmplY3QocmVwbGFjZW1lbnRWYWx1ZSk7XG5cblx0XHRcdGlmIChwcmV2YWx1ZSBpbnN0YW5jZW9mIHZhbHVlLmNvbnN0cnVjdG9yKSB7XG5cdFx0XHRcdHZhbHVlID0gcHJldmFsdWU7XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgZXJyb3IgPSBuZXcgVHlwZUVycm9yKEVycm9yc05hbWVzLlRZUEVfTUlTTUFUQ0gpO1xuXHRcdFx0dGhyb3cgZXJyb3I7XG5cdFx0fVxuXHR9O1xufTsiXX0=
|
package/lib/types/special.js
CHANGED
|
@@ -18,3 +18,4 @@ const special = (value) => {
|
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
20
|
exports.special = special;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zcGVjaWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHLENBQUMsZ0JBQXdCO1lBQzNCLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUM5QyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2QsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQztBQUNILENBQUMsQ0FBQztBQWRXLFFBQUEsT0FBTyxXQWNsQiIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgRXJyb3JzTmFtZXMgfSBmcm9tICcuLi9lcnJvcnMnO1xuXG5leHBvcnQgY29uc3Qgc3BlY2lhbCA9ICh2YWx1ZTogb2JqZWN0KSA9PiB7XG5cdHJldHVybiB7XG5cdFx0Z2V0KCkge1xuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH0sXG5cdFx0c2V0KHJlcGxhY2VtZW50VmFsdWU6IG9iamVjdCkge1xuXHRcdFx0aWYgKHR5cGVvZiByZXBsYWNlbWVudFZhbHVlID09PSB0eXBlb2YgdmFsdWUpIHtcblx0XHRcdFx0dmFsdWUgPSByZXBsYWNlbWVudFZhbHVlO1xuXHRcdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBlcnJvciA9IG5ldyBUeXBlRXJyb3IoRXJyb3JzTmFtZXMuVFlQRV9NSVNNQVRDSCk7XG5cdFx0XHR0aHJvdyBlcnJvcjtcblx0XHR9XG5cdH07XG59OyJdfQ==
|
package/package.json
CHANGED
|
@@ -1,19 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typeomatica",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "type logic against javascript metaprogramming",
|
|
5
5
|
"engines": {
|
|
6
|
-
"node": ">=
|
|
6
|
+
"node": ">=16"
|
|
7
7
|
},
|
|
8
8
|
"main": "lib/index.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./lib/index.js",
|
|
11
|
+
"./module": {
|
|
12
|
+
"import": "./lib/index.js",
|
|
13
|
+
"browser": "./lib/index.js",
|
|
14
|
+
"require": "./lib/index.js",
|
|
15
|
+
"default": "./lib/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"README.md",
|
|
20
|
+
"LICENSE",
|
|
21
|
+
"lib"
|
|
22
|
+
],
|
|
23
|
+
"directories": {
|
|
24
|
+
"build": "lib/"
|
|
25
|
+
},
|
|
9
26
|
"scripts": {
|
|
10
|
-
"build": "rm -rf ./lib && npx tsc --pretty",
|
|
11
|
-
"
|
|
12
|
-
"lint": "npx eslint --fix
|
|
27
|
+
"build": "rm -rf ./lib && npx tsc --target es6 --pretty",
|
|
28
|
+
"lint:lib": "npx eslint --fix ./lib",
|
|
29
|
+
"lint:src": "npx eslint --fix ./src",
|
|
13
30
|
"test": "npx jest",
|
|
14
31
|
"test:cov": "npx jest --collectCoverage",
|
|
15
|
-
"
|
|
16
|
-
"debug:
|
|
32
|
+
"test:addition": "npm run build && node --test --experimental-test-coverage ./test/addition.js",
|
|
33
|
+
"debug:on-issues": "echo 'if debugger; command is not working try other Node.JS version'",
|
|
34
|
+
"debug": "node --inspect-brk --nolazy node_modules/.bin/jest --runInBand --detectOpenHandles",
|
|
35
|
+
"debug:jest": "node --nolazy --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --colors --verbose",
|
|
36
|
+
"debug:usual": "npx --node-options=--inspect-brk jest --runInBand --colors --verbose",
|
|
17
37
|
"prepare": "husky install"
|
|
18
38
|
},
|
|
19
39
|
"keywords": [
|
|
@@ -30,18 +50,20 @@
|
|
|
30
50
|
"url": "git+https://github.com/wentout/typeomatica.git"
|
|
31
51
|
},
|
|
32
52
|
"devDependencies": {
|
|
33
|
-
"@
|
|
34
|
-
"@
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"eslint": "^8.
|
|
38
|
-
"
|
|
39
|
-
"
|
|
53
|
+
"@eslint/eslintrc": "^3.3.3",
|
|
54
|
+
"@eslint/js": "^9.39.2",
|
|
55
|
+
"@types/jest": "^30.0.0",
|
|
56
|
+
"@types/node": "^25.0.9",
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^8.53.0",
|
|
58
|
+
"@typescript-eslint/parser": "^8.53.0",
|
|
59
|
+
"eslint": "^9.39.2",
|
|
60
|
+
"globals": "^17.0.0",
|
|
61
|
+
"husky": "^9.1.7",
|
|
62
|
+
"jest": "^30.2.0",
|
|
40
63
|
"json5": "^2.2.3",
|
|
41
|
-
"lint-staged": "^
|
|
64
|
+
"lint-staged": "^16.2.7",
|
|
42
65
|
"set-value": "^4.1.0",
|
|
43
|
-
"ts-jest": "^29.
|
|
44
|
-
"
|
|
45
|
-
"typescript": "^5.2.2"
|
|
66
|
+
"ts-jest": "^29.4.6",
|
|
67
|
+
"typescript": "^5.9.3"
|
|
46
68
|
}
|
|
47
69
|
}
|
package/.editorconfig
DELETED
package/.eslintignore
DELETED
|
File without changes
|
package/.eslintrc.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
parser: '@typescript-eslint/parser',
|
|
3
|
-
env: {
|
|
4
|
-
node: true,
|
|
5
|
-
es6: true,
|
|
6
|
-
},
|
|
7
|
-
extends: [
|
|
8
|
-
'eslint:recommended',
|
|
9
|
-
'plugin:@typescript-eslint/eslint-recommended'
|
|
10
|
-
],
|
|
11
|
-
parserOptions: {
|
|
12
|
-
ecmaVersion: 2018,
|
|
13
|
-
sourceType: 'module'
|
|
14
|
-
},
|
|
15
|
-
rules: {
|
|
16
|
-
indent: ['error', 'tab'],
|
|
17
|
-
'linebreak-style': ['error', 'unix'],
|
|
18
|
-
quotes: ['error', 'single'],
|
|
19
|
-
semi: ['error', 'always'],
|
|
20
|
-
// 'no-unused-vars': 'warn',
|
|
21
|
-
'no-shadow': [
|
|
22
|
-
'error',
|
|
23
|
-
{
|
|
24
|
-
builtinGlobals: true,
|
|
25
|
-
hoist: 'all',
|
|
26
|
-
allow: [],
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
// 'space-before-function-paren': [
|
|
30
|
-
// 'warn', {
|
|
31
|
-
// 'anonymous': 'always',
|
|
32
|
-
// 'named': 'always',
|
|
33
|
-
// 'asyncArrow': 'always'
|
|
34
|
-
// }
|
|
35
|
-
// ],
|
|
36
|
-
'prefer-template': 'warn',
|
|
37
|
-
'prefer-spread': 'warn',
|
|
38
|
-
'no-useless-concat': 'warn',
|
|
39
|
-
'prefer-rest-params': 'warn',
|
|
40
|
-
'prefer-destructuring': 'warn',
|
|
41
|
-
'no-useless-computed-key': 'warn',
|
|
42
|
-
'no-useless-constructor': 'warn',
|
|
43
|
-
'no-useless-rename': 'warn',
|
|
44
|
-
'no-this-before-super': 'warn',
|
|
45
|
-
'no-new-symbol': 'warn',
|
|
46
|
-
'no-duplicate-imports': 'warn',
|
|
47
|
-
'no-confusing-arrow': 'warn',
|
|
48
|
-
'no-multi-assign': 'warn',
|
|
49
|
-
'no-lonely-if': 'warn',
|
|
50
|
-
'newline-per-chained-call': 'warn',
|
|
51
|
-
'new-cap': 'warn',
|
|
52
|
-
'func-name-matching': 'error',
|
|
53
|
-
// 'consistent-this' : 'error',
|
|
54
|
-
'line-comment-position': [
|
|
55
|
-
'warn',
|
|
56
|
-
{
|
|
57
|
-
position: 'above',
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
yoda: 'warn',
|
|
61
|
-
},
|
|
62
|
-
'overrides': [
|
|
63
|
-
{
|
|
64
|
-
'files': ['lib/**/*.js'],
|
|
65
|
-
'rules': {
|
|
66
|
-
'prefer-rest-params': 0,
|
|
67
|
-
'no-redeclare': 0
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
|
|
72
|
-
};
|
package/.gitattributes
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
# Automatically normalize line endings for all text-based files
|
|
3
|
-
# http://git-scm.com/docs/gitattributes#_end_of_line_conversion
|
|
4
|
-
|
|
5
|
-
# For the following file types, normalize line endings to LF on
|
|
6
|
-
# checkin and prevent conversion to CRLF when they are checked out
|
|
7
|
-
# (this is required in order to prevent newline related issues like,
|
|
8
|
-
# for example, after the build script is run)
|
|
9
|
-
*.html text eol=lf
|
|
10
|
-
*.css text eol=lf
|
|
11
|
-
*.less text eol=lf
|
|
12
|
-
*.scss text eol=lf
|
|
13
|
-
*.sss text eol=lf
|
|
14
|
-
*.sass text eol=lf
|
|
15
|
-
*.js text eol=lf
|
|
16
|
-
*.json text eol=lf
|
|
17
|
-
*.yml text eol=lf
|
|
18
|
-
*.yaml text eol=lf
|
|
19
|
-
*.md text eol=lf
|
|
20
|
-
*.sh text eol=lf
|
|
21
|
-
*.txt text eol=lf
|
|
22
|
-
*.xml text eol=lf
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
|
3
|
-
|
|
4
|
-
name: Node.js CI
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
branches: [ main ]
|
|
9
|
-
pull_request:
|
|
10
|
-
branches: [ main ]
|
|
11
|
-
|
|
12
|
-
jobs:
|
|
13
|
-
build:
|
|
14
|
-
|
|
15
|
-
runs-on: ubuntu-latest
|
|
16
|
-
|
|
17
|
-
strategy:
|
|
18
|
-
matrix:
|
|
19
|
-
node-version: [16.x, 18.x]
|
|
20
|
-
|
|
21
|
-
steps:
|
|
22
|
-
- uses: actions/checkout@v2
|
|
23
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
24
|
-
uses: actions/setup-node@v1
|
|
25
|
-
with:
|
|
26
|
-
node-version: ${{ matrix.node-version }}
|
|
27
|
-
- run: npm ci
|
|
28
|
-
- run: npm run build --if-present
|
|
29
|
-
- run: npm test
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
test:
|
|
33
|
-
runs-on: ubuntu-latest
|
|
34
|
-
|
|
35
|
-
steps:
|
|
36
|
-
- uses: actions/checkout@master
|
|
37
|
-
- name: Use Node.js 16.x
|
|
38
|
-
uses: actions/setup-node@master
|
|
39
|
-
with:
|
|
40
|
-
node-version: 16.x
|
|
41
|
-
|
|
42
|
-
- name: npm install
|
|
43
|
-
run: npm install
|
|
44
|
-
|
|
45
|
-
- name: Test
|
|
46
|
-
run: npm run test:cov
|
|
47
|
-
|
|
48
|
-
- name: Coveralls Parallel
|
|
49
|
-
uses: coverallsapp/github-action@master
|
|
50
|
-
with:
|
|
51
|
-
github-token: ${{ secrets.github_token }}
|
|
52
|
-
parallel: true
|
|
53
|
-
|
|
54
|
-
finish:
|
|
55
|
-
needs: test
|
|
56
|
-
runs-on: ubuntu-latest
|
|
57
|
-
steps:
|
|
58
|
-
- name: Coveralls Finished
|
|
59
|
-
uses: coverallsapp/github-action@master
|
|
60
|
-
with:
|
|
61
|
-
github-token: ${{ secrets.github_token }}
|
|
62
|
-
parallel-finished: true
|
package/.husky/pre-commit
DELETED
package/jest.config.js
DELETED
package/src/errors.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
export const ErrorsNames = {
|
|
4
|
-
TYPE_MISMATCH: 'Type Mismatch',
|
|
5
|
-
ACCESS_DENIED: 'Value Access Denied',
|
|
6
|
-
MISSING_PROP: 'Attempt to Access to Undefined Prop',
|
|
7
|
-
RIP_FUNCTIONS: 'Functions are Restricted',
|
|
8
|
-
FORBIDDEN_RE: 'Re-Assirnment is Forbidden'
|
|
9
|
-
};
|