@nejs/basic-extensions 2.9.0 → 2.11.0

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 (176) hide show
  1. package/dist/@nejs/basic-extensions.bundle.2.11.0.js +19 -0
  2. package/dist/@nejs/basic-extensions.bundle.2.11.0.js.map +7 -0
  3. package/dist/cjs/array.extensions.js +174 -0
  4. package/dist/cjs/array.extensions.js.map +1 -1
  5. package/dist/cjs/big.int.extension.js +1 -0
  6. package/dist/cjs/big.int.extension.js.map +1 -1
  7. package/dist/cjs/classes/descriptor.d.ts +67 -155
  8. package/dist/cjs/classes/descriptor.js +185 -278
  9. package/dist/cjs/classes/descriptor.js.map +1 -1
  10. package/dist/cjs/classes/index.d.ts +1 -0
  11. package/dist/cjs/classes/index.js +3 -0
  12. package/dist/cjs/classes/index.js.map +1 -1
  13. package/dist/cjs/classes/iterable.d.ts +44 -0
  14. package/dist/cjs/classes/iterable.js +64 -0
  15. package/dist/cjs/classes/iterable.js.map +1 -1
  16. package/dist/cjs/classes/param.parser.d.ts +10 -10
  17. package/dist/cjs/classes/property.d.ts +86 -0
  18. package/dist/cjs/classes/property.js +284 -0
  19. package/dist/cjs/classes/property.js.map +1 -0
  20. package/dist/cjs/classes/symkeys.d.ts +68 -11
  21. package/dist/cjs/classes/symkeys.js +103 -17
  22. package/dist/cjs/classes/symkeys.js.map +1 -1
  23. package/dist/cjs/classes/type.d.ts +4 -4
  24. package/dist/cjs/function.extensions.js +1 -0
  25. package/dist/cjs/function.extensions.js.map +1 -1
  26. package/dist/cjs/global.this.js +29 -0
  27. package/dist/cjs/global.this.js.map +1 -1
  28. package/dist/cjs/index.d.ts +3 -0
  29. package/dist/cjs/index.js +19 -0
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/json.extensions.js +19 -18
  32. package/dist/cjs/json.extensions.js.map +1 -1
  33. package/dist/cjs/map.extensions.js +1 -0
  34. package/dist/cjs/map.extensions.js.map +1 -1
  35. package/dist/cjs/number.extension.js +1 -0
  36. package/dist/cjs/number.extension.js.map +1 -1
  37. package/dist/cjs/object.extensions.d.ts +0 -29
  38. package/dist/cjs/object.extensions.js +218 -255
  39. package/dist/cjs/object.extensions.js.map +1 -1
  40. package/dist/cjs/set.extensions.js +1 -0
  41. package/dist/cjs/set.extensions.js.map +1 -1
  42. package/dist/cjs/string.extensions.js +474 -469
  43. package/dist/cjs/string.extensions.js.map +1 -1
  44. package/dist/cjs/symbol.extensions.js +387 -32
  45. package/dist/cjs/symbol.extensions.js.map +1 -1
  46. package/dist/cjs/utils/copy.object.d.ts +408 -0
  47. package/dist/cjs/utils/copy.object.js +720 -0
  48. package/dist/cjs/utils/copy.object.js.map +1 -0
  49. package/dist/cjs/utils/descriptor.utils.d.ts +146 -0
  50. package/dist/cjs/utils/descriptor.utils.js +614 -0
  51. package/dist/cjs/utils/descriptor.utils.js.map +1 -0
  52. package/dist/cjs/utils/index.d.ts +60 -0
  53. package/dist/cjs/utils/index.js +52 -0
  54. package/dist/cjs/utils/index.js.map +1 -0
  55. package/dist/cjs/utils/toolkit.d.ts +1898 -0
  56. package/dist/cjs/utils/toolkit.js +1378 -0
  57. package/dist/cjs/utils/toolkit.js.map +1 -0
  58. package/dist/mjs/array.extensions.js +174 -0
  59. package/dist/mjs/array.extensions.js.map +1 -1
  60. package/dist/mjs/big.int.extension.js +1 -0
  61. package/dist/mjs/big.int.extension.js.map +1 -1
  62. package/dist/mjs/classes/descriptor.d.ts +67 -155
  63. package/dist/mjs/classes/descriptor.js +185 -278
  64. package/dist/mjs/classes/descriptor.js.map +1 -1
  65. package/dist/mjs/classes/index.d.ts +1 -0
  66. package/dist/mjs/classes/index.js +3 -0
  67. package/dist/mjs/classes/index.js.map +1 -1
  68. package/dist/mjs/classes/iterable.d.ts +44 -0
  69. package/dist/mjs/classes/iterable.js +64 -0
  70. package/dist/mjs/classes/iterable.js.map +1 -1
  71. package/dist/mjs/classes/param.parser.d.ts +10 -10
  72. package/dist/mjs/classes/property.d.ts +86 -0
  73. package/dist/mjs/classes/property.js +280 -0
  74. package/dist/mjs/classes/property.js.map +1 -0
  75. package/dist/mjs/classes/symkeys.d.ts +68 -11
  76. package/dist/mjs/classes/symkeys.js +103 -17
  77. package/dist/mjs/classes/symkeys.js.map +1 -1
  78. package/dist/mjs/classes/type.d.ts +4 -4
  79. package/dist/mjs/function.extensions.js +1 -0
  80. package/dist/mjs/function.extensions.js.map +1 -1
  81. package/dist/mjs/global.this.js +6 -0
  82. package/dist/mjs/global.this.js.map +1 -1
  83. package/dist/mjs/index.d.ts +3 -0
  84. package/dist/mjs/index.js +5 -0
  85. package/dist/mjs/index.js.map +1 -1
  86. package/dist/mjs/json.extensions.js +19 -18
  87. package/dist/mjs/json.extensions.js.map +1 -1
  88. package/dist/mjs/map.extensions.js +1 -0
  89. package/dist/mjs/map.extensions.js.map +1 -1
  90. package/dist/mjs/number.extension.js +1 -0
  91. package/dist/mjs/number.extension.js.map +1 -1
  92. package/dist/mjs/object.extensions.d.ts +0 -29
  93. package/dist/mjs/object.extensions.js +215 -251
  94. package/dist/mjs/object.extensions.js.map +1 -1
  95. package/dist/mjs/set.extensions.js +1 -0
  96. package/dist/mjs/set.extensions.js.map +1 -1
  97. package/dist/mjs/string.extensions.js +474 -469
  98. package/dist/mjs/string.extensions.js.map +1 -1
  99. package/dist/mjs/symbol.extensions.js +387 -32
  100. package/dist/mjs/symbol.extensions.js.map +1 -1
  101. package/dist/mjs/utils/copy.object.d.ts +408 -0
  102. package/dist/mjs/utils/copy.object.js +702 -0
  103. package/dist/mjs/utils/copy.object.js.map +1 -0
  104. package/dist/mjs/utils/descriptor.utils.d.ts +146 -0
  105. package/dist/mjs/utils/descriptor.utils.js +606 -0
  106. package/dist/mjs/utils/descriptor.utils.js.map +1 -0
  107. package/dist/mjs/utils/index.d.ts +60 -0
  108. package/dist/mjs/utils/index.js +36 -0
  109. package/dist/mjs/utils/index.js.map +1 -0
  110. package/dist/mjs/utils/toolkit.d.ts +1898 -0
  111. package/dist/mjs/utils/toolkit.js +1373 -0
  112. package/dist/mjs/utils/toolkit.js.map +1 -0
  113. package/package.json +29 -37
  114. package/repl.bootstrap.js +12 -1
  115. package/src/array.extensions.js +191 -1
  116. package/src/big.int.extension.js +3 -1
  117. package/src/classes/descriptor.js +206 -305
  118. package/src/classes/index.js +4 -0
  119. package/src/classes/iterable.js +74 -0
  120. package/src/classes/property.js +333 -0
  121. package/src/classes/symkeys.js +120 -19
  122. package/src/function.extensions.js +2 -0
  123. package/src/global.this.js +8 -0
  124. package/src/index.js +6 -0
  125. package/src/json.extensions.js +18 -19
  126. package/src/map.extensions.js +3 -1
  127. package/src/number.extension.js +3 -1
  128. package/src/object.extensions.js +240 -277
  129. package/src/set.extensions.js +3 -1
  130. package/src/string.extensions.js +512 -506
  131. package/src/symbol.extensions.js +413 -30
  132. package/src/utils/copy.object.js +780 -0
  133. package/src/utils/descriptor.utils.js +707 -0
  134. package/src/utils/index.js +74 -0
  135. package/src/utils/toolkit.js +1473 -0
  136. package/tests/arrayextensions.test.js +2 -0
  137. package/tests/index.test.js +1 -0
  138. package/tests/newClasses/asyncIterable.test.js +2 -0
  139. package/tests/newClasses/deferred.test.js +5 -3
  140. package/tests/newClasses/descriptor.test.js +6 -8
  141. package/tests/newClasses/iterable.test.js +2 -0
  142. package/tests/newClasses/refmap.test.js +2 -1
  143. package/tests/newClasses/refset.test.js +2 -0
  144. package/tests/objectextensions.test.js +2 -0
  145. package/tests/setextensions.test.js +2 -0
  146. package/tests/stringextensions.test.js +1 -0
  147. package/tests/utils/toolkit.test.js +223 -0
  148. package/tsconfig.base.json +1 -1
  149. package/vitest.config.js +7 -0
  150. package/dist/@nejs/basic-extensions.bundle.2.8.0.js +0 -19
  151. package/dist/@nejs/basic-extensions.bundle.2.8.0.js.map +0 -7
  152. package/docs/assets/anchor.js +0 -350
  153. package/docs/assets/bass-addons.css +0 -12
  154. package/docs/assets/bass.css +0 -544
  155. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  156. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  157. package/docs/assets/fonts/LICENSE.txt +0 -93
  158. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  159. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  160. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  161. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  162. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  163. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  164. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  165. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  166. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  167. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  168. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  169. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  170. package/docs/assets/fonts/source-code-pro.css +0 -23
  171. package/docs/assets/github.css +0 -123
  172. package/docs/assets/site.js +0 -168
  173. package/docs/assets/split.css +0 -15
  174. package/docs/assets/split.js +0 -782
  175. package/docs/assets/style.css +0 -147
  176. package/docs/index.html +0 -35485
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../../src/classes/descriptor.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../../src/classes/descriptor.js"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from "./introspector.js";
5
5
  export * from "./iterable.js";
