typeomatica 0.3.3 → 0.3.4

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 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUVBLFFBQUEsV0FBVyxHQUFHO0lBQzFCLGFBQWEsRUFBRSxlQUFlO0lBQzlCLGFBQWEsRUFBRSxxQkFBcUI7SUFDcEMsWUFBWSxFQUFFLHFDQUFxQztJQUNuRCxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSw0QkFBNEI7Q0FDMUMsQ0FBQyJ9
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLHFDQUF1QztBQUV2QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWVuRCxNQUFhLGdCQUFnQjtJQUU1QixJQUFXLEdBQUc7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTztZQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQVcsR0FBRztRQUNiLE9BQU87WUFDTixNQUFNLElBQUksU0FBUyxDQUFDLG9CQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNELFlBQWEsS0FBYztRQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUNELE1BQU0sS0FBSyxrQkFBa0I7UUFDNUIsT0FBTyxrQkFBa0IsQ0FBQztJQUMzQixDQUFDO0NBQ0Q7QUFuQkQsNENBbUJDO0FBb0NELE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyJ9
package/lib/index.d.ts CHANGED
@@ -1,8 +1,15 @@
1
- type Proto<P, T> = Pick<P, Exclude<keyof P, keyof T>> & T;
2
- export declare const BaseConstructorPrototype: <P extends object, S extends Proto<T, P>, T extends {
3
- (): P;
4
- new (): { [key in keyof S]: S[key]; };
5
- }>(this: T, InstanceTarget?: P) => T;
6
- export declare class BaseClass extends BaseConstructorPrototype {
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 {
8
+ constructor(_target?: object | null);
7
9
  }
8
- export { FieldConstructor } from './fields';
10
+ export declare const SymbolInitialValue: symbol;
11
+ type StrictRuntime = {
12
+ <T extends object>(target: object): T;
13
+ };
14
+ export declare const Strict: StrictRuntime;
15
+ export {};
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FieldConstructor = exports.BaseClass = exports.BaseConstructorPrototype = void 0;
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");
@@ -47,10 +47,16 @@ const createProperty = (propName, initialValue, receiver) => {
47
47
  const result = Reflect.defineProperty(receiver, propName, descriptor);
48
48
  return result;
49
49
  };
50
- const props2skip = new Set([Symbol.toStringTag, Symbol.iterator]);
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,116 @@ const handlers = {
66
72
  }, {}));
67
73
  };
68
74
  }
75
+ const { name } = receiver.constructor;
69
76
  if (props2skip.has(prop)) {
70
- return undefined;
77
+ const message = `${name} lacks definition of [ ${String(prop).valueOf()} ]`;
78
+ return message;
71
79
  }
