ts-data-forge 3.2.0 → 3.3.1
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 +45 -21
- package/dist/array/impl/array-utils-creation.d.mts +116 -0
- package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
- package/dist/array/impl/array-utils-creation.mjs +110 -0
- package/dist/array/impl/array-utils-creation.mjs.map +1 -0
- package/dist/array/impl/array-utils-element-access.d.mts +61 -0
- package/dist/array/impl/array-utils-element-access.d.mts.map +1 -0
- package/dist/array/impl/array-utils-element-access.mjs +66 -0
- package/dist/array/impl/array-utils-element-access.mjs.map +1 -0
- package/dist/array/impl/array-utils-iterators.d.mts +59 -0
- package/dist/array/impl/array-utils-iterators.d.mts.map +1 -0
- package/dist/array/impl/array-utils-iterators.mjs +104 -0
- package/dist/array/impl/array-utils-iterators.mjs.map +1 -0
- package/dist/array/impl/array-utils-modification.d.mts +154 -0
- package/dist/array/impl/array-utils-modification.d.mts.map +1 -0
- package/dist/array/impl/array-utils-modification.mjs +139 -0
- package/dist/array/impl/array-utils-modification.mjs.map +1 -0
- package/dist/array/impl/array-utils-reducing-value.d.mts +214 -0
- package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
- package/dist/array/impl/array-utils-reducing-value.mjs +160 -0
- package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
- package/dist/array/impl/array-utils-search.d.mts +179 -0
- package/dist/array/impl/array-utils-search.d.mts.map +1 -0
- package/dist/array/impl/array-utils-search.mjs +153 -0
- package/dist/array/impl/array-utils-search.mjs.map +1 -0
- package/dist/array/impl/array-utils-set-op.d.mts +100 -0
- package/dist/array/impl/array-utils-set-op.d.mts.map +1 -0
- package/dist/array/impl/array-utils-set-op.mjs +137 -0
- package/dist/array/impl/array-utils-set-op.mjs.map +1 -0
- package/dist/array/impl/array-utils-size.d.mts +24 -0
- package/dist/array/impl/array-utils-size.d.mts.map +1 -0
- package/dist/array/impl/array-utils-size.mjs +28 -0
- package/dist/array/impl/array-utils-size.mjs.map +1 -0
- package/dist/array/impl/array-utils-slice-clamped.d.mts +18 -0
- package/dist/array/impl/array-utils-slice-clamped.d.mts.map +1 -0
- package/dist/array/impl/array-utils-slice-clamped.mjs +49 -0
- package/dist/array/impl/array-utils-slice-clamped.mjs.map +1 -0
- package/dist/array/impl/array-utils-slicing.d.mts +120 -0
- package/dist/array/impl/array-utils-slicing.d.mts.map +1 -0
- package/dist/array/impl/array-utils-slicing.mjs +140 -0
- package/dist/array/impl/array-utils-slicing.mjs.map +1 -0
- package/dist/array/impl/array-utils-transformation.d.mts +348 -0
- package/dist/array/impl/array-utils-transformation.d.mts.map +1 -0
- package/dist/array/impl/array-utils-transformation.mjs +331 -0
- package/dist/array/impl/array-utils-transformation.mjs.map +1 -0
- package/dist/array/impl/array-utils-validation.d.mts +149 -0
- package/dist/array/impl/array-utils-validation.d.mts.map +1 -0
- package/dist/array/impl/array-utils-validation.mjs +166 -0
- package/dist/array/impl/array-utils-validation.mjs.map +1 -0
- package/dist/array/impl/index.d.mts +13 -0
- package/dist/array/impl/index.d.mts.map +1 -0
- package/dist/array/impl/index.mjs +13 -0
- package/dist/array/impl/index.mjs.map +1 -0
- package/dist/array/index.d.mts +1 -1
- package/dist/array/index.d.mts.map +1 -1
- package/dist/array/index.mjs +2 -1
- package/dist/array/index.mjs.map +1 -1
- package/dist/collections/imap-mapped.d.mts +83 -253
- package/dist/collections/imap-mapped.d.mts.map +1 -1
- package/dist/collections/imap-mapped.mjs +33 -164
- package/dist/collections/imap-mapped.mjs.map +1 -1
- package/dist/collections/imap.d.mts +436 -163
- package/dist/collections/imap.d.mts.map +1 -1
- package/dist/collections/imap.mjs +74 -94
- package/dist/collections/imap.mjs.map +1 -1
- package/dist/collections/iset-mapped.d.mts +828 -345
- package/dist/collections/iset-mapped.d.mts.map +1 -1
- package/dist/collections/iset-mapped.mjs +200 -242
- package/dist/collections/iset-mapped.mjs.map +1 -1
- package/dist/collections/iset.d.mts +397 -205
- package/dist/collections/iset.d.mts.map +1 -1
- package/dist/collections/iset.mjs +102 -184
- package/dist/collections/iset.mjs.map +1 -1
- package/dist/collections/queue.d.mts +155 -135
- package/dist/collections/queue.d.mts.map +1 -1
- package/dist/collections/queue.mjs +55 -156
- package/dist/collections/queue.mjs.map +1 -1
- package/dist/collections/stack.d.mts +154 -154
- package/dist/collections/stack.d.mts.map +1 -1
- package/dist/collections/stack.mjs +54 -203
- package/dist/collections/stack.mjs.map +1 -1
- package/dist/entry-point.d.mts +3 -0
- package/dist/entry-point.d.mts.map +1 -0
- package/dist/entry-point.mjs +62 -0
- package/dist/entry-point.mjs.map +1 -0
- package/dist/expect-type.d.mts +43 -172
- package/dist/expect-type.d.mts.map +1 -1
- package/dist/expect-type.mjs +43 -172
- package/dist/expect-type.mjs.map +1 -1
- package/dist/functional/match.d.mts +35 -140
- package/dist/functional/match.d.mts.map +1 -1
- package/dist/functional/match.mjs.map +1 -1
- package/dist/functional/optional.d.mts +282 -160
- package/dist/functional/optional.d.mts.map +1 -1
- package/dist/functional/optional.mjs +131 -71
- package/dist/functional/optional.mjs.map +1 -1
- package/dist/functional/pipe.d.mts +59 -113
- package/dist/functional/pipe.d.mts.map +1 -1
- package/dist/functional/pipe.mjs.map +1 -1
- package/dist/functional/result.d.mts +433 -332
- package/dist/functional/result.d.mts.map +1 -1
- package/dist/functional/result.mjs +233 -239
- package/dist/functional/result.mjs.map +1 -1
- package/dist/globals.d.mts +12 -5
- package/dist/guard/has-key.d.mts +23 -74
- package/dist/guard/has-key.d.mts.map +1 -1
- package/dist/guard/has-key.mjs +23 -74
- package/dist/guard/has-key.mjs.map +1 -1
- package/dist/guard/is-non-empty-string.d.mts +20 -87
- package/dist/guard/is-non-empty-string.d.mts.map +1 -1
- package/dist/guard/is-non-empty-string.mjs +20 -87
- package/dist/guard/is-non-empty-string.mjs.map +1 -1
- package/dist/guard/is-non-null-object.d.mts +14 -84
- package/dist/guard/is-non-null-object.d.mts.map +1 -1
- package/dist/guard/is-non-null-object.mjs +14 -84
- package/dist/guard/is-non-null-object.mjs.map +1 -1
- package/dist/guard/is-primitive.d.mts +13 -126
- package/dist/guard/is-primitive.d.mts.map +1 -1
- package/dist/guard/is-primitive.mjs +13 -126
- package/dist/guard/is-primitive.mjs.map +1 -1
- package/dist/guard/is-record.d.mts +21 -132
- package/dist/guard/is-record.d.mts.map +1 -1
- package/dist/guard/is-record.mjs +21 -132
- package/dist/guard/is-record.mjs.map +1 -1
- package/dist/guard/is-type.d.mts +201 -238
- package/dist/guard/is-type.d.mts.map +1 -1
- package/dist/guard/is-type.mjs +201 -238
- package/dist/guard/is-type.mjs.map +1 -1
- package/dist/guard/key-is-in.d.mts +22 -139
- package/dist/guard/key-is-in.d.mts.map +1 -1
- package/dist/guard/key-is-in.mjs +22 -139
- package/dist/guard/key-is-in.mjs.map +1 -1
- package/dist/index.d.mts +0 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/dist/iterator/range.d.mts +29 -62
- package/dist/iterator/range.d.mts.map +1 -1
- package/dist/iterator/range.mjs.map +1 -1
- package/dist/json/json.d.mts +191 -121
- package/dist/json/json.d.mts.map +1 -1
- package/dist/json/json.mjs +238 -136
- package/dist/json/json.mjs.map +1 -1
- package/dist/number/branded-types/finite-number.d.mts +24 -156
- package/dist/number/branded-types/finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/finite-number.mjs +27 -159
- package/dist/number/branded-types/finite-number.mjs.map +1 -1
- package/dist/number/branded-types/int.d.mts +122 -120
- package/dist/number/branded-types/int.d.mts.map +1 -1
- package/dist/number/branded-types/int.mjs +122 -120
- package/dist/number/branded-types/int.mjs.map +1 -1
- package/dist/number/branded-types/int16.d.mts +22 -30
- package/dist/number/branded-types/int16.d.mts.map +1 -1
- package/dist/number/branded-types/int16.mjs +22 -30
- package/dist/number/branded-types/int16.mjs.map +1 -1
- package/dist/number/branded-types/int32.d.mts +22 -31
- package/dist/number/branded-types/int32.d.mts.map +1 -1
- package/dist/number/branded-types/int32.mjs +22 -31
- package/dist/number/branded-types/int32.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.d.mts +28 -36
- package/dist/number/branded-types/non-negative-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-finite-number.mjs +31 -39
- package/dist/number/branded-types/non-negative-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int16.d.mts +24 -34
- package/dist/number/branded-types/non-negative-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int16.mjs +24 -34
- package/dist/number/branded-types/non-negative-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-negative-int32.d.mts +26 -35
- package/dist/number/branded-types/non-negative-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-negative-int32.mjs +26 -35
- package/dist/number/branded-types/non-negative-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.d.mts +22 -37
- package/dist/number/branded-types/non-zero-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-finite-number.mjs +25 -40
- package/dist/number/branded-types/non-zero-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int.d.mts +15 -30
- package/dist/number/branded-types/non-zero-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int.mjs +15 -30
- package/dist/number/branded-types/non-zero-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int16.d.mts +27 -35
- package/dist/number/branded-types/non-zero-int16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int16.mjs +27 -35
- package/dist/number/branded-types/non-zero-int16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-int32.d.mts +29 -36
- package/dist/number/branded-types/non-zero-int32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-int32.mjs +29 -36
- package/dist/number/branded-types/non-zero-int32.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.d.mts +37 -38
- package/dist/number/branded-types/non-zero-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-safe-int.mjs +39 -40
- package/dist/number/branded-types/non-zero-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.d.mts +24 -35
- package/dist/number/branded-types/non-zero-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint16.mjs +24 -35
- package/dist/number/branded-types/non-zero-uint16.mjs.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.d.mts +24 -35
- package/dist/number/branded-types/non-zero-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/non-zero-uint32.mjs +24 -35
- package/dist/number/branded-types/non-zero-uint32.mjs.map +1 -1
- package/dist/number/branded-types/positive-finite-number.d.mts +26 -40
- package/dist/number/branded-types/positive-finite-number.d.mts.map +1 -1
- package/dist/number/branded-types/positive-finite-number.mjs +29 -43
- package/dist/number/branded-types/positive-finite-number.mjs.map +1 -1
- package/dist/number/branded-types/positive-int.d.mts +133 -123
- package/dist/number/branded-types/positive-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int.mjs +133 -123
- package/dist/number/branded-types/positive-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-int16.d.mts +24 -35
- package/dist/number/branded-types/positive-int16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int16.mjs +24 -35
- package/dist/number/branded-types/positive-int16.mjs.map +1 -1
- package/dist/number/branded-types/positive-int32.d.mts +24 -35
- package/dist/number/branded-types/positive-int32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-int32.mjs +24 -35
- package/dist/number/branded-types/positive-int32.mjs.map +1 -1
- package/dist/number/branded-types/positive-safe-int.d.mts +159 -33
- package/dist/number/branded-types/positive-safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/positive-safe-int.mjs +160 -34
- package/dist/number/branded-types/positive-safe-int.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint16.d.mts +24 -35
- package/dist/number/branded-types/positive-uint16.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint16.mjs +24 -35
- package/dist/number/branded-types/positive-uint16.mjs.map +1 -1
- package/dist/number/branded-types/positive-uint32.d.mts +26 -36
- package/dist/number/branded-types/positive-uint32.d.mts.map +1 -1
- package/dist/number/branded-types/positive-uint32.mjs +26 -36
- package/dist/number/branded-types/positive-uint32.mjs.map +1 -1
- package/dist/number/branded-types/safe-int.d.mts +140 -99
- package/dist/number/branded-types/safe-int.d.mts.map +1 -1
- package/dist/number/branded-types/safe-int.mjs +142 -101
- package/dist/number/branded-types/safe-int.mjs.map +1 -1
- package/dist/number/branded-types/safe-uint.d.mts +24 -33
- package/dist/number/branded-types/safe-uint.d.mts.map +1 -1
- package/dist/number/branded-types/safe-uint.mjs +25 -34
- package/dist/number/branded-types/safe-uint.mjs.map +1 -1
- package/dist/number/branded-types/uint.d.mts +121 -30
- package/dist/number/branded-types/uint.d.mts.map +1 -1
- package/dist/number/branded-types/uint.mjs +121 -30
- package/dist/number/branded-types/uint.mjs.map +1 -1
- package/dist/number/branded-types/uint16.d.mts +26 -34
- package/dist/number/branded-types/uint16.d.mts.map +1 -1
- package/dist/number/branded-types/uint16.mjs +26 -34
- package/dist/number/branded-types/uint16.mjs.map +1 -1
- package/dist/number/branded-types/uint32.d.mts +26 -68
- package/dist/number/branded-types/uint32.d.mts.map +1 -1
- package/dist/number/branded-types/uint32.mjs +26 -68
- package/dist/number/branded-types/uint32.mjs.map +1 -1
- package/dist/number/enum/int8.d.mts +37 -101
- package/dist/number/enum/int8.d.mts.map +1 -1
- package/dist/number/enum/int8.mjs +39 -170
- package/dist/number/enum/int8.mjs.map +1 -1
- package/dist/number/enum/uint8.d.mts +45 -55
- package/dist/number/enum/uint8.d.mts.map +1 -1
- package/dist/number/enum/uint8.mjs +46 -155
- package/dist/number/enum/uint8.mjs.map +1 -1
- package/dist/number/num.d.mts +145 -206
- package/dist/number/num.d.mts.map +1 -1
- package/dist/number/num.mjs +143 -199
- package/dist/number/num.mjs.map +1 -1
- package/dist/number/refined-number-utils.d.mts +97 -21
- package/dist/number/refined-number-utils.d.mts.map +1 -1
- package/dist/number/refined-number-utils.mjs +91 -20
- package/dist/number/refined-number-utils.mjs.map +1 -1
- package/dist/object/object.d.mts +126 -208
- package/dist/object/object.d.mts.map +1 -1
- package/dist/object/object.mjs +68 -102
- package/dist/object/object.mjs.map +1 -1
- package/dist/others/cast-mutable.d.mts +12 -88
- package/dist/others/cast-mutable.d.mts.map +1 -1
- package/dist/others/cast-mutable.mjs +13 -89
- package/dist/others/cast-mutable.mjs.map +1 -1
- package/dist/others/cast-readonly.d.mts +12 -168
- package/dist/others/cast-readonly.d.mts.map +1 -1
- package/dist/others/cast-readonly.mjs +13 -169
- package/dist/others/cast-readonly.mjs.map +1 -1
- package/dist/others/if-then.d.mts +6 -83
- package/dist/others/if-then.d.mts.map +1 -1
- package/dist/others/if-then.mjs +6 -83
- package/dist/others/if-then.mjs.map +1 -1
- package/dist/others/map-nullable.d.mts +12 -136
- package/dist/others/map-nullable.d.mts.map +1 -1
- package/dist/others/map-nullable.mjs.map +1 -1
- package/dist/others/memoize-function.d.mts +14 -157
- package/dist/others/memoize-function.d.mts.map +1 -1
- package/dist/others/memoize-function.mjs +14 -157
- package/dist/others/memoize-function.mjs.map +1 -1
- package/dist/others/tuple.d.mts +33 -151
- package/dist/others/tuple.d.mts.map +1 -1
- package/dist/others/tuple.mjs +33 -151
- package/dist/others/tuple.mjs.map +1 -1
- package/dist/others/unknown-to-string.d.mts +11 -125
- package/dist/others/unknown-to-string.d.mts.map +1 -1
- package/dist/others/unknown-to-string.mjs +14 -127
- package/dist/others/unknown-to-string.mjs.map +1 -1
- package/dist/promise/promise.d.mts +33 -20
- package/dist/promise/promise.d.mts.map +1 -1
- package/dist/promise/promise.mjs +34 -21
- package/dist/promise/promise.mjs.map +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +54 -50
- package/src/array/impl/array-utils-creation.mts +192 -0
- package/src/array/{array-utils-creation.test.mts → impl/array-utils-creation.test.mts} +121 -72
- package/src/array/impl/array-utils-element-access.mts +115 -0
- package/src/array/impl/array-utils-element-access.test.mts +151 -0
- package/src/array/impl/array-utils-iterators.mts +79 -0
- package/src/array/impl/array-utils-iterators.test.mts +98 -0
- package/src/array/impl/array-utils-modification.mts +434 -0
- package/src/array/{array-utils-modification.test.mts → impl/array-utils-modification.test.mts} +41 -28
- package/src/array/{array-utils-overload-type-error.test.mts → impl/array-utils-overload-type-error.test.mts} +33 -33
- package/src/array/impl/array-utils-reducing-value.mts +551 -0
- package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +45 -50
- package/src/array/impl/array-utils-search.mts +509 -0
- package/src/array/impl/array-utils-search.test.mts +346 -0
- package/src/array/impl/array-utils-set-op.mts +166 -0
- package/src/array/{array-utils-set-op.test.mts → impl/array-utils-set-op.test.mts} +42 -35
- package/src/array/impl/array-utils-size.mts +30 -0
- package/src/array/impl/array-utils-size.test.mts +9 -0
- package/src/array/impl/array-utils-slice-clamped.mts +51 -0
- package/src/array/{array-utils-slice-clamped.test.mts → impl/array-utils-slice-clamped.test.mts} +12 -12
- package/src/array/impl/array-utils-slicing.mts +275 -0
- package/src/array/impl/array-utils-slicing.test.mts +158 -0
- package/src/array/impl/array-utils-transformation.mts +746 -0
- package/src/array/{array-utils-transformation.test.mts → impl/array-utils-transformation.test.mts} +662 -889
- package/src/array/impl/array-utils-validation.mts +241 -0
- package/src/array/{array-utils-validation.test.mts → impl/array-utils-validation.test.mts} +194 -107
- package/src/array/{array.test.mts → impl/array.test.mts} +2 -2
- package/src/array/impl/index.mts +12 -0
- package/src/array/index.mts +1 -1
- package/src/collections/imap-mapped.mts +99 -265
- package/src/collections/imap.mts +477 -174
- package/src/collections/imap.test.mts +12 -19
- package/src/collections/iset-mapped.mts +892 -358
- package/src/collections/iset.mts +429 -213
- package/src/collections/queue.mts +174 -200
- package/src/collections/stack.mts +172 -245
- package/src/collections/stack.test.mts +9 -1
- package/src/entry-point.mts +2 -0
- package/src/expect-type.mts +43 -172
- package/src/functional/match.mts +35 -145
- package/src/functional/optional.mts +285 -163
- package/src/functional/optional.test.mts +4 -1
- package/src/functional/pipe.mts +60 -113
- package/src/functional/result.mts +452 -351
- package/src/functional/result.test.mts +9 -2
- package/src/globals.d.mts +12 -5
- package/src/guard/has-key.mts +23 -74
- package/src/guard/is-non-empty-string.mts +20 -87
- package/src/guard/is-non-null-object.mts +14 -84
- package/src/guard/is-non-null-object.test.mts +1 -1
- package/src/guard/is-primitive.mts +13 -126
- package/src/guard/is-primitive.test.mts +1 -1
- package/src/guard/is-record.mts +21 -132
- package/src/guard/is-record.test.mts +0 -1
- package/src/guard/is-type.mts +201 -238
- package/src/guard/is-type.test.mts +7 -7
- package/src/guard/key-is-in.mts +22 -139
- package/src/index.mts +0 -1
- package/src/iterator/range.mts +29 -62
- package/src/json/json.mts +202 -134
- package/src/json/json.test.mts +1 -3
- package/src/number/branded-types/finite-number.mts +27 -159
- package/src/number/branded-types/int.mts +122 -120
- package/src/number/branded-types/int16.mts +22 -30
- package/src/number/branded-types/int16.test.mts +24 -24
- package/src/number/branded-types/int32.mts +22 -31
- package/src/number/branded-types/int32.test.mts +39 -39
- package/src/number/branded-types/non-negative-finite-number.mts +31 -39
- package/src/number/branded-types/non-negative-int16.mts +24 -34
- package/src/number/branded-types/non-negative-int16.test.mts +16 -16
- package/src/number/branded-types/non-negative-int32.mts +26 -35
- package/src/number/branded-types/non-negative-int32.test.mts +30 -30
- package/src/number/branded-types/non-zero-finite-number.mts +25 -40
- package/src/number/branded-types/non-zero-int.mts +15 -30
- package/src/number/branded-types/non-zero-int16.mts +27 -35
- package/src/number/branded-types/non-zero-int16.test.mts +26 -26
- package/src/number/branded-types/non-zero-int32.mts +29 -36
- package/src/number/branded-types/non-zero-int32.test.mts +45 -42
- package/src/number/branded-types/non-zero-safe-int.mts +39 -40
- package/src/number/branded-types/non-zero-uint16.mts +24 -35
- package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
- package/src/number/branded-types/non-zero-uint32.mts +24 -35
- package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
- package/src/number/branded-types/positive-finite-number.mts +29 -43
- package/src/number/branded-types/positive-int.mts +134 -124
- package/src/number/branded-types/positive-int16.mts +24 -35
- package/src/number/branded-types/positive-int16.test.mts +14 -14
- package/src/number/branded-types/positive-int32.mts +24 -35
- package/src/number/branded-types/positive-int32.test.mts +26 -26
- package/src/number/branded-types/positive-safe-int.mts +160 -34
- package/src/number/branded-types/positive-uint16.mts +24 -35
- package/src/number/branded-types/positive-uint16.test.mts +16 -16
- package/src/number/branded-types/positive-uint32.mts +26 -36
- package/src/number/branded-types/positive-uint32.test.mts +31 -28
- package/src/number/branded-types/safe-int.mts +142 -101
- package/src/number/branded-types/safe-uint.mts +25 -34
- package/src/number/branded-types/uint.mts +121 -30
- package/src/number/branded-types/uint16.mts +26 -34
- package/src/number/branded-types/uint16.test.mts +16 -16
- package/src/number/branded-types/uint32.mts +26 -68
- package/src/number/branded-types/uint32.test.mts +28 -28
- package/src/number/enum/int8.mts +39 -170
- package/src/number/enum/uint8.mts +46 -155
- package/src/number/num.mts +157 -212
- package/src/number/num.test.mts +4 -4
- package/src/number/refined-number-utils.mts +109 -26
- package/src/object/object.mts +130 -212
- package/src/object/object.test.mts +29 -0
- package/src/others/cast-mutable.mts +13 -89
- package/src/others/cast-mutable.test.mts +80 -0
- package/src/others/cast-readonly.mts +13 -169
- package/src/others/if-then.mts +6 -83
- package/src/others/map-nullable.mts +12 -136
- package/src/others/map-nullable.test.mts +6 -6
- package/src/others/memoize-function.mts +14 -157
- package/src/others/tuple.mts +33 -151
- package/src/others/unknown-to-string.mts +15 -127
- package/src/others/unknown-to-string.test.mts +14 -2
- package/src/promise/promise.mts +34 -21
- package/src/promise/promise.test.mts +43 -0
- package/dist/array/array-utils.d.mts +0 -2956
- package/dist/array/array-utils.d.mts.map +0 -1
- package/dist/array/array-utils.mjs +0 -1838
- package/dist/array/array-utils.mjs.map +0 -1
- package/src/array/array-utils-search.test.mts +0 -169
- package/src/array/array-utils-slicing.test.mts +0 -274
- package/src/array/array-utils.mts +0 -4834
package/README.md
CHANGED
|
@@ -32,6 +32,10 @@ This library offers a range of utilities, including:
|
|
|
32
32
|
- **JSON Handling**: Type-safe JSON parsing and stringification.
|
|
33
33
|
- **And more**: Including memoization, casting utilities, and other helpful tools.
|
|
34
34
|
|
|
35
|
+
## Documentation
|
|
36
|
+
|
|
37
|
+
- API reference: <https://noshiro-pf.github.io/ts-data-forge/>
|
|
38
|
+
|
|
35
39
|
## Installation
|
|
36
40
|
|
|
37
41
|
```bash
|
|
@@ -132,7 +136,7 @@ Here are some examples of how to use utilities from `ts-data-forge`:
|
|
|
132
136
|
|
|
133
137
|
The `expectType` utility allows you to make assertions about types at compile time. This is useful for ensuring type correctness in complex type manipulations or when refactoring.
|
|
134
138
|
|
|
135
|
-
```
|
|
139
|
+
```tsx
|
|
136
140
|
import { expectType } from 'ts-data-forge';
|
|
137
141
|
|
|
138
142
|
type User = { id: number; name: string };
|
|
@@ -158,7 +162,7 @@ expectType<User, any>('!='); // Error: Comparisons with `any` are also strictly
|
|
|
158
162
|
|
|
159
163
|
Handle nullable values and error-prone operations safely.
|
|
160
164
|
|
|
161
|
-
```
|
|
165
|
+
```tsx
|
|
162
166
|
import { match, Optional, pipe, Result } from 'ts-data-forge';
|
|
163
167
|
|
|
164
168
|
// Optional for nullable values
|
|
@@ -212,7 +216,7 @@ assert(processResult(Result.err('Failed')) === 'Error: Failed');
|
|
|
212
216
|
|
|
213
217
|
The `Num` object provides safe and convenient functions for numerical operations.
|
|
214
218
|
|
|
215
|
-
```
|
|
219
|
+
```tsx
|
|
216
220
|
import { Num } from 'ts-data-forge';
|
|
217
221
|
|
|
218
222
|
// Basic conversions
|
|
@@ -235,8 +239,8 @@ assert(clamp(-10) === 0);
|
|
|
235
239
|
// Rounding utilities
|
|
236
240
|
const round2 = Num.round(2);
|
|
237
241
|
|
|
238
|
-
assert(round2(3.
|
|
239
|
-
assert(Num.roundAt(3.
|
|
242
|
+
assert(round2(3.141_59) === 3.14);
|
|
243
|
+
assert(Num.roundAt(3.141_59, 3) === 3.142);
|
|
240
244
|
assert(Num.roundToInt(3.7) === 4);
|
|
241
245
|
|
|
242
246
|
// Type guards
|
|
@@ -252,7 +256,7 @@ if (Num.isNonZero(value)) {
|
|
|
252
256
|
|
|
253
257
|
`ts-data-forge` provides branded number types that enforce specific constraints at the type level.
|
|
254
258
|
|
|
255
|
-
```
|
|
259
|
+
```tsx
|
|
256
260
|
import {
|
|
257
261
|
asFiniteNumber,
|
|
258
262
|
asInt,
|
|
@@ -284,9 +288,9 @@ assert.throw(() => {
|
|
|
284
288
|
|
|
285
289
|
// Range-constrained types (16-bit, 32-bit)
|
|
286
290
|
const int16 = asInt16(1000); // Int16: [-32768, 32767]
|
|
287
|
-
const uint32 = asUint32(
|
|
291
|
+
const uint32 = asUint32(3_000_000_000); // Uint32: [0, 4294967295]
|
|
288
292
|
assert(int16 === 1000);
|
|
289
|
-
assert(uint32 ===
|
|
293
|
+
assert(uint32 === 3_000_000_000);
|
|
290
294
|
|
|
291
295
|
// Non-zero and positive variants
|
|
292
296
|
const nonZeroInt = asNonZeroInt(5); // NonZeroInt - excludes zero
|
|
@@ -296,9 +300,9 @@ assert(positiveInt === 10);
|
|
|
296
300
|
|
|
297
301
|
// Type-safe arithmetic with automatic clamping
|
|
298
302
|
const sum = Int16.add(int16, asInt16(2000)); // Int16 (3000)
|
|
299
|
-
const clamped = Int16.clamp(
|
|
303
|
+
const clamped = Int16.clamp(100_000); // Int16 (32767 - clamped to MAX_VALUE)
|
|
300
304
|
assert(sum === 3000);
|
|
301
|
-
assert(clamped ===
|
|
305
|
+
assert(clamped === 32_767);
|
|
302
306
|
|
|
303
307
|
// Safe division with non-zero types
|
|
304
308
|
const ratio = NonZeroInt.div(asNonZeroInt(10), nonZeroInt); // No division by zero risk
|
|
@@ -306,15 +310,15 @@ assert(ratio === 2);
|
|
|
306
310
|
|
|
307
311
|
// Random generation within type constraints
|
|
308
312
|
const randomInt16 = Int16.random(); // Int16 (random value in valid range)
|
|
309
|
-
assert(-
|
|
310
|
-
assert(randomInt16 <=
|
|
313
|
+
assert(-32_768 <= randomInt16);
|
|
314
|
+
assert(randomInt16 <= 32_767);
|
|
311
315
|
```
|
|
312
316
|
|
|
313
317
|
### 4. Array Utilities with `Arr`
|
|
314
318
|
|
|
315
319
|
The `Arr` object provides a rich set of functions for array manipulation.
|
|
316
320
|
|
|
317
|
-
```
|
|
321
|
+
```tsx
|
|
318
322
|
import { Arr, expectType, Optional } from 'ts-data-forge';
|
|
319
323
|
|
|
320
324
|
const numbers: readonly number[] = [1, 2, 3, 4, 5, 2, 3];
|
|
@@ -369,7 +373,7 @@ if (Optional.isSome(oldestPerson)) {
|
|
|
369
373
|
|
|
370
374
|
Type-safe, immutable data structures.
|
|
371
375
|
|
|
372
|
-
```
|
|
376
|
+
```tsx
|
|
373
377
|
import { Arr, IMap, ISet, Optional } from 'ts-data-forge';
|
|
374
378
|
|
|
375
379
|
// IMap usage - immutable operations
|
|
@@ -415,7 +419,7 @@ assert(setWithItems.size === 2);
|
|
|
415
419
|
|
|
416
420
|
Safe type narrowing with comprehensive type guards.
|
|
417
421
|
|
|
418
|
-
```
|
|
422
|
+
```tsx
|
|
419
423
|
import { hasKey, isNonNullObject, isRecord } from 'ts-data-forge';
|
|
420
424
|
|
|
421
425
|
const processData = (data: unknown): string | undefined => {
|
|
@@ -448,7 +452,7 @@ assert(processData('not an object') === undefined);
|
|
|
448
452
|
|
|
449
453
|
Generate ranges for iteration and array creation.
|
|
450
454
|
|
|
451
|
-
```
|
|
455
|
+
```tsx
|
|
452
456
|
import { range } from 'ts-data-forge';
|
|
453
457
|
|
|
454
458
|
// Traditional for loop using range
|
|
@@ -480,25 +484,45 @@ assert.deepStrictEqual(mut_stepValues, [0, 2, 4, 6, 8]);
|
|
|
480
484
|
Safely work with readonly types when interfacing with mutable APIs.
|
|
481
485
|
|
|
482
486
|
```tsx
|
|
487
|
+
import type * as React from 'react';
|
|
483
488
|
import { castMutable } from 'ts-data-forge';
|
|
484
489
|
|
|
485
490
|
// Example: Material-UI Autocomplete
|
|
486
491
|
import { Autocomplete, TextField } from '@mui/material';
|
|
487
492
|
|
|
493
|
+
// Immer.js example
|
|
494
|
+
import { produce } from 'immer';
|
|
495
|
+
|
|
488
496
|
export const SomeComponent: React.FC = () => (
|
|
489
497
|
<Autocomplete
|
|
490
498
|
options={castMutable(readonlyOptions)}
|
|
491
|
-
renderInput={(
|
|
492
|
-
|
|
499
|
+
renderInput={({
|
|
500
|
+
InputLabelProps,
|
|
501
|
+
InputProps,
|
|
502
|
+
disabled,
|
|
503
|
+
fullWidth,
|
|
504
|
+
id,
|
|
505
|
+
inputProps,
|
|
506
|
+
size,
|
|
507
|
+
}) => (
|
|
508
|
+
<TextField
|
|
509
|
+
slotProps={{
|
|
510
|
+
inputLabel: InputLabelProps,
|
|
511
|
+
input: InputProps,
|
|
512
|
+
htmlInput: inputProps,
|
|
513
|
+
}}
|
|
514
|
+
disabled={disabled}
|
|
515
|
+
fullWidth={fullWidth}
|
|
516
|
+
id={id}
|
|
517
|
+
size={size}
|
|
518
|
+
placeholder="Select an option"
|
|
519
|
+
/>
|
|
493
520
|
)}
|
|
494
521
|
/>
|
|
495
522
|
);
|
|
496
523
|
|
|
497
524
|
const readonlyOptions: readonly string[] = ['Option 1', 'Option 2', 'Option 3'];
|
|
498
525
|
|
|
499
|
-
// Immer.js example
|
|
500
|
-
import { produce } from 'immer';
|
|
501
|
-
|
|
502
526
|
type State = Readonly<{
|
|
503
527
|
items: readonly string[];
|
|
504
528
|
}>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates an array of zeros with the specified length.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* const emptyZeros = Arr.zeros(0);
|
|
8
|
+
* const threeZeros = Arr.zeros(3);
|
|
9
|
+
*
|
|
10
|
+
* assert.deepStrictEqual(emptyZeros, []);
|
|
11
|
+
* assert.deepStrictEqual(threeZeros, [0, 0, 0]);
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const zeros: <N extends SizeType.ArgArr>(len: N) => N extends SmallUint ? ArrayOfLength<N, 0> : N extends SizeType.ArgArrPositive ? NonEmptyArray<0> : readonly 0[];
|
|
15
|
+
/**
|
|
16
|
+
* Creates a sequence of consecutive integers from 0 to `len-1`.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* const emptySeq = Arr.seq(0);
|
|
22
|
+
* const firstFive = Arr.seq(5);
|
|
23
|
+
*
|
|
24
|
+
* assert.deepStrictEqual(emptySeq, []);
|
|
25
|
+
* assert.deepStrictEqual(firstFive, [0, 1, 2, 3, 4]);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare const seq: <N extends SizeType.ArgArr>(len: N) => N extends SmallUint ? Seq<N> : N extends SizeType.ArgArrPositive ? NonEmptyArray<SizeType.Arr> : readonly SizeType.Arr[];
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new array of the specified length, filled with the initial value.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
*
|
|
34
|
+
* ```ts
|
|
35
|
+
* const threeOnes = Arr.create(3, 1);
|
|
36
|
+
* const emptyStrings = Arr.create(0, 'Ada');
|
|
37
|
+
*
|
|
38
|
+
* assert.deepStrictEqual(threeOnes, [1, 1, 1]);
|
|
39
|
+
* assert.deepStrictEqual(emptyStrings, []);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare const create: <const V, N extends SizeType.ArgArr>(len: N, init: V) => N extends SmallUint ? ArrayOfLength<N, V> : N extends SizeType.ArgArrPositive ? NonEmptyArray<V> : readonly V[];
|
|
43
|
+
/**
|
|
44
|
+
* Alias for `create`.
|
|
45
|
+
*
|
|
46
|
+
* @see {@link create}
|
|
47
|
+
*/
|
|
48
|
+
export declare const newArray: <const V, N extends SizeType.ArgArr>(len: N, init: V) => N extends SmallUint ? ArrayOfLength<N, V> : N extends SizeType.ArgArrPositive ? NonEmptyArray<V> : readonly V[];
|
|
49
|
+
/**
|
|
50
|
+
* Generates an array from a generator function.
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* const numbers = Arr.generate(function* () {
|
|
56
|
+
* yield 1;
|
|
57
|
+
* yield 2;
|
|
58
|
+
* yield 3;
|
|
59
|
+
* });
|
|
60
|
+
*
|
|
61
|
+
* assert.deepStrictEqual(numbers, [1, 2, 3]);
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const generate: <T>(generatorFn: () => Generator<T, void, unknown>) => readonly T[];
|
|
65
|
+
/**
|
|
66
|
+
* Generates an array from an async generator function.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* const values = await Arr.generateAsync(async function* () {
|
|
72
|
+
* yield 'Ada';
|
|
73
|
+
* await Promise.resolve();
|
|
74
|
+
* yield 'Lovelace';
|
|
75
|
+
* });
|
|
76
|
+
*
|
|
77
|
+
* assert.deepStrictEqual(values, ['Ada', 'Lovelace']);
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
export declare const generateAsync: <T>(generatorFn: () => AsyncGenerator<T, void, unknown>) => Promise<readonly T[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Creates a shallow copy of an array.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
*
|
|
86
|
+
* ```ts
|
|
87
|
+
* const original = [{ id: 1 }, { id: 2 }] as const;
|
|
88
|
+
* const cloned = Arr.copy(original);
|
|
89
|
+
*
|
|
90
|
+
* assert.deepStrictEqual(cloned, original);
|
|
91
|
+
* assert.notStrictEqual(cloned, original);
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export declare const copy: <const Ar extends readonly unknown[]>(array: Ar) => Ar;
|
|
95
|
+
type LT = Readonly<{
|
|
96
|
+
[N in SmallUint]: Index<N>;
|
|
97
|
+
}>;
|
|
98
|
+
type RangeList<S extends SmallUint, E extends SmallUint> = BoolOr<IsUnion<S>, IsUnion<E>> extends true ? readonly RelaxedExclude<LT[E], LT[Min<S>]>[] : List.Skip<S, Seq<E>>;
|
|
99
|
+
/**
|
|
100
|
+
* Creates an array of numbers within a specified range with optional step.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* const ascending = Arr.range(asUint32(1), asUint32(5));
|
|
106
|
+
* const empty = Arr.range(asUint32(2), asUint32(2));
|
|
107
|
+
*
|
|
108
|
+
* assert.deepStrictEqual(ascending, [1, 2, 3, 4]);
|
|
109
|
+
* assert.deepStrictEqual(empty, []);
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export declare function range<S extends SmallUint, E extends SmallUint>(start: S, end: E, step?: 1): RangeList<S, E>;
|
|
113
|
+
export declare function range(start: SafeUintWithSmallInt, end: SafeUintWithSmallInt, step?: PositiveSafeIntWithSmallInt): readonly SafeUint[];
|
|
114
|
+
export declare function range(start: SafeIntWithSmallInt, end: SafeIntWithSmallInt, step?: NonZeroSafeIntWithSmallInt): readonly SafeInt[];
|
|
115
|
+
export {};
|
|
116
|
+
//# sourceMappingURL=array-utils-creation.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-creation.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-creation.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { range as range$1 } from '../../iterator/range.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates an array of zeros with the specified length.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const emptyZeros = Arr.zeros(0);
|
|
10
|
+
* const threeZeros = Arr.zeros(3);
|
|
11
|
+
*
|
|
12
|
+
* assert.deepStrictEqual(emptyZeros, []);
|
|
13
|
+
* assert.deepStrictEqual(threeZeros, [0, 0, 0]);
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
const zeros = (len) =>
|
|
17
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
18
|
+
Array.from({ length: len }).fill(0);
|
|
19
|
+
/**
|
|
20
|
+
* Creates a sequence of consecutive integers from 0 to `len-1`.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* const emptySeq = Arr.seq(0);
|
|
26
|
+
* const firstFive = Arr.seq(5);
|
|
27
|
+
*
|
|
28
|
+
* assert.deepStrictEqual(emptySeq, []);
|
|
29
|
+
* assert.deepStrictEqual(firstFive, [0, 1, 2, 3, 4]);
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
const seq = (len) =>
|
|
33
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
34
|
+
Array.from({ length: len }, (_, i) => i);
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new array of the specified length, filled with the initial value.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* const threeOnes = Arr.create(3, 1);
|
|
42
|
+
* const emptyStrings = Arr.create(0, 'Ada');
|
|
43
|
+
*
|
|
44
|
+
* assert.deepStrictEqual(threeOnes, [1, 1, 1]);
|
|
45
|
+
* assert.deepStrictEqual(emptyStrings, []);
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
const create = (len, init) =>
|
|
49
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
50
|
+
Array.from({ length: Math.max(0, len) }, () => init);
|
|
51
|
+
/**
|
|
52
|
+
* Alias for `create`.
|
|
53
|
+
*
|
|
54
|
+
* @see {@link create}
|
|
55
|
+
*/
|
|
56
|
+
const newArray = create;
|
|
57
|
+
/**
|
|
58
|
+
* Generates an array from a generator function.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
*
|
|
62
|
+
* ```ts
|
|
63
|
+
* const numbers = Arr.generate(function* () {
|
|
64
|
+
* yield 1;
|
|
65
|
+
* yield 2;
|
|
66
|
+
* yield 3;
|
|
67
|
+
* });
|
|
68
|
+
*
|
|
69
|
+
* assert.deepStrictEqual(numbers, [1, 2, 3]);
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
const generate = (generatorFn) => Array.from(generatorFn());
|
|
73
|
+
/**
|
|
74
|
+
* Generates an array from an async generator function.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
*
|
|
78
|
+
* ```ts
|
|
79
|
+
* const values = await Arr.generateAsync(async function* () {
|
|
80
|
+
* yield 'Ada';
|
|
81
|
+
* await Promise.resolve();
|
|
82
|
+
* yield 'Lovelace';
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* assert.deepStrictEqual(values, ['Ada', 'Lovelace']);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
const generateAsync = (generatorFn) => Array.fromAsync(generatorFn());
|
|
89
|
+
/**
|
|
90
|
+
* Creates a shallow copy of an array.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* const original = [{ id: 1 }, { id: 2 }] as const;
|
|
96
|
+
* const cloned = Arr.copy(original);
|
|
97
|
+
*
|
|
98
|
+
* assert.deepStrictEqual(cloned, original);
|
|
99
|
+
* assert.notStrictEqual(cloned, original);
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
const copy = (array) =>
|
|
103
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
104
|
+
array.slice();
|
|
105
|
+
function range(start, end, step = 1) {
|
|
106
|
+
return Array.from(range$1(start, end, step));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { copy, create, generate, generateAsync, newArray, range, seq, zeros };
|
|
110
|
+
//# sourceMappingURL=array-utils-creation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-creation.mjs","sources":["../../../src/array/impl/array-utils-creation.mts"],"sourcesContent":[null],"names":["rangeIterator"],"mappings":";;AAGA;;;;;;;;;;;;AAYG;AACI,MAAM,KAAK,GAAG,CACnB,GAAM;AAMN;AACA,KAAK,CAAC,IAAI,CAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAEvC;;;;;;;;;;;;AAYG;AACI,MAAM,GAAG,GAAG,CACjB,GAAM;AAMN;AACA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;AAEzC;;;;;;;;;;;;AAYG;MACU,MAAM,GAAG,CACpB,GAAM,EACN,IAAO;AAMP;AACA,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI;AAErD;;;;AAIG;AACI,MAAM,QAAQ,GAAG;AAExB;;;;;;;;;;;;;;AAcG;AACI,MAAM,QAAQ,GAAG,CACtB,WAA8C,KAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;AAE3C;;;;;;;;;;;;;;AAcG;AACI,MAAM,aAAa,GAAG,CAC3B,WAAmD,KACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;AAEzD;;;;;;;;;;;;AAYG;AACI,MAAM,IAAI,GAAG,CAAsC,KAAS;AACjE;AACA,KAAK,CAAC,KAAK;AAoDP,SAAU,KAAK,CACnB,KAA0B,EAC1B,GAAwB,EACxB,OAAmC,CAAC,EAAA;AAEpC,IAAA,OAAO,KAAK,CAAC,IAAI,CAACA,OAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACpD;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Optional } from '../../functional/index.mjs';
|
|
2
|
+
/**
|
|
3
|
+
* Safely retrieves an element at a given index from an array, returning an Optional.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const letters: readonly string[] = ['a', 'b', 'c'];
|
|
9
|
+
*
|
|
10
|
+
* const two = Arr.at(letters, 1);
|
|
11
|
+
* const last = Arr.at(-1)(letters);
|
|
12
|
+
* const missing = Arr.at(letters, 5);
|
|
13
|
+
*
|
|
14
|
+
* assert.deepStrictEqual(two, Optional.some('b'));
|
|
15
|
+
* assert.deepStrictEqual(last, Optional.some('c'));
|
|
16
|
+
* assert.deepStrictEqual(missing, Optional.none);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function at<const Ar extends readonly unknown[]>(array: Ar, index: ArgArrayIndexWithNegative<Ar>): Optional<Ar[number]>;
|
|
20
|
+
export declare function at(index: SizeType.ArgArrWithNegative): <E>(array: readonly E[]) => Optional<E>;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the first element of an array as an Optional.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* const users = [{ id: 1 }, { id: 2 }];
|
|
28
|
+
* const empty: { id: number }[] = [];
|
|
29
|
+
*
|
|
30
|
+
* const first = Arr.head(users);
|
|
31
|
+
* const none = Arr.head(empty);
|
|
32
|
+
*
|
|
33
|
+
* assert.deepStrictEqual(first, Optional.some({ id: 1 }));
|
|
34
|
+
* assert.deepStrictEqual(none, Optional.none);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare const head: <const Ar extends readonly unknown[]>(array: Ar) => Ar extends readonly [] ? Optional.None : Ar extends readonly [infer E, ...unknown[]] ? Optional.Some<E> : Ar extends NonEmptyArray<infer E> ? Optional.Some<E> : Optional<Ar[number]>;
|
|
38
|
+
/**
|
|
39
|
+
* Returns the last element of an array as an Optional.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
*
|
|
43
|
+
* ```ts
|
|
44
|
+
* const queue = ['first', 'second'];
|
|
45
|
+
* const emptyQueue: string[] = [];
|
|
46
|
+
*
|
|
47
|
+
* const lastValue = Arr.last(queue);
|
|
48
|
+
* const none = Arr.last(emptyQueue);
|
|
49
|
+
*
|
|
50
|
+
* assert.deepStrictEqual(lastValue, Optional.some('second'));
|
|
51
|
+
* assert.deepStrictEqual(none, Optional.none);
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare const last: <const Ar extends readonly unknown[]>(array: Ar) => Ar extends readonly [] ? Optional.None : Ar extends readonly [...unknown[], infer E] ? Optional.Some<E> : Ar extends NonEmptyArray<infer E> ? Optional.Some<E> : Optional<Ar[number]>;
|
|
55
|
+
/**
|
|
56
|
+
* Alias for `head`.
|
|
57
|
+
*
|
|
58
|
+
* @see {@link head}
|
|
59
|
+
*/
|
|
60
|
+
export declare const first: <const Ar extends readonly unknown[]>(array: Ar) => Ar extends readonly [] ? Optional.None : Ar extends readonly [infer E, ...unknown[]] ? Optional.Some<E> : Ar extends NonEmptyArray<infer E> ? Optional.Some<E> : Optional<Ar[number]>;
|
|
61
|
+
//# sourceMappingURL=array-utils-element-access.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-element-access.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-element-access.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,MAAM,4BAA4B,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,EACpD,KAAK,EAAE,EAAE,EACT,KAAK,EAAE,yBAAyB,CAAC,EAAE,CAAC,GACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAIxB,wBAAgB,EAAE,CAChB,KAAK,EAAE,QAAQ,CAAC,kBAAkB,GACjC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;AAyB3C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,EACtD,OAAO,EAAE,KACR,EAAE,SAAS,SAAS,EAAE,GACrB,QAAQ,CAAC,IAAI,GACb,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAEiD,CAAC;AAE7E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,GAAI,KAAK,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,EACtD,OAAO,EAAE,KACR,EAAE,SAAS,SAAS,EAAE,GACrB,QAAQ,CAAC,IAAI,GACb,EAAE,SAAS,SAAS,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,GACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAEkD,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,KAAK,SA7CS,EAAE,SAAS,SAAS,OAAO,EAAE,SAC/C,EAAE,KACR,EAAE,SAAS,SAAS,EAAE,GACrB,QAAQ,CAAC,IAAI,GACb,EAAE,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GACzC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAChB,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAqCF,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Optional } from '../../functional/optional.mjs';
|
|
2
|
+
import { pipe } from '../../functional/pipe.mjs';
|
|
3
|
+
import '../../functional/result.mjs';
|
|
4
|
+
|
|
5
|
+
function at(...args) {
|
|
6
|
+
switch (args.length) {
|
|
7
|
+
case 2: {
|
|
8
|
+
const [array, index] = args;
|
|
9
|
+
return pipe(index < 0 ? array.length + index : index).map((normalizedIndex) => normalizedIndex < 0 || normalizedIndex >= array.length
|
|
10
|
+
? Optional.none
|
|
11
|
+
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
12
|
+
Optional.some(array[normalizedIndex])).value;
|
|
13
|
+
}
|
|
14
|
+
case 1: {
|
|
15
|
+
const [index] = args;
|
|
16
|
+
return (array) => at(array, index);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the first element of an array as an Optional.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* const users = [{ id: 1 }, { id: 2 }];
|
|
27
|
+
* const empty: { id: number }[] = [];
|
|
28
|
+
*
|
|
29
|
+
* const first = Arr.head(users);
|
|
30
|
+
* const none = Arr.head(empty);
|
|
31
|
+
*
|
|
32
|
+
* assert.deepStrictEqual(first, Optional.some({ id: 1 }));
|
|
33
|
+
* assert.deepStrictEqual(none, Optional.none);
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
const head = (array) =>
|
|
37
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
38
|
+
(array.length === 0 ? Optional.none : Optional.some(array.at(0)));
|
|
39
|
+
/**
|
|
40
|
+
* Returns the last element of an array as an Optional.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* const queue = ['first', 'second'];
|
|
46
|
+
* const emptyQueue: string[] = [];
|
|
47
|
+
*
|
|
48
|
+
* const lastValue = Arr.last(queue);
|
|
49
|
+
* const none = Arr.last(emptyQueue);
|
|
50
|
+
*
|
|
51
|
+
* assert.deepStrictEqual(lastValue, Optional.some('second'));
|
|
52
|
+
* assert.deepStrictEqual(none, Optional.none);
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
const last = (array) =>
|
|
56
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
57
|
+
(array.length === 0 ? Optional.none : Optional.some(array.at(-1)));
|
|
58
|
+
/**
|
|
59
|
+
* Alias for `head`.
|
|
60
|
+
*
|
|
61
|
+
* @see {@link head}
|
|
62
|
+
*/
|
|
63
|
+
const first = head;
|
|
64
|
+
|
|
65
|
+
export { at, first, head, last };
|
|
66
|
+
//# sourceMappingURL=array-utils-element-access.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-element-access.mjs","sources":["../../../src/array/impl/array-utils-element-access.mts"],"sourcesContent":[null],"names":[],"mappings":";;;;AA8BM,SAAU,EAAE,CAChB,GAAG,IAE8C,EAAA;AAEjD,IAAA,QAAQ,IAAI,CAAC,MAAM;QACjB,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI;AAC3B,YAAA,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CACvD,CAAC,eAAe,KACd,eAAe,GAAG,CAAC,IAAI,eAAe,IAAI,KAAK,CAAC;kBAC5C,QAAQ,CAAC;AACX;oBACE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC,CAC7C,CAAC,KAAK;QACT;QACA,KAAK,CAAC,EAAE;AACN,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI;YACpB,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QACpC;;AAEJ;AAEA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,IAAI,GAAG,CAClB,KAAS;AAQT;AACA,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;AAeG;AACI,MAAM,IAAI,GAAG,CAClB,KAAS;AAQT;AACA,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnE;;;;AAIG;AACI,MAAM,KAAK,GAAG;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns an iterator of `[index, value]` pairs for an array.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* const tags = ['alpha', 'beta', 'gamma'] as const;
|
|
8
|
+
*
|
|
9
|
+
* const entryList = Array.from(
|
|
10
|
+
* Arr.entries(tags),
|
|
11
|
+
* ([index, tag]) => [Number(index), tag] as const,
|
|
12
|
+
* );
|
|
13
|
+
*
|
|
14
|
+
* assert.deepStrictEqual(
|
|
15
|
+
* entryList,
|
|
16
|
+
* Array.from([
|
|
17
|
+
* [0, 'alpha'],
|
|
18
|
+
* [1, 'beta'],
|
|
19
|
+
* [2, 'gamma'],
|
|
20
|
+
* ]),
|
|
21
|
+
* );
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare const entries: <E>(array: readonly E[]) => ArrayIterator<readonly [SizeType.Arr, E]>;
|
|
25
|
+
/**
|
|
26
|
+
* Returns an iterator of values for an array.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* const players = ['Ada', 'Grace', 'Alan'];
|
|
32
|
+
*
|
|
33
|
+
* const valueList = Array.from(Arr.values(players));
|
|
34
|
+
*
|
|
35
|
+
* assert.deepStrictEqual(valueList, players);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare const values: <E>(array: readonly E[]) => ArrayIterator<E>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns an iterator of indices for an array.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* const items = ['zero', 'one', 'two'] as const;
|
|
46
|
+
*
|
|
47
|
+
* const indexList = Array.from(Arr.indices(items));
|
|
48
|
+
*
|
|
49
|
+
* assert.deepStrictEqual(indexList, [0, 1, 2]);
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare const indices: <E>(array: readonly E[]) => ArrayIterator<SizeType.Arr>;
|
|
53
|
+
/**
|
|
54
|
+
* Alias for `indices`.
|
|
55
|
+
*
|
|
56
|
+
* @see {@link indices}
|
|
57
|
+
*/
|
|
58
|
+
export declare const keys: <E>(array: readonly E[]) => ArrayIterator<SizeType.Arr>;
|
|
59
|
+
//# sourceMappingURL=array-utils-iterators.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array-utils-iterators.d.mts","sourceRoot":"","sources":["../../../src/array/impl/array-utils-iterators.mts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,GAAc,CAAC,EACjC,OAAO,SAAS,CAAC,EAAE,KAClB,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAI1C,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,GAAc,CAAC,EAAE,OAAO,SAAS,CAAC,EAAE,KAAG,aAAa,CAAC,CAAC,CAIxE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GAAc,CAAC,EACjC,OAAO,SAAS,CAAC,EAAE,KAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAI5B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI,GAbiB,CAAC,SAC1B,SAAS,CAAC,EAAE,KAClB,aAAa,CAAC,QAAQ,CAAC,GAAG,CAWF,CAAC"}
|