@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
|
@@ -52,6 +52,9 @@ exports.ArrayExtensions = new extension_1.Patch(Array, {
|
|
|
52
52
|
},
|
|
53
53
|
});
|
|
54
54
|
const { ifArray: pIfArray } = exports.ArrayExtensions.patches;
|
|
55
|
+
// todo: everyOfType(type), someOfType(type)
|
|
56
|
+
// todo: everyWithTag(stringTag), someWithTag(stringTag),
|
|
57
|
+
// todo: everyOfInstance(Class), someOfInstance(Class)
|
|
55
58
|
/**
|
|
56
59
|
* `ArrayPrototypeExtensions` is a constant that applies a patch to the
|
|
57
60
|
* Array prototype. This patch extends the Array prototype with additional
|
|
@@ -247,6 +250,26 @@ exports.ArrayPrototypeExtensions = new extension_1.Patch(Array.prototype, {
|
|
|
247
250
|
get last() {
|
|
248
251
|
return this[this.length - 1];
|
|
249
252
|
},
|
|
253
|
+
/**
|
|
254
|
+
* A getter that returns a new array containing only truthy elements.
|
|
255
|
+
* Filters out falsy values like null, undefined, 0, false, NaN, and ''.
|
|
256
|
+
* Useful for quickly removing falsy values from an array.
|
|
257
|
+
*
|
|
258
|
+
* @returns {Array} A new array with only truthy elements.
|
|
259
|
+
*/
|
|
260
|
+
get onlyTruthy() {
|
|
261
|
+
return this.filter(truthy => !!truthy);
|
|
262
|
+
},
|
|
263
|
+
/**
|
|
264
|
+
* A getter that returns a new array containing only falsy elements.
|
|
265
|
+
* Keeps falsy values like null, undefined, 0, false, NaN, and ''.
|
|
266
|
+
* Useful for isolating falsy values in an array for further processing.
|
|
267
|
+
*
|
|
268
|
+
* @returns {Array} A new array with only falsy elements.
|
|
269
|
+
*/
|
|
270
|
+
get onlyFalsy() {
|
|
271
|
+
return this.filter(falsy => !!!falsy);
|
|
272
|
+
},
|
|
250
273
|
// expected usage:
|
|
251
274
|
// function example(name, age) {
|
|
252
275
|
// const variants = [{name}, {age}].variants()
|
|
@@ -284,12 +307,163 @@ exports.ArrayPrototypeExtensions = new extension_1.Patch(Array.prototype, {
|
|
|
284
307
|
});
|
|
285
308
|
return result;
|
|
286
309
|
},
|
|
310
|
+
/**
|
|
311
|
+
* Weaves together an array of keys and an array of values into an
|
|
312
|
+
* object, using the provided default value for missing values and
|
|
313
|
+
* the specified base descriptor for defining properties. This can
|
|
314
|
+
* be used to quickly generate empty models if a list of keys from
|
|
315
|
+
* a preset or other object.
|
|
316
|
+
*
|
|
317
|
+
* @param {Array} arrayOfKeys - An array of keys to be used as
|
|
318
|
+
* property names in the resulting object.
|
|
319
|
+
* @param {Array} [arrayOfValues] - An optional array of values to
|
|
320
|
+
* be assigned to the corresponding keys. If not provided or not an
|
|
321
|
+
* array, the `defaultValue` will be used for all properties.
|
|
322
|
+
* @param {*} [defaultValue] - The default value to be used for
|
|
323
|
+
* missing values or when `arrayOfValues` is not an array or when
|
|
324
|
+
* there are not enough values for the number of keys.
|
|
325
|
+
* @param {Object|string} [baseDescriptor] - The base property
|
|
326
|
+
* descriptor to be used for defining properties. If not provided,
|
|
327
|
+
* default descriptor values will be used. Special string values
|
|
328
|
+
* `'hidden'` and `'immutable'` can be used for predefined
|
|
329
|
+
* descriptors.
|
|
330
|
+
* @returns {Object} - The resulting object with the woven
|
|
331
|
+
* properties.
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* const employee134 = { name: 'Jane Doe', yearsOfService: 3 }
|
|
335
|
+
* const employee135 = Array.weave(Object.keys(employee134))
|
|
336
|
+
* // employee135 = { name: undefined, yearsOfService: undefined }
|
|
337
|
+
*
|
|
338
|
+
* @example
|
|
339
|
+
* const keys = ['a', 'b', 'c']
|
|
340
|
+
* const values = [1, 2, 3]
|
|
341
|
+
* const obj = Array.weave(keys, values)
|
|
342
|
+
* console.log(obj) // { a: 1, b: 2, c: 3 }
|
|
343
|
+
*
|
|
344
|
+
* @example
|
|
345
|
+
* const keys = ['x', 'y', 'z']
|
|
346
|
+
* const obj = Array.weave(keys, 42, 0, 'immutable')
|
|
347
|
+
* console.log(obj) // { x: 42, y: 42, z: 42 } (immutable)
|
|
348
|
+
*/
|
|
349
|
+
weave(arrayOfKeys, arrayOfValues, defaultValue, baseDescriptor) {
|
|
350
|
+
if (!Array.isArray(arrayOfKeys)) {
|
|
351
|
+
return {};
|
|
352
|
+
}
|
|
353
|
+
if (arrayOfValues && !Array.isArray(arrayOfValues)) {
|
|
354
|
+
const repeatedValue = arrayOfValues;
|
|
355
|
+
arrayOfValues = [];
|
|
356
|
+
for (const _ of arrayOfKeys) {
|
|
357
|
+
arrayOfValues.push(repeatedValue);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
const descKeys = ['configurable', 'enumerable', 'writable'];
|
|
361
|
+
let object = {};
|
|
362
|
+
let descriptor;
|
|
363
|
+
let keys = arrayOfKeys;
|
|
364
|
+
let values = arrayOfValues;
|
|
365
|
+
let useGetter = false;
|
|
366
|
+
// Ensure we have a descriptor
|
|
367
|
+
if (!baseDescriptor) {
|
|
368
|
+
descriptor = descKeys.reduce((acc, key) => { acc[key] = true; return acc; }, {});
|
|
369
|
+
}
|
|
370
|
+
else if (baseDescriptor === 'hidden') {
|
|
371
|
+
baseDescriptor = { configurable: true, enumerable: false };
|
|
372
|
+
}
|
|
373
|
+
else if (baseDescriptor === 'immutable') {
|
|
374
|
+
useGetter = true;
|
|
375
|
+
baseDescriptor = { configurable: false, enumerable: false };
|
|
376
|
+
}
|
|
377
|
+
else if (baseDescriptor && typeof baseDescriptor === 'object') {
|
|
378
|
+
descriptor = descKeys.reduce((acc, key) => {
|
|
379
|
+
acc[key] = baseDescriptor?.[key] ?? true;
|
|
380
|
+
return acc;
|
|
381
|
+
}, {});
|
|
382
|
+
}
|
|
383
|
+
for (const [index, key] of Object.entries(keys)) {
|
|
384
|
+
if (useGetter) {
|
|
385
|
+
Object.defineProperty(object, key, {
|
|
386
|
+
...descriptor,
|
|
387
|
+
get() { return values?.[index] ?? defaultValue; },
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
Object.defineProperty(object, key, {
|
|
392
|
+
...descriptor,
|
|
393
|
+
value: values?.[index] ?? defaultValue,
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
return object;
|
|
398
|
+
},
|
|
399
|
+
/**
|
|
400
|
+
* @property {object} kTypeDefaults
|
|
401
|
+
* @description
|
|
402
|
+
* An object that maps JavaScript types to their default values.
|
|
403
|
+
* This is useful for initializing variables or properties with
|
|
404
|
+
* a default value based on their expected type.
|
|
405
|
+
*
|
|
406
|
+
* Note that `symbol` types are initialized with `undefined`
|
|
407
|
+
* due to the fact that their usage is by definition, unique;
|
|
408
|
+
* or at the very least deliberately reused.
|
|
409
|
+
*
|
|
410
|
+
* The default values for each type are:
|
|
411
|
+
* - `undefined`: `undefined`
|
|
412
|
+
* - `symbol`: `undefined`
|
|
413
|
+
* - `string`: `""`
|
|
414
|
+
* - `object`: `{}`
|
|
415
|
+
* - `number`: `0`
|
|
416
|
+
* - `boolean`: `true`
|
|
417
|
+
* - `bigint`: `0n`
|
|
418
|
+
* - `function`: an empty function
|
|
419
|
+
*
|
|
420
|
+
* @example
|
|
421
|
+
* const defaultString = Array.kTypeDefaults.string
|
|
422
|
+
* console.log(defaultString) // Output: ""
|
|
423
|
+
*
|
|
424
|
+
* const defaultNumber = Array.kTypeDefaults.number
|
|
425
|
+
* console.log(defaultNumber) // Output: 0
|
|
426
|
+
*/
|
|
427
|
+
get [Symbol.for('@nejs.defaults.by.type')]() {
|
|
428
|
+
return {
|
|
429
|
+
undefined: undefined,
|
|
430
|
+
symbol: undefined,
|
|
431
|
+
string: "",
|
|
432
|
+
object: {},
|
|
433
|
+
number: 0,
|
|
434
|
+
boolean: true,
|
|
435
|
+
bigint: 0n,
|
|
436
|
+
function() { },
|
|
437
|
+
};
|
|
438
|
+
},
|
|
439
|
+
/**
|
|
440
|
+
* @property {symbol} kDefaultsByType
|
|
441
|
+
* @description
|
|
442
|
+
* A unique symbol that represents the key for accessing
|
|
443
|
+
* the default values for different types.
|
|
444
|
+
*
|
|
445
|
+
* This symbol is created using `Symbol.for()` with the key
|
|
446
|
+
* `'@nejs.defaults.by.type'`. It can be used to retrieve
|
|
447
|
+
* the default values object from other parts of the code.
|
|
448
|
+
*
|
|
449
|
+
* @example
|
|
450
|
+
* const defaultsByType = Array[Array.kDefaultsByType]
|
|
451
|
+
* console.log(defaultsByType.string) // Output: ""
|
|
452
|
+
* console.log(defaultsByType.number) // Output: 0
|
|
453
|
+
*
|
|
454
|
+
* @returns {symbol} The unique symbol for accessing the
|
|
455
|
+
* default values by type.
|
|
456
|
+
*/
|
|
457
|
+
get kDefaultsByType() {
|
|
458
|
+
return Symbol.for('@nejs.defaults.by.type');
|
|
459
|
+
},
|
|
287
460
|
},
|
|
288
461
|
});
|
|
289
462
|
// NOTE to self; this is repeated here otherwise a circular reference from
|
|
290
463
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
291
464
|
// {@see globalThis.isThenElse}
|
|
292
465
|
function isThenElse(bv, tv, ev) {
|
|
466
|
+
function isFunction(value) { typeof value === 'function'; }
|
|
293
467
|
if (arguments.length > 1) {
|
|
294
468
|
var _then = isFunction(tv) ? tv(bv) : tv;
|
|
295
469
|
if (arguments.length > 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.extensions.js","sourceRoot":"","sources":["../../src/array.extensions.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"array.extensions.js","sourceRoot":"","sources":["../../src/array.extensions.js"],"names":[],"mappings":"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"}
|
|
@@ -151,6 +151,7 @@ exports.BigIntPrototypeExtensions = new extension_1.Patch(BigInt.prototype, {
|
|
|
151
151
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
152
152
|
// {@see globalThis.isThenElse}
|
|
153
153
|
function isThenElse(bv, tv, ev) {
|
|
154
|
+
function isFunction(value) { typeof value === 'function'; }
|
|
154
155
|
if (arguments.length > 1) {
|
|
155
156
|
var _then = isFunction(tv) ? tv(bv) : tv;
|
|
156
157
|
if (arguments.length > 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":";;;AAAA,+CAAuC;AAEvC;;;;;;;;;;;;;GAaG;AACU,QAAA,gBAAgB,GAAG,IAAI,iBAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,wBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACU,QAAA,yBAAyB,GAAG,IAAI,iBAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,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
|
+
{"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":";;;AAAA,+CAAuC;AAEvC;;;;;;;;;;;;;GAaG;AACU,QAAA,gBAAgB,GAAG,IAAI,iBAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,wBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACU,QAAA,yBAAyB,GAAG,IAAI,iBAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;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,13 +1,4 @@
|
|
|
1
1
|
export class Descriptor {
|
|
2
|
-
/**
|
|
3
|
-
* Shorthand for Object.getOwnPropertyDescriptor()
|
|
4
|
-
*
|
|
5
|
-
* @param {object} object a non-null object instance
|
|
6
|
-
* @param {string|symbol} key a symbol or string referencing which key on the
|
|
7
|
-
* object to return a descriptor for.
|
|
8
|
-
* @returns an object descriptor for the requested field or null
|
|
9
|
-
*/
|
|
10
|
-
static for(object: object, key: string | symbol, wrap?: boolean): PropertyDescriptor | Descriptor | null | undefined;
|
|
11
2
|
/**
|
|
12
3
|
* The function `getData` retrieves the value of a property from an object
|
|
13
4
|
* if it exists and is a data property.
|
|
@@ -71,15 +62,7 @@ export class Descriptor {
|
|
|
71
62
|
* @returns an object with properties "get", "set", "enumerable", and
|
|
72
63
|
* "configurable".
|
|
73
64
|
*/
|
|
74
|
-
static accessor(
|
|
75
|
-
enumerable: boolean;
|
|
76
|
-
configurable: boolean;
|
|
77
|
-
} | undefined): {
|
|
78
|
-
get: any;
|
|
79
|
-
set: any;
|
|
80
|
-
enumerable: boolean;
|
|
81
|
-
configurable: boolean;
|
|
82
|
-
};
|
|
65
|
+
static accessor(...args: any[]): any;
|
|
83
66
|
/**
|
|
84
67
|
* The function "newData" creates a new data object with customizable
|
|
85
68
|
* properties.
|
|
@@ -95,14 +78,18 @@ export class Descriptor {
|
|
|
95
78
|
* `configurable`.
|
|
96
79
|
*/
|
|
97
80
|
static data(value: any, writable?: boolean | undefined, { enumerable, configurable }?: {
|
|
98
|
-
enumerable: boolean;
|
|
99
81
|
configurable: boolean;
|
|
100
|
-
} | undefined): {
|
|
101
|
-
value: any;
|
|
102
82
|
enumerable: boolean;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
83
|
+
} | undefined): any;
|
|
84
|
+
/**
|
|
85
|
+
* Shorthand for Object.getOwnPropertyDescriptor()
|
|
86
|
+
*
|
|
87
|
+
* @param {object} object a non-null object instance
|
|
88
|
+
* @param {string|symbol} key a symbol or string referencing which key on the
|
|
89
|
+
* object to return a descriptor for.
|
|
90
|
+
* @returns an object descriptor for the requested field or null
|
|
91
|
+
*/
|
|
92
|
+
static for(object: object, key: string | symbol, wrap?: boolean): PropertyDescriptor | Descriptor | null | undefined;
|
|
106
93
|
/**
|
|
107
94
|
* The function checks if an object is a likely an object descriptor in
|
|
108
95
|
* JavaScript. This is determined as an object with some of the known
|
|
@@ -110,43 +97,51 @@ export class Descriptor {
|
|
|
110
97
|
* or set). Technically, any object could serve as a descriptor but this
|
|
111
98
|
* function only returns true if known descriptor keys are found.
|
|
112
99
|
*
|
|
113
|
-
* @param object -
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* brie
|
|
100
|
+
* @param {any} object - Any value we want to check for being a descriptor.
|
|
101
|
+
* @param {boolean} returnStatsInstead defaults to false, but if the value
|
|
102
|
+
* is `true` then an object with reasoning behind the decision of whether
|
|
103
|
+
* or not the
|
|
104
|
+
* @returns {IsDescriptorResponse} either a {@link boolean} value or
|
|
105
|
+
* an object conforming to {@link IsDescriptorStats} if `returnStatsInstead`
|
|
106
|
+
* is `true`
|
|
122
107
|
*
|
|
123
|
-
* @
|
|
124
|
-
* either a descriptor or a property name.
|
|
125
|
-
* @param object - The `object` parameter is the object that you want to
|
|
126
|
-
* check for data properties.
|
|
127
|
-
* @returns a boolean value. It returns `true` if the `descriptor` object
|
|
128
|
-
* has any keys that match the `DATA_KEYS` array, otherwise it returns
|
|
129
|
-
* `false`.
|
|
108
|
+
* @see {@link DescriptorUtils.isDescriptor}
|
|
130
109
|
*/
|
|
131
|
-
static
|
|
110
|
+
static isDescriptor(object: any, returnStatsInstead?: boolean): IsDescriptorResponse;
|
|
132
111
|
/**
|
|
133
112
|
* The function checks if a given property descriptor or property of an
|
|
134
113
|
* object is an accessor.
|
|
135
114
|
*
|
|
136
|
-
* @param
|
|
137
|
-
* descriptor object or a property name.
|
|
138
|
-
* @param property
|
|
139
|
-
* check
|
|
140
|
-
*
|
|
141
|
-
*
|
|
115
|
+
* @param {object} objectOrDescriptor - The `objectOrDescriptor` parameter
|
|
116
|
+
* can be either a descriptor object or a property name.
|
|
117
|
+
* @param {(string|number|symbol)?} property the property name you wish to
|
|
118
|
+
* check the validity as an accessor descriptor. Only expected if the
|
|
119
|
+
* `objectOrDescriptor` parameter is the object that would contain this
|
|
120
|
+
* property.
|
|
121
|
+
* @returns {@link Boolean} returning `true` if the `descriptor` object
|
|
122
|
+
* has any keys that match the {@link Descriptor.ACCESSOR_KEYS} array,
|
|
123
|
+
* otherwise it returns `false`.
|
|
124
|
+
*/
|
|
125
|
+
static isAccessor(objectOrDescriptor: object, property: (string | number | symbol) | null): any;
|
|
126
|
+
/**
|
|
127
|
+
* The function checks if a given property or descriptor is a data property.
|
|
128
|
+
*
|
|
129
|
+
* @param {object} objectOrDescriptor - The `objectOrDescriptor` parameter
|
|
130
|
+
* can be either a descriptor object or a property name.
|
|
131
|
+
* @param {(string|number|symbol)?} property the property name you wish to
|
|
132
|
+
* check the validity as an accessor descriptor. Only expected if the
|
|
133
|
+
* `objectOrDescriptor` parameter is the object that would contain this
|
|
134
|
+
* property.
|
|
135
|
+
* @returns {@link Boolean} returning `true` if the `descriptor` object
|
|
136
|
+
* has any keys that match the {@link Descriptor.DATA_KEYS} array, otherwise
|
|
137
|
+
* it returns `false`.
|
|
142
138
|
*/
|
|
143
|
-
static
|
|
139
|
+
static isData(objectOrDescriptor: object, property: (string | number | symbol) | null): any;
|
|
144
140
|
/**
|
|
145
141
|
* A base descriptor (new for each read) that is both enumerable and
|
|
146
142
|
* configurable
|
|
147
143
|
*
|
|
148
|
-
* @returns
|
|
149
|
-
* `base` method with the arguments `true` and `true`.
|
|
144
|
+
* @returns `{ enumerable: true, configurable: true }`
|
|
150
145
|
*/
|
|
151
146
|
static get flexible(): {
|
|
152
147
|
enumerable: boolean;
|
|
@@ -156,8 +151,7 @@ export class Descriptor {
|
|
|
156
151
|
* A base descriptor (new for each read) that is not enumerable but is
|
|
157
152
|
* configurable
|
|
158
153
|
*
|
|
159
|
-
* @returns
|
|
160
|
-
* the `base` method with the arguments `false` and `true`.
|
|
154
|
+
* @returns `{ enumerable: false, configurable: true }`
|
|
161
155
|
*/
|
|
162
156
|
static get enigmatic(): {
|
|
163
157
|
enumerable: boolean;
|
|
@@ -165,20 +159,19 @@ export class Descriptor {
|
|
|
165
159
|
};
|
|
166
160
|
/**
|
|
167
161
|
* A base descriptor (new for each read) that is neither enumerable
|
|
168
|
-
* nor configurable
|
|
162
|
+
* nor configurable.
|
|
169
163
|
*
|
|
170
|
-
* @returns
|
|
171
|
-
* the arguments `false` and `false`.
|
|
164
|
+
* @returns `{ enumerable: false, configurable: false }`
|
|
172
165
|
*/
|
|
173
166
|
static get intrinsic(): {
|
|
174
167
|
enumerable: boolean;
|
|
175
168
|
configurable: boolean;
|
|
176
169
|
};
|
|
177
170
|
/**
|
|
178
|
-
* A base descriptor (new for each read) that enumerable but
|
|
171
|
+
* A base descriptor (new for each read) that is enumerable but
|
|
172
|
+
* not configurable
|
|
179
173
|
*
|
|
180
|
-
* @returns
|
|
181
|
-
* method with the arguments `true` and `false`.
|
|
174
|
+
* @returns `{ enumerable: true, configurable: false }`
|
|
182
175
|
*/
|
|
183
176
|
static get transparent(): {
|
|
184
177
|
enumerable: boolean;
|
|
@@ -219,7 +212,22 @@ export class Descriptor {
|
|
|
219
212
|
* @throws {Error} Throws an error if the constructed descriptor is not
|
|
220
213
|
* valid.
|
|
221
214
|
*/
|
|
222
|
-
constructor(object: object | Descriptor, key?: string | symbol | undefined);
|
|
215
|
+
constructor(object: object | Descriptor, key?: string | symbol | undefined, ...args: any[]);
|
|
216
|
+
/**
|
|
217
|
+
* The default private descriptor value is that of `enigmatic`
|
|
218
|
+
*
|
|
219
|
+
* @private
|
|
220
|
+
* @type {object}
|
|
221
|
+
*/
|
|
222
|
+
private _desc;
|
|
223
|
+
/**
|
|
224
|
+
* An optionally associated object, usually the parent from which
|
|
225
|
+
* the descriptor was taken, or undefined if none was able to be
|
|
226
|
+
* derived.
|
|
227
|
+
*
|
|
228
|
+
* @type {object}
|
|
229
|
+
*/
|
|
230
|
+
_object: object;
|
|
223
231
|
/**
|
|
224
232
|
* Detects whether or not this instance is an accessor object descriptor
|
|
225
233
|
*
|
|
@@ -240,85 +248,6 @@ export class Descriptor {
|
|
|
240
248
|
* @returns {boolean} true if this descriptor store is a valid descriptor
|
|
241
249
|
*/
|
|
242
250
|
get isDescriptor(): boolean;
|
|
243
|
-
/**
|
|
244
|
-
* Sets the `configurable` value of this object. If the internal descriptor
|
|
245
|
-
* store store is invalid, the value is thrown away
|
|
246
|
-
*
|
|
247
|
-
* @param {boolean} value the value to set for the `configurable` descriptor
|
|
248
|
-
* property. If this value is not a `boolean` it will be converted to one
|
|
249
|
-
*/
|
|
250
|
-
set configurable(value: boolean);
|
|
251
|
-
/**
|
|
252
|
-
* Getter around the `configurable` object descriptor property of
|
|
253
|
-
* this instance of Descriptor.
|
|
254
|
-
*
|
|
255
|
-
* @returns {boolean} a boolean value or undefined if the internal
|
|
256
|
-
* descriptor store is invalid.
|
|
257
|
-
*/
|
|
258
|
-
get configurable(): boolean;
|
|
259
|
-
/**
|
|
260
|
-
* Sets the `enumerable` value of this object. If the internal descriptor
|
|
261
|
-
* store is invalid, the value is thrown away
|
|
262
|
-
*
|
|
263
|
-
* @param {boolean} value the value to set for the `enumerable` descriptor
|
|
264
|
-
* property. If this value is not a `boolean` it will be converted to one
|
|
265
|
-
*/
|
|
266
|
-
set enumerable(value: boolean);
|
|
267
|
-
/**
|
|
268
|
-
* Getter around the `enumerable` object descriptor property of
|
|
269
|
-
* this instance of Descriptor.
|
|
270
|
-
*
|
|
271
|
-
* @returns {boolean} a boolean value or undefined if the internal
|
|
272
|
-
* descriptor store is invalid.
|
|
273
|
-
*/
|
|
274
|
-
get enumerable(): boolean;
|
|
275
|
-
/**
|
|
276
|
-
* Sets the `writable` value of this object. If the internal descriptor
|
|
277
|
-
* store is invalid, the value is thrown away
|
|
278
|
-
*
|
|
279
|
-
* @param {boolean} value the value to set for the `writable` descriptor
|
|
280
|
-
* property. If this value is not a `boolean` it will be converted to one
|
|
281
|
-
*/
|
|
282
|
-
set writable(value: boolean);
|
|
283
|
-
/**
|
|
284
|
-
* Getter around the `writable` object descriptor property of
|
|
285
|
-
* this instance of Descriptor.
|
|
286
|
-
*
|
|
287
|
-
* @returns {boolean} a boolean value or undefined if the internal
|
|
288
|
-
* descriptor store is invalid.
|
|
289
|
-
*/
|
|
290
|
-
get writable(): boolean;
|
|
291
|
-
/**
|
|
292
|
-
* Sets the `value` value of this object. If the internal descriptor
|
|
293
|
-
* store is invalid, the value is thrown away
|
|
294
|
-
*
|
|
295
|
-
* @param {any} value the value to set for the `value` descriptor
|
|
296
|
-
* property.
|
|
297
|
-
*/
|
|
298
|
-
set value(value: any);
|
|
299
|
-
/**
|
|
300
|
-
* Getter around the `value` object descriptor property of
|
|
301
|
-
* this instance of Descriptor.
|
|
302
|
-
*
|
|
303
|
-
* @returns {any} any value stored in this descriptor
|
|
304
|
-
*/
|
|
305
|
-
get value(): any;
|
|
306
|
-
/**
|
|
307
|
-
* Sets the `get` value of this object. If the internal descriptor
|
|
308
|
-
* store is invalid, the value is thrown away
|
|
309
|
-
*
|
|
310
|
-
* @param {function} value the getter function for this descriptor
|
|
311
|
-
*/
|
|
312
|
-
set get(value: Function);
|
|
313
|
-
/**
|
|
314
|
-
* Getter around the `get` object descriptor property of
|
|
315
|
-
* this instance of Descriptor.
|
|
316
|
-
*
|
|
317
|
-
* @returns {function} a function if the getter for this descriptor is
|
|
318
|
-
* defined or `undefined` if the internal descriptor object or the getter
|
|
319
|
-
* is undefined.
|
|
320
|
-
*/
|
|
321
|
-
get get(): Function;
|
|
322
251
|
/**
|
|
323
252
|
* Retrieves the {@link get} function for this accessor and binds it to
|
|
324
253
|
* the object from which the descriptor was derived, if that value is set.
|
|
@@ -328,22 +257,6 @@ export class Descriptor {
|
|
|
328
257
|
* getter will be bound the associated and previously set `object`.
|
|
329
258
|
*/
|
|
330
259
|
get boundGet(): Function;
|
|
331
|
-
/**
|
|
332
|
-
* Sets the `set` value of this object. If the internal descriptor
|
|
333
|
-
* store is invalid, the value is thrown away
|
|
334
|
-
*
|
|
335
|
-
* @param {function} value the setter function for this descriptor
|
|
336
|
-
*/
|
|
337
|
-
set set(value: Function);
|
|
338
|
-
/**
|
|
339
|
-
* Getter around the `set` object descriptor property of
|
|
340
|
-
* this instance of Descriptor.
|
|
341
|
-
*
|
|
342
|
-
* @returns {function} a function if the setter for this descriptor is
|
|
343
|
-
* defined or `undefined` if the internal descriptor object or the setter
|
|
344
|
-
* is undefined.
|
|
345
|
-
*/
|
|
346
|
-
get set(): Function;
|
|
347
260
|
/**
|
|
348
261
|
* Retrieves the {@link set} function for this accessor and binds it to
|
|
349
262
|
* the object from which the descriptor was derived, if that value is set.
|
|
@@ -416,7 +329,6 @@ export class Descriptor {
|
|
|
416
329
|
* @returns {string} the name of the class
|
|
417
330
|
*/
|
|
418
331
|
get [Symbol.toStringTag](): string;
|
|
419
|
-
#private;
|
|
420
332
|
}
|
|
421
333
|
export const DescriptorExtensions: Extension;
|
|
422
334
|
import { Extension } from '@nejs/extension';
|