@nejs/basic-extensions 2.21.5 → 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.
Files changed (266) hide show
  1. package/README.md +78 -4
  2. package/dist/@nejs/basic-extensions.bundle.2.22.6.js +25 -0
  3. package/dist/@nejs/basic-extensions.bundle.2.22.6.js.map +7 -0
  4. package/dist/cjs/classes/index.cjs +11129 -0
  5. package/dist/cjs/classes/index.cjs.map +7 -0
  6. package/dist/cjs/index.cjs +15191 -0
  7. package/dist/cjs/index.cjs.map +7 -0
  8. package/dist/cjs/utils/index.cjs +3954 -0
  9. package/dist/cjs/utils/index.cjs.map +7 -0
  10. package/dist/esm/basic-extensions.mjs +25 -0
  11. package/dist/esm/basic-extensions.mjs.map +7 -0
  12. package/package.json +16 -22
  13. package/repl.bootstrap.js +4 -7
  14. package/repl.history +26 -26
  15. package/src/classes/enumeration.js +466 -0
  16. package/src/classes/index.js +5 -1
  17. package/src/index.js +3 -1
  18. package/src/regular.expression.extensions.js +0 -35
  19. package/src/utils/toolkit.js +699 -516
  20. package/tests/arrayextensions.test.js +3 -3
  21. package/tests/index.test.js +3 -1
  22. package/tests/newClasses/asyncIterable.test.js +3 -3
  23. package/tests/newClasses/deferred.test.js +3 -3
  24. package/tests/newClasses/descriptor.test.js +3 -3
  25. package/tests/newClasses/iterable.test.js +3 -3
  26. package/tests/newClasses/refmap.test.js +3 -3
  27. package/tests/newClasses/refset.test.js +3 -3
  28. package/tests/objectextensions.test.js +3 -3
  29. package/tests/setextensions.test.js +3 -3
  30. package/tests/stringextensions.test.js +3 -2
  31. package/tests/utils/descriptor.utils.test.js +1 -1
  32. package/tests/utils/toolkit.test.js +429 -163
  33. package/.esdoc.json +0 -9
  34. package/.vscode/settings.json +0 -5
  35. package/bin/build +0 -27
  36. package/bin/clean +0 -14
  37. package/bin/esbuild +0 -91
  38. package/bin/fixup +0 -13
  39. package/bin/repl.basics.js +0 -584
  40. package/bin/repl.signature.js +0 -63
  41. package/bin/version +0 -100
  42. package/dist/@nejs/basic-extensions.bundle.2.21.5.js +0 -25
  43. package/dist/@nejs/basic-extensions.bundle.2.21.5.js.map +0 -7
  44. package/dist/cjs/array.extensions.d.ts +0 -39
  45. package/dist/cjs/array.extensions.js +0 -477
  46. package/dist/cjs/array.extensions.js.map +0 -1
  47. package/dist/cjs/big.int.extension.d.ts +0 -31
  48. package/dist/cjs/big.int.extension.js +0 -273
  49. package/dist/cjs/big.int.extension.js.map +0 -1
  50. package/dist/cjs/classes/asyncIterable.d.ts +0 -126
  51. package/dist/cjs/classes/asyncIterable.js +0 -209
  52. package/dist/cjs/classes/asyncIterable.js.map +0 -1
  53. package/dist/cjs/classes/deferred.d.ts +0 -146
  54. package/dist/cjs/classes/deferred.js +0 -291
  55. package/dist/cjs/classes/deferred.js.map +0 -1
  56. package/dist/cjs/classes/descriptor.d.ts +0 -334
  57. package/dist/cjs/classes/descriptor.js +0 -537
  58. package/dist/cjs/classes/descriptor.js.map +0 -1
  59. package/dist/cjs/classes/enum.d.ts +0 -50
  60. package/dist/cjs/classes/enum.js +0 -405
  61. package/dist/cjs/classes/enum.js.map +0 -1
  62. package/dist/cjs/classes/index.d.ts +0 -15
  63. package/dist/cjs/classes/index.js +0 -63
  64. package/dist/cjs/classes/index.js.map +0 -1
  65. package/dist/cjs/classes/introspector.d.ts +0 -20
  66. package/dist/cjs/classes/introspector.js +0 -130
  67. package/dist/cjs/classes/introspector.js.map +0 -1
  68. package/dist/cjs/classes/iterable.d.ts +0 -169
  69. package/dist/cjs/classes/iterable.js +0 -268
  70. package/dist/cjs/classes/iterable.js.map +0 -1
  71. package/dist/cjs/classes/param.parser.d.ts +0 -221
  72. package/dist/cjs/classes/param.parser.js +0 -242
  73. package/dist/cjs/classes/param.parser.js.map +0 -1
  74. package/dist/cjs/classes/pluggable.proxy.d.ts +0 -153
  75. package/dist/cjs/classes/pluggable.proxy.js +0 -444
  76. package/dist/cjs/classes/pluggable.proxy.js.map +0 -1
  77. package/dist/cjs/classes/property.d.ts +0 -79
  78. package/dist/cjs/classes/property.js +0 -284
  79. package/dist/cjs/classes/property.js.map +0 -1
  80. package/dist/cjs/classes/refmap.d.ts +0 -238
  81. package/dist/cjs/classes/refmap.js +0 -421
  82. package/dist/cjs/classes/refmap.js.map +0 -1
  83. package/dist/cjs/classes/refset.d.ts +0 -186
  84. package/dist/cjs/classes/refset.js +0 -370
  85. package/dist/cjs/classes/refset.js.map +0 -1
  86. package/dist/cjs/classes/symkeys.d.ts +0 -349
  87. package/dist/cjs/classes/symkeys.js +0 -510
  88. package/dist/cjs/classes/symkeys.js.map +0 -1
  89. package/dist/cjs/classes/type.d.ts +0 -56
  90. package/dist/cjs/classes/type.js +0 -405
  91. package/dist/cjs/classes/type.js.map +0 -1
  92. package/dist/cjs/function.extensions.d.ts +0 -12
  93. package/dist/cjs/function.extensions.js +0 -758
  94. package/dist/cjs/function.extensions.js.map +0 -1
  95. package/dist/cjs/global.this.d.ts +0 -2
  96. package/dist/cjs/global.this.js +0 -300
  97. package/dist/cjs/global.this.js.map +0 -1
  98. package/dist/cjs/index.d.ts +0 -31
  99. package/dist/cjs/index.js +0 -228
  100. package/dist/cjs/index.js.map +0 -1
  101. package/dist/cjs/json.extensions.d.ts +0 -2
  102. package/dist/cjs/json.extensions.js +0 -109
  103. package/dist/cjs/json.extensions.js.map +0 -1
  104. package/dist/cjs/map.extensions.d.ts +0 -3
  105. package/dist/cjs/map.extensions.js +0 -143
  106. package/dist/cjs/map.extensions.js.map +0 -1
  107. package/dist/cjs/math.extension.d.ts +0 -14
  108. package/dist/cjs/math.extension.js +0 -71
  109. package/dist/cjs/math.extension.js.map +0 -1
  110. package/dist/cjs/number.extension.d.ts +0 -44
  111. package/dist/cjs/number.extension.js +0 -278
  112. package/dist/cjs/number.extension.js.map +0 -1
  113. package/dist/cjs/object.extensions.d.ts +0 -33
  114. package/dist/cjs/object.extensions.js +0 -1091
  115. package/dist/cjs/object.extensions.js.map +0 -1
  116. package/dist/cjs/package.json +0 -3
  117. package/dist/cjs/proxy.extensions.d.ts +0 -2
  118. package/dist/cjs/proxy.extensions.js +0 -207
  119. package/dist/cjs/proxy.extensions.js.map +0 -1
  120. package/dist/cjs/reflect.extensions.d.ts +0 -14
  121. package/dist/cjs/reflect.extensions.js +0 -316
  122. package/dist/cjs/reflect.extensions.js.map +0 -1
  123. package/dist/cjs/regular.expression.extensions.d.ts +0 -2
  124. package/dist/cjs/regular.expression.extensions.js +0 -423
  125. package/dist/cjs/regular.expression.extensions.js.map +0 -1
  126. package/dist/cjs/set.extensions.d.ts +0 -40
  127. package/dist/cjs/set.extensions.js +0 -355
  128. package/dist/cjs/set.extensions.js.map +0 -1
  129. package/dist/cjs/string.extensions.d.ts +0 -23
  130. package/dist/cjs/string.extensions.js +0 -704
  131. package/dist/cjs/string.extensions.js.map +0 -1
  132. package/dist/cjs/symbol.extensions.d.ts +0 -11
  133. package/dist/cjs/symbol.extensions.js +0 -735
  134. package/dist/cjs/symbol.extensions.js.map +0 -1
  135. package/dist/cjs/utils/copy.object.d.ts +0 -408
  136. package/dist/cjs/utils/copy.object.js +0 -720
  137. package/dist/cjs/utils/copy.object.js.map +0 -1
  138. package/dist/cjs/utils/descriptor.utils.d.ts +0 -298
  139. package/dist/cjs/utils/descriptor.utils.js +0 -889
  140. package/dist/cjs/utils/descriptor.utils.js.map +0 -1
  141. package/dist/cjs/utils/index.d.ts +0 -75
  142. package/dist/cjs/utils/index.js +0 -61
  143. package/dist/cjs/utils/index.js.map +0 -1
  144. package/dist/cjs/utils/stdout.d.ts +0 -742
  145. package/dist/cjs/utils/stdout.js +0 -1042
  146. package/dist/cjs/utils/stdout.js.map +0 -1
  147. package/dist/cjs/utils/toolkit.d.ts +0 -1898
  148. package/dist/cjs/utils/toolkit.js +0 -1378
  149. package/dist/cjs/utils/toolkit.js.map +0 -1
  150. package/dist/cjs/weakref.extensions.d.ts +0 -2
  151. package/dist/cjs/weakref.extensions.js +0 -19
  152. package/dist/cjs/weakref.extensions.js.map +0 -1
  153. package/dist/mjs/array.extensions.d.ts +0 -39
  154. package/dist/mjs/array.extensions.js +0 -474
  155. package/dist/mjs/array.extensions.js.map +0 -1
  156. package/dist/mjs/big.int.extension.d.ts +0 -31
  157. package/dist/mjs/big.int.extension.js +0 -270
  158. package/dist/mjs/big.int.extension.js.map +0 -1
  159. package/dist/mjs/classes/asyncIterable.d.ts +0 -126
  160. package/dist/mjs/classes/asyncIterable.js +0 -204
  161. package/dist/mjs/classes/asyncIterable.js.map +0 -1
  162. package/dist/mjs/classes/deferred.d.ts +0 -146
  163. package/dist/mjs/classes/deferred.js +0 -287
  164. package/dist/mjs/classes/deferred.js.map +0 -1
  165. package/dist/mjs/classes/descriptor.d.ts +0 -334
  166. package/dist/mjs/classes/descriptor.js +0 -533
  167. package/dist/mjs/classes/descriptor.js.map +0 -1
  168. package/dist/mjs/classes/enum.d.ts +0 -50
  169. package/dist/mjs/classes/enum.js +0 -400
  170. package/dist/mjs/classes/enum.js.map +0 -1
  171. package/dist/mjs/classes/index.d.ts +0 -15
  172. package/dist/mjs/classes/index.js +0 -46
  173. package/dist/mjs/classes/index.js.map +0 -1
  174. package/dist/mjs/classes/introspector.d.ts +0 -20
  175. package/dist/mjs/classes/introspector.js +0 -126
  176. package/dist/mjs/classes/introspector.js.map +0 -1
  177. package/dist/mjs/classes/iterable.d.ts +0 -169
  178. package/dist/mjs/classes/iterable.js +0 -263
  179. package/dist/mjs/classes/iterable.js.map +0 -1
  180. package/dist/mjs/classes/param.parser.d.ts +0 -221
  181. package/dist/mjs/classes/param.parser.js +0 -238
  182. package/dist/mjs/classes/param.parser.js.map +0 -1
  183. package/dist/mjs/classes/pluggable.proxy.d.ts +0 -153
  184. package/dist/mjs/classes/pluggable.proxy.js +0 -438
  185. package/dist/mjs/classes/pluggable.proxy.js.map +0 -1
  186. package/dist/mjs/classes/property.d.ts +0 -79
  187. package/dist/mjs/classes/property.js +0 -280
  188. package/dist/mjs/classes/property.js.map +0 -1
  189. package/dist/mjs/classes/refmap.d.ts +0 -238
  190. package/dist/mjs/classes/refmap.js +0 -417
  191. package/dist/mjs/classes/refmap.js.map +0 -1
  192. package/dist/mjs/classes/refset.d.ts +0 -186
  193. package/dist/mjs/classes/refset.js +0 -366
  194. package/dist/mjs/classes/refset.js.map +0 -1
  195. package/dist/mjs/classes/symkeys.d.ts +0 -349
  196. package/dist/mjs/classes/symkeys.js +0 -506
  197. package/dist/mjs/classes/symkeys.js.map +0 -1
  198. package/dist/mjs/classes/type.d.ts +0 -56
  199. package/dist/mjs/classes/type.js +0 -401
  200. package/dist/mjs/classes/type.js.map +0 -1
  201. package/dist/mjs/function.extensions.d.ts +0 -12
  202. package/dist/mjs/function.extensions.js +0 -755
  203. package/dist/mjs/function.extensions.js.map +0 -1
  204. package/dist/mjs/global.this.d.ts +0 -2
  205. package/dist/mjs/global.this.js +0 -264
  206. package/dist/mjs/global.this.js.map +0 -1
  207. package/dist/mjs/index.d.ts +0 -31
  208. package/dist/mjs/index.js +0 -206
  209. package/dist/mjs/index.js.map +0 -1
  210. package/dist/mjs/json.extensions.d.ts +0 -2
  211. package/dist/mjs/json.extensions.js +0 -106
  212. package/dist/mjs/json.extensions.js.map +0 -1
  213. package/dist/mjs/map.extensions.d.ts +0 -3
  214. package/dist/mjs/map.extensions.js +0 -140
  215. package/dist/mjs/map.extensions.js.map +0 -1
  216. package/dist/mjs/math.extension.d.ts +0 -14
  217. package/dist/mjs/math.extension.js +0 -68
  218. package/dist/mjs/math.extension.js.map +0 -1
  219. package/dist/mjs/number.extension.d.ts +0 -44
  220. package/dist/mjs/number.extension.js +0 -275
  221. package/dist/mjs/number.extension.js.map +0 -1
  222. package/dist/mjs/object.extensions.d.ts +0 -33
  223. package/dist/mjs/object.extensions.js +0 -1088
  224. package/dist/mjs/object.extensions.js.map +0 -1
  225. package/dist/mjs/package.json +0 -3
  226. package/dist/mjs/proxy.extensions.d.ts +0 -2
  227. package/dist/mjs/proxy.extensions.js +0 -204
  228. package/dist/mjs/proxy.extensions.js.map +0 -1
  229. package/dist/mjs/reflect.extensions.d.ts +0 -14
  230. package/dist/mjs/reflect.extensions.js +0 -313
  231. package/dist/mjs/reflect.extensions.js.map +0 -1
  232. package/dist/mjs/regular.expression.extensions.d.ts +0 -2
  233. package/dist/mjs/regular.expression.extensions.js +0 -420
  234. package/dist/mjs/regular.expression.extensions.js.map +0 -1
  235. package/dist/mjs/set.extensions.d.ts +0 -40
  236. package/dist/mjs/set.extensions.js +0 -352
  237. package/dist/mjs/set.extensions.js.map +0 -1
  238. package/dist/mjs/string.extensions.d.ts +0 -23
  239. package/dist/mjs/string.extensions.js +0 -701
  240. package/dist/mjs/string.extensions.js.map +0 -1
  241. package/dist/mjs/symbol.extensions.d.ts +0 -11
  242. package/dist/mjs/symbol.extensions.js +0 -732
  243. package/dist/mjs/symbol.extensions.js.map +0 -1
  244. package/dist/mjs/utils/copy.object.d.ts +0 -408
  245. package/dist/mjs/utils/copy.object.js +0 -702
  246. package/dist/mjs/utils/copy.object.js.map +0 -1
  247. package/dist/mjs/utils/descriptor.utils.d.ts +0 -298
  248. package/dist/mjs/utils/descriptor.utils.js +0 -875
  249. package/dist/mjs/utils/descriptor.utils.js.map +0 -1
  250. package/dist/mjs/utils/index.d.ts +0 -75
  251. package/dist/mjs/utils/index.js +0 -45
  252. package/dist/mjs/utils/index.js.map +0 -1
  253. package/dist/mjs/utils/stdout.d.ts +0 -742
  254. package/dist/mjs/utils/stdout.js +0 -1037
  255. package/dist/mjs/utils/stdout.js.map +0 -1
  256. package/dist/mjs/utils/toolkit.d.ts +0 -1898
  257. package/dist/mjs/utils/toolkit.js +0 -1373
  258. package/dist/mjs/utils/toolkit.js.map +0 -1
  259. package/dist/mjs/weakref.extensions.d.ts +0 -2
  260. package/dist/mjs/weakref.extensions.js +0 -16
  261. package/dist/mjs/weakref.extensions.js.map +0 -1
  262. package/jsdoc-config.json +0 -31
  263. package/tsconfig.base.json +0 -28
  264. package/tsconfig.cjs.json +0 -8
  265. package/tsconfig.esm.json +0 -8
  266. 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[];