@nejs/basic-extensions 2.20.0 → 2.21.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/.idea/markdown.xml +8 -0
- package/.idea/modules.xml +8 -0
- package/.idea/ne-basic-extensions.iml +8 -0
- package/.idea/vcs.xml +6 -0
- package/CODE_STYLE.md +393 -0
- package/CODING_PHILOSOPHY.md +36 -0
- package/DOCUMENTATION_GUIDELINES.md +221 -0
- package/bin/repl.basics.js +36 -6
- package/bin/repl.signature.js +63 -0
- package/dist/@nejs/basic-extensions.bundle.2.21.5.js +25 -0
- package/dist/@nejs/basic-extensions.bundle.2.21.5.js.map +7 -0
- package/dist/cjs/big.int.extension.js +153 -45
- package/dist/cjs/big.int.extension.js.map +1 -1
- package/dist/cjs/classes/descriptor.d.ts +1 -1
- package/dist/cjs/classes/enum.d.ts +37 -19
- package/dist/cjs/classes/enum.js +181 -56
- package/dist/cjs/classes/enum.js.map +1 -1
- package/dist/cjs/classes/iterable.d.ts +3 -3
- package/dist/cjs/classes/param.parser.d.ts +1 -7
- package/dist/cjs/classes/pluggable.proxy.d.ts +2 -1
- package/dist/cjs/classes/property.d.ts +2 -9
- package/dist/cjs/classes/refset.d.ts +2 -2
- package/dist/cjs/classes/symkeys.d.ts +1 -1
- package/dist/cjs/global.this.js +17 -7
- package/dist/cjs/global.this.js.map +1 -1
- package/dist/cjs/index.d.ts +9 -6
- package/dist/cjs/index.js +15 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/math.extension.d.ts +14 -0
- package/dist/cjs/math.extension.js +71 -0
- package/dist/cjs/math.extension.js.map +1 -0
- package/dist/cjs/number.extension.js +17 -0
- package/dist/cjs/number.extension.js.map +1 -1
- package/dist/cjs/string.extensions.js +38 -0
- package/dist/cjs/string.extensions.js.map +1 -1
- package/dist/cjs/utils/copy.object.d.ts +2 -2
- package/dist/cjs/utils/descriptor.utils.d.ts +152 -0
- package/dist/cjs/utils/descriptor.utils.js +228 -9
- package/dist/cjs/utils/descriptor.utils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +15 -0
- package/dist/cjs/utils/index.js +9 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/stdout.d.ts +742 -0
- package/dist/cjs/utils/stdout.js +1042 -0
- package/dist/cjs/utils/stdout.js.map +1 -0
- package/dist/mjs/big.int.extension.js +153 -45
- package/dist/mjs/big.int.extension.js.map +1 -1
- package/dist/mjs/classes/descriptor.d.ts +1 -1
- package/dist/mjs/classes/enum.d.ts +37 -19
- package/dist/mjs/classes/enum.js +181 -57
- package/dist/mjs/classes/enum.js.map +1 -1
- package/dist/mjs/classes/iterable.d.ts +3 -3
- package/dist/mjs/classes/param.parser.d.ts +1 -7
- package/dist/mjs/classes/pluggable.proxy.d.ts +2 -1
- package/dist/mjs/classes/property.d.ts +2 -9
- package/dist/mjs/classes/refset.d.ts +2 -2
- package/dist/mjs/classes/symkeys.d.ts +1 -1
- package/dist/mjs/index.d.ts +9 -6
- package/dist/mjs/index.js +15 -8
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/math.extension.d.ts +14 -0
- package/dist/mjs/math.extension.js +68 -0
- package/dist/mjs/math.extension.js.map +1 -0
- package/dist/mjs/number.extension.js +17 -0
- package/dist/mjs/number.extension.js.map +1 -1
- package/dist/mjs/string.extensions.js +38 -0
- package/dist/mjs/string.extensions.js.map +1 -1
- package/dist/mjs/utils/copy.object.d.ts +2 -2
- package/dist/mjs/utils/descriptor.utils.d.ts +152 -0
- package/dist/mjs/utils/descriptor.utils.js +222 -9
- package/dist/mjs/utils/descriptor.utils.js.map +1 -1
- package/dist/mjs/utils/index.d.ts +15 -0
- package/dist/mjs/utils/index.js +10 -1
- package/dist/mjs/utils/index.js.map +1 -1
- package/dist/mjs/utils/stdout.d.ts +742 -0
- package/dist/mjs/utils/stdout.js +1037 -0
- package/dist/mjs/utils/stdout.js.map +1 -0
- package/package.json +6 -20
- package/repl.bootstrap.js +24 -16
- package/repl.history +30 -30
- package/src/big.int.extension.js +171 -45
- package/src/classes/enum.js +249 -109
- package/src/index.js +24 -8
- package/src/math.extension.js +73 -0
- package/src/number.extension.js +18 -0
- package/src/string.extensions.js +41 -0
- package/src/utils/descriptor.utils.js +277 -9
- package/src/utils/index.js +20 -0
- package/src/utils/stdout.js +1151 -0
- package/tests/utils/descriptor.utils.test.js +130 -0
- package/dist/@nejs/basic-extensions.bundle.2.20.0.js +0 -19
- package/dist/@nejs/basic-extensions.bundle.2.20.0.js.map +0 -7
|
@@ -11,6 +11,51 @@ export namespace DescriptorUtils {
|
|
|
11
11
|
const data: Function & {
|
|
12
12
|
keys: string[];
|
|
13
13
|
};
|
|
14
|
+
function describe(object: any, key: any, value: any, detectDescriptorValues?: boolean): any;
|
|
15
|
+
function describeMany(object: any, keyValues: any, detectDescriptorValues?: boolean): never[] | undefined;
|
|
16
|
+
function extract(fromObject: any, keysToExtract: any, defaultIfMissing?: undefined, extractDescriptors?: boolean): {};
|
|
17
|
+
/**
|
|
18
|
+
* Determines if a given value is an accessor descriptor.
|
|
19
|
+
*
|
|
20
|
+
* An accessor descriptor is a property descriptor that defines
|
|
21
|
+
* getter and/or setter functions for a property. This function
|
|
22
|
+
* checks the validity of the descriptor and whether it qualifies
|
|
23
|
+
* as an accessor.
|
|
24
|
+
*
|
|
25
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
26
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
27
|
+
* validation of the descriptor.
|
|
28
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
29
|
+
* is an accessor descriptor, otherwise false.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Example usage:
|
|
33
|
+
* const descriptor = { get: () => 42, set: (val) => {} }
|
|
34
|
+
* const result = DescriptorUtils.isAccessor(descriptor)
|
|
35
|
+
* console.log(result) // Outputs: true
|
|
36
|
+
*/
|
|
37
|
+
function isAccessor(value: Object, strict?: boolean): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Checks if a given value is a data descriptor.
|
|
40
|
+
*
|
|
41
|
+
* A data descriptor is a property descriptor that defines a value
|
|
42
|
+
* and optionally a writable attribute for a property. This function
|
|
43
|
+
* evaluates the descriptor's validity and whether it qualifies as
|
|
44
|
+
* a data descriptor.
|
|
45
|
+
*
|
|
46
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
47
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
48
|
+
* validation of the descriptor.
|
|
49
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
50
|
+
* is a data descriptor, otherwise false.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* // Example usage:
|
|
54
|
+
* const descriptor = { value: 42, writable: true }
|
|
55
|
+
* const result = DescriptorUtils.isData(descriptor)
|
|
56
|
+
* console.log(result) // Outputs: true
|
|
57
|
+
*/
|
|
58
|
+
function isData(value: Object, strict?: boolean): boolean;
|
|
14
59
|
/**
|
|
15
60
|
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
16
61
|
* calculates a deterministic probability that the supplied value is
|
|
@@ -36,6 +81,34 @@ export namespace DescriptorUtils {
|
|
|
36
81
|
* stats block.
|
|
37
82
|
*/
|
|
38
83
|
function isDescriptor(value: unknown, returnStats?: boolean | null, strict?: boolean | null): IsDescriptorResponse;
|
|
84
|
+
/**
|
|
85
|
+
* Redefines a property on an object with new descriptors and options.
|
|
86
|
+
* This function allows renaming, aliasing, and redefining property
|
|
87
|
+
* descriptors such as configurable, enumerable, writable, get, and set.
|
|
88
|
+
*
|
|
89
|
+
* @param {Object} object - The target object whose property is to be
|
|
90
|
+
* redefined.
|
|
91
|
+
* @param {string|symbol} key - The key of the property to redefine.
|
|
92
|
+
* @param {Object} as - An object containing new property descriptors.
|
|
93
|
+
* @param {Object} [options] - Optional settings for renaming and aliasing.
|
|
94
|
+
* @param {string|symbol} [options.rename] - New key name for the property.
|
|
95
|
+
* @param {Array<string|symbol>} [options.alsoAs] - Additional aliases for
|
|
96
|
+
* the property.
|
|
97
|
+
* @param {Object} [options.moveTo] optionally move the descriptor from this
|
|
98
|
+
* object to another.
|
|
99
|
+
* @returns {any} the result of `object[key]` in its final state
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* const obj = { a: 1 }
|
|
103
|
+
* redescribe(obj, 'a', { writable: false }, { rename: 'b', alsoAs: ['c'] })
|
|
104
|
+
* console.log(obj.b) // Outputs: 1
|
|
105
|
+
* console.log(obj.c) // Outputs: 1
|
|
106
|
+
*/
|
|
107
|
+
function redescribe(object: Object, key: string | symbol, as: Object, options?: {
|
|
108
|
+
rename?: string | symbol | undefined;
|
|
109
|
+
alsoAs?: (string | symbol)[] | undefined;
|
|
110
|
+
moveTo?: Object | undefined;
|
|
111
|
+
}): any;
|
|
39
112
|
const kAccessorDescriptorKeys: string[];
|
|
40
113
|
const kDataDescriptorKeys: string[];
|
|
41
114
|
const kSharedDescriptorKeys: string[];
|
|
@@ -45,7 +118,13 @@ declare namespace _default {
|
|
|
45
118
|
export { DescriptorUtils };
|
|
46
119
|
export { accessor };
|
|
47
120
|
export { data };
|
|
121
|
+
export { describe };
|
|
122
|
+
export { describeMany };
|
|
123
|
+
export { extract };
|
|
124
|
+
export { isAccessor };
|
|
125
|
+
export { isData };
|
|
48
126
|
export { isDescriptor };
|
|
127
|
+
export { redescribe };
|
|
49
128
|
export { kAccessorDescriptorKeys };
|
|
50
129
|
export { kDataDescriptorKeys };
|
|
51
130
|
export { kDescriptorKeys };
|
|
@@ -115,6 +194,51 @@ export const accessor: Function & {
|
|
|
115
194
|
export const data: Function & {
|
|
116
195
|
keys: string[];
|
|
117
196
|
};
|
|
197
|
+
export function describe(object: any, key: any, value: any, detectDescriptorValues?: boolean): any;
|
|
198
|
+
export function describeMany(object: any, keyValues: any, detectDescriptorValues?: boolean): never[] | undefined;
|
|
199
|
+
export function extract(fromObject: any, keysToExtract: any, defaultIfMissing?: undefined, extractDescriptors?: boolean): {};
|
|
200
|
+
/**
|
|
201
|
+
* Determines if a given value is an accessor descriptor.
|
|
202
|
+
*
|
|
203
|
+
* An accessor descriptor is a property descriptor that defines
|
|
204
|
+
* getter and/or setter functions for a property. This function
|
|
205
|
+
* checks the validity of the descriptor and whether it qualifies
|
|
206
|
+
* as an accessor.
|
|
207
|
+
*
|
|
208
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
209
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
210
|
+
* validation of the descriptor.
|
|
211
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
212
|
+
* is an accessor descriptor, otherwise false.
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* // Example usage:
|
|
216
|
+
* const descriptor = { get: () => 42, set: (val) => {} }
|
|
217
|
+
* const result = DescriptorUtils.isAccessor(descriptor)
|
|
218
|
+
* console.log(result) // Outputs: true
|
|
219
|
+
*/
|
|
220
|
+
export function isAccessor(value: Object, strict?: boolean): boolean;
|
|
221
|
+
/**
|
|
222
|
+
* Checks if a given value is a data descriptor.
|
|
223
|
+
*
|
|
224
|
+
* A data descriptor is a property descriptor that defines a value
|
|
225
|
+
* and optionally a writable attribute for a property. This function
|
|
226
|
+
* evaluates the descriptor's validity and whether it qualifies as
|
|
227
|
+
* a data descriptor.
|
|
228
|
+
*
|
|
229
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
230
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
231
|
+
* validation of the descriptor.
|
|
232
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
233
|
+
* is a data descriptor, otherwise false.
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* // Example usage:
|
|
237
|
+
* const descriptor = { value: 42, writable: true }
|
|
238
|
+
* const result = DescriptorUtils.isData(descriptor)
|
|
239
|
+
* console.log(result) // Outputs: true
|
|
240
|
+
*/
|
|
241
|
+
export function isData(value: Object, strict?: boolean): boolean;
|
|
118
242
|
/**
|
|
119
243
|
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
120
244
|
* calculates a deterministic probability that the supplied value is
|
|
@@ -140,6 +264,34 @@ export const data: Function & {
|
|
|
140
264
|
* stats block.
|
|
141
265
|
*/
|
|
142
266
|
export function isDescriptor(value: unknown, returnStats?: boolean | null, strict?: boolean | null): IsDescriptorResponse;
|
|
267
|
+
/**
|
|
268
|
+
* Redefines a property on an object with new descriptors and options.
|
|
269
|
+
* This function allows renaming, aliasing, and redefining property
|
|
270
|
+
* descriptors such as configurable, enumerable, writable, get, and set.
|
|
271
|
+
*
|
|
272
|
+
* @param {Object} object - The target object whose property is to be
|
|
273
|
+
* redefined.
|
|
274
|
+
* @param {string|symbol} key - The key of the property to redefine.
|
|
275
|
+
* @param {Object} as - An object containing new property descriptors.
|
|
276
|
+
* @param {Object} [options] - Optional settings for renaming and aliasing.
|
|
277
|
+
* @param {string|symbol} [options.rename] - New key name for the property.
|
|
278
|
+
* @param {Array<string|symbol>} [options.alsoAs] - Additional aliases for
|
|
279
|
+
* the property.
|
|
280
|
+
* @param {Object} [options.moveTo] optionally move the descriptor from this
|
|
281
|
+
* object to another.
|
|
282
|
+
* @returns {any} the result of `object[key]` in its final state
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* const obj = { a: 1 }
|
|
286
|
+
* redescribe(obj, 'a', { writable: false }, { rename: 'b', alsoAs: ['c'] })
|
|
287
|
+
* console.log(obj.b) // Outputs: 1
|
|
288
|
+
* console.log(obj.c) // Outputs: 1
|
|
289
|
+
*/
|
|
290
|
+
export function redescribe(object: Object, key: string | symbol, as: Object, options?: {
|
|
291
|
+
rename?: string | symbol | undefined;
|
|
292
|
+
alsoAs?: (string | symbol)[] | undefined;
|
|
293
|
+
moveTo?: Object | undefined;
|
|
294
|
+
}): any;
|
|
143
295
|
export const kAccessorDescriptorKeys: string[];
|
|
144
296
|
export const kDataDescriptorKeys: string[];
|
|
145
297
|
export const kDescriptorKeys: string[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/** @typedef {string|symbol|number} PropertyKey */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.kSharedDescriptorKeys = exports.kDescriptorKeys = exports.kDataDescriptorKeys = exports.kAccessorDescriptorKeys = exports.isDescriptor = exports.data = exports.accessor = exports.DescriptorUtils = void 0;
|
|
4
|
+
exports.kSharedDescriptorKeys = exports.kDescriptorKeys = exports.kDataDescriptorKeys = exports.kAccessorDescriptorKeys = exports.redescribe = exports.isDescriptor = exports.isData = exports.isAccessor = exports.extract = exports.describeMany = exports.describe = exports.data = exports.accessor = exports.DescriptorUtils = void 0;
|
|
5
5
|
/**
|
|
6
6
|
* The `IsDescriptorStats` block contains all the information used to make
|
|
7
7
|
* a determination as to whether a given value is a an instance of the type
|
|
@@ -424,7 +424,7 @@ exports.DescriptorUtils = {
|
|
|
424
424
|
: Object(optionsOrWritable);
|
|
425
425
|
configurable = configurable === undefined ? true : !!configurable;
|
|
426
426
|
enumerable = enumerable === undefined ? true : !!enumerable;
|
|
427
|
-
if (valueIsDescriptor) {
|
|
427
|
+
if (valueIsDescriptor && !(options?.allowDescriptorValue)) {
|
|
428
428
|
options = {
|
|
429
429
|
writable: value?.writable ?? true,
|
|
430
430
|
configurable: value?.configurable ?? true,
|
|
@@ -468,6 +468,133 @@ exports.DescriptorUtils = {
|
|
|
468
468
|
});
|
|
469
469
|
return data;
|
|
470
470
|
},
|
|
471
|
+
describe(object, key, value, detectDescriptorValues = true) {
|
|
472
|
+
const { isAccessor, isData, data } = exports.DescriptorUtils;
|
|
473
|
+
if (!(object && object instanceof Object))
|
|
474
|
+
return undefined;
|
|
475
|
+
if (!(['string', 'number', 'symbol'].includes(typeof key)))
|
|
476
|
+
return undefined;
|
|
477
|
+
if (detectDescriptorValues && isAccessor(value) || isData(value)) {
|
|
478
|
+
return Object.defineProperty(object, key, value);
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
return Object.defineProperty(object, key, data(value));
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
describeMany(object, keyValues, detectDescriptorValues = true) {
|
|
485
|
+
const { isAccessor, isData, isDescriptor, data, describe } = exports.DescriptorUtils;
|
|
486
|
+
const isKey = k => ['string', 'number', 'symbol'].includes(typeof k);
|
|
487
|
+
let map = undefined;
|
|
488
|
+
if (Array.isArray(keyValues)) {
|
|
489
|
+
map = new Map(keyValues.filter(keyValue => {
|
|
490
|
+
return typeof keyValue === 'function' && keyValue.length === 2;
|
|
491
|
+
}));
|
|
492
|
+
}
|
|
493
|
+
else if (keyValues instanceof Map) {
|
|
494
|
+
map = keyValues;
|
|
495
|
+
}
|
|
496
|
+
else if (keyValues instanceof Object) {
|
|
497
|
+
const descriptors = Object.getOwnPropertyDescriptors(keyValues);
|
|
498
|
+
map = new Object.entries(descriptors);
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
return [];
|
|
502
|
+
}
|
|
503
|
+
for (const [key, value] of map) {
|
|
504
|
+
if (detectDescriptorValues) {
|
|
505
|
+
if (isDescriptor(key)) {
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
const accessorBase = { enumerable: true, configurable: true };
|
|
510
|
+
const dataBase = { writable: true, ...accessorBase };
|
|
511
|
+
const extractBase = descriptor => {
|
|
512
|
+
if (isAccessor(descriptor)) {
|
|
513
|
+
const { configurable, enumerable } = descriptor;
|
|
514
|
+
return { configurable, enumerable };
|
|
515
|
+
}
|
|
516
|
+
else if (isData(descriptor)) {
|
|
517
|
+
const { writable, configurable, enumerable } = descriptor;
|
|
518
|
+
return { writable, configurable, enumerable };
|
|
519
|
+
}
|
|
520
|
+
return undefined;
|
|
521
|
+
};
|
|
522
|
+
// convert all map entries to
|
|
523
|
+
// [baseDescriptor, {key: value, key: value, ...}]
|
|
524
|
+
// unless detectDescriptorValues == false in which case
|
|
525
|
+
// [dataBase, { key: value, key: value, etc... }]
|
|
526
|
+
// ... dropping all non-isKey(key) values
|
|
527
|
+
for (const [key, value] of map.entries()) {
|
|
528
|
+
const descriptor = (detectDescriptorValues && isDescriptor(value)
|
|
529
|
+
? value
|
|
530
|
+
: data(value, dataBase));
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
extract(fromObject, keysToExtract, defaultIfMissing = undefined, extractDescriptors = false) {
|
|
534
|
+
const { data } = exports.DescriptorUtils;
|
|
535
|
+
const output = {};
|
|
536
|
+
if (!fromObject || typeof fromObject !== 'object')
|
|
537
|
+
return output;
|
|
538
|
+
if (!Array.isArray(keysToExtract))
|
|
539
|
+
keysToExtract = [keysToExtract];
|
|
540
|
+
for (const key of keysToExtract) {
|
|
541
|
+
let descriptor = Object.getOwnPropertyDescriptor(fromObject, key);
|
|
542
|
+
if (!descriptor)
|
|
543
|
+
descriptor = data(defaultIfMissing);
|
|
544
|
+
if (extractDescriptors)
|
|
545
|
+
descriptor.value = data(descriptor, { allowDescriptorValue: true });
|
|
546
|
+
Object.defineProperty(output, key, descriptor);
|
|
547
|
+
}
|
|
548
|
+
return output;
|
|
549
|
+
},
|
|
550
|
+
/**
|
|
551
|
+
* Determines if a given value is an accessor descriptor.
|
|
552
|
+
*
|
|
553
|
+
* An accessor descriptor is a property descriptor that defines
|
|
554
|
+
* getter and/or setter functions for a property. This function
|
|
555
|
+
* checks the validity of the descriptor and whether it qualifies
|
|
556
|
+
* as an accessor.
|
|
557
|
+
*
|
|
558
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
559
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
560
|
+
* validation of the descriptor.
|
|
561
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
562
|
+
* is an accessor descriptor, otherwise false.
|
|
563
|
+
*
|
|
564
|
+
* @example
|
|
565
|
+
* // Example usage:
|
|
566
|
+
* const descriptor = { get: () => 42, set: (val) => {} }
|
|
567
|
+
* const result = DescriptorUtils.isAccessor(descriptor)
|
|
568
|
+
* console.log(result) // Outputs: true
|
|
569
|
+
*/
|
|
570
|
+
isAccessor(value, strict = true) {
|
|
571
|
+
const stats = exports.DescriptorUtils.isDescriptor(value, true, strict);
|
|
572
|
+
return stats.isValid && stats.isAccessor;
|
|
573
|
+
},
|
|
574
|
+
/**
|
|
575
|
+
* Checks if a given value is a data descriptor.
|
|
576
|
+
*
|
|
577
|
+
* A data descriptor is a property descriptor that defines a value
|
|
578
|
+
* and optionally a writable attribute for a property. This function
|
|
579
|
+
* evaluates the descriptor's validity and whether it qualifies as
|
|
580
|
+
* a data descriptor.
|
|
581
|
+
*
|
|
582
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
583
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
584
|
+
* validation of the descriptor.
|
|
585
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
586
|
+
* is a data descriptor, otherwise false.
|
|
587
|
+
*
|
|
588
|
+
* @example
|
|
589
|
+
* // Example usage:
|
|
590
|
+
* const descriptor = { value: 42, writable: true }
|
|
591
|
+
* const result = DescriptorUtils.isData(descriptor)
|
|
592
|
+
* console.log(result) // Outputs: true
|
|
593
|
+
*/
|
|
594
|
+
isData(value, strict = true) {
|
|
595
|
+
const stats = exports.DescriptorUtils.isDescriptor(value, true, strict);
|
|
596
|
+
return stats.isValid && stats.isData;
|
|
597
|
+
},
|
|
471
598
|
/**
|
|
472
599
|
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
473
600
|
* calculates a deterministic probability that the supplied value is
|
|
@@ -511,6 +638,7 @@ exports.DescriptorUtils = {
|
|
|
511
638
|
isAccessor: false,
|
|
512
639
|
isData: false,
|
|
513
640
|
isValid: false,
|
|
641
|
+
isBase: false,
|
|
514
642
|
};
|
|
515
643
|
if (!value || typeof value !== 'object' || !(value instanceof Object))
|
|
516
644
|
return returnStats ? stats : false;
|
|
@@ -538,6 +666,8 @@ exports.DescriptorUtils = {
|
|
|
538
666
|
stats.isAccessor = true;
|
|
539
667
|
if (score > 0 && stats.hasDataKeys)
|
|
540
668
|
stats.isData = true;
|
|
669
|
+
if (stats.isValid && !(['get', 'set', 'value'].some(hasKeyFn)))
|
|
670
|
+
stats.isBase = true;
|
|
541
671
|
if (stats.isValid && stats.isData && Reflect.has(value, 'value'))
|
|
542
672
|
score++;
|
|
543
673
|
else if (stats.isValid && stats.isAccessor) {
|
|
@@ -556,6 +686,89 @@ exports.DescriptorUtils = {
|
|
|
556
686
|
? true
|
|
557
687
|
: false;
|
|
558
688
|
},
|
|
689
|
+
/**
|
|
690
|
+
* Redefines a property on an object with new descriptors and options.
|
|
691
|
+
* This function allows renaming, aliasing, and redefining property
|
|
692
|
+
* descriptors such as configurable, enumerable, writable, get, and set.
|
|
693
|
+
*
|
|
694
|
+
* @param {Object} object - The target object whose property is to be
|
|
695
|
+
* redefined.
|
|
696
|
+
* @param {string|symbol} key - The key of the property to redefine.
|
|
697
|
+
* @param {Object} as - An object containing new property descriptors.
|
|
698
|
+
* @param {Object} [options] - Optional settings for renaming and aliasing.
|
|
699
|
+
* @param {string|symbol} [options.rename] - New key name for the property.
|
|
700
|
+
* @param {Array<string|symbol>} [options.alsoAs] - Additional aliases for
|
|
701
|
+
* the property.
|
|
702
|
+
* @param {Object} [options.moveTo] optionally move the descriptor from this
|
|
703
|
+
* object to another.
|
|
704
|
+
* @returns {any} the result of `object[key]` in its final state
|
|
705
|
+
*
|
|
706
|
+
* @example
|
|
707
|
+
* const obj = { a: 1 }
|
|
708
|
+
* redescribe(obj, 'a', { writable: false }, { rename: 'b', alsoAs: ['c'] })
|
|
709
|
+
* console.log(obj.b) // Outputs: 1
|
|
710
|
+
* console.log(obj.c) // Outputs: 1
|
|
711
|
+
*/
|
|
712
|
+
redescribe(object, key, as, options) {
|
|
713
|
+
const { isAccessor, isData } = exports.DescriptorUtils;
|
|
714
|
+
const ifThen = (condition, fn, ...args) => condition && fn(...args);
|
|
715
|
+
const isBool = value => typeof value === 'boolean' || value instanceof Boolean;
|
|
716
|
+
const isFunction = value => typeof value === 'function';
|
|
717
|
+
const isObject = value => value && value instanceof Object;
|
|
718
|
+
const isDefined = (value, key) => isObject(value) && Reflect.has(value, key);
|
|
719
|
+
const isObjectKey = v => ['string', 'number', 'symbol'].includes(typeof v);
|
|
720
|
+
const define = (key, values) => Object.defineProperty(object, key, values);
|
|
721
|
+
const assign = (object, ...values) => Object.assign(object, ...values);
|
|
722
|
+
const isAnObject = isObject(object);
|
|
723
|
+
let asIsObject = isObject(as);
|
|
724
|
+
const descriptor = isAnObject && Object.getOwnPropertyDescriptor(object, key);
|
|
725
|
+
const aliases = [];
|
|
726
|
+
if (descriptor && !asIsObject) {
|
|
727
|
+
asIsObject = true;
|
|
728
|
+
as = {};
|
|
729
|
+
}
|
|
730
|
+
if (isObject(options)) {
|
|
731
|
+
if (isDefined(options, 'rename')) {
|
|
732
|
+
const successfulDelete = delete object[key];
|
|
733
|
+
if (successfulDelete)
|
|
734
|
+
key = options.rename;
|
|
735
|
+
}
|
|
736
|
+
if (isDefined(options, 'alsoAs')) {
|
|
737
|
+
if (Array.isArray(options.alsoAs)) {
|
|
738
|
+
for (const value of options.alsoAs.filter(v => isObjectKey(v)))
|
|
739
|
+
aliases.push(value);
|
|
740
|
+
}
|
|
741
|
+
else if (isObjectKey(options.alsoAs)) {
|
|
742
|
+
aliases.push(options.alsoAs);
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
if (isDefined(options, 'moveTo')) {
|
|
746
|
+
ifThen(isObject(options.moveTo), () => (object = options.moveTo));
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
if (isAnObject && asIsObject) {
|
|
750
|
+
let { configurable, enumerable, writable, get, set, value } = as;
|
|
751
|
+
if (isAccessor(descriptor)) {
|
|
752
|
+
ifThen(isFunction(get), () => assign(descriptor, { get }));
|
|
753
|
+
ifThen(isFunction(set), () => assign(descriptor, { set }));
|
|
754
|
+
}
|
|
755
|
+
ifThen(isBool(writable) && isData(descriptor), () => {
|
|
756
|
+
assign(descriptor, {
|
|
757
|
+
writable,
|
|
758
|
+
value: isDefined(as, 'value')
|
|
759
|
+
? value
|
|
760
|
+
: descriptor.value,
|
|
761
|
+
});
|
|
762
|
+
});
|
|
763
|
+
ifThen(isBool(configurable), () => assign(descriptor, { configurable }));
|
|
764
|
+
ifThen(isBool(enumerable), () => assign(descriptor, { enumerable }));
|
|
765
|
+
define(key, descriptor);
|
|
766
|
+
for (const alias of aliases) {
|
|
767
|
+
define(alias, descriptor);
|
|
768
|
+
}
|
|
769
|
+
return object[key];
|
|
770
|
+
}
|
|
771
|
+
},
|
|
559
772
|
/**
|
|
560
773
|
* Retrieves the keys associated with accessor descriptors.
|
|
561
774
|
*
|
|
@@ -633,10 +846,16 @@ exports.DescriptorUtils = {
|
|
|
633
846
|
}
|
|
634
847
|
};
|
|
635
848
|
// Destructure the functions individually...
|
|
636
|
-
const { accessor, data, isDescriptor } = exports.DescriptorUtils;
|
|
849
|
+
const { accessor, data, describe, describeMany, extract, isDescriptor, isAccessor, isData, redescribe, } = exports.DescriptorUtils;
|
|
637
850
|
exports.accessor = accessor;
|
|
638
851
|
exports.data = data;
|
|
852
|
+
exports.describe = describe;
|
|
853
|
+
exports.describeMany = describeMany;
|
|
854
|
+
exports.extract = extract;
|
|
639
855
|
exports.isDescriptor = isDescriptor;
|
|
856
|
+
exports.isAccessor = isAccessor;
|
|
857
|
+
exports.isData = isData;
|
|
858
|
+
exports.redescribe = redescribe;
|
|
640
859
|
// ...also destructure the constants individually....
|
|
641
860
|
const { kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys, kSharedDescriptorKeys } = exports.DescriptorUtils;
|
|
642
861
|
exports.kAccessorDescriptorKeys = kAccessorDescriptorKeys;
|
|
@@ -648,7 +867,13 @@ exports.default = {
|
|
|
648
867
|
DescriptorUtils: exports.DescriptorUtils,
|
|
649
868
|
accessor,
|
|
650
869
|
data,
|
|
870
|
+
describe,
|
|
871
|
+
describeMany,
|
|
872
|
+
extract,
|
|
873
|
+
isAccessor,
|
|
874
|
+
isData,
|
|
651
875
|
isDescriptor,
|
|
876
|
+
redescribe,
|
|
652
877
|
kAccessorDescriptorKeys,
|
|
653
878
|
kDataDescriptorKeys,
|
|
654
879
|
kDescriptorKeys,
|
|
@@ -661,10 +886,4 @@ function hasQuantity(quantityFn, object, keys) {
|
|
|
661
886
|
return isObject(object) && (keys.flat(Infinity)
|
|
662
887
|
.map(key => Reflect.has(object, key))[quantityFn](has => has));
|
|
663
888
|
}
|
|
664
|
-
function hasOne(object, ...keys) {
|
|
665
|
-
return isObject(object) && (keys.flat(Infinity)
|
|
666
|
-
.map(key => Reflect.has(object, key))
|
|
667
|
-
.filter(has => has)
|
|
668
|
-
.length === 1);
|
|
669
|
-
}
|
|
670
889
|
//# sourceMappingURL=descriptor.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.utils.js","sourceRoot":"","sources":["../../../src/utils/descriptor.utils.js"],"names":[],"mappings":";AAAA,kDAAkD;;;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AACU,QAAA,eAAe,GAAG;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0IG;IACH,IAAI,QAAQ;QACV,SAAS,QAAQ,CACf,GAAG,EACH,GAAG,EACH,qBAAqB,GAAG,IAAI,EAC5B,UAAU,GAAG,IAAI,EACjB,OAAO,EACP,GAAG,GAAG,OAAO,EACb,OAAO;YAEP,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAA;YAC9B,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;YACpE,MAAM,UAAU,GAAG;gBACjB,qBAAqB;gBACrB,KAAK,EAAE,KAAK;gBAEZ,mBAAmB;gBACnB,cAAc,EAAE,YAAY;gBAE5B,6BAA6B;gBAC7B,GAAG,WAAW;aACf,CAAA;YACD,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YACzE,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;YAEjE,IAAI,YAAY,GAAG,CAAC,CAAC,qBAAqB,CAAA;YAC1C,IAAI,OAAO,GAAG,SAAS,CAAA;YACvB,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,IAAI,KAAK,KAAK,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;gBAChE,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,QAAQ,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;oBACpC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE;oBACZ,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC;gBAEjC,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAA;YACvE,CAAC;YAED,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC3D,GAAG;oBACD,IAAI,OAAO,YAAY,GAAG;wBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;yBACpB,IAAI,QAAQ,CAAC,OAAO,CAAC;wBACxB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;gBACvB,CAAC;gBACD,GAAG,CAAC,KAAK;oBACP,IAAI,OAAO,YAAY,GAAG;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;yBACpB,IAAI,QAAQ,CAAC,OAAO,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACxB,CAAC;aACF,CAAC,CAAC,CAAA;YAEH,YAAY,GAAG,YAAY,IAAI,IAAI,CAAA;YACnC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAA;YAC/B,GAAG,GAAG,GAAG,IAAI,OAAO,CAAA;YACpB,IAAI,GAAG,IAAI,IAAI,KAAK,CAAA;YAEpB,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAA;YAChE,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,CAAA;YACvE,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAA;YACpD,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;YAC9D,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAA;YACxC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAA;YAC1C,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;gBACzD,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;gBACzD,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;aAC3D,CAAC,CAAA;YAEF,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAA;gBAC5B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAE/B,GAAG,GAAG,OAAO,CAAC,cAAa,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;gBACrD,GAAG,GAAG,OAAO,CAAC,UAAS,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;gBAExD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;YAC/C,CAAC;YAED,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAA;YACb,CAAC;YAED,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;gBAE5B,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,YAAY,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChE,OAAO,GAAG,EAAE,CAAA;gBACd,CAAC;gBAED,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC/B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEV,IAAI,IAAI,GAAG,cAAa,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA,CAAC,CAAC,CAAA;gBACxC,IAAI,IAAI,GAAG,UAAS,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;gBAE3C,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACzB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3B,CAAC;gBAED,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC5B,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAE5B,IAAI,OAAO,EAAE,CAAC;oBACZ,GAAG,GAAG,SAAS,CAAA;gBACjB,CAAC;gBAED,OAAO,EAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAC,CAAA;YAC7C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;gBAEzD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;oBACtD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEzB,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,GAAG,OAAO,IAAI,EAAG,CAAA;gBAExB,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;gBACvB,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;gBAEvB,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACzB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC3B,CAAC;gBAED,OAAO;oBACL,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC3B,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;oBAC3B,YAAY;oBACZ,UAAU;iBACX,CAAA;YACH,CAAC;YAED,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;QAC/C,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;YACtC,GAAG;gBAAK,OAAO,MAAM,CAAC,gBAAgB,CACpC,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,EAC5C;oBACE,IAAI,EAAE;wBACJ,KAAK,EAAE,SAAS,eAAe,CAAC,MAAM;4BACpC,MAAM,QAAQ,GAAG;gCACf,GAAG,EAAE,SAAS;gCACd,GAAG,EAAE,SAAS;gCACd,YAAY,EAAE,SAAS;gCACvB,UAAU,EAAE,SAAS;6BACtB,CAAA;4BAED,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC;gCACxC,OAAO,QAAQ,CAAA;4BAEjB,KAAK,MAAM,GAAG,IAAI,uBAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gCAChD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;oCAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;4BAC/B,CAAC;wBACH,CAAC;wBACD,QAAQ,EAAE,KAAK;wBACf,YAAY,EAAE,KAAK;wBACnB,UAAU,EAAE,KAAK;qBAClB;iBACF,CACF,CAAA;YAAC,CAAC;YACH,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwEG;IACH,IAAI,IAAI;QACN,SAAS,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU;YAC9D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAA;YAC9B,IAAI,iBAAiB,GAAG,KAAK,CAAA;YAE7B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO;oBACL,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;iBACjB,CAAA;YACH,CAAC;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,GAAG,uBAAe,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;gBACvD,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,iBAAiB,GAAG,IAAI,CAAA;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,GAAG,iBAAiB,KAAK,SAAS;gBAC5C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAExB,IAAI,OAAO,GAAG,OAAO,iBAAiB,KAAK,SAAS;gBAClD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE9B,YAAY,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;YACjE,UAAU,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;YAE3D,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,GAAG;oBACR,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;oBACjC,YAAY,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI;oBACzC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;iBACtC,CAAC;gBACF,KAAK,GAAG,KAAK,EAAE,KAAK,CAAA;YACtB,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAC,GAAG;oBACtC,GAAG,EAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAC;oBACvC,GAAG,OAAO;iBACX,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;QACtD,CAAC;QAED,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;YAClC,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAC5B,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,CAAC,EACnD;gBACE,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS,eAAe,CAAC,MAAM;wBACpC,MAAM,QAAQ,GAAG;4BACf,KAAK,EAAE,SAAS;4BAChB,QAAQ,EAAE,SAAS;4BACnB,YAAY,EAAE,SAAS;4BACvB,UAAU,EAAE,SAAS;yBACtB,CAAA;wBAED,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,MAAM,CAAC;4BACxC,OAAO,QAAQ,CAAA;wBAEjB,KAAK,MAAM,GAAG,IAAI,uBAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;gCAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;wBAC/B,CAAC;oBACH,CAAC;oBACD,QAAQ,EAAE,KAAK;oBACf,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,KAAK;iBAClB;aACF,CACF;YACD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI;QACpD,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAC/C,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,IAAI,CAAA;QAE/D,MAAM,SAAS,GAAG,CAAE,cAAc,EAAE,YAAY,CAAE,CAAA;QAClD,MAAM,SAAS,GAAG,CAAE,OAAO,EAAE,UAAU,CAAE,CAAA;QACzC,MAAM,aAAa,GAAG,CAAE,KAAK,EAAE,KAAK,CAAE,CAAA;QACtC,MAAM,YAAY,GAAG,CAAE,GAAG,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,aAAa,CAAE,CAAA;QACrE,MAAM,SAAS,GAAG,CAAE,WAAW,EAAE,SAAS,CAAE,CAAA;QAC5C,MAAM,SAAS,GAAG,CAAE,WAAW,EAAE,UAAU,CAAE,CAAA;QAC7C,MAAM,KAAK,GAAG;YACZ,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,KAAK;YAC5B,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;SACf,CAAA;QAED,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC;YACnE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAErC,IAAI,KAAK,GAAG,CAAC,CAAA;QAEb,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACtC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEpE,IAAI,MAAM,IAAI,WAAW,CAAC,MAAM;gBAC9B,OAAO,KAAK,CAAA;YAEd,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;gBACrB,KAAK,EAAE,CAAA;YAET,KAAK,CAAC,eAAe;gBACnB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAA;YAEzD,KAAK,CAAC,WAAW;gBACf,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;YAElD,KAAK,CAAC,qBAAqB;gBACzB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAA;YAEjD,IAAI,KAAK,CAAC,qBAAqB;gBAC7B,KAAK,EAAE,CAAA;YAET,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW;gBAC5C,KAAK,EAAE,CAAA;YAET,IAAI,KAAK,GAAG,CAAC;gBACX,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;YAEtB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,eAAe;gBACpC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAA;YAEzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW;gBAChC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YAErB,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC9D,KAAK,EAAE,CAAA;iBAEJ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACrD,KAAK,EAAE,CAAA;YACX,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC/C,KAAK,GAAG,CAAC,CAAA;gBACT,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;YACvB,CAAC;YAED,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;QAC5C,CAAC;QAED,IAAI,WAAW;YACb,OAAO,KAAK,CAAA;QAEd,OAAO,KAAK,IAAI,GAAG;YACjB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,uBAAuB;QACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,mBAAmB;QACrB,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,qBAAqB;QACvB,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,eAAe;QACjB,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;SAChC,CAAA;IACH,CAAC;CACF,CAAA;AAED,4CAA4C;AAC5C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,uBAAe,CAAA;AAYtD,4BAAQ;AACR,oBAAI;AACJ,oCAAY;AAZd,qDAAqD;AACrD,MAAM,EACJ,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,GAAG,uBAAe,CAAA;AAQjB,0DAAuB;AACvB,kDAAmB;AACnB,0CAAe;AACf,sDAAqB;AAGvB,kCAAkC;AAClC,kBAAe;IACb,eAAe,EAAf,uBAAe;IAEf,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;CACtB,CAAA;AAED,0CAA0C;AAE1C,SAAS,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC;AAC1D,SAAS,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;AAC9E,SAAS,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC5C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CACpC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CACzB,CAAA;AACH,CAAC;AACD,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI;IAC7B,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC5C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACpC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;SAClB,MAAM,KAAK,CAAC,CACd,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"descriptor.utils.js","sourceRoot":"","sources":["../../../src/utils/descriptor.utils.js"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./copy.object.js";
|
|
2
|
+
export * from "./stdout.js";
|
|
2
3
|
export * from "./toolkit.js";
|
|
3
4
|
export * from "./descriptor.utils.js";
|
|
4
5
|
declare namespace _default {
|
|
@@ -9,6 +10,8 @@ declare namespace _default {
|
|
|
9
10
|
export { ImmutablyVisibleHandler };
|
|
10
11
|
export { MutablyHiddenHandler };
|
|
11
12
|
export { MutablyVisibleHandler };
|
|
13
|
+
export { StdoutGlobalPatches };
|
|
14
|
+
export { StringConsole };
|
|
12
15
|
export { VisibilityKeys };
|
|
13
16
|
export { VisibilityScopeHandler };
|
|
14
17
|
export { as };
|
|
@@ -16,12 +19,17 @@ declare namespace _default {
|
|
|
16
19
|
export { is };
|
|
17
20
|
export { si };
|
|
18
21
|
export { accessor };
|
|
22
|
+
export { captureStdout };
|
|
19
23
|
export { copyObject };
|
|
20
24
|
export { createToolkit };
|
|
21
25
|
export { customCopyObject };
|
|
22
26
|
export { data };
|
|
27
|
+
export { describe };
|
|
28
|
+
export { describeMany };
|
|
29
|
+
export { extract };
|
|
23
30
|
export { isDescriptor };
|
|
24
31
|
export { makeTransducer };
|
|
32
|
+
export { redescribe };
|
|
25
33
|
export { transduceFrom };
|
|
26
34
|
export { transduceFromCOHandler };
|
|
27
35
|
export { tryIgnore };
|
|
@@ -38,6 +46,8 @@ import { ImmutablyHiddenHandler } from './copy.object.js';
|
|
|
38
46
|
import { ImmutablyVisibleHandler } from './copy.object.js';
|
|
39
47
|
import { MutablyHiddenHandler } from './copy.object.js';
|
|
40
48
|
import { MutablyVisibleHandler } from './copy.object.js';
|
|
49
|
+
import { StdoutGlobalPatches } from './stdout.js';
|
|
50
|
+
import { StringConsole } from './stdout.js';
|
|
41
51
|
import { VisibilityKeys } from './copy.object.js';
|
|
42
52
|
import { VisibilityScopeHandler } from './copy.object.js';
|
|
43
53
|
import { as } from './toolkit.js';
|
|
@@ -45,12 +55,17 @@ import { has } from './toolkit.js';
|
|
|
45
55
|
import { is } from './toolkit.js';
|
|
46
56
|
import { si } from './toolkit.js';
|
|
47
57
|
import { accessor } from './descriptor.utils.js';
|
|
58
|
+
import { captureStdout } from './stdout.js';
|
|
48
59
|
import { copyObject } from './copy.object.js';
|
|
49
60
|
import { createToolkit } from './toolkit.js';
|
|
50
61
|
import { customCopyObject } from './copy.object.js';
|
|
51
62
|
import { data } from './descriptor.utils.js';
|
|
63
|
+
import { describe } from './descriptor.utils.js';
|
|
64
|
+
import { describeMany } from './descriptor.utils.js';
|
|
65
|
+
import { extract } from './descriptor.utils.js';
|
|
52
66
|
import { isDescriptor } from './descriptor.utils.js';
|
|
53
67
|
import { makeTransducer } from './copy.object.js';
|
|
68
|
+
import { redescribe } from './descriptor.utils.js';
|
|
54
69
|
import { transduceFrom } from './copy.object.js';
|
|
55
70
|
import { transduceFromCOHandler } from './copy.object.js';
|
|
56
71
|
import { tryIgnore } from './copy.object.js';
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -16,6 +16,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./copy.object.js"), exports);
|
|
18
18
|
const copy_object_js_1 = require("./copy.object.js");
|
|
19
|
+
__exportStar(require("./stdout.js"), exports);
|
|
20
|
+
const stdout_js_1 = require("./stdout.js");
|
|
19
21
|
__exportStar(require("./toolkit.js"), exports);
|
|
20
22
|
const toolkit_js_1 = require("./toolkit.js");
|
|
21
23
|
__exportStar(require("./descriptor.utils.js"), exports);
|
|
@@ -28,6 +30,8 @@ exports.default = {
|
|
|
28
30
|
ImmutablyVisibleHandler: copy_object_js_1.ImmutablyVisibleHandler,
|
|
29
31
|
MutablyHiddenHandler: copy_object_js_1.MutablyHiddenHandler,
|
|
30
32
|
MutablyVisibleHandler: copy_object_js_1.MutablyVisibleHandler,
|
|
33
|
+
StdoutGlobalPatches: stdout_js_1.StdoutGlobalPatches,
|
|
34
|
+
StringConsole: stdout_js_1.StringConsole,
|
|
31
35
|
VisibilityKeys: copy_object_js_1.VisibilityKeys,
|
|
32
36
|
VisibilityScopeHandler: copy_object_js_1.VisibilityScopeHandler,
|
|
33
37
|
as: toolkit_js_1.as,
|
|
@@ -35,12 +39,17 @@ exports.default = {
|
|
|
35
39
|
is: toolkit_js_1.is,
|
|
36
40
|
si: toolkit_js_1.si,
|
|
37
41
|
accessor: descriptor_utils_js_1.accessor,
|
|
42
|
+
captureStdout: stdout_js_1.captureStdout,
|
|
38
43
|
copyObject: copy_object_js_1.copyObject,
|
|
39
44
|
createToolkit: toolkit_js_1.createToolkit,
|
|
40
45
|
customCopyObject: copy_object_js_1.customCopyObject,
|
|
41
46
|
data: descriptor_utils_js_1.data,
|
|
47
|
+
describe: descriptor_utils_js_1.describe,
|
|
48
|
+
describeMany: descriptor_utils_js_1.describeMany,
|
|
49
|
+
extract: descriptor_utils_js_1.extract,
|
|
42
50
|
isDescriptor: descriptor_utils_js_1.isDescriptor,
|
|
43
51
|
makeTransducer: copy_object_js_1.makeTransducer,
|
|
52
|
+
redescribe: descriptor_utils_js_1.redescribe,
|
|
44
53
|
transduceFrom: copy_object_js_1.transduceFrom,
|
|
45
54
|
transduceFromCOHandler: copy_object_js_1.transduceFromCOHandler,
|
|
46
55
|
tryIgnore: copy_object_js_1.tryIgnore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,qDAmByB;AAEzB,+CAA4B;AAC5B,6CAOqB;AAErB,wDAAqC;AACrC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,qDAmByB;AAEzB,8CAA2B;AAC3B,2CAMoB;AAEpB,+CAA4B;AAC5B,6CAOqB;AAErB,wDAAqC;AACrC,+DAW8B;AAE9B,kBAAe;IACb,iBAAiB,EAAjB,kCAAiB;IACjB,qBAAqB,EAArB,sCAAqB;IACrB,sBAAsB,EAAtB,uCAAsB;IACtB,sBAAsB,EAAtB,uCAAsB;IACtB,uBAAuB,EAAvB,wCAAuB;IACvB,oBAAoB,EAApB,qCAAoB;IACpB,qBAAqB,EAArB,sCAAqB;IACrB,mBAAmB,EAAnB,+BAAmB;IACnB,aAAa,EAAb,yBAAa;IACb,cAAc,EAAd,+BAAc;IACd,sBAAsB,EAAtB,uCAAsB;IAEtB,EAAE,EAAF,eAAE;IACF,GAAG,EAAH,gBAAG;IACH,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,eAAE;IAEF,QAAQ,EAAR,8BAAQ;IACR,aAAa,EAAb,yBAAa;IACb,UAAU,EAAV,2BAAU;IACV,aAAa,EAAb,0BAAa;IACb,gBAAgB,EAAhB,iCAAgB;IAChB,IAAI,EAAJ,0BAAI;IACJ,QAAQ,EAAR,8BAAQ;IACR,YAAY,EAAZ,kCAAY;IACZ,OAAO,EAAP,6BAAO;IACP,YAAY,EAAZ,kCAAY;IACZ,cAAc,EAAd,+BAAc;IACd,UAAU,EAAV,gCAAU;IACV,aAAa,EAAb,8BAAa;IACb,sBAAsB,EAAtB,uCAAsB;IACtB,SAAS,EAAT,0BAAS;IAET,uBAAuB,EAAvB,6CAAuB;IACvB,mBAAmB,EAAnB,yCAAmB;IACnB,eAAe,EAAf,qCAAe;IACf,eAAe,EAAf,gCAAe;CAChB,CAAA"}
|