@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolkit.js","sourceRoot":"","sources":["../../../src/utils/toolkit.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "Brielle Harrison <nyteshade at gmail.com>",
|
|
3
|
+
"browser": "dist/@nejs/basic-extensions.bundle.2.10.0.js",
|
|
3
4
|
"description": "Basic but commonly used extensions",
|
|
5
|
+
"dependencies": {
|
|
6
|
+
"@nejs/extension": "^2.20.0",
|
|
7
|
+
"zod": "^3.23.8"
|
|
8
|
+
},
|
|
4
9
|
"devDependencies": {
|
|
5
|
-
"@
|
|
6
|
-
"
|
|
10
|
+
"@esbuild/darwin-arm64": "^0.23.1",
|
|
11
|
+
"balanced-match": "^3.0.1",
|
|
12
|
+
"brace-expansion": "^4.0.0",
|
|
13
|
+
"core-js": "^3.38.1",
|
|
7
14
|
"docdash": "^2.0.2",
|
|
8
|
-
"documentation": "^
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"esdoc": "^1.1.0",
|
|
15
|
+
"documentation": "^6.2.0",
|
|
16
|
+
"esbuild": "^0.23.1",
|
|
17
|
+
"esdoc": "^0.4.8",
|
|
12
18
|
"esdoc-standard-plugin": "^1.0.0",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
19
|
+
"fsevents": "^2.3.3",
|
|
20
|
+
"glob": "^11.0.0",
|
|
21
|
+
"lru-cache": "^11.0.1",
|
|
22
|
+
"minimatch": "^10.0.1",
|
|
23
|
+
"minipass": "^7.1.2",
|
|
24
|
+
"path-scurry": "^2.0.0",
|
|
17
25
|
"prompts": "^2.4.2",
|
|
18
|
-
"rimraf": "^
|
|
19
|
-
"
|
|
26
|
+
"rimraf": "^6.0.1",
|
|
27
|
+
"source-map-support": "^0.5.21",
|
|
28
|
+
"typescript": "^5.5.4",
|
|
29
|
+
"vitest": "^2.0.5"
|
|
20
30
|
},
|
|
21
31
|
"engines": {
|
|
22
|
-
"node": ">=
|
|
23
|
-
"npm": "please-use-pnpm",
|
|
24
|
-
"pnpm": ">= 2.0.0"
|
|
32
|
+
"node": ">=20"
|
|
25
33
|
},
|
|
26
34
|
"exports": {
|
|
27
35
|
".": {
|
|
@@ -29,15 +37,6 @@
|
|
|
29
37
|
"require": "./dist/cjs/index.js"
|
|
30
38
|
}
|
|
31
39
|
},
|
|
32
|
-
"jest": {
|
|
33
|
-
"verbose": true,
|
|
34
|
-
"setupFiles": [
|
|
35
|
-
"jest-localstorage-mock"
|
|
36
|
-
],
|
|
37
|
-
"transform": {
|
|
38
|
-
"^.+\\.[t|j]sx?$": "babel-jest"
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
40
|
"keywords": [
|
|
42
41
|
"javascript",
|
|
43
42
|
"browser",
|
|
@@ -48,22 +47,15 @@
|
|
|
48
47
|
"module": "dist/mjs/index.js",
|
|
49
48
|
"name": "@nejs/basic-extensions",
|
|
50
49
|
"scripts": {
|
|
51
|
-
"preinstall": "npx only-allow pnpm",
|
|
52
|
-
"build": "bin/clean && bin/esbuild && bin/build",
|
|
53
|
-
"distribute": "bin/clean && bin/esbuild && bin/build && npm run documentation",
|
|
54
50
|
"browser": "bin/esbuild",
|
|
51
|
+
"build": "bin/clean && bin/version patch bump && bin/esbuild && bin/build",
|
|
55
52
|
"clean": "bin/clean",
|
|
56
|
-
"
|
|
57
|
-
"documentation": "documentation build src/** -f html --github -o docs && documentation readme src/index.js --section=API",
|
|
53
|
+
"distribute": "bin/clean && bin/version minor bump && bin/esbuild && bin/build",
|
|
58
54
|
"module": "bin/build",
|
|
59
|
-
"
|
|
60
|
-
"
|
|
55
|
+
"repl": "npm run build && node --no-warnings repl.bootstrap.js",
|
|
56
|
+
"test": "vitest"
|
|
61
57
|
},
|
|
62
58
|
"type": "module",
|
|
63
|
-
"version": "2.
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
"zod": "^3.22.5"
|
|
67
|
-
},
|
|
68
|
-
"browser": "dist/@nejs/basic-extensions.bundle.2.7.0.js"
|
|
69
|
-
}
|
|
59
|
+
"version": "2.10.0",
|
|
60
|
+
"packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1"
|
|
61
|
+
}
|
package/repl.bootstrap.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node --no-warnings --no-deprecations
|
|
2
2
|
|
|
3
|
+
// Show the correct line numbers for encountered errors in src not dist
|
|
4
|
+
const sourceMapSupport = await import('source-map-support');
|
|
5
|
+
sourceMapSupport?.install();
|
|
6
|
+
|
|
3
7
|
// Import everything for playtesting.
|
|
4
8
|
(await import('./dist/mjs/index.js')).Controls.enableAll();
|
|
5
9
|
|
|
10
|
+
const { inspect } = await import('util');
|
|
11
|
+
|
|
12
|
+
|
|
6
13
|
const nejsExtension = await import('@nejs/extension');
|
|
7
14
|
|
|
8
15
|
const repl = await import('node:repl');
|
|
@@ -16,7 +23,11 @@ const options = {
|
|
|
16
23
|
|
|
17
24
|
let allowInvocation = true;
|
|
18
25
|
|
|
19
|
-
Object.assign(global, {
|
|
26
|
+
Object.assign(global, {
|
|
27
|
+
Patch: nejsExtension.Patch,
|
|
28
|
+
Extension: nejsExtension.Extension,
|
|
29
|
+
inspect,
|
|
30
|
+
});
|
|
20
31
|
global.replServer = new repl.REPLServer(options);
|
|
21
32
|
|
|
22
33
|
function about() {
|
package/src/array.extensions.js
CHANGED
|
@@ -52,6 +52,10 @@ export const ArrayExtensions = new Patch(Array, {
|
|
|
52
52
|
|
|
53
53
|
const { ifArray: pIfArray } = ArrayExtensions.patches
|
|
54
54
|
|
|
55
|
+
// todo: everyOfType(type), someOfType(type)
|
|
56
|
+
// todo: everyWithTag(stringTag), someWithTag(stringTag),
|
|
57
|
+
// todo: everyOfInstance(Class), someOfInstance(Class)
|
|
58
|
+
|
|
55
59
|
/**
|
|
56
60
|
* `ArrayPrototypeExtensions` is a constant that applies a patch to the
|
|
57
61
|
* Array prototype. This patch extends the Array prototype with additional
|
|
@@ -262,6 +266,28 @@ export const ArrayPrototypeExtensions = new Patch(Array.prototype, {
|
|
|
262
266
|
return this[this.length - 1];
|
|
263
267
|
},
|
|
264
268
|
|
|
269
|
+
/**
|
|
270
|
+
* A getter that returns a new array containing only truthy elements.
|
|
271
|
+
* Filters out falsy values like null, undefined, 0, false, NaN, and ''.
|
|
272
|
+
* Useful for quickly removing falsy values from an array.
|
|
273
|
+
*
|
|
274
|
+
* @returns {Array} A new array with only truthy elements.
|
|
275
|
+
*/
|
|
276
|
+
get onlyTruthy() {
|
|
277
|
+
return this.filter(truthy => !!truthy);
|
|
278
|
+
},
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* A getter that returns a new array containing only falsy elements.
|
|
282
|
+
* Keeps falsy values like null, undefined, 0, false, NaN, and ''.
|
|
283
|
+
* Useful for isolating falsy values in an array for further processing.
|
|
284
|
+
*
|
|
285
|
+
* @returns {Array} A new array with only falsy elements.
|
|
286
|
+
*/
|
|
287
|
+
get onlyFalsy() {
|
|
288
|
+
return this.filter(falsy => !!!falsy);
|
|
289
|
+
},
|
|
290
|
+
|
|
265
291
|
// expected usage:
|
|
266
292
|
// function example(name, age) {
|
|
267
293
|
// const variants = [{name}, {age}].variants()
|
|
@@ -307,6 +333,168 @@ export const ArrayPrototypeExtensions = new Patch(Array.prototype, {
|
|
|
307
333
|
|
|
308
334
|
return result
|
|
309
335
|
},
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Weaves together an array of keys and an array of values into an
|
|
339
|
+
* object, using the provided default value for missing values and
|
|
340
|
+
* the specified base descriptor for defining properties. This can
|
|
341
|
+
* be used to quickly generate empty models if a list of keys from
|
|
342
|
+
* a preset or other object.
|
|
343
|
+
*
|
|
344
|
+
* @param {Array} arrayOfKeys - An array of keys to be used as
|
|
345
|
+
* property names in the resulting object.
|
|
346
|
+
* @param {Array} [arrayOfValues] - An optional array of values to
|
|
347
|
+
* be assigned to the corresponding keys. If not provided or not an
|
|
348
|
+
* array, the `defaultValue` will be used for all properties.
|
|
349
|
+
* @param {*} [defaultValue] - The default value to be used for
|
|
350
|
+
* missing values or when `arrayOfValues` is not an array or when
|
|
351
|
+
* there are not enough values for the number of keys.
|
|
352
|
+
* @param {Object|string} [baseDescriptor] - The base property
|
|
353
|
+
* descriptor to be used for defining properties. If not provided,
|
|
354
|
+
* default descriptor values will be used. Special string values
|
|
355
|
+
* `'hidden'` and `'immutable'` can be used for predefined
|
|
356
|
+
* descriptors.
|
|
357
|
+
* @returns {Object} - The resulting object with the woven
|
|
358
|
+
* properties.
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* const employee134 = { name: 'Jane Doe', yearsOfService: 3 }
|
|
362
|
+
* const employee135 = Array.weave(Object.keys(employee134))
|
|
363
|
+
* // employee135 = { name: undefined, yearsOfService: undefined }
|
|
364
|
+
*
|
|
365
|
+
* @example
|
|
366
|
+
* const keys = ['a', 'b', 'c']
|
|
367
|
+
* const values = [1, 2, 3]
|
|
368
|
+
* const obj = Array.weave(keys, values)
|
|
369
|
+
* console.log(obj) // { a: 1, b: 2, c: 3 }
|
|
370
|
+
*
|
|
371
|
+
* @example
|
|
372
|
+
* const keys = ['x', 'y', 'z']
|
|
373
|
+
* const obj = Array.weave(keys, 42, 0, 'immutable')
|
|
374
|
+
* console.log(obj) // { x: 42, y: 42, z: 42 } (immutable)
|
|
375
|
+
*/
|
|
376
|
+
weave(arrayOfKeys, arrayOfValues, defaultValue, baseDescriptor) {
|
|
377
|
+
if (!Array.isArray(arrayOfKeys)) {
|
|
378
|
+
return {}
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
if (arrayOfValues && !Array.isArray(arrayOfValues)) {
|
|
382
|
+
const repeatedValue = arrayOfValues
|
|
383
|
+
arrayOfValues = []
|
|
384
|
+
for (const _ of arrayOfKeys) {
|
|
385
|
+
arrayOfValues.push(repeatedValue)
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
const descKeys = ['configurable', 'enumerable', 'writable']
|
|
390
|
+
|
|
391
|
+
let object = {}
|
|
392
|
+
let descriptor
|
|
393
|
+
let keys = arrayOfKeys
|
|
394
|
+
let values = arrayOfValues
|
|
395
|
+
let useGetter = false
|
|
396
|
+
|
|
397
|
+
// Ensure we have a descriptor
|
|
398
|
+
if (!baseDescriptor) {
|
|
399
|
+
descriptor = descKeys.reduce(
|
|
400
|
+
(acc, key) => { acc[key] = true; return acc }, {}
|
|
401
|
+
)
|
|
402
|
+
}
|
|
403
|
+
else if (baseDescriptor === 'hidden') {
|
|
404
|
+
baseDescriptor = { configurable: true, enumerable: false }
|
|
405
|
+
}
|
|
406
|
+
else if (baseDescriptor === 'immutable') {
|
|
407
|
+
useGetter = true
|
|
408
|
+
baseDescriptor = { configurable: false, enumerable: false }
|
|
409
|
+
}
|
|
410
|
+
else if (baseDescriptor && typeof baseDescriptor === 'object') {
|
|
411
|
+
descriptor = descKeys.reduce(
|
|
412
|
+
(acc, key) => {
|
|
413
|
+
acc[key] = baseDescriptor?.[key] ?? true; return acc
|
|
414
|
+
}, {}
|
|
415
|
+
)
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
for (const [index, key] of Object.entries(keys)) {
|
|
419
|
+
if (useGetter) {
|
|
420
|
+
Object.defineProperty(object, key, {
|
|
421
|
+
...descriptor,
|
|
422
|
+
get() { return values?.[index] ?? defaultValue },
|
|
423
|
+
})
|
|
424
|
+
}
|
|
425
|
+
else {
|
|
426
|
+
Object.defineProperty(object, key, {
|
|
427
|
+
...descriptor,
|
|
428
|
+
value: values?.[index] ?? defaultValue,
|
|
429
|
+
})
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
return object
|
|
434
|
+
},
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* @property {object} kTypeDefaults
|
|
438
|
+
* @description
|
|
439
|
+
* An object that maps JavaScript types to their default values.
|
|
440
|
+
* This is useful for initializing variables or properties with
|
|
441
|
+
* a default value based on their expected type.
|
|
442
|
+
*
|
|
443
|
+
* Note that `symbol` types are initialized with `undefined`
|
|
444
|
+
* due to the fact that their usage is by definition, unique;
|
|
445
|
+
* or at the very least deliberately reused.
|
|
446
|
+
*
|
|
447
|
+
* The default values for each type are:
|
|
448
|
+
* - `undefined`: `undefined`
|
|
449
|
+
* - `symbol`: `undefined`
|
|
450
|
+
* - `string`: `""`
|
|
451
|
+
* - `object`: `{}`
|
|
452
|
+
* - `number`: `0`
|
|
453
|
+
* - `boolean`: `true`
|
|
454
|
+
* - `bigint`: `0n`
|
|
455
|
+
* - `function`: an empty function
|
|
456
|
+
*
|
|
457
|
+
* @example
|
|
458
|
+
* const defaultString = Array.kTypeDefaults.string
|
|
459
|
+
* console.log(defaultString) // Output: ""
|
|
460
|
+
*
|
|
461
|
+
* const defaultNumber = Array.kTypeDefaults.number
|
|
462
|
+
* console.log(defaultNumber) // Output: 0
|
|
463
|
+
*/
|
|
464
|
+
get [Symbol.for('@nejs.defaults.by.type')]() {
|
|
465
|
+
return {
|
|
466
|
+
undefined: undefined,
|
|
467
|
+
symbol: undefined,
|
|
468
|
+
string: "",
|
|
469
|
+
object: {},
|
|
470
|
+
number: 0,
|
|
471
|
+
boolean: true,
|
|
472
|
+
bigint: 0n,
|
|
473
|
+
function() {},
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* @property {symbol} kDefaultsByType
|
|
479
|
+
* @description
|
|
480
|
+
* A unique symbol that represents the key for accessing
|
|
481
|
+
* the default values for different types.
|
|
482
|
+
*
|
|
483
|
+
* This symbol is created using `Symbol.for()` with the key
|
|
484
|
+
* `'@nejs.defaults.by.type'`. It can be used to retrieve
|
|
485
|
+
* the default values object from other parts of the code.
|
|
486
|
+
*
|
|
487
|
+
* @example
|
|
488
|
+
* const defaultsByType = Array[Array.kDefaultsByType]
|
|
489
|
+
* console.log(defaultsByType.string) // Output: ""
|
|
490
|
+
* console.log(defaultsByType.number) // Output: 0
|
|
491
|
+
*
|
|
492
|
+
* @returns {symbol} The unique symbol for accessing the
|
|
493
|
+
* default values by type.
|
|
494
|
+
*/
|
|
495
|
+
get kDefaultsByType() {
|
|
496
|
+
return Symbol.for('@nejs.defaults.by.type')
|
|
497
|
+
},
|
|
310
498
|
},
|
|
311
499
|
})
|
|
312
500
|
|
|
@@ -314,9 +502,11 @@ export const ArrayPrototypeExtensions = new Patch(Array.prototype, {
|
|
|
314
502
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
315
503
|
// {@see globalThis.isThenElse}
|
|
316
504
|
function isThenElse(bv, tv, ev) {
|
|
505
|
+
function isFunction(value) { typeof value === 'function' }
|
|
506
|
+
|
|
317
507
|
if (arguments.length > 1) {
|
|
318
508
|
var _then = isFunction(tv) ? tv(bv) : tv; if (arguments.length > 2) {
|
|
319
509
|
var _else = isFunction(ev) ? tv(bv) : ev; return bv ? _then : _else
|
|
320
510
|
} return bv || _then;
|
|
321
511
|
} return bv
|
|
322
|
-
}
|
|
512
|
+
}
|
package/src/big.int.extension.js
CHANGED
|
@@ -155,9 +155,11 @@ export const BigIntPrototypeExtensions = new Patch(BigInt.prototype, {
|
|
|
155
155
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
156
156
|
// {@see globalThis.isThenElse}
|
|
157
157
|
function isThenElse(bv, tv, ev) {
|
|
158
|
+
function isFunction(value) { typeof value === 'function' }
|
|
159
|
+
|
|
158
160
|
if (arguments.length > 1) {
|
|
159
161
|
var _then = isFunction(tv) ? tv(bv) : tv; if (arguments.length > 2) {
|
|
160
162
|
var _else = isFunction(ev) ? tv(bv) : ev; return bv ? _then : _else
|
|
161
163
|
} return bv || _then;
|
|
162
164
|
} return bv
|
|
163
|
-
}
|
|
165
|
+
}
|
|
@@ -49,7 +49,7 @@ export class Descriptor {
|
|
|
49
49
|
|
|
50
50
|
if (!this.isDescriptor) {
|
|
51
51
|
console.error(`
|
|
52
|
-
Descriptor(object,key) FAILED:
|
|
52
|
+
Descriptor(object: ${object}, key: ${key}) FAILED:
|
|
53
53
|
object: ${object === globalThis ? '[GLOBAL]' : (typeof key === 'object' ? JSON.stringify(object) : String(object))}
|
|
54
54
|
key: ${key === globalThis ? '[GLOBAL]' : (typeof key === 'object' ? JSON.stringify(key) : String(key))}
|
|
55
55
|
descriptor: `, this.#desc
|
package/src/classes/index.js
CHANGED
|
@@ -21,6 +21,9 @@ export * from './param.parser.js'
|
|
|
21
21
|
import { PluggableProxy, ProxyHandler } from './pluggable.proxy.js'
|
|
22
22
|
export * from './pluggable.proxy.js'
|
|
23
23
|
|
|
24
|
+
import { Property, PropertyExtensions } from './property.js'
|
|
25
|
+
export * from './property.js'
|
|
26
|
+
|
|
24
27
|
import { RefMap } from './refmap.js'
|
|
25
28
|
export * from './refmap.js'
|
|
26
29
|
|
|
@@ -44,6 +47,7 @@ export const NewClassesExtension = new Patch(globalThis, {
|
|
|
44
47
|
ParamParser,
|
|
45
48
|
PluggableProxy,
|
|
46
49
|
ProxyHandler,
|
|
50
|
+
Property,
|
|
47
51
|
RefMap,
|
|
48
52
|
RefSet,
|
|
49
53
|
Symkeys,
|
package/src/classes/iterable.js
CHANGED
|
@@ -215,6 +215,80 @@ export class Iterator {
|
|
|
215
215
|
* @private
|
|
216
216
|
*/
|
|
217
217
|
#iterator = null;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Creates an Iterator for the keys of the given object.
|
|
221
|
+
*
|
|
222
|
+
* @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
|
|
223
|
+
* `Object.keys`. Each type of fetcher has their own requirements but
|
|
224
|
+
* any function that takes an object and returns keys will suffice.
|
|
225
|
+
*
|
|
226
|
+
* @param {Object} object - The object whose keys will be iterated.
|
|
227
|
+
* @param {Function} [mapEach] - Optional function to map each key.
|
|
228
|
+
* @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
|
|
229
|
+
* fetch keys from the object. Defaults to Object.getOwnPropertyNames.
|
|
230
|
+
* @returns {Iterator} An Iterator instance containing the object's keys.
|
|
231
|
+
*/
|
|
232
|
+
static keys(object, mapEach, keyFetcher) {
|
|
233
|
+
keyFetcher ??= Object.getOwnPropertyNames;
|
|
234
|
+
|
|
235
|
+
const keys = keyFetcher(object);
|
|
236
|
+
return new Iterator(keys, mapEach);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Creates an Iterator for the entries of the given object.
|
|
241
|
+
*
|
|
242
|
+
* @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
|
|
243
|
+
* `Object.keys`. Each type of fetcher has their own requirements but
|
|
244
|
+
* any function that takes an object and returns keys will suffice.
|
|
245
|
+
*
|
|
246
|
+
* @param {Object} object - The object whose entries will be iterated.
|
|
247
|
+
* @param {Function} [mapEach] - Optional function to map each entry.
|
|
248
|
+
* @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
|
|
249
|
+
* fetch keys from the object. Defaults to Object.getOwnPropertyNames.
|
|
250
|
+
* @returns {Iterator} An Iterator instance containing the object's entries.
|
|
251
|
+
*/
|
|
252
|
+
static entries(object, mapEach, keyFetcher) {
|
|
253
|
+
keyFetcher ??= Object.getOwnPropertyNames;
|
|
254
|
+
|
|
255
|
+
const keys = keyFetcher(object);
|
|
256
|
+
const entries = [];
|
|
257
|
+
|
|
258
|
+
for (const key of keys) {
|
|
259
|
+
entries.push([key, object[key]]);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return new Iterator(entries, mapEach)
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Creates an Iterator for the property descriptors of the given object.
|
|
267
|
+
*
|
|
268
|
+
* @note alternatives to keyFetcher might be `Reflect.ownKeys` or even
|
|
269
|
+
* `Object.keys`. Each type of fetcher has their own requirements but
|
|
270
|
+
* any function that takes an object and returns keys will suffice.
|
|
271
|
+
*
|
|
272
|
+
* @param {Object} object - The object whose descriptors will be iterated.
|
|
273
|
+
* @param {Function} [mapEach] - Optional function to map each descriptor
|
|
274
|
+
* entry.
|
|
275
|
+
* @param {Function} [keyFetcher=Object.getOwnPropertyNames] - Function to
|
|
276
|
+
* fetch keys from the object. Defaults to Object.getOwnPropertyNames.
|
|
277
|
+
* @returns {Iterator} An Iterator instance containing entries of [key,
|
|
278
|
+
* descriptor] pairs.
|
|
279
|
+
*/
|
|
280
|
+
static descriptors(object, mapEach, keyFetcher) {
|
|
281
|
+
keyFetcher ??= Object.getOwnPropertyNames;
|
|
282
|
+
|
|
283
|
+
const keys = keyFetcher(object);
|
|
284
|
+
const entries = [];
|
|
285
|
+
|
|
286
|
+
for (const key of keys) {
|
|
287
|
+
entries.push([key, Object.getOwnPropertyDescriptor(object, key)])
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
return new Iterator(entries, mapEach);
|
|
291
|
+
}
|
|
218
292
|
}
|
|
219
293
|
|
|
220
294
|
export const IterableExtensions = new Extension(Iterable)
|