@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,438 @@
1
+ import { Extension } from '@nejs/extension';
2
+ const { toStringTag, hasInstance } = Symbol;
3
+ export class ProxyHandlerResponse {
4
+ constructor(success = false, value = undefined, context = undefined) {
5
+ Object.assign(this, { succes, value, context });
6
+ }
7
+ /**
8
+ * A getter method for the toStringTag symbol.
9
+ * This method returns the name of the constructor of the instance.
10
+ * It is used to provide a custom string description of the object,
11
+ * which can be useful for debugging or logging purposes.
12
+ *
13
+ * @example
14
+ * const response = new ProxyHandlerResponse();
15
+ * console.log(response[Symbol.toStringTag]); // logs: "ProxyHandlerResponse"
16
+ *
17
+ * @returns {string} The name of the constructor of the instance.
18
+ */
19
+ get [toStringTag]() { return this.constructor.name; }
20
+ /**
21
+ * This static method is a Symbol.hasInstance method implementation.
22
+ * It checks if the provided instance is an instance of the class.
23
+ * It does this by comparing the instance's toStringTag or constructor
24
+ * to the class's name or the class itself respectively.
25
+ *
26
+ * @param {Object} instance - The instance to check.
27
+ * @returns {boolean} True if the instance is of the class, false otherwise.
28
+ *
29
+ * @example
30
+ * // Assuming MyClass has implemented this method
31
+ * const myInstance = new MyClass();
32
+ * // logs: true
33
+ * console.log(MyClass[Symbol.hasInstance](myInstance));
34
+ */
35
+ static [hasInstance](instance) {
36
+ return (instance?.[toStringTag] === this.name ||
37
+ instance?.constructor === this);
38
+ }
39
+ }
40
+ export class ProxyHandler {
41
+ constructor(handler, type = ProxyHandler.type.get) {
42
+ this.handler = handler;
43
+ this.typeName = Array.isArray(type)
44
+ ? ProxyHandler.nameFromType(type) ?? 'get'
45
+ : String(type);
46
+ this.type = Array.isArray(type) ? type : ProxyHandler.type[type ?? 'get'];
47
+ }
48
+ invoke(...args) {
49
+ const context = {
50
+ defaultValue: Reflect[this.typeName](...args),
51
+ proxyHandler: this,
52
+ typeHandler: this.handler,
53
+ };
54
+ try {
55
+ const result = this.handler.apply(context, args);
56
+ if (!(result?.[Symbol.toStringTag] === ProxyHandler.ResponseType)) {
57
+ return ProxyHandler.response(!!result, result, context);
58
+ }
59
+ result.context = context;
60
+ return result;
61
+ }
62
+ catch (error) {
63
+ return ProxyHandler.response(false, error);
64
+ }
65
+ }
66
+ /**
67
+ * This static method is used to create a response object. The response
68
+ * object contains the success status, the value, and the context of the
69
+ * response. It also includes a getter for the Symbol.toStringTag property
70
+ * that returns the ResponseType of the ProxyHandler.
71
+ *
72
+ * @param {boolean} success - The success status of the response.
73
+ * @param {*} value - The value of the response.
74
+ * @param {Object} context - The context of the response.
75
+ * @returns {Object} The response object.
76
+ *
77
+ * @example
78
+ * // Create a response object
79
+ * const response = ProxyHandler.response(
80
+ * true, 'value', { key: 'context' }
81
+ * );
82
+ *
83
+ * // Output: { success: true, value: 'value', context: { key: 'context' },
84
+ * // [Symbol.toStringTag]: 'ProxyHandlerResponse' }
85
+ * console.log(response);
86
+ */
87
+ static response(success, value, context) {
88
+ return {
89
+ success, value, context,
90
+ get [Symbol.toStringTag]() { return this.ResponseType; }
91
+ };
92
+ }
93
+ /**
94
+ * This static getter method is used to retrieve the response type
95
+ * of the ProxyHandler. It returns a string that represents the
96
+ * response type of the ProxyHandler.
97
+ *
98
+ * @property {function} ResponseType - A static getter method that
99
+ * returns the response type of the ProxyHandler.
100
+ * @returns {string} A string representing the response type of the
101
+ * ProxyHandler.
102
+ *
103
+ * @example
104
+ * // Get the response type of the ProxyHandler
105
+ * const responseType = ProxyHandler.ResponseType;
106
+ *
107
+ * // Output: 'ProxyHandlerResponse'
108
+ * console.log(responseType);
109
+ */
110
+ static get ResponseType() { return 'ProxyHandlerResponse'; }
111
+ /**
112
+ * This static method is used to retrieve the name of a ProxyHandler type
113
+ * from a given array of arguments. If the array of arguments matches any
114
+ * of the ProxyHandler types, the name of that type is returned. If no
115
+ * match is found, or if the input is not an array, 'custom' is returned.
116
+ *
117
+ * @param {Array.<*>} proxyHandlerType - An array of arguments to match
118
+ * against the ProxyHandler types.
119
+ * @returns {string} The name of the matching ProxyHandler type, or 'custom'
120
+ * if no match is found.
121
+ *
122
+ * @example
123
+ * // Get the name of a type from its arguments
124
+ * const typeName = ProxyHandler.nameFromType(
125
+ * ['target', 'thisArg', 'argumentsList']
126
+ * );
127
+ *
128
+ * // Output: 'apply'
129
+ * console.log(typeName);
130
+ *
131
+ * @throws {TypeError} If ProxyHandler.type is undefined.
132
+ */
133
+ static nameFromType(proxyHandlerType) {
134
+ if (!Array.isArray(proxyHandlerType)) {
135
+ return 'custom';
136
+ }
137
+ const names = Object.entries(ProxyHandler.type);
138
+ for (const [name, args] of names) {
139
+ if (proxyHandlerType.every(element => ~args.indexOf(element))) {
140
+ return name;
141
+ }
142
+ }
143
+ return 'custom';
144
+ }
145
+ /**
146
+ * This method is used to retrieve all the types of ProxyHandler available
147
+ * in the ProxyHandler.type object. It is useful when you need to iterate
148
+ * over all the types or when you need to check if a certain type exists.
149
+ *
150
+ * @property {function} typeNames - A static getter method that returns an
151
+ * array of keys from the ProxyHandler.type object.
152
+ * @returns {Array.<string>} An array of strings representing the keys of
153
+ * the ProxyHandler.type object.
154
+ *
155
+ * @example
156
+ * // Get all type names
157
+ * const types = ProxyHandler.typeNames;
158
+ *
159
+ * // Output: ['apply', 'construct', 'defineProperty', ...]
160
+ * console.log(types);
161
+ *
162
+ * @throws {TypeError} If ProxyHandler.type is undefined.
163
+ */
164
+ static get typeNames() {
165
+ return Object.keys(ProxyHandler.type);
166
+ }
167
+ /**
168
+ * A static getter method that returns an object containing keyed proxy
169
+ * trap types and their associated expected arguments list by name. A
170
+ * docstring description complete with url shortening links for each entry
171
+ * are provided (links go to the MDN documentation)
172
+ *
173
+ * @property {function} type - A static getter method that returns an object
174
+ * of ProxyHandler types.
175
+ * @returns {Object.<string, function>} An object where each key is a type
176
+ * name and each value is a function that returns an array of strings
177
+ * representing the arguments for that type.
178
+ *
179
+ * @example
180
+ * // Get the 'apply' type
181
+ * const applyType = ProxyHandler.type.apply;
182
+ *
183
+ * // Output: ['target', 'thisArg', 'argumentsList']
184
+ * console.log(applyType());
185
+ *
186
+ * @throws {TypeError} If ProxyHandler.type is undefined.
187
+ */
188
+ static get type() {
189
+ return {
190
+ /**
191
+ * The handler.apply() method is a trap for the [[Call]] object internal
192
+ * method, which is used by operations such as function calls.
193
+ * MDN link: https://t.ly/orBsG
194
+ */
195
+ get apply() { return ['target', 'thisArg', 'argumentsList']; },
196
+ /**
197
+ * The handler.construct() method is a trap for the [[Construct]] object
198
+ * internal method, which is used by operations such as the new operator.
199
+ * In order for the new operation to be valid on the resulting Proxy
200
+ * object, the target used to initialize the proxy must itself be a
201
+ * valid constructor.
202
+ * MDN link: https://t.ly/1LukS
203
+ */
204
+ get construct() { return ['target', 'args']; },
205
+ /**
206
+ * The handler.defineProperty() method is a trap for the
207
+ * [[DefineOwnProperty]] object internal method, which is used by
208
+ * operations such as Object.defineProperty().
209
+ * MDN link: https://t.ly/3Ml9y
210
+ */
211
+ get defineProperty() { return ['target', 'key', 'descriptor']; },
212
+ /**
213
+ * The handler.deleteProperty() method is a trap for the [[Delete]]
214
+ * object internal method, which is used by operations such as the
215
+ * delete operator.
216
+ * MDN link: https://t.ly/neu2H
217
+ */
218
+ get deleteProperty() { return ['target', 'property']; },
219
+ /**
220
+ * The handler.get() method is a trap for the [[Get]] object internal
221
+ * method, which is used by operations such as property accessors.
222
+ * MDN link: https://t.ly/E419x
223
+ */
224
+ get get() { return ['target', 'property', 'receiver']; },
225
+ /**
226
+ * The handler.getOwnPropertyDescriptor() method is a trap for the
227
+ * [[GetOwnProperty]] object internal method, which is used by operations
228
+ * such as Object.getOwnPropertyDescriptor().
229
+ * MDN link: https://t.ly/wzPTX
230
+ */
231
+ get getOwnPropertyDescriptor() { return ['target', 'property']; },
232
+ /**
233
+ * The handler.getPrototypeOf() method is a trap for the
234
+ * [[GetPrototypeOf]] object internal method, which is used by operations
235
+ * such as Object.getPrototypeOf().
236
+ * MDN link: https://t.ly/Ww4S1
237
+ */
238
+ get getPrototypeOf() { return ['target']; },
239
+ /**
240
+ * The handler.has() method is a trap for the [[HasProperty]] object
241
+ * internal method, which is used by operations such as the in operator.
242
+ * MDN link: https://t.ly/UcJL-
243
+ */
244
+ get has() { return ['target', 'prototype']; },
245
+ /**
246
+ * The handler.isExtensible() method is a trap for the [[IsExtensible]]
247
+ * object internal method, which is used by operations such as
248
+ * Object.isExtensible().
249
+ * MDN link: https://t.ly/MkdIK
250
+ */
251
+ get isExtensible() { return ['target']; },
252
+ /**
253
+ * The handler.ownKeys() method is a trap for the [[OwnPropertyKeys]]
254
+ * object internal method, which is used by operations such as
255
+ * Object.keys(), Reflect.ownKeys(), etc.
256
+ * MDN link: https://t.ly/QkiTI
257
+ */
258
+ get ownKeys() { return ['target']; },
259
+ /**
260
+ * The handler.preventExtensions() method is a trap for the
261
+ * [[PreventExtensions]] object internal method, which is used by
262
+ * operations such as Object.preventExtensions().
263
+ * MDN link: https://t.ly/nvfjJ
264
+ */
265
+ get preventExtensions() { return ['target']; },
266
+ /**
267
+ * The handler.set() method is a trap for the [[Set]] object internal
268
+ * method, which is used by operations such as using property accessors
269
+ * to set a property's value.
270
+ * MDN link: https://t.ly/FDWcl
271
+ */
272
+ get set() { return ['target', 'property', 'value', 'receiver']; },
273
+ /**
274
+ * The handler.setPrototypeOf() method is a trap for the
275
+ * [[SetPrototypeOf]] object internal method, which is used by operations
276
+ * such as Object.setPrototypeOf().
277
+ * MDN link: https://t.ly/pS8ej
278
+ */
279
+ get setPrototypeOf() { return ['target', 'prototype']; },
280
+ };
281
+ }
282
+ }
283
+ export class PluggableProxy {
284
+ constructor(Class, handlers, options = {
285
+ prototype: undefined, // undefined means extract from class
286
+ apply: true,
287
+ }) {
288
+ const validHandlers = handlers.filter(h => h instanceof ProxyHandler);
289
+ Object.assign(this, {
290
+ class: Class instanceof Function ? Class : Class.constructor,
291
+ instance: Class instanceof Function ? null : Class,
292
+ });
293
+ this.handlers = new Map();
294
+ for (let typeName of ProxyHandler.typeNames) {
295
+ const handlersOfType = [].concat(validHandlers.filter(h => h.typeName === typeName));
296
+ this.handlers.set(typeName, handlersOfType);
297
+ }
298
+ this[PluggableProxy.kOriginal] = (options?.prototype ?? Object.getPrototypeOf(this.class));
299
+ this[PluggableProxy.kCreated] = Object.create(this[PluggableProxy.kOriginal], this.instance);
300
+ this[PluggableProxy.kProxy] = new Proxy(this[PluggableProxy.kCreated], this);
301
+ if (options?.apply != true) {
302
+ const target = this?.instance ?? this.class;
303
+ Object.setPrototypeOf(target, this[PluggableProxy.kCreated]);
304
+ }
305
+ }
306
+ handlersOfType(typeName) {
307
+ return this.handlers.get(typeName);
308
+ }
309
+ tryEachOfType(type, ...args) {
310
+ const types = ProxyHandler.typeNames;
311
+ const failures = [];
312
+ for (const handler of types) {
313
+ const result = handler.invoke(...args);
314
+ if (result.success) {
315
+ return [result, failures];
316
+ }
317
+ failures.push(result);
318
+ }
319
+ return [undefined, failures];
320
+ }
321
+ apply(target, thisArg, argumentsList) {
322
+ const type = 'apply', args = [target, thisArg, argumentsList];
323
+ const [result, _fails] = tryEachOfType(type, ...args);
324
+ if (result) {
325
+ return result;
326
+ }
327
+ return Reflect[type](...args);
328
+ }
329
+ construct(target, args) {
330
+ const type = 'construct', _args = [target, args];
331
+ const [result, _fails] = tryEachOfType(type, ..._args);
332
+ if (result) {
333
+ return result;
334
+ }
335
+ return Reflect[type](..._args);
336
+ }
337
+ defineProperty(target, key, descriptor) {
338
+ const type = 'defineProperty', args = [target, key, descriptor];
339
+ const [result, _fails] = tryEachOfType(type, ...args);
340
+ if (result) {
341
+ return result;
342
+ }
343
+ return Reflect[type](...args);
344
+ }
345
+ deleteProperty(target, property) {
346
+ const type = 'deleteProperty', args = [target, property];
347
+ const [result, _fails] = tryEachOfType(type, ...args);
348
+ if (result) {
349
+ return result;
350
+ }
351
+ return Reflect[type](...args);
352
+ }
353
+ get(target, property, receiver) {
354
+ const type = 'get', args = [target, property, receiver];
355
+ const [result, _fails] = tryEachOfType(type, ...args);
356
+ if (result) {
357
+ return result;
358
+ }
359
+ return Reflect[type](...args);
360
+ }
361
+ getOwnPropertyDescriptor(target, property) {
362
+ const type = 'getOwnPropertyDescriptor', args = [target, property];
363
+ const [result, _fails] = tryEachOfType(type, ...args);
364
+ if (result) {
365
+ return result;
366
+ }
367
+ return Reflect[type](...args);
368
+ }
369
+ getPrototypeOf(target) {
370
+ const type = 'getPrototypeOf', args = [target];
371
+ const [result, _fails] = tryEachOfType(type, ...args);
372
+ if (result) {
373
+ return result;
374
+ }
375
+ return Reflect[type](...args);
376
+ }
377
+ has(target, property) {
378
+ const type = 'has', args = [target, property];
379
+ const [result, _fails] = tryEachOfType(type, ...args);
380
+ if (result) {
381
+ return result;
382
+ }
383
+ return Reflect[type](...args);
384
+ }
385
+ isExtensible(target) {
386
+ const type = 'isExtensible', args = [target];
387
+ const [result, _fails] = tryEachOfType(type, ...args);
388
+ if (result) {
389
+ return result;
390
+ }
391
+ return Reflect[type](...args);
392
+ }
393
+ ownKeys(target) {
394
+ const type = 'ownKeys', args = [target];
395
+ const [result, _fails] = tryEachOfType(type, ...args);
396
+ if (result) {
397
+ return result;
398
+ }
399
+ return Reflect[type](...args);
400
+ }
401
+ preventExtensions(target) {
402
+ const type = 'preventExtensions', args = [target];
403
+ const [result, _fails] = tryEachOfType(type, ...args);
404
+ if (result) {
405
+ return result;
406
+ }
407
+ return Reflect[type](...args);
408
+ }
409
+ set(target, property, value, receiver) {
410
+ const type = 'set', args = [target, property, value, receiver];
411
+ const [result, _fails] = tryEachOfType(type, ...args);
412
+ if (result) {
413
+ return result;
414
+ }
415
+ return Reflect[type](...args);
416
+ }
417
+ setPrototypeOf(target, prototype) {
418
+ const type = 'setPrototypeOf', args = [target, prototype];
419
+ const [result, _fails] = tryEachOfType(type, ...args);
420
+ if (result) {
421
+ return result;
422
+ }
423
+ return Reflect[type](...args);
424
+ }
425
+ static get kCreated() {
426
+ return Symbol.for('pp.prototype.created');
427
+ }
428
+ static get kOriginal() {
429
+ return Symbol.for('pp.prototype.original');
430
+ }
431
+ static get kProxy() {
432
+ return Symbol.for('pp.proxy');
433
+ }
434
+ }
435
+ export const ProxyHandlerExtensions = new Extension(ProxyHandler);
436
+ export const PluggableProxyExtensions = new Extension(PluggableProxy);
437
+ export const PluggableProxyExtensionSet = new Extension.ExtensionSet('PluggableProxyExtensionSet', ProxyHandlerExtensions, PluggableProxyExtensions);
438
+ //# sourceMappingURL=pluggable.proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluggable.proxy.js","sourceRoot":"","sources":["../../../src/classes/pluggable.proxy.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Extension } from '@nejs/extension';
2
- import { ObjectExtensions } from '../objectextensions.js';
3
- import { SymbolExtensions } from '../symbolextensions.js';
4
- import { WeakRefExtensions } from '../weakrefextensions.js';
2
+ import { ObjectExtensions } from '../object.extensions.js';
3
+ import { SymbolExtensions } from '../symbol.extensions.js';
4
+ import { WeakRefExtensions } from '../weakref.extensions.js';
5
5
  import { Iterable, Iterator } from './iterable.js';
