ts-data-forge 3.3.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 +37 -13
- 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 +1 -0
- package/dist/entry-point.d.mts.map +1 -1
- package/dist/entry-point.mjs +2 -1
- package/dist/entry-point.mjs.map +1 -1
- 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 +12 -126
- 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/package.json +47 -39
- 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 +1 -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-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 +12 -126
- package/src/others/unknown-to-string.test.mts +13 -1
- 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
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the
|
|
3
|
+
* Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the
|
|
4
|
+
* range [-2^31, 2^31) excluding 0).
|
|
5
|
+
*
|
|
4
6
|
* @param value The value to check.
|
|
5
7
|
* @returns `true` if the value is a NonZeroInt32, `false` otherwise.
|
|
6
8
|
*/
|
|
7
9
|
export declare const isNonZeroInt32: (a: number) => a is NonZeroInt32;
|
|
8
10
|
/**
|
|
9
11
|
* Casts a number to a NonZeroInt32 type.
|
|
12
|
+
*
|
|
10
13
|
* @param value The value to cast.
|
|
11
14
|
* @returns The value as a NonZeroInt32 type.
|
|
12
15
|
* @throws {TypeError} If the value is not a non-zero integer in [-2^31, 2^31).
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const x = asNonZeroInt32(1000); // NonZeroInt32
|
|
16
|
-
* const y = asNonZeroInt32(-1000); // NonZeroInt32
|
|
17
|
-
* // asNonZeroInt32(0); // throws TypeError
|
|
18
|
-
* // asNonZeroInt32(2147483648); // throws TypeError
|
|
19
|
-
* ```
|
|
20
16
|
*/
|
|
21
17
|
export declare const asNonZeroInt32: <N extends number>(x: N) => number & {
|
|
22
18
|
readonly NaNValue: false;
|
|
@@ -32,58 +28,45 @@ export declare const asNonZeroInt32: <N extends number>(x: N) => number & {
|
|
|
32
28
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
33
29
|
}> & N;
|
|
34
30
|
/**
|
|
35
|
-
* Namespace providing type-safe arithmetic operations for 32-bit non-zero
|
|
36
|
-
*
|
|
37
|
-
* All operations automatically clamp results to the valid NonZeroInt32 range [-2147483648, 2147483647]
|
|
38
|
-
* excluding 0. This ensures that all arithmetic maintains the 32-bit non-zero signed integer
|
|
39
|
-
* constraint, preventing zero results and overflow.
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* ```typescript
|
|
43
|
-
* const a = asNonZeroInt32(2000000000);
|
|
44
|
-
* const b = asNonZeroInt32(-500000000);
|
|
45
|
-
*
|
|
46
|
-
* // Arithmetic operations with automatic clamping and non-zero constraint
|
|
47
|
-
* const sum = NonZeroInt32.add(a, b); // NonZeroInt32 (1500000000)
|
|
48
|
-
* const diff = NonZeroInt32.sub(a, b); // NonZeroInt32 (2147483647 - clamped to MAX_VALUE)
|
|
49
|
-
* const product = NonZeroInt32.mul(a, b); // NonZeroInt32 (-2147483648 - clamped to MIN_VALUE)
|
|
50
|
-
*
|
|
51
|
-
* // Utility operations
|
|
52
|
-
* const absolute = NonZeroInt32.abs(b); // NonZeroInt32 (500000000)
|
|
53
|
-
* const minimum = NonZeroInt32.min(a, b); // NonZeroInt32 (-500000000)
|
|
54
|
-
* const maximum = NonZeroInt32.max(a, b); // NonZeroInt32 (2000000000)
|
|
31
|
+
* Namespace providing type-safe arithmetic operations for 32-bit non-zero
|
|
32
|
+
* signed integers.
|
|
55
33
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* ```
|
|
34
|
+
* All operations automatically clamp results to the valid NonZeroInt32 range
|
|
35
|
+
* [-2147483648, 2147483647] excluding 0. This ensures that all arithmetic
|
|
36
|
+
* maintains the 32-bit non-zero signed integer constraint, preventing zero
|
|
37
|
+
* results and overflow.
|
|
61
38
|
*/
|
|
62
39
|
export declare const NonZeroInt32: {
|
|
63
40
|
/**
|
|
64
41
|
* Type guard to check if a value is a NonZeroInt32.
|
|
42
|
+
*
|
|
65
43
|
* @param value The value to check.
|
|
66
|
-
* @returns `true` if the value is a 32-bit non-zero signed integer, `false`
|
|
44
|
+
* @returns `true` if the value is a 32-bit non-zero signed integer, `false`
|
|
45
|
+
* otherwise.
|
|
67
46
|
*/
|
|
68
47
|
readonly is: (a: number) => a is NonZeroInt32;
|
|
69
48
|
/**
|
|
70
49
|
* The minimum value for a 32-bit non-zero signed integer.
|
|
50
|
+
*
|
|
71
51
|
* @readonly
|
|
72
52
|
*/
|
|
73
53
|
readonly MIN_VALUE: number;
|
|
74
54
|
/**
|
|
75
55
|
* The maximum value for a 32-bit non-zero signed integer.
|
|
56
|
+
*
|
|
76
57
|
* @readonly
|
|
77
58
|
*/
|
|
78
59
|
readonly MAX_VALUE: number;
|
|
79
60
|
/**
|
|
80
61
|
* Returns the absolute value of a 32-bit non-zero signed integer.
|
|
62
|
+
*
|
|
81
63
|
* @param a The NonZeroInt32 value.
|
|
82
64
|
* @returns The absolute value as a NonZeroInt32, clamped to valid range.
|
|
83
65
|
*/
|
|
84
66
|
readonly abs: (x: WithSmallInt<NonZeroInt32, 40>) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<NonZeroInt32>;
|
|
85
67
|
/**
|
|
86
68
|
* Returns the smaller of two NonZeroInt32 values.
|
|
69
|
+
*
|
|
87
70
|
* @param a The first NonZeroInt32.
|
|
88
71
|
* @param b The second NonZeroInt32.
|
|
89
72
|
* @returns The minimum value as a NonZeroInt32.
|
|
@@ -91,6 +74,7 @@ export declare const NonZeroInt32: {
|
|
|
91
74
|
readonly min: (...values: readonly WithSmallInt<NonZeroInt32, 40>[]) => NonZeroInt32;
|
|
92
75
|
/**
|
|
93
76
|
* Returns the larger of two NonZeroInt32 values.
|
|
77
|
+
*
|
|
94
78
|
* @param a The first NonZeroInt32.
|
|
95
79
|
* @param b The second NonZeroInt32.
|
|
96
80
|
* @returns The maximum value as a NonZeroInt32.
|
|
@@ -98,17 +82,22 @@ export declare const NonZeroInt32: {
|
|
|
98
82
|
readonly max: (...values: readonly WithSmallInt<NonZeroInt32, 40>[]) => NonZeroInt32;
|
|
99
83
|
/**
|
|
100
84
|
* Clamps a number to the NonZeroInt32 range (avoiding zero).
|
|
85
|
+
*
|
|
101
86
|
* @param value The number to clamp.
|
|
102
|
-
* @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
|
|
87
|
+
* @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
|
|
88
|
+
* NonZeroInt32.
|
|
103
89
|
*/
|
|
104
90
|
readonly clamp: (x: number) => NonZeroInt32;
|
|
105
91
|
/**
|
|
106
92
|
* Generates a random NonZeroInt32 value within the valid range.
|
|
107
|
-
*
|
|
93
|
+
*
|
|
94
|
+
* @returns A random NonZeroInt32 between MIN_VALUE and MAX_VALUE (excluding
|
|
95
|
+
* 0).
|
|
108
96
|
*/
|
|
109
97
|
readonly random: (min?: WithSmallInt<NonZeroInt32, 40> | undefined, max?: WithSmallInt<NonZeroInt32, 40> | undefined) => NonZeroInt32;
|
|
110
98
|
/**
|
|
111
99
|
* Raises a NonZeroInt32 to the power of another NonZeroInt32.
|
|
100
|
+
*
|
|
112
101
|
* @param a The base NonZeroInt32.
|
|
113
102
|
* @param b The exponent NonZeroInt32.
|
|
114
103
|
* @returns `a ** b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -116,6 +105,7 @@ export declare const NonZeroInt32: {
|
|
|
116
105
|
readonly pow: (x: WithSmallInt<NonZeroInt32, 40>, y: WithSmallInt<NonZeroInt32, 40>) => NonZeroInt32;
|
|
117
106
|
/**
|
|
118
107
|
* Adds two NonZeroInt32 values.
|
|
108
|
+
*
|
|
119
109
|
* @param a The first NonZeroInt32.
|
|
120
110
|
* @param b The second NonZeroInt32.
|
|
121
111
|
* @returns `a + b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -123,6 +113,7 @@ export declare const NonZeroInt32: {
|
|
|
123
113
|
readonly add: (x: WithSmallInt<NonZeroInt32, 40>, y: WithSmallInt<NonZeroInt32, 40>) => NonZeroInt32;
|
|
124
114
|
/**
|
|
125
115
|
* Subtracts one NonZeroInt32 from another.
|
|
116
|
+
*
|
|
126
117
|
* @param a The minuend NonZeroInt32.
|
|
127
118
|
* @param b The subtrahend NonZeroInt32.
|
|
128
119
|
* @returns `a - b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -130,6 +121,7 @@ export declare const NonZeroInt32: {
|
|
|
130
121
|
readonly sub: (x: WithSmallInt<NonZeroInt32, 40>, y: WithSmallInt<NonZeroInt32, 40>) => NonZeroInt32;
|
|
131
122
|
/**
|
|
132
123
|
* Multiplies two NonZeroInt32 values.
|
|
124
|
+
*
|
|
133
125
|
* @param a The first NonZeroInt32.
|
|
134
126
|
* @param b The second NonZeroInt32.
|
|
135
127
|
* @returns `a * b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -137,6 +129,7 @@ export declare const NonZeroInt32: {
|
|
|
137
129
|
readonly mul: (x: WithSmallInt<NonZeroInt32, 40>, y: WithSmallInt<NonZeroInt32, 40>) => NonZeroInt32;
|
|
138
130
|
/**
|
|
139
131
|
* Divides one NonZeroInt32 by another using floor division.
|
|
132
|
+
*
|
|
140
133
|
* @param a The dividend NonZeroInt32.
|
|
141
134
|
* @param b The divisor NonZeroInt32.
|
|
142
135
|
* @returns `⌊a / b⌋` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAiCnE
|
|
1
|
+
{"version":3,"file":"non-zero-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAiCnE;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,kCAAK,CAAC;AAEjC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;MAAW,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;IACvB;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -9,78 +9,61 @@ const { MIN_VALUE, MAX_VALUE, abs, min: min_, max: max_, pow, add, sub, mul, div
|
|
|
9
9
|
typeNameInMessage,
|
|
10
10
|
});
|
|
11
11
|
/**
|
|
12
|
-
* Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the
|
|
12
|
+
* Checks if a number is a NonZeroInt32 (32-bit non-zero signed integer in the
|
|
13
|
+
* range [-2^31, 2^31) excluding 0).
|
|
14
|
+
*
|
|
13
15
|
* @param value The value to check.
|
|
14
16
|
* @returns `true` if the value is a NonZeroInt32, `false` otherwise.
|
|
15
17
|
*/
|
|
16
18
|
const isNonZeroInt32 = is;
|
|
17
19
|
/**
|
|
18
20
|
* Casts a number to a NonZeroInt32 type.
|
|
21
|
+
*
|
|
19
22
|
* @param value The value to cast.
|
|
20
23
|
* @returns The value as a NonZeroInt32 type.
|
|
21
24
|
* @throws {TypeError} If the value is not a non-zero integer in [-2^31, 2^31).
|
|
22
|
-
* @example
|
|
23
|
-
* ```typescript
|
|
24
|
-
* const x = asNonZeroInt32(1000); // NonZeroInt32
|
|
25
|
-
* const y = asNonZeroInt32(-1000); // NonZeroInt32
|
|
26
|
-
* // asNonZeroInt32(0); // throws TypeError
|
|
27
|
-
* // asNonZeroInt32(2147483648); // throws TypeError
|
|
28
|
-
* ```
|
|
29
25
|
*/
|
|
30
26
|
const asNonZeroInt32 = castType;
|
|
31
27
|
/**
|
|
32
|
-
* Namespace providing type-safe arithmetic operations for 32-bit non-zero
|
|
33
|
-
*
|
|
34
|
-
* All operations automatically clamp results to the valid NonZeroInt32 range [-2147483648, 2147483647]
|
|
35
|
-
* excluding 0. This ensures that all arithmetic maintains the 32-bit non-zero signed integer
|
|
36
|
-
* constraint, preventing zero results and overflow.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const a = asNonZeroInt32(2000000000);
|
|
41
|
-
* const b = asNonZeroInt32(-500000000);
|
|
42
|
-
*
|
|
43
|
-
* // Arithmetic operations with automatic clamping and non-zero constraint
|
|
44
|
-
* const sum = NonZeroInt32.add(a, b); // NonZeroInt32 (1500000000)
|
|
45
|
-
* const diff = NonZeroInt32.sub(a, b); // NonZeroInt32 (2147483647 - clamped to MAX_VALUE)
|
|
46
|
-
* const product = NonZeroInt32.mul(a, b); // NonZeroInt32 (-2147483648 - clamped to MIN_VALUE)
|
|
47
|
-
*
|
|
48
|
-
* // Utility operations
|
|
49
|
-
* const absolute = NonZeroInt32.abs(b); // NonZeroInt32 (500000000)
|
|
50
|
-
* const minimum = NonZeroInt32.min(a, b); // NonZeroInt32 (-500000000)
|
|
51
|
-
* const maximum = NonZeroInt32.max(a, b); // NonZeroInt32 (2000000000)
|
|
28
|
+
* Namespace providing type-safe arithmetic operations for 32-bit non-zero
|
|
29
|
+
* signed integers.
|
|
52
30
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* ```
|
|
31
|
+
* All operations automatically clamp results to the valid NonZeroInt32 range
|
|
32
|
+
* [-2147483648, 2147483647] excluding 0. This ensures that all arithmetic
|
|
33
|
+
* maintains the 32-bit non-zero signed integer constraint, preventing zero
|
|
34
|
+
* results and overflow.
|
|
58
35
|
*/
|
|
59
36
|
const NonZeroInt32 = {
|
|
60
37
|
/**
|
|
61
38
|
* Type guard to check if a value is a NonZeroInt32.
|
|
39
|
+
*
|
|
62
40
|
* @param value The value to check.
|
|
63
|
-
* @returns `true` if the value is a 32-bit non-zero signed integer, `false`
|
|
41
|
+
* @returns `true` if the value is a 32-bit non-zero signed integer, `false`
|
|
42
|
+
* otherwise.
|
|
64
43
|
*/
|
|
65
44
|
is,
|
|
66
45
|
/**
|
|
67
46
|
* The minimum value for a 32-bit non-zero signed integer.
|
|
47
|
+
*
|
|
68
48
|
* @readonly
|
|
69
49
|
*/
|
|
70
50
|
MIN_VALUE,
|
|
71
51
|
/**
|
|
72
52
|
* The maximum value for a 32-bit non-zero signed integer.
|
|
53
|
+
*
|
|
73
54
|
* @readonly
|
|
74
55
|
*/
|
|
75
56
|
MAX_VALUE,
|
|
76
57
|
/**
|
|
77
58
|
* Returns the absolute value of a 32-bit non-zero signed integer.
|
|
59
|
+
*
|
|
78
60
|
* @param a The NonZeroInt32 value.
|
|
79
61
|
* @returns The absolute value as a NonZeroInt32, clamped to valid range.
|
|
80
62
|
*/
|
|
81
63
|
abs,
|
|
82
64
|
/**
|
|
83
65
|
* Returns the smaller of two NonZeroInt32 values.
|
|
66
|
+
*
|
|
84
67
|
* @param a The first NonZeroInt32.
|
|
85
68
|
* @param b The second NonZeroInt32.
|
|
86
69
|
* @returns The minimum value as a NonZeroInt32.
|
|
@@ -88,6 +71,7 @@ const NonZeroInt32 = {
|
|
|
88
71
|
min: min_,
|
|
89
72
|
/**
|
|
90
73
|
* Returns the larger of two NonZeroInt32 values.
|
|
74
|
+
*
|
|
91
75
|
* @param a The first NonZeroInt32.
|
|
92
76
|
* @param b The second NonZeroInt32.
|
|
93
77
|
* @returns The maximum value as a NonZeroInt32.
|
|
@@ -95,17 +79,22 @@ const NonZeroInt32 = {
|
|
|
95
79
|
max: max_,
|
|
96
80
|
/**
|
|
97
81
|
* Clamps a number to the NonZeroInt32 range (avoiding zero).
|
|
82
|
+
*
|
|
98
83
|
* @param value The number to clamp.
|
|
99
|
-
* @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
|
|
84
|
+
* @returns The value clamped to [-2147483648, 2147483647] \ {0} as a
|
|
85
|
+
* NonZeroInt32.
|
|
100
86
|
*/
|
|
101
87
|
clamp,
|
|
102
88
|
/**
|
|
103
89
|
* Generates a random NonZeroInt32 value within the valid range.
|
|
104
|
-
*
|
|
90
|
+
*
|
|
91
|
+
* @returns A random NonZeroInt32 between MIN_VALUE and MAX_VALUE (excluding
|
|
92
|
+
* 0).
|
|
105
93
|
*/
|
|
106
94
|
random,
|
|
107
95
|
/**
|
|
108
96
|
* Raises a NonZeroInt32 to the power of another NonZeroInt32.
|
|
97
|
+
*
|
|
109
98
|
* @param a The base NonZeroInt32.
|
|
110
99
|
* @param b The exponent NonZeroInt32.
|
|
111
100
|
* @returns `a ** b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -113,6 +102,7 @@ const NonZeroInt32 = {
|
|
|
113
102
|
pow,
|
|
114
103
|
/**
|
|
115
104
|
* Adds two NonZeroInt32 values.
|
|
105
|
+
*
|
|
116
106
|
* @param a The first NonZeroInt32.
|
|
117
107
|
* @param b The second NonZeroInt32.
|
|
118
108
|
* @returns `a + b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -120,6 +110,7 @@ const NonZeroInt32 = {
|
|
|
120
110
|
add,
|
|
121
111
|
/**
|
|
122
112
|
* Subtracts one NonZeroInt32 from another.
|
|
113
|
+
*
|
|
123
114
|
* @param a The minuend NonZeroInt32.
|
|
124
115
|
* @param b The subtrahend NonZeroInt32.
|
|
125
116
|
* @returns `a - b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -127,6 +118,7 @@ const NonZeroInt32 = {
|
|
|
127
118
|
sub,
|
|
128
119
|
/**
|
|
129
120
|
* Multiplies two NonZeroInt32 values.
|
|
121
|
+
*
|
|
130
122
|
* @param a The first NonZeroInt32.
|
|
131
123
|
* @param b The second NonZeroInt32.
|
|
132
124
|
* @returns `a * b` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -134,6 +126,7 @@ const NonZeroInt32 = {
|
|
|
134
126
|
mul,
|
|
135
127
|
/**
|
|
136
128
|
* Divides one NonZeroInt32 by another using floor division.
|
|
129
|
+
*
|
|
137
130
|
* @param a The dividend NonZeroInt32.
|
|
138
131
|
* @param b The divisor NonZeroInt32.
|
|
139
132
|
* @returns `⌊a / b⌋` clamped to [-2147483648, 2147483647] as a NonZeroInt32.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-int32.mjs","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,WAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"non-zero-int32.mjs","sources":["../../../src/number/branded-types/non-zero-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,WAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;AAMG;AACI,MAAM,cAAc,GAAG;AAE9B;;;;;;;;AAQG;AACI,MAAM,YAAY,GAAG;AAC1B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;IACH,KAAK;AAEL;;;;;AAKG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if a number is a NonZeroSafeInt (a non-zero safe integer in the range
|
|
3
|
+
* Checks if a number is a NonZeroSafeInt (a non-zero safe integer in the range
|
|
4
|
+
* [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] excluding 0).
|
|
5
|
+
*
|
|
4
6
|
* @param value The value to check.
|
|
5
7
|
* @returns `true` if the value is a NonZeroSafeInt, `false` otherwise.
|
|
6
8
|
*/
|
|
7
9
|
export declare const isNonZeroSafeInt: (a: number) => a is NonZeroSafeInt;
|
|
8
10
|
/**
|
|
9
11
|
* Casts a number to a NonZeroSafeInt type.
|
|
12
|
+
*
|
|
10
13
|
* @param value The value to cast.
|
|
11
14
|
* @returns The value as a NonZeroSafeInt type.
|
|
12
15
|
* @throws {TypeError} If the value is not a non-zero safe integer.
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const x = asNonZeroSafeInt(5); // NonZeroSafeInt
|
|
16
|
-
* const y = asNonZeroSafeInt(-1000); // NonZeroSafeInt
|
|
17
|
-
* // asNonZeroSafeInt(0); // throws TypeError
|
|
18
|
-
* // asNonZeroSafeInt(1.5); // throws TypeError
|
|
19
|
-
* ```
|
|
20
16
|
*/
|
|
21
17
|
export declare const asNonZeroSafeInt: <N extends number>(x: N) => number & {
|
|
22
18
|
readonly NaNValue: false;
|
|
@@ -28,56 +24,44 @@ export declare const asNonZeroSafeInt: <N extends number>(x: N) => number & {
|
|
|
28
24
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
29
25
|
}> & N;
|
|
30
26
|
/**
|
|
31
|
-
* Namespace providing type-safe arithmetic operations for non-zero safe
|
|
32
|
-
*
|
|
33
|
-
* All operations automatically clamp results to the non-zero safe integer range, excluding zero.
|
|
34
|
-
* This ensures that all arithmetic maintains both the non-zero constraint and IEEE 754 precision guarantees,
|
|
35
|
-
* preventing precision loss while ensuring results are never zero.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const a = asNonZeroSafeInt(9007199254740000); // Near MAX_SAFE_INTEGER
|
|
40
|
-
* const b = asNonZeroSafeInt(-1000);
|
|
41
|
-
*
|
|
42
|
-
* // Arithmetic operations with non-zero safe range clamping
|
|
43
|
-
* const sum = NonZeroSafeInt.add(a, b); // NonZeroSafeInt (9007199254739000)
|
|
44
|
-
* const diff = NonZeroSafeInt.sub(a, b); // NonZeroSafeInt (clamped to MAX_SAFE_INTEGER)
|
|
45
|
-
* const product = NonZeroSafeInt.mul(a, b); // NonZeroSafeInt (clamped to MIN_SAFE_INTEGER)
|
|
46
|
-
*
|
|
47
|
-
* // Utility operations
|
|
48
|
-
* const absolute = NonZeroSafeInt.abs(b); // NonZeroSafeInt (1000)
|
|
49
|
-
* const minimum = NonZeroSafeInt.min(a, b); // NonZeroSafeInt (-1000)
|
|
50
|
-
* const maximum = NonZeroSafeInt.max(a, b); // NonZeroSafeInt (a)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for non-zero safe
|
|
28
|
+
* integers.
|
|
51
29
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the non-zero safe integer
|
|
31
|
+
* range, excluding zero. This ensures that all arithmetic maintains both the
|
|
32
|
+
* non-zero constraint and IEEE 754 precision guarantees, preventing precision
|
|
33
|
+
* loss while ensuring results are never zero.
|
|
55
34
|
*/
|
|
56
35
|
export declare const NonZeroSafeInt: {
|
|
57
36
|
/**
|
|
58
37
|
* Type guard to check if a value is a NonZeroSafeInt.
|
|
38
|
+
*
|
|
59
39
|
* @param value The value to check.
|
|
60
40
|
* @returns `true` if the value is a non-zero safe integer, `false` otherwise.
|
|
61
41
|
*/
|
|
62
42
|
readonly is: (a: number) => a is NonZeroSafeInt;
|
|
63
43
|
/**
|
|
64
44
|
* The minimum safe integer value (-(2^53 - 1)).
|
|
45
|
+
*
|
|
65
46
|
* @readonly
|
|
66
47
|
*/
|
|
67
48
|
readonly MIN_VALUE: SafeInt;
|
|
68
49
|
/**
|
|
69
50
|
* The maximum safe integer value (2^53 - 1).
|
|
51
|
+
*
|
|
70
52
|
* @readonly
|
|
71
53
|
*/
|
|
72
54
|
readonly MAX_VALUE: SafeUint;
|
|
73
55
|
/**
|
|
74
56
|
* Returns the absolute value of a non-zero safe integer.
|
|
57
|
+
*
|
|
75
58
|
* @param a The NonZeroSafeInt value.
|
|
76
59
|
* @returns The absolute value as a NonZeroSafeInt, clamped to safe range.
|
|
77
60
|
*/
|
|
78
61
|
readonly abs: (x: WithSmallInt<NonZeroSafeInt, 40>) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<NonZeroSafeInt>;
|
|
79
62
|
/**
|
|
80
63
|
* Returns the smaller of two NonZeroSafeInt values.
|
|
64
|
+
*
|
|
81
65
|
* @param a The first NonZeroSafeInt.
|
|
82
66
|
* @param b The second NonZeroSafeInt.
|
|
83
67
|
* @returns The minimum value as a NonZeroSafeInt.
|
|
@@ -85,6 +69,7 @@ export declare const NonZeroSafeInt: {
|
|
|
85
69
|
readonly min: (...values: readonly WithSmallInt<NonZeroSafeInt, 40>[]) => NonZeroSafeInt;
|
|
86
70
|
/**
|
|
87
71
|
* Returns the larger of two NonZeroSafeInt values.
|
|
72
|
+
*
|
|
88
73
|
* @param a The first NonZeroSafeInt.
|
|
89
74
|
* @param b The second NonZeroSafeInt.
|
|
90
75
|
* @returns The maximum value as a NonZeroSafeInt.
|
|
@@ -92,48 +77,62 @@ export declare const NonZeroSafeInt: {
|
|
|
92
77
|
readonly max: (...values: readonly WithSmallInt<NonZeroSafeInt, 40>[]) => NonZeroSafeInt;
|
|
93
78
|
/**
|
|
94
79
|
* Clamps a number to the non-zero safe integer range.
|
|
80
|
+
*
|
|
95
81
|
* @param value The number to clamp.
|
|
96
|
-
* @returns The value clamped to [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] \ {0} as
|
|
82
|
+
* @returns The value clamped to [MIN_SAFE_INTEGER, MAX_SAFE_INTEGER] \ {0} as
|
|
83
|
+
* a NonZeroSafeInt.
|
|
97
84
|
*/
|
|
98
85
|
readonly clamp: (x: number) => NonZeroSafeInt;
|
|
99
86
|
/**
|
|
100
87
|
* Generates a random NonZeroSafeInt value within the valid range.
|
|
101
|
-
*
|
|
88
|
+
*
|
|
89
|
+
* @returns A random non-zero safe integer between MIN_SAFE_INTEGER and
|
|
90
|
+
* MAX_SAFE_INTEGER.
|
|
102
91
|
*/
|
|
103
92
|
readonly random: (min?: WithSmallInt<NonZeroSafeInt, 40> | undefined, max?: WithSmallInt<NonZeroSafeInt, 40> | undefined) => NonZeroSafeInt;
|
|
104
93
|
/**
|
|
105
94
|
* Raises a NonZeroSafeInt to the power of another NonZeroSafeInt.
|
|
95
|
+
*
|
|
106
96
|
* @param a The base NonZeroSafeInt.
|
|
107
97
|
* @param b The exponent NonZeroSafeInt.
|
|
108
|
-
* @returns `a ** b` clamped to non-zero safe integer range as a
|
|
98
|
+
* @returns `a ** b` clamped to non-zero safe integer range as a
|
|
99
|
+
* NonZeroSafeInt.
|
|
109
100
|
*/
|
|
110
101
|
readonly pow: (x: WithSmallInt<NonZeroSafeInt, 40>, y: WithSmallInt<NonZeroSafeInt, 40>) => NonZeroSafeInt;
|
|
111
102
|
/**
|
|
112
103
|
* Adds two NonZeroSafeInt values.
|
|
104
|
+
*
|
|
113
105
|
* @param a The first NonZeroSafeInt.
|
|
114
106
|
* @param b The second NonZeroSafeInt.
|
|
115
|
-
* @returns `a + b` clamped to non-zero safe integer range as a
|
|
107
|
+
* @returns `a + b` clamped to non-zero safe integer range as a
|
|
108
|
+
* NonZeroSafeInt.
|
|
116
109
|
*/
|
|
117
110
|
readonly add: (x: WithSmallInt<NonZeroSafeInt, 40>, y: WithSmallInt<NonZeroSafeInt, 40>) => NonZeroSafeInt;
|
|
118
111
|
/**
|
|
119
112
|
* Subtracts one NonZeroSafeInt from another.
|
|
113
|
+
*
|
|
120
114
|
* @param a The minuend NonZeroSafeInt.
|
|
121
115
|
* @param b The subtrahend NonZeroSafeInt.
|
|
122
|
-
* @returns `a - b` clamped to non-zero safe integer range as a
|
|
116
|
+
* @returns `a - b` clamped to non-zero safe integer range as a
|
|
117
|
+
* NonZeroSafeInt.
|
|
123
118
|
*/
|
|
124
119
|
readonly sub: (x: WithSmallInt<NonZeroSafeInt, 40>, y: WithSmallInt<NonZeroSafeInt, 40>) => NonZeroSafeInt;
|
|
125
120
|
/**
|
|
126
121
|
* Multiplies two NonZeroSafeInt values.
|
|
122
|
+
*
|
|
127
123
|
* @param a The first NonZeroSafeInt.
|
|
128
124
|
* @param b The second NonZeroSafeInt.
|
|
129
|
-
* @returns `a * b` clamped to non-zero safe integer range as a
|
|
125
|
+
* @returns `a * b` clamped to non-zero safe integer range as a
|
|
126
|
+
* NonZeroSafeInt.
|
|
130
127
|
*/
|
|
131
128
|
readonly mul: (x: WithSmallInt<NonZeroSafeInt, 40>, y: WithSmallInt<NonZeroSafeInt, 40>) => NonZeroSafeInt;
|
|
132
129
|
/**
|
|
133
130
|
* Divides one NonZeroSafeInt by another using floor division.
|
|
131
|
+
*
|
|
134
132
|
* @param a The dividend NonZeroSafeInt.
|
|
135
133
|
* @param b The divisor NonZeroSafeInt.
|
|
136
|
-
* @returns `⌊a / b⌋` clamped to non-zero safe integer range as a
|
|
134
|
+
* @returns `⌊a / b⌋` clamped to non-zero safe integer range as a
|
|
135
|
+
* NonZeroSafeInt.
|
|
137
136
|
*/
|
|
138
137
|
readonly div: (x: WithSmallInt<NonZeroSafeInt, 40>, y: 1 | 2 | 3 | 32 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 10 | 24 | 14 | 34 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 35 | 36 | 37 | 38 | 39 | -1 | -2 | -3 | -32 | -4 | -5 | -6 | -7 | -8 | -9 | -11 | -10 | -24 | -14 | -34 | -12 | -13 | -15 | -16 | -17 | -18 | -19 | -20 | -21 | -22 | -23 | -25 | -26 | -27 | -28 | -29 | -30 | -31 | -33 | -35 | -36 | -37 | -38 | -39 | -40 | NormalizeBrandUnion<number & {
|
|
139
138
|
readonly NaNValue: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-safe-int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAmCnE
|
|
1
|
+
{"version":3,"file":"non-zero-safe-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-safe-int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAmCnE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,oCAAK,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;MAAW,CAAC;AAEzC;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;IACzB;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;OAOG;;;;;;;;;;CAEK,CAAC"}
|