@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[];
|
|
@@ -421,7 +421,7 @@ export const DescriptorUtils = {
|
|
|
421
421
|
: Object(optionsOrWritable);
|
|
422
422
|
configurable = configurable === undefined ? true : !!configurable;
|
|
423
423
|
enumerable = enumerable === undefined ? true : !!enumerable;
|
|
424
|
-
if (valueIsDescriptor) {
|
|
424
|
+
if (valueIsDescriptor && !(options?.allowDescriptorValue)) {
|
|
425
425
|
options = {
|
|
426
426
|
writable: value?.writable ?? true,
|
|
427
427
|
configurable: value?.configurable ?? true,
|
|
@@ -465,6 +465,133 @@ export const DescriptorUtils = {
|
|
|
465
465
|
});
|
|
466
466
|
return data;
|
|
467
467
|
},
|
|
468
|
+
describe(object, key, value, detectDescriptorValues = true) {
|
|
469
|
+
const { isAccessor, isData, data } = DescriptorUtils;
|
|
470
|
+
if (!(object && object instanceof Object))
|
|
471
|
+
return undefined;
|
|
472
|
+
if (!(['string', 'number', 'symbol'].includes(typeof key)))
|
|
473
|
+
return undefined;
|
|
474
|
+
if (detectDescriptorValues && isAccessor(value) || isData(value)) {
|
|
475
|
+
return Object.defineProperty(object, key, value);
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
return Object.defineProperty(object, key, data(value));
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
describeMany(object, keyValues, detectDescriptorValues = true) {
|
|
482
|
+
const { isAccessor, isData, isDescriptor, data, describe } = DescriptorUtils;
|
|
483
|
+
const isKey = k => ['string', 'number', 'symbol'].includes(typeof k);
|
|
484
|
+
let map = undefined;
|
|
485
|
+
if (Array.isArray(keyValues)) {
|
|
486
|
+
map = new Map(keyValues.filter(keyValue => {
|
|
487
|
+
return typeof keyValue === 'function' && keyValue.length === 2;
|
|
488
|
+
}));
|
|
489
|
+
}
|
|
490
|
+
else if (keyValues instanceof Map) {
|
|
491
|
+
map = keyValues;
|
|
492
|
+
}
|
|
493
|
+
else if (keyValues instanceof Object) {
|
|
494
|
+
const descriptors = Object.getOwnPropertyDescriptors(keyValues);
|
|
495
|
+
map = new Object.entries(descriptors);
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
return [];
|
|
499
|
+
}
|
|
500
|
+
for (const [key, value] of map) {
|
|
501
|
+
if (detectDescriptorValues) {
|
|
502
|
+
if (isDescriptor(key)) {
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
const accessorBase = { enumerable: true, configurable: true };
|
|
507
|
+
const dataBase = { writable: true, ...accessorBase };
|
|
508
|
+
const extractBase = descriptor => {
|
|
509
|
+
if (isAccessor(descriptor)) {
|
|
510
|
+
const { configurable, enumerable } = descriptor;
|
|
511
|
+
return { configurable, enumerable };
|
|
512
|
+
}
|
|
513
|
+
else if (isData(descriptor)) {
|
|
514
|
+
const { writable, configurable, enumerable } = descriptor;
|
|
515
|
+
return { writable, configurable, enumerable };
|
|
516
|
+
}
|
|
517
|
+
return undefined;
|
|
518
|
+
};
|
|
519
|
+
// convert all map entries to
|
|
520
|
+
// [baseDescriptor, {key: value, key: value, ...}]
|
|
521
|
+
// unless detectDescriptorValues == false in which case
|
|
522
|
+
// [dataBase, { key: value, key: value, etc... }]
|
|
523
|
+
// ... dropping all non-isKey(key) values
|
|
524
|
+
for (const [key, value] of map.entries()) {
|
|
525
|
+
const descriptor = (detectDescriptorValues && isDescriptor(value)
|
|
526
|
+
? value
|
|
527
|
+
: data(value, dataBase));
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
extract(fromObject, keysToExtract, defaultIfMissing = undefined, extractDescriptors = false) {
|
|
531
|
+
const { data } = DescriptorUtils;
|
|
532
|
+
const output = {};
|
|
533
|
+
if (!fromObject || typeof fromObject !== 'object')
|
|
534
|
+
return output;
|
|
535
|
+
if (!Array.isArray(keysToExtract))
|
|
536
|
+
keysToExtract = [keysToExtract];
|
|
537
|
+
for (const key of keysToExtract) {
|
|
538
|
+
let descriptor = Object.getOwnPropertyDescriptor(fromObject, key);
|
|
539
|
+
if (!descriptor)
|
|
540
|
+
descriptor = data(defaultIfMissing);
|
|
541
|
+
if (extractDescriptors)
|
|
542
|
+
descriptor.value = data(descriptor, { allowDescriptorValue: true });
|
|
543
|
+
Object.defineProperty(output, key, descriptor);
|
|
544
|
+
}
|
|
545
|
+
return output;
|
|
546
|
+
},
|
|
547
|
+
/**
|
|
548
|
+
* Determines if a given value is an accessor descriptor.
|
|
549
|
+
*
|
|
550
|
+
* An accessor descriptor is a property descriptor that defines
|
|
551
|
+
* getter and/or setter functions for a property. This function
|
|
552
|
+
* checks the validity of the descriptor and whether it qualifies
|
|
553
|
+
* as an accessor.
|
|
554
|
+
*
|
|
555
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
556
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
557
|
+
* validation of the descriptor.
|
|
558
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
559
|
+
* is an accessor descriptor, otherwise false.
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* // Example usage:
|
|
563
|
+
* const descriptor = { get: () => 42, set: (val) => {} }
|
|
564
|
+
* const result = DescriptorUtils.isAccessor(descriptor)
|
|
565
|
+
* console.log(result) // Outputs: true
|
|
566
|
+
*/
|
|
567
|
+
isAccessor(value, strict = true) {
|
|
568
|
+
const stats = DescriptorUtils.isDescriptor(value, true, strict);
|
|
569
|
+
return stats.isValid && stats.isAccessor;
|
|
570
|
+
},
|
|
571
|
+
/**
|
|
572
|
+
* Checks if a given value is a data descriptor.
|
|
573
|
+
*
|
|
574
|
+
* A data descriptor is a property descriptor that defines a value
|
|
575
|
+
* and optionally a writable attribute for a property. This function
|
|
576
|
+
* evaluates the descriptor's validity and whether it qualifies as
|
|
577
|
+
* a data descriptor.
|
|
578
|
+
*
|
|
579
|
+
* @param {Object} value - The descriptor object to evaluate.
|
|
580
|
+
* @param {boolean} [strict=true] - If true, performs a strict
|
|
581
|
+
* validation of the descriptor.
|
|
582
|
+
* @returns {boolean} Returns true if the descriptor is valid and
|
|
583
|
+
* is a data descriptor, otherwise false.
|
|
584
|
+
*
|
|
585
|
+
* @example
|
|
586
|
+
* // Example usage:
|
|
587
|
+
* const descriptor = { value: 42, writable: true }
|
|
588
|
+
* const result = DescriptorUtils.isData(descriptor)
|
|
589
|
+
* console.log(result) // Outputs: true
|
|
590
|
+
*/
|
|
591
|
+
isData(value, strict = true) {
|
|
592
|
+
const stats = DescriptorUtils.isDescriptor(value, true, strict);
|
|
593
|
+
return stats.isValid && stats.isData;
|
|
594
|
+
},
|
|
468
595
|
/**
|
|
469
596
|
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
470
597
|
* calculates a deterministic probability that the supplied value is
|
|
@@ -508,6 +635,7 @@ export const DescriptorUtils = {
|
|
|
508
635
|
isAccessor: false,
|
|
509
636
|
isData: false,
|
|
510
637
|
isValid: false,
|
|
638
|
+
isBase: false,
|
|
511
639
|
};
|
|
512
640
|
if (!value || typeof value !== 'object' || !(value instanceof Object))
|
|
513
641
|
return returnStats ? stats : false;
|
|
@@ -535,6 +663,8 @@ export const DescriptorUtils = {
|
|
|
535
663
|
stats.isAccessor = true;
|
|
536
664
|
if (score > 0 && stats.hasDataKeys)
|
|
537
665
|
stats.isData = true;
|
|
666
|
+
if (stats.isValid && !(['get', 'set', 'value'].some(hasKeyFn)))
|
|
667
|
+
stats.isBase = true;
|
|
538
668
|
if (stats.isValid && stats.isData && Reflect.has(value, 'value'))
|
|
539
669
|
score++;
|
|
540
670
|
else if (stats.isValid && stats.isAccessor) {
|
|
@@ -553,6 +683,89 @@ export const DescriptorUtils = {
|
|
|
553
683
|
? true
|
|
554
684
|
: false;
|
|
555
685
|
},
|
|
686
|
+
/**
|
|
687
|
+
* Redefines a property on an object with new descriptors and options.
|
|
688
|
+
* This function allows renaming, aliasing, and redefining property
|
|
689
|
+
* descriptors such as configurable, enumerable, writable, get, and set.
|
|
690
|
+
*
|
|
691
|
+
* @param {Object} object - The target object whose property is to be
|
|
692
|
+
* redefined.
|
|
693
|
+
* @param {string|symbol} key - The key of the property to redefine.
|
|
694
|
+
* @param {Object} as - An object containing new property descriptors.
|
|
695
|
+
* @param {Object} [options] - Optional settings for renaming and aliasing.
|
|
696
|
+
* @param {string|symbol} [options.rename] - New key name for the property.
|
|
697
|
+
* @param {Array<string|symbol>} [options.alsoAs] - Additional aliases for
|
|
698
|
+
* the property.
|
|
699
|
+
* @param {Object} [options.moveTo] optionally move the descriptor from this
|
|
700
|
+
* object to another.
|
|
701
|
+
* @returns {any} the result of `object[key]` in its final state
|
|
702
|
+
*
|
|
703
|
+
* @example
|
|
704
|
+
* const obj = { a: 1 }
|
|
705
|
+
* redescribe(obj, 'a', { writable: false }, { rename: 'b', alsoAs: ['c'] })
|
|
706
|
+
* console.log(obj.b) // Outputs: 1
|
|
707
|
+
* console.log(obj.c) // Outputs: 1
|
|
708
|
+
*/
|
|
709
|
+
redescribe(object, key, as, options) {
|
|
710
|
+
const { isAccessor, isData } = DescriptorUtils;
|
|
711
|
+
const ifThen = (condition, fn, ...args) => condition && fn(...args);
|
|
712
|
+
const isBool = value => typeof value === 'boolean' || value instanceof Boolean;
|
|
713
|
+
const isFunction = value => typeof value === 'function';
|
|
714
|
+
const isObject = value => value && value instanceof Object;
|
|
715
|
+
const isDefined = (value, key) => isObject(value) && Reflect.has(value, key);
|
|
716
|
+
const isObjectKey = v => ['string', 'number', 'symbol'].includes(typeof v);
|
|
717
|
+
const define = (key, values) => Object.defineProperty(object, key, values);
|
|
718
|
+
const assign = (object, ...values) => Object.assign(object, ...values);
|
|
719
|
+
const isAnObject = isObject(object);
|
|
720
|
+
let asIsObject = isObject(as);
|
|
721
|
+
const descriptor = isAnObject && Object.getOwnPropertyDescriptor(object, key);
|
|
722
|
+
const aliases = [];
|
|
723
|
+
if (descriptor && !asIsObject) {
|
|
724
|
+
asIsObject = true;
|
|
725
|
+
as = {};
|
|
726
|
+
}
|
|
727
|
+
if (isObject(options)) {
|
|
728
|
+
if (isDefined(options, 'rename')) {
|
|
729
|
+
const successfulDelete = delete object[key];
|
|
730
|
+
if (successfulDelete)
|
|
731
|
+
key = options.rename;
|
|
732
|
+
}
|
|
733
|
+
if (isDefined(options, 'alsoAs')) {
|
|
734
|
+
if (Array.isArray(options.alsoAs)) {
|
|
735
|
+
for (const value of options.alsoAs.filter(v => isObjectKey(v)))
|
|
736
|
+
aliases.push(value);
|
|
737
|
+
}
|
|
738
|
+
else if (isObjectKey(options.alsoAs)) {
|
|
739
|
+
aliases.push(options.alsoAs);
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
if (isDefined(options, 'moveTo')) {
|
|
743
|
+
ifThen(isObject(options.moveTo), () => (object = options.moveTo));
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
if (isAnObject && asIsObject) {
|
|
747
|
+
let { configurable, enumerable, writable, get, set, value } = as;
|
|
748
|
+
if (isAccessor(descriptor)) {
|
|
749
|
+
ifThen(isFunction(get), () => assign(descriptor, { get }));
|
|
750
|
+
ifThen(isFunction(set), () => assign(descriptor, { set }));
|
|
751
|
+
}
|
|
752
|
+
ifThen(isBool(writable) && isData(descriptor), () => {
|
|
753
|
+
assign(descriptor, {
|
|
754
|
+
writable,
|
|
755
|
+
value: isDefined(as, 'value')
|
|
756
|
+
? value
|
|
757
|
+
: descriptor.value,
|
|
758
|
+
});
|
|
759
|
+
});
|
|
760
|
+
ifThen(isBool(configurable), () => assign(descriptor, { configurable }));
|
|
761
|
+
ifThen(isBool(enumerable), () => assign(descriptor, { enumerable }));
|
|
762
|
+
define(key, descriptor);
|
|
763
|
+
for (const alias of aliases) {
|
|
764
|
+
define(alias, descriptor);
|
|
765
|
+
}
|
|
766
|
+
return object[key];
|
|
767
|
+
}
|
|
768
|
+
},
|
|
556
769
|
/**
|
|
557
770
|
* Retrieves the keys associated with accessor descriptors.
|
|
558
771
|
*
|
|
@@ -630,17 +843,23 @@ export const DescriptorUtils = {
|
|
|
630
843
|
}
|
|
631
844
|
};
|
|
632
845
|
// Destructure the functions individually...
|
|
633
|
-
const { accessor, data, isDescriptor } = DescriptorUtils;
|
|
846
|
+
const { accessor, data, describe, describeMany, extract, isDescriptor, isAccessor, isData, redescribe, } = DescriptorUtils;
|
|
634
847
|
// ...also destructure the constants individually....
|
|
635
848
|
const { kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys, kSharedDescriptorKeys } = DescriptorUtils;
|
|
636
849
|
// ... so they can also be individually exported.
|
|
637
|
-
export { accessor, data, isDescriptor, kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys, kSharedDescriptorKeys };
|
|
850
|
+
export { accessor, data, describe, describeMany, extract, isAccessor, isData, isDescriptor, redescribe, kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys, kSharedDescriptorKeys };
|
|
638
851
|
// Provide default exports as well
|
|
639
852
|
export default {
|
|
640
853
|
DescriptorUtils,
|
|
641
854
|
accessor,
|
|
642
855
|
data,
|
|
856
|
+
describe,
|
|
857
|
+
describeMany,
|
|
858
|
+
extract,
|
|
859
|
+
isAccessor,
|
|
860
|
+
isData,
|
|
643
861
|
isDescriptor,
|
|
862
|
+
redescribe,
|
|
644
863
|
kAccessorDescriptorKeys,
|
|
645
864
|
kDataDescriptorKeys,
|
|
646
865
|
kDescriptorKeys,
|
|
@@ -653,10 +872,4 @@ function hasQuantity(quantityFn, object, keys) {
|
|
|
653
872
|
return isObject(object) && (keys.flat(Infinity)
|
|
654
873
|
.map(key => Reflect.has(object, key))[quantityFn](has => has));
|
|
655
874
|
}
|
|
656
|
-
function hasOne(object, ...keys) {
|
|
657
|
-
return isObject(object) && (keys.flat(Infinity)
|
|
658
|
-
.map(key => Reflect.has(object, key))
|
|
659
|
-
.filter(has => has)
|
|
660
|
-
.length === 1);
|
|
661
|
-
}
|
|
662
875
|
//# sourceMappingURL=descriptor.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor.utils.js","sourceRoot":"","sources":["../../../src/utils/descriptor.utils.js"],"names":[],"mappings":"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"}
|
|
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/mjs/utils/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export * from './copy.object.js';
|
|
2
2
|
import { COPropertyHandler, FlexiblyHiddenHandler, FlexiblyVisibleHandler, ImmutablyHiddenHandler, ImmutablyVisibleHandler, MutablyHiddenHandler, MutablyVisibleHandler, VisibilityKeys, VisibilityScopeHandler, copyObject, customCopyObject, makeTransducer, transduceFrom, transduceFromCOHandler, tryIgnore, kVisibilityKeys, } from './copy.object.js';
|
|
3
|
+
export * from './stdout.js';
|
|
4
|
+
import { StringConsole, StringConsoleExtension, StdoutGlobalPatches, captureStdout, } from './stdout.js';
|
|
3
5
|
export * from './toolkit.js';
|
|
4
6
|
import { as, has, is, si, createToolkit, } from './toolkit.js';
|
|
5
7
|
export * from './descriptor.utils.js';
|
|
6
|
-
import { accessor, data, isDescriptor, kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys } from './descriptor.utils.js';
|
|
8
|
+
import { accessor, data, describe, describeMany, extract, isDescriptor, redescribe, kAccessorDescriptorKeys, kDataDescriptorKeys, kDescriptorKeys } from './descriptor.utils.js';
|
|
7
9
|
export default {
|
|
8
10
|
COPropertyHandler,
|
|
9
11
|
FlexiblyHiddenHandler,
|
|
@@ -12,6 +14,8 @@ export default {
|
|
|
12
14
|
ImmutablyVisibleHandler,
|
|
13
15
|
MutablyHiddenHandler,
|
|
14
16
|
MutablyVisibleHandler,
|
|
17
|
+
StdoutGlobalPatches,
|
|
18
|
+
StringConsole,
|
|
15
19
|
VisibilityKeys,
|
|
16
20
|
VisibilityScopeHandler,
|
|
17
21
|
as,
|
|
@@ -19,12 +23,17 @@ export default {
|
|
|
19
23
|
is,
|
|
20
24
|
si,
|
|
21
25
|
accessor,
|
|
26
|
+
captureStdout,
|
|
22
27
|
copyObject,
|
|
23
28
|
createToolkit,
|
|
24
29
|
customCopyObject,
|
|
25
30
|
data,
|
|
31
|
+
describe,
|
|
32
|
+
describeMany,
|
|
33
|
+
extract,
|
|
26
34
|
isDescriptor,
|
|
27
35
|
makeTransducer,
|
|
36
|
+
redescribe,
|
|
28
37
|
transduceFrom,
|
|
29
38
|
transduceFromCOHandler,
|
|
30
39
|
tryIgnore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.js"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,SAAS,EAET,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,EAAE,EACF,GAAG,EACH,EAAE,EACF,EAAE,EAEF,aAAa,GACd,MAAM,cAAc,CAAA;AAErB,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,eAAe;IACb,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,cAAc;IACd,sBAAsB;IAEtB,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IAEF,QAAQ;IACR,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,IAAI;IACJ,YAAY;IACZ,cAAc;IACd,aAAa;IACb,sBAAsB;IACtB,SAAS;IAET,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;IACf,eAAe;CAChB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.js"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EAEtB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,SAAS,EAET,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,cAAc,aAAa,CAAA;AAC3B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EAEnB,aAAa,GACd,MAAM,aAAa,CAAA;AAEpB,cAAc,cAAc,CAAA;AAC5B,OAAO,EACL,EAAE,EACF,GAAG,EACH,EAAE,EACF,EAAE,EAEF,aAAa,GACd,MAAM,cAAc,CAAA;AAErB,cAAc,uBAAuB,CAAA;AACrC,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,eAAe;IACb,iBAAiB;IACjB,qBAAqB;IACrB,sBAAsB;IACtB,sBAAsB;IACtB,uBAAuB;IACvB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,sBAAsB;IAEtB,EAAE;IACF,GAAG;IACH,EAAE;IACF,EAAE;IAEF,QAAQ;IACR,aAAa;IACb,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,IAAI;IACJ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,YAAY;IACZ,cAAc;IACd,UAAU;IACV,aAAa;IACb,sBAAsB;IACtB,SAAS;IAET,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;IACf,eAAe;CAChB,CAAA"}
|