6
6
  const { isObject, isNullDefined, isValidKey } = ObjectExtensions.patches;
7
7
  const { isRegistered } = SymbolExtensions.patches;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refmap.js","sourceRoot":"","sources":["../../../src/classes/refmap.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AACxE,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAA;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,MAAO,SAAQ,GAAG;IAC7B;;;;;OAKG;IACH,gBAAgB,GAAG,KAAK,CAAA;IAExB,YAAY,GAAG,IAAI;QACjB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,YAAY,CAAC,kBAAkB,GAAG,IAAI;QACpC,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAA;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,MAAM,MAAM,GAAG,EAAE,CAAA;QAEjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAClD,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,KAAK,CAAA;YAE1C,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAA;QAC3B,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAGD;;;;;;;;;;;;;;;OAeG;IACH,GAAG,CAAC,GAAG,EAAE,YAAY;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE5B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9B,OAAO,YAAY,CAAA;QACrB,CAAC;QAED,OAAO,KAAK,EAAE,KAAK,EAAE,CAAA;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,eAAe,CAAC,KAAK;QACvB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAA;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,GAAG,EAAE,KAAK;QACZ,IAAI,QAAQ,GAAG,KAAK,CAAA;QAEpB,gCAAgC;QAChC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAC3B,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,QAAQ,KAAK,QAAQ;YAC5B,OAAO,QAAQ,KAAK,SAAS;YAC7B,OAAO,QAAQ,KAAK,QAAQ,CAC7B,EAAE,CAAC;YACF,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,oFAAoF;QACpF,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1E,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjE,MAAM,IAAI,SAAS,CACjB,kFAAkF,CACnF,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEjC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,iEAAiE;gBACjE,+CAA+C,CAChD,CAAA;QACH,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE;YACtB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAA;YAE1B,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,OAAM;YACR,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO;QACL,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;QACvC,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAA;gBACxB,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,CAAA;gBAE1B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YACrB,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,OAAO,WAAW,CAAA;IACpB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS,EAAE,OAAO;QACxB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,CAAA;YAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM;QACJ,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,OAAO,CAAC,KAAK;YACxD,MAAM,YAAY,GAAG,KAAK,EAAE,KAAK,EAAE,CAAA;YACnC,OAAO,YAAY,IAAI,KAAK,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;QAC3B,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IACE,CAAC,MAAM,IAAI,KAAK,KAAK,YAAY,CAAC;gBAClC,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,YAAY,CAAC,EAClC,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,QAAQ,EAAE,OAAO;QACtB,MAAM,gBAAgB,GAAG,EAAE,CAAA;QAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,IAAI,CAAC,MAAM,EAAE,OAAO;QAClB,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACvD,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,YAAY,CAAA;YACrB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB;QACjD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,MAAM,IAAI,SAAS,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,EAAE,CAAA;QAEjB,IAAI,oBAAoB,GAAG,qBAAqB,IAAI,IAAI,CAAC,eAAe,CAAA;QACxE,IAAI,UAAU,GAAG,qBAAqB,KAAK,SAAS,CAAA;QACpD,IAAI,SAAS,GAAG,oBAAoB,CAAA;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAEvE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1C,IAAI,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,oBAAoB,GAAG,IAAI,CAAA;oBAC3B,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;wBAC7B,SAAS,GAAG,IAAI,CAAA;wBAChB,WAAW,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3B,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACpD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;IAC9B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refset.js","sourceRoot":"","sources":["../../../src/classes/refset.js"],"names":[],"mappings":"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"}