@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../../../src/utils/toolkit.js"],"names":[],"mappings":";;;AAq7CA,sCAEC;AAv7CD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;IAClB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC1E,CAAC,SAAS,EAAE,OAAO,CAAC,EAAM,CAAC,OAAO,EAAE,SAAS,CAAC,EAAM,CAAC,SAAS,EAAE,OAAO,CAAC;IACxE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACtE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;IAClD,CAAC,MAAM,EAAE,IAAI,CAAC,EAAY,CAAC,IAAI,EAAE,MAAM,CAAC;CACzC,CAAC,CAAA;AAEF;;GAEG;AACU,QAAA,EAAE,GAAG;IAChB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,CAAC,CAAC,KAAK,EAAE,WAAW;QAClB,MAAM,SAAS,GAAG,OAAO,KAAK,CAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEhE,IAAI,KAAK,KAAK,WAAW;YACvB,OAAO,IAAI,CAAA;QAEb,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAE3E,IAAI,QAAQ,IAAI,QAAQ,KAAK,WAAW,CAAC,IAAI;gBAC3C,OAAO,IAAI,CAAA;YAEb,IAAI,WAAW,EAAE,SAAS,IAAI,KAAK,YAAY,WAAW;gBACxD,OAAO,IAAI,CAAA;YAEb,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,WAAW,CAAA;QAC3C,CAAC;aAEI,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,KAAK,WAAW;YAC/C,OAAO,IAAI,CAAA;aAER,IAAI,SAAS,KAAK,WAAW,IAAI,QAAQ,KAAK,WAAW;YAC5D,OAAO,IAAI,CAAA;QAEb,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,KAAK;QACtB,OAAO,CAAC,CAAC,CACP,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,CAAC,KAAK,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,CAAC;YAC1B,KAAK,EAAE,QAAQ,KAAK,SAAS;YAC7B,KAAK,EAAE,KAAK,KAAK,SAAS,CAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,UAAU,EAAE,MAAM,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,KAAK;QACX,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CAAC,MAAM;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,KAAK;QAClB,OAAO,CACL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,EAAE,QAAQ,CAAC;YACjC,KAAK,EAAE,GAAG,KAAK,SAAS;YACxB,KAAK,EAAE,GAAG,KAAK,SAAS,CACzB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,IAAI,OAAO,IAAI,SAAS,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,KAAK,KAAK,KAAK,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;IACjB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,YAAY,QAAQ,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,KAAK;QACZ,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,KAAK;QACX,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;IAC/C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;IAC9D,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,SAAS,CAAC,KAAK;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,OAAO,IAAI,CAAA;QAEb,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,IAAI,CAChC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,KAAK;QACR,OAAO,KAAK,KAAK,IAAI,CAAA;IACvB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,CAAC,CAAC,KAAK,CAAA;IAChB,CAAC;CACF,CAAC;AAEW,QAAA,EAAE,GAAG;IAChB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS;QACxC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC5C,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IACzD,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAE5C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QACjC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS;QACnC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS;QAC7C,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QACxC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IACrD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QACpC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IACjD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC/C,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QACjC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC9C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QACnC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC/B,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC5C,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS;QAClC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IACpC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAC9B,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAChC,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,MAAM,OAAO,GAAG,UAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChE,OAAO,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7C,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACI,MAAM,GAAG,GAAG,SAAS,GAAG,CAAC,MAAM,EAAE,GAAG;IACzC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,UAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC,CAAC;AANW,QAAA,GAAG,OAMd;AAEF,MAAM,CAAC,MAAM,CAAC,WAAG,EAAE;IACjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,GAAG,CAAC,MAAM,EAAE,IAAI;QACd,IAAI,CAAC,UAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CAAC,MAAM,EAAE,IAAI;QACf,IAAI,CAAC,UAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,WAAG,EAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,MAAM;QACd,+CAA+C;QAC/C,OAAO,UAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAA,WAAG,EAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACrD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAM;QACd,OAAO,UAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,MAAM;QAChB,OAAO,UAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAA,WAAG,EAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAM;QACd,OAAO,CACL,UAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAA,WAAG,EAAC,MAAM,EAAE,SAAS,CAAC,IAAI,UAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3E,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,EAAE,GAAG;IAChB;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,KAAK;QACT,OAAO,CAAC,UAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CACJ,KAAK,EACL,GAAG,GAAG;QACJ,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,KAAK;KACjB;QAED,mDAAmD;QACnD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,UAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,WAAW,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,CAAC;QAED,IAAI,WAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAED,uDAAuD;QACvD,IAAI,UAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,UAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9B,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,UAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,UAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5B,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,yEAAyE;YACzE,IAAI,CAAC,UAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,UAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,UAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,KAAK;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAC,KAAK;QAChB,wBAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9B,IAAI,EAAE;aACN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC/B,4DAA4D;QAC5D,uEAAuE;QACvE,uBAAuB;QACvB,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAEpE,mEAAmE;QACnE,YAAY;QACZ,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK;QACV,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,OAAO,CAAC,KAAK;QACX,QAAQ,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC,KAAK,GAAG,CAAC;YACT,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,IAAI,CAAA;YAEb,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBACV,OAAO,KAAK,CAAA;YAEd;gBACE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAgB,aAAa;IAC3B,OAAO,EAAE,EAAE,EAAF,UAAE,EAAE,EAAE,EAAF,UAAE,EAAE,GAAG,EAAH,WAAG,EAAE,EAAE,EAAF,UAAE,EAAE,CAAA;AAC5B,CAAC;AAED,kBAAe;IACb,EAAE,EAAF,UAAE;IACF,GAAG,EAAH,WAAG;IACH,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,UAAE;IAEF,aAAa;CACd,CAAA"}
@@ -49,6 +49,9 @@ export const ArrayExtensions = new Patch(Array, {
49
49
  },
50
50
  });
