@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.
Files changed (176) hide show
  1. package/dist/@nejs/basic-extensions.bundle.2.11.0.js +19 -0
  2. package/dist/@nejs/basic-extensions.bundle.2.11.0.js.map +7 -0
  3. package/dist/cjs/array.extensions.js +174 -0
  4. package/dist/cjs/array.extensions.js.map +1 -1
  5. package/dist/cjs/big.int.extension.js +1 -0
  6. package/dist/cjs/big.int.extension.js.map +1 -1
  7. package/dist/cjs/classes/descriptor.d.ts +67 -155
  8. package/dist/cjs/classes/descriptor.js +185 -278
  9. package/dist/cjs/classes/descriptor.js.map +1 -1
  10. package/dist/cjs/classes/index.d.ts +1 -0
  11. package/dist/cjs/classes/index.js +3 -0
  12. package/dist/cjs/classes/index.js.map +1 -1
  13. package/dist/cjs/classes/iterable.d.ts +44 -0
  14. package/dist/cjs/classes/iterable.js +64 -0
  15. package/dist/cjs/classes/iterable.js.map +1 -1
  16. package/dist/cjs/classes/param.parser.d.ts +10 -10
  17. package/dist/cjs/classes/property.d.ts +86 -0
  18. package/dist/cjs/classes/property.js +284 -0
  19. package/dist/cjs/classes/property.js.map +1 -0
  20. package/dist/cjs/classes/symkeys.d.ts +68 -11
  21. package/dist/cjs/classes/symkeys.js +103 -17
  22. package/dist/cjs/classes/symkeys.js.map +1 -1
  23. package/dist/cjs/classes/type.d.ts +4 -4
  24. package/dist/cjs/function.extensions.js +1 -0
  25. package/dist/cjs/function.extensions.js.map +1 -1
  26. package/dist/cjs/global.this.js +29 -0
  27. package/dist/cjs/global.this.js.map +1 -1
  28. package/dist/cjs/index.d.ts +3 -0
  29. package/dist/cjs/index.js +19 -0
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/json.extensions.js +19 -18
  32. package/dist/cjs/json.extensions.js.map +1 -1
  33. package/dist/cjs/map.extensions.js +1 -0
  34. package/dist/cjs/map.extensions.js.map +1 -1
  35. package/dist/cjs/number.extension.js +1 -0
  36. package/dist/cjs/number.extension.js.map +1 -1
  37. package/dist/cjs/object.extensions.d.ts +0 -29
  38. package/dist/cjs/object.extensions.js +218 -255
  39. package/dist/cjs/object.extensions.js.map +1 -1
  40. package/dist/cjs/set.extensions.js +1 -0
  41. package/dist/cjs/set.extensions.js.map +1 -1
  42. package/dist/cjs/string.extensions.js +474 -469
  43. package/dist/cjs/string.extensions.js.map +1 -1
  44. package/dist/cjs/symbol.extensions.js +387 -32
  45. package/dist/cjs/symbol.extensions.js.map +1 -1
  46. package/dist/cjs/utils/copy.object.d.ts +408 -0
  47. package/dist/cjs/utils/copy.object.js +720 -0
  48. package/dist/cjs/utils/copy.object.js.map +1 -0
  49. package/dist/cjs/utils/descriptor.utils.d.ts +146 -0
  50. package/dist/cjs/utils/descriptor.utils.js +614 -0
  51. package/dist/cjs/utils/descriptor.utils.js.map +1 -0
  52. package/dist/cjs/utils/index.d.ts +60 -0
  53. package/dist/cjs/utils/index.js +52 -0
  54. package/dist/cjs/utils/index.js.map +1 -0
  55. package/dist/cjs/utils/toolkit.d.ts +1898 -0
  56. package/dist/cjs/utils/toolkit.js +1378 -0
  57. package/dist/cjs/utils/toolkit.js.map +1 -0
  58. package/dist/mjs/array.extensions.js +174 -0
  59. package/dist/mjs/array.extensions.js.map +1 -1
  60. package/dist/mjs/big.int.extension.js +1 -0
  61. package/dist/mjs/big.int.extension.js.map +1 -1
  62. package/dist/mjs/classes/descriptor.d.ts +67 -155
  63. package/dist/mjs/classes/descriptor.js +185 -278
  64. package/dist/mjs/classes/descriptor.js.map +1 -1
  65. package/dist/mjs/classes/index.d.ts +1 -0
  66. package/dist/mjs/classes/index.js +3 -0
  67. package/dist/mjs/classes/index.js.map +1 -1
  68. package/dist/mjs/classes/iterable.d.ts +44 -0
  69. package/dist/mjs/classes/iterable.js +64 -0
  70. package/dist/mjs/classes/iterable.js.map +1 -1
  71. package/dist/mjs/classes/param.parser.d.ts +10 -10
  72. package/dist/mjs/classes/property.d.ts +86 -0
  73. package/dist/mjs/classes/property.js +280 -0
  74. package/dist/mjs/classes/property.js.map +1 -0
  75. package/dist/mjs/classes/symkeys.d.ts +68 -11
  76. package/dist/mjs/classes/symkeys.js +103 -17
  77. package/dist/mjs/classes/symkeys.js.map +1 -1
  78. package/dist/mjs/classes/type.d.ts +4 -4
  79. package/dist/mjs/function.extensions.js +1 -0
  80. package/dist/mjs/function.extensions.js.map +1 -1
  81. package/dist/mjs/global.this.js +6 -0
  82. package/dist/mjs/global.this.js.map +1 -1
  83. package/dist/mjs/index.d.ts +3 -0
  84. package/dist/mjs/index.js +5 -0
  85. package/dist/mjs/index.js.map +1 -1
  86. package/dist/mjs/json.extensions.js +19 -18
  87. package/dist/mjs/json.extensions.js.map +1 -1
  88. package/dist/mjs/map.extensions.js +1 -0
  89. package/dist/mjs/map.extensions.js.map +1 -1
  90. package/dist/mjs/number.extension.js +1 -0
  91. package/dist/mjs/number.extension.js.map +1 -1
  92. package/dist/mjs/object.extensions.d.ts +0 -29
  93. package/dist/mjs/object.extensions.js +215 -251
  94. package/dist/mjs/object.extensions.js.map +1 -1
  95. package/dist/mjs/set.extensions.js +1 -0
  96. package/dist/mjs/set.extensions.js.map +1 -1
  97. package/dist/mjs/string.extensions.js +474 -469
  98. package/dist/mjs/string.extensions.js.map +1 -1
  99. package/dist/mjs/symbol.extensions.js +387 -32
  100. package/dist/mjs/symbol.extensions.js.map +1 -1
  101. package/dist/mjs/utils/copy.object.d.ts +408 -0
  102. package/dist/mjs/utils/copy.object.js +702 -0
  103. package/dist/mjs/utils/copy.object.js.map +1 -0
  104. package/dist/mjs/utils/descriptor.utils.d.ts +146 -0
  105. package/dist/mjs/utils/descriptor.utils.js +606 -0
  106. package/dist/mjs/utils/descriptor.utils.js.map +1 -0
  107. package/dist/mjs/utils/index.d.ts +60 -0
  108. package/dist/mjs/utils/index.js +36 -0
  109. package/dist/mjs/utils/index.js.map +1 -0
  110. package/dist/mjs/utils/toolkit.d.ts +1898 -0
  111. package/dist/mjs/utils/toolkit.js +1373 -0
  112. package/dist/mjs/utils/toolkit.js.map +1 -0
  113. package/package.json +29 -37
  114. package/repl.bootstrap.js +12 -1
  115. package/src/array.extensions.js +191 -1
  116. package/src/big.int.extension.js +3 -1
  117. package/src/classes/descriptor.js +206 -305
  118. package/src/classes/index.js +4 -0
  119. package/src/classes/iterable.js +74 -0
  120. package/src/classes/property.js +333 -0
  121. package/src/classes/symkeys.js +120 -19
  122. package/src/function.extensions.js +2 -0
  123. package/src/global.this.js +8 -0
  124. package/src/index.js +6 -0
  125. package/src/json.extensions.js +18 -19
  126. package/src/map.extensions.js +3 -1
  127. package/src/number.extension.js +3 -1
  128. package/src/object.extensions.js +240 -277
  129. package/src/set.extensions.js +3 -1
  130. package/src/string.extensions.js +512 -506
  131. package/src/symbol.extensions.js +413 -30
  132. package/src/utils/copy.object.js +780 -0
  133. package/src/utils/descriptor.utils.js +707 -0
  134. package/src/utils/index.js +74 -0
  135. package/src/utils/toolkit.js +1473 -0
  136. package/tests/arrayextensions.test.js +2 -0
  137. package/tests/index.test.js +1 -0
  138. package/tests/newClasses/asyncIterable.test.js +2 -0
  139. package/tests/newClasses/deferred.test.js +5 -3
  140. package/tests/newClasses/descriptor.test.js +6 -8
  141. package/tests/newClasses/iterable.test.js +2 -0
  142. package/tests/newClasses/refmap.test.js +2 -1
  143. package/tests/newClasses/refset.test.js +2 -0
  144. package/tests/objectextensions.test.js +2 -0
  145. package/tests/setextensions.test.js +2 -0
  146. package/tests/stringextensions.test.js +1 -0
  147. package/tests/utils/toolkit.test.js +223 -0
  148. package/tsconfig.base.json +1 -1
  149. package/vitest.config.js +7 -0
  150. package/dist/@nejs/basic-extensions.bundle.2.8.0.js +0 -19
  151. package/dist/@nejs/basic-extensions.bundle.2.8.0.js.map +0 -7
  152. package/docs/assets/anchor.js +0 -350
  153. package/docs/assets/bass-addons.css +0 -12
  154. package/docs/assets/bass.css +0 -544
  155. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  156. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  157. package/docs/assets/fonts/LICENSE.txt +0 -93
  158. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  159. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  160. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  161. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  162. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  163. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  164. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  165. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  166. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  167. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  168. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  169. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  170. package/docs/assets/fonts/source-code-pro.css +0 -23
  171. package/docs/assets/github.css +0 -123
  172. package/docs/assets/site.js +0 -168
  173. package/docs/assets/split.css +0 -15
  174. package/docs/assets/split.js +0 -782
  175. package/docs/assets/style.css +0 -147
  176. package/docs/index.html +0 -35485
