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
|
@@ -2,22 +2,17 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
|
2
2
|
type ElementType = NonNegativeFiniteNumber;
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a number is a NonNegativeFiniteNumber (a finite number >= 0).
|
|
5
|
+
*
|
|
5
6
|
* @param value The value to check.
|
|
6
7
|
* @returns `true` if the value is a NonNegativeFiniteNumber, `false` otherwise.
|
|
7
8
|
*/
|
|
8
9
|
export declare const isNonNegativeFiniteNumber: (a: number) => a is NonNegativeFiniteNumber;
|
|
9
10
|
/**
|
|
10
11
|
* Casts a number to a NonNegativeFiniteNumber type.
|
|
12
|
+
*
|
|
11
13
|
* @param value The value to cast.
|
|
12
14
|
* @returns The value as a NonNegativeFiniteNumber type.
|
|
13
15
|
* @throws {TypeError} If the value is not a non-negative finite number.
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const x = asNonNegativeFiniteNumber(5.5); // NonNegativeFiniteNumber
|
|
17
|
-
* const y = asNonNegativeFiniteNumber(0); // NonNegativeFiniteNumber
|
|
18
|
-
* // asNonNegativeFiniteNumber(-1); // throws TypeError
|
|
19
|
-
* // asNonNegativeFiniteNumber(Infinity); // throws TypeError
|
|
20
|
-
* ```
|
|
21
16
|
*/
|
|
22
17
|
export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => number & {
|
|
23
18
|
readonly NaNValue: false;
|
|
@@ -31,48 +26,32 @@ export declare const asNonNegativeFiniteNumber: <N extends number>(x: N) => numb
|
|
|
31
26
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
32
27
|
}> & N;
|
|
33
28
|
/**
|
|
34
|
-
* Namespace providing type-safe arithmetic operations for non-negative finite
|
|
35
|
-
*
|
|
36
|
-
* All operations maintain the non-negative constraint by clamping negative results to 0,
|
|
37
|
-
* while ensuring results remain finite (excluding NaN and Infinity). This type is useful
|
|
38
|
-
* for representing measurements, distances, weights, and other inherently non-negative values.
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const distance = asNonNegativeFiniteNumber(5.5);
|
|
43
|
-
* const speed = asNonNegativeFiniteNumber(2.2);
|
|
44
|
-
*
|
|
45
|
-
* // Arithmetic operations with non-negative clamping
|
|
46
|
-
* const total = NonNegativeFiniteNumber.add(distance, speed); // NonNegativeFiniteNumber (7.7)
|
|
47
|
-
* const diff = NonNegativeFiniteNumber.sub(speed, distance); // NonNegativeFiniteNumber (0 - clamped)
|
|
48
|
-
* const area = NonNegativeFiniteNumber.mul(distance, speed); // NonNegativeFiniteNumber (12.1)
|
|
49
|
-
* const ratio = NonNegativeFiniteNumber.div(distance, speed); // NonNegativeFiniteNumber (2.5)
|
|
50
|
-
*
|
|
51
|
-
* // Range operations
|
|
52
|
-
* const clamped = NonNegativeFiniteNumber.clamp(-10.5); // NonNegativeFiniteNumber (0)
|
|
53
|
-
* const minimum = NonNegativeFiniteNumber.min(distance, speed); // NonNegativeFiniteNumber (2.2)
|
|
54
|
-
* const maximum = NonNegativeFiniteNumber.max(distance, speed); // NonNegativeFiniteNumber (5.5)
|
|
29
|
+
* Namespace providing type-safe arithmetic operations for non-negative finite
|
|
30
|
+
* numbers.
|
|
55
31
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* ```
|
|
32
|
+
* All operations maintain the non-negative constraint by clamping negative
|
|
33
|
+
* results to 0, while ensuring results remain finite (excluding NaN and
|
|
34
|
+
* Infinity). This type is useful for representing measurements, distances,
|
|
35
|
+
* weights, and other inherently non-negative values.
|
|
61
36
|
*/
|
|
62
37
|
export declare const NonNegativeFiniteNumber: {
|
|
63
38
|
/**
|
|
64
39
|
* Type guard to check if a value is a NonNegativeFiniteNumber.
|
|
40
|
+
*
|
|
65
41
|
* @param value The value to check.
|
|
66
|
-
* @returns `true` if the value is a non-negative finite number, `false`
|
|
42
|
+
* @returns `true` if the value is a non-negative finite number, `false`
|
|
43
|
+
* otherwise.
|
|
67
44
|
*/
|
|
68
45
|
readonly is: (a: number) => a is NonNegativeFiniteNumber;
|
|
69
46
|
/**
|
|
70
47
|
* The minimum value for a non-negative finite number.
|
|
48
|
+
*
|
|
71
49
|
* @readonly
|
|
72
50
|
*/
|
|
73
51
|
readonly MIN_VALUE: 0;
|
|
74
52
|
/**
|
|
75
53
|
* Returns the smaller of two NonNegativeFiniteNumber values.
|
|
54
|
+
*
|
|
76
55
|
* @param a The first NonNegativeFiniteNumber.
|
|
77
56
|
* @param b The second NonNegativeFiniteNumber.
|
|
78
57
|
* @returns The minimum value as a NonNegativeFiniteNumber.
|
|
@@ -80,6 +59,7 @@ export declare const NonNegativeFiniteNumber: {
|
|
|
80
59
|
readonly min: (...values: readonly NonNegativeFiniteNumber[]) => NonNegativeFiniteNumber;
|
|
81
60
|
/**
|
|
82
61
|
* Returns the larger of two NonNegativeFiniteNumber values.
|
|
62
|
+
*
|
|
83
63
|
* @param a The first NonNegativeFiniteNumber.
|
|
84
64
|
* @param b The second NonNegativeFiniteNumber.
|
|
85
65
|
* @returns The maximum value as a NonNegativeFiniteNumber.
|
|
@@ -87,35 +67,42 @@ export declare const NonNegativeFiniteNumber: {
|
|
|
87
67
|
readonly max: (...values: readonly NonNegativeFiniteNumber[]) => NonNegativeFiniteNumber;
|
|
88
68
|
/**
|
|
89
69
|
* Clamps a number to the non-negative finite range.
|
|
70
|
+
*
|
|
90
71
|
* @param value The number to clamp.
|
|
91
72
|
* @returns The value clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
92
73
|
*/
|
|
93
74
|
readonly clamp: (x: number) => NonNegativeFiniteNumber;
|
|
94
75
|
/**
|
|
95
76
|
* Rounds down a NonNegativeFiniteNumber to the nearest integer.
|
|
77
|
+
*
|
|
96
78
|
* @param x The NonNegativeFiniteNumber to round down.
|
|
97
79
|
* @returns The floor value as a Uint.
|
|
98
80
|
*/
|
|
99
81
|
readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
100
82
|
/**
|
|
101
83
|
* Rounds up a NonNegativeFiniteNumber to the nearest integer.
|
|
84
|
+
*
|
|
102
85
|
* @param x The NonNegativeFiniteNumber to round up.
|
|
103
86
|
* @returns The ceiling value as a Uint.
|
|
104
87
|
*/
|
|
105
88
|
readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
106
89
|
/**
|
|
107
90
|
* Rounds a NonNegativeFiniteNumber to the nearest integer.
|
|
91
|
+
*
|
|
108
92
|
* @param x The NonNegativeFiniteNumber to round.
|
|
109
93
|
* @returns The rounded value as a Uint.
|
|
110
94
|
*/
|
|
111
95
|
readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
112
96
|
/**
|
|
113
97
|
* Generates a random NonNegativeFiniteNumber value.
|
|
98
|
+
*
|
|
114
99
|
* @returns A random non-negative finite number.
|
|
115
100
|
*/
|
|
116
101
|
readonly random: (min?: NonNegativeFiniteNumber | undefined, max?: NonNegativeFiniteNumber | undefined) => NonNegativeFiniteNumber;
|
|
117
102
|
/**
|
|
118
|
-
* Raises a NonNegativeFiniteNumber to the power of another
|
|
103
|
+
* Raises a NonNegativeFiniteNumber to the power of another
|
|
104
|
+
* NonNegativeFiniteNumber.
|
|
105
|
+
*
|
|
119
106
|
* @param a The base NonNegativeFiniteNumber.
|
|
120
107
|
* @param b The exponent NonNegativeFiniteNumber.
|
|
121
108
|
* @returns `a ** b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -123,6 +110,7 @@ export declare const NonNegativeFiniteNumber: {
|
|
|
123
110
|
readonly pow: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
|
|
124
111
|
/**
|
|
125
112
|
* Adds two NonNegativeFiniteNumber values.
|
|
113
|
+
*
|
|
126
114
|
* @param a The first NonNegativeFiniteNumber.
|
|
127
115
|
* @param b The second NonNegativeFiniteNumber.
|
|
128
116
|
* @returns `a + b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -130,13 +118,16 @@ export declare const NonNegativeFiniteNumber: {
|
|
|
130
118
|
readonly add: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
|
|
131
119
|
/**
|
|
132
120
|
* Subtracts one NonNegativeFiniteNumber from another.
|
|
121
|
+
*
|
|
133
122
|
* @param a The minuend NonNegativeFiniteNumber.
|
|
134
123
|
* @param b The subtrahend NonNegativeFiniteNumber.
|
|
135
|
-
* @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
|
|
124
|
+
* @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
|
|
125
|
+
* 0).
|
|
136
126
|
*/
|
|
137
127
|
readonly sub: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
|
|
138
128
|
/**
|
|
139
129
|
* Multiplies two NonNegativeFiniteNumber values.
|
|
130
|
+
*
|
|
140
131
|
* @param a The first NonNegativeFiniteNumber.
|
|
141
132
|
* @param b The second NonNegativeFiniteNumber.
|
|
142
133
|
* @returns `a * b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -144,6 +135,7 @@ export declare const NonNegativeFiniteNumber: {
|
|
|
144
135
|
readonly mul: (x: NonNegativeFiniteNumber, y: NonNegativeFiniteNumber) => NonNegativeFiniteNumber;
|
|
145
136
|
/**
|
|
146
137
|
* Divides one NonNegativeFiniteNumber by another.
|
|
138
|
+
*
|
|
147
139
|
* @param a The dividend NonNegativeFiniteNumber.
|
|
148
140
|
* @param b The divisor NonNegativeFiniteNumber.
|
|
149
141
|
* @returns `a / b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C
|
|
1
|
+
{"version":3,"file":"non-negative-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,uBAAuB,CAAC;AAiD3C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,6CAAK,CAAC;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;MAAW,CAAC;AAElD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAClC;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;wBA/FA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAiG3D;;;;;OAKG;uBAjGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAmG3D;;;;;OAKG;wBAnGA,WAAW,KACb,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC;IAqG3D;;;;OAIG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -7,77 +7,56 @@ const { MIN_VALUE, min: min_, max: max_, pow, add, sub, mul, div, random, is, ca
|
|
|
7
7
|
typeNameInMessage,
|
|
8
8
|
});
|
|
9
9
|
const floor = (x) =>
|
|
10
|
-
// eslint-disable-next-line
|
|
10
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
11
11
|
Math.floor(x);
|
|
12
12
|
const ceil = (x) =>
|
|
13
|
-
// eslint-disable-next-line
|
|
13
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
14
14
|
Math.ceil(x);
|
|
15
15
|
const round = (x) =>
|
|
16
|
-
// eslint-disable-next-line
|
|
16
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
17
17
|
Math.round(x);
|
|
18
18
|
/**
|
|
19
19
|
* Checks if a number is a NonNegativeFiniteNumber (a finite number >= 0).
|
|
20
|
+
*
|
|
20
21
|
* @param value The value to check.
|
|
21
22
|
* @returns `true` if the value is a NonNegativeFiniteNumber, `false` otherwise.
|
|
22
23
|
*/
|
|
23
24
|
const isNonNegativeFiniteNumber = is;
|
|
24
25
|
/**
|
|
25
26
|
* Casts a number to a NonNegativeFiniteNumber type.
|
|
27
|
+
*
|
|
26
28
|
* @param value The value to cast.
|
|
27
29
|
* @returns The value as a NonNegativeFiniteNumber type.
|
|
28
30
|
* @throws {TypeError} If the value is not a non-negative finite number.
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* const x = asNonNegativeFiniteNumber(5.5); // NonNegativeFiniteNumber
|
|
32
|
-
* const y = asNonNegativeFiniteNumber(0); // NonNegativeFiniteNumber
|
|
33
|
-
* // asNonNegativeFiniteNumber(-1); // throws TypeError
|
|
34
|
-
* // asNonNegativeFiniteNumber(Infinity); // throws TypeError
|
|
35
|
-
* ```
|
|
36
31
|
*/
|
|
37
32
|
const asNonNegativeFiniteNumber = castType;
|
|
38
33
|
/**
|
|
39
|
-
* Namespace providing type-safe arithmetic operations for non-negative finite
|
|
40
|
-
*
|
|
41
|
-
* All operations maintain the non-negative constraint by clamping negative results to 0,
|
|
42
|
-
* while ensuring results remain finite (excluding NaN and Infinity). This type is useful
|
|
43
|
-
* for representing measurements, distances, weights, and other inherently non-negative values.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* const distance = asNonNegativeFiniteNumber(5.5);
|
|
48
|
-
* const speed = asNonNegativeFiniteNumber(2.2);
|
|
49
|
-
*
|
|
50
|
-
* // Arithmetic operations with non-negative clamping
|
|
51
|
-
* const total = NonNegativeFiniteNumber.add(distance, speed); // NonNegativeFiniteNumber (7.7)
|
|
52
|
-
* const diff = NonNegativeFiniteNumber.sub(speed, distance); // NonNegativeFiniteNumber (0 - clamped)
|
|
53
|
-
* const area = NonNegativeFiniteNumber.mul(distance, speed); // NonNegativeFiniteNumber (12.1)
|
|
54
|
-
* const ratio = NonNegativeFiniteNumber.div(distance, speed); // NonNegativeFiniteNumber (2.5)
|
|
55
|
-
*
|
|
56
|
-
* // Range operations
|
|
57
|
-
* const clamped = NonNegativeFiniteNumber.clamp(-10.5); // NonNegativeFiniteNumber (0)
|
|
58
|
-
* const minimum = NonNegativeFiniteNumber.min(distance, speed); // NonNegativeFiniteNumber (2.2)
|
|
59
|
-
* const maximum = NonNegativeFiniteNumber.max(distance, speed); // NonNegativeFiniteNumber (5.5)
|
|
34
|
+
* Namespace providing type-safe arithmetic operations for non-negative finite
|
|
35
|
+
* numbers.
|
|
60
36
|
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* ```
|
|
37
|
+
* All operations maintain the non-negative constraint by clamping negative
|
|
38
|
+
* results to 0, while ensuring results remain finite (excluding NaN and
|
|
39
|
+
* Infinity). This type is useful for representing measurements, distances,
|
|
40
|
+
* weights, and other inherently non-negative values.
|
|
66
41
|
*/
|
|
67
42
|
const NonNegativeFiniteNumber = {
|
|
68
43
|
/**
|
|
69
44
|
* Type guard to check if a value is a NonNegativeFiniteNumber.
|
|
45
|
+
*
|
|
70
46
|
* @param value The value to check.
|
|
71
|
-
* @returns `true` if the value is a non-negative finite number, `false`
|
|
47
|
+
* @returns `true` if the value is a non-negative finite number, `false`
|
|
48
|
+
* otherwise.
|
|
72
49
|
*/
|
|
73
50
|
is,
|
|
74
51
|
/**
|
|
75
52
|
* The minimum value for a non-negative finite number.
|
|
53
|
+
*
|
|
76
54
|
* @readonly
|
|
77
55
|
*/
|
|
78
56
|
MIN_VALUE,
|
|
79
57
|
/**
|
|
80
58
|
* Returns the smaller of two NonNegativeFiniteNumber values.
|
|
59
|
+
*
|
|
81
60
|
* @param a The first NonNegativeFiniteNumber.
|
|
82
61
|
* @param b The second NonNegativeFiniteNumber.
|
|
83
62
|
* @returns The minimum value as a NonNegativeFiniteNumber.
|
|
@@ -85,6 +64,7 @@ const NonNegativeFiniteNumber = {
|
|
|
85
64
|
min: min_,
|
|
86
65
|
/**
|
|
87
66
|
* Returns the larger of two NonNegativeFiniteNumber values.
|
|
67
|
+
*
|
|
88
68
|
* @param a The first NonNegativeFiniteNumber.
|
|
89
69
|
* @param b The second NonNegativeFiniteNumber.
|
|
90
70
|
* @returns The maximum value as a NonNegativeFiniteNumber.
|
|
@@ -92,35 +72,42 @@ const NonNegativeFiniteNumber = {
|
|
|
92
72
|
max: max_,
|
|
93
73
|
/**
|
|
94
74
|
* Clamps a number to the non-negative finite range.
|
|
75
|
+
*
|
|
95
76
|
* @param value The number to clamp.
|
|
96
77
|
* @returns The value clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
97
78
|
*/
|
|
98
79
|
clamp,
|
|
99
80
|
/**
|
|
100
81
|
* Rounds down a NonNegativeFiniteNumber to the nearest integer.
|
|
82
|
+
*
|
|
101
83
|
* @param x The NonNegativeFiniteNumber to round down.
|
|
102
84
|
* @returns The floor value as a Uint.
|
|
103
85
|
*/
|
|
104
86
|
floor,
|
|
105
87
|
/**
|
|
106
88
|
* Rounds up a NonNegativeFiniteNumber to the nearest integer.
|
|
89
|
+
*
|
|
107
90
|
* @param x The NonNegativeFiniteNumber to round up.
|
|
108
91
|
* @returns The ceiling value as a Uint.
|
|
109
92
|
*/
|
|
110
93
|
ceil,
|
|
111
94
|
/**
|
|
112
95
|
* Rounds a NonNegativeFiniteNumber to the nearest integer.
|
|
96
|
+
*
|
|
113
97
|
* @param x The NonNegativeFiniteNumber to round.
|
|
114
98
|
* @returns The rounded value as a Uint.
|
|
115
99
|
*/
|
|
116
100
|
round,
|
|
117
101
|
/**
|
|
118
102
|
* Generates a random NonNegativeFiniteNumber value.
|
|
103
|
+
*
|
|
119
104
|
* @returns A random non-negative finite number.
|
|
120
105
|
*/
|
|
121
106
|
random,
|
|
122
107
|
/**
|
|
123
|
-
* Raises a NonNegativeFiniteNumber to the power of another
|
|
108
|
+
* Raises a NonNegativeFiniteNumber to the power of another
|
|
109
|
+
* NonNegativeFiniteNumber.
|
|
110
|
+
*
|
|
124
111
|
* @param a The base NonNegativeFiniteNumber.
|
|
125
112
|
* @param b The exponent NonNegativeFiniteNumber.
|
|
126
113
|
* @returns `a ** b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -128,6 +115,7 @@ const NonNegativeFiniteNumber = {
|
|
|
128
115
|
pow,
|
|
129
116
|
/**
|
|
130
117
|
* Adds two NonNegativeFiniteNumber values.
|
|
118
|
+
*
|
|
131
119
|
* @param a The first NonNegativeFiniteNumber.
|
|
132
120
|
* @param b The second NonNegativeFiniteNumber.
|
|
133
121
|
* @returns `a + b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -135,13 +123,16 @@ const NonNegativeFiniteNumber = {
|
|
|
135
123
|
add,
|
|
136
124
|
/**
|
|
137
125
|
* Subtracts one NonNegativeFiniteNumber from another.
|
|
126
|
+
*
|
|
138
127
|
* @param a The minuend NonNegativeFiniteNumber.
|
|
139
128
|
* @param b The subtrahend NonNegativeFiniteNumber.
|
|
140
|
-
* @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
|
|
129
|
+
* @returns `a - b` clamped to [0, +∞) as a NonNegativeFiniteNumber (minimum
|
|
130
|
+
* 0).
|
|
141
131
|
*/
|
|
142
132
|
sub,
|
|
143
133
|
/**
|
|
144
134
|
* Multiplies two NonNegativeFiniteNumber values.
|
|
135
|
+
*
|
|
145
136
|
* @param a The first NonNegativeFiniteNumber.
|
|
146
137
|
* @param b The second NonNegativeFiniteNumber.
|
|
147
138
|
* @returns `a * b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -149,6 +140,7 @@ const NonNegativeFiniteNumber = {
|
|
|
149
140
|
mul,
|
|
150
141
|
/**
|
|
151
142
|
* Divides one NonNegativeFiniteNumber by another.
|
|
143
|
+
*
|
|
152
144
|
* @param a The dividend NonNegativeFiniteNumber.
|
|
153
145
|
* @param b The divisor NonNegativeFiniteNumber.
|
|
154
146
|
* @returns `a / b` clamped to [0, +∞) as a NonNegativeFiniteNumber.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,8BAA8B;AAExD,MAAM,EACJ,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,iBAAiB,CAI3D;AACA,IAAA,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAE7E,MAAM,IAAI,GAAG,CACX,CAAc;AAEd;AACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAA+D;AAE5E,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAM7E
|
|
1
|
+
{"version":3,"file":"non-negative-finite-number.mjs","sources":["../../../src/number/branded-types/non-negative-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,8BAA8B;AAExD,MAAM,EACJ,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,iBAAiB,CAI3D;AACA,IAAA,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAE7E,MAAM,IAAI,GAAG,CACX,CAAc;AAEd;AACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAA+D;AAE5E,MAAM,KAAK,GAAG,CACZ,CAAc;AAEd;AACA,IAAI,CAAC,KAAK,CAAC,CAAC,CAA+D;AAM7E;;;;;AAKG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;AAMG;AACI,MAAM,yBAAyB,GAAG;AAEzC;;;;;;;;AAQG;AACI,MAAM,uBAAuB,GAAG;AACrC;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,IAAI;AAEJ;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer
|
|
2
|
+
* Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer
|
|
3
|
+
* in the range [0, 2^15)).
|
|
4
|
+
*
|
|
3
5
|
* @param value The value to check.
|
|
4
6
|
* @returns `true` if the value is a NonNegativeInt16, `false` otherwise.
|
|
5
7
|
*/
|
|
6
8
|
export declare const isNonNegativeInt16: (a: number) => a is NonNegativeInt16;
|
|
7
9
|
/**
|
|
8
10
|
* Casts a number to a NonNegativeInt16 type.
|
|
11
|
+
*
|
|
9
12
|
* @param value The value to cast.
|
|
10
13
|
* @returns The value as a NonNegativeInt16 type.
|
|
11
14
|
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^15).
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const x = asNonNegativeInt16(1000); // NonNegativeInt16
|
|
15
|
-
* const y = asNonNegativeInt16(0); // NonNegativeInt16
|
|
16
|
-
* // asNonNegativeInt16(-1); // throws TypeError
|
|
17
|
-
* // asNonNegativeInt16(32768); // throws TypeError
|
|
18
|
-
* ```
|
|
19
15
|
*/
|
|
20
16
|
export declare const asNonNegativeInt16: <N extends number>(x: N) => number & {
|
|
21
17
|
readonly NaNValue: false;
|
|
@@ -35,52 +31,38 @@ export declare const asNonNegativeInt16: <N extends number>(x: N) => number & {
|
|
|
35
31
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
36
32
|
}> & N;
|
|
37
33
|
/**
|
|
38
|
-
* Namespace providing type-safe arithmetic operations for 16-bit non-negative
|
|
39
|
-
*
|
|
40
|
-
* All operations automatically clamp results to the valid NonNegativeInt16 range [0, 32767].
|
|
41
|
-
* This ensures that all arithmetic maintains the 16-bit non-negative integer constraint,
|
|
42
|
-
* with negative results clamped to 0 and overflow results clamped to MAX_VALUE.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* const a = asNonNegativeInt16(30000);
|
|
47
|
-
* const b = asNonNegativeInt16(5000);
|
|
48
|
-
*
|
|
49
|
-
* // Arithmetic operations with automatic clamping
|
|
50
|
-
* const sum = NonNegativeInt16.add(a, b); // NonNegativeInt16 (32767 - clamped to MAX_VALUE)
|
|
51
|
-
* const diff = NonNegativeInt16.sub(a, b); // NonNegativeInt16 (25000)
|
|
52
|
-
* const reverseDiff = NonNegativeInt16.sub(b, a); // NonNegativeInt16 (0 - clamped to MIN_VALUE)
|
|
53
|
-
* const product = NonNegativeInt16.mul(a, b); // NonNegativeInt16 (32767 - clamped due to overflow)
|
|
54
|
-
*
|
|
55
|
-
* // Range operations
|
|
56
|
-
* const clamped = NonNegativeInt16.clamp(-100); // NonNegativeInt16 (0)
|
|
57
|
-
* const minimum = NonNegativeInt16.min(a, b); // NonNegativeInt16 (5000)
|
|
58
|
-
* const maximum = NonNegativeInt16.max(a, b); // NonNegativeInt16 (30000)
|
|
34
|
+
* Namespace providing type-safe arithmetic operations for 16-bit non-negative
|
|
35
|
+
* integers.
|
|
59
36
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
37
|
+
* All operations automatically clamp results to the valid NonNegativeInt16
|
|
38
|
+
* range [0, 32767]. This ensures that all arithmetic maintains the 16-bit
|
|
39
|
+
* non-negative integer constraint, with negative results clamped to 0 and
|
|
40
|
+
* overflow results clamped to MAX_VALUE.
|
|
64
41
|
*/
|
|
65
42
|
export declare const NonNegativeInt16: {
|
|
66
43
|
/**
|
|
67
44
|
* Type guard to check if a value is a NonNegativeInt16.
|
|
45
|
+
*
|
|
68
46
|
* @param value The value to check.
|
|
69
|
-
* @returns `true` if the value is a 16-bit non-negative integer, `false`
|
|
47
|
+
* @returns `true` if the value is a 16-bit non-negative integer, `false`
|
|
48
|
+
* otherwise.
|
|
70
49
|
*/
|
|
71
50
|
readonly is: (a: number) => a is NonNegativeInt16;
|
|
72
51
|
/**
|
|
73
52
|
* The minimum value for a 16-bit non-negative integer.
|
|
53
|
+
*
|
|
74
54
|
* @readonly
|
|
75
55
|
*/
|
|
76
56
|
readonly MIN_VALUE: 0;
|
|
77
57
|
/**
|
|
78
58
|
* The maximum value for a 16-bit non-negative integer.
|
|
59
|
+
*
|
|
79
60
|
* @readonly
|
|
80
61
|
*/
|
|
81
62
|
readonly MAX_VALUE: number;
|
|
82
63
|
/**
|
|
83
64
|
* Returns the smaller of two NonNegativeInt16 values.
|
|
65
|
+
*
|
|
84
66
|
* @param a The first NonNegativeInt16.
|
|
85
67
|
* @param b The second NonNegativeInt16.
|
|
86
68
|
* @returns The minimum value as a NonNegativeInt16.
|
|
@@ -88,6 +70,7 @@ export declare const NonNegativeInt16: {
|
|
|
88
70
|
readonly min: (...values: readonly WithSmallInt<NonNegativeInt16, 40>[]) => NonNegativeInt16;
|
|
89
71
|
/**
|
|
90
72
|
* Returns the larger of two NonNegativeInt16 values.
|
|
73
|
+
*
|
|
91
74
|
* @param a The first NonNegativeInt16.
|
|
92
75
|
* @param b The second NonNegativeInt16.
|
|
93
76
|
* @returns The maximum value as a NonNegativeInt16.
|
|
@@ -95,17 +78,20 @@ export declare const NonNegativeInt16: {
|
|
|
95
78
|
readonly max: (...values: readonly WithSmallInt<NonNegativeInt16, 40>[]) => NonNegativeInt16;
|
|
96
79
|
/**
|
|
97
80
|
* Clamps a number to the NonNegativeInt16 range.
|
|
81
|
+
*
|
|
98
82
|
* @param value The number to clamp.
|
|
99
83
|
* @returns The value clamped to [0, 32767] as a NonNegativeInt16.
|
|
100
84
|
*/
|
|
101
85
|
readonly clamp: (x: number) => NonNegativeInt16;
|
|
102
86
|
/**
|
|
103
87
|
* Generates a random NonNegativeInt16 value within the valid range.
|
|
88
|
+
*
|
|
104
89
|
* @returns A random NonNegativeInt16 between 0 and 32767.
|
|
105
90
|
*/
|
|
106
91
|
readonly random: (min?: WithSmallInt<NonNegativeInt16, 40> | undefined, max?: WithSmallInt<NonNegativeInt16, 40> | undefined) => NonNegativeInt16;
|
|
107
92
|
/**
|
|
108
93
|
* Raises a NonNegativeInt16 to the power of another NonNegativeInt16.
|
|
94
|
+
*
|
|
109
95
|
* @param a The base NonNegativeInt16.
|
|
110
96
|
* @param b The exponent NonNegativeInt16.
|
|
111
97
|
* @returns `a ** b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -113,6 +99,7 @@ export declare const NonNegativeInt16: {
|
|
|
113
99
|
readonly pow: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
|
|
114
100
|
/**
|
|
115
101
|
* Adds two NonNegativeInt16 values.
|
|
102
|
+
*
|
|
116
103
|
* @param a The first NonNegativeInt16.
|
|
117
104
|
* @param b The second NonNegativeInt16.
|
|
118
105
|
* @returns `a + b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -120,6 +107,7 @@ export declare const NonNegativeInt16: {
|
|
|
120
107
|
readonly add: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
|
|
121
108
|
/**
|
|
122
109
|
* Subtracts one NonNegativeInt16 from another.
|
|
110
|
+
*
|
|
123
111
|
* @param a The minuend NonNegativeInt16.
|
|
124
112
|
* @param b The subtrahend NonNegativeInt16.
|
|
125
113
|
* @returns `a - b` clamped to [0, 32767] as a NonNegativeInt16 (minimum 0).
|
|
@@ -127,6 +115,7 @@ export declare const NonNegativeInt16: {
|
|
|
127
115
|
readonly sub: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
|
|
128
116
|
/**
|
|
129
117
|
* Multiplies two NonNegativeInt16 values.
|
|
118
|
+
*
|
|
130
119
|
* @param a The first NonNegativeInt16.
|
|
131
120
|
* @param b The second NonNegativeInt16.
|
|
132
121
|
* @returns `a * b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -134,6 +123,7 @@ export declare const NonNegativeInt16: {
|
|
|
134
123
|
readonly mul: (x: WithSmallInt<NonNegativeInt16, 40>, y: WithSmallInt<NonNegativeInt16, 40>) => NonNegativeInt16;
|
|
135
124
|
/**
|
|
136
125
|
* Divides one NonNegativeInt16 by another using floor division.
|
|
126
|
+
*
|
|
137
127
|
* @param a The dividend NonNegativeInt16.
|
|
138
128
|
* @param b The divisor NonNegativeInt16.
|
|
139
129
|
* @returns `⌊a / b⌋` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAgCA
|
|
1
|
+
{"version":3,"file":"non-negative-int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int16.mts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCAAK,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;MAAW,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;;;;;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,72 +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 NonNegativeInt16 (16-bit non-negative signed integer
|
|
11
|
+
* Checks if a number is a NonNegativeInt16 (16-bit non-negative signed integer
|
|
12
|
+
* in the range [0, 2^15)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a NonNegativeInt16, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isNonNegativeInt16 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a NonNegativeInt16 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a NonNegativeInt16 type.
|
|
20
23
|
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^15).
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asNonNegativeInt16(1000); // NonNegativeInt16
|
|
24
|
-
* const y = asNonNegativeInt16(0); // NonNegativeInt16
|
|
25
|
-
* // asNonNegativeInt16(-1); // throws TypeError
|
|
26
|
-
* // asNonNegativeInt16(32768); // throws TypeError
|
|
27
|
-
* ```
|
|
28
24
|
*/
|
|
29
25
|
const asNonNegativeInt16 = castType;
|
|
30
26
|
/**
|
|
31
|
-
* Namespace providing type-safe arithmetic operations for 16-bit non-negative
|
|
32
|
-
*
|
|
33
|
-
* All operations automatically clamp results to the valid NonNegativeInt16 range [0, 32767].
|
|
34
|
-
* This ensures that all arithmetic maintains the 16-bit non-negative integer constraint,
|
|
35
|
-
* with negative results clamped to 0 and overflow results clamped to MAX_VALUE.
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const a = asNonNegativeInt16(30000);
|
|
40
|
-
* const b = asNonNegativeInt16(5000);
|
|
41
|
-
*
|
|
42
|
-
* // Arithmetic operations with automatic clamping
|
|
43
|
-
* const sum = NonNegativeInt16.add(a, b); // NonNegativeInt16 (32767 - clamped to MAX_VALUE)
|
|
44
|
-
* const diff = NonNegativeInt16.sub(a, b); // NonNegativeInt16 (25000)
|
|
45
|
-
* const reverseDiff = NonNegativeInt16.sub(b, a); // NonNegativeInt16 (0 - clamped to MIN_VALUE)
|
|
46
|
-
* const product = NonNegativeInt16.mul(a, b); // NonNegativeInt16 (32767 - clamped due to overflow)
|
|
47
|
-
*
|
|
48
|
-
* // Range operations
|
|
49
|
-
* const clamped = NonNegativeInt16.clamp(-100); // NonNegativeInt16 (0)
|
|
50
|
-
* const minimum = NonNegativeInt16.min(a, b); // NonNegativeInt16 (5000)
|
|
51
|
-
* const maximum = NonNegativeInt16.max(a, b); // NonNegativeInt16 (30000)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for 16-bit non-negative
|
|
28
|
+
* integers.
|
|
52
29
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the valid NonNegativeInt16
|
|
31
|
+
* range [0, 32767]. This ensures that all arithmetic maintains the 16-bit
|
|
32
|
+
* non-negative integer constraint, with negative results clamped to 0 and
|
|
33
|
+
* overflow results clamped to MAX_VALUE.
|
|
57
34
|
*/
|
|
58
35
|
const NonNegativeInt16 = {
|
|
59
36
|
/**
|
|
60
37
|
* Type guard to check if a value is a NonNegativeInt16.
|
|
38
|
+
*
|
|
61
39
|
* @param value The value to check.
|
|
62
|
-
* @returns `true` if the value is a 16-bit non-negative integer, `false`
|
|
40
|
+
* @returns `true` if the value is a 16-bit non-negative integer, `false`
|
|
41
|
+
* otherwise.
|
|
63
42
|
*/
|
|
64
43
|
is,
|
|
65
44
|
/**
|
|
66
45
|
* The minimum value for a 16-bit non-negative integer.
|
|
46
|
+
*
|
|
67
47
|
* @readonly
|
|
68
48
|
*/
|
|
69
49
|
MIN_VALUE,
|
|
70
50
|
/**
|
|
71
51
|
* The maximum value for a 16-bit non-negative integer.
|
|
52
|
+
*
|
|
72
53
|
* @readonly
|
|
73
54
|
*/
|
|
74
55
|
MAX_VALUE,
|
|
75
56
|
/**
|
|
76
57
|
* Returns the smaller of two NonNegativeInt16 values.
|
|
58
|
+
*
|
|
77
59
|
* @param a The first NonNegativeInt16.
|
|
78
60
|
* @param b The second NonNegativeInt16.
|
|
79
61
|
* @returns The minimum value as a NonNegativeInt16.
|
|
@@ -81,6 +63,7 @@ const NonNegativeInt16 = {
|
|
|
81
63
|
min: min_,
|
|
82
64
|
/**
|
|
83
65
|
* Returns the larger of two NonNegativeInt16 values.
|
|
66
|
+
*
|
|
84
67
|
* @param a The first NonNegativeInt16.
|
|
85
68
|
* @param b The second NonNegativeInt16.
|
|
86
69
|
* @returns The maximum value as a NonNegativeInt16.
|
|
@@ -88,17 +71,20 @@ const NonNegativeInt16 = {
|
|
|
88
71
|
max: max_,
|
|
89
72
|
/**
|
|
90
73
|
* Clamps a number to the NonNegativeInt16 range.
|
|
74
|
+
*
|
|
91
75
|
* @param value The number to clamp.
|
|
92
76
|
* @returns The value clamped to [0, 32767] as a NonNegativeInt16.
|
|
93
77
|
*/
|
|
94
78
|
clamp,
|
|
95
79
|
/**
|
|
96
80
|
* Generates a random NonNegativeInt16 value within the valid range.
|
|
81
|
+
*
|
|
97
82
|
* @returns A random NonNegativeInt16 between 0 and 32767.
|
|
98
83
|
*/
|
|
99
84
|
random,
|
|
100
85
|
/**
|
|
101
86
|
* Raises a NonNegativeInt16 to the power of another NonNegativeInt16.
|
|
87
|
+
*
|
|
102
88
|
* @param a The base NonNegativeInt16.
|
|
103
89
|
* @param b The exponent NonNegativeInt16.
|
|
104
90
|
* @returns `a ** b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -106,6 +92,7 @@ const NonNegativeInt16 = {
|
|
|
106
92
|
pow,
|
|
107
93
|
/**
|
|
108
94
|
* Adds two NonNegativeInt16 values.
|
|
95
|
+
*
|
|
109
96
|
* @param a The first NonNegativeInt16.
|
|
110
97
|
* @param b The second NonNegativeInt16.
|
|
111
98
|
* @returns `a + b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -113,6 +100,7 @@ const NonNegativeInt16 = {
|
|
|
113
100
|
add,
|
|
114
101
|
/**
|
|
115
102
|
* Subtracts one NonNegativeInt16 from another.
|
|
103
|
+
*
|
|
116
104
|
* @param a The minuend NonNegativeInt16.
|
|
117
105
|
* @param b The subtrahend NonNegativeInt16.
|
|
118
106
|
* @returns `a - b` clamped to [0, 32767] as a NonNegativeInt16 (minimum 0).
|
|
@@ -120,6 +108,7 @@ const NonNegativeInt16 = {
|
|
|
120
108
|
sub,
|
|
121
109
|
/**
|
|
122
110
|
* Multiplies two NonNegativeInt16 values.
|
|
111
|
+
*
|
|
123
112
|
* @param a The first NonNegativeInt16.
|
|
124
113
|
* @param b The second NonNegativeInt16.
|
|
125
114
|
* @returns `a * b` clamped to [0, 32767] as a NonNegativeInt16.
|
|
@@ -127,6 +116,7 @@ const NonNegativeInt16 = {
|
|
|
127
116
|
mul,
|
|
128
117
|
/**
|
|
129
118
|
* Divides one NonNegativeInt16 by another using floor division.
|
|
119
|
+
*
|
|
130
120
|
* @param a The dividend NonNegativeInt16.
|
|
131
121
|
* @param b The divisor NonNegativeInt16.
|
|
132
122
|
* @returns `⌊a / b⌋` clamped to [0, 32767] as a NonNegativeInt16.
|