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,71 +8,55 @@ 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 Uint16 (16-bit unsigned integer in the range [0,
|
|
11
|
+
* Checks if a number is a Uint16 (16-bit unsigned integer in the range [0,
|
|
12
|
+
* 2^16)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a Uint16, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isUint16 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a Uint16 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a Uint16 type.
|
|
20
|
-
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
21
|
-
*
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asUint16(1000); // Uint16
|
|
24
|
-
* const y = asUint16(0); // Uint16
|
|
25
|
-
* // asUint16(-1); // throws TypeError
|
|
26
|
-
* // asUint16(70000); // throws TypeError
|
|
27
|
-
* ```
|
|
23
|
+
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
24
|
+
* 2^16.
|
|
28
25
|
*/
|
|
29
26
|
const asUint16 = castType;
|
|
30
27
|
/**
|
|
31
|
-
* Namespace providing type-safe arithmetic operations for 16-bit unsigned
|
|
32
|
-
*
|
|
33
|
-
* All operations automatically clamp results to the valid Uint16 range [0, 65535].
|
|
34
|
-
* This ensures that all arithmetic maintains the 16-bit unsigned integer constraint,
|
|
35
|
-
* with negative results clamped to 0 and overflow results clamped to MAX_VALUE.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const a = asUint16(60000);
|
|
40
|
-
* const b = asUint16(10000);
|
|
41
|
-
*
|
|
42
|
-
* // Arithmetic operations with automatic clamping
|
|
43
|
-
* const sum = Uint16.add(a, b); // Uint16 (65535 - clamped to MAX_VALUE)
|
|
44
|
-
* const diff = Uint16.sub(b, a); // Uint16 (0 - clamped to MIN_VALUE)
|
|
45
|
-
* const product = Uint16.mul(a, b); // Uint16 (65535 - clamped due to overflow)
|
|
46
|
-
*
|
|
47
|
-
* // Range operations
|
|
48
|
-
* const clamped = Uint16.clamp(-100); // Uint16 (0)
|
|
49
|
-
* const minimum = Uint16.min(a, b); // Uint16 (10000)
|
|
50
|
-
* const maximum = Uint16.max(a, b); // Uint16 (60000)
|
|
28
|
+
* Namespace providing type-safe arithmetic operations for 16-bit unsigned
|
|
29
|
+
* integers.
|
|
51
30
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
31
|
+
* All operations automatically clamp results to the valid Uint16 range [0,
|
|
32
|
+
* 65535]. This ensures that all arithmetic maintains the 16-bit unsigned
|
|
33
|
+
* integer constraint, with negative results clamped to 0 and overflow results
|
|
34
|
+
* clamped to MAX_VALUE.
|
|
56
35
|
*/
|
|
57
36
|
const Uint16 = {
|
|
58
37
|
/**
|
|
59
38
|
* Type guard to check if a value is a Uint16.
|
|
39
|
+
*
|
|
60
40
|
* @param value The value to check.
|
|
61
|
-
* @returns `true` if the value is a 16-bit unsigned integer, `false`
|
|
41
|
+
* @returns `true` if the value is a 16-bit unsigned integer, `false`
|
|
42
|
+
* otherwise.
|
|
62
43
|
*/
|
|
63
44
|
is,
|
|
64
45
|
/**
|
|
65
46
|
* The minimum value for a 16-bit unsigned integer.
|
|
47
|
+
*
|
|
66
48
|
* @readonly
|
|
67
49
|
*/
|
|
68
50
|
MIN_VALUE,
|
|
69
51
|
/**
|
|
70
52
|
* The maximum value for a 16-bit unsigned integer.
|
|
53
|
+
*
|
|
71
54
|
* @readonly
|
|
72
55
|
*/
|
|
73
56
|
MAX_VALUE,
|
|
74
57
|
/**
|
|
75
58
|
* Returns the smaller of two Uint16 values.
|
|
59
|
+
*
|
|
76
60
|
* @param a The first Uint16.
|
|
77
61
|
* @param b The second Uint16.
|
|
78
62
|
* @returns The minimum value as a Uint16.
|
|
@@ -80,6 +64,7 @@ const Uint16 = {
|
|
|
80
64
|
min: min_,
|
|
81
65
|
/**
|
|
82
66
|
* Returns the larger of two Uint16 values.
|
|
67
|
+
*
|
|
83
68
|
* @param a The first Uint16.
|
|
84
69
|
* @param b The second Uint16.
|
|
85
70
|
* @returns The maximum value as a Uint16.
|
|
@@ -87,17 +72,20 @@ const Uint16 = {
|
|
|
87
72
|
max: max_,
|
|
88
73
|
/**
|
|
89
74
|
* Clamps a number to the Uint16 range.
|
|
75
|
+
*
|
|
90
76
|
* @param value The number to clamp.
|
|
91
77
|
* @returns The value clamped to [0, 65535] as a Uint16.
|
|
92
78
|
*/
|
|
93
79
|
clamp,
|
|
94
80
|
/**
|
|
95
81
|
* Generates a random Uint16 value within the valid range.
|
|
82
|
+
*
|
|
96
83
|
* @returns A random Uint16 between 0 and 65535.
|
|
97
84
|
*/
|
|
98
85
|
random,
|
|
99
86
|
/**
|
|
100
87
|
* Raises a Uint16 to the power of another Uint16.
|
|
88
|
+
*
|
|
101
89
|
* @param a The base Uint16.
|
|
102
90
|
* @param b The exponent Uint16.
|
|
103
91
|
* @returns `a ** b` clamped to [0, 65535] as a Uint16.
|
|
@@ -105,6 +93,7 @@ const Uint16 = {
|
|
|
105
93
|
pow,
|
|
106
94
|
/**
|
|
107
95
|
* Adds two Uint16 values.
|
|
96
|
+
*
|
|
108
97
|
* @param a The first Uint16.
|
|
109
98
|
* @param b The second Uint16.
|
|
110
99
|
* @returns `a + b` clamped to [0, 65535] as a Uint16.
|
|
@@ -112,6 +101,7 @@ const Uint16 = {
|
|
|
112
101
|
add,
|
|
113
102
|
/**
|
|
114
103
|
* Subtracts one Uint16 from another.
|
|
104
|
+
*
|
|
115
105
|
* @param a The minuend Uint16.
|
|
116
106
|
* @param b The subtrahend Uint16.
|
|
117
107
|
* @returns `a - b` clamped to [0, 65535] as a Uint16 (minimum 0).
|
|
@@ -119,6 +109,7 @@ const Uint16 = {
|
|
|
119
109
|
sub,
|
|
120
110
|
/**
|
|
121
111
|
* Multiplies two Uint16 values.
|
|
112
|
+
*
|
|
122
113
|
* @param a The first Uint16.
|
|
123
114
|
* @param b The second Uint16.
|
|
124
115
|
* @returns `a * b` clamped to [0, 65535] as a Uint16.
|
|
@@ -126,6 +117,7 @@ const Uint16 = {
|
|
|
126
117
|
mul,
|
|
127
118
|
/**
|
|
128
119
|
* Divides one Uint16 by another using floor division.
|
|
120
|
+
*
|
|
129
121
|
* @param a The dividend Uint16.
|
|
130
122
|
* @param b The divisor Uint16.
|
|
131
123
|
* @returns `⌊a / b⌋` clamped to [0, 65535] as a Uint16.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint16.mjs","sources":["../../../src/number/branded-types/uint16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,uCAAuC;AAEjE,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":"uint16.mjs","sources":["../../../src/number/branded-types/uint16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,uCAAuC;AAEjE,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,QAAQ,GAAG;AAExB;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAG;AAExB;;;;;;;;AAQG;AACI,MAAM,MAAM,GAAG;AACpB;;;;;;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,21 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checks if a number is a Uint32 (32-bit unsigned integer in the range [0,
|
|
2
|
+
* Checks if a number is a Uint32 (32-bit unsigned integer in the range [0,
|
|
3
|
+
* 2^32)).
|
|
4
|
+
*
|
|
3
5
|
* @param value The value to check.
|
|
4
6
|
* @returns `true` if the value is a Uint32, `false` otherwise.
|
|
5
7
|
*/
|
|
6
8
|
export declare const isUint32: (a: number) => a is Uint32;
|
|
7
9
|
/**
|
|
8
10
|
* Casts a number to a Uint32 type.
|
|
11
|
+
*
|
|
9
12
|
* @param value The value to cast.
|
|
10
13
|
* @returns The value as a Uint32 type.
|
|
11
|
-
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
12
|
-
*
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const x = asUint32(1000000); // Uint32
|
|
15
|
-
* const y = asUint32(0); // Uint32
|
|
16
|
-
* // asUint32(-1); // throws TypeError
|
|
17
|
-
* // asUint32(5000000000); // throws TypeError
|
|
18
|
-
* ```
|
|
14
|
+
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
15
|
+
* 2^32.
|
|
19
16
|
*/
|
|
20
17
|
export declare const asUint32: <N extends number>(x: N) => number & {
|
|
21
18
|
readonly NaNValue: false;
|
|
@@ -32,139 +29,100 @@ export declare const asUint32: <N extends number>(x: N) => number & {
|
|
|
32
29
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
33
30
|
}> & N;
|
|
34
31
|
/**
|
|
35
|
-
* Utility functions for working with Uint32 (32-bit unsigned integer) branded
|
|
36
|
-
* Provides type-safe operations that ensure results remain within the
|
|
37
|
-
* All arithmetic operations are clamped to maintain the
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* // Type checking
|
|
42
|
-
* Uint32.is(1000000); // true
|
|
43
|
-
* Uint32.is(-1); // false
|
|
44
|
-
* Uint32.is(5000000000); // false (exceeds 2^32)
|
|
45
|
-
*
|
|
46
|
-
* // Constants
|
|
47
|
-
* console.log(Uint32.MIN_VALUE); // 0
|
|
48
|
-
* console.log(Uint32.MAX_VALUE); // 4294967295 (2^32 - 1)
|
|
49
|
-
*
|
|
50
|
-
* // Arithmetic operations (all results clamped to [0, 2^32))
|
|
51
|
-
* const a = asUint32(1000000);
|
|
52
|
-
* const b = asUint32(500000);
|
|
53
|
-
*
|
|
54
|
-
* Uint32.add(a, b); // Uint32 (1500000)
|
|
55
|
-
* Uint32.sub(a, b); // Uint32 (500000)
|
|
56
|
-
* Uint32.mul(a, b); // Uint32 (clamped if overflow)
|
|
57
|
-
* Uint32.div(a, b); // Uint32 (2)
|
|
58
|
-
* Uint32.pow(asUint32(2), asUint32(10)); // Uint32 (1024)
|
|
59
|
-
*
|
|
60
|
-
* // Utility functions
|
|
61
|
-
* Uint32.min(a, b); // Uint32 (500000)
|
|
62
|
-
* Uint32.max(a, b); // Uint32 (1000000)
|
|
63
|
-
* Uint32.clamp(asUint32(5000000000), Uint32.MIN_VALUE, Uint32.MAX_VALUE); // Uint32 (MAX_VALUE)
|
|
64
|
-
* Uint32.random(); // Random Uint32
|
|
65
|
-
* ```
|
|
32
|
+
* Utility functions for working with Uint32 (32-bit unsigned integer) branded
|
|
33
|
+
* types. Provides type-safe operations that ensure results remain within the
|
|
34
|
+
* valid range [0, 2^32). All arithmetic operations are clamped to maintain the
|
|
35
|
+
* Uint32 constraint.
|
|
66
36
|
*/
|
|
67
37
|
export declare const Uint32: {
|
|
68
38
|
/**
|
|
69
39
|
* Type guard that checks if a value is a 32-bit unsigned integer.
|
|
40
|
+
*
|
|
70
41
|
* @param value - The value to check
|
|
71
|
-
* @returns `true` if the value is within the range [0, 2^32), `false`
|
|
42
|
+
* @returns `true` if the value is within the range [0, 2^32), `false`
|
|
43
|
+
* otherwise
|
|
72
44
|
*/
|
|
73
45
|
readonly is: (a: number) => a is Uint32;
|
|
74
46
|
/**
|
|
75
47
|
* The minimum value for a Uint32.
|
|
48
|
+
*
|
|
76
49
|
* @readonly
|
|
77
50
|
*/
|
|
78
51
|
readonly MIN_VALUE: 0;
|
|
79
52
|
/**
|
|
80
53
|
* The maximum value for a Uint32.
|
|
54
|
+
*
|
|
81
55
|
* @readonly
|
|
82
56
|
*/
|
|
83
57
|
readonly MAX_VALUE: number;
|
|
84
58
|
/**
|
|
85
59
|
* Returns the minimum of multiple Uint32 values.
|
|
60
|
+
*
|
|
86
61
|
* @param values - The Uint32 values to compare
|
|
87
62
|
* @returns The smallest value as a Uint32
|
|
88
63
|
*/
|
|
89
64
|
readonly min: (...values: readonly WithSmallInt<Uint32, 40>[]) => Uint32;
|
|
90
65
|
/**
|
|
91
66
|
* Returns the maximum of multiple Uint32 values.
|
|
67
|
+
*
|
|
92
68
|
* @param values - The Uint32 values to compare
|
|
93
69
|
* @returns The largest value as a Uint32
|
|
94
70
|
*/
|
|
95
71
|
readonly max: (...values: readonly WithSmallInt<Uint32, 40>[]) => Uint32;
|
|
96
72
|
/**
|
|
97
73
|
* Clamps a Uint32 to be within the specified range.
|
|
74
|
+
*
|
|
98
75
|
* @param value - The value to clamp
|
|
99
76
|
* @param min - The minimum value
|
|
100
77
|
* @param max - The maximum value
|
|
101
78
|
* @returns The clamped value as a Uint32
|
|
102
|
-
* @example
|
|
103
|
-
* ```typescript
|
|
104
|
-
* Uint32.clamp(asUint32(5000000000), Uint32.MIN_VALUE, asUint32(1000)); // Uint32 (1000)
|
|
105
|
-
* ```
|
|
106
79
|
*/
|
|
107
80
|
readonly clamp: (x: number) => Uint32;
|
|
108
81
|
/**
|
|
109
82
|
* Generates a random Uint32 value.
|
|
83
|
+
*
|
|
110
84
|
* @returns A random Uint32 value within [0, 2^32)
|
|
111
85
|
*/
|
|
112
86
|
readonly random: (min?: WithSmallInt<Uint32, 40> | undefined, max?: WithSmallInt<Uint32, 40> | undefined) => Uint32;
|
|
113
87
|
/**
|
|
114
88
|
* Raises a Uint32 to a power, with result clamped to [0, 2^32).
|
|
89
|
+
*
|
|
115
90
|
* @param a - The base Uint32
|
|
116
91
|
* @param b - The exponent Uint32
|
|
117
92
|
* @returns `a ** b` as a Uint32, clamped to valid range
|
|
118
|
-
* @example
|
|
119
|
-
* ```typescript
|
|
120
|
-
* Uint32.pow(asUint32(2), asUint32(10)); // Uint32 (1024)
|
|
121
|
-
* ```
|
|
122
93
|
*/
|
|
123
94
|
readonly pow: (x: WithSmallInt<Uint32, 40>, y: WithSmallInt<Uint32, 40>) => Uint32;
|
|
124
95
|
/**
|
|
125
96
|
* Adds two Uint32 values, with result clamped to [0, 2^32).
|
|
97
|
+
*
|
|
126
98
|
* @param a - First Uint32
|
|
127
99
|
* @param b - Second Uint32
|
|
128
100
|
* @returns `a + b` as a Uint32, clamped to valid range
|
|
129
|
-
* @example
|
|
130
|
-
* ```typescript
|
|
131
|
-
* Uint32.add(asUint32(1000000), asUint32(500000)); // Uint32 (1500000)
|
|
132
|
-
* ```
|
|
133
101
|
*/
|
|
134
102
|
readonly add: (x: WithSmallInt<Uint32, 40>, y: WithSmallInt<Uint32, 40>) => Uint32;
|
|
135
103
|
/**
|
|
136
104
|
* Subtracts two Uint32 values, with result clamped to [0, 2^32).
|
|
105
|
+
*
|
|
137
106
|
* @param a - First Uint32
|
|
138
107
|
* @param b - Second Uint32
|
|
139
108
|
* @returns `a - b` as a Uint32, clamped to valid range (minimum 0)
|
|
140
|
-
* @example
|
|
141
|
-
* ```typescript
|
|
142
|
-
* Uint32.sub(asUint32(1000000), asUint32(500000)); // Uint32 (500000)
|
|
143
|
-
* Uint32.sub(asUint32(100), asUint32(500)); // Uint32 (0) - clamped
|
|
144
|
-
* ```
|
|
145
109
|
*/
|
|
146
110
|
readonly sub: (x: WithSmallInt<Uint32, 40>, y: WithSmallInt<Uint32, 40>) => Uint32;
|
|
147
111
|
/**
|
|
148
112
|
* Multiplies two Uint32 values, with result clamped to [0, 2^32).
|
|
113
|
+
*
|
|
149
114
|
* @param a - First Uint32
|
|
150
115
|
* @param b - Second Uint32
|
|
151
116
|
* @returns `a * b` as a Uint32, clamped to valid range
|
|
152
|
-
* @example
|
|
153
|
-
* ```typescript
|
|
154
|
-
* Uint32.mul(asUint32(1000), asUint32(500)); // Uint32 (500000)
|
|
155
|
-
* ```
|
|
156
117
|
*/
|
|
157
118
|
readonly mul: (x: WithSmallInt<Uint32, 40>, y: WithSmallInt<Uint32, 40>) => Uint32;
|
|
158
119
|
/**
|
|
159
|
-
* Divides two Uint32 values using floor division, with result clamped to [0,
|
|
120
|
+
* Divides two Uint32 values using floor division, with result clamped to [0,
|
|
121
|
+
* 2^32).
|
|
122
|
+
*
|
|
160
123
|
* @param a - The dividend Uint32
|
|
161
124
|
* @param b - The divisor Uint32
|
|
162
125
|
* @returns `⌊a / b⌋` as a Uint32, clamped to valid range
|
|
163
|
-
* @example
|
|
164
|
-
* ```typescript
|
|
165
|
-
* Uint32.div(asUint32(1000000), asUint32(500000)); // Uint32 (2)
|
|
166
|
-
* Uint32.div(asUint32(7), asUint32(3)); // Uint32 (2) - floor division
|
|
167
|
-
* ```
|
|
168
126
|
*/
|
|
169
127
|
readonly div: (x: WithSmallInt<Uint32, 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 | NormalizeBrandUnion<number & {
|
|
170
128
|
readonly NaNValue: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/uint32.mts"],"names":[],"mappings":"AAgCA
|
|
1
|
+
{"version":3,"file":"uint32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/uint32.mts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,4BAAK,CAAC;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;MAAW,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,MAAM;IACjB;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;;OAOG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -8,159 +8,117 @@ 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 Uint32 (32-bit unsigned integer in the range [0,
|
|
11
|
+
* Checks if a number is a Uint32 (32-bit unsigned integer in the range [0,
|
|
12
|
+
* 2^32)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a Uint32, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isUint32 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a Uint32 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a Uint32 type.
|
|
20
|
-
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
21
|
-
*
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asUint32(1000000); // Uint32
|
|
24
|
-
* const y = asUint32(0); // Uint32
|
|
25
|
-
* // asUint32(-1); // throws TypeError
|
|
26
|
-
* // asUint32(5000000000); // throws TypeError
|
|
27
|
-
* ```
|
|
23
|
+
* @throws {TypeError} If the value is not a non-negative integer less than
|
|
24
|
+
* 2^32.
|
|
28
25
|
*/
|
|
29
26
|
const asUint32 = castType;
|
|
30
27
|
/**
|
|
31
|
-
* Utility functions for working with Uint32 (32-bit unsigned integer) branded
|
|
32
|
-
* Provides type-safe operations that ensure results remain within the
|
|
33
|
-
* All arithmetic operations are clamped to maintain the
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* // Type checking
|
|
38
|
-
* Uint32.is(1000000); // true
|
|
39
|
-
* Uint32.is(-1); // false
|
|
40
|
-
* Uint32.is(5000000000); // false (exceeds 2^32)
|
|
41
|
-
*
|
|
42
|
-
* // Constants
|
|
43
|
-
* console.log(Uint32.MIN_VALUE); // 0
|
|
44
|
-
* console.log(Uint32.MAX_VALUE); // 4294967295 (2^32 - 1)
|
|
45
|
-
*
|
|
46
|
-
* // Arithmetic operations (all results clamped to [0, 2^32))
|
|
47
|
-
* const a = asUint32(1000000);
|
|
48
|
-
* const b = asUint32(500000);
|
|
49
|
-
*
|
|
50
|
-
* Uint32.add(a, b); // Uint32 (1500000)
|
|
51
|
-
* Uint32.sub(a, b); // Uint32 (500000)
|
|
52
|
-
* Uint32.mul(a, b); // Uint32 (clamped if overflow)
|
|
53
|
-
* Uint32.div(a, b); // Uint32 (2)
|
|
54
|
-
* Uint32.pow(asUint32(2), asUint32(10)); // Uint32 (1024)
|
|
55
|
-
*
|
|
56
|
-
* // Utility functions
|
|
57
|
-
* Uint32.min(a, b); // Uint32 (500000)
|
|
58
|
-
* Uint32.max(a, b); // Uint32 (1000000)
|
|
59
|
-
* Uint32.clamp(asUint32(5000000000), Uint32.MIN_VALUE, Uint32.MAX_VALUE); // Uint32 (MAX_VALUE)
|
|
60
|
-
* Uint32.random(); // Random Uint32
|
|
61
|
-
* ```
|
|
28
|
+
* Utility functions for working with Uint32 (32-bit unsigned integer) branded
|
|
29
|
+
* types. Provides type-safe operations that ensure results remain within the
|
|
30
|
+
* valid range [0, 2^32). All arithmetic operations are clamped to maintain the
|
|
31
|
+
* Uint32 constraint.
|
|
62
32
|
*/
|
|
63
33
|
const Uint32 = {
|
|
64
34
|
/**
|
|
65
35
|
* Type guard that checks if a value is a 32-bit unsigned integer.
|
|
36
|
+
*
|
|
66
37
|
* @param value - The value to check
|
|
67
|
-
* @returns `true` if the value is within the range [0, 2^32), `false`
|
|
38
|
+
* @returns `true` if the value is within the range [0, 2^32), `false`
|
|
39
|
+
* otherwise
|
|
68
40
|
*/
|
|
69
41
|
is,
|
|
70
42
|
/**
|
|
71
43
|
* The minimum value for a Uint32.
|
|
44
|
+
*
|
|
72
45
|
* @readonly
|
|
73
46
|
*/
|
|
74
47
|
MIN_VALUE,
|
|
75
48
|
/**
|
|
76
49
|
* The maximum value for a Uint32.
|
|
50
|
+
*
|
|
77
51
|
* @readonly
|
|
78
52
|
*/
|
|
79
53
|
MAX_VALUE,
|
|
80
54
|
/**
|
|
81
55
|
* Returns the minimum of multiple Uint32 values.
|
|
56
|
+
*
|
|
82
57
|
* @param values - The Uint32 values to compare
|
|
83
58
|
* @returns The smallest value as a Uint32
|
|
84
59
|
*/
|
|
85
60
|
min: min_,
|
|
86
61
|
/**
|
|
87
62
|
* Returns the maximum of multiple Uint32 values.
|
|
63
|
+
*
|
|
88
64
|
* @param values - The Uint32 values to compare
|
|
89
65
|
* @returns The largest value as a Uint32
|
|
90
66
|
*/
|
|
91
67
|
max: max_,
|
|
92
68
|
/**
|
|
93
69
|
* Clamps a Uint32 to be within the specified range.
|
|
70
|
+
*
|
|
94
71
|
* @param value - The value to clamp
|
|
95
72
|
* @param min - The minimum value
|
|
96
73
|
* @param max - The maximum value
|
|
97
74
|
* @returns The clamped value as a Uint32
|
|
98
|
-
* @example
|
|
99
|
-
* ```typescript
|
|
100
|
-
* Uint32.clamp(asUint32(5000000000), Uint32.MIN_VALUE, asUint32(1000)); // Uint32 (1000)
|
|
101
|
-
* ```
|
|
102
75
|
*/
|
|
103
76
|
clamp,
|
|
104
77
|
/**
|
|
105
78
|
* Generates a random Uint32 value.
|
|
79
|
+
*
|
|
106
80
|
* @returns A random Uint32 value within [0, 2^32)
|
|
107
81
|
*/
|
|
108
82
|
random,
|
|
109
83
|
/**
|
|
110
84
|
* Raises a Uint32 to a power, with result clamped to [0, 2^32).
|
|
85
|
+
*
|
|
111
86
|
* @param a - The base Uint32
|
|
112
87
|
* @param b - The exponent Uint32
|
|
113
88
|
* @returns `a ** b` as a Uint32, clamped to valid range
|
|
114
|
-
* @example
|
|
115
|
-
* ```typescript
|
|
116
|
-
* Uint32.pow(asUint32(2), asUint32(10)); // Uint32 (1024)
|
|
117
|
-
* ```
|
|
118
89
|
*/
|
|
119
90
|
pow,
|
|
120
91
|
/**
|
|
121
92
|
* Adds two Uint32 values, with result clamped to [0, 2^32).
|
|
93
|
+
*
|
|
122
94
|
* @param a - First Uint32
|
|
123
95
|
* @param b - Second Uint32
|
|
124
96
|
* @returns `a + b` as a Uint32, clamped to valid range
|
|
125
|
-
* @example
|
|
126
|
-
* ```typescript
|
|
127
|
-
* Uint32.add(asUint32(1000000), asUint32(500000)); // Uint32 (1500000)
|
|
128
|
-
* ```
|
|
129
97
|
*/
|
|
130
98
|
add,
|
|
131
99
|
/**
|
|
132
100
|
* Subtracts two Uint32 values, with result clamped to [0, 2^32).
|
|
101
|
+
*
|
|
133
102
|
* @param a - First Uint32
|
|
134
103
|
* @param b - Second Uint32
|
|
135
104
|
* @returns `a - b` as a Uint32, clamped to valid range (minimum 0)
|
|
136
|
-
* @example
|
|
137
|
-
* ```typescript
|
|
138
|
-
* Uint32.sub(asUint32(1000000), asUint32(500000)); // Uint32 (500000)
|
|
139
|
-
* Uint32.sub(asUint32(100), asUint32(500)); // Uint32 (0) - clamped
|
|
140
|
-
* ```
|
|
141
105
|
*/
|
|
142
106
|
sub,
|
|
143
107
|
/**
|
|
144
108
|
* Multiplies two Uint32 values, with result clamped to [0, 2^32).
|
|
109
|
+
*
|
|
145
110
|
* @param a - First Uint32
|
|
146
111
|
* @param b - Second Uint32
|
|
147
112
|
* @returns `a * b` as a Uint32, clamped to valid range
|
|
148
|
-
* @example
|
|
149
|
-
* ```typescript
|
|
150
|
-
* Uint32.mul(asUint32(1000), asUint32(500)); // Uint32 (500000)
|
|
151
|
-
* ```
|
|
152
113
|
*/
|
|
153
114
|
mul,
|
|
154
115
|
/**
|
|
155
|
-
* Divides two Uint32 values using floor division, with result clamped to [0,
|
|
116
|
+
* Divides two Uint32 values using floor division, with result clamped to [0,
|
|
117
|
+
* 2^32).
|
|
118
|
+
*
|
|
156
119
|
* @param a - The dividend Uint32
|
|
157
120
|
* @param b - The divisor Uint32
|
|
158
121
|
* @returns `⌊a / b⌋` as a Uint32, clamped to valid range
|
|
159
|
-
* @example
|
|
160
|
-
* ```typescript
|
|
161
|
-
* Uint32.div(asUint32(1000000), asUint32(500000)); // Uint32 (2)
|
|
162
|
-
* Uint32.div(asUint32(7), asUint32(3)); // Uint32 (2) - floor division
|
|
163
|
-
* ```
|
|
164
122
|
*/
|
|
165
123
|
div,
|
|
166
124
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint32.mjs","sources":["../../../src/number/branded-types/uint32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,uCAAuC;AAEjE,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":"uint32.mjs","sources":["../../../src/number/branded-types/uint32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,uCAAuC;AAEjE,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,QAAQ,GAAG;AAExB;;;;;;;AAOG;AACI,MAAM,QAAQ,GAAG;AAExB;;;;;AAKG;AACI,MAAM,MAAM,GAAG;AACpB;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;AAOG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;AAOG;IACH,GAAG;;;;;"}
|