@nejs/basic-extensions 2.9.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@nejs/basic-extensions.bundle.2.11.0.js +19 -0
- package/dist/@nejs/basic-extensions.bundle.2.11.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.d.ts +67 -155
- package/dist/cjs/classes/descriptor.js +185 -278
- 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 +3 -0
- package/dist/cjs/index.js +19 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json.extensions.js +19 -18
- 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 -255
- 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 +474 -469
- package/dist/cjs/string.extensions.js.map +1 -1
- package/dist/cjs/symbol.extensions.js +387 -32
- 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/descriptor.utils.d.ts +146 -0
- package/dist/cjs/utils/descriptor.utils.js +614 -0
- package/dist/cjs/utils/descriptor.utils.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +60 -0
- package/dist/cjs/utils/index.js +52 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/toolkit.d.ts +1898 -0
- package/dist/cjs/utils/toolkit.js +1378 -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.d.ts +67 -155
- package/dist/mjs/classes/descriptor.js +185 -278
- 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 +3 -0
- package/dist/mjs/index.js +5 -0
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/json.extensions.js +19 -18
- 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 -251
- 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 +474 -469
- package/dist/mjs/string.extensions.js.map +1 -1
- package/dist/mjs/symbol.extensions.js +387 -32
- 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/descriptor.utils.d.ts +146 -0
- package/dist/mjs/utils/descriptor.utils.js +606 -0
- package/dist/mjs/utils/descriptor.utils.js.map +1 -0
- package/dist/mjs/utils/index.d.ts +60 -0
- package/dist/mjs/utils/index.js +36 -0
- package/dist/mjs/utils/index.js.map +1 -0
- package/dist/mjs/utils/toolkit.d.ts +1898 -0
- package/dist/mjs/utils/toolkit.js +1373 -0
- package/dist/mjs/utils/toolkit.js.map +1 -0
- package/package.json +29 -37
- 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 +206 -305
- 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 +6 -0
- package/src/json.extensions.js +18 -19
- package/src/map.extensions.js +3 -1
- package/src/number.extension.js +3 -1
- package/src/object.extensions.js +240 -277
- package/src/set.extensions.js +3 -1
- package/src/string.extensions.js +512 -506
- package/src/symbol.extensions.js +413 -30
- package/src/utils/copy.object.js +780 -0
- package/src/utils/descriptor.utils.js +707 -0
- package/src/utils/index.js +74 -0
- package/src/utils/toolkit.js +1473 -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 +6 -8
- 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.8.0.js +0 -19
- package/dist/@nejs/basic-extensions.bundle.2.8.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 -35485
package/src/json.extensions.js
CHANGED
|
@@ -2,6 +2,23 @@ import { Patch } from '@nejs/extension'
|
|
|
2
2
|
|
|
3
3
|
export const JSONExtensions = new Patch(JSON, {
|
|
4
4
|
[Patch.kMutablyHidden]: {
|
|
5
|
+
extractAllFrom(string) {
|
|
6
|
+
const pattern = this.JSONStartPattern
|
|
7
|
+
const notJSON = Symbol("Value is not valid JSON")
|
|
8
|
+
const decoder = part => {
|
|
9
|
+
try { return JSON.parse(part) } catch (_) { return notJSON }
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const parts = []
|
|
13
|
+
let part = undefined
|
|
14
|
+
|
|
15
|
+
while ((part = pattern.exec(string))) {
|
|
16
|
+
parts.push(decoder(part?.[0]))
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return parts.filter(isJSON => isJSON !== notJSON)
|
|
20
|
+
},
|
|
21
|
+
|
|
5
22
|
/**
|
|
6
23
|
* The `extractFrom` method attempts to extract a JSON object from a string.
|
|
7
24
|
* It uses a regular expression to identify potential JSON objects in the
|
|
@@ -27,25 +44,7 @@ export const JSONExtensions = new Patch(JSON, {
|
|
|
27
44
|
* console.log(JSON.extractFrom(str2)) // Output: {name: 'John', age: 30}
|
|
28
45
|
*/
|
|
29
46
|
extractFrom(string) {
|
|
30
|
-
|
|
31
|
-
const decoder = part => {
|
|
32
|
-
try { return JSON.parse(part) } catch (_) { return undefined }
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
for (
|
|
36
|
-
let part = pattern.exec(string);
|
|
37
|
-
part;
|
|
38
|
-
part = pattern.exec(string)
|
|
39
|
-
) {
|
|
40
|
-
if (part && part?.index) {
|
|
41
|
-
const decoded = decoder(string.substring(part.index))
|
|
42
|
-
if (decoded) {
|
|
43
|
-
return decoded
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return undefined
|
|
47
|
+
this.extractAllFrom(string)?.[0]
|
|
49
48
|
},
|
|
50
49
|
|
|
51
50
|
/**
|
package/src/map.extensions.js
CHANGED
|
@@ -136,9 +136,11 @@ export const MapPrototypeExtensions = new Patch(Map.prototype, {
|
|
|
136
136
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
137
137
|
// {@see globalThis.isThenElse}
|
|
138
138
|
function isThenElse(bv, tv, ev) {
|
|
139
|
+
function isFunction(value) { typeof value === 'function' }
|
|
140
|
+
|
|
139
141
|
if (arguments.length > 1) {
|
|
140
142
|
var _then = isFunction(tv) ? tv(bv) : tv; if (arguments.length > 2) {
|
|
141
143
|
var _else = isFunction(ev) ? tv(bv) : ev; return bv ? _then : _else
|
|
142
144
|
} return bv || _then;
|
|
143
145
|
} return bv
|
|
144
|
-
}
|
|
146
|
+
}
|
package/src/number.extension.js
CHANGED
|
@@ -265,9 +265,11 @@ export const NumberPrototypeExtensions = new Patch(Number.prototype, {
|
|
|
265
265
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
266
266
|
// {@see globalThis.isThenElse}
|
|
267
267
|
function isThenElse(bv, tv, ev) {
|
|
268
|
+
function isFunction(value) { typeof value === 'function' }
|
|
269
|
+
|
|
268
270
|
if (arguments.length > 1) {
|
|
269
271
|
var _then = isFunction(tv) ? tv(bv) : tv; if (arguments.length > 2) {
|
|
270
272
|
var _else = isFunction(ev) ? tv(bv) : ev; return bv ? _then : _else
|
|
271
273
|
} return bv || _then;
|
|
272
274
|
} return bv
|
|
273
|
-
}
|
|
275
|
+
}
|