6
6
  export * from "./param.parser.js";
7
7
  export * from "./pluggable.proxy.js";
8
+ export * from "./property.js";
8
9
  export * from "./refmap.js";
9
10
  export * from "./refset.js";
10
11
  export * from "./symkeys.js";
@@ -30,6 +30,8 @@ const param_parser_js_1 = require("./param.parser.js");
30
30
  __exportStar(require("./param.parser.js"), exports);
31
31
  const pluggable_proxy_js_1 = require("./pluggable.proxy.js");
32
32
  __exportStar(require("./pluggable.proxy.js"), exports);
33
+ const property_js_1 = require("./property.js");
34
+ __exportStar(require("./property.js"), exports);
33
35
  const refmap_js_1 = require("./refmap.js");
34
36
  __exportStar(require("./refmap.js"), exports);
35
37
  const refset_js_1 = require("./refset.js");
@@ -49,6 +51,7 @@ exports.NewClassesExtension = new extension_1.Patch(globalThis, {
49
51
  ParamParser: param_parser_js_1.ParamParser,
50
52
  PluggableProxy: pluggable_proxy_js_1.PluggableProxy,
51
53
  ProxyHandler: pluggable_proxy_js_1.ProxyHandler,
54
+ Property: property_js_1.Property,
52
55
  RefMap: refmap_js_1.RefMap,
53
56
  RefSet: refset_js_1.RefSet,
54
57
  Symkeys: symkeys_js_1.Symkeys,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAAuC;AAEvC,yDAAiE;AACjE,qDAAkC;AAElC,+CAAwC;AACxC,gDAA6B;AAE7B,mDAA4C;AAC5C,kDAA+B;AAE/B,uDAAgD;AAChD,oDAAiC;AAEjC,+CAAiD;AACjD,gDAA6B;AAE7B,uDAA+C;AAC/C,oDAAiC;AAEjC,6DAAmE;AACnE,uDAAoC;AAEpC,2CAAqC;AACrC,8CAA2B;AAE3B,2CAAoC;AACpC,8CAA2B;AAE3B,6CAAsC;AACtC,+CAA4B;AAE5B,uCAAgC;AAChC,4CAAyB;AAEZ,QAAA,mBAAmB,GAAG,IAAI,iBAAK,CAAC,UAAU,EAAE;IACvD,aAAa,EAAb,gCAAa;IACb,aAAa,EAAb,gCAAa;IACb,QAAQ,EAAR,sBAAQ;IACR,UAAU,EAAV,0BAAU;IACV,YAAY,EAAZ,8BAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,QAAQ,EAAR,sBAAQ;IACR,WAAW,EAAX,6BAAW;IACX,cAAc,EAAd,mCAAc;IACd,YAAY,EAAZ,iCAAY;IACZ,MAAM,EAAN,kBAAM;IACN,MAAM,EAAN,kBAAM;IACN,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,cAAI;CACL,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAAuC;AAEvC,yDAAiE;AACjE,qDAAkC;AAElC,+CAAwC;AACxC,gDAA6B;AAE7B,mDAA4C;AAC5C,kDAA+B;AAE/B,uDAAgD;AAChD,oDAAiC;AAEjC,+CAAiD;AACjD,gDAA6B;AAE7B,uDAA+C;AAC/C,oDAAiC;AAEjC,6DAAmE;AACnE,uDAAoC;AAEpC,+CAA4D;AAC5D,gDAA6B;AAE7B,2CAAqC;AACrC,8CAA2B;AAE3B,2CAAoC;AACpC,8CAA2B;AAE3B,6CAAsC;AACtC,+CAA4B;AAE5B,uCAAgC;AAChC,4CAAyB;AAEZ,QAAA,mBAAmB,GAAG,IAAI,iBAAK,CAAC,UAAU,EAAE;IACvD,aAAa,EAAb,gCAAa;IACb,aAAa,EAAb,gCAAa;IACb,QAAQ,EAAR,sBAAQ;IACR,UAAU,EAAV,0BAAU;IACV,YAAY,EAAZ,8BAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,QAAQ,EAAR,sBAAQ;IACR,WAAW,EAAX,6BAAW;IACX,cAAc,EAAd,mCAAc;IACd,YAAY,EAAZ,iCAAY;IACZ,QAAQ,EAAR,sBAAQ;IACR,MAAM,EAAN,kBAAM;IACN,MAAM,EAAN,kBAAM;IACN,OAAO,EAAP,oBAAO;IACP,IAAI,EAAJ,cAAI;CACL,CAAC,CAAA"}
@@ -65,6 +65,50 @@ export class Iterable {
65
65
  * `[Symbol.iterator]` property assigned to a generator function.
66
66
  */
67
67
  export class Iterator {
68
+ /**
69
+ * Creates an Iterator for the keys of the given object.
70
+ *
71
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
72
+ * `Object.keys`. Each type of fetcher has their own requirements but
73
+ * any function that takes an object and returns keys will suffice.
74
+ *
75
+ * @param {Object} object - The object whose keys will be iterated.
76
+ * @param {Function} [mapEach] - Optional function to map each key.
77
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
78
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
79
+ * @returns {Iterator} An Iterator instance containing the object's keys.
80
+ */
81
+ static keys(object: Object, mapEach?: Function | undefined, keyFetcher?: Function | undefined): Iterator;
82
+ /**
83
+ * Creates an Iterator for the entries of the given object.
84
+ *
85
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
86
+ * `Object.keys`. Each type of fetcher has their own requirements but
87
+ * any function that takes an object and returns keys will suffice.
88
+ *
89
+ * @param {Object} object - The object whose entries will be iterated.
90
+ * @param {Function} [mapEach] - Optional function to map each entry.
91
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
92
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
93
+ * @returns {Iterator} An Iterator instance containing the object's entries.
94
+ */
95
+ static entries(object: Object, mapEach?: Function | undefined, keyFetcher?: Function | undefined): Iterator;
96
+ /**
97
+ * Creates an Iterator for the property descriptors of the given object.
98
+ *
99
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
100
+ * `Object.keys`. Each type of fetcher has their own requirements but
101
+ * any function that takes an object and returns keys will suffice.
102
+ *
103
+ * @param {Object} object - The object whose descriptors will be iterated.
104
+ * @param {Function} [mapEach] - Optional function to map each descriptor
105
+ * entry.
106
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
107
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
108
+ * @returns {Iterator} An Iterator instance containing entries of [key,
109
+ * descriptor] pairs.
110
+ */
111
+ static descriptors(object: Object, mapEach?: Function | undefined, keyFetcher?: Function | undefined): Iterator;
68
112
  /**
69
113
  * Creates a new `Iterator` object instance.
70
114
  *
@@ -197,6 +197,70 @@ class Iterator {
197
197
  * @private
198
198
  */
199
199
  #iterator = null;
200
+ /**
201
+ * Creates an Iterator for the keys of the given object.
202
+ *
203
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
204
+ * `Object.keys`. Each type of fetcher has their own requirements but
205
+ * any function that takes an object and returns keys will suffice.
206
+ *
207
+ * @param {Object} object - The object whose keys will be iterated.
208
+ * @param {Function} [mapEach] - Optional function to map each key.
209
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
210
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
211
+ * @returns {Iterator} An Iterator instance containing the object's keys.
212
+ */
213
+ static keys(object, mapEach, keyFetcher) {
214
+ keyFetcher ??= Object.getOwnPropertyNames;
215
+ const keys = keyFetcher(object);
216
+ return new Iterator(keys, mapEach);
217
+ }
218
+ /**
219
+ * Creates an Iterator for the entries of the given object.
220
+ *
221
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
222
+ * `Object.keys`. Each type of fetcher has their own requirements but
223
+ * any function that takes an object and returns keys will suffice.
224
+ *
225
+ * @param {Object} object - The object whose entries will be iterated.
226
+ * @param {Function} [mapEach] - Optional function to map each entry.
227
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
228
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
229
+ * @returns {Iterator} An Iterator instance containing the object's entries.
230
+ */
231
+ static entries(object, mapEach, keyFetcher) {
232
+ keyFetcher ??= Object.getOwnPropertyNames;
233
+ const keys = keyFetcher(object);
234
+ const entries = [];
235
+ for (const key of keys) {
236
+ entries.push([key, object[key]]);
237
+ }
238
+ return new Iterator(entries, mapEach);
239
+ }
240
+ /**
241
+ * Creates an Iterator for the property descriptors of the given object.
242
+ *
243
+ * @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
244
+ * `Object.keys`. Each type of fetcher has their own requirements but
245
+ * any function that takes an object and returns keys will suffice.
246
+ *
247
+ * @param {Object} object - The object whose descriptors will be iterated.
248
+ * @param {Function} [mapEach] - Optional function to map each descriptor
249
+ * entry.
250
+ * @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
251
+ * fetch keys from the object. Defaults to Object.getOwnPropertyNames.
252
+ * @returns {Iterator} An Iterator instance containing entries of [key,
253
+ * descriptor] pairs.
254
+ */
255
+ static descriptors(object, mapEach, keyFetcher) {
256
+ keyFetcher ??= Object.getOwnPropertyNames;
257
+ const keys = keyFetcher(object);
258
+ const entries = [];
259
+ for (const key of keys) {
260
+ entries.push([key, Object.getOwnPropertyDescriptor(object, key)]);
261
+ }
262
+ return new Iterator(entries, mapEach);
263
+ }
200
264
  }
201
265
  exports.Iterator = Iterator;
202
266
  exports.IterableExtensions = new extension_1.Extension(Iterable);
@@ -1 +1 @@
1
- {"version":3,"file":"iterable.js","sourceRoot":"","sources":["../../../src/classes/iterable.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iterable.js","sourceRoot":"","sources":["../../../src/classes/iterable.js"],"names":[],"mappings":"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"}
@@ -115,19 +115,19 @@ export class ParamParser {
115
115
  * }
116
116
  */
117
117
  static get ParametersMustBeArrayError(): {
118
- new (message?: string | undefined): {
118
+ new (message?: string): {
119
119
  name: string;
120
120
  message: string;
121
- stack?: string | undefined;
121
+ stack?: string;
122
122
  cause?: unknown;
123
123
  };
124
- new (message?: string | undefined, options?: ErrorOptions | undefined): {
124
+ new (message?: string, options?: ErrorOptions): {
125
125
  name: string;
126
126
  message: string;
127
- stack?: string | undefined;
127
+ stack?: string;
128
128
  cause?: unknown;
129
129
  };
130
- captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
130
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
131
131
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
132
132
  stackTraceLimit: number;
133
133
  };
@@ -158,19 +158,19 @@ export class ParamParser {
158
158
  * }
159
159
  */
160
160
  static get ParsersArrayMustContainParsersError(): {
161
- new (message?: string | undefined): {
161
+ new (message?: string): {
162
162
  name: string;
163
163
  message: string;
164
- stack?: string | undefined;
164
+ stack?: string;
165
165
  cause?: unknown;
166
166
  };
167
- new (message?: string | undefined, options?: ErrorOptions | undefined): {
167
+ new (message?: string, options?: ErrorOptions): {
168
168
  name: string;
169
169
  message: string;
170
- stack?: string | undefined;
170
+ stack?: string;
171
171
  cause?: unknown;
172
172
  };
173
- captureStackTrace(targetObject: object, constructorOpt?: Function | undefined): void;
173
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
174
174
  prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
175
175
  stackTraceLimit: number;
176
176
  };
@@ -0,0 +1,86 @@
1
+ export class Property {
2
+ /**
3
+ * Creates an accessor property with customizable getter and setter functions.
4
+ *
5
+ * This method offers flexible ways to define accessor properties, including
6
+ * support for storage-based getters and setters. It can handle various input
7
+ * formats, making it versatile for different use cases.
8
+ *
9
+ * @param {string} name - The name of the accessor property.
10
+ * @param {Object} accessors - Object containing getter and/or setter functions.
11
+ * @param {Function} [accessors.get] - Getter function for the property.
12
+ * @param {Function} [accessors.set] - Setter function for the property.
13
+ * @param {Object} [accessors.prototype] - Prototype object for getter/setter.
14
+ * @param {Object} [options] - Additional options for the accessor property.
15
+ * @param {boolean} [options.configurable=true] - Whether property is configurable.
16
+ * @param {boolean} [options.enumerable=true] - Whether property is enumerable.
17
+ * @param {Object} [options.storage] - Storage object for getter/setter closures.
18
+ * @returns {Property} A new Property instance representing the accessor.
19
+ * @throws {TypeError} If no name, getter, or setter is provided.
20
+ *
21
+ * @example
22
+ * // Basic usage
23
+ * Property.accessor('color', {
24
+ * get() { return this._color; },
25
+ * set(value) { this._color = value; }
26
+ * });
27
+ *
28
+ * @example
29
+ * // Using storage
30
+ * Property.accessor('keyword', {
31
+ * get(storage) { return () => storage.keyword; },
32
+ * set(storage) { return (value) => { storage.keyword = value; } }
33
+ * }, { storage: { keyword: 'initial' } });
34
+ *
35
+ * @example
36
+ * // Using named getter function
37
+ * Property.accessor('color', function get() { return 'red' })
38
+ *
39
+ * @example
40
+ * // Using prototype
41
+ * const ColorAccessors = {
42
+ * red: { get() { return this._red; } }
43
+ * };
44
+ * Property.accessor('red', ColorAccessors.red);
45
+ */
46
+ static accessor(name: string, { get, set, prototype }: {
47
+ get?: Function | undefined;
48
+ set?: Function | undefined;
49
+ prototype?: Object | undefined;
50
+ }, { configurable, enumerable, storage }?: {
51
+ configurable?: boolean | undefined;
52
+ enumerable?: boolean | undefined;
53
+ storage?: Object | undefined;
54
+ } | undefined): Property;
55
+ static data(name: any, value: any, { writable, configurable, enumerable }?: {
56
+ writable: any;
57
+ configurable: any;
58
+ enumerable: any;
59
+ }): Property;
60
+ static from(object: any, name: any): Property;
61
+ static get is(): {
62
+ object(value: any): any;
63
+ descriptor(object: any): boolean;
64
+ };
65
+ constructor(key: any, descriptor: any);
66
+ key: string | symbol;
67
+ set descriptor(descriptor: {
68
+ enumerable: any;
69
+ configurable: any;
70
+ });
71
+ get descriptor(): {
72
+ enumerable: any;
73
+ configurable: any;
74
+ };
75
+ apply(toObject: any, asKey: any): any;
76
+ get is(): {
77
+ readonly accessor: boolean;
78
+ readonly data: boolean;
79
+ };
80
+ toString(colors?: boolean, { key, descriptor }?: {
81
+ key: any;
82
+ descriptor: any;
83
+ }): string;
84
+ }
85
+ export const PropertyExtensions: Extension;
86
+ import { Extension } from '@nejs/extension';
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PropertyExtensions = exports.Property = void 0;
4
+ const extension_1 = require("@nejs/extension");
5
+ class Property {
6
+ constructor(key, descriptor) {
7
+ if (key.startsWith(':'))
8
+ key = Symbol.for(key.slice(1));
9
+ if (typeof key !== 'string' && typeof key !== 'symbol') {
10
+ throw new TypeError('Key or symbol or :symbol must be supplied!');
11
+ }
12
+ this.key = key;
13
+ if (!Property.is.descriptor(descriptor)) {
14
+ this.descriptor = {
15
+ value: descriptor,
16
+ writable: true,
17
+ configurable: true,
18
+ enumerable: true,
19
+ };
20
+ }
21
+ else {
22
+ this.descriptor = descriptor;
23
+ }
24
+ }
25
+ apply(toObject, asKey) {
26
+ if (!toObject || !['object', 'function'].some(k => k == typeof toObject))
27
+ return;
28
+ return Object.defineProperty(toObject, asKey ?? this.key, this.descriptor);
29
+ }
30
+ get descriptor() {
31
+ const baseline = { configurable: true, enumerable: false };
32
+ const result = {
33
+ enumerable: this.meta.enumerable,
34
+ configurable: this.meta.configurable,
35
+ };
36
+ if (this.is.accessor) {
37
+ result.get = this.meta.accessor.get;
38
+ result.set = this.meta.accessor.set;
39
+ }
40
+ else {
41
+ result.value = this.meta.data.value;
42
+ result.writable = this.meta.data.writable;
43
+ }
44
+ return Object.defineProperties(result, {
45
+ make: {
46
+ ...baseline,
47
+ get() {
48
+ const self = this;
49
+ return {
50
+ get enumerable() { self.enumerable = true; return self; },
51
+ get hidden() { self.enumerable = false; return self; },
52
+ get writable() { self.writable = true; return self; },
53
+ get readonly() { self.writable = false; return self; },
54
+ get configurable() { self.configurable = true; return self; },
55
+ get immutable() { self.configurable = false; return self; },
56
+ };
57
+ }
58
+ },
59
+ is: {
60
+ ...baseline,
61
+ get() {
62
+ const self = this;
63
+ return {
64
+ get accessor() { return self.is.accssor; },
65
+ get data() { return self.is.data; }
66
+ };
67
+ }
68
+ },
69
+ });
70
+ }
71
+ set descriptor(descriptor) {
72
+ const { is } = this.constructor;
73
+ if (!is.descriptor(descriptor))
74
+ return;
75
+ this.meta.configurable = descriptor.configurable ?? true;
76
+ this.meta.enumerable = descriptor.enumerable ?? true;
77
+ if (Reflect.has(descriptor, 'get') || Reflect.has(descriptor, 'set')) {
78
+ const { get, set } = descriptor;
79
+ if (get !== undefined)
80
+ this.meta.accessor.get = get;
81
+ if (set !== undefined)
82
+ this.meta.accessor.set = set;
83
+ }
84
+ else {
85
+ const { value, writable } = descriptor;
86
+ this.meta.data.value = value;
87
+ this.meta.data.writable = writable ?? true;
88
+ }
89
+ }
90
+ get is() {
91
+ const self = this;
92
+ return {
93
+ get accessor() {
94
+ return !!(self.meta.accessor.get ||
95
+ self.meta.accessor.set);
96
+ },
97
+ get data() {
98
+ return !!!this.accessor;
99
+ },
100
+ };
101
+ }
102
+ toString(colors = false, { key, descriptor } = {}) {
103
+ const bold = s => colors ? `\x1b[1m${s}\x1b[22m` : s;
104
+ const dim = s => colors ? `\x1b[2m${s}\x1b[22m` : s;
105
+ const red = s => colors ? `\x1b[31m${s}\x1b[39m` : s;
106
+ const green = s => colors ? `\x1b[32m${s}\x1b[39m` : s;
107
+ const blue = s => colors ? `\x1b[34m${s}\x1b[39m` : s;
108
+ if (!key)
109
+ ({ key } = this);
110
+ if (!descriptor || !Property.is.descriptor(descriptor))
111
+ ({ descriptor } = this);
112
+ const buffer = [`${bold(key)} { `];
113
+ const keyPresent = (object) => (key) => Reflect.has(object, key);
114
+ const eqeq = (value, compare = (a, b) => a === b) => (element) => compare(element, value);
115
+ if (['get', 'set'].some(keyPresent(descriptor))) {
116
+ if (descriptor.get) {
117
+ buffer.push(blue('getter'));
118
+ if (descriptor.set) {
119
+ buffer.push(bold('|'));
120
+ }
121
+ }
122
+ if (descriptor.set) {
123
+ buffer.push(blue('setter'));
124
+ }
125
+ }
126
+ else {
127
+ buffer.push(green('value'));
128
+ buffer.push(bold('|'));
129
+ buffer.push(descriptor.writable ? green('writable') : red('readonly'));
130
+ }
131
+ buffer.push(' ');
132
+ buffer.push(descriptor.configurable ? green('mutable') : red('immuatable'));
133
+ buffer.push(' ');
134
+ buffer.push(descriptor.enumerable ? green('visible') : red('hidden'));
135
+ buffer.push(' }');
136
+ return buffer.join('');
137
+ }
138
+ [Symbol.for('nodejs.util.inspect.custom')](depth, options, inspect) {
139
+ return this.toString(true);
140
+ }
141
+ /**
142
+ * Creates an accessor property with customizable getter and setter functions.
143
+ *
144
+ * This method offers flexible ways to define accessor properties, including
145
+ * support for storage-based getters and setters. It can handle various input
146
+ * formats, making it versatile for different use cases.
147
+ *
148
+ * @param {string} name - The name of the accessor property.
149
+ * @param {Object} accessors - Object containing getter and/or setter functions.
150
+ * @param {Function} [accessors.get] - Getter function for the property.
151
+ * @param {Function} [accessors.set] - Setter function for the property.
152
+ * @param {Object} [accessors.prototype] - Prototype object for getter/setter.
153
+ * @param {Object} [options] - Additional options for the accessor property.
154
+ * @param {boolean} [options.configurable=true] - Whether property is configurable.
155
+ * @param {boolean} [options.enumerable=true] - Whether property is enumerable.
156
+ * @param {Object} [options.storage] - Storage object for getter/setter closures.
157
+ * @returns {Property} A new Property instance representing the accessor.
158
+ * @throws {TypeError} If no name, getter, or setter is provided.
159
+ *
160
+ * @example
161
+ * // Basic usage
162
+ * Property.accessor('color', {
163
+ * get() { return this._color; },
164
+ * set(value) { this._color = value; }
165
+ * });
166
+ *
167
+ * @example
168
+ * // Using storage
169
+ * Property.accessor('keyword', {
170
+ * get(storage) { return () => storage.keyword; },
171
+ * set(storage) { return (value) => { storage.keyword = value; } }
172
+ * }, { storage: { keyword: 'initial' } });
173
+ *
174
+ * @example
175
+ * // Using named getter function
176
+ * Property.accessor('color', function get() { return 'red' })
177
+ *
178
+ * @example
179
+ * // Using prototype
180
+ * const ColorAccessors = {
181
+ * red: { get() { return this._red; } }
182
+ * };
183
+ * Property.accessor('red', ColorAccessors.red);
184
+ */
185
+ static accessor(name, { get, set, prototype }, { configurable, enumerable, storage } = {}) {
186
+ if (!get && !set && prototype) {
187
+ const constructor = prototype?.constructor;
188
+ if (constructor?.name === 'get') {
189
+ get = constructor;
190
+ }
191
+ else if (constructor?.name === 'set') {
192
+ set = constructor;
193
+ }
194
+ }
195
+ if (get && storage && get.length == 1) {
196
+ get = get(storage);
197
+ }
198
+ if (set && storage && set.length == 1) {
199
+ set = set(storage);
200
+ }
201
+ if (!name && !get && !set)
202
+ throw new TypeError('Cannot create accessor');
203
+ configurable ??= true;
204
+ enumerable ??= true;
205
+ return new Property(name, { get, set, configurable, enumerable });
206
+ }
207
+ static data(name, value, { writable, configurable, enumerable } = {}) {
208
+ if (!name)
209
+ throw new TypeError('Cannot create data property without name');
210
+ writable ??= true;
211
+ configurable ??= true;
212
+ enumerable ??= true;
213
+ return new Property(name, { value, writable, configurable, enumerable });
214
+ }
215
+ static from(object, name) {
216
+ const descriptor = Object.getOwnPropertyDescriptor(object, name);
217
+ return new Property(name, descriptor);
218
+ }
219
+ static get is() {
220
+ return {
221
+ object(value) {
222
+ return value && ['object', 'function'].some(k => k == typeof value);
223
+ },
224
+ descriptor(object) {
225
+ if (!Property.is.object(object)) {
226
+ return false;
227
+ }
228
+ const present = element => Reflect.has(object, element);
229
+ const props = {
230
+ base: ['configurable', 'enumerable'],
231
+ data: ['writable', 'value'],
232
+ accessor: ['get', 'set'],
233
+ };
234
+ if (Object.getOwnPropertyNames(object).length > 4)
235
+ return false;
236
+ if (props.data.some(present) && props.accessor.some(present))
237
+ return false;
238
+ if (props.base.some(present))
239
+ return true;
240
+ if (props.data.some(present))
241
+ return true;
242
+ if (props.accessor.some(present))
243
+ return true;
244
+ return false;
245
+ }
246
+ };
247
+ }
248
+ static {
249
+ const storage = Object.assign(Object.create(null), {
250
+ key: undefined,
251
+ meta: {
252
+ enumerable: true,
253
+ configurable: true,
254
+ accessor: {
255
+ get: undefined,
256
+ set: undefined
257
+ },
258
+ data: {
259
+ value: undefined,
260
+ writable: true
261
+ },
262
+ },
263
+ });
264
+ basic_accessor(this.prototype, 'key', storage.key, storage);
265
+ basic_accessor(this.prototype, 'meta', storage.meta, storage);
266
+ }
267
+ }
268
+ exports.Property = Property;
269
+ exports.PropertyExtensions = new extension_1.Extension(Property);
270
+ function basic_accessor(prototype, key, initialValue, storage = {}) {
271
+ storage[key] = initialValue;
272
+ Object.defineProperty(prototype, key, {
273
+ get() {
274
+ return storage[key];
275
+ },
276
+ set(value) {
277
+ storage[key] = value;
278
+ },
279
+ enumerable: true,
280
+ configurable: true,
281
+ });
282
+ return Object.getOwnPropertyDescriptor(prototype, key);
283
+ }
284
+ //# sourceMappingURL=property.js.map