51
51
  const { ifArray: pIfArray } = ArrayExtensions.patches;
52
+ // todo: everyOfType(type), someOfType(type)
53
+ // todo: everyWithTag(stringTag), someWithTag(stringTag),
54
+ // todo: everyOfInstance(Class), someOfInstance(Class)
52
55
  /**
53
56
  * `ArrayPrototypeExtensions` is a constant that applies a patch to the
54
57
  * Array prototype. This patch extends the Array prototype with additional
@@ -244,6 +247,26 @@ export const ArrayPrototypeExtensions = new Patch(Array.prototype, {
244
247
  get last() {
245
248
  return this[this.length - 1];
246
249
  },
250
+ /**
251
+ * A getter that returns a new array containing only truthy elements.
252
+ * Filters out falsy values like null, undefined, 0, false, NaN, and ''.
253
+ * Useful for quickly removing falsy values from an array.
254
+ *
255
+ * @returns {Array} A new array with only truthy elements.
256
+ */
257
+ get onlyTruthy() {
258
+ return this.filter(truthy => !!truthy);
259
+ },
260
+ /**
261
+ * A getter that returns a new array containing only falsy elements.
262
+ * Keeps falsy values like null, undefined, 0, false, NaN, and ''.
263
+ * Useful for isolating falsy values in an array for further processing.
264
+ *
265
+ * @returns {Array} A new array with only falsy elements.
266
+ */
267
+ get onlyFalsy() {
268
+ return this.filter(falsy => !!!falsy);
269
+ },
247
270
  // expected usage:
248
271
  // function example(name, age) {
249
272
  // const variants = [{name}, {age}].variants()
@@ -281,12 +304,163 @@ export const ArrayPrototypeExtensions = new Patch(Array.prototype, {
281
304
  });
282
305
  return result;
283
306
  },
