@nejs/basic-extensions 2.21.0 → 2.22.6
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/README.md +78 -4
- package/dist/@nejs/basic-extensions.bundle.2.22.6.js +25 -0
- package/dist/@nejs/basic-extensions.bundle.2.22.6.js.map +7 -0
- package/dist/cjs/classes/index.cjs +11129 -0
- package/dist/cjs/classes/index.cjs.map +7 -0
- package/dist/cjs/index.cjs +15191 -0
- package/dist/cjs/index.cjs.map +7 -0
- package/dist/cjs/utils/index.cjs +3954 -0
- package/dist/cjs/utils/index.cjs.map +7 -0
- package/dist/esm/basic-extensions.mjs +25 -0
- package/dist/esm/basic-extensions.mjs.map +7 -0
- package/package.json +16 -22
- package/repl.bootstrap.js +4 -7
- package/repl.history +30 -30
- package/src/big.int.extension.js +171 -45
- package/src/classes/enumeration.js +466 -0
- package/src/classes/index.js +5 -1
- package/src/index.js +5 -1
- package/src/math.extension.js +73 -0
- package/src/number.extension.js +18 -0
- package/src/regular.expression.extensions.js +0 -35
- package/src/utils/toolkit.js +699 -516
- package/tests/arrayextensions.test.js +3 -3
- package/tests/index.test.js +3 -1
- package/tests/newClasses/asyncIterable.test.js +3 -3
- package/tests/newClasses/deferred.test.js +3 -3
- package/tests/newClasses/descriptor.test.js +3 -3
- package/tests/newClasses/iterable.test.js +3 -3
- package/tests/newClasses/refmap.test.js +3 -3
- package/tests/newClasses/refset.test.js +3 -3
- package/tests/objectextensions.test.js +3 -3
- package/tests/setextensions.test.js +3 -3
- package/tests/stringextensions.test.js +3 -2
- package/tests/utils/descriptor.utils.test.js +1 -1
- package/tests/utils/toolkit.test.js +429 -163
- package/.esdoc.json +0 -9
- package/.vscode/settings.json +0 -5
- package/bin/build +0 -27
- package/bin/clean +0 -14
- package/bin/esbuild +0 -91
- package/bin/fixup +0 -13
- package/bin/repl.basics.js +0 -584
- package/bin/repl.signature.js +0 -63
- package/bin/version +0 -100
- package/dist/@nejs/basic-extensions.bundle.2.21.0.js +0 -25
- package/dist/@nejs/basic-extensions.bundle.2.21.0.js.map +0 -7
- package/dist/cjs/array.extensions.d.ts +0 -39
- package/dist/cjs/array.extensions.js +0 -477
- package/dist/cjs/array.extensions.js.map +0 -1
- package/dist/cjs/big.int.extension.d.ts +0 -31
- package/dist/cjs/big.int.extension.js +0 -165
- package/dist/cjs/big.int.extension.js.map +0 -1
- package/dist/cjs/classes/asyncIterable.d.ts +0 -126
- package/dist/cjs/classes/asyncIterable.js +0 -209
- package/dist/cjs/classes/asyncIterable.js.map +0 -1
- package/dist/cjs/classes/deferred.d.ts +0 -146
- package/dist/cjs/classes/deferred.js +0 -291
- package/dist/cjs/classes/deferred.js.map +0 -1
- package/dist/cjs/classes/descriptor.d.ts +0 -334
- package/dist/cjs/classes/descriptor.js +0 -537
- package/dist/cjs/classes/descriptor.js.map +0 -1
- package/dist/cjs/classes/enum.d.ts +0 -50
- package/dist/cjs/classes/enum.js +0 -405
- package/dist/cjs/classes/enum.js.map +0 -1
- package/dist/cjs/classes/index.d.ts +0 -15
- package/dist/cjs/classes/index.js +0 -63
- package/dist/cjs/classes/index.js.map +0 -1
- package/dist/cjs/classes/introspector.d.ts +0 -20
- package/dist/cjs/classes/introspector.js +0 -130
- package/dist/cjs/classes/introspector.js.map +0 -1
- package/dist/cjs/classes/iterable.d.ts +0 -169
- package/dist/cjs/classes/iterable.js +0 -268
- package/dist/cjs/classes/iterable.js.map +0 -1
- package/dist/cjs/classes/param.parser.d.ts +0 -221
- package/dist/cjs/classes/param.parser.js +0 -242
- package/dist/cjs/classes/param.parser.js.map +0 -1
- package/dist/cjs/classes/pluggable.proxy.d.ts +0 -153
- package/dist/cjs/classes/pluggable.proxy.js +0 -444
- package/dist/cjs/classes/pluggable.proxy.js.map +0 -1
- package/dist/cjs/classes/property.d.ts +0 -79
- package/dist/cjs/classes/property.js +0 -284
- package/dist/cjs/classes/property.js.map +0 -1
- package/dist/cjs/classes/refmap.d.ts +0 -238
- package/dist/cjs/classes/refmap.js +0 -421
- package/dist/cjs/classes/refmap.js.map +0 -1
- package/dist/cjs/classes/refset.d.ts +0 -186
- package/dist/cjs/classes/refset.js +0 -370
- package/dist/cjs/classes/refset.js.map +0 -1
- package/dist/cjs/classes/symkeys.d.ts +0 -349
- package/dist/cjs/classes/symkeys.js +0 -510
- package/dist/cjs/classes/symkeys.js.map +0 -1
- package/dist/cjs/classes/type.d.ts +0 -56
- package/dist/cjs/classes/type.js +0 -405
- package/dist/cjs/classes/type.js.map +0 -1
- package/dist/cjs/function.extensions.d.ts +0 -12
- package/dist/cjs/function.extensions.js +0 -758
- package/dist/cjs/function.extensions.js.map +0 -1
- package/dist/cjs/global.this.d.ts +0 -2
- package/dist/cjs/global.this.js +0 -300
- package/dist/cjs/global.this.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -31
- package/dist/cjs/index.js +0 -226
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/json.extensions.d.ts +0 -2
- package/dist/cjs/json.extensions.js +0 -109
- package/dist/cjs/json.extensions.js.map +0 -1
- package/dist/cjs/map.extensions.d.ts +0 -3
- package/dist/cjs/map.extensions.js +0 -143
- package/dist/cjs/map.extensions.js.map +0 -1
- package/dist/cjs/number.extension.d.ts +0 -44
- package/dist/cjs/number.extension.js +0 -261
- package/dist/cjs/number.extension.js.map +0 -1
- package/dist/cjs/object.extensions.d.ts +0 -33
- package/dist/cjs/object.extensions.js +0 -1091
- package/dist/cjs/object.extensions.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/proxy.extensions.d.ts +0 -2
- package/dist/cjs/proxy.extensions.js +0 -207
- package/dist/cjs/proxy.extensions.js.map +0 -1
- package/dist/cjs/reflect.extensions.d.ts +0 -14
- package/dist/cjs/reflect.extensions.js +0 -316
- package/dist/cjs/reflect.extensions.js.map +0 -1
- package/dist/cjs/regular.expression.extensions.d.ts +0 -2
- package/dist/cjs/regular.expression.extensions.js +0 -423
- package/dist/cjs/regular.expression.extensions.js.map +0 -1
- package/dist/cjs/set.extensions.d.ts +0 -40
- package/dist/cjs/set.extensions.js +0 -355
- package/dist/cjs/set.extensions.js.map +0 -1
- package/dist/cjs/string.extensions.d.ts +0 -23
- package/dist/cjs/string.extensions.js +0 -704
- package/dist/cjs/string.extensions.js.map +0 -1
- package/dist/cjs/symbol.extensions.d.ts +0 -11
- package/dist/cjs/symbol.extensions.js +0 -735
- package/dist/cjs/symbol.extensions.js.map +0 -1
- package/dist/cjs/utils/copy.object.d.ts +0 -408
- package/dist/cjs/utils/copy.object.js +0 -720
- package/dist/cjs/utils/copy.object.js.map +0 -1
- package/dist/cjs/utils/descriptor.utils.d.ts +0 -298
- package/dist/cjs/utils/descriptor.utils.js +0 -889
- package/dist/cjs/utils/descriptor.utils.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -75
- package/dist/cjs/utils/index.js +0 -61
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/stdout.d.ts +0 -742
- package/dist/cjs/utils/stdout.js +0 -1042
- package/dist/cjs/utils/stdout.js.map +0 -1
- package/dist/cjs/utils/toolkit.d.ts +0 -1898
- package/dist/cjs/utils/toolkit.js +0 -1378
- package/dist/cjs/utils/toolkit.js.map +0 -1
- package/dist/cjs/weakref.extensions.d.ts +0 -2
- package/dist/cjs/weakref.extensions.js +0 -19
- package/dist/cjs/weakref.extensions.js.map +0 -1
- package/dist/mjs/array.extensions.d.ts +0 -39
- package/dist/mjs/array.extensions.js +0 -474
- package/dist/mjs/array.extensions.js.map +0 -1
- package/dist/mjs/big.int.extension.d.ts +0 -31
- package/dist/mjs/big.int.extension.js +0 -162
- package/dist/mjs/big.int.extension.js.map +0 -1
- package/dist/mjs/classes/asyncIterable.d.ts +0 -126
- package/dist/mjs/classes/asyncIterable.js +0 -204
- package/dist/mjs/classes/asyncIterable.js.map +0 -1
- package/dist/mjs/classes/deferred.d.ts +0 -146
- package/dist/mjs/classes/deferred.js +0 -287
- package/dist/mjs/classes/deferred.js.map +0 -1
- package/dist/mjs/classes/descriptor.d.ts +0 -334
- package/dist/mjs/classes/descriptor.js +0 -533
- package/dist/mjs/classes/descriptor.js.map +0 -1
- package/dist/mjs/classes/enum.d.ts +0 -50
- package/dist/mjs/classes/enum.js +0 -400
- package/dist/mjs/classes/enum.js.map +0 -1
- package/dist/mjs/classes/index.d.ts +0 -15
- package/dist/mjs/classes/index.js +0 -46
- package/dist/mjs/classes/index.js.map +0 -1
- package/dist/mjs/classes/introspector.d.ts +0 -20
- package/dist/mjs/classes/introspector.js +0 -126
- package/dist/mjs/classes/introspector.js.map +0 -1
- package/dist/mjs/classes/iterable.d.ts +0 -169
- package/dist/mjs/classes/iterable.js +0 -263
- package/dist/mjs/classes/iterable.js.map +0 -1
- package/dist/mjs/classes/param.parser.d.ts +0 -221
- package/dist/mjs/classes/param.parser.js +0 -238
- package/dist/mjs/classes/param.parser.js.map +0 -1
- package/dist/mjs/classes/pluggable.proxy.d.ts +0 -153
- package/dist/mjs/classes/pluggable.proxy.js +0 -438
- package/dist/mjs/classes/pluggable.proxy.js.map +0 -1
- package/dist/mjs/classes/property.d.ts +0 -79
- package/dist/mjs/classes/property.js +0 -280
- package/dist/mjs/classes/property.js.map +0 -1
- package/dist/mjs/classes/refmap.d.ts +0 -238
- package/dist/mjs/classes/refmap.js +0 -417
- package/dist/mjs/classes/refmap.js.map +0 -1
- package/dist/mjs/classes/refset.d.ts +0 -186
- package/dist/mjs/classes/refset.js +0 -366
- package/dist/mjs/classes/refset.js.map +0 -1
- package/dist/mjs/classes/symkeys.d.ts +0 -349
- package/dist/mjs/classes/symkeys.js +0 -506
- package/dist/mjs/classes/symkeys.js.map +0 -1
- package/dist/mjs/classes/type.d.ts +0 -56
- package/dist/mjs/classes/type.js +0 -401
- package/dist/mjs/classes/type.js.map +0 -1
- package/dist/mjs/function.extensions.d.ts +0 -12
- package/dist/mjs/function.extensions.js +0 -755
- package/dist/mjs/function.extensions.js.map +0 -1
- package/dist/mjs/global.this.d.ts +0 -2
- package/dist/mjs/global.this.js +0 -264
- package/dist/mjs/global.this.js.map +0 -1
- package/dist/mjs/index.d.ts +0 -31
- package/dist/mjs/index.js +0 -204
- package/dist/mjs/index.js.map +0 -1
- package/dist/mjs/json.extensions.d.ts +0 -2
- package/dist/mjs/json.extensions.js +0 -106
- package/dist/mjs/json.extensions.js.map +0 -1
- package/dist/mjs/map.extensions.d.ts +0 -3
- package/dist/mjs/map.extensions.js +0 -140
- package/dist/mjs/map.extensions.js.map +0 -1
- package/dist/mjs/number.extension.d.ts +0 -44
- package/dist/mjs/number.extension.js +0 -258
- package/dist/mjs/number.extension.js.map +0 -1
- package/dist/mjs/object.extensions.d.ts +0 -33
- package/dist/mjs/object.extensions.js +0 -1088
- package/dist/mjs/object.extensions.js.map +0 -1
- package/dist/mjs/package.json +0 -3
- package/dist/mjs/proxy.extensions.d.ts +0 -2
- package/dist/mjs/proxy.extensions.js +0 -204
- package/dist/mjs/proxy.extensions.js.map +0 -1
- package/dist/mjs/reflect.extensions.d.ts +0 -14
- package/dist/mjs/reflect.extensions.js +0 -313
- package/dist/mjs/reflect.extensions.js.map +0 -1
- package/dist/mjs/regular.expression.extensions.d.ts +0 -2
- package/dist/mjs/regular.expression.extensions.js +0 -420
- package/dist/mjs/regular.expression.extensions.js.map +0 -1
- package/dist/mjs/set.extensions.d.ts +0 -40
- package/dist/mjs/set.extensions.js +0 -352
- package/dist/mjs/set.extensions.js.map +0 -1
- package/dist/mjs/string.extensions.d.ts +0 -23
- package/dist/mjs/string.extensions.js +0 -701
- package/dist/mjs/string.extensions.js.map +0 -1
- package/dist/mjs/symbol.extensions.d.ts +0 -11
- package/dist/mjs/symbol.extensions.js +0 -732
- package/dist/mjs/symbol.extensions.js.map +0 -1
- package/dist/mjs/utils/copy.object.d.ts +0 -408
- package/dist/mjs/utils/copy.object.js +0 -702
- package/dist/mjs/utils/copy.object.js.map +0 -1
- package/dist/mjs/utils/descriptor.utils.d.ts +0 -298
- package/dist/mjs/utils/descriptor.utils.js +0 -875
- package/dist/mjs/utils/descriptor.utils.js.map +0 -1
- package/dist/mjs/utils/index.d.ts +0 -75
- package/dist/mjs/utils/index.js +0 -45
- package/dist/mjs/utils/index.js.map +0 -1
- package/dist/mjs/utils/stdout.d.ts +0 -742
- package/dist/mjs/utils/stdout.js +0 -1037
- package/dist/mjs/utils/stdout.js.map +0 -1
- package/dist/mjs/utils/toolkit.d.ts +0 -1898
- package/dist/mjs/utils/toolkit.js +0 -1373
- package/dist/mjs/utils/toolkit.js.map +0 -1
- package/dist/mjs/weakref.extensions.d.ts +0 -2
- package/dist/mjs/weakref.extensions.js +0 -16
- package/dist/mjs/weakref.extensions.js.map +0 -1
- package/jsdoc-config.json +0 -31
- package/tsconfig.base.json +0 -28
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -8
- package/vitest.config.js +0 -7
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"copy.object.js","sourceRoot":"","sources":["../../../src/utils/copy.object.js"],"names":[],"mappings":"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"}
|
|
@@ -1,298 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A set of utility functions work with {@link PropertyDescriptor} objects.
|
|
3
|
-
* The creation of property descriptors can be large in boiler plate so
|
|
4
|
-
* these tools can reduce the boiler plate and increase readability.
|
|
5
|
-
*/
|
|
6
|
-
export type DescriptorUtils = DescriptorUtils;
|
|
7
|
-
export namespace DescriptorUtils {
|
|
8
|
-
const accessor: Function & {
|
|
9
|
-
keys: string[];
|
|
10
|
-
};
|
|
11
|
-
const data: Function & {
|
|
12
|
-
keys: string[];
|
|
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;
|
|
59
|
-
/**
|
|
60
|
-
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
61
|
-
* calculates a deterministic probability that the supplied value is
|
|
62
|
-
* an object that either is a `PropertyDescriptor` or that can function
|
|
63
|
-
* as one.
|
|
64
|
-
*
|
|
65
|
-
* @param {unknown} value a JavaScript value that might be a
|
|
66
|
-
* `PropertyDescriptor` type.
|
|
67
|
-
* @param {boolean?} returnStats if this value is true, instead of returning
|
|
68
|
-
* a determined boolean value indicating the supplied value might be a
|
|
69
|
-
* `PropertyDescriptor`, an object containing the determined flags and score
|
|
70
|
-
* the led to the determination instead is returned.
|
|
71
|
-
* @param {boolean?} strict if this value is `true`, which is the default,
|
|
72
|
-
* then the function will not allow descriptor compatible objects, rather it
|
|
73
|
-
* will only return true if the object has keys that belong in a descriptor
|
|
74
|
-
* and do not form an invalid combination.
|
|
75
|
-
* @returns {IsDescriptorResponse} if `returnStats` is `true`
|
|
76
|
-
* an object of type {@link IsDescriptorStats} is returned. This object
|
|
77
|
-
* will have a lot of {@link Boolean} flags pertaining to the `true`/`false`
|
|
78
|
-
* evaluation. If `returnStats` is `false`, then a boolean value denoting
|
|
79
|
-
* whether or not the value is a {@link PropertyDescriptor} is returned
|
|
80
|
-
* instead. This is effectively the same as the `isValid` parameter from the
|
|
81
|
-
* stats block.
|
|
82
|
-
*/
|
|
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;
|
|
112
|
-
const kAccessorDescriptorKeys: string[];
|
|
113
|
-
const kDataDescriptorKeys: string[];
|
|
114
|
-
const kSharedDescriptorKeys: string[];
|
|
115
|
-
const kDescriptorKeys: string[];
|
|
116
|
-
}
|
|
117
|
-
declare namespace _default {
|
|
118
|
-
export { DescriptorUtils };
|
|
119
|
-
export { accessor };
|
|
120
|
-
export { data };
|
|
121
|
-
export { describe };
|
|
122
|
-
export { describeMany };
|
|
123
|
-
export { extract };
|
|
124
|
-
export { isAccessor };
|
|
125
|
-
export { isData };
|
|
126
|
-
export { isDescriptor };
|
|
127
|
-
export { redescribe };
|
|
128
|
-
export { kAccessorDescriptorKeys };
|
|
129
|
-
export { kDataDescriptorKeys };
|
|
130
|
-
export { kDescriptorKeys };
|
|
131
|
-
export { kSharedDescriptorKeys };
|
|
132
|
-
}
|
|
133
|
-
export default _default;
|
|
134
|
-
export type PropertyKey = string | symbol | number;
|
|
135
|
-
/**
|
|
136
|
-
* The `IsDescriptorStats` block contains all the information used to make
|
|
137
|
-
* a determination as to whether a given value is a an instance of the type
|
|
138
|
-
* {@link PropertyDescriptor} or at least compatible to used as one.
|
|
139
|
-
*/
|
|
140
|
-
export type IsDescriptorStats = {
|
|
141
|
-
/**
|
|
142
|
-
* this is going to be a number from 0.0-1.0
|
|
143
|
-
* indicating the confidence ratio that the object supplied to `isDescriptor`
|
|
144
|
-
* is actually a valid `PropertyDescriptor` object. If the number is greater
|
|
145
|
-
* than 0 but less than 1.0, it likely indicates that the object can be used
|
|
146
|
-
* as a `PropertyDescriptor` but one or more factors gives it less than 100%
|
|
147
|
-
* confidence that being such is the objects intended purpose (e.g. it could
|
|
148
|
-
* be that there are more properties than a descriptor might have or that
|
|
149
|
-
* it is missing crucial properties such as `value`, `get` or `set`)
|
|
150
|
-
*/
|
|
151
|
-
confidence: number;
|
|
152
|
-
/**
|
|
153
|
-
* true if the object is functional as an
|
|
154
|
-
* accessor descriptor; false otherwise
|
|
155
|
-
*/
|
|
156
|
-
isAccessor: boolean;
|
|
157
|
-
/**
|
|
158
|
-
* true if the object is functional as a data
|
|
159
|
-
* descriptor; false otherwise
|
|
160
|
-
*/
|
|
161
|
-
isData: boolean;
|
|
162
|
-
/**
|
|
163
|
-
* true if the object is technically a valid
|
|
164
|
-
* `PropertyDescriptor` object or compatible as one.
|
|
165
|
-
*/
|
|
166
|
-
isValid: boolean;
|
|
167
|
-
/**
|
|
168
|
-
* true if the object has either
|
|
169
|
-
* `configurable` or `enumerable` property keys and both are `undefined` or
|
|
170
|
-
* of type `boolean`.
|
|
171
|
-
*/
|
|
172
|
-
hasBaseDescriptorKeys: boolean;
|
|
173
|
-
/**
|
|
174
|
-
* true if the object has either `get`
|
|
175
|
-
* or `set` property keys and both are either `undefined` or of type
|
|
176
|
-
* `function`
|
|
177
|
-
*/
|
|
178
|
-
hasAccessorKeys: boolean;
|
|
179
|
-
/**
|
|
180
|
-
* true if the object has either `value` or
|
|
181
|
-
* `writable` property keys and if `writable` is present, then it is of type
|
|
182
|
-
* `boolean`
|
|
183
|
-
*/
|
|
184
|
-
hasDataKeys: boolean;
|
|
185
|
-
};
|
|
186
|
-
/**
|
|
187
|
-
* The response from a call to {@link DescriptorUtils.isDescriptor} can
|
|
188
|
-
* be either a {@link boolean} or a {@link IsDescriptorStats} object.
|
|
189
|
-
*/
|
|
190
|
-
export type IsDescriptorResponse = IsDescriptorStats | boolean;
|
|
191
|
-
export const accessor: Function & {
|
|
192
|
-
keys: string[];
|
|
193
|
-
};
|
|
194
|
-
export const data: Function & {
|
|
195
|
-
keys: string[];
|
|
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;
|
|
242
|
-
/**
|
|
243
|
-
* A function that, given a value that might be a `PropertyDescriptor`,
|
|
244
|
-
* calculates a deterministic probability that the supplied value is
|
|
245
|
-
* an object that either is a `PropertyDescriptor` or that can function
|
|
246
|
-
* as one.
|
|
247
|
-
*
|
|
248
|
-
* @param {unknown} value a JavaScript value that might be a
|
|
249
|
-
* `PropertyDescriptor` type.
|
|
250
|
-
* @param {boolean?} returnStats if this value is true, instead of returning
|
|
251
|
-
* a determined boolean value indicating the supplied value might be a
|
|
252
|
-
* `PropertyDescriptor`, an object containing the determined flags and score
|
|
253
|
-
* the led to the determination instead is returned.
|
|
254
|
-
* @param {boolean?} strict if this value is `true`, which is the default,
|
|
255
|
-
* then the function will not allow descriptor compatible objects, rather it
|
|
256
|
-
* will only return true if the object has keys that belong in a descriptor
|
|
257
|
-
* and do not form an invalid combination.
|
|
258
|
-
* @returns {IsDescriptorResponse} if `returnStats` is `true`
|
|
259
|
-
* an object of type {@link IsDescriptorStats} is returned. This object
|
|
260
|
-
* will have a lot of {@link Boolean} flags pertaining to the `true`/`false`
|
|
261
|
-
* evaluation. If `returnStats` is `false`, then a boolean value denoting
|
|
262
|
-
* whether or not the value is a {@link PropertyDescriptor} is returned
|
|
263
|
-
* instead. This is effectively the same as the `isValid` parameter from the
|
|
264
|
-
* stats block.
|
|
265
|
-
*/
|
|
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;
|
|
295
|
-
export const kAccessorDescriptorKeys: string[];
|
|
296
|
-
export const kDataDescriptorKeys: string[];
|
|
297
|
-
export const kDescriptorKeys: string[];
|
|
298
|
-
export const kSharedDescriptorKeys: string[];
|