ts-data-forge 14.7.1 → 14.9.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 +22 -34
- package/dist/array/impl/array-utils-creation.d.mts +3 -3
- 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.d.mts.map +1 -1
- package/dist/array/impl/array-utils-element-access.mjs +1 -1
- package/dist/array/impl/array-utils-element-access.mjs.map +1 -1
- package/dist/array/impl/array-utils-iterators.d.mts +1 -1
- package/dist/array/impl/array-utils-iterators.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-guard.d.mts +9 -9
- package/dist/array/impl/array-utils-length-bounded-array-guard.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-guard.mjs +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-guard.mjs.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.d.mts +2 -2
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-guard.d.mts +3 -3
- package/dist/array/impl/array-utils-length-bounded-tuple-guard.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-guard.mjs +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-guard.mjs.map +1 -1
- 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-reducing-value.d.mts +2 -2
- package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -1
- package/dist/array/impl/array-utils-reducing-value.mjs +3 -4
- package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -1
- package/dist/array/impl/array-utils-search.d.mts +1 -1
- package/dist/array/impl/array-utils-search.d.mts.map +1 -1
- package/dist/array/impl/array-utils-set-op.d.mts +1 -1
- package/dist/array/impl/array-utils-set-op.d.mts.map +1 -1
- package/dist/array/impl/array-utils-size.d.mts +2 -2
- package/dist/array/impl/array-utils-size.d.mts.map +1 -1
- package/dist/array/impl/array-utils-slice-clamped.d.mts +1 -1
- package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -1
- package/dist/array/impl/array-utils-slicing.d.mts +2 -2
- package/dist/array/impl/array-utils-slicing.d.mts.map +1 -1
- package/dist/array/impl/array-utils-transformation.d.mts +2 -2
- package/dist/array/impl/array-utils-transformation.d.mts.map +1 -1
- package/dist/array/impl/array-utils-transformation.mjs +6 -3
- package/dist/array/impl/array-utils-transformation.mjs.map +1 -1
- package/dist/array/impl/array-utils-validation.d.mts +2 -2
- package/dist/array/impl/array-utils-validation.d.mts.map +1 -1
- package/dist/collections/imap-mapped.d.mts +2 -2
- package/dist/collections/imap-mapped.d.mts.map +1 -1
- package/dist/collections/imap-mapped.mjs +10 -7
- package/dist/collections/imap-mapped.mjs.map +1 -1
- package/dist/collections/imap.d.mts +2 -2
- package/dist/collections/imap.d.mts.map +1 -1
- package/dist/collections/imap.mjs +10 -7
- package/dist/collections/imap.mjs.map +1 -1
- package/dist/collections/iset-mapped.d.mts +2 -2
- package/dist/collections/iset-mapped.d.mts.map +1 -1
- package/dist/collections/iset-mapped.mjs +6 -3
- package/dist/collections/iset-mapped.mjs.map +1 -1
- package/dist/collections/iset.d.mts +2 -2
- package/dist/collections/iset.d.mts.map +1 -1
- package/dist/collections/iset.mjs +5 -5
- package/dist/collections/iset.mjs.map +1 -1
- package/dist/collections/queue.d.mts +1 -1
- package/dist/collections/queue.d.mts.map +1 -1
- package/dist/collections/stack.d.mts +1 -1
- package/dist/collections/stack.d.mts.map +1 -1
- package/dist/functional/index.d.mts +2 -2
- package/dist/functional/index.d.mts.map +1 -1
- package/dist/functional/index.mjs +1 -1
- package/dist/functional/index.mjs.map +1 -1
- package/dist/guard/is-non-empty-string.d.mts +1 -1
- package/dist/guard/is-non-empty-string.d.mts.map +1 -1
- package/dist/guard/is-primitive.d.mts +1 -1
- package/dist/guard/is-primitive.d.mts.map +1 -1
- package/dist/guard/is-type.d.mts +1 -1
- package/dist/guard/is-type.d.mts.map +1 -1
- package/dist/iterator/range.d.mts +5 -4
- package/dist/iterator/range.d.mts.map +1 -1
- package/dist/iterator/range.mjs.map +1 -1
- package/dist/json/json.d.mts +29 -32
- package/dist/json/json.d.mts.map +1 -1
- package/dist/json/json.mjs +1 -4
- package/dist/json/json.mjs.map +1 -1
- package/dist/number/branded-types/finite-number.d.mts +1 -1
- package/dist/number/branded-types/finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/int.d.mts +2 -2
- package/dist/number/branded-types/int.d.mts.map +1 -1
- package/dist/number/branded-types/int16.d.mts +1 -1
- package/dist/number/branded-types/int16.d.mts.map +1 -1
- package/dist/number/branded-types/int32.d.mts +1 -1
- package/dist/number/branded-types/int32.d.mts.map +1 -1
- package/dist/number/branded-types/negative-finite-number.d.mts +1 -1
- package/dist/number/branded-types/negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/negative-int.d.mts +1 -1
- package/dist/number/branded-types/negative-int.d.mts.map +1 -1
- package/dist/number/branded-types/negative-safe-int.d.mts +1 -1
- package/dist/number/branded-types/negative-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-finite-number.d.mts +1 -1
- package/dist/number/branded-types/non-positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-int.d.mts +1 -1
- package/dist/number/branded-types/non-positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-positive-safe-int.d.mts +1 -1
- package/dist/number/branded-types/non-positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.d.mts +1 -1
- package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int.d.mts +1 -1
- package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int16.d.mts +1 -1
- package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int.d.mts +2 -2
- package/dist/number/branded-types/positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +1 -1
- package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +1 -1
- package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +2 -2
- package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.d.mts +2 -2
- package/dist/number/branded-types/safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.mjs.map +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +1 -1
- package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint.d.mts +2 -2
- package/dist/number/branded-types/uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint16.d.mts +1 -1
- package/dist/number/branded-types/uint16.d.mts.map +1 -1
- package/dist/number/branded-types/uint32.d.mts +1 -1
- package/dist/number/branded-types/uint32.d.mts.map +1 -1
- package/dist/number/enum/int8.d.mts +1 -1
- package/dist/number/enum/int8.d.mts.map +1 -1
- package/dist/number/enum/uint8.d.mts +1 -1
- package/dist/number/enum/uint8.d.mts.map +1 -1
- package/dist/number/num-arithmetic-types.d.mts +1 -1
- package/dist/number/num-arithmetic-types.d.mts.map +1 -1
- package/dist/number/num.d.mts +3 -3
- package/dist/number/num.d.mts.map +1 -1
- package/dist/number/refined-number-utils.d.mts +2 -2
- package/dist/number/refined-number-utils.d.mts.map +1 -1
- package/dist/number/refined-number-utils.mjs +6 -4
- package/dist/number/refined-number-utils.mjs.map +1 -1
- package/dist/object/object.d.mts +5 -8
- package/dist/object/object.d.mts.map +1 -1
- package/dist/object/object.mjs +16 -13
- package/dist/object/object.mjs.map +1 -1
- package/dist/others/cast-mutable.d.mts +1 -1
- package/dist/others/cast-mutable.d.mts.map +1 -1
- package/dist/others/cast-readonly.d.mts +1 -1
- package/dist/others/cast-readonly.d.mts.map +1 -1
- package/dist/others/debounce-function.d.mts.map +1 -1
- package/dist/others/debounce-function.mjs +1 -5
- package/dist/others/debounce-function.mjs.map +1 -1
- package/dist/others/memoize-function.d.mts +1 -1
- package/dist/others/memoize-function.d.mts.map +1 -1
- package/dist/string/str.d.mts +26 -18
- package/dist/string/str.d.mts.map +1 -1
- package/dist/string/str.mjs +9 -1
- package/dist/string/str.mjs.map +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types.d.mts.map +1 -1
- package/package.json +32 -31
- package/src/array/impl/array-utils-creation.mts +24 -22
- package/src/array/impl/array-utils-creation.test.mts +25 -22
- package/src/array/impl/array-utils-element-access.mts +7 -7
- package/src/array/impl/array-utils-element-access.test.mts +2 -2
- package/src/array/impl/array-utils-iterators.mts +1 -1
- package/src/array/impl/array-utils-iterators.test.mts +1 -1
- package/src/array/impl/array-utils-length-bounded-array-cast.mts +7 -7
- package/src/array/impl/array-utils-length-bounded-array-cast.test.mts +6 -6
- package/src/array/impl/array-utils-length-bounded-array-guard.mts +15 -15
- package/src/array/impl/array-utils-length-bounded-array-guard.test.mts +66 -54
- package/src/array/impl/array-utils-length-bounded-tuple-cast.mts +6 -6
- package/src/array/impl/array-utils-length-bounded-tuple-cast.test.mts +10 -10
- package/src/array/impl/array-utils-length-bounded-tuple-guard.mts +8 -8
- package/src/array/impl/array-utils-length-bounded-tuple-guard.test.mts +38 -28
- package/src/array/impl/array-utils-length-constraint-preservation.test.mts +14 -14
- package/src/array/impl/array-utils-modification.mts +12 -12
- package/src/array/impl/array-utils-modification.test.mts +7 -7
- package/src/array/impl/array-utils-overload-type-error.test.mts +1 -1
- package/src/array/impl/array-utils-reducing-value.mts +9 -11
- package/src/array/impl/array-utils-reducing-value.test.mts +2 -2
- package/src/array/impl/array-utils-search.mts +4 -4
- package/src/array/impl/array-utils-search.test.mts +25 -17
- package/src/array/impl/array-utils-set-op.mts +1 -1
- package/src/array/impl/array-utils-shape-invariants.test.mts +8 -8
- package/src/array/impl/array-utils-size.mts +5 -5
- package/src/array/impl/array-utils-slice-clamped.mts +2 -2
- package/src/array/impl/array-utils-slicing.mts +8 -8
- package/src/array/impl/array-utils-slicing.test.mts +1 -1
- package/src/array/impl/array-utils-transformation.mts +26 -24
- package/src/array/impl/array-utils-transformation.test.mts +12 -10
- package/src/array/impl/array-utils-validation.mts +7 -7
- package/src/array/impl/array-utils-validation.test.mts +39 -39
- package/src/array/impl/array.test.mts +1 -1
- package/src/collections/imap-mapped.mts +15 -9
- package/src/collections/imap-mapped.test.mts +1 -1
- package/src/collections/imap.mts +15 -9
- package/src/collections/imap.test.mts +7 -5
- package/src/collections/iset-mapped.mts +14 -8
- package/src/collections/iset.mts +12 -10
- package/src/collections/iset.test.mts +14 -12
- package/src/collections/queue.mts +1 -1
- package/src/collections/stack.mts +1 -1
- package/src/collections/stack.test.mts +8 -6
- package/src/functional/index.mts +5 -0
- package/src/guard/is-error.test.mts +6 -4
- package/src/guard/is-non-empty-string.mts +1 -1
- package/src/guard/is-non-empty-string.test.mts +15 -11
- package/src/guard/is-primitive.mts +1 -1
- package/src/guard/is-type.mts +1 -1
- package/src/guard/is-type.test.mts +87 -59
- package/src/iterator/range.mts +5 -9
- package/src/iterator/range.test.mts +29 -0
- package/src/json/json.mts +32 -35
- package/src/json/json.test.mts +106 -89
- package/src/number/branded-types/finite-number.mts +4 -4
- package/src/number/branded-types/int.mts +2 -2
- package/src/number/branded-types/int16.mts +1 -1
- package/src/number/branded-types/int32.mts +1 -1
- package/src/number/branded-types/negative-finite-number.mts +1 -1
- package/src/number/branded-types/negative-finite-number.test.mts +4 -4
- package/src/number/branded-types/negative-int.mts +3 -3
- package/src/number/branded-types/negative-int.test.mts +1 -1
- package/src/number/branded-types/negative-safe-int.mts +3 -3
- package/src/number/branded-types/negative-safe-int.test.mts +1 -1
- package/src/number/branded-types/non-negative-finite-number.mts +3 -3
- package/src/number/branded-types/non-negative-int16.mts +1 -1
- package/src/number/branded-types/non-negative-int32.mts +1 -1
- package/src/number/branded-types/non-positive-finite-number.mts +1 -1
- package/src/number/branded-types/non-positive-int.mts +1 -1
- package/src/number/branded-types/non-positive-safe-int.mts +1 -1
- package/src/number/branded-types/non-zero-finite-number.mts +5 -5
- package/src/number/branded-types/non-zero-int.mts +1 -1
- package/src/number/branded-types/non-zero-int16.mts +1 -1
- package/src/number/branded-types/non-zero-int32.mts +1 -1
- package/src/number/branded-types/non-zero-safe-int.mts +4 -4
- package/src/number/branded-types/non-zero-uint16.mts +1 -1
- package/src/number/branded-types/non-zero-uint32.mts +1 -1
- package/src/number/branded-types/positive-finite-number.mts +4 -4
- package/src/number/branded-types/positive-int.mts +2 -2
- package/src/number/branded-types/positive-int16.mts +1 -1
- package/src/number/branded-types/positive-int32.mts +1 -1
- package/src/number/branded-types/positive-safe-int.mts +4 -4
- package/src/number/branded-types/positive-uint16.mts +1 -1
- package/src/number/branded-types/positive-uint32.mts +1 -1
- package/src/number/branded-types/safe-int.mts +2 -5
- package/src/number/branded-types/safe-uint.mts +1 -1
- package/src/number/branded-types/uint.mts +2 -2
- package/src/number/branded-types/uint16.mts +1 -1
- package/src/number/branded-types/uint32.mts +1 -1
- package/src/number/enum/int8.mts +5 -5
- package/src/number/enum/uint8.mts +4 -4
- package/src/number/num-arithmetic-types.mts +27 -27
- package/src/number/num-arithmetic-types.test.mts +21 -21
- package/src/number/num-arithmetic.test.mts +6 -6
- package/src/number/num.mts +24 -24
- package/src/number/num.test.mts +1 -1
- package/src/number/refined-number-utils.mts +25 -21
- package/src/object/object.mts +46 -34
- package/src/object/object.test.mts +5 -5
- package/src/others/cast-mutable.mts +1 -1
- package/src/others/cast-readonly.mts +1 -1
- package/src/others/debounce-function.mts +1 -5
- package/src/others/debounce-function.test.mts +3 -0
- package/src/others/fast-deep-equal.test.mts +1 -1
- package/src/others/map-nullable.test.mts +1 -1
- package/src/others/memoize-function.mts +1 -1
- package/src/string/str.mts +33 -25
- package/src/string/str.test.mts +48 -38
- package/src/types.mts +14 -14
package/dist/object/object.mjs
CHANGED
|
@@ -46,9 +46,6 @@ export var Obj;
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
49
|
|
|
53
50
|
|
|
54
51
|
|
|
@@ -56,9 +53,8 @@ export var Obj;
|
|
|
56
53
|
Obj.shallowEq = (a, b, eq = Object.is) => {
|
|
57
54
|
const aEntries = Object.entries(a);
|
|
58
55
|
const bEntries = Object.entries(b);
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return aEntries.every(([k, v]) => eq(b[k], v));
|
|
56
|
+
return (aEntries.length === bEntries.length &&
|
|
57
|
+
aEntries.every(([k, v]) => eq(b[k], v)));
|
|
62
58
|
};
|
|
63
59
|
function pick(...args) {
|
|
64
60
|
switch (args.length) {
|
|
@@ -331,34 +327,41 @@ export var Obj;
|
|
|
331
327
|
Obj.deepOmit = deepOmit;
|
|
332
328
|
})(Obj || (Obj = {}));
|
|
333
329
|
const deepPickImpl = (record, path) => {
|
|
334
|
-
if (!Arr.isNonEmpty(path))
|
|
330
|
+
if (!Arr.isNonEmpty(path)) {
|
|
335
331
|
return record;
|
|
332
|
+
}
|
|
336
333
|
const head = path[0];
|
|
337
|
-
if (!hasKey(record, head))
|
|
334
|
+
if (!hasKey(record, head)) {
|
|
338
335
|
return {};
|
|
336
|
+
}
|
|
339
337
|
const value = record[head];
|
|
340
338
|
const tail = path.slice(1);
|
|
341
|
-
if (!Arr.isNonEmpty(tail))
|
|
339
|
+
if (!Arr.isNonEmpty(tail)) {
|
|
342
340
|
return { [head]: value };
|
|
343
|
-
|
|
341
|
+
}
|
|
342
|
+
if (!isRecord(value)) {
|
|
344
343
|
return { [head]: {} };
|
|
344
|
+
}
|
|
345
345
|
return {
|
|
346
346
|
[head]: deepPickImpl(value, tail),
|
|
347
347
|
};
|
|
348
348
|
};
|
|
349
349
|
const deepOmitImpl = (record, path) => {
|
|
350
|
-
if (!Arr.isNonEmpty(path))
|
|
350
|
+
if (!Arr.isNonEmpty(path)) {
|
|
351
351
|
return record;
|
|
352
|
+
}
|
|
352
353
|
const head = path[0];
|
|
353
|
-
if (!hasKey(record, head))
|
|
354
|
+
if (!hasKey(record, head)) {
|
|
354
355
|
return record;
|
|
356
|
+
}
|
|
355
357
|
const tail = path.slice(1);
|
|
356
358
|
if (!Arr.isNonEmpty(tail)) {
|
|
357
359
|
return Object.fromEntries(Object.entries(record).filter(([k]) => k !== head));
|
|
358
360
|
}
|
|
359
361
|
const value = record[head];
|
|
360
|
-
if (!isRecord(value))
|
|
362
|
+
if (!isRecord(value)) {
|
|
361
363
|
return record;
|
|
364
|
+
}
|
|
362
365
|
return {
|
|
363
366
|
...record,
|
|
364
367
|
[head]: deepOmitImpl(value, tail),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.mjs","sourceRoot":"","sources":["../../src/object/object.mts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,KAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"object.mjs","sourceRoot":"","sources":["../../src/object/object.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast-mutable.d.mts","sourceRoot":"","sources":["../../src/others/cast-mutable.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cast-mutable.d.mts","sourceRoot":"","sources":["../../src/others/cast-mutable.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,iBAAkB,CAAC,KAAG,OAAO,CAAC,CAAC,CAE/B,CAAC;AAE9B;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,iBAAkB,CAAC,KAAG,WAAW,CAAC,CAAC,CAEnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cast-readonly.d.mts","sourceRoot":"","sources":["../../src/others/cast-readonly.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cast-readonly.d.mts","sourceRoot":"","sources":["../../src/others/cast-readonly.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,WAAY,CAAC,KAAG,QAAQ,CAAC,CAAC,CAEhC,CAAC;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,WAAY,CAAC,KAAG,YAAY,CAAC,CAAC,CAEpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce-function.d.mts","sourceRoot":"","sources":["../../src/others/debounce-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,SAAS,SAAS,OAAO,EAAE,QAChD,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,oBACX,MAAM,KACvB,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"debounce-function.d.mts","sourceRoot":"","sources":["../../src/others/debounce-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,IAAI,SAAS,SAAS,OAAO,EAAE,QAChD,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,oBACX,MAAM,KACvB,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,CAU1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debounce-function.mjs","sourceRoot":"","sources":["../../src/others/debounce-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAA6B,EAC7B,gBAAwB,EACG,EAAE;IAC7B,
|
|
1
|
+
{"version":3,"file":"debounce-function.mjs","sourceRoot":"","sources":["../../src/others/debounce-function.mts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAA6B,EAC7B,gBAAwB,EACG,EAAE;IAC7B,IAAI,aAAa,GAA8C,SAAS,CAAC;IAEzE,OAAO,CAAC,GAAG,IAAU,EAAQ,EAAE;QAC7B,YAAY,CAAC,aAAa,CAAC,CAAC;QAE5B,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoize-function.d.mts","sourceRoot":"","sources":["../../src/others/memoize-function.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"memoize-function.d.mts","sourceRoot":"","sources":["../../src/others/memoize-function.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/string/str.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BoundedLengthString, FixedLengthString, MaxLengthString, MinLengthString, NonEmptyString, SupportedLength } from 'ts-type-forge';
|
|
2
2
|
/**
|
|
3
3
|
* Namespace providing type guards and runtime-checked casts for the branded
|
|
4
4
|
* length-constrained string types (`MinLengthString`, `MaxLengthString`,
|
|
@@ -29,11 +29,13 @@ export declare namespace Str {
|
|
|
29
29
|
*
|
|
30
30
|
* assert.isFalse(Str.isMinLengthString(12, 'short'));
|
|
31
31
|
*
|
|
32
|
-
* if (Str.isMinLengthString(12, input)) {
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* assert.isTrue(nonEmpty.length >= 12);
|
|
32
|
+
* if (!Str.isMinLengthString(12, input)) {
|
|
33
|
+
* return;
|
|
36
34
|
* }
|
|
35
|
+
*
|
|
36
|
+
* const nonEmpty: NonEmptyString = input; // OK (12 >= 1)
|
|
37
|
+
*
|
|
38
|
+
* assert.isTrue(nonEmpty.length >= 12);
|
|
37
39
|
* ```
|
|
38
40
|
*
|
|
39
41
|
* @template MinLength - The minimum number of characters (inclusive).
|
|
@@ -64,11 +66,13 @@ export declare namespace Str {
|
|
|
64
66
|
*
|
|
65
67
|
* assert.isFalse(Str.isMaxLengthString(3, input));
|
|
66
68
|
*
|
|
67
|
-
* if (Str.isMaxLengthString(32, input)) {
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
* assert.isTrue(relaxed.length <= 32);
|
|
69
|
+
* if (!Str.isMaxLengthString(32, input)) {
|
|
70
|
+
* return;
|
|
71
71
|
* }
|
|
72
|
+
*
|
|
73
|
+
* const relaxed: MaxLengthString<64> = input; // OK (32 <= 64)
|
|
74
|
+
*
|
|
75
|
+
* assert.isTrue(relaxed.length <= 32);
|
|
72
76
|
* ```
|
|
73
77
|
*
|
|
74
78
|
* @template MaxLength - The maximum number of characters (inclusive).
|
|
@@ -100,11 +104,13 @@ export declare namespace Str {
|
|
|
100
104
|
*
|
|
101
105
|
* assert.isFalse(Str.isBoundedLengthString(8, 16, 'user'));
|
|
102
106
|
*
|
|
103
|
-
* if (Str.isBoundedLengthString(8, 16, input)) {
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* assert.isTrue(userId.length >= 8 && userId.length <= 16);
|
|
107
|
+
* if (!Str.isBoundedLengthString(8, 16, input)) {
|
|
108
|
+
* return;
|
|
107
109
|
* }
|
|
110
|
+
*
|
|
111
|
+
* const userId: BoundedLengthString<1, 255> = input; // OK ([8, 16] ⊆ [1, 255])
|
|
112
|
+
*
|
|
113
|
+
* assert.isTrue(8 <= userId.length && userId.length <= 16);
|
|
108
114
|
* ```
|
|
109
115
|
*
|
|
110
116
|
* @template MinLength - The minimum number of characters (inclusive).
|
|
@@ -139,11 +145,13 @@ export declare namespace Str {
|
|
|
139
145
|
*
|
|
140
146
|
* assert.isFalse(Str.isFixedLengthString(3, input));
|
|
141
147
|
*
|
|
142
|
-
* if (Str.isFixedLengthString(2, input)) {
|
|
143
|
-
*
|
|
144
|
-
*
|
|
145
|
-
* assert.isTrue(atMost5.length === 2);
|
|
148
|
+
* if (!Str.isFixedLengthString(2, input)) {
|
|
149
|
+
* return;
|
|
146
150
|
* }
|
|
151
|
+
*
|
|
152
|
+
* const atMost5: MaxLengthString<5> = input; // OK (2 <= 5)
|
|
153
|
+
*
|
|
154
|
+
* assert.isTrue(atMost5.length === 2);
|
|
147
155
|
* ```
|
|
148
156
|
*
|
|
149
157
|
* @template Length - The exact number of characters.
|
|
@@ -248,7 +256,7 @@ export declare namespace Str {
|
|
|
248
256
|
*
|
|
249
257
|
* const relaxed: BoundedLengthString<1, 255> = userId; // OK ([8, 16] ⊆ [1, 255])
|
|
250
258
|
*
|
|
251
|
-
* assert.isTrue(relaxed.length
|
|
259
|
+
* assert.isTrue(8 <= relaxed.length && relaxed.length <= 16);
|
|
252
260
|
*
|
|
253
261
|
* // curried version
|
|
254
262
|
* const asUserId = Str.asBoundedLengthString(8, 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.d.mts","sourceRoot":"","sources":["../../src/string/str.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"str.d.mts","sourceRoot":"","sources":["../../src/string/str.mts"],"names":[],"mappings":"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"}
|
package/dist/string/str.mjs
CHANGED
|
@@ -40,6 +40,8 @@ export var Str;
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
|
+
|
|
44
|
+
|
|
43
45
|
|
|
44
46
|
|
|
45
47
|
|
|
@@ -75,6 +77,8 @@ export var Str;
|
|
|
75
77
|
|
|
76
78
|
|
|
77
79
|
|
|
80
|
+
|
|
81
|
+
|
|
78
82
|
|
|
79
83
|
|
|
80
84
|
|
|
@@ -117,7 +121,11 @@ export var Str;
|
|
|
117
121
|
|
|
118
122
|
|
|
119
123
|
|
|
120
|
-
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
Str.isBoundedLengthString = (minLength, maxLength, s) => minLength <= s.length && s.length <= maxLength;
|
|
127
|
+
|
|
128
|
+
|
|
121
129
|
|
|
122
130
|
|
|
123
131
|
|
package/dist/string/str.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.mjs","sourceRoot":"","sources":["../../src/string/str.mts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,MAAM,KAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"str.mjs","sourceRoot":"","sources":["../../src/string/str.mts"],"names":[],"mappings":"AASA;;;;;;;;GAQG;AACH,MAAM,KAAW,GAAG,CAuhBnB;AAvhBD,WAAiB,GAAG;IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACU,qBAAiB,GAAG,CAI/B,SAAoB,EACpB,CAAI,EACiC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACU,qBAAiB,GAAG,CAI/B,SAAoB,EACpB,CAAI,EACiC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACU,yBAAqB,GAAG,CAKnC,SAAoB,EACpB,SAAoB,EACpB,CAAI,EACgD,EAAE,CACtD,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACU,uBAAmB,GAAG,CAIjC,MAAc,EACd,CAAI,EACgC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;IA+C7D,SAAgB,iBAAiB,CAC/B,GAAG,IAEsC;QAEzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC;YAExC,KAAK,CAAC;gBACJ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAZe,IAAA,iBAAiB,oBAYhC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAC5B,SAA0B,EAC1B,CAAS,EACD,EAAE;QACV,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,qBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CACjB,kCAAkC,SAAS,4BAA4B,YAAY,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IA+CF,SAAgB,iBAAiB,CAC/B,GAAG,IAEsC;QAEzC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,qBAAqB,CAAC,GAAG,IAAI,CAAC,CAAC;YAExC,KAAK,CAAC;gBACJ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAZe,IAAA,iBAAiB,oBAYhC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAC5B,SAA0B,EAC1B,CAAS,EACD,EAAE;QACV,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,qBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,SAAS,CACjB,kCAAkC,SAAS,4BAA4B,YAAY,EAAE,CACtF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IA4DF,SAAgB,qBAAqB,CACnC,GAAG,IAMkE;QAErE,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,yBAAyB,CAAC,GAAG,IAAI,CAAC,CAAC;YAE5C,KAAK,CAAC;gBACJ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAhBe,IAAA,qBAAqB,wBAgBpC,CAAA;IAED,MAAM,yBAAyB,GAAG,CAChC,SAA0B,EAC1B,SAA0B,EAC1B,CAAS,EACD,EAAE;QACV,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,yBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,SAAS,CACjB,mCAAmC,SAAS,KAAK,SAAS,6BAA6B,YAAY,EAAE,CACtG,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IA+CF,SAAgB,mBAAmB,CACjC,GAAG,IAEmC;QAEtC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC;gBACJ,OAAO,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC;YAE1C,KAAK,CAAC;gBACJ,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAZe,IAAA,mBAAmB,sBAYlC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAC9B,MAAuB,EACvB,CAAS,EACD,EAAE;QACV,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,uBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,SAAS,CACjB,+BAA+B,MAAM,4BAA4B,YAAY,EAAE,CAChF,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACU,oBAAgB,GAAG,CAC9B,CAAI,EACgB,EAAE;QACtB,IAAI,CAAC,qBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC,EAvhBgB,GAAG,KAAH,GAAG,QAuhBnB"}
|
package/dist/types.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IndexOfTuple, IntersectBrand, IsFixedLengthList, NegativeIndexOfTuple, NegativeInt32, NormalizeBrandUnion, PositiveInt, PositiveNumber, Primitive, SafeInt, SafeUint, Uint32, WithSmallInt } from 'ts-type-forge';
|
|
2
2
|
export type SmallPositiveInt = WithSmallInt<PositiveInt>;
|
|
3
3
|
/** Represents the type of keys that can be used in a standard JavaScript Map. */
|
|
4
4
|
export type MapSetKeyType = Primitive;
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IAClD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACrD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AAE1E,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACjE,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAC9B,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,GAC5D,QAAQ,CAAC,kBAAkB,CAAC;AAOlC,yBAAiB,QAAQ,CAAC;IACxB,KAAY,GAAG,GAAG,MAAM,CAAC;IAEzB,KAAY,UAAU,GAAG,QAAQ,CAAC;IAElC,KAAY,GAAG,GAAG,QAAQ,CAAC;IAE3B,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,sBAAsB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAErD,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAErD,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,kBAAkB,GAAG,YAAY,CAC3C,mBAAmB,CAAC,aAAa,GAAG,GAAG,CAAC,CACzC,CAAC;IAEF,KAAY,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9D,KAAY,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvD,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;IAEF,KAAY,qBAAqB,GAAG,YAAY,CAC9C,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3C,CAAC;IAEF,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;CACH;AAKD,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-data-forge",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.9.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@sindresorhus/is": "^8.1.0",
|
|
40
|
-
"ts-std-forge": "^0.5.
|
|
40
|
+
"ts-std-forge": "^0.5.2",
|
|
41
41
|
"ts-type-forge": "~9.2.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
@@ -45,20 +45,20 @@
|
|
|
45
45
|
"@emotion/styled": "11.14.1",
|
|
46
46
|
"@mui/material": "9.4.0",
|
|
47
47
|
"@types/react": "19.3.0",
|
|
48
|
-
"@vitest/browser-playwright": "5.0.
|
|
49
|
-
"eslint-config-typed": "5.
|
|
50
|
-
"eslint-plugin-ts-fortress": "1.
|
|
51
|
-
"eslint-plugin-ts-type-forge": "0.8.
|
|
52
|
-
"immer": "11.1.
|
|
53
|
-
"playwright": "1.
|
|
54
|
-
"prettier": "3.9.
|
|
48
|
+
"@vitest/browser-playwright": "5.0.3",
|
|
49
|
+
"eslint-config-typed": "5.19.0",
|
|
50
|
+
"eslint-plugin-ts-fortress": "1.3.5",
|
|
51
|
+
"eslint-plugin-ts-type-forge": "0.8.10",
|
|
52
|
+
"immer": "11.1.21",
|
|
53
|
+
"playwright": "1.64.0",
|
|
54
|
+
"prettier": "3.9.9",
|
|
55
55
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
56
56
|
"prettier-plugin-packagejson": "3.0.2",
|
|
57
|
-
"react": "19.
|
|
58
|
-
"ts-repo-utils": "10.
|
|
57
|
+
"react": "19.3.0",
|
|
58
|
+
"ts-repo-utils": "10.7.1",
|
|
59
59
|
"typedoc": "0.28.20",
|
|
60
60
|
"typedoc-github-theme": "0.4.0",
|
|
61
|
-
"vite": "8.
|
|
61
|
+
"vite": "8.3.3"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"typescript": ">=4.8"
|
|
@@ -73,30 +73,31 @@
|
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"build": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts",
|
|
76
|
-
"build:min": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/build.mts --skip-check",
|
|
77
76
|
"check:ext": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/check-ext.mts",
|
|
77
|
+
"check:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . && eslint .",
|
|
78
|
+
"check:test": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest:node run",
|
|
79
|
+
"check:test:browser": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest --project='Browser' run",
|
|
80
|
+
"check:test:cov": "node ../../tools/scripts/cmd/assert-deps-built.mts && pnpm run z:vitest:node run --coverage",
|
|
81
|
+
"check:types": "node ../../tools/scripts/cmd/assert-deps-built.mts && node ../../node_modules/typescript-native/bin/tsc --noEmit",
|
|
78
82
|
"doc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/gen-docs.mts",
|
|
79
|
-
"doc:embed": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
|
|
80
|
-
"doc:embed:jsdoc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples-in-jsdoc.mts",
|
|
81
83
|
"doc:preview": "vite preview --config ./configs/vite.doc.config.mts",
|
|
82
|
-
"
|
|
83
|
-
"fmt": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-
|
|
84
|
-
"fmt:
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"test
|
|
84
|
+
"fix:fmt": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-uncommitted.mts --cwd .",
|
|
85
|
+
"fix:fmt:diff": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/format-diff-from.mts origin/main --cwd .",
|
|
86
|
+
"fix:fmt:full": "pnpm run z:prettier .",
|
|
87
|
+
"fix:lint": "node ../../tools/scripts/cmd/assert-deps-built.mts && oxlint . --fix && eslint . --fix",
|
|
88
|
+
"fmt": "pnpm run fix:fmt",
|
|
89
|
+
"gen": "run-s gen:index gen:branded-number gen:readme gen:jsdoc",
|
|
90
|
+
"gen:branded-number": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/gen-branded-number/generate.mts && pnpm run gen:jsdoc && pnpm run z:prettier 'src/number/branded-types/*.mts' 'src/number/enum/*.mts'",
|
|
91
|
+
"gen:index": "run-s gen:index:src fix:fmt",
|
|
92
|
+
"gen:index:src": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/gen-index-ts.mts ./src --index-ext .mts --export-ext .mjs --target-ext .mts --exclude entry-point.mts --preserve 'array/index.mts' --preserve 'functional/index.mts'",
|
|
93
|
+
"gen:jsdoc": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples-in-jsdoc.mts",
|
|
94
|
+
"gen:readme": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/cmd/embed-examples.mts",
|
|
95
|
+
"test": "pnpm run check:test",
|
|
94
96
|
"test:cov:ui": "vite preview --outDir ./coverage",
|
|
95
97
|
"test:ui": "pnpm run z:vitest:node --ui",
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"type-check": "node ../../node_modules/typescript-native/bin/tsc --noEmit",
|
|
98
|
+
"watch:doc": "typedoc --options ./configs/typedoc.config.mjs --watch",
|
|
99
|
+
"watch:test": "pnpm run z:vitest:node watch",
|
|
100
|
+
"watch:types": "node ../../node_modules/typescript-native/bin/tsc --noEmit --watch -p ./tsconfig.json",
|
|
100
101
|
"z:prettier": "prettier --config ../../.prettierrc --ignore-path ../../.prettierignore --ignore-path ../../.gitignore --ignore-unknown --no-error-on-unmatched-pattern --write",
|
|
101
102
|
"z:vitest": "vitest --config ./configs/vitest.config.mts",
|
|
102
103
|
"z:vitest:node": "pnpm run z:vitest --project='Node.js'"
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
type SupportedLength,
|
|
1
|
+
import type {
|
|
2
|
+
BoolOr,
|
|
3
|
+
FixedLengthArray,
|
|
4
|
+
FixedLengthTuple,
|
|
5
|
+
Index,
|
|
6
|
+
IsUnion,
|
|
7
|
+
List,
|
|
8
|
+
Min,
|
|
9
|
+
NonEmptyArray,
|
|
10
|
+
NonZeroSafeIntWithSmallInt,
|
|
11
|
+
RelaxedExclude,
|
|
12
|
+
SafeInt,
|
|
13
|
+
SafeIntWithSmallInt,
|
|
14
|
+
SafeUint,
|
|
15
|
+
SafeUintWithSmallInt,
|
|
16
|
+
Seq,
|
|
17
|
+
SmallUint,
|
|
18
|
+
StructuralPrefixLength,
|
|
19
|
+
SupportedLength,
|
|
21
20
|
} from 'ts-type-forge';
|
|
22
21
|
import { expectType } from '../../expect-type.mjs';
|
|
23
22
|
import { range as rangeIterator } from '../../iterator/index.mjs';
|
|
24
|
-
import {
|
|
23
|
+
import type { SizeType } from '../../types.mjs';
|
|
25
24
|
|
|
26
25
|
/**
|
|
27
26
|
* Creates an array of zeros with the specified length.
|
|
@@ -216,7 +215,10 @@ export function range<S extends SmallUint, E extends SmallUint>(
|
|
|
216
215
|
export function range(
|
|
217
216
|
start: SafeUintWithSmallInt,
|
|
218
217
|
end: SafeUintWithSmallInt,
|
|
219
|
-
step
|
|
218
|
+
// Every value lies between `start` and `end`, so a negative step yields
|
|
219
|
+
// non-negative numbers too.
|
|
220
|
+
|
|
221
|
+
step?: NonZeroSafeIntWithSmallInt,
|
|
220
222
|
): readonly SafeUint[];
|
|
221
223
|
|
|
222
224
|
export function range(
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import type {
|
|
2
|
+
FixedLengthTuple,
|
|
3
|
+
SafeInt,
|
|
4
|
+
SafeUint,
|
|
5
|
+
SmallUint,
|
|
6
6
|
} from 'ts-type-forge';
|
|
7
7
|
import { expectType } from '../../expect-type.mjs';
|
|
8
8
|
import { range as rangeIterator } from '../../iterator/index.mjs';
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
asSafeInt,
|
|
12
|
-
asSafeUint,
|
|
13
|
-
asUint32,
|
|
14
|
-
} from '../../number/index.mjs';
|
|
15
|
-
import { type SizeType } from '../../types.mjs';
|
|
9
|
+
import { asNonZeroSafeInt, asSafeUint, asUint32 } from '../../number/index.mjs';
|
|
10
|
+
import type { SizeType } from '../../types.mjs';
|
|
16
11
|
import {
|
|
17
12
|
copy,
|
|
18
13
|
create,
|
|
@@ -380,18 +375,26 @@ describe('Arr creations', () => {
|
|
|
380
375
|
const result = range(5, 0, -1);
|
|
381
376
|
|
|
382
377
|
assert.deepStrictEqual(result, [
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
378
|
+
asSafeUint(5),
|
|
379
|
+
asSafeUint(4),
|
|
380
|
+
asSafeUint(3),
|
|
381
|
+
asSafeUint(2),
|
|
382
|
+
asSafeUint(1),
|
|
388
383
|
]);
|
|
389
384
|
});
|
|
390
385
|
|
|
386
|
+
test('a negative step from non-negative bounds gives SafeUint', () => {
|
|
387
|
+
const result = range(asSafeUint(5), asSafeUint(1), asNonZeroSafeInt(-2));
|
|
388
|
+
|
|
389
|
+
expectType<typeof result, readonly SafeUint[]>('=');
|
|
390
|
+
|
|
391
|
+
assert.deepStrictEqual(result, [asSafeUint(5), asSafeUint(3)]);
|
|
392
|
+
});
|
|
393
|
+
|
|
391
394
|
test('start > end, step < 0, not reaching end', () => {
|
|
392
395
|
const result = range(5, 1, -2);
|
|
393
396
|
|
|
394
|
-
assert.deepStrictEqual(result, [
|
|
397
|
+
assert.deepStrictEqual(result, [asSafeUint(5), asSafeUint(3)]);
|
|
395
398
|
});
|
|
396
399
|
|
|
397
400
|
test('start < end, step < 0 (empty result)', () => {
|
|
@@ -419,12 +422,12 @@ describe('Arr creations', () => {
|
|
|
419
422
|
asNonZeroSafeInt(step),
|
|
420
423
|
);
|
|
421
424
|
|
|
422
|
-
expectType<typeof result, readonly
|
|
425
|
+
expectType<typeof result, readonly SafeUint[]>('=');
|
|
423
426
|
|
|
424
427
|
assert.deepStrictEqual(result, [
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
+
asSafeUint(1),
|
|
429
|
+
asSafeUint(2),
|
|
430
|
+
asSafeUint(3),
|
|
428
431
|
]);
|
|
429
432
|
});
|
|
430
433
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { NonEmptyTuple } from 'ts-type-forge';
|
|
2
2
|
import { Optional, pipe } from '../../functional/index.mjs';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import type {
|
|
4
|
+
ArgArrayIndexWithNegative,
|
|
5
|
+
None,
|
|
6
|
+
SizeType,
|
|
7
|
+
Some,
|
|
8
8
|
} from '../../types.mjs';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -58,7 +58,7 @@ const atImpl = <E,>(
|
|
|
58
58
|
index: SizeType.ArgArrWithNegative,
|
|
59
59
|
): Optional<E> =>
|
|
60
60
|
pipe(index < 0 ? array.length + index : index).map((normalizedIndex) =>
|
|
61
|
-
normalizedIndex < 0 ||
|
|
61
|
+
normalizedIndex < 0 || array.length <= normalizedIndex
|
|
62
62
|
? Optional.none
|
|
63
63
|
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
64
64
|
Optional.some(array[normalizedIndex]!),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { NonEmptyTuple } from 'ts-type-forge';
|
|
2
2
|
import { expectType } from '../../expect-type.mjs';
|
|
3
3
|
import { Optional } from '../../functional/index.mjs';
|
|
4
4
|
import { asInt32, asUint32 } from '../../number/index.mjs';
|
|
5
|
-
import {
|
|
5
|
+
import type { None, Some } from '../../types.mjs';
|
|
6
6
|
import { at, head, last } from './array-utils-element-access.mjs';
|
|
7
7
|
|
|
8
8
|
describe('Arr element access', () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Uint32 } from 'ts-type-forge';
|
|
2
2
|
import { expectType } from '../../expect-type.mjs';
|
|
3
3
|
import { asUint32 } from '../../number/index.mjs';
|
|
4
4
|
import { entries, indices, values } from './array-utils-iterators.mjs';
|