@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.
Files changed (92) hide show
  1. package/.idea/markdown.xml +8 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/ne-basic-extensions.iml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/CODE_STYLE.md +393 -0
  6. package/CODING_PHILOSOPHY.md +36 -0
  7. package/DOCUMENTATION_GUIDELINES.md +221 -0
  8. package/bin/repl.basics.js +36 -6
  9. package/bin/repl.signature.js +63 -0
  10. package/dist/@nejs/basic-extensions.bundle.2.21.5.js +25 -0
  11. package/dist/@nejs/basic-extensions.bundle.2.21.5.js.map +7 -0
  12. package/dist/cjs/big.int.extension.js +153 -45
  13. package/dist/cjs/big.int.extension.js.map +1 -1
  14. package/dist/cjs/classes/descriptor.d.ts +1 -1
  15. package/dist/cjs/classes/enum.d.ts +37 -19
  16. package/dist/cjs/classes/enum.js +181 -56
  17. package/dist/cjs/classes/enum.js.map +1 -1
  18. package/dist/cjs/classes/iterable.d.ts +3 -3
  19. package/dist/cjs/classes/param.parser.d.ts +1 -7
  20. package/dist/cjs/classes/pluggable.proxy.d.ts +2 -1
  21. package/dist/cjs/classes/property.d.ts +2 -9
  22. package/dist/cjs/classes/refset.d.ts +2 -2
  23. package/dist/cjs/classes/symkeys.d.ts +1 -1
  24. package/dist/cjs/global.this.js +17 -7
  25. package/dist/cjs/global.this.js.map +1 -1
  26. package/dist/cjs/index.d.ts +9 -6
  27. package/dist/cjs/index.js +15 -8
  28. package/dist/cjs/index.js.map +1 -1
  29. package/dist/cjs/math.extension.d.ts +14 -0
  30. package/dist/cjs/math.extension.js +71 -0
  31. package/dist/cjs/math.extension.js.map +1 -0
  32. package/dist/cjs/number.extension.js +17 -0
  33. package/dist/cjs/number.extension.js.map +1 -1
  34. package/dist/cjs/string.extensions.js +38 -0
  35. package/dist/cjs/string.extensions.js.map +1 -1
  36. package/dist/cjs/utils/copy.object.d.ts +2 -2
  37. package/dist/cjs/utils/descriptor.utils.d.ts +152 -0
  38. package/dist/cjs/utils/descriptor.utils.js +228 -9
  39. package/dist/cjs/utils/descriptor.utils.js.map +1 -1
  40. package/dist/cjs/utils/index.d.ts +15 -0
  41. package/dist/cjs/utils/index.js +9 -0
  42. package/dist/cjs/utils/index.js.map +1 -1
  43. package/dist/cjs/utils/stdout.d.ts +742 -0
  44. package/dist/cjs/utils/stdout.js +1042 -0
  45. package/dist/cjs/utils/stdout.js.map +1 -0
  46. package/dist/mjs/big.int.extension.js +153 -45
  47. package/dist/mjs/big.int.extension.js.map +1 -1
  48. package/dist/mjs/classes/descriptor.d.ts +1 -1
  49. package/dist/mjs/classes/enum.d.ts +37 -19
  50. package/dist/mjs/classes/enum.js +181 -57
  51. package/dist/mjs/classes/enum.js.map +1 -1
  52. package/dist/mjs/classes/iterable.d.ts +3 -3
  53. package/dist/mjs/classes/param.parser.d.ts +1 -7
  54. package/dist/mjs/classes/pluggable.proxy.d.ts +2 -1
  55. package/dist/mjs/classes/property.d.ts +2 -9
  56. package/dist/mjs/classes/refset.d.ts +2 -2
  57. package/dist/mjs/classes/symkeys.d.ts +1 -1
  58. package/dist/mjs/index.d.ts +9 -6
  59. package/dist/mjs/index.js +15 -8
  60. package/dist/mjs/index.js.map +1 -1
  61. package/dist/mjs/math.extension.d.ts +14 -0
  62. package/dist/mjs/math.extension.js +68 -0
  63. package/dist/mjs/math.extension.js.map +1 -0
  64. package/dist/mjs/number.extension.js +17 -0
  65. package/dist/mjs/number.extension.js.map +1 -1
  66. package/dist/mjs/string.extensions.js +38 -0
  67. package/dist/mjs/string.extensions.js.map +1 -1
  68. package/dist/mjs/utils/copy.object.d.ts +2 -2
  69. package/dist/mjs/utils/descriptor.utils.d.ts +152 -0
  70. package/dist/mjs/utils/descriptor.utils.js +222 -9
  71. package/dist/mjs/utils/descriptor.utils.js.map +1 -1
  72. package/dist/mjs/utils/index.d.ts +15 -0
  73. package/dist/mjs/utils/index.js +10 -1
  74. package/dist/mjs/utils/index.js.map +1 -1
  75. package/dist/mjs/utils/stdout.d.ts +742 -0
  76. package/dist/mjs/utils/stdout.js +1037 -0
  77. package/dist/mjs/utils/stdout.js.map +1 -0
  78. package/package.json +6 -20
  79. package/repl.bootstrap.js +24 -16
  80. package/repl.history +30 -30
  81. package/src/big.int.extension.js +171 -45
  82. package/src/classes/enum.js +249 -109
  83. package/src/index.js +24 -8
  84. package/src/math.extension.js +73 -0
  85. package/src/number.extension.js +18 -0
  86. package/src/string.extensions.js +41 -0
  87. package/src/utils/descriptor.utils.js +277 -9
  88. package/src/utils/index.js +20 -0
  89. package/src/utils/stdout.js +1151 -0
  90. package/tests/utils/descriptor.utils.test.js +130 -0
  91. package/dist/@nejs/basic-extensions.bundle.2.20.0.js +0 -19
  92. 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';
@@ -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"}