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