72
- throw new Error(`${errors_1.ErrorsNames.MISSING_PROP}: [ ${String(prop).valueOf()} ] of ${receiver.constructor.name}`);
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
- const BaseTarget = Object.create(null);
80
- const BaseConstructorPrototype = function (InstanceTarget = BaseTarget) {
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, InstanceTarget);
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
- const InstancePrototype = new Proxy(InstanceTarget, handlers);
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
- protoPointer = Reflect.getPrototypeOf(protoPointer);
93
- protoConstrcutor = Reflect.getOwnPropertyDescriptor(protoPointer, 'constructor').value;
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
- Reflect.setPrototypeOf(protoPointer, InstancePrototype);
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 extends exports.BaseConstructorPrototype {
159
+ class BaseClass {
160
+ constructor(_target = null) {
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
- var fields_2 = require("./fields");
109
- Object.defineProperty(exports, "FieldConstructor", { enumerable: true, get: function () { return fields_2.FieldConstructor; } });
181
+ exports.SymbolInitialValue = fields_1.FieldConstructor.SymbolInitialValue;
182
+ exports.Strict = {
183
+ Strict: exports.BaseConstructorPrototype,
184
+ }.Strict;
110
185
  Object.defineProperty(module.exports, 'BaseClass', {
111
186
  get() {
112
187
  return BaseClass;
@@ -119,3 +194,43 @@ Object.defineProperty(module.exports, 'FieldConstructor', {
119
194
  },
120
195
  enumerable: true
121
196
  });
197
+ Object.defineProperty(module.exports, 'SymbolInitialValue', {
198
+ get() {
199
+ return exports.SymbolInitialValue;
200
+ },
201
+ enumerable: true
202
+ });
203
+ Object.defineProperty(module.exports, 'SymbolTypeomaticaProxyReference', {
204
+ get() {
205
+ return exports.SymbolTypeomaticaProxyReference;
206
+ },
207
+ enumerable: true
208
+ });
209
+ Object.defineProperty(module.exports, 'baseTarget', {
210
+ get() {
211
+ return exports.baseTarget;
212
+ },
213
+ enumerable: true
214
+ });
215
+ Object.defineProperty(module.exports, 'Strict', {
216
+ get() {
217
+ return function (_target = null) {
218
+ const decorator = function (cstr) {
219
+ debugger;
220
+ if (cstr.prototype[exports.SymbolTypeomaticaProxyReference]) {
221
+ return cstr;
222
+ }
223
+ const target = (0, exports.baseTarget)(_target);
224
+ const proxy = getTypeomaticaProxyReference(target);
225
+ const _replacer = Object.create(proxy);
226
+ Object.setPrototypeOf(cstr.prototype, _replacer);
227
+ return cstr;
228
+ };
229
+ return decorator;
230
+ };
231
+ },
232
+ enumerable: true
233
+ });
234
+ Object.freeze(exports.BaseConstructorPrototype);
235
+ Object.freeze(exports.BaseConstructorPrototype.prototype);
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsWUFBWSxDQUFDOzs7QUFFYixxQ0FBdUM7QUFFdkMsbUNBT2lCO0FBRWpCLHFDQUE0QztBQUc1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQy9CLFVBQVUsRUFBVixrQkFBVTtJQUNWLE9BQU8sRUFBUCxlQUFPO0lBQ1AsT0FBTyxFQUFQLGVBQU87SUFDUCxPQUFPLEVBQVAsZUFBTztJQUNQLFNBQVMsRUFBVCxpQkFBUztDQUNULENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtJQUUxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxZQUFvQixFQUFFLFFBQWdCO1FBQzFELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxPQUFPO1lBQ04sR0FBRztnQkFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM3QixPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUM7WUFDRCxHQUFHLENBQUMsZ0JBQXlCO2dCQUM1QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNqQyxNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUM7U0FDRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUM7QUFDWixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFUCxNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWdCLEVBQUUsWUFBcUIsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFFcEYsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDO0lBQzNCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSxtQkFBVyxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25ELE1BQU0sUUFBUSxHQUFHLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQztJQUNsRCxNQUFNLFVBQVUsR0FBRyxZQUFZLFlBQVksUUFBUSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLFlBQVksS0FBSyxJQUFJLENBQUM7SUFPckMsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDOUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQzlCLENBQUMsQ0FBQyxDQUFDLENBQ0gsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDcEMsQ0FDRCxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLFlBQVkseUJBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsS0FBSztRQUNMLENBQUMsaUJBRUEsVUFBVSxFQUFFLElBQUksSUFFYixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUNsQyxDQUFDO0lBT0gsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sTUFBTSxDQUFDO0FBRWYsQ0FBQyxDQUFDO0FBR0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDMUIsTUFBTSxDQUFDLFdBQVc7SUFDbEIsTUFBTSxDQUFDLFFBQVE7SUFFZixVQUFVO0lBQ1YsU0FBUztJQUNULE1BQU07Q0FDTixDQUFDLENBQUM7QUFFSCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXJFLENBQUMsY0FBYyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRCxNQUFNLFFBQVEsR0FBRztJQUNoQixHQUFHLENBQUMsTUFBYyxFQUFFLElBQXFCLEVBQUUsUUFBZ0I7UUFDMUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBRXZCLE9BQU87Z0JBQ04sTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtvQkFFMUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDM0IsT0FBTyxHQUFHLENBQUM7Z0JBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDVCxDQUFDLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLDBCQUEwQixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUM1RSxPQUFPLE9BQU8sQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsR0FBRyxvQkFBVyxDQUFDLFlBQVksT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDOUYsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsR0FBRyxDQUFDLENBQVMsRUFBRSxJQUFZLEVBQUUsS0FBYyxFQUFFLFFBQWdCO1FBQzVELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUNELGNBQWM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELGNBQWM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFNUQsQ0FBQztJQUNELGNBQWM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUtELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBS2pCLE1BQU0sVUFBVSxHQUFHLENBQUMsUUFBdUIsSUFBSSxFQUFFLEVBQUU7SUFDekQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxPQUFPLE1BQU0sQ0FBQztBQUNmLENBQUMsQ0FBQztBQUpXLFFBQUEsVUFBVSxjQUlyQjtBQUVXLFFBQUEsK0JBQStCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDbkYsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsNkJBQTZCLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ3hELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLHVDQUErQixFQUFFO1FBQzlELEdBQUc7WUFDRixPQUFPLEVBQUUsQ0FBQztRQUNYLENBQUM7S0FDRCxDQUFDLENBQUM7SUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDLENBQUM7QUFHVyxRQUFBLHdCQUF3QixHQUFHLFVBV3ZDLFVBQW9CLElBQUk7SUFFeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVqQixNQUFNLElBQUksR0FLTixnQ0FBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDaEIsV0FBVyxFQUFFLGdDQUF3QjtTQUNyQyxDQUFDO1FBRUYsT0FBTyxJQUFTLENBQUM7SUFFbEIsQ0FBQztJQUdELElBQUksSUFBSSxDQUFDLHVDQUErQixDQUFDLEVBQUUsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLGtCQUFVLEVBQUMsT0FBTyxDQUFXLENBQUM7SUFFN0MsTUFBTSxpQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvRCxJQUFJLEtBQUssQ0FBQztJQUNWLElBQUksWUFBWSxHQUFHLElBQWMsQ0FBQztJQUNsQyxJQUFJLGdCQUFnQixDQUFDO0lBRXJCLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztJQVF6QixHQUFHLENBQUM7UUFDSCxLQUFLLEdBQUcsWUFBWSxDQUFDO1FBQ3JCLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksZ0NBQXdCLENBQUMsU0FBUyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3pELFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsTUFBTTtRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWTtZQUFFLE1BQU07UUFDekIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsVUFBVTtZQUFFLFNBQVM7UUFDMUIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDO1FBRWpELGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDLFFBQVEsZ0JBQWdCLEtBQUssZ0NBQXdCLEVBQUU7SUFFeEQsSUFBSSxDQUFDLFlBQVksSUFBSSxnQkFBZ0IsS0FBSyxnQ0FBd0IsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNoRCxPQUFPLElBQUksQ0FBQztBQUViLENBR0MsQ0FBQztBQTZDRixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7SUFDeEMsR0FBRztRQUVGLE9BQU8sZ0NBQXdCLENBQUM7SUFDakMsQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0NBQ2hCLENBQUMsQ0FBQztBQUVILE1BQWEsU0FBUztJQUNyQixZQUFZLFVBQXlCLElBQUk7UUFFeEMsSUFBSSxJQUFJLENBQUMsdUNBQStCLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsa0JBQVUsRUFBQyxPQUFPLENBQVcsQ0FBQztRQUM3QyxNQUFNLEtBQUssR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRCxJQUFJLEtBQUssR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLElBQUksWUFBMkIsQ0FBQztRQUNoQyxJQUFJLEtBQUssR0FBWSxLQUFLLENBQUM7UUFDM0IsR0FBRyxDQUFDO1lBQ0gsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFJNUMsSUFBSSxZQUFZLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN2QyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNiLE1BQU07WUFDUCxDQUFDO1lBS0QsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUN0QixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7UUFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNEO0FBOUJELDhCQThCQztBQUVjLDBCQUFrQixHQUFLLHlCQUFnQixvQkFBQztBQU94QyxjQUFNLEdBQUs7SUFDekIsTUFBTSxFQUFFLGdDQUF3QjtDQUloQyxRQUFDO0FBRUYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRTtJQUNsRCxHQUFHO1FBQ0YsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0NBQ2hCLENBQUMsQ0FBQztBQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtJQUN6RCxHQUFHO1FBQ0YsT0FBTyx5QkFBZ0IsQ0FBQztJQUN6QixDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7Q0FDaEIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFO0lBQzNELEdBQUc7UUFDRixPQUFPLDBCQUFrQixDQUFDO0lBQzNCLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtDQUNoQixDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUU7SUFDeEUsR0FBRztRQUNGLE9BQU8sdUNBQStCLENBQUM7SUFDeEMsQ0FBQztJQUNELFVBQVUsRUFBRSxJQUFJO0NBQ2hCLENBQUMsQ0FBQztBQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUU7SUFDbkQsR0FBRztRQUNGLE9BQU8sa0JBQVUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7Q0FDaEIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRTtJQUMvQyxHQUFHO1FBQ0YsT0FBTyxVQUFVLFVBQXlCLElBQUk7WUFDN0MsTUFBTSxTQUFTLEdBQUcsVUFBa0QsSUFBTztnQkFDMUUsUUFBUSxDQUFDO2dCQUdULElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyx1Q0FBK0IsQ0FBQyxFQUFFLENBQUM7b0JBQ3JELE9BQU8sSUFBSSxDQUFDO2dCQUNiLENBQUM7Z0JBRUQsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxNQUFNLEtBQUssR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFdkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUVqRCxPQUFPLElBQUksQ0FBQztZQW1DYixDQUFDLENBQUM7WUFFRixPQUFPLFNBQVMsQ0FBQztRQUVsQixDQUFDLENBQUM7SUFDSCxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7Q0FDaEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQ0FBd0IsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0NBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUViLHNDQUF3QztBQUVqQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDN0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyxvQkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUZXLFFBQUEsU0FBUyxhQUVwQiJ9
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFFYix5Q0FBd0M7QUFBL0Isc0dBQUEsU0FBUyxPQUFBO0FBQ2xCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiwyQ0FBMEM7QUFBakMsd0dBQUEsVUFBVSxPQUFBO0FBQ25CLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFFaEIsTUFBTSxlQUFlLEdBQUc7SUFDdkIsUUFBUTtJQUNSLFFBQVE7SUFDUixTQUFTO0NBQ1QsQ0FBQztBQUVLLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7SUFDN0MsT0FBTyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDO0FBRlcsUUFBQSxXQUFXLGVBRXRCIn0=
@@ -14,3 +14,4 @@ const nullish = (value) => {
14
14
  };
15
15
  };
16
16
  exports.nullish = nullish;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9udWxsaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHO1lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBVlcsUUFBQSxPQUFPLFdBVWxCIn0=
@@ -18,3 +18,4 @@ const objects = (value) => {
18
18
  };
19
19
  };
20
20
  exports.objects = objects;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9vYmplY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHLENBQUMsZ0JBQXlCO1lBQzVCLElBQUksZ0JBQWdCLFlBQVksTUFBTSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzlGLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQztnQkFDekIsT0FBTyxLQUFLLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBZFcsUUFBQSxPQUFPLFdBY2xCIn0=
@@ -47,3 +47,4 @@ const primitives = (initialValue) => {
47
47
  };
48
48
  };
49
49
  exports.primitives = primitives;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wcmltaXRpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sVUFBVSxHQUFHLENBQUMsWUFBb0IsRUFBRSxFQUFFO0lBQ2xELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqQyxNQUFNLFdBQVcsR0FBRyxPQUFPLFlBQVksQ0FBQztJQUV4QyxPQUFPO1FBQ04sR0FBRztZQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFFckMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJO29CQUNWLElBQUksSUFBSSxLQUFLLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQzt3QkFDakMsT0FBTyxVQUFVLElBQVk7NEJBQzVCLElBQUksSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO2dDQUMxQixNQUFNLElBQUksY0FBYyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7NEJBQ3JELENBQUM7NEJBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ3hCLENBQUMsQ0FBQztvQkFDSCxDQUFDO29CQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUN4QixPQUFPOzRCQUNOLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUN4QixDQUFDLENBQUM7b0JBQ0gsQ0FBQztvQkFHRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxRQUFRLEVBQUUsQ0FBQzt3QkFDckMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNoQyxDQUFDO29CQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxNQUFNLENBQUM7Z0JBQ2YsQ0FBQzthQUNELENBQUMsQ0FBQztZQUNILE9BQU8sWUFBWSxDQUFDO1FBQ3JCLENBQUM7UUFhRCxHQUFHLENBQUMsZ0JBQXlCO1lBQzVCLElBQUksZ0JBQWdCLFlBQVksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNuRCxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRTFDLElBQUksUUFBUSxZQUFZLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxHQUFHLFFBQVEsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUM7WUFDZCxDQUFDO1lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsb0JBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssQ0FBQztRQUNiLENBQUM7S0FDRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBaEVXLFFBQUEsVUFBVSxjQWdFckIifQ==
@@ -18,3 +18,4 @@ const special = (value) => {
18
18
  };
19
19
  };
20
20
  exports.special = special;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zcGVjaWFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsc0NBQXdDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDeEMsT0FBTztRQUNOLEdBQUc7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7UUFDRCxHQUFHLENBQUMsZ0JBQXdCO1lBQzNCLElBQUksT0FBTyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUM5QyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3pCLE9BQU8sS0FBSyxDQUFDO1lBQ2QsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLG9CQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsTUFBTSxLQUFLLENBQUM7UUFDYixDQUFDO0tBQ0QsQ0FBQztBQUNILENBQUMsQ0FBQztBQWRXLFFBQUEsT0FBTyxXQWNsQiJ9
package/package.json CHANGED
@@ -1,19 +1,39 @@
1
1
  {
2
2
  "name": "typeomatica",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "type logic against javascript metaprogramming",
5
5
  "engines": {
6
- "node": ">=14"
6
+ "node": ">=16"
7
7
  },
8
8
  "main": "lib/index.js",
9
- "scripts": {
10
- "build": "rm -rf ./lib && npx tsc --pretty",
11
- "buildlint": "rm -rf ./lib && npx tsc --pretty && npm run lint",
12
- "lint": "npx eslint --fix --ignore-path .gitignore ./lib",
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
+ },
26
+ "scripts": {
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
- "debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand",
16
- "debug:old": "npx --node-options=--inspect-brk jest",
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,19 @@
30
50
  "url": "git+https://github.com/wentout/typeomatica.git"
31
51
  },
32
52
  "devDependencies": {
33
- "@types/jest": "^29.5.5",
34
- "@types/node": "^18.18.4",
35
- "@typescript-eslint/eslint-plugin": "^6.7.4",
36
- "@typescript-eslint/parser": "^6.7.4",
37
- "eslint": "^8.51.0",
38
- "husky": "^8.0.3",
39
- "jest": "^29.7.0",
53
+ "@types/jest": "^30.0.0",
54
+ "@types/node": "^25.0.9",
55
+ "@typescript-eslint/eslint-plugin": "^8.53.0",
56
+ "@typescript-eslint/parser": "^8.53.0",
57
+ "eslint": "^9.39.2",
58
+ "globals": "^17.0.0",
59
+ "husky": "^9.1.7",
60
+ "jest": "^30.2.0",
40
61
  "json5": "^2.2.3",
41
- "lint-staged": "^13.3.0",
62
+ "lint-staged": "^16.2.7",
42
63
  "set-value": "^4.1.0",
43
- "ts-jest": "^29.1.1",
44
- "ts-node": "^10.9.1",
45
- "typescript": "^5.2.2"
64
+ "ts-jest": "^29.4.6",
65
+ "ts-node": "^10.9.2",
66
+ "typescript": "^5.9.3"
46
67
  }
47
68
  }
package/.editorconfig DELETED
@@ -1,11 +0,0 @@
1
- root = true
2
-
3
- [*]
4
- trim_trailing_whitespace = false
5
- indent_style = tab
6
- end_of_line = lf
7
- insert_final_newline = true
8
-
9
- [{package*.json,*.yml}]
10
- indent_style = space
11
- indent_size = 2
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
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env sh
2
- . "$(dirname -- "$0")/_/husky.sh"
3
-
4
- npm test
package/jest.config.js DELETED
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- preset: 'ts-jest',
3
- testEnvironment: 'node',
4
- testMatch: ['**/test/**/index.ts', '**/test/**/addition.js'],
5
- transform : {
6
- '\\./test/*.ts$': ['ts-jest', { tsconfig : './tsconfig.jest.json' }]
7
- }
8
- };
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
- };
package/src/fields.ts DELETED
@@ -1,76 +0,0 @@
1
- 'use strict';
2
-
3
- import { ErrorsNames } from './errors';
4
-
5
- const SymbolInitialValue = Symbol('Initial Value');
6
-
7
- interface FieldDefinition {
8
- [SymbolInitialValue]: unknown
9
- // get?: unknown
10
- // set?: unknown
11
- // configurable: boolean,
12
- // enumerable: boolean,
13
- // writable: boolean
14
- }
15
-
16
- // export const FieldConstructor = function (this: FieldDefinition, value: unknown) {
17
- // this[SymbolInitialValue] = value;
18
- // } as ObjectConstructor;
19
-
20
- export class FieldConstructor implements FieldDefinition {
21
- [SymbolInitialValue]: unknown;
22
- public get get () {
23
- const self = this;
24
- return function (/* this: FieldDefinition */) {
25
- return self[SymbolInitialValue];
26
- };
27
- }
28
- public get set () {
29
- return function () {
30
- throw new TypeError(ErrorsNames.FORBIDDEN_RE);
31
- };
32
- }
33
- constructor (value: unknown) {
34
- this[SymbolInitialValue] = value;
35
- }
36
- static get SymbolInitialValue () {
37
- return SymbolInitialValue;
38
- }
39
- }
40
-
41
- // Object.assign(FieldConstructor.prototype, {
42
- // configurable: false,
43
- // enumerable: false,
44
- // // writable: false
45
- // })
46
-
47
- // Object.defineProperty(FieldConstructor.prototype, 'get', {
48
- // get() {
49
- // return this[symbolValue];
50
- // },
51
- // // @ts-ignore
52
- // set(value: unknown) {
53
- // throw new Error('broken behaviour: assignment to getter');
54
- // },
55
- // configurable: false,
56
- // enumerable: true,
57
- // // writable: false
58
- // });
59
-
60
- // Object.defineProperty(FieldConstructor.prototype, 'set', {
61
- // get() {
62
- // return function (this: FieldDefinition, value: unknown) {
63
- // this[symbolValue] = value;
64
- // }
65
- // },
66
- // // @ts-ignore
67
- // set(value: unknown) {
68
- // throw new Error('broken behaviour: assignment to setter');
69
- // },
70
- // configurable: false,
71
- // enumerable: true,
72
- // // writable: false
73
- // });
74
-
75
- Object.freeze(FieldConstructor.prototype);
76
- Object.seal(FieldConstructor.prototype);