307
+ /**
308
+ * Weaves together an array of keys and an array of values into an
309
+ * object, using the provided default value for missing values and
310
+ * the specified base descriptor for defining properties. This can
311
+ * be used to quickly generate empty models if a list of keys from
312
+ * a preset or other object.
313
+ *
314
+ * @param {Array} arrayOfKeys - An array of keys to be used as
315
+ * property names in the resulting object.
316
+ * @param {Array} [arrayOfValues] - An optional array of values to
317
+ * be assigned to the corresponding keys. If not provided or not an
318
+ * array, the `defaultValue` will be used for all properties.
319
+ * @param {*} [defaultValue] - The default value to be used for
320
+ * missing values or when `arrayOfValues` is not an array or when
321
+ * there are not enough values for the number of keys.
322
+ * @param {Object|string} [baseDescriptor] - The base property
323
+ * descriptor to be used for defining properties. If not provided,
324
+ * default descriptor values will be used. Special string values
325
+ * `'hidden'` and `'immutable'` can be used for predefined
326
+ * descriptors.
327
+ * @returns {Object} - The resulting object with the woven
328
+ * properties.
329
+ *
330
+ * @example
331
+ * const employee134 = { name: 'Jane Doe', yearsOfService: 3 }
332
+ * const employee135 = Array.weave(Object.keys(employee134))
333
+ * // employee135 = { name: undefined, yearsOfService: undefined }
334
+ *
335
+ * @example
336
+ * const keys = ['a', 'b', 'c']
337
+ * const values = [1, 2, 3]
338
+ * const obj = Array.weave(keys, values)
339
+ * console.log(obj) // { a: 1, b: 2, c: 3 }
340
+ *
341
+ * @example
342
+ * const keys = ['x', 'y', 'z']
343
+ * const obj = Array.weave(keys, 42, 0, 'immutable')
344
+ * console.log(obj) // { x: 42, y: 42, z: 42 } (immutable)
345
+ */
346
+ weave(arrayOfKeys, arrayOfValues, defaultValue, baseDescriptor) {
347
+ if (!Array.isArray(arrayOfKeys)) {
348
+ return {};
349
+ }
350
+ if (arrayOfValues && !Array.isArray(arrayOfValues)) {
351
+ const repeatedValue = arrayOfValues;
352
+ arrayOfValues = [];
353
+ for (const _ of arrayOfKeys) {
354
+ arrayOfValues.push(repeatedValue);
355
+ }
356
+ }
357
+ const descKeys = ['configurable', 'enumerable', 'writable'];
358
+ let object = {};
359
+ let descriptor;
360
+ let keys = arrayOfKeys;
361
+ let values = arrayOfValues;
362
+ let useGetter = false;
363
+ // Ensure we have a descriptor
364
+ if (!baseDescriptor) {
365
+ descriptor = descKeys.reduce((acc, key) => { acc[key] = true; return acc; }, {});
366
+ }
367
+ else if (baseDescriptor === 'hidden') {
368
+ baseDescriptor = { configurable: true, enumerable: false };
369
+ }
370
+ else if (baseDescriptor === 'immutable') {
371
+ useGetter = true;
372
+ baseDescriptor = { configurable: false, enumerable: false };
373
+ }
374
+ else if (baseDescriptor && typeof baseDescriptor === 'object') {
375
+ descriptor = descKeys.reduce((acc, key) => {
376
+ acc[key] = baseDescriptor?.[key] ?? true;
377
+ return acc;
378
+ }, {});
379
+ }
380
+ for (const [index, key] of Object.entries(keys)) {
381
+ if (useGetter) {
382
+ Object.defineProperty(object, key, {
383
+ ...descriptor,
384
+ get() { return values?.[index] ?? defaultValue; },
385
+ });
386
+ }
387
+ else {
388
+ Object.defineProperty(object, key, {
389
+ ...descriptor,
390
+ value: values?.[index] ?? defaultValue,
391
+ });
392
+ }
393
+ }
394
+ return object;
395
+ },
396
+ /**
397
+ * @property {object} kTypeDefaults
398
+ * @description
399
+ * An object that maps JavaScript types to their default values.
400
+ * This is useful for initializing variables or properties with
401
+ * a default value based on their expected type.
402
+ *
403
+ * Note that `symbol` types are initialized with `undefined`
404
+ * due to the fact that their usage is by definition, unique;
405
+ * or at the very least deliberately reused.
406
+ *
407
+ * The default values for each type are:
408
+ * - `undefined`: `undefined`
409
+ * - `symbol`: `undefined`
410
+ * - `string`: `""`
411
+ * - `object`: `{}`
412
+ * - `number`: `0`
413
+ * - `boolean`: `true`
414
+ * - `bigint`: `0n`
415
+ * - `function`: an empty function
416
+ *
417
+ * @example
418
+ * const defaultString = Array.kTypeDefaults.string
419
+ * console.log(defaultString) // Output: ""
420
+ *
421
+ * const defaultNumber = Array.kTypeDefaults.number
422
+ * console.log(defaultNumber) // Output: 0
423
+ */
424
+ get [Symbol.for('@nejs.defaults.by.type')]() {
425
+ return {
426
+ undefined: undefined,
427
+ symbol: undefined,
428
+ string: "",
429
+ object: {},
430
+ number: 0,
431
+ boolean: true,
432
+ bigint: 0n,
433
+ function() { },
434
+ };
435
+ },
436
+ /**
437
+ * @property {symbol} kDefaultsByType
438
+ * @description
439
+ * A unique symbol that represents the key for accessing
440
+ * the default values for different types.
441
+ *
442
+ * This symbol is created using `Symbol.for()` with the key
443
+ * `'@nejs.defaults.by.type'`. It can be used to retrieve
444
+ * the default values object from other parts of the code.
445
+ *
446
+ * @example
447
+ * const defaultsByType = Array[Array.kDefaultsByType]
448
+ * console.log(defaultsByType.string) // Output: ""
449
+ * console.log(defaultsByType.number) // Output: 0
450
+ *
451
+ * @returns {symbol} The unique symbol for accessing the
452
+ * default values by type.
453
+ */
454
+ get kDefaultsByType() {
455
+ return Symbol.for('@nejs.defaults.by.type');
456
+ },
284
457
  },