@@ -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.11.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
- "@jest/expect": "^29.7.0",
6
- "clean-documentation-theme": "^0.5.2",
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": "^14.0.2",
9
- "documentation-devseed-theme": "^0.1.7",
10
- "esbuild": "^0.19.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
- "jest": "^29.7.0",
14
- "jest-cli": "^29.7.0",
15
- "jest-localstorage-mock": "^2.4.26",
16
- "jsdoc": "^4.0.2",
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": "^5.0.5",
19
- "typescript": "^5.2.2"
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": ">=18",
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
- "jsdoc": "jsdoc -c jsdoc-config.json -p -a all -R README.md",
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
- "test": "jest",
60
- "repl": "npm run build && node --no-warnings repl.bootstrap.js"
55
+ "repl": "npm run build && node --no-warnings repl.bootstrap.js",
56
+ "test": "vitest"
61
57
  },
62
58
  "type": "module",
63
- "version": "2.9.0",
64
- "dependencies": {
65
- "@nejs/extension": "^2.20.0",
66
- "zod": "^3.22.5"
67
- },
68
- "browser": "dist/@nejs/basic-extensions.bundle.2.9.0.js"
59
+ "version": "2.11.0",
60
+ "packageManager": "pnpm@9.9.0+sha512.60c18acd138bff695d339be6ad13f7e936eea6745660d4cc4a776d5247c540d0edee1a563695c183a66eb917ef88f2b4feb1fc25f32a7adcadc7aaf3438e99c1"
69
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, { Patch: nejsExtension.Patch, Extension: nejsExtension.Extension });
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() {
@@ -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
+ }
@@ -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
+ }