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
|
@@ -8,73 +8,54 @@ const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, pow, add, sub, mul, div, ran
|
|
|
8
8
|
typeNameInMessage,
|
|
9
9
|
});
|
|
10
10
|
/**
|
|
11
|
-
* Checks if a number is a PositiveInt16 (16-bit positive signed integer in the
|
|
11
|
+
* Checks if a number is a PositiveInt16 (16-bit positive signed integer in the
|
|
12
|
+
* range [1, 2^15)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a PositiveInt16, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isPositiveInt16 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a PositiveInt16 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a PositiveInt16 type.
|
|
20
23
|
* @throws {TypeError} If the value is not a positive integer in [1, 2^15).
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asPositiveInt16(1000); // PositiveInt16
|
|
24
|
-
* const y = asPositiveInt16(32767); // PositiveInt16
|
|
25
|
-
* // asPositiveInt16(0); // throws TypeError
|
|
26
|
-
* // asPositiveInt16(-1); // throws TypeError
|
|
27
|
-
* // asPositiveInt16(32768); // throws TypeError
|
|
28
|
-
* ```
|
|
29
24
|
*/
|
|
30
25
|
const asPositiveInt16 = castType;
|
|
31
26
|
/**
|
|
32
|
-
* Namespace providing type-safe arithmetic operations for 16-bit positive
|
|
33
|
-
*
|
|
34
|
-
* All operations automatically clamp results to the valid PositiveInt16 range [1, 32767].
|
|
35
|
-
* This ensures that all arithmetic maintains the 16-bit positive integer constraint,
|
|
36
|
-
* with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const a = asPositiveInt16(30000);
|
|
41
|
-
* const b = asPositiveInt16(5000);
|
|
42
|
-
*
|
|
43
|
-
* // Arithmetic operations with automatic clamping
|
|
44
|
-
* const sum = PositiveInt16.add(a, b); // PositiveInt16 (32767 - clamped to MAX_VALUE)
|
|
45
|
-
* const diff = PositiveInt16.sub(a, b); // PositiveInt16 (25000)
|
|
46
|
-
* const reverseDiff = PositiveInt16.sub(b, a); // PositiveInt16 (1 - clamped to MIN_VALUE)
|
|
47
|
-
* const product = PositiveInt16.mul(a, b); // PositiveInt16 (32767 - clamped due to overflow)
|
|
48
|
-
*
|
|
49
|
-
* // Range operations
|
|
50
|
-
* const clamped = PositiveInt16.clamp(0); // PositiveInt16 (1)
|
|
51
|
-
* const minimum = PositiveInt16.min(a, b); // PositiveInt16 (5000)
|
|
52
|
-
* const maximum = PositiveInt16.max(a, b); // PositiveInt16 (30000)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for 16-bit positive
|
|
28
|
+
* integers.
|
|
53
29
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the valid PositiveInt16 range
|
|
31
|
+
* [1, 32767]. This ensures that all arithmetic maintains the 16-bit positive
|
|
32
|
+
* integer constraint, with results below 1 clamped to MIN_VALUE and overflow
|
|
33
|
+
* results clamped to MAX_VALUE.
|
|
58
34
|
*/
|
|
59
35
|
const PositiveInt16 = {
|
|
60
36
|
/**
|
|
61
37
|
* Type guard to check if a value is a PositiveInt16.
|
|
38
|
+
*
|
|
62
39
|
* @param value The value to check.
|
|
63
|
-
* @returns `true` if the value is a 16-bit positive integer, `false`
|
|
40
|
+
* @returns `true` if the value is a 16-bit positive integer, `false`
|
|
41
|
+
* otherwise.
|
|
64
42
|
*/
|
|
65
43
|
is,
|
|
66
44
|
/**
|
|
67
45
|
* The minimum value for a 16-bit positive integer.
|
|
46
|
+
*
|
|
68
47
|
* @readonly
|
|
69
48
|
*/
|
|
70
49
|
MIN_VALUE,
|
|
71
50
|
/**
|
|
72
51
|
* The maximum value for a 16-bit positive integer.
|
|
52
|
+
*
|
|
73
53
|
* @readonly
|
|
74
54
|
*/
|
|
75
55
|
MAX_VALUE,
|
|
76
56
|
/**
|
|
77
57
|
* Returns the smaller of two PositiveInt16 values.
|
|
58
|
+
*
|
|
78
59
|
* @param a The first PositiveInt16.
|
|
79
60
|
* @param b The second PositiveInt16.
|
|
80
61
|
* @returns The minimum value as a PositiveInt16.
|
|
@@ -82,6 +63,7 @@ const PositiveInt16 = {
|
|
|
82
63
|
min: min_,
|
|
83
64
|
/**
|
|
84
65
|
* Returns the larger of two PositiveInt16 values.
|
|
66
|
+
*
|
|
85
67
|
* @param a The first PositiveInt16.
|
|
86
68
|
* @param b The second PositiveInt16.
|
|
87
69
|
* @returns The maximum value as a PositiveInt16.
|
|
@@ -89,17 +71,20 @@ const PositiveInt16 = {
|
|
|
89
71
|
max: max_,
|
|
90
72
|
/**
|
|
91
73
|
* Clamps a number to the PositiveInt16 range.
|
|
74
|
+
*
|
|
92
75
|
* @param value The number to clamp.
|
|
93
76
|
* @returns The value clamped to [1, 32767] as a PositiveInt16.
|
|
94
77
|
*/
|
|
95
78
|
clamp,
|
|
96
79
|
/**
|
|
97
80
|
* Generates a random PositiveInt16 value within the valid range.
|
|
81
|
+
*
|
|
98
82
|
* @returns A random PositiveInt16 between 1 and 32767.
|
|
99
83
|
*/
|
|
100
84
|
random,
|
|
101
85
|
/**
|
|
102
86
|
* Raises a PositiveInt16 to the power of another PositiveInt16.
|
|
87
|
+
*
|
|
103
88
|
* @param a The base PositiveInt16.
|
|
104
89
|
* @param b The exponent PositiveInt16.
|
|
105
90
|
* @returns `a ** b` clamped to [1, 32767] as a PositiveInt16.
|
|
@@ -107,6 +92,7 @@ const PositiveInt16 = {
|
|
|
107
92
|
pow,
|
|
108
93
|
/**
|
|
109
94
|
* Adds two PositiveInt16 values.
|
|
95
|
+
*
|
|
110
96
|
* @param a The first PositiveInt16.
|
|
111
97
|
* @param b The second PositiveInt16.
|
|
112
98
|
* @returns `a + b` clamped to [1, 32767] as a PositiveInt16.
|
|
@@ -114,6 +100,7 @@ const PositiveInt16 = {
|
|
|
114
100
|
add,
|
|
115
101
|
/**
|
|
116
102
|
* Subtracts one PositiveInt16 from another.
|
|
103
|
+
*
|
|
117
104
|
* @param a The minuend PositiveInt16.
|
|
118
105
|
* @param b The subtrahend PositiveInt16.
|
|
119
106
|
* @returns `a - b` clamped to [1, 32767] as a PositiveInt16 (minimum 1).
|
|
@@ -121,6 +108,7 @@ const PositiveInt16 = {
|
|
|
121
108
|
sub,
|
|
122
109
|
/**
|
|
123
110
|
* Multiplies two PositiveInt16 values.
|
|
111
|
+
*
|
|
124
112
|
* @param a The first PositiveInt16.
|
|
125
113
|
* @param b The second PositiveInt16.
|
|
126
114
|
* @returns `a * b` clamped to [1, 32767] as a PositiveInt16.
|
|
@@ -128,6 +116,7 @@ const PositiveInt16 = {
|
|
|
128
116
|
mul,
|
|
129
117
|
/**
|
|
130
118
|
* Divides one PositiveInt16 by another using floor division.
|
|
119
|
+
*
|
|
131
120
|
* @param a The dividend PositiveInt16.
|
|
132
121
|
* @param b The divisor PositiveInt16.
|
|
133
122
|
* @returns `⌊a / b⌋` clamped to [1, 32767] as a PositiveInt16.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-int16.mjs","sources":["../../../src/number/branded-types/positive-int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"positive-int16.mjs","sources":["../../../src/number/branded-types/positive-int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;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,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
|
|
2
|
+
* Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
|
|
3
|
+
* range [1, 2^31)).
|
|
4
|
+
*
|
|
3
5
|
* @param value The value to check.
|
|
4
6
|
* @returns `true` if the value is a PositiveInt32, `false` otherwise.
|
|
5
7
|
*/
|
|
6
8
|
export declare const isPositiveInt32: (a: number) => a is PositiveInt32;
|
|
7
9
|
/**
|
|
8
10
|
* Casts a number to a PositiveInt32 type.
|
|
11
|
+
*
|
|
9
12
|
* @param value The value to cast.
|
|
10
13
|
* @returns The value as a PositiveInt32 type.
|
|
11
14
|
* @throws {TypeError} If the value is not a positive integer in [1, 2^31).
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const x = asPositiveInt32(1000); // PositiveInt32
|
|
15
|
-
* const y = asPositiveInt32(2147483647); // PositiveInt32
|
|
16
|
-
* // asPositiveInt32(0); // throws TypeError
|
|
17
|
-
* // asPositiveInt32(-1); // throws TypeError
|
|
18
|
-
* // asPositiveInt32(2147483648); // throws TypeError
|
|
19
|
-
* ```
|
|
20
15
|
*/
|
|
21
16
|
export declare const asPositiveInt32: <N extends number>(x: N) => number & {
|
|
22
17
|
readonly NaNValue: false;
|
|
@@ -35,52 +30,38 @@ export declare const asPositiveInt32: <N extends number>(x: N) => number & {
|
|
|
35
30
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
36
31
|
}> & N;
|
|
37
32
|
/**
|
|
38
|
-
* Namespace providing type-safe arithmetic operations for 32-bit positive
|
|
39
|
-
*
|
|
40
|
-
* All operations automatically clamp results to the valid PositiveInt32 range [1, 2147483647].
|
|
41
|
-
* This ensures that all arithmetic maintains the 32-bit positive integer constraint,
|
|
42
|
-
* with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* const a = asPositiveInt32(2000000000);
|
|
47
|
-
* const b = asPositiveInt32(500000000);
|
|
48
|
-
*
|
|
49
|
-
* // Arithmetic operations with automatic clamping and positive constraint
|
|
50
|
-
* const sum = PositiveInt32.add(a, b); // PositiveInt32 (2147483647 - clamped to MAX_VALUE)
|
|
51
|
-
* const diff = PositiveInt32.sub(a, b); // PositiveInt32 (1500000000)
|
|
52
|
-
* const reverseDiff = PositiveInt32.sub(b, a); // PositiveInt32 (1 - clamped to MIN_VALUE)
|
|
53
|
-
* const product = PositiveInt32.mul(a, b); // PositiveInt32 (2147483647 - clamped due to overflow)
|
|
54
|
-
*
|
|
55
|
-
* // Range operations (maintaining positive constraint)
|
|
56
|
-
* const clamped = PositiveInt32.clamp(-1000); // PositiveInt32 (1)
|
|
57
|
-
* const minimum = PositiveInt32.min(a, b); // PositiveInt32 (500000000)
|
|
58
|
-
* const maximum = PositiveInt32.max(a, b); // PositiveInt32 (2000000000)
|
|
33
|
+
* Namespace providing type-safe arithmetic operations for 32-bit positive
|
|
34
|
+
* integers.
|
|
59
35
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
36
|
+
* All operations automatically clamp results to the valid PositiveInt32 range
|
|
37
|
+
* [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit
|
|
38
|
+
* positive integer constraint, with results below 1 clamped to MIN_VALUE and
|
|
39
|
+
* overflow results clamped to MAX_VALUE.
|
|
64
40
|
*/
|
|
65
41
|
export declare const PositiveInt32: {
|
|
66
42
|
/**
|
|
67
43
|
* Type guard to check if a value is a PositiveInt32.
|
|
44
|
+
*
|
|
68
45
|
* @param value The value to check.
|
|
69
|
-
* @returns `true` if the value is a 32-bit positive integer, `false`
|
|
46
|
+
* @returns `true` if the value is a 32-bit positive integer, `false`
|
|
47
|
+
* otherwise.
|
|
70
48
|
*/
|
|
71
49
|
readonly is: (a: number) => a is PositiveInt32;
|
|
72
50
|
/**
|
|
73
51
|
* The minimum value for a 32-bit positive integer.
|
|
52
|
+
*
|
|
74
53
|
* @readonly
|
|
75
54
|
*/
|
|
76
55
|
readonly MIN_VALUE: 1;
|
|
77
56
|
/**
|
|
78
57
|
* The maximum value for a 32-bit positive integer.
|
|
58
|
+
*
|
|
79
59
|
* @readonly
|
|
80
60
|
*/
|
|
81
61
|
readonly MAX_VALUE: number;
|
|
82
62
|
/**
|
|
83
63
|
* Returns the smaller of two PositiveInt32 values.
|
|
64
|
+
*
|
|
84
65
|
* @param a The first PositiveInt32.
|
|
85
66
|
* @param b The second PositiveInt32.
|
|
86
67
|
* @returns The minimum value as a PositiveInt32.
|
|
@@ -88,6 +69,7 @@ export declare const PositiveInt32: {
|
|
|
88
69
|
readonly min: (...values: readonly WithSmallInt<PositiveInt32, 40>[]) => PositiveInt32;
|
|
89
70
|
/**
|
|
90
71
|
* Returns the larger of two PositiveInt32 values.
|
|
72
|
+
*
|
|
91
73
|
* @param a The first PositiveInt32.
|
|
92
74
|
* @param b The second PositiveInt32.
|
|
93
75
|
* @returns The maximum value as a PositiveInt32.
|
|
@@ -95,17 +77,20 @@ export declare const PositiveInt32: {
|
|
|
95
77
|
readonly max: (...values: readonly WithSmallInt<PositiveInt32, 40>[]) => PositiveInt32;
|
|
96
78
|
/**
|
|
97
79
|
* Clamps a number to the PositiveInt32 range.
|
|
80
|
+
*
|
|
98
81
|
* @param value The number to clamp.
|
|
99
82
|
* @returns The value clamped to [1, 2147483647] as a PositiveInt32.
|
|
100
83
|
*/
|
|
101
84
|
readonly clamp: (x: number) => PositiveInt32;
|
|
102
85
|
/**
|
|
103
86
|
* Generates a random PositiveInt32 value within the valid range.
|
|
87
|
+
*
|
|
104
88
|
* @returns A random PositiveInt32 between 1 and 2147483647.
|
|
105
89
|
*/
|
|
106
90
|
readonly random: (min?: WithSmallInt<PositiveInt32, 40> | undefined, max?: WithSmallInt<PositiveInt32, 40> | undefined) => PositiveInt32;
|
|
107
91
|
/**
|
|
108
92
|
* Raises a PositiveInt32 to the power of another PositiveInt32.
|
|
93
|
+
*
|
|
109
94
|
* @param a The base PositiveInt32.
|
|
110
95
|
* @param b The exponent PositiveInt32.
|
|
111
96
|
* @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -113,6 +98,7 @@ export declare const PositiveInt32: {
|
|
|
113
98
|
readonly pow: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
|
|
114
99
|
/**
|
|
115
100
|
* Adds two PositiveInt32 values.
|
|
101
|
+
*
|
|
116
102
|
* @param a The first PositiveInt32.
|
|
117
103
|
* @param b The second PositiveInt32.
|
|
118
104
|
* @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -120,6 +106,7 @@ export declare const PositiveInt32: {
|
|
|
120
106
|
readonly add: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
|
|
121
107
|
/**
|
|
122
108
|
* Subtracts one PositiveInt32 from another.
|
|
109
|
+
*
|
|
123
110
|
* @param a The minuend PositiveInt32.
|
|
124
111
|
* @param b The subtrahend PositiveInt32.
|
|
125
112
|
* @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
|
|
@@ -127,6 +114,7 @@ export declare const PositiveInt32: {
|
|
|
127
114
|
readonly sub: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
|
|
128
115
|
/**
|
|
129
116
|
* Multiplies two PositiveInt32 values.
|
|
117
|
+
*
|
|
130
118
|
* @param a The first PositiveInt32.
|
|
131
119
|
* @param b The second PositiveInt32.
|
|
132
120
|
* @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -134,6 +122,7 @@ export declare const PositiveInt32: {
|
|
|
134
122
|
readonly mul: (x: WithSmallInt<PositiveInt32, 40>, y: WithSmallInt<PositiveInt32, 40>) => PositiveInt32;
|
|
135
123
|
/**
|
|
136
124
|
* Divides one PositiveInt32 by another using floor division.
|
|
125
|
+
*
|
|
137
126
|
* @param a The dividend PositiveInt32.
|
|
138
127
|
* @param b The divisor PositiveInt32.
|
|
139
128
|
* @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-int32.mts"],"names":[],"mappings":"AAgCA
|
|
1
|
+
{"version":3,"file":"positive-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/positive-int32.mts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,mCAAK,CAAC;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;MAAW,CAAC;AAExC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;IACxB;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -8,73 +8,54 @@ const { MIN_VALUE, MAX_VALUE, min: min_, max: max_, pow, add, sub, mul, div, ran
|
|
|
8
8
|
typeNameInMessage,
|
|
9
9
|
});
|
|
10
10
|
/**
|
|
11
|
-
* Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
|
|
11
|
+
* Checks if a number is a PositiveInt32 (32-bit positive signed integer in the
|
|
12
|
+
* range [1, 2^31)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a PositiveInt32, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isPositiveInt32 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a PositiveInt32 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a PositiveInt32 type.
|
|
20
23
|
* @throws {TypeError} If the value is not a positive integer in [1, 2^31).
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asPositiveInt32(1000); // PositiveInt32
|
|
24
|
-
* const y = asPositiveInt32(2147483647); // PositiveInt32
|
|
25
|
-
* // asPositiveInt32(0); // throws TypeError
|
|
26
|
-
* // asPositiveInt32(-1); // throws TypeError
|
|
27
|
-
* // asPositiveInt32(2147483648); // throws TypeError
|
|
28
|
-
* ```
|
|
29
24
|
*/
|
|
30
25
|
const asPositiveInt32 = castType;
|
|
31
26
|
/**
|
|
32
|
-
* Namespace providing type-safe arithmetic operations for 32-bit positive
|
|
33
|
-
*
|
|
34
|
-
* All operations automatically clamp results to the valid PositiveInt32 range [1, 2147483647].
|
|
35
|
-
* This ensures that all arithmetic maintains the 32-bit positive integer constraint,
|
|
36
|
-
* with results below 1 clamped to MIN_VALUE and overflow results clamped to MAX_VALUE.
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const a = asPositiveInt32(2000000000);
|
|
41
|
-
* const b = asPositiveInt32(500000000);
|
|
42
|
-
*
|
|
43
|
-
* // Arithmetic operations with automatic clamping and positive constraint
|
|
44
|
-
* const sum = PositiveInt32.add(a, b); // PositiveInt32 (2147483647 - clamped to MAX_VALUE)
|
|
45
|
-
* const diff = PositiveInt32.sub(a, b); // PositiveInt32 (1500000000)
|
|
46
|
-
* const reverseDiff = PositiveInt32.sub(b, a); // PositiveInt32 (1 - clamped to MIN_VALUE)
|
|
47
|
-
* const product = PositiveInt32.mul(a, b); // PositiveInt32 (2147483647 - clamped due to overflow)
|
|
48
|
-
*
|
|
49
|
-
* // Range operations (maintaining positive constraint)
|
|
50
|
-
* const clamped = PositiveInt32.clamp(-1000); // PositiveInt32 (1)
|
|
51
|
-
* const minimum = PositiveInt32.min(a, b); // PositiveInt32 (500000000)
|
|
52
|
-
* const maximum = PositiveInt32.max(a, b); // PositiveInt32 (2000000000)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for 32-bit positive
|
|
28
|
+
* integers.
|
|
53
29
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the valid PositiveInt32 range
|
|
31
|
+
* [1, 2147483647]. This ensures that all arithmetic maintains the 32-bit
|
|
32
|
+
* positive integer constraint, with results below 1 clamped to MIN_VALUE and
|
|
33
|
+
* overflow results clamped to MAX_VALUE.
|
|
58
34
|
*/
|
|
59
35
|
const PositiveInt32 = {
|
|
60
36
|
/**
|
|
61
37
|
* Type guard to check if a value is a PositiveInt32.
|
|
38
|
+
*
|
|
62
39
|
* @param value The value to check.
|
|
63
|
-
* @returns `true` if the value is a 32-bit positive integer, `false`
|
|
40
|
+
* @returns `true` if the value is a 32-bit positive integer, `false`
|
|
41
|
+
* otherwise.
|
|
64
42
|
*/
|
|
65
43
|
is,
|
|
66
44
|
/**
|
|
67
45
|
* The minimum value for a 32-bit positive integer.
|
|
46
|
+
*
|
|
68
47
|
* @readonly
|
|
69
48
|
*/
|
|
70
49
|
MIN_VALUE,
|
|
71
50
|
/**
|
|
72
51
|
* The maximum value for a 32-bit positive integer.
|
|
52
|
+
*
|
|
73
53
|
* @readonly
|
|
74
54
|
*/
|
|
75
55
|
MAX_VALUE,
|
|
76
56
|
/**
|
|
77
57
|
* Returns the smaller of two PositiveInt32 values.
|
|
58
|
+
*
|
|
78
59
|
* @param a The first PositiveInt32.
|
|
79
60
|
* @param b The second PositiveInt32.
|
|
80
61
|
* @returns The minimum value as a PositiveInt32.
|
|
@@ -82,6 +63,7 @@ const PositiveInt32 = {
|
|
|
82
63
|
min: min_,
|
|
83
64
|
/**
|
|
84
65
|
* Returns the larger of two PositiveInt32 values.
|
|
66
|
+
*
|
|
85
67
|
* @param a The first PositiveInt32.
|
|
86
68
|
* @param b The second PositiveInt32.
|
|
87
69
|
* @returns The maximum value as a PositiveInt32.
|
|
@@ -89,17 +71,20 @@ const PositiveInt32 = {
|
|
|
89
71
|
max: max_,
|
|
90
72
|
/**
|
|
91
73
|
* Clamps a number to the PositiveInt32 range.
|
|
74
|
+
*
|
|
92
75
|
* @param value The number to clamp.
|
|
93
76
|
* @returns The value clamped to [1, 2147483647] as a PositiveInt32.
|
|
94
77
|
*/
|
|
95
78
|
clamp,
|
|
96
79
|
/**
|
|
97
80
|
* Generates a random PositiveInt32 value within the valid range.
|
|
81
|
+
*
|
|
98
82
|
* @returns A random PositiveInt32 between 1 and 2147483647.
|
|
99
83
|
*/
|
|
100
84
|
random,
|
|
101
85
|
/**
|
|
102
86
|
* Raises a PositiveInt32 to the power of another PositiveInt32.
|
|
87
|
+
*
|
|
103
88
|
* @param a The base PositiveInt32.
|
|
104
89
|
* @param b The exponent PositiveInt32.
|
|
105
90
|
* @returns `a ** b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -107,6 +92,7 @@ const PositiveInt32 = {
|
|
|
107
92
|
pow,
|
|
108
93
|
/**
|
|
109
94
|
* Adds two PositiveInt32 values.
|
|
95
|
+
*
|
|
110
96
|
* @param a The first PositiveInt32.
|
|
111
97
|
* @param b The second PositiveInt32.
|
|
112
98
|
* @returns `a + b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -114,6 +100,7 @@ const PositiveInt32 = {
|
|
|
114
100
|
add,
|
|
115
101
|
/**
|
|
116
102
|
* Subtracts one PositiveInt32 from another.
|
|
103
|
+
*
|
|
117
104
|
* @param a The minuend PositiveInt32.
|
|
118
105
|
* @param b The subtrahend PositiveInt32.
|
|
119
106
|
* @returns `a - b` clamped to [1, 2147483647] as a PositiveInt32 (minimum 1).
|
|
@@ -121,6 +108,7 @@ const PositiveInt32 = {
|
|
|
121
108
|
sub,
|
|
122
109
|
/**
|
|
123
110
|
* Multiplies two PositiveInt32 values.
|
|
111
|
+
*
|
|
124
112
|
* @param a The first PositiveInt32.
|
|
125
113
|
* @param b The second PositiveInt32.
|
|
126
114
|
* @returns `a * b` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -128,6 +116,7 @@ const PositiveInt32 = {
|
|
|
128
116
|
mul,
|
|
129
117
|
/**
|
|
130
118
|
* Divides one PositiveInt32 by another using floor division.
|
|
119
|
+
*
|
|
131
120
|
* @param a The dividend PositiveInt32.
|
|
132
121
|
* @param b The divisor PositiveInt32.
|
|
133
122
|
* @returns `⌊a / b⌋` clamped to [1, 2147483647] as a PositiveInt32.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"positive-int32.mjs","sources":["../../../src/number/branded-types/positive-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,iCAAiC;AAE3D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,QAAQ,EACR,KAAK,GACN,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;AAMG;AACI,MAAM,eAAe,GAAG;AAE/B;;;;;;;;AAQG;AACI,MAAM,aAAa,GAAG;AAC3B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
|