285
458
  });
286
459
  // NOTE to self; this is repeated here otherwise a circular reference from
287
460
  // Object<->Function<->Global occurs. See original source in global.this.js
288
461
  // {@see globalThis.isThenElse}
289
462
  function isThenElse(bv, tv, ev) {
463
+ function isFunction(value) { typeof value === 'function'; }
290
464
  if (arguments.length > 1) {
291
465
  var _then = isFunction(tv) ? tv(bv) : tv;
292
466
  if (arguments.length > 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"array.extensions.js","sourceRoot":"","sources":["../../src/array.extensions.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.extensions.js","sourceRoot":"","sources":["../../src/array.extensions.js"],"names":[],"mappings":"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"}
@@ -148,6 +148,7 @@ export const BigIntPrototypeExtensions = new Patch(BigInt.prototype, {
148
148
  // Object<->Function<->Global occurs. See original source in global.this.js
149
149
  // {@see globalThis.isThenElse}
150
150
  function isThenElse(bv, tv, ev) {
151
+ function isFunction(value) { typeof value === 'function'; }
151
152
  if (arguments.length > 1) {
152
153
  var _then = isFunction(tv) ? tv(bv) : tv;
153
154
  if (arguments.length > 2) {
@@ -1 +1 @@
1
- {"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrE,CAAC;QAAC,OAAO,EAAE,IAAI,KAAK,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,SAAS,UAAU,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,CAAA,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrE,CAAC;QAAC,OAAO,EAAE,IAAI,KAAK,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -1,13 +1,4 @@
1
1
  export class Descriptor {
2
- /**
3
- * Shorthand for Object.getOwnPropertyDescriptor()
4
- *
5
- * @param {object} object a non-null object instance
6
- * @param {string|symbol} key a symbol or string referencing which key on the
7
- * object to return a descriptor for.
8
- * @returns an object descriptor for the requested field or null
9
- */
10
- static for(object: object, key: string | symbol, wrap?: boolean): PropertyDescriptor | Descriptor | null | undefined;
11
2
  /**
12
3
  * The function `getData` retrieves the value of a property from an object
13
4
  * if it exists and is a data property.
@@ -71,15 +62,7 @@ export class Descriptor {
71
62
  * @returns an object with properties "get", "set", "enumerable", and
72
63
  * "configurable".
73
64
  */
74
- static accessor(getter: any, setter: any, { enumerable, configurable }?: {
75
- enumerable: boolean;
76
- configurable: boolean;
77
- } | undefined): {
78
- get: any;
79
- set: any;
80
- enumerable: boolean;
81
- configurable: boolean;
82
- };
65
+ static accessor(...args: any[]): any;
83
66
  /**
84
67
  * The function "newData" creates a new data object with customizable
85
68
  * properties.
@@ -95,14 +78,18 @@ export class Descriptor {
95
78
  * `configurable`.
96
79
  */
97
80
  static data(value: any, writable?: boolean | undefined, { enumerable, configurable }?: {
98
- enumerable: boolean;
99
81
  configurable: boolean;
100
- } | undefined): {
101
- value: any;
102
82
  enumerable: boolean;
103
- writable: boolean;
104
- configurable: boolean;
105
- };
83
+ } | undefined): any;
84
+ /**
85
+ * Shorthand for Object.getOwnPropertyDescriptor()
86
+ *
87
+ * @param {object} object a non-null object instance
88
+ * @param {string|symbol} key a symbol or string referencing which key on the
89
+ * object to return a descriptor for.
90
+ * @returns an object descriptor for the requested field or null
91
+ */
92
+ static for(object: object, key: string | symbol, wrap?: boolean): PropertyDescriptor | Descriptor | null | undefined;
106
93
  /**
107
94
  * The function checks if an object is a likely an object descriptor in
108
95
  * JavaScript. This is determined as an object with some of the known
@@ -110,43 +97,51 @@ export class Descriptor {
110
97
  * or set). Technically, any object could serve as a descriptor but this
111
98
  * function only returns true if known descriptor keys are found.
112
99
  *
113
- * @param object - The `object` parameter is the object that we want to
114
- * check if it is a descriptor.
115
- * @returns a boolean value.
116
- */
117
- static isDescriptor(object: any): any;
118
- /**
119
- * The function checks if a given property or descriptor is a data property.
120
- *
121
- * brie
100
+ * @param {any} object - Any value we want to check for being a descriptor.
101
+ * @param {boolean} returnStatsInstead defaults to false, but if the value
102
+ * is `true` then an object with reasoning behind the decision of whether
103
+ * or not the
104
+ * @returns {IsDescriptorResponse} either a {@link boolean} value or
105
+ * an object conforming to {@link IsDescriptorStats} if `returnStatsInstead`
106
+ * is `true`
122
107
  *
123
- * @param descriptor_orProp - The `descriptor_orProp` parameter can be
124
- * either a descriptor or a property name.
125
- * @param object - The `object` parameter is the object that you want to
126
- * check for data properties.
127
- * @returns a boolean value. It returns `true` if the `descriptor` object
128
- * has any keys that match the `DATA_KEYS` array, otherwise it returns
129
- * `false`.
108
+ * @see {@link DescriptorUtils.isDescriptor}
130
109
  */
131
- static isData(object_orProp: any, property: any): boolean;
110
+ static isDescriptor(object: any, returnStatsInstead?: boolean): IsDescriptorResponse;
132
111
  /**
133
112
  * The function checks if a given property descriptor or property of an
134
113
  * object is an accessor.
135
114
  *
136
- * @param object_orProp - The `descriptor_orProp` parameter can be either a
137
- * descriptor object or a property name.
138
- * @param property - The `object` parameter is the object that you want to
139
- * check for accessor properties.
140
- * @returns a boolean value. It returns true if the descriptor or property
141
- * passed as an argument is an accessor descriptor, and false otherwise.
115
+ * @param {object} objectOrDescriptor - The `objectOrDescriptor` parameter
116
+ * can be either a descriptor object or a property name.
117
+ * @param {(string|number|symbol)?} property the property name you wish to
118
+ * check the validity as an accessor descriptor. Only expected if the
119
+ * `objectOrDescriptor` parameter is the object that would contain this
120
+ * property.
121
+ * @returns {@link Boolean} returning `true` if the `descriptor` object
122
+ * has any keys that match the {@link Descriptor.ACCESSOR_KEYS} array,
123
+ * otherwise it returns `false`.
124
+ */
125
+ static isAccessor(objectOrDescriptor: object, property: (string | number | symbol) | null): any;
126
+ /**
127
+ * The function checks if a given property or descriptor is a data property.
128
+ *
129
+ * @param {object} objectOrDescriptor - The `objectOrDescriptor` parameter
130
+ * can be either a descriptor object or a property name.
131
+ * @param {(string|number|symbol)?} property the property name you wish to
132
+ * check the validity as an accessor descriptor. Only expected if the
133
+ * `objectOrDescriptor` parameter is the object that would contain this
134
+ * property.
135
+ * @returns {@link Boolean} returning `true` if the `descriptor` object
136
+ * has any keys that match the {@link Descriptor.DATA_KEYS} array, otherwise
137
+ * it returns `false`.
142
138
  */
143
- static isAccessor(object_orProp: any, property: any): boolean;
139
+ static isData(objectOrDescriptor: object, property: (string | number | symbol) | null): any;
144
140
  /**
145
141
  * A base descriptor (new for each read) that is both enumerable and
146
142
  * configurable
147
143
  *
148
- * @returns The method `flexible` is returning the result of calling the
149
- * `base` method with the arguments `true` and `true`.
144
+ * @returns `{ enumerable: true, configurable: true }`
150
145
  */
151
146
  static get flexible(): {
152
147
  enumerable: boolean;
@@ -156,8 +151,7 @@ export class Descriptor {
156
151
  * A base descriptor (new for each read) that is not enumerable but is
157
152
  * configurable
158
153
  *
159
- * @returns The method `enigmatic` is returning the result of calling
160
- * the `base` method with the arguments `false` and `true`.
154
+ * @returns `{ enumerable: false, configurable: true }`
161
155
  */
162
156
  static get enigmatic(): {
163
157
  enumerable: boolean;
@@ -165,20 +159,19 @@ export class Descriptor {
165
159
  };
166
160
  /**
167
161
  * A base descriptor (new for each read) that is neither enumerable
168
- * nor configurable
162
+ * nor configurable.
169
163
  *
170
- * @returns The code is returning the result of calling the `base` method with
171
- * the arguments `false` and `false`.
164
+ * @returns `{ enumerable: false, configurable: false }`
172
165
  */
173
166
  static get intrinsic(): {
174
167
  enumerable: boolean;
175
168
  configurable: boolean;
176
169
  };
177
170
  /**
178
- * A base descriptor (new for each read) that enumerable but not configurable
171
+ * A base descriptor (new for each read) that is enumerable but
172
+ * not configurable
179
173
  *
180
- * @returns The method is returning the result of calling the `base`
181
- * method with the arguments `true` and `false`.
174
+ * @returns `{ enumerable: true, configurable: false }`
182
175
  */
183
176
  static get transparent(): {
184
177
  enumerable: boolean;
@@ -219,7 +212,22 @@ export class Descriptor {
219
212
  * @throws {Error} Throws an error if the constructed descriptor is not
220
213
  * valid.
221
214
  */
222
- constructor(object: object | Descriptor, key?: string | symbol | undefined);
215
+ constructor(object: object | Descriptor, key?: string | symbol | undefined, ...args: any[]);
216
+ /**
217
+ * The default private descriptor value is that of `enigmatic`
218
+ *
219
+ * @private
220
+ * @type {object}
221
+ */
222
+ private _desc;
223
+ /**
224
+ * An optionally associated object, usually the parent from which
225
+ * the descriptor was taken, or undefined if none was able to be
226
+ * derived.
227
+ *
228
+ * @type {object}
229
+ */
230
+ _object: object;
223
231
  /**
224
232
  * Detects whether or not this instance is an accessor object descriptor
225
233
  *
@@ -240,85 +248,6 @@ export class Descriptor {
240
248
  * @returns {boolean} true if this descriptor store is a valid descriptor
241
249
  */
242
250
  get isDescriptor(): boolean;
243
- /**
244
- * Sets the `configurable` value of this object. If the internal descriptor
245
- * store store is invalid, the value is thrown away
246
- *
247
- * @param {boolean} value the value to set for the `configurable` descriptor
248
- * property. If this value is not a `boolean` it will be converted to one
249
- */
250
- set configurable(value: boolean);
251
- /**
252
- * Getter around the `configurable` object descriptor property of
253
- * this instance of Descriptor.
254
- *
255
- * @returns {boolean} a boolean value or undefined if the internal
256
- * descriptor store is invalid.
257
- */
258
- get configurable(): boolean;
259
- /**
260
- * Sets the `enumerable` value of this object. If the internal descriptor
261
- * store is invalid, the value is thrown away
262
- *
263
- * @param {boolean} value the value to set for the `enumerable` descriptor
264
- * property. If this value is not a `boolean` it will be converted to one
265
- */
266
- set enumerable(value: boolean);
267
- /**
268
- * Getter around the `enumerable` object descriptor property of
269
- * this instance of Descriptor.
270
- *
271
- * @returns {boolean} a boolean value or undefined if the internal
272
- * descriptor store is invalid.
273
- */
274
- get enumerable(): boolean;
275
- /**
276
- * Sets the `writable` value of this object. If the internal descriptor
277
- * store is invalid, the value is thrown away
278
- *
279
- * @param {boolean} value the value to set for the `writable` descriptor
280
- * property. If this value is not a `boolean` it will be converted to one
281
- */
282
- set writable(value: boolean);
283
- /**
284
- * Getter around the `writable` object descriptor property of
285
- * this instance of Descriptor.
286
- *
287
- * @returns {boolean} a boolean value or undefined if the internal
288
- * descriptor store is invalid.
289
- */
290
- get writable(): boolean;
291
- /**
292
- * Sets the `value` value of this object. If the internal descriptor
293
- * store is invalid, the value is thrown away
294
- *
295
- * @param {any} value the value to set for the `value` descriptor
296
- * property.
297
- */
298
- set value(value: any);
299
- /**
300
- * Getter around the `value` object descriptor property of
301
- * this instance of Descriptor.
302
- *
303
- * @returns {any} any value stored in this descriptor
304
- */
305
- get value(): any;
306
- /**
307
- * Sets the `get` value of this object. If the internal descriptor
308
- * store is invalid, the value is thrown away
309
- *
310
- * @param {function} value the getter function for this descriptor
311
- */
312
- set get(value: Function);
313
- /**
314
- * Getter around the `get` object descriptor property of
315
- * this instance of Descriptor.
316
- *
317
- * @returns {function} a function if the getter for this descriptor is
318
- * defined or `undefined` if the internal descriptor object or the getter
319
- * is undefined.
320
- */
321
- get get(): Function;
322
251
  /**
323
252
  * Retrieves the {@link get} function for this accessor and binds it to
324
253
  * the object from which the descriptor was derived, if that value is set.
@@ -328,22 +257,6 @@ export class Descriptor {
328
257
  * getter will be bound the associated and previously set `object`.
329
258
  */
330
259
  get boundGet(): Function;
331
- /**
332
- * Sets the `set` value of this object. If the internal descriptor
333
- * store is invalid, the value is thrown away
334
- *
335
- * @param {function} value the setter function for this descriptor
336
- */
337
- set set(value: Function);
338
- /**
339
- * Getter around the `set` object descriptor property of
340
- * this instance of Descriptor.
341
- *
342
- * @returns {function} a function if the setter for this descriptor is
343
- * defined or `undefined` if the internal descriptor object or the setter
344
- * is undefined.
345
- */
346
- get set(): Function;
347
260
  /**
348
261
  * Retrieves the {@link set} function for this accessor and binds it to
349
262
  * the object from which the descriptor was derived, if that value is set.
@@ -416,7 +329,6 @@ export class Descriptor {
416
329
  * @returns {string} the name of the class
417
330
  */
418
331
  get [Symbol.toStringTag](): string;
419
- #private;
420
332
  }
421
333
  export const DescriptorExtensions: Extension;
422
334
  import { Extension } from '@nejs/extension';