ts-data-forge 6.3.0 → 6.4.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 +4 -4
- package/dist/array/impl/array-utils-creation.d.mts.map +1 -1
- package/dist/array/impl/array-utils-creation.mjs.map +1 -1
- package/dist/array/impl/array-utils-element-access.d.mts +2 -2
- package/dist/array/impl/array-utils-element-access.mjs +2 -2
- package/dist/array/impl/array-utils-modification.d.mts +2 -2
- package/dist/array/impl/array-utils-modification.d.mts.map +1 -1
- package/dist/array/impl/array-utils-modification.mjs +1 -2
- package/dist/array/impl/array-utils-modification.mjs.map +1 -1
- package/dist/array/impl/array-utils-reducing-value.mjs +1 -1
- package/dist/array/impl/array-utils-search.d.mts +3 -1
- package/dist/array/impl/array-utils-search.d.mts.map +1 -1
- package/dist/array/impl/array-utils-search.mjs.map +1 -1
- package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
- package/dist/array/impl/array-utils-set-op.mjs +1 -0
- package/dist/array/impl/array-utils-set-op.mjs.map +1 -1
- package/dist/array/impl/array-utils-size.d.mts +1 -1
- package/dist/array/impl/array-utils-size.mjs +1 -1
- package/dist/array/impl/array-utils-validation.d.mts +2 -2
- package/dist/array/impl/array-utils-validation.mjs +2 -2
- package/dist/collections/imap.d.mts +3 -3
- package/dist/collections/iset-mapped.d.mts +3 -3
- package/dist/collections/iset.d.mts +3 -3
- package/dist/collections/queue.mjs +21 -21
- package/dist/collections/queue.mjs.map +1 -1
- package/dist/collections/stack.mjs +12 -12
- package/dist/collections/stack.mjs.map +1 -1
- package/dist/functional/match.d.mts +1 -1
- package/dist/functional/match.d.mts.map +1 -1
- package/dist/globals.d.mts +1 -1
- package/dist/guard/has-key.d.mts +1 -1
- package/dist/guard/has-key.mjs +1 -1
- package/dist/guard/is-non-null-object.d.mts +1 -1
- package/dist/guard/is-non-null-object.mjs +1 -1
- package/dist/guard/is-record.d.mts +1 -1
- package/dist/guard/is-record.mjs +1 -1
- package/dist/guard/is-type.d.mts +23 -15
- package/dist/guard/is-type.d.mts.map +1 -1
- package/dist/guard/is-type.mjs +23 -15
- package/dist/guard/is-type.mjs.map +1 -1
- package/dist/number/num.d.mts +4 -4
- package/dist/number/num.d.mts.map +1 -1
- package/dist/number/num.mjs.map +1 -1
- package/dist/object/object.d.mts +1 -1
- package/dist/object/object.mjs +1 -1
- package/dist/others/memoize-function.d.mts +3 -2
- package/dist/others/memoize-function.d.mts.map +1 -1
- package/dist/others/memoize-function.mjs +10 -39
- package/dist/others/memoize-function.mjs.map +1 -1
- package/package.json +14 -11
- package/src/array/impl/array-utils-creation.mts +1 -3
- package/src/array/impl/array-utils-creation.test.mts +13 -5
- package/src/array/impl/array-utils-element-access.mts +2 -2
- package/src/array/impl/array-utils-iterators.test.mts +8 -3
- package/src/array/impl/array-utils-modification.mts +5 -6
- package/src/array/impl/array-utils-modification.test.mts +3 -3
- package/src/array/impl/array-utils-overload-type-error.test.mts +1 -1
- package/src/array/impl/array-utils-reducing-value.test.mts +5 -5
- package/src/array/impl/array-utils-search.mts +9 -7
- package/src/array/impl/array-utils-search.test.mts +2 -2
- package/src/array/impl/array-utils-set-op.mts +2 -1
- package/src/array/impl/array-utils-size.mts +1 -1
- package/src/array/impl/array-utils-transformation.test.mts +23 -22
- package/src/array/impl/array-utils-validation.mts +2 -2
- package/src/array/impl/array-utils-validation.test.mts +36 -29
- package/src/array/impl/array.test.mts +3 -0
- package/src/collections/imap-mapped.test.mts +5 -2
- package/src/collections/imap.mts +3 -3
- package/src/collections/iset-mapped.mts +3 -3
- package/src/collections/iset-mapped.test.mts +1 -1
- package/src/collections/iset.mts +3 -3
- package/src/collections/queue.mts +21 -21
- package/src/collections/queue.test.mts +1 -1
- package/src/collections/stack.mts +12 -12
- package/src/functional/match.mts +21 -12
- package/src/globals.d.mts +1 -1
- package/src/guard/has-key.mts +1 -1
- package/src/guard/has-key.test.mts +16 -35
- package/src/guard/is-error.test.mts +1 -1
- package/src/guard/is-non-empty-string.test.mts +1 -1
- package/src/guard/is-non-null-object.mts +1 -1
- package/src/guard/is-non-null-object.test.mts +1 -1
- package/src/guard/is-primitive.test.mts +1 -1
- package/src/guard/is-record.mts +1 -1
- package/src/guard/is-type.mts +23 -15
- package/src/guard/is-type.test.mts +6 -6
- package/src/json/json.test.mts +2 -0
- package/src/number/num.mts +2 -6
- package/src/object/object.mts +1 -1
- package/src/object/object.test.mts +7 -5
- package/src/others/cast-mutable.test.mts +7 -4
- package/src/others/map-nullable.test.mts +3 -3
- package/src/others/memoize-function.mts +35 -17
- package/src/others/memoize-function.test.mts +25 -0
package/dist/guard/is-record.mjs
CHANGED
|
@@ -25,7 +25,7 @@ import { isNonNullObject } from './is-non-null-object.mjs';
|
|
|
25
25
|
* @example
|
|
26
26
|
*
|
|
27
27
|
* ```ts
|
|
28
|
-
* const entries: unknown[] = [{ id: 1 }, 'str', 0, null];
|
|
28
|
+
* const entries: readonly unknown[] = [{ id: 1 }, 'str', 0, null];
|
|
29
29
|
*
|
|
30
30
|
* const records = entries.filter(isRecord);
|
|
31
31
|
*
|
package/dist/guard/is-type.d.mts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @example
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
|
-
* const values: (number | undefined)[] = [1, undefined, 2];
|
|
12
|
+
* const values: readonly (number | undefined)[] = [1, undefined, 2];
|
|
13
13
|
*
|
|
14
14
|
* const undefinedValues = values.filter(isUndefined);
|
|
15
15
|
*
|
|
@@ -33,7 +33,7 @@ export declare const isUndefined: (u: unknown) => u is undefined;
|
|
|
33
33
|
* @example
|
|
34
34
|
*
|
|
35
35
|
* ```ts
|
|
36
|
-
* const values: (number | undefined)[] = [1, undefined, 2];
|
|
36
|
+
* const values: readonly (number | undefined)[] = [1, undefined, 2];
|
|
37
37
|
*
|
|
38
38
|
* const definedValues = values.filter(isNotUndefined);
|
|
39
39
|
*
|
|
@@ -57,7 +57,7 @@ export declare const isNotUndefined: <T>(u: T) => u is RelaxedExclude<T, undefin
|
|
|
57
57
|
* @example
|
|
58
58
|
*
|
|
59
59
|
* ```ts
|
|
60
|
-
* const flags: unknown[] = [true, 'no', false];
|
|
60
|
+
* const flags: readonly unknown[] = [true, 'no', false];
|
|
61
61
|
*
|
|
62
62
|
* const booleans = flags.filter(isBoolean);
|
|
63
63
|
*
|
|
@@ -80,7 +80,7 @@ export declare const isBoolean: (u: unknown) => u is boolean;
|
|
|
80
80
|
* @example
|
|
81
81
|
*
|
|
82
82
|
* ```ts
|
|
83
|
-
* const flags: unknown[] = [true, 'no', false];
|
|
83
|
+
* const flags: readonly unknown[] = [true, 'no', false];
|
|
84
84
|
*
|
|
85
85
|
* const nonBooleans = flags.filter(isNotBoolean);
|
|
86
86
|
*
|
|
@@ -105,7 +105,7 @@ export declare const isNotBoolean: <T>(u: T) => u is RelaxedExclude<T, boolean>;
|
|
|
105
105
|
* @example
|
|
106
106
|
*
|
|
107
107
|
* ```ts
|
|
108
|
-
* const mixed: unknown[] = [1, '2', 3];
|
|
108
|
+
* const mixed: readonly unknown[] = [1, '2', 3];
|
|
109
109
|
*
|
|
110
110
|
* const numbers = mixed.filter(isNumber);
|
|
111
111
|
*
|
|
@@ -128,7 +128,7 @@ export declare const isNumber: (u: unknown) => u is number;
|
|
|
128
128
|
* @example
|
|
129
129
|
*
|
|
130
130
|
* ```ts
|
|
131
|
-
* const mixed: unknown[] = [1, '2', 3];
|
|
131
|
+
* const mixed: readonly unknown[] = [1, '2', 3];
|
|
132
132
|
*
|
|
133
133
|
* const nonNumbers = mixed.filter(isNotNumber);
|
|
134
134
|
*
|
|
@@ -152,7 +152,7 @@ export declare const isNotNumber: <T>(u: T) => u is RelaxedExclude<T, number>;
|
|
|
152
152
|
* @example
|
|
153
153
|
*
|
|
154
154
|
* ```ts
|
|
155
|
-
* const values: unknown[] = [1n, 2, 3n];
|
|
155
|
+
* const values: readonly unknown[] = [1n, 2, 3n];
|
|
156
156
|
*
|
|
157
157
|
* const bigints = values.filter(isBigint);
|
|
158
158
|
*
|
|
@@ -175,7 +175,7 @@ export declare const isBigint: (u: unknown) => u is bigint;
|
|
|
175
175
|
* @example
|
|
176
176
|
*
|
|
177
177
|
* ```ts
|
|
178
|
-
* const values: unknown[] = [1n, 2, 3n];
|
|
178
|
+
* const values: readonly unknown[] = [1n, 2, 3n];
|
|
179
179
|
*
|
|
180
180
|
* const nonBigints = values.filter(isNotBigint);
|
|
181
181
|
*
|
|
@@ -200,7 +200,7 @@ export declare const isNotBigint: <T>(u: T) => u is RelaxedExclude<T, bigint>;
|
|
|
200
200
|
* @example
|
|
201
201
|
*
|
|
202
202
|
* ```ts
|
|
203
|
-
* const values: unknown[] = ['Ada', 42, 'Lovelace'];
|
|
203
|
+
* const values: readonly unknown[] = ['Ada', 42, 'Lovelace'];
|
|
204
204
|
*
|
|
205
205
|
* const strings = values.filter(isString);
|
|
206
206
|
*
|
|
@@ -223,7 +223,7 @@ export declare const isString: (u: unknown) => u is string;
|
|
|
223
223
|
* @example
|
|
224
224
|
*
|
|
225
225
|
* ```ts
|
|
226
|
-
* const values: unknown[] = ['Ada', 42, 'Lovelace'];
|
|
226
|
+
* const values: readonly unknown[] = ['Ada', 42, 'Lovelace'];
|
|
227
227
|
*
|
|
228
228
|
* const nonStrings = values.filter(isNotString);
|
|
229
229
|
*
|
|
@@ -251,7 +251,7 @@ export declare const isNotString: <T>(u: T) => u is RelaxedExclude<T, string>;
|
|
|
251
251
|
*
|
|
252
252
|
* const shared = Symbol.for('shared');
|
|
253
253
|
*
|
|
254
|
-
* const tokens: unknown[] = [id, 'shared', shared];
|
|
254
|
+
* const tokens: readonly unknown[] = [id, 'shared', shared];
|
|
255
255
|
*
|
|
256
256
|
* const symbols = tokens.filter(isSymbol);
|
|
257
257
|
*
|
|
@@ -276,7 +276,7 @@ export declare const isSymbol: (u: unknown) => u is symbol;
|
|
|
276
276
|
* ```ts
|
|
277
277
|
* const id = Symbol('id');
|
|
278
278
|
*
|
|
279
|
-
* const tokens: unknown[] = [id, 'shared'];
|
|
279
|
+
* const tokens: readonly unknown[] = [id, 'shared'];
|
|
280
280
|
*
|
|
281
281
|
* const nonSymbols = tokens.filter(isNotSymbol);
|
|
282
282
|
*
|
|
@@ -324,7 +324,7 @@ export declare const isNull: (u: unknown) => u is null;
|
|
|
324
324
|
* @example
|
|
325
325
|
*
|
|
326
326
|
* ```ts
|
|
327
|
-
* const values: (number | null)[] = [null, 5];
|
|
327
|
+
* const values: readonly (number | null)[] = [null, 5];
|
|
328
328
|
*
|
|
329
329
|
* const nonNullValues = values.filter(isNotNull);
|
|
330
330
|
*
|
|
@@ -352,7 +352,11 @@ export declare const isNotNull: <T>(u: T | null) => u is T;
|
|
|
352
352
|
* @example
|
|
353
353
|
*
|
|
354
354
|
* ```ts
|
|
355
|
-
* const values: (string | null | undefined)[] = [
|
|
355
|
+
* const values: readonly (string | null | undefined)[] = [
|
|
356
|
+
* 'Ada',
|
|
357
|
+
* null,
|
|
358
|
+
* undefined,
|
|
359
|
+
* ];
|
|
356
360
|
*
|
|
357
361
|
* const nullishValues = values.filter(isNullish);
|
|
358
362
|
*
|
|
@@ -380,7 +384,11 @@ export declare const isNullish: (u: unknown) => u is null | undefined;
|
|
|
380
384
|
* @example
|
|
381
385
|
*
|
|
382
386
|
* ```ts
|
|
383
|
-
* const values: (string | null | undefined)[] = [
|
|
387
|
+
* const values: readonly (string | null | undefined)[] = [
|
|
388
|
+
* 'Ada',
|
|
389
|
+
* null,
|
|
390
|
+
* undefined,
|
|
391
|
+
* ];
|
|
384
392
|
*
|
|
385
393
|
* const definedValues = values.filter(isNonNullish);
|
|
386
394
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-type.d.mts","sourceRoot":"","sources":["../../src/guard/is-type.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SAA4B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,SAAS,CACzD,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAAiC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,OAAO,CAC9C,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAkB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAG,GAAG,CAAC,GAAG,IAAI,KAAG,CAAC,IAAI,CAAe,CAAC;AAEjE
|
|
1
|
+
{"version":3,"file":"is-type.d.mts","sourceRoot":"","sources":["../../src/guard/is-type.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SAA4B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,SAAS,CACzD,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,OAAiC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,OAAO,CAC9C,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,MAA+B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,MAAM,CAC7C,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAkB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAG,GAAG,CAAC,GAAG,IAAI,KAAG,CAAC,IAAI,CAAe,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAAI,GAAG,SAAsB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAG,GAAG,CAAC,KAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAc,CAAC"}
|
package/dist/guard/is-type.mjs
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @example
|
|
10
10
|
*
|
|
11
11
|
* ```ts
|
|
12
|
-
* const values: (number | undefined)[] = [1, undefined, 2];
|
|
12
|
+
* const values: readonly (number | undefined)[] = [1, undefined, 2];
|
|
13
13
|
*
|
|
14
14
|
* const undefinedValues = values.filter(isUndefined);
|
|
15
15
|
*
|
|
@@ -33,7 +33,7 @@ const isUndefined = (u) => u === undefined;
|
|
|
33
33
|
* @example
|
|
34
34
|
*
|
|
35
35
|
* ```ts
|
|
36
|
-
* const values: (number | undefined)[] = [1, undefined, 2];
|
|
36
|
+
* const values: readonly (number | undefined)[] = [1, undefined, 2];
|
|
37
37
|
*
|
|
38
38
|
* const definedValues = values.filter(isNotUndefined);
|
|
39
39
|
*
|
|
@@ -57,7 +57,7 @@ const isNotUndefined = (u) => u !== undefined;
|
|
|
57
57
|
* @example
|
|
58
58
|
*
|
|
59
59
|
* ```ts
|
|
60
|
-
* const flags: unknown[] = [true, 'no', false];
|
|
60
|
+
* const flags: readonly unknown[] = [true, 'no', false];
|
|
61
61
|
*
|
|
62
62
|
* const booleans = flags.filter(isBoolean);
|
|
63
63
|
*
|
|
@@ -80,7 +80,7 @@ const isBoolean = (u) => typeof u === 'boolean';
|
|
|
80
80
|
* @example
|
|
81
81
|
*
|
|
82
82
|
* ```ts
|
|
83
|
-
* const flags: unknown[] = [true, 'no', false];
|
|
83
|
+
* const flags: readonly unknown[] = [true, 'no', false];
|
|
84
84
|
*
|
|
85
85
|
* const nonBooleans = flags.filter(isNotBoolean);
|
|
86
86
|
*
|
|
@@ -105,7 +105,7 @@ const isNotBoolean = (u) => typeof u !== 'boolean';
|
|
|
105
105
|
* @example
|
|
106
106
|
*
|
|
107
107
|
* ```ts
|
|
108
|
-
* const mixed: unknown[] = [1, '2', 3];
|
|
108
|
+
* const mixed: readonly unknown[] = [1, '2', 3];
|
|
109
109
|
*
|
|
110
110
|
* const numbers = mixed.filter(isNumber);
|
|
111
111
|
*
|
|
@@ -128,7 +128,7 @@ const isNumber = (u) => typeof u === 'number';
|
|
|
128
128
|
* @example
|
|
129
129
|
*
|
|
130
130
|
* ```ts
|
|
131
|
-
* const mixed: unknown[] = [1, '2', 3];
|
|
131
|
+
* const mixed: readonly unknown[] = [1, '2', 3];
|
|
132
132
|
*
|
|
133
133
|
* const nonNumbers = mixed.filter(isNotNumber);
|
|
134
134
|
*
|
|
@@ -152,7 +152,7 @@ const isNotNumber = (u) => typeof u !== 'number';
|
|
|
152
152
|
* @example
|
|
153
153
|
*
|
|
154
154
|
* ```ts
|
|
155
|
-
* const values: unknown[] = [1n, 2, 3n];
|
|
155
|
+
* const values: readonly unknown[] = [1n, 2, 3n];
|
|
156
156
|
*
|
|
157
157
|
* const bigints = values.filter(isBigint);
|
|
158
158
|
*
|
|
@@ -175,7 +175,7 @@ const isBigint = (u) => typeof u === 'bigint';
|
|
|
175
175
|
* @example
|
|
176
176
|
*
|
|
177
177
|
* ```ts
|
|
178
|
-
* const values: unknown[] = [1n, 2, 3n];
|
|
178
|
+
* const values: readonly unknown[] = [1n, 2, 3n];
|
|
179
179
|
*
|
|
180
180
|
* const nonBigints = values.filter(isNotBigint);
|
|
181
181
|
*
|
|
@@ -200,7 +200,7 @@ const isNotBigint = (u) => typeof u !== 'bigint';
|
|
|
200
200
|
* @example
|
|
201
201
|
*
|
|
202
202
|
* ```ts
|
|
203
|
-
* const values: unknown[] = ['Ada', 42, 'Lovelace'];
|
|
203
|
+
* const values: readonly unknown[] = ['Ada', 42, 'Lovelace'];
|
|
204
204
|
*
|
|
205
205
|
* const strings = values.filter(isString);
|
|
206
206
|
*
|
|
@@ -223,7 +223,7 @@ const isString = (u) => typeof u === 'string';
|
|
|
223
223
|
* @example
|
|
224
224
|
*
|
|
225
225
|
* ```ts
|
|
226
|
-
* const values: unknown[] = ['Ada', 42, 'Lovelace'];
|
|
226
|
+
* const values: readonly unknown[] = ['Ada', 42, 'Lovelace'];
|
|
227
227
|
*
|
|
228
228
|
* const nonStrings = values.filter(isNotString);
|
|
229
229
|
*
|
|
@@ -251,7 +251,7 @@ const isNotString = (u) => typeof u !== 'string';
|
|
|
251
251
|
*
|
|
252
252
|
* const shared = Symbol.for('shared');
|
|
253
253
|
*
|
|
254
|
-
* const tokens: unknown[] = [id, 'shared', shared];
|
|
254
|
+
* const tokens: readonly unknown[] = [id, 'shared', shared];
|
|
255
255
|
*
|
|
256
256
|
* const symbols = tokens.filter(isSymbol);
|
|
257
257
|
*
|
|
@@ -276,7 +276,7 @@ const isSymbol = (u) => typeof u === 'symbol';
|
|
|
276
276
|
* ```ts
|
|
277
277
|
* const id = Symbol('id');
|
|
278
278
|
*
|
|
279
|
-
* const tokens: unknown[] = [id, 'shared'];
|
|
279
|
+
* const tokens: readonly unknown[] = [id, 'shared'];
|
|
280
280
|
*
|
|
281
281
|
* const nonSymbols = tokens.filter(isNotSymbol);
|
|
282
282
|
*
|
|
@@ -324,7 +324,7 @@ const isNull = (u) => u === null;
|
|
|
324
324
|
* @example
|
|
325
325
|
*
|
|
326
326
|
* ```ts
|
|
327
|
-
* const values: (number | null)[] = [null, 5];
|
|
327
|
+
* const values: readonly (number | null)[] = [null, 5];
|
|
328
328
|
*
|
|
329
329
|
* const nonNullValues = values.filter(isNotNull);
|
|
330
330
|
*
|
|
@@ -352,7 +352,11 @@ const isNotNull = (u) => u !== null;
|
|
|
352
352
|
* @example
|
|
353
353
|
*
|
|
354
354
|
* ```ts
|
|
355
|
-
* const values: (string | null | undefined)[] = [
|
|
355
|
+
* const values: readonly (string | null | undefined)[] = [
|
|
356
|
+
* 'Ada',
|
|
357
|
+
* null,
|
|
358
|
+
* undefined,
|
|
359
|
+
* ];
|
|
356
360
|
*
|
|
357
361
|
* const nullishValues = values.filter(isNullish);
|
|
358
362
|
*
|
|
@@ -380,7 +384,11 @@ const isNullish = (u) => u == null;
|
|
|
380
384
|
* @example
|
|
381
385
|
*
|
|
382
386
|
* ```ts
|
|
383
|
-
* const values: (string | null | undefined)[] = [
|
|
387
|
+
* const values: readonly (string | null | undefined)[] = [
|
|
388
|
+
* 'Ada',
|
|
389
|
+
* null,
|
|
390
|
+
* undefined,
|
|
391
|
+
* ];
|
|
384
392
|
*
|
|
385
393
|
* const definedValues = values.filter(isNonNullish);
|
|
386
394
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-type.mjs","sources":["../../src/guard/is-type.mts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,WAAW,GAAG,CAAC,CAAU,KAAqB,CAAC,KAAK;AAEjE;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,cAAc,GAAG,CAAK,CAAI,KACrC,CAAC,KAAK;AAER;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,SAAS,GAAG,CAAC,CAAU,KAAmB,OAAO,CAAC,KAAK;AAEpE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,YAAY,GAAG,CAAK,CAAI,KACnC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,MAAM,GAAG,CAAC,CAAU,KAAgB,CAAC,KAAK;AAEvD;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,SAAS,GAAG,CAAK,CAAW,KAAa,CAAC,KAAK;AAE5D
|
|
1
|
+
{"version":3,"file":"is-type.mjs","sources":["../../src/guard/is-type.mts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,WAAW,GAAG,CAAC,CAAU,KAAqB,CAAC,KAAK;AAEjE;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,cAAc,GAAG,CAAK,CAAI,KACrC,CAAC,KAAK;AAER;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,SAAS,GAAG,CAAC,CAAU,KAAmB,OAAO,CAAC,KAAK;AAEpE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,YAAY,GAAG,CAAK,CAAI,KACnC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,MAAM,QAAQ,GAAG,CAAC,CAAU,KAAkB,OAAO,CAAC,KAAK;AAElE;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,WAAW,GAAG,CAAK,CAAI,KAClC,OAAO,CAAC,KAAK;AAEf;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,MAAM,GAAG,CAAC,CAAU,KAAgB,CAAC,KAAK;AAEvD;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,MAAM,SAAS,GAAG,CAAK,CAAW,KAAa,CAAC,KAAK;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACI,MAAM,SAAS,GAAG,CAAC,CAAU,KAA4B,CAAC,IAAI;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BG;AACI,MAAM,YAAY,GAAG,CAAK,CAAI,KAA0B,CAAC,IAAI;;;;"}
|
package/dist/number/num.d.mts
CHANGED
|
@@ -160,9 +160,9 @@ export declare namespace Num {
|
|
|
160
160
|
* - LT[3] = 0 | 1 | 2
|
|
161
161
|
* - LT[5] = 0 | 1 | 2 | 3 | 4
|
|
162
162
|
*/
|
|
163
|
-
type LT = {
|
|
163
|
+
type LT = Readonly<{
|
|
164
164
|
[N in SmallUint]: Index<N>;
|
|
165
|
-
}
|
|
165
|
+
}>;
|
|
166
166
|
/**
|
|
167
167
|
* @template N - A SmallUint representing the inclusive upper bound
|
|
168
168
|
* @internal
|
|
@@ -173,9 +173,9 @@ export declare namespace Num {
|
|
|
173
173
|
* - LEQ[3] = 0 | 1 | 2 | 3
|
|
174
174
|
* - LEQ[5] = 0 | 1 | 2 | 3 | 4 | 5
|
|
175
175
|
*/
|
|
176
|
-
type LEQ = {
|
|
176
|
+
type LEQ = Readonly<{
|
|
177
177
|
[N in SmallUint]: Index<N> | N;
|
|
178
|
-
}
|
|
178
|
+
}>;
|
|
179
179
|
/**
|
|
180
180
|
* Creates a type guard that checks if a number is an unsigned integer within
|
|
181
181
|
* a specified range.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"num.d.mts","sourceRoot":"","sources":["../../src/number/num.mts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,yBAAiB,GAAG,CAAC;IACnB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAe,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EACxC,KAAK,CAAC,KACL,GAAG,IAAI,aAAa,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,CAAc,CAAC;IAI5D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,EAC5C,KAAK,CAAC,KACL,GAAG,IAAI,iBAAiB,GAAG,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CACzD,CAAC;IAEX;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,MAAM,UAAU,GAAI,CAAC,SAAS,MAAM,EACzC,KAAK,CAAC,KACL,GAAG,IAAI,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAC3D,CAAC;IAEV;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,SAAS,GACnB,YAAY,MAAM,EAAE,YAAY,MAAM,MACtC,GAAG,MAAM,KAAG,OACsB,CAAC;IAEtC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,MAAM,kBAAkB,GAC5B,YAAY,MAAM,EAAE,YAAY,MAAM,MACtC,GAAG,MAAM,KAAG,OACuB,CAAC;IAEvC;;;;;;;;;OASG;IACH,KAAK,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"num.d.mts","sourceRoot":"","sources":["../../src/number/num.mts"],"names":[],"mappings":"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"}
|
package/dist/number/num.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"num.mjs","sources":["../../src/number/num.mts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;AAcG;IACc;AAAjB,CAAA,UAAiB,GAAG,EAAA;AAClB;;;;;;;;;;;;;;;AAeG;IACU,GAAA,CAAA,IAAI,GAA2B,MAAM;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;IACU,GAAA,CAAA,SAAS,GAAG,CACvB,GAAM,KAC0C,GAAG,KAAK,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;IACU,GAAA,CAAA,aAAa,GAAG,CAC3B,GAAM,KAEN,GAAG,IAAI,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;;AAsBG;IACU,GAAA,CAAA,UAAU,GAAG,CACxB,GAAM,KAEN,GAAG,GAAG,CAAC;AAET;;;;;;;;;;;;;;;;;;AAkBG;IACU,GAAA,CAAA,SAAS,GACpB,CAAC,UAAkB,EAAE,UAAkB,KACvC,CAAC,CAAS,KACR,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU;AAErC;;;;;;;;;;;;;;;;;;AAkBG;IACU,GAAA,CAAA,kBAAkB,GAC7B,CAAC,UAAkB,EAAE,UAAkB,KACvC,CAAC,CAAS,KACR,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU;
|
|
1
|
+
{"version":3,"file":"num.mjs","sources":["../../src/number/num.mts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/object/object.d.mts
CHANGED
|
@@ -173,7 +173,7 @@ export declare namespace Obj {
|
|
|
173
173
|
* });
|
|
174
174
|
*
|
|
175
175
|
* // Dynamic length array - Partial type applied
|
|
176
|
-
* const dynamicEntries: (readonly ['x' | 'y', number])[] = [
|
|
176
|
+
* const dynamicEntries: readonly (readonly ['x' | 'y', number])[] = [
|
|
177
177
|
* ['x', 10],
|
|
178
178
|
* ['y', 20],
|
|
179
179
|
* ];
|
package/dist/object/object.mjs
CHANGED
|
@@ -124,7 +124,7 @@ var Obj;
|
|
|
124
124
|
* });
|
|
125
125
|
*
|
|
126
126
|
* // Dynamic length array - Partial type applied
|
|
127
|
-
* const dynamicEntries: (readonly ['x' | 'y', number])[] = [
|
|
127
|
+
* const dynamicEntries: readonly (readonly ['x' | 'y', number])[] = [
|
|
128
128
|
* ['x', 10],
|
|
129
129
|
* ['y', 20],
|
|
130
130
|
* ];
|
|
@@ -21,10 +21,11 @@
|
|
|
21
21
|
* key)
|
|
22
22
|
* @param fn - The pure function to memoize
|
|
23
23
|
* @param argsToCacheKey - Function that converts arguments to a unique cache
|
|
24
|
-
* key
|
|
24
|
+
* key. Optional for zero-argument functions.
|
|
25
25
|
* @returns A memoized version of the input function with the same signature
|
|
26
26
|
*
|
|
27
27
|
* @see https://en.wikipedia.org/wiki/Memoization
|
|
28
28
|
*/
|
|
29
|
-
export declare
|
|
29
|
+
export declare function memoizeFunction<R>(fn: () => R): () => R;
|
|
30
|
+
export declare function memoizeFunction<Arg0, const RestArgs extends readonly unknown[], R, K extends Primitive>(fn: (arg0: Arg0, ...args: RestArgs) => R, argsToCacheKey: (arg0: Arg0, ...args: RestArgs) => K): (arg0: Arg0, ...args: RestArgs) => R;
|
|
30
31
|
//# sourceMappingURL=memoize-function.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoize-function.d.mts","sourceRoot":"","sources":["../../src/others/memoize-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,
|
|
1
|
+
{"version":3,"file":"memoize-function.d.mts","sourceRoot":"","sources":["../../src/others/memoize-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAEzD,wBAAgB,eAAe,CAC7B,IAAI,EACJ,KAAK,CAAC,QAAQ,SAAS,SAAS,OAAO,EAAE,EACzC,CAAC,EACD,CAAC,SAAS,SAAS,EAEnB,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,KAAK,CAAC,EACxC,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,KAAK,CAAC,GACnD,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,KAAK,CAAC,CAAC"}
|
|
@@ -1,46 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
* Creates a memoized version of a function that caches results based on input
|
|
3
|
-
* arguments.
|
|
4
|
-
*
|
|
5
|
-
* The memoized function stores results in an internal Map and returns cached
|
|
6
|
-
* values for repeated calls with the same arguments. This can significantly
|
|
7
|
-
* improve performance for expensive computations or I/O operations.
|
|
8
|
-
*
|
|
9
|
-
* **Important considerations:**
|
|
10
|
-
*
|
|
11
|
-
* - The cache grows unbounded - consider memory implications for long-running
|
|
12
|
-
* applications
|
|
13
|
-
* - Cache keys must be primitives (string, number, boolean, symbol, null,
|
|
14
|
-
* undefined, bigint)
|
|
15
|
-
* - Object arguments require careful key generation to ensure uniqueness
|
|
16
|
-
* - Pure functions only - memoizing functions with side effects can lead to bugs
|
|
17
|
-
*
|
|
18
|
-
* @template A - The tuple type of the function arguments
|
|
19
|
-
* @template R - The return type of the function
|
|
20
|
-
* @template K - The primitive type used as the cache key (must be valid Map
|
|
21
|
-
* key)
|
|
22
|
-
* @param fn - The pure function to memoize
|
|
23
|
-
* @param argsToCacheKey - Function that converts arguments to a unique cache
|
|
24
|
-
* key
|
|
25
|
-
* @returns A memoized version of the input function with the same signature
|
|
26
|
-
*
|
|
27
|
-
* @see https://en.wikipedia.org/wiki/Memoization
|
|
28
|
-
*/
|
|
29
|
-
const memoizeFunction = (fn, argsToCacheKey) => {
|
|
1
|
+
function memoizeFunction(fn, argsToCacheKey) {
|
|
30
2
|
const mut_cache = new Map();
|
|
3
|
+
const defaultKey = Symbol('memoize-default-key');
|
|
31
4
|
return (...args) => {
|
|
32
|
-
const key = argsToCacheKey(...args);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
const result = fn(...args);
|
|
39
|
-
mut_cache.set(key, result);
|
|
40
|
-
return result;
|
|
5
|
+
const key = argsToCacheKey === undefined ? defaultKey : argsToCacheKey(...args);
|
|
6
|
+
const cached = mut_cache.get(key);
|
|
7
|
+
if (cached !== undefined) {
|
|
8
|
+
return cached.value;
|
|
41
9
|
}
|
|
10
|
+
const result = fn(...args);
|
|
11
|
+
mut_cache.set(key, { value: result });
|
|
12
|
+
return result;
|
|
42
13
|
};
|
|
43
|
-
}
|
|
14
|
+
}
|
|
44
15
|
|
|
45
16
|
export { memoizeFunction };
|
|
46
17
|
//# sourceMappingURL=memoize-function.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoize-function.mjs","sources":["../../src/others/memoize-function.mts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memoize-function.mjs","sources":["../../src/others/memoize-function.mts"],"sourcesContent":[null],"names":[],"mappings":"AAwCM,SAAU,eAAe,CAK7B,EAAwB,EACxB,cAAqC,EAAA;AAIrC,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B;AAEnD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAEhD,IAAA,OAAO,CAAC,GAAG,IAAU,KAAO;AAC1B,QAAA,MAAM,GAAG,GACP,cAAc,KAAK,SAAS,GAAG,UAAU,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC;QAErE,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;AAEjC,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,MAAM,CAAC,KAAK;QACrB;AAEA,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;QAE1B,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAErC,QAAA,OAAO,MAAM;AACf,IAAA,CAAC;AACH;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-data-forge",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -37,10 +37,12 @@
|
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "tsx ./scripts/cmd/build.mts",
|
|
39
39
|
"build:min": "tsx ./scripts/cmd/build.mts --skip-check",
|
|
40
|
-
"check-all": "tsx ./scripts/cmd/check-all.mts",
|
|
41
40
|
"check:ext": "tsx ./scripts/cmd/check-ext.mts",
|
|
41
|
+
"check-all": "tsx ./scripts/cmd/check-all.mts",
|
|
42
42
|
"clean": "pnpm run /clean:.*/",
|
|
43
43
|
"clean:logs": "npx rimraf ./*.log",
|
|
44
|
+
"codemod": "run-s codemod:all fmt",
|
|
45
|
+
"codemod:all": "convert-to-readonly '{src,scripts,samples,test}/**/*.{mts,tsx}'",
|
|
44
46
|
"cspell": "cspell \"**\" --gitignore --gitignore-root ./ --no-progress",
|
|
45
47
|
"doc": "tsx ./scripts/cmd/gen-docs.mts",
|
|
46
48
|
"doc:embed": "tsx ./scripts/cmd/embed-examples.mts",
|
|
@@ -77,7 +79,7 @@
|
|
|
77
79
|
},
|
|
78
80
|
"dependencies": {
|
|
79
81
|
"@sindresorhus/is": "^7.2.0",
|
|
80
|
-
"ts-type-forge": "^2.3.
|
|
82
|
+
"ts-type-forge": "^2.3.1"
|
|
81
83
|
},
|
|
82
84
|
"devDependencies": {
|
|
83
85
|
"@emotion/react": "11.14.0",
|
|
@@ -99,23 +101,24 @@
|
|
|
99
101
|
"@vitest/coverage-v8": "4.0.17",
|
|
100
102
|
"@vitest/ui": "4.0.17",
|
|
101
103
|
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
102
|
-
"cspell": "9.6.
|
|
104
|
+
"cspell": "9.6.2",
|
|
103
105
|
"dedent": "^1.7.1",
|
|
104
106
|
"eslint": "9.39.2",
|
|
105
107
|
"eslint-config-typed": "4.6.0",
|
|
106
|
-
"github-settings-as-code": "1.0.
|
|
108
|
+
"github-settings-as-code": "1.0.11",
|
|
107
109
|
"immer": "11.1.3",
|
|
108
110
|
"jiti": "2.6.1",
|
|
109
111
|
"markdownlint": "0.40.0",
|
|
110
112
|
"markdownlint-cli2": "0.20.0",
|
|
111
113
|
"npm-run-all2": "8.0.4",
|
|
112
|
-
"playwright": "1.
|
|
113
|
-
"prettier": "3.8.
|
|
114
|
+
"playwright": "1.58.0",
|
|
115
|
+
"prettier": "3.8.1",
|
|
114
116
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
115
|
-
"prettier-plugin-packagejson": "
|
|
116
|
-
"rollup": "4.
|
|
117
|
+
"prettier-plugin-packagejson": "3.0.0",
|
|
118
|
+
"rollup": "4.57.0",
|
|
117
119
|
"semantic-release": "25.0.2",
|
|
118
|
-
"ts-
|
|
120
|
+
"ts-codemod-lib": "^1.1.3",
|
|
121
|
+
"ts-repo-utils": "8.1.0",
|
|
119
122
|
"tslib": "2.8.1",
|
|
120
123
|
"tsx": "4.21.0",
|
|
121
124
|
"typedoc": "0.28.16",
|
|
@@ -127,7 +130,7 @@
|
|
|
127
130
|
"peerDependencies": {
|
|
128
131
|
"typescript": ">=4.8"
|
|
129
132
|
},
|
|
130
|
-
"packageManager": "pnpm@10.
|
|
133
|
+
"packageManager": "pnpm@10.28.2",
|
|
131
134
|
"engines": {
|
|
132
135
|
"node": ">=20.11.0",
|
|
133
136
|
"pnpm": ">=8.0.0"
|
|
@@ -145,9 +145,7 @@ export const copy = <const Ar extends readonly unknown[]>(array: Ar): Ar =>
|
|
|
145
145
|
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
146
146
|
array.slice() as unknown as Ar;
|
|
147
147
|
|
|
148
|
-
type LT = Readonly<{
|
|
149
|
-
[N in SmallUint]: Index<N>;
|
|
150
|
-
}>;
|
|
148
|
+
type LT = Readonly<{ [N in SmallUint]: Index<N> }>;
|
|
151
149
|
|
|
152
150
|
type RangeList<S extends SmallUint, E extends SmallUint> =
|
|
153
151
|
BoolOr<IsUnion<S>, IsUnion<E>> extends true
|
|
@@ -141,6 +141,7 @@ describe('Arr creations', () => {
|
|
|
141
141
|
|
|
142
142
|
const result = create(2, obj);
|
|
143
143
|
|
|
144
|
+
// transformer-ignore-next-line
|
|
144
145
|
expectType<typeof result, readonly [{ id: number }, { id: number }]>(
|
|
145
146
|
'~=',
|
|
146
147
|
);
|
|
@@ -229,6 +230,7 @@ describe('Arr creations', () => {
|
|
|
229
230
|
|
|
230
231
|
const copied = copy(original);
|
|
231
232
|
|
|
233
|
+
// transformer-ignore-next-line
|
|
232
234
|
expectType<typeof copied, readonly [{ id: number }, { id: number }]>('=');
|
|
233
235
|
|
|
234
236
|
assert.deepStrictEqual(copied, original);
|
|
@@ -271,6 +273,7 @@ describe('Arr creations', () => {
|
|
|
271
273
|
|
|
272
274
|
const copied = copy(mut_original);
|
|
273
275
|
|
|
276
|
+
// transformer-ignore-next-line
|
|
274
277
|
expectType<typeof copied, number[]>('=');
|
|
275
278
|
|
|
276
279
|
assert.deepStrictEqual(copied, mut_original);
|
|
@@ -673,13 +676,18 @@ describe('Arr creations', () => {
|
|
|
673
676
|
});
|
|
674
677
|
|
|
675
678
|
test('generator with complex data types', () => {
|
|
676
|
-
const result = generate<{ id: number; name: string }
|
|
677
|
-
|
|
679
|
+
const result = generate<Readonly<{ id: number; name: string }>>(
|
|
680
|
+
function* () {
|
|
681
|
+
yield { id: 1, name: 'Alice' };
|
|
678
682
|
|
|
679
|
-
|
|
680
|
-
|
|
683
|
+
yield { id: 2, name: 'Bob' };
|
|
684
|
+
},
|
|
685
|
+
);
|
|
681
686
|
|
|
682
|
-
expectType<
|
|
687
|
+
expectType<
|
|
688
|
+
typeof result,
|
|
689
|
+
readonly Readonly<{ id: number; name: string }>[]
|
|
690
|
+
>('=');
|
|
683
691
|
|
|
684
692
|
assert.deepStrictEqual(result, [
|
|
685
693
|
{ id: 1, name: 'Alice' },
|
|
@@ -66,7 +66,7 @@ export function at<E>(
|
|
|
66
66
|
* ```ts
|
|
67
67
|
* const users = [{ id: 1 }, { id: 2 }];
|
|
68
68
|
*
|
|
69
|
-
* const empty: { id: number }[] = [];
|
|
69
|
+
* const empty: readonly Readonly<{ id: number }>[] = [];
|
|
70
70
|
*
|
|
71
71
|
* const first = Arr.head(users);
|
|
72
72
|
*
|
|
@@ -97,7 +97,7 @@ export const head = <const Ar extends readonly unknown[]>(
|
|
|
97
97
|
* ```ts
|
|
98
98
|
* const queue = ['first', 'second'];
|
|
99
99
|
*
|
|
100
|
-
* const emptyQueue: string[] = [];
|
|
100
|
+
* const emptyQueue: readonly string[] = [];
|
|
101
101
|
*
|
|
102
102
|
* const lastValue = Arr.last(queue);
|
|
103
103
|
*
|