@nejs/basic-extensions 2.6.0 → 2.8.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 (271) hide show
  1. package/.vscode/settings.json +5 -0
  2. package/README.md +6129 -1574
  3. package/dist/@nejs/basic-extensions.bundle.2.7.0.js +19 -0
  4. package/dist/@nejs/basic-extensions.bundle.2.7.0.js.map +7 -0
  5. package/dist/cjs/array.extensions.d.ts +39 -0
  6. package/dist/cjs/array.extensions.js +303 -0
  7. package/dist/cjs/array.extensions.js.map +1 -0
  8. package/dist/cjs/big.int.extension.d.ts +31 -0
  9. package/dist/cjs/big.int.extension.js +164 -0
  10. package/dist/cjs/big.int.extension.js.map +1 -0
  11. package/dist/cjs/{newClasses → classes}/asyncIterable.js +32 -44
  12. package/dist/cjs/classes/asyncIterable.js.map +1 -0
  13. package/dist/cjs/{newClasses → classes}/deferred.js +66 -138
  14. package/dist/cjs/classes/deferred.js.map +1 -0
  15. package/dist/cjs/{newClasses → classes}/descriptor.js +56 -90
  16. package/dist/cjs/classes/descriptor.js.map +1 -0
  17. package/dist/cjs/classes/index.d.ts +13 -0
  18. package/dist/cjs/classes/index.js +57 -0
  19. package/dist/cjs/classes/index.js.map +1 -0
  20. package/dist/cjs/classes/introspector.d.ts +20 -0
  21. package/dist/cjs/classes/introspector.js +130 -0
  22. package/dist/cjs/classes/introspector.js.map +1 -0
  23. package/dist/cjs/{newClasses → classes}/iterable.js +42 -63
  24. package/dist/cjs/classes/iterable.js.map +1 -0
  25. package/dist/cjs/classes/param.parser.d.ts +227 -0
  26. package/dist/cjs/classes/param.parser.js +242 -0
  27. package/dist/cjs/classes/param.parser.js.map +1 -0
  28. package/dist/cjs/classes/pluggable.proxy.d.ts +152 -0
  29. package/dist/cjs/classes/pluggable.proxy.js +444 -0
  30. package/dist/cjs/classes/pluggable.proxy.js.map +1 -0
  31. package/dist/cjs/{newClasses → classes}/refmap.js +18 -30
  32. package/dist/cjs/classes/refmap.js.map +1 -0
  33. package/dist/cjs/{newClasses → classes}/refset.js +28 -47
  34. package/dist/cjs/classes/refset.js.map +1 -0
  35. package/dist/cjs/classes/symkeys.d.ts +292 -0
  36. package/dist/cjs/classes/symkeys.js +424 -0
  37. package/dist/cjs/classes/symkeys.js.map +1 -0
  38. package/dist/cjs/classes/type.d.ts +56 -0
  39. package/dist/cjs/classes/type.js +405 -0
  40. package/dist/cjs/classes/type.js.map +1 -0
  41. package/dist/cjs/function.extensions.js +757 -0
  42. package/dist/cjs/function.extensions.js.map +1 -0
  43. package/dist/cjs/global.this.js +261 -0
  44. package/dist/cjs/global.this.js.map +1 -0
  45. package/dist/cjs/index.d.ts +4 -3
  46. package/dist/cjs/index.js +62 -32
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/json.extensions.d.ts +2 -0
  49. package/dist/cjs/json.extensions.js +107 -0
  50. package/dist/cjs/json.extensions.js.map +1 -0
  51. package/dist/{mjs/mapextensions.d.ts → cjs/map.extensions.d.ts} +1 -0
  52. package/dist/cjs/map.extensions.js +142 -0
  53. package/dist/cjs/map.extensions.js.map +1 -0
  54. package/dist/cjs/number.extension.d.ts +44 -0
  55. package/dist/cjs/number.extension.js +260 -0
  56. package/dist/cjs/number.extension.js.map +1 -0
  57. package/dist/cjs/object.extensions.d.ts +62 -0
  58. package/dist/cjs/object.extensions.js +1116 -0
  59. package/dist/cjs/object.extensions.js.map +1 -0
  60. package/dist/cjs/proxy.extensions.d.ts +2 -0
  61. package/dist/cjs/proxy.extensions.js +207 -0
  62. package/dist/cjs/proxy.extensions.js.map +1 -0
  63. package/dist/cjs/reflect.extensions.js +316 -0
  64. package/dist/cjs/reflect.extensions.js.map +1 -0
  65. package/dist/cjs/regular.expression.extensions.d.ts +2 -0
  66. package/dist/cjs/regular.expression.extensions.js +423 -0
  67. package/dist/cjs/regular.expression.extensions.js.map +1 -0
  68. package/dist/cjs/set.extensions.d.ts +40 -0
  69. package/dist/cjs/{setextensions.js → set.extensions.js} +150 -2
  70. package/dist/cjs/set.extensions.js.map +1 -0
  71. package/dist/cjs/string.extensions.js +471 -0
  72. package/dist/cjs/string.extensions.js.map +1 -0
  73. package/dist/{mjs/symbolextensions.d.ts → cjs/symbol.extensions.d.ts} +1 -0
  74. package/dist/cjs/symbol.extensions.js +259 -0
  75. package/dist/cjs/symbol.extensions.js.map +1 -0
  76. package/dist/cjs/{weakrefextensions.js → weakref.extensions.js} +1 -1
  77. package/dist/cjs/weakref.extensions.js.map +1 -0
  78. package/dist/mjs/array.extensions.d.ts +39 -0
  79. package/dist/mjs/array.extensions.js +300 -0
  80. package/dist/mjs/array.extensions.js.map +1 -0
  81. package/dist/mjs/big.int.extension.d.ts +31 -0
  82. package/dist/mjs/big.int.extension.js +161 -0
  83. package/dist/mjs/big.int.extension.js.map +1 -0
  84. package/dist/mjs/classes/asyncIterable.js.map +1 -0
  85. package/dist/mjs/classes/deferred.js.map +1 -0
  86. package/dist/mjs/{newClasses → classes}/descriptor.js +7 -4
  87. package/dist/mjs/classes/descriptor.js.map +1 -0
  88. package/dist/mjs/classes/index.d.ts +13 -0
  89. package/dist/mjs/classes/index.js +40 -0
  90. package/dist/mjs/classes/index.js.map +1 -0
  91. package/dist/mjs/classes/introspector.d.ts +20 -0
  92. package/dist/mjs/classes/introspector.js +126 -0
  93. package/dist/mjs/classes/introspector.js.map +1 -0
  94. package/dist/mjs/classes/iterable.js.map +1 -0
  95. package/dist/mjs/classes/param.parser.d.ts +227 -0
  96. package/dist/mjs/classes/param.parser.js +238 -0
  97. package/dist/mjs/classes/param.parser.js.map +1 -0
  98. package/dist/mjs/classes/pluggable.proxy.d.ts +152 -0
  99. package/dist/mjs/classes/pluggable.proxy.js +438 -0
  100. package/dist/mjs/classes/pluggable.proxy.js.map +1 -0
  101. package/dist/mjs/{newClasses → classes}/refmap.js +3 -3
  102. package/dist/mjs/classes/refmap.js.map +1 -0
  103. package/dist/mjs/classes/refset.js.map +1 -0
  104. package/dist/mjs/classes/symkeys.d.ts +292 -0
  105. package/dist/mjs/classes/symkeys.js +420 -0
  106. package/dist/mjs/classes/symkeys.js.map +1 -0
  107. package/dist/mjs/classes/type.d.ts +56 -0
  108. package/dist/mjs/classes/type.js +401 -0
  109. package/dist/mjs/classes/type.js.map +1 -0
  110. package/dist/mjs/function.extensions.js +754 -0
  111. package/dist/mjs/function.extensions.js.map +1 -0
  112. package/dist/mjs/global.this.js +258 -0
  113. package/dist/mjs/global.this.js.map +1 -0
  114. package/dist/mjs/index.d.ts +4 -3
  115. package/dist/mjs/index.js +49 -19
  116. package/dist/mjs/index.js.map +1 -1
  117. package/dist/mjs/json.extensions.d.ts +2 -0
  118. package/dist/mjs/json.extensions.js +104 -0
  119. package/dist/mjs/json.extensions.js.map +1 -0
  120. package/dist/{cjs/mapextensions.d.ts → mjs/map.extensions.d.ts} +1 -0
  121. package/dist/mjs/map.extensions.js +139 -0
  122. package/dist/mjs/map.extensions.js.map +1 -0
  123. package/dist/mjs/number.extension.d.ts +44 -0
  124. package/dist/mjs/number.extension.js +257 -0
  125. package/dist/mjs/number.extension.js.map +1 -0
  126. package/dist/mjs/object.extensions.d.ts +62 -0
  127. package/dist/mjs/object.extensions.js +1112 -0
  128. package/dist/mjs/object.extensions.js.map +1 -0
  129. package/dist/mjs/proxy.extensions.d.ts +2 -0
  130. package/dist/mjs/proxy.extensions.js +204 -0
  131. package/dist/mjs/proxy.extensions.js.map +1 -0
  132. package/dist/mjs/reflect.extensions.js +313 -0
  133. package/dist/mjs/reflect.extensions.js.map +1 -0
  134. package/dist/mjs/regular.expression.extensions.d.ts +2 -0
  135. package/dist/mjs/regular.expression.extensions.js +420 -0
  136. package/dist/mjs/regular.expression.extensions.js.map +1 -0
  137. package/dist/mjs/set.extensions.d.ts +40 -0
  138. package/dist/mjs/{setextensions.js → set.extensions.js} +149 -1
  139. package/dist/mjs/set.extensions.js.map +1 -0
  140. package/dist/mjs/string.extensions.js +468 -0
  141. package/dist/mjs/string.extensions.js.map +1 -0
  142. package/dist/{cjs/symbolextensions.d.ts → mjs/symbol.extensions.d.ts} +1 -0
  143. package/dist/mjs/symbol.extensions.js +256 -0
  144. package/dist/mjs/symbol.extensions.js.map +1 -0
  145. package/dist/mjs/{weakrefextensions.js → weakref.extensions.js} +1 -1
  146. package/dist/mjs/weakref.extensions.js.map +1 -0
  147. package/docs/index.html +24045 -5805
  148. package/package.json +6 -4
  149. package/repl.bootstrap.js +21 -0
  150. package/src/array.extensions.js +322 -0
  151. package/src/big.int.extension.js +163 -0
  152. package/src/{newClasses → classes}/descriptor.js +16 -12
  153. package/src/classes/index.js +51 -0
  154. package/src/classes/introspector.js +167 -0
  155. package/src/classes/param.parser.js +253 -0
  156. package/src/classes/pluggable.proxy.js +485 -0
  157. package/src/{newClasses → classes}/refmap.js +5 -3
  158. package/src/classes/symkeys.js +464 -0
  159. package/src/classes/type.js +427 -0
  160. package/src/function.extensions.js +818 -0
  161. package/src/global.this.js +304 -0
  162. package/src/index.js +56 -23
  163. package/src/json.extensions.js +108 -0
  164. package/src/map.extensions.js +144 -0
  165. package/src/number.extension.js +273 -0
  166. package/src/object.extensions.js +1222 -0
  167. package/src/proxy.extensions.js +229 -0
  168. package/src/reflect.extensions.js +346 -0
  169. package/src/regular.expression.extensions.js +451 -0
  170. package/src/{setextensions.js → set.extensions.js} +151 -2
  171. package/src/string.extensions.js +515 -0
  172. package/src/symbol.extensions.js +268 -0
  173. package/tests/newClasses/refmap.test.js +3 -2
  174. package/tsconfig.base.json +5 -3
  175. package/tsconfig.cjs.json +2 -2
  176. package/tsconfig.esm.json +2 -2
  177. package/dist/@nejs/basic-extensions.bundle.2.5.0.js +0 -8
  178. package/dist/@nejs/basic-extensions.bundle.2.5.0.js.map +0 -7
  179. package/dist/cjs/arrayextensions.d.ts +0 -10
  180. package/dist/cjs/arrayextensions.js +0 -73
  181. package/dist/cjs/arrayextensions.js.map +0 -1
  182. package/dist/cjs/functionextensions.js +0 -202
  183. package/dist/cjs/functionextensions.js.map +0 -1
  184. package/dist/cjs/globals.js +0 -166
  185. package/dist/cjs/globals.js.map +0 -1
  186. package/dist/cjs/mapextensions.js +0 -32
  187. package/dist/cjs/mapextensions.js.map +0 -1
  188. package/dist/cjs/newClasses/asyncIterable.js.map +0 -1
  189. package/dist/cjs/newClasses/deferred.js.map +0 -1
  190. package/dist/cjs/newClasses/descriptor.js.map +0 -1
  191. package/dist/cjs/newClasses/iterable.js.map +0 -1
  192. package/dist/cjs/newClasses/refmap.js.map +0 -1
  193. package/dist/cjs/newClasses/refset.js.map +0 -1
  194. package/dist/cjs/objectextensions.d.ts +0 -11
  195. package/dist/cjs/objectextensions.js +0 -232
  196. package/dist/cjs/objectextensions.js.map +0 -1
  197. package/dist/cjs/reflectextensions.js +0 -111
  198. package/dist/cjs/reflectextensions.js.map +0 -1
  199. package/dist/cjs/setextensions.d.ts +0 -2
  200. package/dist/cjs/setextensions.js.map +0 -1
  201. package/dist/cjs/stringextensions.js +0 -158
  202. package/dist/cjs/stringextensions.js.map +0 -1
  203. package/dist/cjs/symbolextensions.js +0 -69
  204. package/dist/cjs/symbolextensions.js.map +0 -1
  205. package/dist/cjs/weakrefextensions.js.map +0 -1
  206. package/dist/mjs/arrayextensions.d.ts +0 -10
  207. package/dist/mjs/arrayextensions.js +0 -70
  208. package/dist/mjs/arrayextensions.js.map +0 -1
  209. package/dist/mjs/functionextensions.js +0 -199
  210. package/dist/mjs/functionextensions.js.map +0 -1
  211. package/dist/mjs/globals.js +0 -163
  212. package/dist/mjs/globals.js.map +0 -1
  213. package/dist/mjs/mapextensions.js +0 -29
  214. package/dist/mjs/mapextensions.js.map +0 -1
  215. package/dist/mjs/newClasses/asyncIterable.js.map +0 -1
  216. package/dist/mjs/newClasses/deferred.js.map +0 -1
  217. package/dist/mjs/newClasses/descriptor.js.map +0 -1
  218. package/dist/mjs/newClasses/iterable.js.map +0 -1
  219. package/dist/mjs/newClasses/refmap.js.map +0 -1
  220. package/dist/mjs/newClasses/refset.js.map +0 -1
  221. package/dist/mjs/objectextensions.d.ts +0 -11
  222. package/dist/mjs/objectextensions.js +0 -229
  223. package/dist/mjs/objectextensions.js.map +0 -1
  224. package/dist/mjs/reflectextensions.js +0 -108
  225. package/dist/mjs/reflectextensions.js.map +0 -1
  226. package/dist/mjs/setextensions.d.ts +0 -2
  227. package/dist/mjs/setextensions.js.map +0 -1
  228. package/dist/mjs/stringextensions.js +0 -155
  229. package/dist/mjs/stringextensions.js.map +0 -1
  230. package/dist/mjs/symbolextensions.js +0 -66
  231. package/dist/mjs/symbolextensions.js.map +0 -1
  232. package/dist/mjs/weakrefextensions.js.map +0 -1
  233. package/src/arrayextensions.js +0 -75
  234. package/src/functionextensions.js +0 -225
  235. package/src/globals.js +0 -196
  236. package/src/mapextensions.js +0 -32
  237. package/src/objectextensions.js +0 -256
  238. package/src/reflectextensions.js +0 -118
  239. package/src/stringextensions.js +0 -166
  240. package/src/symbolextensions.js +0 -69
  241. /package/dist/cjs/{newClasses → classes}/asyncIterable.d.ts +0 -0
  242. /package/dist/cjs/{newClasses → classes}/deferred.d.ts +0 -0
  243. /package/dist/cjs/{newClasses → classes}/descriptor.d.ts +0 -0
  244. /package/dist/cjs/{newClasses → classes}/iterable.d.ts +0 -0
  245. /package/dist/cjs/{newClasses → classes}/refmap.d.ts +0 -0
  246. /package/dist/cjs/{newClasses → classes}/refset.d.ts +0 -0
  247. /package/dist/cjs/{functionextensions.d.ts → function.extensions.d.ts} +0 -0
  248. /package/dist/cjs/{globals.d.ts → global.this.d.ts} +0 -0
  249. /package/dist/cjs/{reflectextensions.d.ts → reflect.extensions.d.ts} +0 -0
  250. /package/dist/cjs/{stringextensions.d.ts → string.extensions.d.ts} +0 -0
  251. /package/dist/cjs/{weakrefextensions.d.ts → weakref.extensions.d.ts} +0 -0
  252. /package/dist/mjs/{newClasses → classes}/asyncIterable.d.ts +0 -0
  253. /package/dist/mjs/{newClasses → classes}/asyncIterable.js +0 -0
  254. /package/dist/mjs/{newClasses → classes}/deferred.d.ts +0 -0
  255. /package/dist/mjs/{newClasses → classes}/deferred.js +0 -0
  256. /package/dist/mjs/{newClasses → classes}/descriptor.d.ts +0 -0
  257. /package/dist/mjs/{newClasses → classes}/iterable.d.ts +0 -0
  258. /package/dist/mjs/{newClasses → classes}/iterable.js +0 -0
  259. /package/dist/mjs/{newClasses → classes}/refmap.d.ts +0 -0
  260. /package/dist/mjs/{newClasses → classes}/refset.d.ts +0 -0
  261. /package/dist/mjs/{newClasses → classes}/refset.js +0 -0
  262. /package/dist/mjs/{functionextensions.d.ts → function.extensions.d.ts} +0 -0
  263. /package/dist/mjs/{globals.d.ts → global.this.d.ts} +0 -0
  264. /package/dist/mjs/{reflectextensions.d.ts → reflect.extensions.d.ts} +0 -0
  265. /package/dist/mjs/{stringextensions.d.ts → string.extensions.d.ts} +0 -0
  266. /package/dist/mjs/{weakrefextensions.d.ts → weakref.extensions.d.ts} +0 -0
  267. /package/src/{newClasses → classes}/asyncIterable.js +0 -0
  268. /package/src/{newClasses → classes}/deferred.js +0 -0
  269. /package/src/{newClasses → classes}/iterable.js +0 -0
  270. /package/src/{newClasses → classes}/refset.js +0 -0
  271. /package/src/{weakrefextensions.js → weakref.extensions.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function.extensions.js","sourceRoot":"","sources":["../../src/function.extensions.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;IACpD,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,kBAAkB,CAAC,EAAE;YACnB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACnD,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,MAAM,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAC/D,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACX,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;gBAC7D,OAAO,GAAG,CAAA;YACZ,CAAC,EAAE,EAAE,CACN,CAAA;YAED,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;QAC9D,CAAC;QAED;;;;;;;;;WASG;QACH,OAAO,CAAC,KAAK;YACX,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1E,OAAO,CACL,KAAK,YAAY,QAAQ;gBACzB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC5B,CAAA;QACH,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;QACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACjC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC;QAED;;;;;;;WAOG;QACH,gBAAgB,CAAC,KAAK;YACpB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAErC,OAAO,CACL,KAAK,YAAY,QAAQ;gBACzB,SAAS,IAAI,wBAAwB,CACtC,CAAA;QACH,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;QACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACvE,CAAC;QAED;;;;;;;;;WASG;QACH,UAAU,CAAC,KAAK;YACd,OAAO,CACL,KAAK,YAAY,QAAQ;gBACzB,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBAClC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CACjC,CAAC;QACJ,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACpC,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACjE,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,KAAK;YACX,OAAO,CACL,KAAK,YAAY,QAAQ;gBACzB,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBACjC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CACjC,CAAA;QACH,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACjC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC;QAED;;;;;;;;;WASG;QACH,OAAO,CAAC,KAAK;YACX,OAAO,KAAK,YAAY,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACtE,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACjC,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC9D,CAAC;QAED;;;;;;;;WAQG;QACH,UAAU,CAAC,KAAK;YACd,OAAO,KAAK,YAAY,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACpC,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACjE,CAAC;QAED;;;;;;;WAOG;QACH,WAAW,CAAC,KAAK;YACf,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;YAErC,OAAO,CACL,KAAK,YAAY,QAAQ;gBACzB,SAAS,IAAI,mBAAmB,CACjC,CAAA;QACH,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YACrC,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAClE,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,oBAAoB,CAAC,KAAK;YACxB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE;gBAC/C,KAAK,EAAE,SAAS,yBAAyB,CAAC,EAAE;oBAC1C,MAAM,UAAU,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAA;oBAC/C,OAAO,CACL,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,IAAI;wBACpC,EAAE,YAAY,IAAI,CACnB,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;QACJ,CAAC;KACF;CACF,CAAC,CAAA;AAEF,MAAM,EACJ,gBAAgB,EAAE,iBAAiB,EAAG,gBAAgB,EAAE,iBAAiB,EACzE,OAAO,EAAE,QAAQ,EAAqB,OAAO,EAAE,QAAQ,EACvD,UAAU,EAAE,WAAW,EAAe,UAAU,EAAE,WAAW,EAC7D,OAAO,EAAE,QAAQ,EAAqB,OAAO,EAAE,QAAQ,EACvD,OAAO,EAAE,QAAQ,EAAqB,OAAO,EAAE,QAAQ,EACvD,UAAU,EAAE,WAAW,EAAe,UAAU,EAAE,WAAW,EAC7D,WAAW,EAAE,YAAY,EAAa,WAAW,EAAE,YAAY,GAChE,GAAG,kBAAkB,CAAC,OAAO,CAAA;AAE9B,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;IACvE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;WAQG;QACH,IAAI,OAAO;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,OAAO,CAAC,SAAS,EAAE,SAAS;YAC1B,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;QAED;;;;;WAKG;QACH,IAAI,gBAAgB;YAClB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4BG;QACH,gBAAgB,CAAC,SAAS,EAAE,SAAS;YACnC,OAAO,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACtD,CAAC;QAED;;;;;;;;WAQG;QACH,IAAI,UAAU;YACZ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;WAwBG;QACH,UAAU,CAAC,SAAS,EAAE,SAAS;YAC7B,OAAO,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;QAED;;;;;;;;;;;WAWG;QACH,IAAI,OAAO;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,OAAO,CAAC,SAAS,EAAE,SAAS;YAC1B,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;QAED;;;;;;;;WAQG;QACH,IAAI,OAAO;YACT,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,OAAO,CAAC,SAAS,EAAE,SAAS;YAC1B,OAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC7C,CAAC;QAED;;;;;;;WAOG;QACH,IAAI,UAAU;YACZ,OAAO,WAAW,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,UAAU,CAAC,SAAS,EAAE,SAAS;YAC7B,OAAO,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;QAED;;;;;WAKG;QACH,IAAI,WAAW;YACb,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;QAC3B,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA6BG;QACH,WAAW,CAAC,SAAS,EAAE,SAAS;YAC9B,OAAO,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QACjD,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,kBAAkB;YAChB,OAAO,kBAAkB,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC5D,CAAC;KACF;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;AAED,SAAS,YAAY,CAAC,KAAK;IACzB,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IACzC,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAM;IACtC,MAAM,OAAO,GAAG,EAAE,CAAA;IAElB,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAC7C,OAAO,SAAS,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACjE,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;YAC1D,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;QAEtC,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,258 @@
1
+ import { Patch } from '@nejs/extension';
2
+ import { FunctionExtensions } from './function.extensions.js';
3
+ const { isClass, isFunction } = FunctionExtensions.patches;
4
+ const CustomInspect = Symbol.for('nodejs.util.inspect.custom');
5
+ export const GlobalFunctionsAndProps = new Patch(globalThis, {
6
+ [Patch.kMutablyHidden]: {
7
+ /**
8
+ * The `isThenElse` function is a utility function that behaves like a
9
+ * ternary operator. It takes three arguments: `boolValue`, `thenValue`,
10
+ * and `elseValue`.
11
+ *
12
+ * It first checks the truthiness of `boolValue`.
13
+ *
14
+ * If `boolValue` is truthy, it returns `thenValue`; otherwise,
15
+ * it returns `elseValue`.
16
+ *
17
+ * If `thenValue` or `elseValue` is a function, it will be invoked with
18
+ * `boolValue` as an argument.
19
+ *
20
+ * If `elseValue` is not provided, it returns `boolValue` or `thenValue`
21
+ * depending on the truthiness of `boolValue`.
22
+ *
23
+ * If only `boolValue` is provided, it simply returns `boolValue`.
24
+ *
25
+ * @param {any} boolValue - Any object or value that is tested for
26
+ * truthiness.
27
+ * @param {function | any} [thenValue] - The value to return if `boolValue`
28
+ * is truthy. If a function, it's invoked with `boolValue`.
29
+ * @param {function | any} [elseValue] - The value to return if `boolValue`
30
+ * is falsy. If a function, it's invoked with `boolValue`.
31
+ * @returns {boolean | any} The result of the ternary operation.
32
+ *
33
+ * @example
34
+ * // Using values
35
+ * isThenElse(true, 'yes', 'no'); // Returns: 'yes'
36
+ * isThenElse(false, 'yes', 'no'); // Returns: 'no'
37
+ *
38
+ * // Using functions
39
+ * isThenElse(true, val => val ? 'yes' : 'no'); // Returns: 'yes'
40
+ * isThenElse(false, val => val ? 'yes' : 'no'); // Returns: 'no'
41
+ */
42
+ isThenElse(boolValue, thenValue, elseValue) {
43
+ if (arguments.length > 1) {
44
+ const _then = isFunction(thenValue) ? thenValue(boolValue) : thenValue;
45
+ if (arguments.length > 2) {
46
+ const _else = isFunction(elseValue) ? thenValue(boolValue) : elseValue;
47
+ return boolValue ? _then : _else;
48
+ }
49
+ return boolValue || _then;
50
+ }
51
+ return boolValue;
52
+ },
53
+ /**
54
+ * Transforms an object to mimic a specified prototype, altering its type
55
+ * conversion and inspection behaviors. This function is especially useful
56
+ * for creating objects that need to behave like different primitive types
57
+ * under various operations.
58
+ *
59
+ * @param {Object} object - The object to be transformed.
60
+ * @param {Function|Object} [prototype=String.prototype] - The prototype or
61
+ * class to emulate. If a function is provided, its prototype is used.
62
+ * Defaults to String.prototype.
63
+ * @param {Function} [toPrimitive=(hint, val) => String(val)] - A function
64
+ * defining how the object should be converted to a primitive value. It
65
+ * receives a type hint ('number', 'string', or 'default') and the object,
66
+ * returning the primitive value.
67
+ * @returns {Object|null} The transformed object, or null if neither a class
68
+ * nor a prototype could be derived from the provided prototype parameter.
69
+ */
70
+ maskAs(object, classPrototype, options) {
71
+ const { prototype, toPrimitive } = GenericMask({ ...options, prototype: classPrototype });
72
+ const base = { configurable: true, enumerable: false };
73
+ const proto = isFunction(prototype) ? prototype.prototype : prototype;
74
+ const klass = isClass(prototype) ? prototype : proto?.constructor;
75
+ if (!klass && !proto) {
76
+ return null;
77
+ }
78
+ Object.setPrototypeOf(object, proto);
79
+ Object.defineProperties(object, {
80
+ valueOf: {
81
+ value() { return String(toPrimitive('default', object)); }, ...base
82
+ },
83
+ [Symbol.toPrimitive]: {
84
+ value(hint) { return toPrimitive(hint, object); }, ...base
85
+ },
86
+ [Symbol.toStringTag]: { value: klass.name, ...base },
87
+ [Symbol.species]: { get() { return klass; }, ...base },
88
+ [CustomInspect]: { ...base, value(depth, opts, inspect) {
89
+ return inspect(this[Symbol.toPrimitive](), { ...opts, depth });
90
+ } }
91
+ });
92
+ return object;
93
+ },
94
+ /**
95
+ * Masks an object as a string-like object by setting its prototype to
96
+ * String and defining how it converts to primitive types. This is
97
+ * particularly useful when an object needs to behave like a string in
98
+ * certain contexts, such as type coercion or logging.
99
+ *
100
+ * @param {Object} object - The object to be masked as a string.
101
+ * @param {string} [stringKey='value'] - The object property key used for
102
+ * the string representation. Defaults to 'value'.
103
+ * @param {Function} [toPrimitive] - Optional custom function for primitive
104
+ * conversion. If omitted, a default function handling various conversion
105
+ * hints is used.
106
+ * @returns {Object|null} The string-masked object, or null if the object
107
+ * doesn't have the specified stringKey property.
108
+ */
109
+ maskAsString(object, stringKey, toPrimitive) {
110
+ if (object && Reflect.has(object, stringKey)) {
111
+ return maskAs(object, StringMask(stringKey ?? 'value', toPrimitive));
112
+ }
113
+ return null;
114
+ },
115
+ /**
116
+ * Masks an object as a number-like object. This allows the object to
117
+ * behave like a number in operations like arithmetic and type coercion.
118
+ * It sets the prototype to Number and defines custom conversion behavior.
119
+ *
120
+ * @param {Object} object - The object to be masked as a number
121
+ * representation. Defaults to 'value'.
122
+ * @param {Function} [toPrimitive] - Optional custom function for primitive
123
+ * conversion. If not provided, a default function handling different
124
+ * conversion hints is used.
125
+ * @returns {Object|null} The number-masked object, or null if the object
126
+ * doesn't have the specified numberKey property.
127
+ */
128
+ maskAsNumber(object, numberKey, toPrimitive) {
129
+ if (object && Reflect.has(object, numberKey)) {
130
+ return maskAs(object, NumberMask(numberKey ?? 'value', toPrimitive));
131
+ }
132
+ return null;
133
+ },
134
+ /**
135
+ * Generates options for generic masking of an object, providing defaults for
136
+ * prototype and toPrimitive function if not specified.
137
+ *
138
+ * @param {Object} options - The options object including prototype,
139
+ * targetKey, and toPrimitive function.
140
+ * @returns {Object} The options object with defaults applied as necessary.
141
+ */
142
+ GenericMask({ prototype, targetKey = 'value', toPrimitive }) {
143
+ const options = { targetKey, toPrimitive, prototype };
144
+ if (!isFunction(toPrimitive)) {
145
+ options.toPrimitive = (hint, object) => {
146
+ let property = object[targetKey];
147
+ let isNum = ((typeof property === 'number' && Number.isFinite(property)) ||
148
+ (typeof property === 'string' &&
149
+ !isNaN(parseFloat(property)) && isFinite(property)));
150
+ switch (hint) {
151
+ case 'string':
152
+ return isNum ? String(property) : (property ?? String(object));
153
+ case 'number':
154
+ return isNum ? Number(property) : NaN;
155
+ case 'default':
156
+ default:
157
+ return isNum ? Number(property) : property;
158
+ }
159
+ };
160
+ }
161
+ return options;
162
+ },
163
+ /**
164
+ * Generates options for string masking of an object, providing a default
165
+ * toPrimitive function if not specified.
166
+ *
167
+ * @param {string} targetKey - The object property key for string
168
+ * representation.
169
+ * @param {Function} toPrimitive - Custom function for primitive conversion.
170
+ * @returns {Object} Options for string masking.
171
+ */
172
+ StringMask(targetKey, toPrimitive) {
173
+ const options = { targetKey, toPrimitive, prototype: String.prototype };
174
+ if (!isFunction(toPrimitive)) {
175
+ options.toPrimitive = function toPrimitive(hint, object) {
176
+ switch (hint) {
177
+ case 'default': return object[targetKey];
178
+ case 'number': return parseInt(object[targetKey], 36);
179
+ case 'string': return String(object[targetKey]);
180
+ default: return object;
181
+ }
182
+ };
183
+ }
184
+ return options;
185
+ },
186
+ /**
187
+ * Generates options for number masking of an object, providing a default
188
+ * toPrimitive function if not specified.
189
+ *
190
+ * @param {string} targetKey - The object property key for number
191
+ * representation.
192
+ * @param {Function} toPrimitive - Custom function for primitive conversion.
193
+ * @returns {Object} Options for number masking.
194
+ */
195
+ NumberMask(targetKey, toPrimitive) {
196
+ const options = { targetKey, toPrimitive, prototype: Number.prototype };
197
+ if (!isFunction(toPrimitive)) {
198
+ options.toPrimitive = function toPrimitive(hint, object) {
199
+ switch (hint) {
200
+ case 'default': return object[targetKey];
201
+ case 'number': return Number(object[targetKey]);
202
+ case 'string': return String(object[targetKey]);
203
+ default: return object;
204
+ }
205
+ };
206
+ }
207
+ return options;
208
+ },
209
+ /**
210
+ * Blends the properties of multiple objects into a new object. This
211
+ * function creates a new object that inherits the prototype from the
212
+ * root object and the properties of the other objects and their parent
213
+ * prototypes.
214
+ *
215
+ * @param {Object} root - The root object to blend prototypes into.
216
+ * @param {...Object} objects - The objects whose prototypes to blend.
217
+ * @returns {Object} The new object with blended prototypes.
218
+ *
219
+ * @example
220
+ * // Define some objects with properties
221
+ * const obj1 = { prop1: 'value1' }
222
+ * const obj2 = { prop2: 'value2' }
223
+ * const obj3 = { prop3: 'value3' }
224
+ *
225
+ * // Blend the prototypes of obj2 and obj3 into obj1
226
+ * const blended = blendProtos(obj1, obj2, obj3)
227
+ *
228
+ * // Now blended has properties from obj1, obj2, and obj3
229
+ * console.log(blended.prop1) // Outputs: 'value1'
230
+ * console.log(blended.prop2) // Outputs: 'value2'
231
+ * console.log(blended.prop3) // Outputs: 'value3'
232
+ */
233
+ blendProtos(root, ...objects) {
234
+ const descriptor = (o, k) => Object.getOwnPropertyDescriptor(o, k);
235
+ const parent = o => Object.getPrototypeOf(o);
236
+ const all = o => (Reflect
237
+ .ownKeys(o)
238
+ .reduce((a, k) => ({ ...a, [k]: descriptor(o, k) }), {}));
239
+ const newRoot = Object.create(parent(root), objects.reduce);
240
+ const protos = objects.map(object => parent(object));
241
+ let descriptors = Object.create(null);
242
+ let uniques = new Set;
243
+ for (let object of protos) {
244
+ let current = object;
245
+ while (current) {
246
+ if (!uniques.has(current)) {
247
+ uniques.add(current);
248
+ descriptors = { ...descriptors, ...all(current) };
249
+ }
250
+ current = parent(current);
251
+ }
252
+ }
253
+ const blendedPrototype = Object.create(parent(root), descriptors);
254
+ return Object.setPrototypeOf(newRoot, blendedPrototype);
255
+ },
256
+ },
257
+ });
258
+ //# sourceMappingURL=global.this.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.this.js","sourceRoot":"","sources":["../../src/global.this.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export const Classes: {};
1
2
  export namespace all {
2
3
  let patches: {};
3
4
  let classes: {};
@@ -17,8 +18,8 @@ declare namespace results {
17
18
  }
18
19
  export const Extensions: {};
19
20
  export const Patches: Map<any, any>;
20
- export const StaticPatches: ((string | import("@nejs/extension").Patch | ObjectConstructor)[] | (string | import("@nejs/extension").Patch | FunctionConstructor)[] | (string | import("@nejs/extension").Patch | typeof Reflect)[] | (string | import("@nejs/extension").Patch | StringConstructor)[] | (string | import("@nejs/extension").Patch | SymbolConstructor)[])[];
21
- export const InstancePatches: (string | Object)[][];
21
+ export const StaticPatches: ((string | import("@nejs/extension").Patch | ArrayConstructor)[] | (string | import("@nejs/extension").Patch | BigIntConstructor)[] | (string | import("@nejs/extension").Patch | FunctionConstructor)[] | (string | import("@nejs/extension").Patch | JSON)[] | (string | import("@nejs/extension").Patch | MapConstructor)[] | (string | import("@nejs/extension").Patch | NumberConstructor)[] | (string | import("@nejs/extension").Patch | ObjectConstructor)[] | (string | import("@nejs/extension").Patch | typeof Reflect)[] | (string | import("@nejs/extension").Patch | RegExpConstructor)[] | (string | import("@nejs/extension").Patch | SetConstructor)[] | (string | import("@nejs/extension").Patch | StringConstructor)[] | (string | import("@nejs/extension").Patch | SymbolConstructor)[])[];
22
+ export const InstancePatches: ((string | import("@nejs/extension").Patch | BigInt)[] | (string | Number | import("@nejs/extension").Patch)[] | (string | Object)[])[];
22
23
  export const Controls: {};
23
- import { GlobalFunctionsAndProps } from './globals.js';
24
+ import { GlobalFunctionsAndProps } from './global.this.js';
24
25
  export { GlobalFunctionsAndProps };
package/dist/mjs/index.js CHANGED
@@ -1,32 +1,51 @@
1
- import { FunctionExtensions, FunctionPrototypeExtensions } from './functionextensions.js';
2
- import { ObjectExtensions, ObjectPrototypeExtensions } from './objectextensions.js';
3
- import { MapPrototypeExtensions } from './mapextensions.js';
4
- import { SetPrototypeExtensions } from './setextensions.js';
5
- import { ReflectExtensions } from './reflectextensions.js';
6
- import { StringExtensions, StringPrototypeExtensions } from './stringextensions.js';
7
- import { SymbolExtensions } from './symbolextensions.js';
8
- import { ArrayPrototypeExtensions } from './arrayextensions.js';
9
- import { DescriptorExtensions, Descriptor } from './newClasses/descriptor.js';
10
- import { GlobalFunctionsAndProps } from './globals.js';
11
- import { RefSetExtensions } from './newClasses/refset.js';
12
- import { RefMapExtensions } from './newClasses/refmap.js';
13
- import { DeferredExtension } from './newClasses/deferred.js';
14
- import { AsyncIteratorExtensions, AsyncIterableExtensions } from './newClasses/asyncIterable.js';
15
- import { IteratorExtensions, IterableExtensions } from './newClasses/iterable.js';
1
+ import { ArrayExtensions, ArrayPrototypeExtensions } from './array.extensions.js';
2
+ import { BigIntExtensions, BigIntPrototypeExtensions } from './big.int.extension.js';
3
+ import { FunctionExtensions, FunctionPrototypeExtensions } from './function.extensions.js';
4
+ import { GlobalFunctionsAndProps } from './global.this.js';
5
+ import { JSONExtensions } from './json.extensions.js';
6
+ import { MapExtensions, MapPrototypeExtensions } from './map.extensions.js';
7
+ import { NumberExtensions, NumberPrototypeExtensions } from './number.extension.js';
8
+ import { ObjectExtensions, ObjectPrototypeExtensions } from './object.extensions.js';
9
+ import { ReflectExtensions } from './reflect.extensions.js';
10
+ import { RegExpExtensions } from './regular.expression.extensions.js';
11
+ import { SetExtensions, SetPrototypeExtensions } from './set.extensions.js';
12
+ import { StringExtensions, StringPrototypeExtensions } from './string.extensions.js';
13
+ import { SymbolExtensions, SymbolPrototypeExtensions } from './symbol.extensions.js';
14
+ import { DeferredExtension } from './classes/deferred.js';
15
+ import { DescriptorExtensions, Descriptor } from './classes/descriptor.js';
16
+ import { IntrospectorExtensions } from './classes/introspector.js';
17
+ import { IteratorExtensions, IterableExtensions } from './classes/iterable.js';
18
+ import { ParamParserExtensions } from './classes/param.parser.js';
19
+ import { PluggableProxyExtensions, ProxyHandlerExtensions, PluggableProxyExtensionSet } from './classes/pluggable.proxy.js';
20
+ import { RefMapExtensions } from './classes/refmap.js';
21
+ import { RefSetExtensions } from './classes/refset.js';
22
+ import { SymkeysExtension } from './classes/symkeys.js';
23
+ import { TypeExtensions } from './classes/type.js';
24
+ import { AsyncIteratorExtensions, AsyncIterableExtensions } from './classes/asyncIterable.js';
16
25
  const StaticPatches = [
17
- [Object, ObjectExtensions, Object.name],
26
+ [Array, ArrayExtensions, Array.name],
27
+ [BigInt, BigIntExtensions, BigInt.name],
18
28
  [Function, FunctionExtensions, Function.name],
29
+ [JSON, JSONExtensions, 'JSON'], // Missing a .name property
30
+ [Map, MapExtensions, Map.name],
31
+ [Number, NumberExtensions, Number.name],
32
+ [Object, ObjectExtensions, Object.name],
19
33
  [Reflect, ReflectExtensions, 'Reflect'], // Missing a .name property
34
+ [RegExp, RegExpExtensions, RegExp.name],
35
+ [Set, SetExtensions, Set.name],
20
36
  [String, StringExtensions, String.name],
21
37
  [Symbol, SymbolExtensions, 'Symbol'], // Missing a .name property
22
38
  ];
23
39
  const InstancePatches = [
24
- [Object.prototype, ObjectPrototypeExtensions, Object.name],
25
- [String.prototype, StringPrototypeExtensions, String.name],
26
- [Function.prototype, FunctionPrototypeExtensions, Function.name],
27
40
  [Array.prototype, ArrayPrototypeExtensions, Array.name],
41
+ [BigInt.prototype, BigIntPrototypeExtensions, BigInt.name],
42
+ [Function.prototype, FunctionPrototypeExtensions, Function.name],
28
43
  [Map.prototype, MapPrototypeExtensions, Map.name],
44
+ [Number.prototype, NumberPrototypeExtensions, Number.name],
45
+ [Object.prototype, ObjectPrototypeExtensions, Object.name],
29
46
  [Set.prototype, SetPrototypeExtensions, Set.name],
47
+ [String.prototype, StringPrototypeExtensions, String.name],
48
+ [Symbol.prototype, SymbolPrototypeExtensions, Symbol.name],
30
49
  ];
31
50
  const Patches = new Map([
32
51
  ...StaticPatches,
@@ -37,11 +56,22 @@ const Extensions = {
37
56
  [AsyncIteratorExtensions.key]: AsyncIteratorExtensions,
38
57
  [DeferredExtension.key]: DeferredExtension,
39
58
  [DescriptorExtensions.key]: DescriptorExtensions,
59
+ [IntrospectorExtensions.key]: IntrospectorExtensions,
40
60
  [IterableExtensions.key]: IterableExtensions,
41
61
  [IteratorExtensions.key]: IteratorExtensions,
62
+ [ParamParserExtensions.key]: ParamParserExtensions,
63
+ [PluggableProxyExtensions.key]: PluggableProxyExtensions,
64
+ [ProxyHandlerExtensions.key]: ProxyHandlerExtensions,
42
65
  [RefMapExtensions.key]: RefMapExtensions,
43
66
  [RefSetExtensions.key]: RefSetExtensions,
67
+ [SymkeysExtension.key]: SymkeysExtension,
68
+ [TypeExtensions.key]: TypeExtensions,
44
69
  };
70
+ export const Classes = {};
71
+ for (const extension of Object.values(Extensions)) {
72
+ const fnOrClass = extension.class || extension.function;
73
+ Classes[fnOrClass.name] = fnOrClass;
74
+ }
45
75
  const Controls = {};
46
76
  Object.assign(Controls, {
47
77
  enableAll() {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const JSONExtensions: Patch;
2
+ import { Patch } from '@nejs/extension';
@@ -0,0 +1,104 @@
1
+ import { Patch } from '@nejs/extension';
2
+ export const JSONExtensions = new Patch(JSON, {
3
+ [Patch.kMutablyHidden]: {
4
+ /**
5
+ * The `extractFrom` method attempts to extract a JSON object from a string.
6
+ * It uses a regular expression to identify potential JSON objects in the
7
+ * string and attempts to parse them. If a valid JSON object is found, it is
8
+ * returned. If no valid JSON object is found, the method returns undefined.
9
+ *
10
+ * NOTE: This method will only find JSON from an iterated upon start spot
11
+ * until the end of the string. So `'JSON follows {"count": 0}'` will
12
+ * return `{count: 0}` but `'JSON follows {"count": 0} and more'` will
13
+ * fail to locate any JSON in the String. You've been warned.
14
+ *
15
+ * @param {string} string - The string from which to extract a JSON object.
16
+ * @returns {Object|undefined} - The first valid JSON object found in the
17
+ * string, or undefined if no valid JSON object is found.
18
+ *
19
+ * @example
20
+ * // Suppose we have a string with embedded JSON
21
+ * const str1 = 'Hello {"name":"John", "age":30} World'
22
+ * const str2 = 'Hello {"name": "John", "age": 30}'
23
+ *
24
+ * // Using `extractFrom`
25
+ * console.log(JSON.extractFrom(str1)) // Output: undefined
26
+ * console.log(JSON.extractFrom(str2)) // Output: {name: 'John', age: 30}
27
+ */
28
+ extractFrom(string) {
29
+ const pattern = /([\w\{\[\"]+) ?/g;
30
+ const decoder = part => {
31
+ try {
32
+ return JSON.parse(part);
33
+ }
34
+ catch (_) {
35
+ return undefined;
36
+ }
37
+ };
38
+ for (let part = pattern.exec(string); part; part = pattern.exec(string)) {
39
+ if (part && part?.index) {
40
+ const decoded = decoder(string.substring(part.index));
41
+ if (decoded) {
42
+ return decoded;
43
+ }
44
+ }
45
+ }
46
+ return undefined;
47
+ },
48
+ /**
49
+ * The `mightContain` method checks if a string might contain a JSON object.
50
+ * It uses the `JSONStartPattern` regular expression to search for potential
51
+ * JSON objects in the string. If a potential JSON object is found, the method
52
+ * returns true. If no potential JSON object is found, the method returns false.
53
+ *
54
+ * @param {string} string - The string to check for potential JSON objects.
55
+ * @returns {boolean} - Returns true if the string might contain a JSON object,
56
+ * false otherwise.
57
+ *
58
+ * @example
59
+ * // Suppose we have a string with embedded JSON
60
+ * const str = 'Hello {"name":"John", "age":30} World'
61
+ *
62
+ * // Using `mightContain`
63
+ * console.log(JSON.mightContain(str)) // Output: true
64
+ */
65
+ mightContain(string) {
66
+ return !!this.JSONStartPattern.exec(string);
67
+ },
68
+ /**
69
+ * Getter method for the JSONStartPattern.
70
+ *
71
+ * This method constructs a regular expression pattern that is used to
72
+ * identify potential JSON objects in a string. The pattern is designed
73
+ * to match various JSON data types including null, boolean, number,
74
+ * string, object, and array.
75
+ *
76
+ * The pattern is constructed using an array of strings, each representing
77
+ * a part of the pattern. The array is then joined into a single string
78
+ * and passed to the RegExp constructor to create the pattern.
79
+ *
80
+ * @returns {RegExp} - The constructed regular expression pattern.
81
+ *
82
+ * @example
83
+ * // Using `JSONStartPattern`
84
+ * const pattern = JSONStartPattern;
85
+ * const str = 'Hello {"name":"John", "age":30} World';
86
+ * const match = pattern.exec(str);
87
+ * console.log(match[0]); // Output: '{"name":"John", "age":30}'
88
+ */
89
+ get JSONStartPattern() {
90
+ const pattern = new RegExp([
91
+ '(?:', // Start with a non-capturing group and match
92
+ '(null)|', // ...a null
93
+ '(true|false)|', // ...a bool
94
+ '(\\d+\\.?\\d*)|', // ...a number (including floats)
95
+ '("[^\\"]*(?:[^:])")|', // ...a double quote (start of string)
96
+ '((?:\\{.*\\})+)|', // ...an open curly brace (object)
97
+ '((?:\\[.*\\]+))', // ...an open square bracket (array)
98
+ ')+', // End of the groups
99
+ ].join(''), 'gm');
100
+ return pattern;
101
+ },
102
+ }
103
+ });
104
+ //# sourceMappingURL=json.extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.extensions.js","sourceRoot":"","sources":["../../src/json.extensions.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;IAC5C,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,WAAW,CAAC,MAAM;YAChB,MAAM,OAAO,GAAG,kBAAkB,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;gBACrB,IAAI,CAAC;oBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAAC,OAAO,SAAS,CAAA;gBAAC,CAAC;YAChE,CAAC,CAAA;YAED,KACE,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAC/B,IAAI,EACJ,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,CAAC;gBACD,IAAI,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;oBACrD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,OAAO,CAAA;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,YAAY,CAAC,MAAM;YACjB,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7C,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,IAAI,gBAAgB;YAClB,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC;gBACzB,KAAK,EAAqB,6CAA6C;gBACrE,SAAS,EAAe,YAAY;gBACpC,eAAe,EAAS,YAAY;gBACpC,iBAAiB,EAAO,iCAAiC;gBACzD,sBAAsB,EAAE,sCAAsC;gBAC9D,kBAAkB,EAAM,kCAAkC;gBAC1D,iBAAiB,EAAO,oCAAoC;gBAC9D,IAAI,EAAsB,oBAAoB;aAC/C,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;YAEjB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF;CACF,CAAC,CAAA"}
@@ -1,2 +1,3 @@
1
+ export const MapExtensions: Patch;
1
2
  export const MapPrototypeExtensions: Patch;
2
3
  import { Patch } from '@nejs/extension';