@nejs/basic-extensions 2.21.5 → 2.22.6
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 +78 -4
- package/dist/@nejs/basic-extensions.bundle.2.22.6.js +25 -0
- package/dist/@nejs/basic-extensions.bundle.2.22.6.js.map +7 -0
- package/dist/cjs/classes/index.cjs +11129 -0
- package/dist/cjs/classes/index.cjs.map +7 -0
- package/dist/cjs/index.cjs +15191 -0
- package/dist/cjs/index.cjs.map +7 -0
- package/dist/cjs/utils/index.cjs +3954 -0
- package/dist/cjs/utils/index.cjs.map +7 -0
- package/dist/esm/basic-extensions.mjs +25 -0
- package/dist/esm/basic-extensions.mjs.map +7 -0
- package/package.json +16 -22
- package/repl.bootstrap.js +4 -7
- package/repl.history +26 -26
- package/src/classes/enumeration.js +466 -0
- package/src/classes/index.js +5 -1
- package/src/index.js +3 -1
- package/src/regular.expression.extensions.js +0 -35
- package/src/utils/toolkit.js +699 -516
- package/tests/arrayextensions.test.js +3 -3
- package/tests/index.test.js +3 -1
- package/tests/newClasses/asyncIterable.test.js +3 -3
- package/tests/newClasses/deferred.test.js +3 -3
- package/tests/newClasses/descriptor.test.js +3 -3
- package/tests/newClasses/iterable.test.js +3 -3
- package/tests/newClasses/refmap.test.js +3 -3
- package/tests/newClasses/refset.test.js +3 -3
- package/tests/objectextensions.test.js +3 -3
- package/tests/setextensions.test.js +3 -3
- package/tests/stringextensions.test.js +3 -2
- package/tests/utils/descriptor.utils.test.js +1 -1
- package/tests/utils/toolkit.test.js +429 -163
- package/.esdoc.json +0 -9
- package/.vscode/settings.json +0 -5
- package/bin/build +0 -27
- package/bin/clean +0 -14
- package/bin/esbuild +0 -91
- package/bin/fixup +0 -13
- package/bin/repl.basics.js +0 -584
- package/bin/repl.signature.js +0 -63
- package/bin/version +0 -100
- package/dist/@nejs/basic-extensions.bundle.2.21.5.js +0 -25
- package/dist/@nejs/basic-extensions.bundle.2.21.5.js.map +0 -7
- package/dist/cjs/array.extensions.d.ts +0 -39
- package/dist/cjs/array.extensions.js +0 -477
- package/dist/cjs/array.extensions.js.map +0 -1
- package/dist/cjs/big.int.extension.d.ts +0 -31
- package/dist/cjs/big.int.extension.js +0 -273
- package/dist/cjs/big.int.extension.js.map +0 -1
- package/dist/cjs/classes/asyncIterable.d.ts +0 -126
- package/dist/cjs/classes/asyncIterable.js +0 -209
- package/dist/cjs/classes/asyncIterable.js.map +0 -1
- package/dist/cjs/classes/deferred.d.ts +0 -146
- package/dist/cjs/classes/deferred.js +0 -291
- package/dist/cjs/classes/deferred.js.map +0 -1
- package/dist/cjs/classes/descriptor.d.ts +0 -334
- package/dist/cjs/classes/descriptor.js +0 -537
- package/dist/cjs/classes/descriptor.js.map +0 -1
- package/dist/cjs/classes/enum.d.ts +0 -50
- package/dist/cjs/classes/enum.js +0 -405
- package/dist/cjs/classes/enum.js.map +0 -1
- package/dist/cjs/classes/index.d.ts +0 -15
- package/dist/cjs/classes/index.js +0 -63
- package/dist/cjs/classes/index.js.map +0 -1
- package/dist/cjs/classes/introspector.d.ts +0 -20
- package/dist/cjs/classes/introspector.js +0 -130
- package/dist/cjs/classes/introspector.js.map +0 -1
- package/dist/cjs/classes/iterable.d.ts +0 -169
- package/dist/cjs/classes/iterable.js +0 -268
- package/dist/cjs/classes/iterable.js.map +0 -1
- package/dist/cjs/classes/param.parser.d.ts +0 -221
- package/dist/cjs/classes/param.parser.js +0 -242
- package/dist/cjs/classes/param.parser.js.map +0 -1
- package/dist/cjs/classes/pluggable.proxy.d.ts +0 -153
- package/dist/cjs/classes/pluggable.proxy.js +0 -444
- package/dist/cjs/classes/pluggable.proxy.js.map +0 -1
- package/dist/cjs/classes/property.d.ts +0 -79
- package/dist/cjs/classes/property.js +0 -284
- package/dist/cjs/classes/property.js.map +0 -1
- package/dist/cjs/classes/refmap.d.ts +0 -238
- package/dist/cjs/classes/refmap.js +0 -421
- package/dist/cjs/classes/refmap.js.map +0 -1
- package/dist/cjs/classes/refset.d.ts +0 -186
- package/dist/cjs/classes/refset.js +0 -370
- package/dist/cjs/classes/refset.js.map +0 -1
- package/dist/cjs/classes/symkeys.d.ts +0 -349
- package/dist/cjs/classes/symkeys.js +0 -510
- package/dist/cjs/classes/symkeys.js.map +0 -1
- package/dist/cjs/classes/type.d.ts +0 -56
- package/dist/cjs/classes/type.js +0 -405
- package/dist/cjs/classes/type.js.map +0 -1
- package/dist/cjs/function.extensions.d.ts +0 -12
- package/dist/cjs/function.extensions.js +0 -758
- package/dist/cjs/function.extensions.js.map +0 -1
- package/dist/cjs/global.this.d.ts +0 -2
- package/dist/cjs/global.this.js +0 -300
- package/dist/cjs/global.this.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -31
- package/dist/cjs/index.js +0 -228
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/json.extensions.d.ts +0 -2
- package/dist/cjs/json.extensions.js +0 -109
- package/dist/cjs/json.extensions.js.map +0 -1
- package/dist/cjs/map.extensions.d.ts +0 -3
- package/dist/cjs/map.extensions.js +0 -143
- package/dist/cjs/map.extensions.js.map +0 -1
- package/dist/cjs/math.extension.d.ts +0 -14
- package/dist/cjs/math.extension.js +0 -71
- package/dist/cjs/math.extension.js.map +0 -1
- package/dist/cjs/number.extension.d.ts +0 -44
- package/dist/cjs/number.extension.js +0 -278
- package/dist/cjs/number.extension.js.map +0 -1
- package/dist/cjs/object.extensions.d.ts +0 -33
- package/dist/cjs/object.extensions.js +0 -1091
- package/dist/cjs/object.extensions.js.map +0 -1
- package/dist/cjs/package.json +0 -3
- package/dist/cjs/proxy.extensions.d.ts +0 -2
- package/dist/cjs/proxy.extensions.js +0 -207
- package/dist/cjs/proxy.extensions.js.map +0 -1
- package/dist/cjs/reflect.extensions.d.ts +0 -14
- package/dist/cjs/reflect.extensions.js +0 -316
- package/dist/cjs/reflect.extensions.js.map +0 -1
- package/dist/cjs/regular.expression.extensions.d.ts +0 -2
- package/dist/cjs/regular.expression.extensions.js +0 -423
- package/dist/cjs/regular.expression.extensions.js.map +0 -1
- package/dist/cjs/set.extensions.d.ts +0 -40
- package/dist/cjs/set.extensions.js +0 -355
- package/dist/cjs/set.extensions.js.map +0 -1
- package/dist/cjs/string.extensions.d.ts +0 -23
- package/dist/cjs/string.extensions.js +0 -704
- package/dist/cjs/string.extensions.js.map +0 -1
- package/dist/cjs/symbol.extensions.d.ts +0 -11
- package/dist/cjs/symbol.extensions.js +0 -735
- package/dist/cjs/symbol.extensions.js.map +0 -1
- package/dist/cjs/utils/copy.object.d.ts +0 -408
- package/dist/cjs/utils/copy.object.js +0 -720
- package/dist/cjs/utils/copy.object.js.map +0 -1
- package/dist/cjs/utils/descriptor.utils.d.ts +0 -298
- package/dist/cjs/utils/descriptor.utils.js +0 -889
- package/dist/cjs/utils/descriptor.utils.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -75
- package/dist/cjs/utils/index.js +0 -61
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/stdout.d.ts +0 -742
- package/dist/cjs/utils/stdout.js +0 -1042
- package/dist/cjs/utils/stdout.js.map +0 -1
- package/dist/cjs/utils/toolkit.d.ts +0 -1898
- package/dist/cjs/utils/toolkit.js +0 -1378
- package/dist/cjs/utils/toolkit.js.map +0 -1
- package/dist/cjs/weakref.extensions.d.ts +0 -2
- package/dist/cjs/weakref.extensions.js +0 -19
- package/dist/cjs/weakref.extensions.js.map +0 -1
- package/dist/mjs/array.extensions.d.ts +0 -39
- package/dist/mjs/array.extensions.js +0 -474
- package/dist/mjs/array.extensions.js.map +0 -1
- package/dist/mjs/big.int.extension.d.ts +0 -31
- package/dist/mjs/big.int.extension.js +0 -270
- package/dist/mjs/big.int.extension.js.map +0 -1
- package/dist/mjs/classes/asyncIterable.d.ts +0 -126
- package/dist/mjs/classes/asyncIterable.js +0 -204
- package/dist/mjs/classes/asyncIterable.js.map +0 -1
- package/dist/mjs/classes/deferred.d.ts +0 -146
- package/dist/mjs/classes/deferred.js +0 -287
- package/dist/mjs/classes/deferred.js.map +0 -1
- package/dist/mjs/classes/descriptor.d.ts +0 -334
- package/dist/mjs/classes/descriptor.js +0 -533
- package/dist/mjs/classes/descriptor.js.map +0 -1
- package/dist/mjs/classes/enum.d.ts +0 -50
- package/dist/mjs/classes/enum.js +0 -400
- package/dist/mjs/classes/enum.js.map +0 -1
- package/dist/mjs/classes/index.d.ts +0 -15
- package/dist/mjs/classes/index.js +0 -46
- package/dist/mjs/classes/index.js.map +0 -1
- package/dist/mjs/classes/introspector.d.ts +0 -20
- package/dist/mjs/classes/introspector.js +0 -126
- package/dist/mjs/classes/introspector.js.map +0 -1
- package/dist/mjs/classes/iterable.d.ts +0 -169
- package/dist/mjs/classes/iterable.js +0 -263
- package/dist/mjs/classes/iterable.js.map +0 -1
- package/dist/mjs/classes/param.parser.d.ts +0 -221
- package/dist/mjs/classes/param.parser.js +0 -238
- package/dist/mjs/classes/param.parser.js.map +0 -1
- package/dist/mjs/classes/pluggable.proxy.d.ts +0 -153
- package/dist/mjs/classes/pluggable.proxy.js +0 -438
- package/dist/mjs/classes/pluggable.proxy.js.map +0 -1
- package/dist/mjs/classes/property.d.ts +0 -79
- package/dist/mjs/classes/property.js +0 -280
- package/dist/mjs/classes/property.js.map +0 -1
- package/dist/mjs/classes/refmap.d.ts +0 -238
- package/dist/mjs/classes/refmap.js +0 -417
- package/dist/mjs/classes/refmap.js.map +0 -1
- package/dist/mjs/classes/refset.d.ts +0 -186
- package/dist/mjs/classes/refset.js +0 -366
- package/dist/mjs/classes/refset.js.map +0 -1
- package/dist/mjs/classes/symkeys.d.ts +0 -349
- package/dist/mjs/classes/symkeys.js +0 -506
- package/dist/mjs/classes/symkeys.js.map +0 -1
- package/dist/mjs/classes/type.d.ts +0 -56
- package/dist/mjs/classes/type.js +0 -401
- package/dist/mjs/classes/type.js.map +0 -1
- package/dist/mjs/function.extensions.d.ts +0 -12
- package/dist/mjs/function.extensions.js +0 -755
- package/dist/mjs/function.extensions.js.map +0 -1
- package/dist/mjs/global.this.d.ts +0 -2
- package/dist/mjs/global.this.js +0 -264
- package/dist/mjs/global.this.js.map +0 -1
- package/dist/mjs/index.d.ts +0 -31
- package/dist/mjs/index.js +0 -206
- package/dist/mjs/index.js.map +0 -1
- package/dist/mjs/json.extensions.d.ts +0 -2
- package/dist/mjs/json.extensions.js +0 -106
- package/dist/mjs/json.extensions.js.map +0 -1
- package/dist/mjs/map.extensions.d.ts +0 -3
- package/dist/mjs/map.extensions.js +0 -140
- package/dist/mjs/map.extensions.js.map +0 -1
- package/dist/mjs/math.extension.d.ts +0 -14
- package/dist/mjs/math.extension.js +0 -68
- package/dist/mjs/math.extension.js.map +0 -1
- package/dist/mjs/number.extension.d.ts +0 -44
- package/dist/mjs/number.extension.js +0 -275
- package/dist/mjs/number.extension.js.map +0 -1
- package/dist/mjs/object.extensions.d.ts +0 -33
- package/dist/mjs/object.extensions.js +0 -1088
- package/dist/mjs/object.extensions.js.map +0 -1
- package/dist/mjs/package.json +0 -3
- package/dist/mjs/proxy.extensions.d.ts +0 -2
- package/dist/mjs/proxy.extensions.js +0 -204
- package/dist/mjs/proxy.extensions.js.map +0 -1
- package/dist/mjs/reflect.extensions.d.ts +0 -14
- package/dist/mjs/reflect.extensions.js +0 -313
- package/dist/mjs/reflect.extensions.js.map +0 -1
- package/dist/mjs/regular.expression.extensions.d.ts +0 -2
- package/dist/mjs/regular.expression.extensions.js +0 -420
- package/dist/mjs/regular.expression.extensions.js.map +0 -1
- package/dist/mjs/set.extensions.d.ts +0 -40
- package/dist/mjs/set.extensions.js +0 -352
- package/dist/mjs/set.extensions.js.map +0 -1
- package/dist/mjs/string.extensions.d.ts +0 -23
- package/dist/mjs/string.extensions.js +0 -701
- package/dist/mjs/string.extensions.js.map +0 -1
- package/dist/mjs/symbol.extensions.d.ts +0 -11
- package/dist/mjs/symbol.extensions.js +0 -732
- package/dist/mjs/symbol.extensions.js.map +0 -1
- package/dist/mjs/utils/copy.object.d.ts +0 -408
- package/dist/mjs/utils/copy.object.js +0 -702
- package/dist/mjs/utils/copy.object.js.map +0 -1
- package/dist/mjs/utils/descriptor.utils.d.ts +0 -298
- package/dist/mjs/utils/descriptor.utils.js +0 -875
- package/dist/mjs/utils/descriptor.utils.js.map +0 -1
- package/dist/mjs/utils/index.d.ts +0 -75
- package/dist/mjs/utils/index.js +0 -45
- package/dist/mjs/utils/index.js.map +0 -1
- package/dist/mjs/utils/stdout.d.ts +0 -742
- package/dist/mjs/utils/stdout.js +0 -1037
- package/dist/mjs/utils/stdout.js.map +0 -1
- package/dist/mjs/utils/toolkit.d.ts +0 -1898
- package/dist/mjs/utils/toolkit.js +0 -1373
- package/dist/mjs/utils/toolkit.js.map +0 -1
- package/dist/mjs/weakref.extensions.d.ts +0 -2
- package/dist/mjs/weakref.extensions.js +0 -16
- package/dist/mjs/weakref.extensions.js.map +0 -1
- package/jsdoc-config.json +0 -31
- package/tsconfig.base.json +0 -28
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -8
- package/vitest.config.js +0 -7
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JSONExtensions = void 0;
|
|
4
|
-
const extension_1 = require("@nejs/extension");
|
|
5
|
-
exports.JSONExtensions = new extension_1.Patch(JSON, {
|
|
6
|
-
[extension_1.Patch.kMutablyHidden]: {
|
|
7
|
-
extractAllFrom(string) {
|
|
8
|
-
const pattern = this.JSONStartPattern;
|
|
9
|
-
const notJSON = Symbol("Value is not valid JSON");
|
|
10
|
-
const decoder = part => {
|
|
11
|
-
try {
|
|
12
|
-
return JSON.parse(part);
|
|
13
|
-
}
|
|
14
|
-
catch (_) {
|
|
15
|
-
return notJSON;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
const parts = [];
|
|
19
|
-
let part = undefined;
|
|
20
|
-
while ((part = pattern.exec(string))) {
|
|
21
|
-
parts.push(decoder(part?.[0]));
|
|
22
|
-
}
|
|
23
|
-
return parts.filter(isJSON => isJSON !== notJSON);
|
|
24
|
-
},
|
|
25
|
-
/**
|
|
26
|
-
* The `extractFrom` method attempts to extract a JSON object from a string.
|
|
27
|
-
* It uses a regular expression to identify potential JSON objects in the
|
|
28
|
-
* string and attempts to parse them. If a valid JSON object is found, it is
|
|
29
|
-
* returned. If no valid JSON object is found, the method returns undefined.
|
|
30
|
-
*
|
|
31
|
-
* NOTE: This method will only find JSON from an iterated upon start spot
|
|
32
|
-
* until the end of the string. So `'JSON follows {"count": 0}'` will
|
|
33
|
-
* return `{count: 0}` but `'JSON follows {"count": 0} and more'` will
|
|
34
|
-
* fail to locate any JSON in the String. You've been warned.
|
|
35
|
-
*
|
|
36
|
-
* @param {string} string - The string from which to extract a JSON object.
|
|
37
|
-
* @returns {Object|undefined} - The first valid JSON object found in the
|
|
38
|
-
* string, or undefined if no valid JSON object is found.
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* // Suppose we have a string with embedded JSON
|
|
42
|
-
* const str1 = 'Hello {"name":"John", "age":30} World'
|
|
43
|
-
* const str2 = 'Hello {"name": "John", "age": 30}'
|
|
44
|
-
*
|
|
45
|
-
* // Using `extractFrom`
|
|
46
|
-
* console.log(JSON.extractFrom(str1)) // Output: undefined
|
|
47
|
-
* console.log(JSON.extractFrom(str2)) // Output: {name: 'John', age: 30}
|
|
48
|
-
*/
|
|
49
|
-
extractFrom(string) {
|
|
50
|
-
this.extractAllFrom(string)?.[0];
|
|
51
|
-
},
|
|
52
|
-
/**
|
|
53
|
-
* The `mightContain` method checks if a string might contain a JSON object.
|
|
54
|
-
* It uses the `JSONStartPattern` regular expression to search for potential
|
|
55
|
-
* JSON objects in the string. If a potential JSON object is found, the method
|
|
56
|
-
* returns true. If no potential JSON object is found, the method returns false.
|
|
57
|
-
*
|
|
58
|
-
* @param {string} string - The string to check for potential JSON objects.
|
|
59
|
-
* @returns {boolean} - Returns true if the string might contain a JSON object,
|
|
60
|
-
* false otherwise.
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* // Suppose we have a string with embedded JSON
|
|
64
|
-
* const str = 'Hello {"name":"John", "age":30} World'
|
|
65
|
-
*
|
|
66
|
-
* // Using `mightContain`
|
|
67
|
-
* console.log(JSON.mightContain(str)) // Output: true
|
|
68
|
-
*/
|
|
69
|
-
mightContain(string, detail = false) {
|
|
70
|
-
const results = this.JSONStartPattern.exec(string);
|
|
71
|
-
return detail ? [!!results, results?.index ?? -1, results] : !!results;
|
|
72
|
-
},
|
|
73
|
-
/**
|
|
74
|
-
* Getter method for the JSONStartPattern.
|
|
75
|
-
*
|
|
76
|
-
* This method constructs a regular expression pattern that is used to
|
|
77
|
-
* identify potential JSON objects in a string. The pattern is designed
|
|
78
|
-
* to match various JSON data types including null, boolean, number,
|
|
79
|
-
* string, object, and array.
|
|
80
|
-
*
|
|
81
|
-
* The pattern is constructed using an array of strings, each representing
|
|
82
|
-
* a part of the pattern. The array is then joined into a single string
|
|
83
|
-
* and passed to the RegExp constructor to create the pattern.
|
|
84
|
-
*
|
|
85
|
-
* @returns {RegExp} - The constructed regular expression pattern.
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* // Using `JSONStartPattern`
|
|
89
|
-
* const pattern = JSONStartPattern;
|
|
90
|
-
* const str = 'Hello {"name":"John", "age":30} World';
|
|
91
|
-
* const match = pattern.exec(str);
|
|
92
|
-
* console.log(match[0]); // Output: '{"name":"John", "age":30}'
|
|
93
|
-
*/
|
|
94
|
-
get JSONStartPattern() {
|
|
95
|
-
const pattern = new RegExp([
|
|
96
|
-
'(?:', // Start with a non-capturing group and match
|
|
97
|
-
'(null)|', // ...a null
|
|
98
|
-
'(true|false)|', // ...a bool
|
|
99
|
-
'(\\d+\\.?\\d*)|', // ...a number (including floats)
|
|
100
|
-
'("[^\\"]*(?:[^:])")|', // ...a double quote (start of string)
|
|
101
|
-
'((?:\\{.*\\})+)|', // ...an open curly brace (object)
|
|
102
|
-
'((?:\\[.*\\]+))', // ...an open square bracket (array)
|
|
103
|
-
')+', // End of the groups
|
|
104
|
-
].join(''), 'gm');
|
|
105
|
-
return pattern;
|
|
106
|
-
},
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=json.extensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json.extensions.js","sourceRoot":"","sources":["../../src/json.extensions.js"],"names":[],"mappings":";;;AAAA,+CAAuC;AAE1B,QAAA,cAAc,GAAG,IAAI,iBAAK,CAAC,IAAI,EAAE;IAC5C,CAAC,iBAAK,CAAC,cAAc,CAAC,EAAE;QACtB,cAAc,CAAC,MAAM;YACnB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACjD,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,OAAO,CAAA;gBAAC,CAAC;YAC9D,CAAC,CAAA;YAED,MAAM,KAAK,GAAG,EAAE,CAAA;YAChB,IAAI,IAAI,GAAG,SAAS,CAAA;YAEpB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAChC,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,OAAO,CAAC,CAAA;QACnD,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;;WAuBG;QACH,WAAW,CAAC,MAAM;YAChB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACxE,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,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MapPrototypeExtensions = exports.MapExtensions = void 0;
|
|
4
|
-
const extension_1 = require("@nejs/extension");
|
|
5
|
-
exports.MapExtensions = new extension_1.Patch(Map, {
|
|
6
|
-
[extension_1.Patch.kMutablyHidden]: {
|
|
7
|
-
/**
|
|
8
|
-
* Determines if the supplied `value` is a `Map` object. This check
|
|
9
|
-
* is performed by first looking for the `Symbol.toStringTag` on the
|
|
10
|
-
* `value` and checking to see if it is equal to the string "Map".
|
|
11
|
-
* If that check fails, `instanceof` is used as a fallback to check
|
|
12
|
-
* the prototype chain.
|
|
13
|
-
*
|
|
14
|
-
* @param {any} value the value that needs to be checked to determine
|
|
15
|
-
* if it is a `Map` object or not
|
|
16
|
-
* @returns {boolean} `true` if the supplied `value` is a `Map`
|
|
17
|
-
* object, `false` otherwise
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* const map = new Map()
|
|
21
|
-
* isMap(map) // true
|
|
22
|
-
* isMap(new Set()) // false
|
|
23
|
-
* isMap([]) // false
|
|
24
|
-
* isMap({}) // false
|
|
25
|
-
*/
|
|
26
|
-
isMap(value) {
|
|
27
|
-
return value?.[Symbol.toStringTag] === Map.name && value instanceof Map;
|
|
28
|
-
},
|
|
29
|
-
/**
|
|
30
|
-
* Conditionally returns a value based on whether the supplied
|
|
31
|
-
* `value` is a `Map` object or not. If the `value` is a `Map`
|
|
32
|
-
* object, the `thenValue` will be returned. If it is not a `Map`
|
|
33
|
-
* object, the `elseValue` will be returned instead.
|
|
34
|
-
*
|
|
35
|
-
* @param {any} value the value to check to determine if it is a
|
|
36
|
-
* `Map` object
|
|
37
|
-
* @param {any} thenValue the value to return if the supplied
|
|
38
|
-
* `value` is a `Map` object
|
|
39
|
-
* @param {any} elseValue the value to return if the supplied
|
|
40
|
-
* `value` is not a `Map` object
|
|
41
|
-
* @returns {any} either the `thenValue` or `elseValue` depending
|
|
42
|
-
* on if the supplied `value` is a `Map` object
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* const map = new Map()
|
|
46
|
-
* const set = new Set()
|
|
47
|
-
* ifMap(map, 'is a map', 'not a map') // 'is a map'
|
|
48
|
-
* ifMap(set, 'is a map', 'not a map') // 'not a map'
|
|
49
|
-
*/
|
|
50
|
-
ifMap(value, thenValue, elseValue) {
|
|
51
|
-
return isThenElse(this.isMap(value), thenValue, elseValue);
|
|
52
|
-
},
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
const { isMap: pIsMap, ifMap: pIfMap } = exports.MapExtensions.patches;
|
|
56
|
-
exports.MapPrototypeExtensions = new extension_1.Patch(Map.prototype, {
|
|
57
|
-
[extension_1.Patch.kMutablyHidden]: {
|
|
58
|
-
/**
|
|
59
|
-
* Determines if the current object is a `Map` object
|
|
60
|
-
*
|
|
61
|
-
* This is a getter that uses the `isMap` function from the
|
|
62
|
-
* `MapExtensions` patch to check if the current object (`this`) is
|
|
63
|
-
* a `Map` object
|
|
64
|
-
*
|
|
65
|
-
* @type {boolean}
|
|
66
|
-
* @readonly
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* const map = new Map()
|
|
70
|
-
* console.log(map.isMap) // Output: true
|
|
71
|
-
*
|
|
72
|
-
* const notMap = {}
|
|
73
|
-
* console.log(notMap.isMap) // Output: false
|
|
74
|
-
*/
|
|
75
|
-
get isMap() {
|
|
76
|
-
return pIsMap(this);
|
|
77
|
-
},
|
|
78
|
-
/**
|
|
79
|
-
* Conditionally returns a value based on whether the current
|
|
80
|
-
* object is a `Map` object or not
|
|
81
|
-
*
|
|
82
|
-
* If the current object is a `Map` object, the `thenValue` will
|
|
83
|
-
* be returned. If it is not a `Map` object, the `elseValue` will
|
|
84
|
-
* be returned instead.
|
|
85
|
-
*
|
|
86
|
-
* @param {any} thenValue the value to return if the current
|
|
87
|
-
* object is a `Map` object
|
|
88
|
-
* @param {any} elseValue the value to return if the current
|
|
89
|
-
* object is not a `Map` object
|
|
90
|
-
* @returns {any} either the `thenValue` or `elseValue` depending
|
|
91
|
-
* on if the current object is a `Map` object
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* const map = new Map()
|
|
95
|
-
* map.ifMap('is a map', 'not a map') // 'is a map'
|
|
96
|
-
*
|
|
97
|
-
* const notMap = {}
|
|
98
|
-
* notMap.ifMap('is a map', 'not a map') // 'not a map'
|
|
99
|
-
*/
|
|
100
|
-
ifMap(thenValue, elseValue) {
|
|
101
|
-
return pIfMap(this, thenValue, elseValue);
|
|
102
|
-
},
|
|
103
|
-
/**
|
|
104
|
-
* The function `getKey` returns the key associated with a given value
|
|
105
|
-
* in a map.
|
|
106
|
-
*
|
|
107
|
-
* @param {any} value - The value parameter is the value that you want to
|
|
108
|
-
* find the corresponding key for in the map.
|
|
109
|
-
* @param [strict=true] - The "strict" parameter is a boolean value that
|
|
110
|
-
* determines whether strict equality (===) or loose equality (==) should
|
|
111
|
-
* be used when comparing the "value" parameter with the values in the
|
|
112
|
-
* entries of the object. If "strict" is set to true, strict equality will
|
|
113
|
-
* be used.
|
|
114
|
-
* @returns the key associated with the given value. If a matching key is
|
|
115
|
-
* found, it is returned. If no matching key is found, null is returned.
|
|
116
|
-
*/
|
|
117
|
-
getKey(value, strict = true) {
|
|
118
|
-
for (const [key, entryValue] of this) {
|
|
119
|
-
if ((strict && value === entryValue) &&
|
|
120
|
-
(!strict && value == entryValue)) {
|
|
121
|
-
return key;
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
// NOTE to self; this is repeated here otherwise a circular reference from
|
|
129
|
-
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
130
|
-
// {@see globalThis.isThenElse}
|
|
131
|
-
function isThenElse(bv, tv, ev) {
|
|
132
|
-
function isFunction(value) { typeof value === 'function'; }
|
|
133
|
-
if (arguments.length > 1) {
|
|
134
|
-
var _then = isFunction(tv) ? tv(bv) : tv;
|
|
135
|
-
if (arguments.length > 2) {
|
|
136
|
-
var _else = isFunction(ev) ? tv(bv) : ev;
|
|
137
|
-
return bv ? _then : _else;
|
|
138
|
-
}
|
|
139
|
-
return bv || _then;
|
|
140
|
-
}
|
|
141
|
-
return bv;
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=map.extensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map.extensions.js","sourceRoot":"","sources":["../../src/map.extensions.js"],"names":[],"mappings":";;;AAAA,+CAAuC;AAE1B,QAAA,aAAa,GAAG,IAAI,iBAAK,CAAC,GAAG,EAAE;IAC1C,CAAC,iBAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;;;;WAkBG;QACH,KAAK,CAAC,KAAK;YACT,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,YAAY,GAAG,CAAA;QACzE,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YAC/B,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC5D,CAAC;KACF;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,qBAAa,CAAC,OAAO,CAAA;AAEjD,QAAA,sBAAsB,GAAG,IAAI,iBAAK,CAAC,GAAG,CAAC,SAAS,EAAE;IAC7D,CAAC,iBAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;;WAgBG;QACH,IAAI,KAAK;YACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,KAAK,CAAC,SAAS,EAAE,SAAS;YACxB,OAAO,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC3C,CAAC;QAED;;;;;;;;;;;;;WAaG;QACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;YACzB,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrC,IACE,CAAC,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC;oBAChC,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC,EAChC,CAAC;oBACD,OAAO,GAAG,CAAA;gBACZ,CAAC;gBAED,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,SAAS,UAAU,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,CAAA,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrE,CAAC;QAAC,OAAO,EAAE,IAAI,KAAK,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,CAAA;AACb,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `Math` extensions. Building better worlds...actually just
|
|
3
|
-
* providing some parity between Number and BigInt types for
|
|
4
|
-
* now, but later, better worlds.
|
|
5
|
-
*
|
|
6
|
-
* @type {Patch}
|
|
7
|
-
* @example
|
|
8
|
-
* import { MathExtensions } from 'math.extension.js'
|
|
9
|
-
*
|
|
10
|
-
* MathExtensions.apply()
|
|
11
|
-
* // Now the `Math` class has additional methods available
|
|
12
|
-
*/
|
|
13
|
-
export const MathExtensions: Patch;
|
|
14
|
-
import { Patch } from '@nejs/extension';
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MathExtensions = void 0;
|
|
4
|
-
const extension_1 = require("@nejs/extension");
|
|
5
|
-
/**
|
|
6
|
-
* `Math` extensions. Building better worlds...actually just
|
|
7
|
-
* providing some parity between Number and BigInt types for
|
|
8
|
-
* now, but later, better worlds.
|
|
9
|
-
*
|
|
10
|
-
* @type {Patch}
|
|
11
|
-
* @example
|
|
12
|
-
* import { MathExtensions } from 'math.extension.js'
|
|
13
|
-
*
|
|
14
|
-
* MathExtensions.apply()
|
|
15
|
-
* // Now the `Math` class has additional methods available
|
|
16
|
-
*/
|
|
17
|
-
exports.MathExtensions = new extension_1.Patch(Math, {
|
|
18
|
-
[extension_1.Patch.kMutablyHidden]: {
|
|
19
|
-
/**
|
|
20
|
-
* The Math.min() static method returns the smallest of the numbers given
|
|
21
|
-
* as input parameters, or Infinity if there are no parameters.
|
|
22
|
-
*
|
|
23
|
-
* @param {bigint|number} values value1, …, valueN – Zero or more numbers
|
|
24
|
-
* among which the lowest value will be selected and returned.
|
|
25
|
-
* @returns {bigint|number|NaN|Infinity} The smallest of the given numbers.
|
|
26
|
-
* Returns NaN if any of the parameters is or is converted into NaN or if
|
|
27
|
-
* the types of numbers are mismatched (i.e., bigint vs. number types).
|
|
28
|
-
* Returns Infinity if no parameters are provided.
|
|
29
|
-
*/
|
|
30
|
-
min(...values) {
|
|
31
|
-
const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
|
|
32
|
-
if (!values.length)
|
|
33
|
-
return Infinity;
|
|
34
|
-
if (values.every(n => typeof n === 'bigint')) {
|
|
35
|
-
return values.toSorted(sorter).at(0);
|
|
36
|
-
}
|
|
37
|
-
else if (values.every(n => typeof n === 'number')) {
|
|
38
|
-
return values.toSorted(sorter).at(0);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
return NaN;
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
/**
|
|
45
|
-
* The Math.max() static method returns the largest of the numbers given
|
|
46
|
-
* as input parameters, or Infinity if there are no parameters.
|
|
47
|
-
*
|
|
48
|
-
* @param {bigint|number} values value1, …, valueN – Zero or more numbers
|
|
49
|
-
* among which the largest value will be selected and returned.
|
|
50
|
-
* @returns {bigint|number|NaN|Infinity} The largest of the given numbers.
|
|
51
|
-
* Returns NaN if any of the parameters is or is converted into NaN or if
|
|
52
|
-
* the types of numbers are mismatched (i.e., bigint vs. number types).
|
|
53
|
-
* Returns Infinity if no parameters are provided.
|
|
54
|
-
*/
|
|
55
|
-
max(...values) {
|
|
56
|
-
const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
|
|
57
|
-
if (!values.length)
|
|
58
|
-
return Infinity;
|
|
59
|
-
if (values.every(n => typeof n === 'bigint')) {
|
|
60
|
-
return values.toSorted(sorter).at(-1);
|
|
61
|
-
}
|
|
62
|
-
else if (values.every(n => typeof n === 'number')) {
|
|
63
|
-
return values.toSorted(sorter).at(-1);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
return NaN;
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=math.extension.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"math.extension.js","sourceRoot":"","sources":["../../src/math.extension.js"],"names":[],"mappings":";;;AAAA,+CAAuC;AAEvC;;;;;;;;;;;GAWG;AACU,QAAA,cAAc,GAAG,IAAI,iBAAK,CAAC,IAAI,EAAE;IAC5C,CAAC,iBAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;WAUG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtC,CAAC;iBACI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtC,CAAC;iBACI,CAAC;gBACJ,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QAED;;;;;;;;;;WAUG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;iBACI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;iBACI,CAAC;gBACJ,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A patch for the JavaScript built-in `Number` class that adds utility
|
|
3
|
-
* methods without modifying the global namespace directly
|
|
4
|
-
*
|
|
5
|
-
* This patch includes methods for checking if a value is a number and
|
|
6
|
-
* conditionally returning a value based on whether the supplied value is
|
|
7
|
-
* a number or not.
|
|
8
|
-
*
|
|
9
|
-
* @type {Patch}
|
|
10
|
-
* @property {Object} [Patch.kMutablyHidden] An object containing methods
|
|
11
|
-
* that are hidden from enumeration and mutation
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* import { NumberExtensions } from 'number.extension.js'
|
|
15
|
-
*
|
|
16
|
-
* NumberExtensions.apply()
|
|
17
|
-
* // Now the `Number` class has additional methods available
|
|
18
|
-
*/
|
|
19
|
-
export const NumberExtensions: Patch;
|
|
20
|
-
/**
|
|
21
|
-
* `NumberPrototypeExtensions` provides a set of utility methods that
|
|
22
|
-
* are added to the `Number` prototype. This allows all number instances
|
|
23
|
-
* to access new functionality directly, enhancing their capabilities
|
|
24
|
-
* beyond the standard `Number` class methods.
|
|
25
|
-
*
|
|
26
|
-
* These extensions are applied using the `Patch` class from
|
|
27
|
-
* '@nejs/extension', ensuring that they do not interfere with the
|
|
28
|
-
* global namespace or existing properties.
|
|
29
|
-
*
|
|
30
|
-
* The extensions include methods for checking if a value is a number,
|
|
31
|
-
* conditionally returning values based on whether a value is a number,
|
|
32
|
-
* and more, making number-related tasks more convenient and expressive.
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* const num = 42
|
|
36
|
-
* console.log(num.isNumber) // Output: true
|
|
37
|
-
*
|
|
38
|
-
* const notNum = "123"
|
|
39
|
-
* console.log(notNum.isNumber) // Output: false
|
|
40
|
-
*
|
|
41
|
-
* @type {Patch}
|
|
42
|
-
*/
|
|
43
|
-
export const NumberPrototypeExtensions: Patch;
|
|
44
|
-
import { Patch } from '@nejs/extension';
|