@nejs/basic-extensions 2.8.0 → 2.10.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.
- package/README.md +268 -147
- package/bin/version +100 -0
- package/dist/@nejs/basic-extensions.bundle.2.10.0.js +19 -0
- package/dist/@nejs/basic-extensions.bundle.2.10.0.js.map +7 -0
- package/dist/cjs/array.extensions.js +174 -0
- package/dist/cjs/array.extensions.js.map +1 -1
- package/dist/cjs/big.int.extension.js +1 -0
- package/dist/cjs/big.int.extension.js.map +1 -1
- package/dist/cjs/classes/descriptor.js +1 -1
- package/dist/cjs/classes/descriptor.js.map +1 -1
- package/dist/cjs/classes/index.d.ts +1 -0
- package/dist/cjs/classes/index.js +3 -0
- package/dist/cjs/classes/index.js.map +1 -1
- package/dist/cjs/classes/iterable.d.ts +44 -0
- package/dist/cjs/classes/iterable.js +64 -0
- package/dist/cjs/classes/iterable.js.map +1 -1
- package/dist/cjs/classes/param.parser.d.ts +10 -10
- package/dist/cjs/classes/property.d.ts +86 -0
- package/dist/cjs/classes/property.js +284 -0
- package/dist/cjs/classes/property.js.map +1 -0
- package/dist/cjs/classes/symkeys.d.ts +68 -11
- package/dist/cjs/classes/symkeys.js +103 -17
- package/dist/cjs/classes/symkeys.js.map +1 -1
- package/dist/cjs/classes/type.d.ts +4 -4
- package/dist/cjs/function.extensions.js +1 -0
- package/dist/cjs/function.extensions.js.map +1 -1
- package/dist/cjs/global.this.js +29 -0
- package/dist/cjs/global.this.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json.extensions.js +22 -20
- package/dist/cjs/json.extensions.js.map +1 -1
- package/dist/cjs/map.extensions.js +1 -0
- package/dist/cjs/map.extensions.js.map +1 -1
- package/dist/cjs/number.extension.js +1 -0
- package/dist/cjs/number.extension.js.map +1 -1
- package/dist/cjs/object.extensions.d.ts +0 -29
- package/dist/cjs/object.extensions.js +218 -243
- package/dist/cjs/object.extensions.js.map +1 -1
- package/dist/cjs/set.extensions.js +1 -0
- package/dist/cjs/set.extensions.js.map +1 -1
- package/dist/cjs/string.extensions.js +478 -283
- package/dist/cjs/string.extensions.js.map +1 -1
- package/dist/cjs/symbol.extensions.js +500 -24
- package/dist/cjs/symbol.extensions.js.map +1 -1
- package/dist/cjs/utils/copy.object.d.ts +408 -0
- package/dist/cjs/utils/copy.object.js +720 -0
- package/dist/cjs/utils/copy.object.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/toolkit.d.ts +1897 -0
- package/dist/cjs/utils/toolkit.js +1377 -0
- package/dist/cjs/utils/toolkit.js.map +1 -0
- package/dist/mjs/array.extensions.js +174 -0
- package/dist/mjs/array.extensions.js.map +1 -1
- package/dist/mjs/big.int.extension.js +1 -0
- package/dist/mjs/big.int.extension.js.map +1 -1
- package/dist/mjs/classes/descriptor.js +1 -1
- package/dist/mjs/classes/descriptor.js.map +1 -1
- package/dist/mjs/classes/index.d.ts +1 -0
- package/dist/mjs/classes/index.js +3 -0
- package/dist/mjs/classes/index.js.map +1 -1
- package/dist/mjs/classes/iterable.d.ts +44 -0
- package/dist/mjs/classes/iterable.js +64 -0
- package/dist/mjs/classes/iterable.js.map +1 -1
- package/dist/mjs/classes/param.parser.d.ts +10 -10
- package/dist/mjs/classes/property.d.ts +86 -0
- package/dist/mjs/classes/property.js +280 -0
- package/dist/mjs/classes/property.js.map +1 -0
- package/dist/mjs/classes/symkeys.d.ts +68 -11
- package/dist/mjs/classes/symkeys.js +103 -17
- package/dist/mjs/classes/symkeys.js.map +1 -1
- package/dist/mjs/classes/type.d.ts +4 -4
- package/dist/mjs/function.extensions.js +1 -0
- package/dist/mjs/function.extensions.js.map +1 -1
- package/dist/mjs/global.this.js +6 -0
- package/dist/mjs/global.this.js.map +1 -1
- package/dist/mjs/index.d.ts +2 -0
- package/dist/mjs/index.js +4 -0
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/json.extensions.js +22 -20
- package/dist/mjs/json.extensions.js.map +1 -1
- package/dist/mjs/map.extensions.js +1 -0
- package/dist/mjs/map.extensions.js.map +1 -1
- package/dist/mjs/number.extension.js +1 -0
- package/dist/mjs/number.extension.js.map +1 -1
- package/dist/mjs/object.extensions.d.ts +0 -29
- package/dist/mjs/object.extensions.js +215 -239
- package/dist/mjs/object.extensions.js.map +1 -1
- package/dist/mjs/set.extensions.js +1 -0
- package/dist/mjs/set.extensions.js.map +1 -1
- package/dist/mjs/string.extensions.js +478 -283
- package/dist/mjs/string.extensions.js.map +1 -1
- package/dist/mjs/symbol.extensions.js +501 -25
- package/dist/mjs/symbol.extensions.js.map +1 -1
- package/dist/mjs/utils/copy.object.d.ts +408 -0
- package/dist/mjs/utils/copy.object.js +702 -0
- package/dist/mjs/utils/copy.object.js.map +1 -0
- package/dist/mjs/utils/index.d.ts +1 -0
- package/dist/mjs/utils/index.js +3 -0
- package/dist/mjs/utils/index.js.map +1 -0
- package/dist/mjs/utils/toolkit.d.ts +1897 -0
- package/dist/mjs/utils/toolkit.js +1372 -0
- package/dist/mjs/utils/toolkit.js.map +1 -0
- package/package.json +30 -38
- package/repl.bootstrap.js +12 -1
- package/src/array.extensions.js +191 -1
- package/src/big.int.extension.js +3 -1
- package/src/classes/descriptor.js +1 -1
- package/src/classes/index.js +4 -0
- package/src/classes/iterable.js +74 -0
- package/src/classes/property.js +333 -0
- package/src/classes/symkeys.js +120 -19
- package/src/function.extensions.js +2 -0
- package/src/global.this.js +8 -0
- package/src/index.js +5 -0
- package/src/json.extensions.js +21 -21
- package/src/map.extensions.js +3 -1
- package/src/number.extension.js +3 -1
- package/src/object.extensions.js +240 -262
- package/src/set.extensions.js +3 -1
- package/src/string.extensions.js +531 -306
- package/src/symbol.extensions.js +529 -25
- package/src/utils/copy.object.js +780 -0
- package/src/utils/index.js +2 -0
- package/src/utils/toolkit.js +1471 -0
- package/tests/arrayextensions.test.js +2 -0
- package/tests/index.test.js +1 -0
- package/tests/newClasses/asyncIterable.test.js +2 -0
- package/tests/newClasses/deferred.test.js +5 -3
- package/tests/newClasses/descriptor.test.js +2 -0
- package/tests/newClasses/iterable.test.js +2 -0
- package/tests/newClasses/refmap.test.js +2 -1
- package/tests/newClasses/refset.test.js +2 -0
- package/tests/objectextensions.test.js +2 -0
- package/tests/setextensions.test.js +2 -0
- package/tests/stringextensions.test.js +1 -0
- package/tests/utils/toolkit.test.js +223 -0
- package/tsconfig.base.json +1 -1
- package/vitest.config.js +7 -0
- package/dist/@nejs/basic-extensions.bundle.2.7.0.js +0 -19
- package/dist/@nejs/basic-extensions.bundle.2.7.0.js.map +0 -7
- package/docs/assets/anchor.js +0 -350
- package/docs/assets/bass-addons.css +0 -12
- package/docs/assets/bass.css +0 -544
- package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
- package/docs/assets/fonts/LICENSE.txt +0 -93
- package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- package/docs/assets/fonts/source-code-pro.css +0 -23
- package/docs/assets/github.css +0 -123
- package/docs/assets/site.js +0 -168
- package/docs/assets/split.css +0 -15
- package/docs/assets/split.js +0 -782
- package/docs/assets/style.css +0 -147
- package/docs/index.html +0 -34965
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.extensions.js","sourceRoot":"","sources":["../../src/string.extensions.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"string.extensions.js","sourceRoot":"","sources":["../../src/string.extensions.js"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ exports.SymbolPrototypeExtensions = exports.SymbolExtensions = void 0;
|
|
|
4
4
|
const extension_1 = require("@nejs/extension");
|
|
5
5
|
const symkeys_js_1 = require("./classes/symkeys.js");
|
|
6
6
|
const json_extensions_js_1 = require("./json.extensions.js");
|
|
7
|
-
const
|
|
7
|
+
const JSONToggle = new extension_1.PatchToggle(json_extensions_js_1.JSONExtensions);
|
|
8
|
+
const symkeys = new symkeys_js_1.Symkeys('nejs');
|
|
8
9
|
/**
|
|
9
10
|
* `SymbolExtensions` is a patch for the JavaScript built-in `Symbol` class. It
|
|
10
11
|
* adds utility methods to the `Symbol` class without modifying the global namespace
|
|
@@ -15,30 +16,152 @@ const { extractFrom, mightContain } = json_extensions_js_1.JSONExtensions.patche
|
|
|
15
16
|
*/
|
|
16
17
|
exports.SymbolExtensions = new extension_1.Patch(Symbol, {
|
|
17
18
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* name. This method is useful for creating unique symbols that carry
|
|
21
|
-
* additional metadata.
|
|
19
|
+
* Adds a new symbol to the Symkeys instance with the given name and
|
|
20
|
+
* associated data.
|
|
22
21
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
22
|
+
* This method generates a unique symbol based on the provided name,
|
|
23
|
+
* optional domain, separator, and token. It also allows embedding
|
|
24
|
+
* additional data into the symbol's name.
|
|
25
|
+
*
|
|
26
|
+
* @param {string} named - The base name for the new symbol.
|
|
27
|
+
* @param {Object} options - Additional options for the symbol.
|
|
28
|
+
* @param {*} [options.associate={}] - Data to associate with the symbol.
|
|
29
|
+
* @param {Object} [options.embed] - Optional data to embed in the symbol.
|
|
30
|
+
* @param {string} [options.useDomain] - Optional domain to include in the
|
|
31
|
+
* symbol's name.
|
|
32
|
+
* @param {string} [options.useSeparator] - Optional separator to use in
|
|
33
|
+
* the symbol's name.
|
|
34
|
+
* @param {string} [options.useToken] - Optional token to use for the
|
|
35
|
+
* symbol. If not provided, a random token is generated.
|
|
36
|
+
* @returns {Symbol} The newly created symbol.
|
|
27
37
|
*
|
|
28
38
|
* @example
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
39
|
+
* // Add a symbol with associated data
|
|
40
|
+
* const mySymbol = SymbolExtensions.add('myIdentifier', {
|
|
41
|
+
* associate: { foo: 'bar' },
|
|
42
|
+
* embed: { baz: 'qux' },
|
|
43
|
+
* useDomain: 'exampleDomain',
|
|
44
|
+
* useSeparator: '-',
|
|
45
|
+
* useToken: 'customToken',
|
|
46
|
+
* })
|
|
47
|
+
* console.log(mySymbol)
|
|
48
|
+
* // Symbol(@exampleDomain-myIdentifier {"baz":"qux"} #customToken)
|
|
49
|
+
*/
|
|
50
|
+
add(named, { associate = {}, embed, useToken, useDomain, useSeparator }) {
|
|
51
|
+
return this.keys.add(named, {
|
|
52
|
+
associate, embed, useToken, useDomain, useSeparator,
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
/**
|
|
56
|
+
* Deletes the data associated with a given symbol from the Symkeys
|
|
57
|
+
* instance.
|
|
58
|
+
*
|
|
59
|
+
* This method allows removal of the data that has been associated with a
|
|
60
|
+
* particular symbol in the Symkeys instance. It is useful when you want
|
|
61
|
+
* to clean up or remove stored information associated with a symbol.
|
|
62
|
+
*
|
|
63
|
+
* @param {Symbol} forSymbol - The symbol whose associated data is to be
|
|
64
|
+
* deleted.
|
|
65
|
+
* @param {*} [replaceWith=undefined] - Optionally, if `replaceWith` is
|
|
66
|
+
* not `undefined`, a new value can be set after the original is deleted
|
|
67
|
+
* @returns {boolean} - Returns true if an element in the Symkeys existed
|
|
68
|
+
* and has been removed, or false if the element does not exist
|
|
32
69
|
*
|
|
33
70
|
* @example
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
71
|
+
* // Assuming 'mySymbol' is a symbol that has been added to the Symkeys
|
|
72
|
+
* // with associated data
|
|
73
|
+
* const isDeleted = Symbol.deleteData(mySymbol)
|
|
74
|
+
* console.log(isDeleted) // Output: true if data was deleted, false
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* // Deleting data and replacing it with a new value
|
|
78
|
+
* const mySymbol = Symbol.for('mySymbol')
|
|
79
|
+
* Symbol.setData(mySymbol, { foo: 'bar' })
|
|
80
|
+
* Symbol.deleteData(mySymbol, { newFoo: 'newBar' })
|
|
81
|
+
* console.log(Symbol.keys.data(mySymbol)) // Output: { newFoo: 'newBar' }
|
|
37
82
|
*/
|
|
38
|
-
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
83
|
+
deleteData(forSymbol, replaceWith = undefined) {
|
|
84
|
+
return this.keys.deleteData(forSymbol, replaceWith);
|
|
85
|
+
},
|
|
86
|
+
/**
|
|
87
|
+
* Evaluates a key or value and generates a shared symbol key based on
|
|
88
|
+
* the provided object name and owner name.
|
|
89
|
+
*
|
|
90
|
+
* This method takes a key or value, an object name, and an object owner
|
|
91
|
+
* name as parameters. It determines the type of each parameter and
|
|
92
|
+
* constructs a token string by concatenating the owner name, object
|
|
93
|
+
* name, and key/value (if they are valid object keys).
|
|
94
|
+
*
|
|
95
|
+
* The token string is then used to create a shared symbol key using the
|
|
96
|
+
* `sharedKey` method of the current instance. The shared symbol key is
|
|
97
|
+
* returned along with the token as associated data.
|
|
98
|
+
*
|
|
99
|
+
* @param {string|Symbol} keyOrValue - The key or value to evaluate.
|
|
100
|
+
* @param {string|Symbol} objectName - The name of the object associated
|
|
101
|
+
* with the key or value.
|
|
102
|
+
* @param {string|Function|Object} objectOwnerName - The name of the
|
|
103
|
+
* owner of the object.
|
|
104
|
+
* @returns {Symbol} The shared symbol key generated based on the
|
|
105
|
+
* provided parameters.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* const symbolKey = SymbolExtensions.evalKey('myKey', 'myObject', 'myOwner')
|
|
109
|
+
* console.log(symbolKey)
|
|
110
|
+
* // Output: Symbol(@nejs.internal.refkey:myOwner.myObject.myKey)
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* const symbolKey = SymbolExtensions.evalKey(
|
|
114
|
+
* 'myValue', () => {}, { [Symbol.toStringTag]: 'myOwner' }
|
|
115
|
+
* )
|
|
116
|
+
* console.log(symbolKey)
|
|
117
|
+
* // Output: Symbol(@nejs.internal.refkey:myOwner.myValue)
|
|
118
|
+
*/
|
|
119
|
+
evalKey(keyOrValue, objectName, objectOwnerName) {
|
|
120
|
+
const is = {
|
|
121
|
+
string(v) { return typeof v === 'string'; },
|
|
122
|
+
func(v) { return typeof v === 'function'; },
|
|
123
|
+
object(v) { return typeof v === 'object'; },
|
|
124
|
+
objKey(v) { return ['symbol', 'string'].some(k => typeof v === k); },
|
|
125
|
+
};
|
|
126
|
+
is.key = is.objKey(keyOrValue);
|
|
127
|
+
const ownerName = ((is.string(objectOwnerName) && objectOwnerName) ||
|
|
128
|
+
(is.func(objectOwnerName) && objectOwnerName?.name) ||
|
|
129
|
+
(is.object(objectOwnerName) && objectOwnerName?.[Symbol.toStringTag]) ||
|
|
130
|
+
undefined);
|
|
131
|
+
const token = [
|
|
132
|
+
ownerName && `${ownerName}.` || '',
|
|
133
|
+
is.objKey(objectName) && `${objectName}.` || '',
|
|
134
|
+
is.objKey(keyOrValue) && `${keyOrValue}`,
|
|
135
|
+
].join('');
|
|
136
|
+
return this.sharedKey(`internal.refkey:${token}`, { token });
|
|
137
|
+
},
|
|
138
|
+
/**
|
|
139
|
+
* Checks if the Symkeys instance has data associated with a given
|
|
140
|
+
* symbol
|
|
141
|
+
*
|
|
142
|
+
* This method checks if the Symkeys instance has any data associated
|
|
143
|
+
* with the provided symbol. It is useful when you need to verify if
|
|
144
|
+
* data exists for a particular symbol before attempting to retrieve
|
|
145
|
+
* or manipulate it
|
|
146
|
+
*
|
|
147
|
+
* @param {Symbol} forSymbol - The symbol to check for associated data
|
|
148
|
+
* @returns {boolean} Returns true if data exists for the symbol,
|
|
149
|
+
* false otherwise
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* // Assuming 'mySymbol' is a symbol that has been added to the
|
|
153
|
+
* // Symkeys with associated data
|
|
154
|
+
* const hasData = Symbol.hasData(mySymbol)
|
|
155
|
+
* console.log(hasData) // Output: true
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* // Assuming 'nonExistentSymbol' is a symbol that has not been added
|
|
159
|
+
* // to the Symkeys
|
|
160
|
+
* const hasData = Symbol.hasData(nonExistentSymbol)
|
|
161
|
+
* console.log(hasData) // Output: false
|
|
162
|
+
*/
|
|
163
|
+
hasData(forSymbol) {
|
|
164
|
+
return this.keys.hasData(forSymbol);
|
|
42
165
|
},
|
|
43
166
|
/**
|
|
44
167
|
* The `isSymbol` method does exactly what one would it expect. It returns
|
|
@@ -119,7 +242,110 @@ exports.SymbolExtensions = new extension_1.Patch(Symbol, {
|
|
|
119
242
|
* kOriginal.data.original = Object.prototype // ...and...
|
|
120
243
|
* kOriginal.data = [Object.prototype, Array.prototype] // ...both work
|
|
121
244
|
*/
|
|
122
|
-
keys
|
|
245
|
+
get keys() { return symkeys; },
|
|
246
|
+
/**
|
|
247
|
+
* Sets the data associated with a given symbol in the Symkeys
|
|
248
|
+
* instance.
|
|
249
|
+
*
|
|
250
|
+
* This method allows you to store data associated with a specific
|
|
251
|
+
* symbol in the Symkeys instance. It is useful when you want to
|
|
252
|
+
* attach additional information or metadata to a symbol for later
|
|
253
|
+
* retrieval.
|
|
254
|
+
*
|
|
255
|
+
* @param {Symbol} forSymbol - The symbol for which to set the
|
|
256
|
+
* associated data.
|
|
257
|
+
* @param {*} value - The data to be associated with the symbol.
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* // Create a symbol
|
|
261
|
+
* const mySymbol = Symbol.for('mySymbol')
|
|
262
|
+
*
|
|
263
|
+
* // Set data for the symbol
|
|
264
|
+
* Symbol.setData(mySymbol, { foo: 'bar' })
|
|
265
|
+
*
|
|
266
|
+
* // Retrieve the data associated with the symbol
|
|
267
|
+
* const data = Symbol.keys.data(mySymbol)
|
|
268
|
+
* console.log(data) // Output: { foo: 'bar' }
|
|
269
|
+
*/
|
|
270
|
+
setData(forSymbol, value) {
|
|
271
|
+
this.keys.setData(forSymbol, value);
|
|
272
|
+
},
|
|
273
|
+
/**
|
|
274
|
+
* Creates or retrieves a shared symbol key with the given name and
|
|
275
|
+
* optional associated data.
|
|
276
|
+
*
|
|
277
|
+
* This method generates a shared symbol key using the provided name
|
|
278
|
+
* and optional parameters. If the symbol already exists in the
|
|
279
|
+
* Symkeys's internal map, it updates the associated data if provided.
|
|
280
|
+
* Otherwise, it creates a new symbol with the specified parameters.
|
|
281
|
+
*
|
|
282
|
+
* @param {string} named - The name to use for the shared symbol key.
|
|
283
|
+
* @param {Object} options - Optional parameters for the shared symbol key.
|
|
284
|
+
* @param {Object} [options.associate] - Data to associate with the symbol.
|
|
285
|
+
* @param {Object} [options.embed] - Data to embed in the symbol's name.
|
|
286
|
+
* @param {string} [options.useDomain] - Domain to include in the symbol's name.
|
|
287
|
+
* @param {string} [options.useSeparator] - Separator to use in the symbol's name.
|
|
288
|
+
* @returns {Symbol} The shared symbol key.
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* // Create or retrieve a shared symbol key with associated data
|
|
292
|
+
* const sharedSymbol = Symbol.sharedKey('mySharedKey', {
|
|
293
|
+
* associate: { foo: 'bar' },
|
|
294
|
+
* embed: { baz: 'qux' },
|
|
295
|
+
* useDomain: 'exampleDomain',
|
|
296
|
+
* useSeparator: '-',
|
|
297
|
+
* })
|
|
298
|
+
* console.log(sharedSymbol)
|
|
299
|
+
* // Output: Symbol(@exampleDomain-mySharedKey {"baz":"qux"} #shared)
|
|
300
|
+
*/
|
|
301
|
+
sharedKey(named, options) {
|
|
302
|
+
return this.keys.sharedKey(named, options);
|
|
303
|
+
},
|
|
304
|
+
/**
|
|
305
|
+
* A symbol used as the storage key for the single instance of a
|
|
306
|
+
* singleton.
|
|
307
|
+
*
|
|
308
|
+
* This getter returns a unique symbol created using `Symbol.for()`
|
|
309
|
+
* with the string 'singleton'. The symbol is used to store and
|
|
310
|
+
* retrieve the single instance of a singleton object.
|
|
311
|
+
*
|
|
312
|
+
* @type {symbol}
|
|
313
|
+
* @readonly
|
|
314
|
+
*
|
|
315
|
+
* @example
|
|
316
|
+
* const singletonKey = Symbol.singleton
|
|
317
|
+
* const singletonInstance = {}
|
|
318
|
+
* global[singletonKey] = singletonInstance
|
|
319
|
+
*/
|
|
320
|
+
get singleton() {
|
|
321
|
+
return Symbol.for('singleton');
|
|
322
|
+
},
|
|
323
|
+
/**
|
|
324
|
+
* Creates a new Symbol with the given name and optional data. If data
|
|
325
|
+
* is provided, it will be stringified and appended to the symbol's
|
|
326
|
+
* name. This method is useful for creating unique symbols that carry
|
|
327
|
+
* additional metadata.
|
|
328
|
+
*
|
|
329
|
+
* @param {string} name The name of the symbol.
|
|
330
|
+
* @param {*} [data] Optional data to be associated with the symbol.
|
|
331
|
+
* @returns {symbol} A new symbol created with Symbol.for(), using the
|
|
332
|
+
* provided name and stringified data (if provided).
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* const symbolWithData = Symbol.withData('mySymbol', { foo: 'bar' })
|
|
336
|
+
* console.log(symbolWithData.toString())
|
|
337
|
+
* // Output: "Symbol(mySymbol {"foo":"bar"})"
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* const symbolWithoutData = Symbol.withData('mySymbol')
|
|
341
|
+
* console.log(symbolWithoutData.toString())
|
|
342
|
+
* // Output: "Symbol(mySymbol)"
|
|
343
|
+
*/
|
|
344
|
+
withData(name, data) {
|
|
345
|
+
return data !== undefined
|
|
346
|
+
? Symbol.for(`${name} ${JSON.stringify(data)}`)
|
|
347
|
+
: Symbol.for(name);
|
|
348
|
+
},
|
|
123
349
|
});
|
|
124
350
|
exports.SymbolPrototypeExtensions = new extension_1.Patch(Symbol.prototype, {
|
|
125
351
|
[extension_1.Patch.kMutablyHidden]: {
|
|
@@ -187,7 +413,22 @@ exports.SymbolPrototypeExtensions = new extension_1.Patch(Symbol.prototype, {
|
|
|
187
413
|
return possibleData;
|
|
188
414
|
}
|
|
189
415
|
}
|
|
190
|
-
|
|
416
|
+
let result = undefined;
|
|
417
|
+
let revertToggle = false;
|
|
418
|
+
if (!json_extensions_js_1.JSONExtensions.applied) {
|
|
419
|
+
JSONToggle.start();
|
|
420
|
+
revertToggle = true;
|
|
421
|
+
}
|
|
422
|
+
if (JSON.mightContain(this.description)) {
|
|
423
|
+
try {
|
|
424
|
+
result = JSON.extractFrom(this.description);
|
|
425
|
+
}
|
|
426
|
+
catch (ignore) { }
|
|
427
|
+
}
|
|
428
|
+
if (revertToggle) {
|
|
429
|
+
JSONToggle.stop();
|
|
430
|
+
}
|
|
431
|
+
return result;
|
|
191
432
|
},
|
|
192
433
|
/**
|
|
193
434
|
* Sets the data associated with a symbol.
|
|
@@ -229,9 +470,95 @@ exports.SymbolPrototypeExtensions = new extension_1.Patch(Symbol.prototype, {
|
|
|
229
470
|
* Symkeys.getData(symWithData) // returns { name: 'Jane', age: 26 }
|
|
230
471
|
*/
|
|
231
472
|
set data(value) {
|
|
232
|
-
if (symkeys_js_1.Symkeys.isSymkey(this)
|
|
473
|
+
if (symkeys_js_1.Symkeys.isSymkey(this)) {
|
|
233
474
|
Symbol.keys.setData(this, value);
|
|
234
475
|
}
|
|
476
|
+
else {
|
|
477
|
+
console.error(`The symbol ${this.description} is not a symkey`);
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
/**
|
|
481
|
+
* Retrieves the embedded JSON data from the symbol's description.
|
|
482
|
+
*
|
|
483
|
+
* This getter method checks if the symbol's description might contain
|
|
484
|
+
* JSON data. If the description contains JSON, it parses and returns
|
|
485
|
+
* the first JSON object found. If no JSON is found, it returns
|
|
486
|
+
* `undefined`.
|
|
487
|
+
*
|
|
488
|
+
* @returns {Object|undefined} - The parsed JSON object if found,
|
|
489
|
+
* otherwise `undefined`.
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* const sym = Symbol.for('example {"name":"Brie"}')
|
|
493
|
+
* console.log(sym.embeddedJSON) // Output: { name: 'Brie' }
|
|
494
|
+
*
|
|
495
|
+
* @example
|
|
496
|
+
* const sym = Symbol('noJSON')
|
|
497
|
+
* console.log(sym.embeddedJSON) // Output: undefined
|
|
498
|
+
*/
|
|
499
|
+
get embeddedJSON() {
|
|
500
|
+
return JSONToggle.perform((toggle, patch) => {
|
|
501
|
+
let [mightHave, index, parsed] = JSON.mightContain(this.description, true);
|
|
502
|
+
if (mightHave) {
|
|
503
|
+
return parsed?.[0];
|
|
504
|
+
}
|
|
505
|
+
return undefined;
|
|
506
|
+
});
|
|
507
|
+
},
|
|
508
|
+
/**
|
|
509
|
+
* Parses the embedded JSON data from the symbol's description.
|
|
510
|
+
*
|
|
511
|
+
* This getter method first retrieves the embedded JSON data using the
|
|
512
|
+
* `embeddedJSON` getter. If JSON data is found, it attempts to parse
|
|
513
|
+
* the JSON string and return the resulting object. If parsing fails,
|
|
514
|
+
* an error is logged to the console.
|
|
515
|
+
*
|
|
516
|
+
* @returns {Object|undefined} - The parsed JSON object if parsing is
|
|
517
|
+
* successful, otherwise `undefined`.
|
|
518
|
+
*
|
|
519
|
+
* @example
|
|
520
|
+
* const sym = Symbol.for('example {"name":"Brie"}')
|
|
521
|
+
* console.log(sym.embeddedJSONParsed) // Output: { name: 'Brie' }
|
|
522
|
+
*
|
|
523
|
+
* @example
|
|
524
|
+
* const sym = Symbol('invalidJSON')
|
|
525
|
+
* console.log(sym.embeddedJSONParsed) // Output: undefined
|
|
526
|
+
*/
|
|
527
|
+
get embeddedJSONParsed() {
|
|
528
|
+
const json = this.embeddedJSON;
|
|
529
|
+
if (json) {
|
|
530
|
+
try {
|
|
531
|
+
return JSON.parse(json);
|
|
532
|
+
}
|
|
533
|
+
catch (error) {
|
|
534
|
+
console.error(`Failed to parse json: "${json}"`);
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
return undefined;
|
|
538
|
+
},
|
|
539
|
+
/**
|
|
540
|
+
* Checks if the current symbol is a Symkey.
|
|
541
|
+
*
|
|
542
|
+
* This getter method determines whether the current symbol instance
|
|
543
|
+
* conforms to the Symkey pattern. A Symkey is a symbol that matches
|
|
544
|
+
* a specific pattern defined in the Symkeys class.
|
|
545
|
+
*
|
|
546
|
+
* @type {boolean}
|
|
547
|
+
* @readonly
|
|
548
|
+
*
|
|
549
|
+
* @returns {boolean} - Returns true if the symbol is a Symkey,
|
|
550
|
+
* otherwise false.
|
|
551
|
+
*
|
|
552
|
+
* @example
|
|
553
|
+
* const sym = Symbol('@nejs.prototype #rwiy2o905d')
|
|
554
|
+
* console.log(sym.isSymkey) // Output: true
|
|
555
|
+
*
|
|
556
|
+
* @example
|
|
557
|
+
* const sym = Symbol('regularSymbol')
|
|
558
|
+
* console.log(sym.isSymkey) // Output: false
|
|
559
|
+
*/
|
|
560
|
+
get isSymkey() {
|
|
561
|
+
return symkeys_js_1.Symkeys.isSymkey(this);
|
|
235
562
|
},
|
|
236
563
|
/**
|
|
237
564
|
* Checks if the symbol might have embedded JSON data.
|
|
@@ -252,8 +579,157 @@ exports.SymbolPrototypeExtensions = new extension_1.Patch(Symbol.prototype, {
|
|
|
252
579
|
* console.log(sym.mightHaveEmbeddedJSON) // Output: false
|
|
253
580
|
*/
|
|
254
581
|
get mightHaveEmbeddedJSON() {
|
|
255
|
-
return
|
|
582
|
+
return JSONToggle.perform((toggle, patch) => {
|
|
583
|
+
return JSON.mightContain(this.description);
|
|
584
|
+
});
|
|
585
|
+
},
|
|
586
|
+
/**
|
|
587
|
+
* Retrieves the reference object associated with the symbol.
|
|
588
|
+
*
|
|
589
|
+
* This getter method checks if the symbol's description matches a
|
|
590
|
+
* specific pattern using a regular expression. If a match is found,
|
|
591
|
+
* it extracts the token from the description and constructs a shared
|
|
592
|
+
* key using the token. It then retrieves the symbol associated with
|
|
593
|
+
* the shared key using the `sharedKey` method of the
|
|
594
|
+
* `SymbolExtensions.patches` object. Finally, it returns the data
|
|
595
|
+
* associated with the retrieved symbol.
|
|
596
|
+
*
|
|
597
|
+
* If no match is found or the retrieved symbol has no associated
|
|
598
|
+
* data, `undefined` is returned.
|
|
599
|
+
*
|
|
600
|
+
* @type {any}
|
|
601
|
+
* @readonly
|
|
602
|
+
*
|
|
603
|
+
* @example
|
|
604
|
+
* const sym = Symbol.for('@nejs.internal.refkey:example #shared')
|
|
605
|
+
* console.log(sym.refObject) // Output: the data associated with the
|
|
606
|
+
* // 'internal.refkey:example' shared key
|
|
607
|
+
*
|
|
608
|
+
* @example
|
|
609
|
+
* const sym = Symbol('no_match')
|
|
610
|
+
* console.log(sym.refObject) // Output: undefined
|
|
611
|
+
*/
|
|
612
|
+
get refObject() {
|
|
613
|
+
const re = /@nejs.internal.refkey:(\S+) #shared/.exec(this.description);
|
|
614
|
+
if (re?.[1]) {
|
|
615
|
+
const [_match, token] = re;
|
|
616
|
+
const shareKey = `internal.refkey:${token}`;
|
|
617
|
+
const symbol = exports.SymbolExtensions.patches.sharedKey(shareKey);
|
|
618
|
+
return symbol?.data;
|
|
619
|
+
}
|
|
620
|
+
return undefined;
|
|
256
621
|
},
|
|
257
|
-
|
|
622
|
+
/**
|
|
623
|
+
* Returns a formatted string representation of the symbol's
|
|
624
|
+
* description, highlighting any embedded JSON data.
|
|
625
|
+
*
|
|
626
|
+
* This getter method checks if the symbol's description contains
|
|
627
|
+
* JSON data and formats it for better readability. It uses the
|
|
628
|
+
* `sgr` function from the `String` object to apply color formatting
|
|
629
|
+
* to the output.
|
|
630
|
+
*
|
|
631
|
+
* If the symbol's description contains JSON data longer than 30
|
|
632
|
+
* characters, it truncates the JSON data and displays an ellipsis
|
|
633
|
+
* in the middle. The JSON data is highlighted using the 'di' color
|
|
634
|
+
* code.
|
|
635
|
+
*
|
|
636
|
+
* @type {string}
|
|
637
|
+
* @readonly
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* const sym = Symbol.for('mySymbol {"name":"John Doe"}')
|
|
641
|
+
* console.log(sym.sgrString)
|
|
642
|
+
* // Output: Symbol.for(mySymbol {"name":"John ...hn Doe"})
|
|
643
|
+
*
|
|
644
|
+
* @example
|
|
645
|
+
* const sym = Symbol('mySymbol')
|
|
646
|
+
* console.log(sym.sgrString)
|
|
647
|
+
* // Output: mySymbol
|
|
648
|
+
*/
|
|
649
|
+
get sgrString() {
|
|
650
|
+
let { sgr } = String;
|
|
651
|
+
if (!sgr) {
|
|
652
|
+
sgr = (string, ...args) => string;
|
|
653
|
+
}
|
|
654
|
+
const response = JSONToggle.perform((toggle, patch) => {
|
|
655
|
+
let [mightContain, index, jsonResponse] = JSON.mightContain(this.description, true);
|
|
656
|
+
let jsonText = jsonResponse?.[0];
|
|
657
|
+
if (mightContain) {
|
|
658
|
+
if (~index && jsonText && jsonText.length > 30) {
|
|
659
|
+
let desc = this.description;
|
|
660
|
+
let newDescription = [
|
|
661
|
+
sgr(`Symbol.for(${desc.slice(0, index)}`, 'green'),
|
|
662
|
+
sgr(jsonText.slice(0, 10), 'di'),
|
|
663
|
+
'...',
|
|
664
|
+
sgr(jsonText.slice(-5), 'di'),
|
|
665
|
+
sgr(`${desc.slice(index + jsonText.length + 1)})`, 'green')
|
|
666
|
+
].join('');
|
|
667
|
+
return `${newDescription}`;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
});
|
|
671
|
+
return response ?? this.description;
|
|
672
|
+
},
|
|
673
|
+
/**
|
|
674
|
+
* Custom inspect method for Node.js util.inspect.
|
|
675
|
+
*
|
|
676
|
+
* NOTE: this will only apply if looking at an instance of Symbol,
|
|
677
|
+
* sadly; {@see SymbolPrototypeExtensions.instance}
|
|
678
|
+
*
|
|
679
|
+
* This method is used by Node.js util.inspect to provide a custom
|
|
680
|
+
* representation of the symbol when inspected. It checks if the
|
|
681
|
+
* symbol's description might contain JSON data and if so, it
|
|
682
|
+
* truncates the JSON data in the description to a maximum of 30
|
|
683
|
+
* characters and formats the output with colors using the `sgr`
|
|
684
|
+
* function from the `String` object.
|
|
685
|
+
*
|
|
686
|
+
* @param {number} depth - The current depth of the recursive
|
|
687
|
+
* inspection.
|
|
688
|
+
* @param {Object} options - The options object passed to
|
|
689
|
+
* util.inspect.
|
|
690
|
+
* @param {Function} inspect - The original util.inspect function.
|
|
691
|
+
*
|
|
692
|
+
* @returns {string} - The formatted representation of the symbol.
|
|
693
|
+
*
|
|
694
|
+
* @example
|
|
695
|
+
* const sym = Symbol.for('fun {"name":"John Doe"}')
|
|
696
|
+
* console.log(util.inspect(sym))
|
|
697
|
+
* // Output: Symbol.for(fun {"name":"John ...hn Doe"})
|
|
698
|
+
*/
|
|
699
|
+
[Symbol.for('nodejs.util.inspect.custom')](depth, options, inspect) {
|
|
700
|
+
let revert = false;
|
|
701
|
+
let detail = undefined;
|
|
702
|
+
let { sgr } = String;
|
|
703
|
+
if (!sgr) {
|
|
704
|
+
sgr = (string, ...args) => string;
|
|
705
|
+
}
|
|
706
|
+
if (!json_extensions_js_1.JSONExtensions.applied) {
|
|
707
|
+
JSONToggle.start();
|
|
708
|
+
revert = true;
|
|
709
|
+
}
|
|
710
|
+
if ((detail = JSON.mightContain(this.description, true))) {
|
|
711
|
+
let jsonText = detail[2][0];
|
|
712
|
+
let index = detail[1];
|
|
713
|
+
if (~index && jsonText && jsonText.length > 30) {
|
|
714
|
+
let desc = this.description;
|
|
715
|
+
let newDescription = [
|
|
716
|
+
sgr(`Symbol.for(${desc.slice(0, index)}`, 'green'),
|
|
717
|
+
sgr(jsonText.slice(0, 10), 'di'),
|
|
718
|
+
'...',
|
|
719
|
+
sgr(jsonText.slice(-5), 'di'),
|
|
720
|
+
sgr(`${desc.slice(index + jsonText.length + 1)})`, 'green'),
|
|
721
|
+
].join('');
|
|
722
|
+
if (revert) {
|
|
723
|
+
JSONToggle.stop();
|
|
724
|
+
}
|
|
725
|
+
return `${newDescription}`;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
if (revert) {
|
|
729
|
+
JSONToggle.stop();
|
|
730
|
+
}
|
|
731
|
+
return inspect(this, { colors: true });
|
|
732
|
+
},
|
|
733
|
+
},
|
|
258
734
|
});
|
|
259
735
|
//# sourceMappingURL=symbol.extensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbol.extensions.js","sourceRoot":"","sources":["../../src/symbol.extensions.js"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"symbol.extensions.js","sourceRoot":"","sources":["../../src/symbol.extensions.js"],"names":[],"mappings":";;;AAAA,+CAAqD;AAErD,qDAA8C;AAC9C,6DAAqD;AAErD,MAAM,UAAU,GAAG,IAAI,uBAAW,CAAC,mCAAc,CAAC,CAAA;AAClD,MAAM,OAAO,GAAG,IAAI,oBAAO,CAAC,MAAM,CAAC,CAAA;AAEnC;;;;;;;GAOG;AACU,QAAA,gBAAgB,GAAG,IAAI,iBAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YAC1B,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY;SACpD,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,SAAS;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe;QAC7C,MAAM,EAAE,GAAG;YACT,MAAM,CAAC,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,UAAU,CAAA,CAAC,CAAC;YAC1C,MAAM,CAAC,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAA,CAAC,CAAC;YAC1C,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;SACpE,CAAA;QACD,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAE9B,MAAM,SAAS,GAAG,CAChB,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC;YAC/C,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,EAAE,IAAI,CAAC;YACnD,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrE,SAAS,CACV,CAAA;QAED,MAAM,KAAK,GAAG;YACZ,SAAS,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE;YAClC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,EAAE;YAC/C,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,UAAU,EAAE;SACzC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEV,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,OAAO,CAAC,SAAS;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,KAAK,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAA;YAC1E,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK;QAC7C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,IAAI,IAAI,KAAK,OAAO,OAAO,CAAA,CAAC,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,SAAS,EAAE,KAAK;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,SAAS;QACX,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI;QACjB,OAAO,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,yBAAyB,GAAG,IAAI,iBAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE,CAAC,iBAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;WAeG;QACH,IAAI,QAAQ;YACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAqCG;QACH,IAAI,IAAI;YACN,IAAI,MAAM,EAAE,IAAI,IAAI,oBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtC,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,YAAY,CAAA;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,CAAC,mCAAc,CAAC,OAAO,EAAE,CAAC;gBAC5B,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClB,YAAY,GAAG,IAAI,CAAA;YACrB,CAAC;YAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAAC,CAAC;gBACnD,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAsCG;QACH,IAAI,IAAI,CAAC,KAAK;YACZ,IAAI,oBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAClC,CAAC;iBACI,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,WAAW,kBAAkB,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,IAAI,YAAY;YACd,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC1C,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAChD,IAAI,CAAC,WAAW,EAAE,IAAI,CACvB,CAAA;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;gBACpB,CAAC;gBAED,OAAO,SAAS,CAAA;YAClB,CAAC,CAAC,CAAA;QACJ,CAAC;QAED;;;;;;;;;;;;;;;;;;WAkBG;QACH,IAAI,kBAAkB;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAA;YAE9B,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;gBACD,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,IAAI,QAAQ;YACV,OAAO,oBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,IAAI,qBAAqB;YACvB,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5C,CAAC,CAAC,CAAA;QACJ,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,IAAI,SAAS;YACX,MAAM,EAAE,GAAG,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACvE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;gBAC1B,MAAM,QAAQ,GAAG,mBAAmB,KAAK,EAAE,CAAA;gBAC3C,MAAM,MAAM,GAAG,wBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBAC3D,OAAO,MAAM,EAAE,IAAI,CAAA;YACrB,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;;WA0BG;QACH,IAAI,SAAS;YACX,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;YAEpB,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAA;YACnC,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACpD,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,GACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gBAC3C,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEhC,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;wBAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;wBAC3B,IAAI,cAAc,GAAG;4BACnB,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;4BAClD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;4BAChC,KAAK;4BACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;4BAC7B,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC;yBAC5D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBAEV,OAAO,GAAG,cAAc,EAAE,CAAA;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAA;QACrC,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO;YAChE,IAAI,MAAM,GAAG,KAAK,CAAA;YAClB,IAAI,MAAM,GAAG,SAAS,CAAA;YAEtB,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,GAAG,EAAE,CAAC;gBAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,MAAM,CAAA;YAAC,CAAC;YAE/C,IAAI,CAAC,mCAAc,CAAC,OAAO,EAAE,CAAC;gBAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAA;YAAC,CAAC;YAClE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBAErB,IAAI,CAAC,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;oBAC3B,IAAI,cAAc,GAAG;wBACnB,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;wBAClD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;wBAChC,KAAK;wBACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;wBAC7B,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC;qBAC5D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAEV,IAAI,MAAM,EAAE,CAAC;wBAAC,UAAU,CAAC,IAAI,EAAE,CAAA;oBAAC,CAAC;oBACjC,OAAO,GAAG,cAAc,EAAE,CAAA;gBAC5B,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YAAC,CAAC;YACjC,OAAO,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;KACF;CACF,CAAC,CAAA"}
|