@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[];
@@ -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":"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"}
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,IAAI,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;gBAC1D,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,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;QACxD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAe,CAAA;QAEpD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,YAAY,MAAM,CAAC;YACvC,OAAO,SAAS,CAAA;QAElB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC;YACxD,OAAO,SAAS,CAAA;QAElB,IAAI,sBAAsB,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAClD,CAAC;aACI,CAAC;YACJ,OAAO,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,sBAAsB,GAAG,IAAI;QAC3D,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,uBAAe,CAAA;QAC5E,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAEpE,IAAI,GAAG,GAAG,SAAS,CAAA;QAEnB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBACxC,OAAO,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAChE,CAAC,CAAC,CAAC,CAAA;QACL,CAAC;aACI,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;YAClC,GAAG,GAAG,SAAS,CAAA;QACjB,CAAC;aACI,IAAI,SAAS,YAAY,MAAM,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;YAC/D,GAAG,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC;aACI,CAAC;YACJ,OAAO,EAAE,CAAA;QACX,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAExB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;QAC7D,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAA;QACpD,MAAM,WAAW,GAAG,UAAU,CAAC,EAAE;YAC/B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;gBAC/C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;YACrC,CAAC;iBACI,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;gBACzD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,CAAA;YAC/C,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAED,6BAA6B;QAC7B,kDAAkD;QAClD,uDAAuD;QACvD,iDAAiD;QACjD,2CAA2C;QAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,CAAC,sBAAsB,IAAI,YAAY,CAAC,KAAK,CAAC;gBAC/D,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CACxB,CAAA;QAEH,CAAC;IAEH,CAAC;IAED,OAAO,CACL,UAAU,EACV,aAAa,EACb,gBAAgB,GAAG,SAAS,EAC5B,kBAAkB,GAAG,KAAK;QAE1B,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAe,CAAA;QAChC,MAAM,MAAM,GAAG,EAAG,CAAA;QAElB,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;YAC/C,OAAO,MAAM,CAAA;QAEf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAC/B,aAAa,GAAG,CAAC,aAAa,CAAC,CAAA;QAEjC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;YAChC,IAAI,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;YAEjE,IAAI,CAAC,UAAU;gBACb,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAErC,IAAI,kBAAkB;gBACpB,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAA;YAErE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;QAChD,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;QAC7B,MAAM,KAAK,GAAG,uBAAe,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC/D,OAAO,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAA;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;QACzB,MAAM,KAAK,GAAG,uBAAe,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;QAC/D,OAAO,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAA;IACtC,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;YACd,MAAM,EAAE,KAAK;SACd,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,CAAC,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1D,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;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO;QACjC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,uBAAe,CAAA;QAE9C,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,CAAA;QAC9E,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAA;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,YAAY,MAAM,CAAA;QAC1D,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC5E,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAA;QAEtE,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QACnC,IAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC/B,MAAM,UAAU,GAAG,UAAU,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC7E,MAAM,OAAO,GAAG,EAAE,CAAA;QAElB,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,UAAU,GAAG,IAAI,CAAA;YACjB,EAAE,GAAG,EAAE,CAAA;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,gBAAgB,GAAG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;gBAE3C,IAAI,gBAAgB;oBAClB,GAAG,GAAG,OAAO,CAAC,MAAM,CAAA;YACxB,CAAC;YAED,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACvB,CAAC;qBACI,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;YAEhE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;gBAC1D,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5D,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE;gBAClD,MAAM,CAAC,UAAU,EAAE;oBACjB,QAAQ;oBACR,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;wBAC3B,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,UAAU,CAAC,KAAK;iBACrB,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,CAAA;YACxE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YAEpE,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;YAEvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YAC3B,CAAC;YAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACH,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,EACJ,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAC7D,UAAU,EAAE,MAAM,EAAE,UAAU,GAC/B,GAAG,uBAAe,CAAA;AAYjB,4BAAQ;AACR,oBAAI;AACJ,4BAAQ;AACR,oCAAY;AACZ,0BAAO;AAGP,oCAAY;AAFZ,gCAAU;AACV,wBAAM;AAEN,gCAAU;AAlBZ,qDAAqD;AACrD,MAAM,EACJ,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACtB,GAAG,uBAAe,CAAA;AAcjB,0DAAuB;AACvB,kDAAmB;AACnB,0CAAe;AACf,sDAAqB;AAGvB,kCAAkC;AAClC,kBAAe;IACb,eAAe,EAAf,uBAAe;IAEf,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,UAAU;IACV,MAAM;IACN,YAAY;IACZ,UAAU;IAEV,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"}
@@ -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';
@@ -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,+DAO8B;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,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,UAAU,EAAV,2BAAU;IACV,aAAa,EAAb,0BAAa;IACb,gBAAgB,EAAhB,iCAAgB;IAChB,IAAI,EAAJ,0BAAI;IACJ,YAAY,EAAZ,kCAAY;IACZ,cAAc,EAAd,+BAAc;IACd,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"}
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"}