ts-data-forge 3.3.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -13
- package/dist/array/impl/array-utils-creation.d.mts +116 -0
- package/dist/array/impl/array-utils-creation.d.mts.map +1 -0
- package/dist/array/impl/array-utils-creation.mjs +110 -0
- package/dist/array/impl/array-utils-creation.mjs.map +1 -0
- package/dist/array/impl/array-utils-element-access.d.mts +60 -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 +213 -0
- package/dist/array/impl/array-utils-reducing-value.d.mts.map +1 -0
- package/dist/array/impl/array-utils-reducing-value.mjs +162 -0
- package/dist/array/impl/array-utils-reducing-value.mjs.map +1 -0
- package/dist/array/impl/array-utils-search.d.mts +178 -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 +329 -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 -254
- package/dist/collections/imap-mapped.d.mts.map +1 -1
- package/dist/collections/imap-mapped.mjs +40 -170
- package/dist/collections/imap-mapped.mjs.map +1 -1
- package/dist/collections/imap.d.mts +436 -164
- package/dist/collections/imap.d.mts.map +1 -1
- package/dist/collections/imap.mjs +83 -101
- 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 -136
- package/dist/collections/queue.d.mts.map +1 -1
- package/dist/collections/queue.mjs +59 -160
- package/dist/collections/queue.mjs.map +1 -1
- package/dist/collections/stack.d.mts +154 -155
- package/dist/collections/stack.d.mts.map +1 -1
- package/dist/collections/stack.mjs +58 -207
- package/dist/collections/stack.mjs.map +1 -1
- package/dist/entry-point.d.mts +2 -0
- package/dist/entry-point.d.mts.map +1 -1
- package/dist/entry-point.mjs +8 -5
- package/dist/entry-point.mjs.map +1 -1
- package/dist/expect-type.d.mts +43 -172
- package/dist/expect-type.d.mts.map +1 -1
- package/dist/expect-type.mjs +43 -172
- package/dist/expect-type.mjs.map +1 -1
- package/dist/functional/index.d.mts +2 -2
- package/dist/functional/index.d.mts.map +1 -1
- package/dist/functional/index.mjs +4 -2
- package/dist/functional/index.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/impl/index.d.mts +18 -0
- package/dist/functional/optional/impl/index.d.mts.map +1 -0
- package/dist/functional/optional/impl/index.mjs +17 -0
- package/dist/functional/optional/impl/index.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-expect-to-be.d.mts +29 -0
- package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-expect-to-be.mjs +25 -0
- package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-filter.d.mts +29 -0
- package/dist/functional/optional/impl/optional-filter.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-filter.mjs +28 -0
- package/dist/functional/optional/impl/optional-filter.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-flat-map.d.mts +33 -0
- package/dist/functional/optional/impl/optional-flat-map.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-flat-map.mjs +21 -0
- package/dist/functional/optional/impl/optional-flat-map.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-from-nullable.d.mts +24 -0
- package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-from-nullable.mjs +29 -0
- package/dist/functional/optional/impl/optional-from-nullable.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-is-none.d.mts +22 -0
- package/dist/functional/optional/impl/optional-is-none.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-is-none.mjs +25 -0
- package/dist/functional/optional/impl/optional-is-none.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-is-optional.d.mts +18 -0
- package/dist/functional/optional/impl/optional-is-optional.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-is-optional.mjs +27 -0
- package/dist/functional/optional/impl/optional-is-optional.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-is-some.d.mts +22 -0
- package/dist/functional/optional/impl/optional-is-some.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-is-some.mjs +25 -0
- package/dist/functional/optional/impl/optional-is-some.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-map.d.mts +31 -0
- package/dist/functional/optional/impl/optional-map.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-map.mjs +25 -0
- package/dist/functional/optional/impl/optional-map.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-none.d.mts +16 -0
- package/dist/functional/optional/impl/optional-none.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-none.mjs +20 -0
- package/dist/functional/optional/impl/optional-none.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-or-else.d.mts +35 -0
- package/dist/functional/optional/impl/optional-or-else.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-or-else.mjs +19 -0
- package/dist/functional/optional/impl/optional-or-else.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-some.d.mts +19 -0
- package/dist/functional/optional/impl/optional-some.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-some.mjs +26 -0
- package/dist/functional/optional/impl/optional-some.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-to-nullable.d.mts +27 -0
- package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-to-nullable.mjs +31 -0
- package/dist/functional/optional/impl/optional-to-nullable.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap-or.d.mts +33 -0
- package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap-or.mjs +19 -0
- package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +29 -0
- package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap-throw.mjs +38 -0
- package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap.d.mts +28 -0
- package/dist/functional/optional/impl/optional-unwrap.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-unwrap.mjs +11 -0
- package/dist/functional/optional/impl/optional-unwrap.mjs.map +1 -0
- package/dist/functional/optional/impl/optional-zip.d.mts +31 -0
- package/dist/functional/optional/impl/optional-zip.d.mts.map +1 -0
- package/dist/functional/optional/impl/optional-zip.mjs +39 -0
- package/dist/functional/optional/impl/optional-zip.mjs.map +1 -0
- package/dist/functional/optional/impl/tag.d.mts +5 -0
- package/dist/functional/optional/impl/tag.d.mts.map +1 -0
- package/dist/functional/optional/impl/tag.mjs +7 -0
- package/dist/functional/optional/impl/tag.mjs.map +1 -0
- package/dist/functional/optional/impl/types.d.mts +22 -0
- package/dist/functional/optional/impl/types.d.mts.map +1 -0
- package/dist/functional/optional/impl/types.mjs +2 -0
- package/dist/functional/optional/impl/types.mjs.map +1 -0
- package/dist/functional/optional/index.d.mts +2 -0
- package/dist/functional/optional/index.d.mts.map +1 -0
- package/dist/functional/optional/index.mjs +3 -0
- package/dist/functional/optional/index.mjs.map +1 -0
- package/dist/functional/pipe.d.mts +63 -117
- package/dist/functional/pipe.d.mts.map +1 -1
- package/dist/functional/pipe.mjs +4 -3
- package/dist/functional/pipe.mjs.map +1 -1
- package/dist/functional/result/impl/index.d.mts +24 -0
- package/dist/functional/result/impl/index.d.mts.map +1 -0
- package/dist/functional/result/impl/index.mjs +23 -0
- package/dist/functional/result/impl/index.mjs.map +1 -0
- package/dist/functional/result/impl/result-err.d.mts +25 -0
- package/dist/functional/result/impl/result-err.d.mts.map +1 -0
- package/dist/functional/result/impl/result-err.mjs +32 -0
- package/dist/functional/result/impl/result-err.mjs.map +1 -0
- package/dist/functional/result/impl/result-expect-to-be.d.mts +27 -0
- package/dist/functional/result/impl/result-expect-to-be.d.mts.map +1 -0
- package/dist/functional/result/impl/result-expect-to-be.mjs +26 -0
- package/dist/functional/result/impl/result-expect-to-be.mjs.map +1 -0
- package/dist/functional/result/impl/result-flat-map.d.mts +39 -0
- package/dist/functional/result/impl/result-flat-map.d.mts.map +1 -0
- package/dist/functional/result/impl/result-flat-map.mjs +24 -0
- package/dist/functional/result/impl/result-flat-map.mjs.map +1 -0
- package/dist/functional/result/impl/result-fold.d.mts +45 -0
- package/dist/functional/result/impl/result-fold.d.mts.map +1 -0
- package/dist/functional/result/impl/result-fold.mjs +26 -0
- package/dist/functional/result/impl/result-fold.mjs.map +1 -0
- package/dist/functional/result/impl/result-from-promise.d.mts +32 -0
- package/dist/functional/result/impl/result-from-promise.d.mts.map +1 -0
- package/dist/functional/result/impl/result-from-promise.mjs +32 -0
- package/dist/functional/result/impl/result-from-promise.mjs.map +1 -0
- package/dist/functional/result/impl/result-from-throwable.d.mts +29 -0
- package/dist/functional/result/impl/result-from-throwable.d.mts.map +1 -0
- package/dist/functional/result/impl/result-from-throwable.mjs +46 -0
- package/dist/functional/result/impl/result-from-throwable.mjs.map +1 -0
- package/dist/functional/result/impl/result-is-err.d.mts +20 -0
- package/dist/functional/result/impl/result-is-err.d.mts.map +1 -0
- package/dist/functional/result/impl/result-is-err.mjs +23 -0
- package/dist/functional/result/impl/result-is-err.mjs.map +1 -0
- package/dist/functional/result/impl/result-is-ok.d.mts +20 -0
- package/dist/functional/result/impl/result-is-ok.d.mts.map +1 -0
- package/dist/functional/result/impl/result-is-ok.mjs +23 -0
- package/dist/functional/result/impl/result-is-ok.mjs.map +1 -0
- package/dist/functional/result/impl/result-is-result.d.mts +17 -0
- package/dist/functional/result/impl/result-is-result.d.mts.map +1 -0
- package/dist/functional/result/impl/result-is-result.mjs +26 -0
- package/dist/functional/result/impl/result-is-result.mjs.map +1 -0
- package/dist/functional/result/impl/result-map-err.d.mts +33 -0
- package/dist/functional/result/impl/result-map-err.d.mts.map +1 -0
- package/dist/functional/result/impl/result-map-err.mjs +25 -0
- package/dist/functional/result/impl/result-map-err.mjs.map +1 -0
- package/dist/functional/result/impl/result-map.d.mts +34 -0
- package/dist/functional/result/impl/result-map.d.mts.map +1 -0
- package/dist/functional/result/impl/result-map.mjs +25 -0
- package/dist/functional/result/impl/result-map.mjs.map +1 -0
- package/dist/functional/result/impl/result-ok.d.mts +25 -0
- package/dist/functional/result/impl/result-ok.d.mts.map +1 -0
- package/dist/functional/result/impl/result-ok.mjs +32 -0
- package/dist/functional/result/impl/result-ok.mjs.map +1 -0
- package/dist/functional/result/impl/result-or-else.d.mts +32 -0
- package/dist/functional/result/impl/result-or-else.d.mts.map +1 -0
- package/dist/functional/result/impl/result-or-else.mjs +20 -0
- package/dist/functional/result/impl/result-or-else.mjs.map +1 -0
- package/dist/functional/result/impl/result-swap.d.mts +20 -0
- package/dist/functional/result/impl/result-swap.d.mts.map +1 -0
- package/dist/functional/result/impl/result-swap.mjs +28 -0
- package/dist/functional/result/impl/result-swap.mjs.map +1 -0
- package/dist/functional/result/impl/result-to-optional.d.mts +28 -0
- package/dist/functional/result/impl/result-to-optional.d.mts.map +1 -0
- package/dist/functional/result/impl/result-to-optional.mjs +34 -0
- package/dist/functional/result/impl/result-to-optional.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err-or.d.mts +29 -0
- package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err-or.mjs +20 -0
- package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +30 -0
- package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err-throw.mjs +47 -0
- package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err.d.mts +31 -0
- package/dist/functional/result/impl/result-unwrap-err.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-err.mjs +36 -0
- package/dist/functional/result/impl/result-unwrap-err.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +29 -0
- package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-ok-or.mjs +20 -0
- package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-ok.d.mts +23 -0
- package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-ok.mjs +11 -0
- package/dist/functional/result/impl/result-unwrap-ok.mjs.map +1 -0
- package/dist/functional/result/impl/result-unwrap-throw.d.mts +30 -0
- package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +1 -0
- package/dist/functional/result/impl/result-unwrap-throw.mjs +41 -0
- package/dist/functional/result/impl/result-unwrap-throw.mjs.map +1 -0
- package/dist/functional/result/impl/result-zip.d.mts +29 -0
- package/dist/functional/result/impl/result-zip.d.mts.map +1 -0
- package/dist/functional/result/impl/result-zip.mjs +38 -0
- package/dist/functional/result/impl/result-zip.mjs.map +1 -0
- package/dist/functional/result/impl/tag.d.mts +5 -0
- package/dist/functional/result/impl/tag.d.mts.map +1 -0
- package/dist/functional/result/impl/tag.mjs +7 -0
- package/dist/functional/result/impl/tag.mjs.map +1 -0
- package/dist/functional/result/impl/types.d.mts +29 -0
- package/dist/functional/result/impl/types.d.mts.map +1 -0
- package/dist/functional/result/impl/types.mjs +2 -0
- package/dist/functional/result/impl/types.mjs.map +1 -0
- package/dist/functional/result/index.d.mts +2 -0
- package/dist/functional/result/index.d.mts.map +1 -0
- package/dist/functional/result/index.mjs +3 -0
- package/dist/functional/result/index.mjs.map +1 -0
- package/dist/globals.d.mts +95 -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 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -5
- 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 -122
- package/dist/json/json.d.mts.map +1 -1
- package/dist/json/json.mjs +246 -144
- 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 +28 -160
- 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 +123 -121
- 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 +23 -31
- 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 +23 -32
- 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 +32 -40
- 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 +25 -35
- 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 +27 -36
- 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 +26 -41
- 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 +16 -31
- 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 +28 -36
- 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 +30 -37
- 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 +40 -41
- 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 +25 -36
- 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 +25 -36
- 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 +30 -44
- 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 +134 -124
- 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 +25 -36
- 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 +25 -36
- 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 +161 -35
- 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 +25 -36
- 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 +27 -37
- 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 +143 -102
- 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 +26 -35
- 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 +122 -31
- 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 +27 -35
- 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 +27 -69
- 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 +40 -171
- 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 +47 -156
- 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 -22
- package/dist/number/refined-number-utils.mjs.map +1 -1
- package/dist/object/object.d.mts +126 -208
- package/dist/object/object.d.mts.map +1 -1
- package/dist/object/object.mjs +68 -102
- package/dist/object/object.mjs.map +1 -1
- package/dist/others/cast-mutable.d.mts +12 -88
- package/dist/others/cast-mutable.d.mts.map +1 -1
- package/dist/others/cast-mutable.mjs +13 -89
- package/dist/others/cast-mutable.mjs.map +1 -1
- package/dist/others/cast-readonly.d.mts +12 -168
- package/dist/others/cast-readonly.d.mts.map +1 -1
- package/dist/others/cast-readonly.mjs +13 -169
- package/dist/others/cast-readonly.mjs.map +1 -1
- package/dist/others/if-then.d.mts +6 -83
- package/dist/others/if-then.d.mts.map +1 -1
- package/dist/others/if-then.mjs +6 -83
- package/dist/others/if-then.mjs.map +1 -1
- package/dist/others/map-nullable.d.mts +12 -136
- package/dist/others/map-nullable.d.mts.map +1 -1
- package/dist/others/map-nullable.mjs.map +1 -1
- package/dist/others/memoize-function.d.mts +14 -157
- package/dist/others/memoize-function.d.mts.map +1 -1
- package/dist/others/memoize-function.mjs +14 -157
- package/dist/others/memoize-function.mjs.map +1 -1
- package/dist/others/tuple.d.mts +33 -151
- package/dist/others/tuple.d.mts.map +1 -1
- package/dist/others/tuple.mjs +33 -151
- package/dist/others/tuple.mjs.map +1 -1
- package/dist/others/unknown-to-string.d.mts +11 -125
- package/dist/others/unknown-to-string.d.mts.map +1 -1
- package/dist/others/unknown-to-string.mjs +12 -126
- package/dist/others/unknown-to-string.mjs.map +1 -1
- package/dist/promise/promise.d.mts +33 -21
- package/dist/promise/promise.d.mts.map +1 -1
- package/dist/promise/promise.mjs +36 -24
- package/dist/promise/promise.mjs.map +1 -1
- package/package.json +58 -44
- 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 +535 -0
- package/src/array/{array-utils-reducing-value.test.mts → impl/array-utils-reducing-value.test.mts} +53 -58
- 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} +13 -13
- 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/index.mts +2 -2
- package/src/functional/match.mts +35 -145
- package/src/functional/optional/impl/index.mts +17 -0
- package/src/functional/optional/impl/optional-expect-to-be.mts +65 -0
- package/src/functional/optional/impl/optional-filter.mts +71 -0
- package/src/functional/optional/impl/optional-flat-map.mts +67 -0
- package/src/functional/optional/impl/optional-from-nullable.mts +28 -0
- package/src/functional/optional/impl/optional-is-none.mts +25 -0
- package/src/functional/optional/impl/optional-is-optional.mts +27 -0
- package/src/functional/optional/impl/optional-is-some.mts +25 -0
- package/src/functional/optional/impl/optional-map.mts +69 -0
- package/src/functional/optional/impl/optional-none.mts +17 -0
- package/src/functional/optional/impl/optional-or-else.mts +73 -0
- package/src/functional/optional/impl/optional-some.mts +23 -0
- package/src/functional/optional/impl/optional-to-nullable.mts +31 -0
- package/src/functional/optional/impl/optional-unwrap-or.mts +64 -0
- package/src/functional/optional/impl/optional-unwrap-throw.mts +39 -0
- package/src/functional/optional/impl/optional-unwrap.mts +41 -0
- package/src/functional/optional/impl/optional-zip.mts +40 -0
- package/src/functional/optional/impl/tag.mts +6 -0
- package/src/functional/optional/impl/types.mts +28 -0
- package/src/functional/optional/index.mts +1 -0
- package/src/functional/optional.test.mts +11 -9
- package/src/functional/pipe.mts +65 -118
- package/src/functional/pipe.test.mts +1 -1
- package/src/functional/result/impl/index.mts +23 -0
- package/src/functional/result/impl/result-err.mts +29 -0
- package/src/functional/result/impl/result-expect-to-be.mts +63 -0
- package/src/functional/result/impl/result-flat-map.mts +79 -0
- package/src/functional/result/impl/result-fold.mts +95 -0
- package/src/functional/result/impl/result-from-promise.mts +39 -0
- package/src/functional/result/impl/result-from-throwable.mts +42 -0
- package/src/functional/result/impl/result-is-err.mts +23 -0
- package/src/functional/result/impl/result-is-ok.mts +23 -0
- package/src/functional/result/impl/result-is-result.mts +23 -0
- package/src/functional/result/impl/result-map-err.mts +72 -0
- package/src/functional/result/impl/result-map.mts +73 -0
- package/src/functional/result/impl/result-ok.mts +29 -0
- package/src/functional/result/impl/result-or-else.mts +63 -0
- package/src/functional/result/impl/result-swap.mts +28 -0
- package/src/functional/result/impl/result-to-optional.mts +34 -0
- package/src/functional/result/impl/result-unwrap-err-or.mts +60 -0
- package/src/functional/result/impl/result-unwrap-err-throw.mts +53 -0
- package/src/functional/result/impl/result-unwrap-err.mts +36 -0
- package/src/functional/result/impl/result-unwrap-ok-or.mts +60 -0
- package/src/functional/result/impl/result-unwrap-ok.mts +35 -0
- package/src/functional/result/impl/result-unwrap-throw.mts +43 -0
- package/src/functional/result/impl/result-zip.mts +39 -0
- package/src/functional/result/impl/tag.mts +6 -0
- package/src/functional/result/impl/types.mts +35 -0
- package/src/functional/result/index.mts +1 -0
- package/src/functional/result.test.mts +14 -6
- package/src/globals.d.mts +95 -5
- package/src/guard/has-key.mts +23 -74
- package/src/guard/is-non-empty-string.mts +20 -87
- package/src/guard/is-non-empty-string.test.mts +1 -1
- package/src/guard/is-non-null-object.mts +14 -84
- package/src/guard/is-non-null-object.test.mts +4 -4
- package/src/guard/is-primitive.mts +13 -126
- package/src/guard/is-primitive.test.mts +4 -4
- package/src/guard/is-record.mts +21 -132
- package/src/guard/is-type.mts +201 -238
- package/src/guard/is-type.test.mts +10 -10
- package/src/guard/key-is-in.mts +22 -139
- package/src/index.mts +0 -2
- 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 +34 -166
- package/src/number/branded-types/int.mts +129 -127
- package/src/number/branded-types/int16.mts +31 -39
- package/src/number/branded-types/int16.test.mts +24 -24
- package/src/number/branded-types/int32.mts +31 -40
- package/src/number/branded-types/int32.test.mts +39 -39
- package/src/number/branded-types/non-negative-finite-number.mts +39 -47
- package/src/number/branded-types/non-negative-int16.mts +33 -43
- package/src/number/branded-types/non-negative-int16.test.mts +16 -16
- package/src/number/branded-types/non-negative-int32.mts +35 -44
- package/src/number/branded-types/non-negative-int32.test.mts +30 -30
- package/src/number/branded-types/non-zero-finite-number.mts +32 -47
- package/src/number/branded-types/non-zero-int.mts +22 -37
- package/src/number/branded-types/non-zero-int16.mts +36 -44
- package/src/number/branded-types/non-zero-int16.test.mts +26 -26
- package/src/number/branded-types/non-zero-int32.mts +38 -45
- package/src/number/branded-types/non-zero-int32.test.mts +45 -42
- package/src/number/branded-types/non-zero-safe-int.mts +48 -49
- package/src/number/branded-types/non-zero-uint16.mts +33 -44
- package/src/number/branded-types/non-zero-uint16.test.mts +16 -16
- package/src/number/branded-types/non-zero-uint32.mts +33 -44
- package/src/number/branded-types/non-zero-uint32.test.mts +28 -28
- package/src/number/branded-types/positive-finite-number.mts +37 -51
- package/src/number/branded-types/positive-int.mts +142 -132
- package/src/number/branded-types/positive-int16.mts +33 -44
- package/src/number/branded-types/positive-int16.test.mts +14 -14
- package/src/number/branded-types/positive-int32.mts +33 -44
- package/src/number/branded-types/positive-int32.test.mts +26 -26
- package/src/number/branded-types/positive-safe-int.mts +169 -43
- package/src/number/branded-types/positive-uint16.mts +33 -44
- package/src/number/branded-types/positive-uint16.test.mts +16 -16
- package/src/number/branded-types/positive-uint32.mts +35 -45
- package/src/number/branded-types/positive-uint32.test.mts +31 -28
- package/src/number/branded-types/safe-int.mts +151 -110
- package/src/number/branded-types/safe-uint.mts +34 -43
- package/src/number/branded-types/uint.mts +129 -38
- package/src/number/branded-types/uint16.mts +35 -43
- package/src/number/branded-types/uint16.test.mts +16 -16
- package/src/number/branded-types/uint32.mts +35 -77
- package/src/number/branded-types/uint32.test.mts +28 -28
- package/src/number/enum/int8.mts +42 -173
- package/src/number/enum/int8.test.mts +9 -9
- package/src/number/enum/uint8.mts +49 -158
- package/src/number/enum/uint8.test.mts +8 -8
- package/src/number/num.mts +157 -212
- package/src/number/num.test.mts +4 -4
- package/src/number/refined-number-utils.mts +109 -26
- package/src/object/object.mts +130 -212
- package/src/object/object.test.mts +29 -0
- package/src/others/cast-mutable.mts +13 -89
- package/src/others/cast-mutable.test.mts +80 -0
- package/src/others/cast-readonly.mts +13 -169
- package/src/others/if-then.mts +6 -83
- package/src/others/map-nullable.mts +12 -136
- package/src/others/map-nullable.test.mts +6 -6
- package/src/others/memoize-function.mts +14 -157
- package/src/others/tuple.mts +33 -151
- package/src/others/unknown-to-string.mts +12 -126
- package/src/others/unknown-to-string.test.mts +13 -1
- package/src/promise/promise.mts +34 -21
- package/src/promise/promise.test.mts +43 -0
- package/dist/array/array-utils.d.mts +0 -2956
- package/dist/array/array-utils.d.mts.map +0 -1
- package/dist/array/array-utils.mjs +0 -1838
- package/dist/array/array-utils.mjs.map +0 -1
- package/dist/functional/optional.d.mts +0 -360
- package/dist/functional/optional.d.mts.map +0 -1
- package/dist/functional/optional.mjs +0 -268
- package/dist/functional/optional.mjs.map +0 -1
- package/dist/functional/result.d.mts +0 -611
- package/dist/functional/result.d.mts.map +0 -1
- package/dist/functional/result.mjs +0 -545
- package/dist/functional/result.mjs.map +0 -1
- package/src/array/array-utils-search.test.mts +0 -169
- package/src/array/array-utils-slicing.test.mts +0 -274
- package/src/array/array-utils.mts +0 -4834
- package/src/functional/optional.mts +0 -591
- package/src/functional/result.mts +0 -986
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
|
|
3
3
|
const typeNameInMessage = 'an integer';
|
|
4
|
-
const { abs,
|
|
4
|
+
const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
|
|
5
5
|
integerOrSafeInteger: 'Integer',
|
|
6
6
|
MIN_VALUE: -Number.MAX_VALUE,
|
|
7
7
|
MAX_VALUE: Number.MAX_VALUE,
|
|
@@ -14,42 +14,37 @@ const { abs, min: min_, max: max_, pow, add, sub, mul, div, random, is, castType
|
|
|
14
14
|
* with no fractional component. This includes values outside the safe integer
|
|
15
15
|
* range, unlike SafeInt.
|
|
16
16
|
*
|
|
17
|
-
* @param value - The value to check
|
|
18
|
-
* @returns `true` if the value is an integer, `false` otherwise
|
|
19
|
-
*
|
|
20
17
|
* @example
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* isInt(
|
|
24
|
-
* isInt(
|
|
25
|
-
*
|
|
26
|
-
* isInt(NaN); // false
|
|
27
|
-
* isInt(Infinity); // false
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* assert.ok(isInt(5));
|
|
21
|
+
* assert.notOk(isInt(5.25));
|
|
22
|
+
* assert.ok(Int.is(-10));
|
|
28
23
|
* ```
|
|
24
|
+
*
|
|
25
|
+
* @param value - The value to check
|
|
26
|
+
* @returns `true` if the value is an integer, `false` otherwise
|
|
29
27
|
*/
|
|
30
28
|
const isInt = is;
|
|
31
29
|
/**
|
|
32
30
|
* Casts a number to an Int branded type.
|
|
33
31
|
*
|
|
34
|
-
* This function validates that the input is an integer and returns it with
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @param value - The value to cast
|
|
39
|
-
* @returns The value as an Int branded type
|
|
40
|
-
* @throws {TypeError} If the value is not an integer
|
|
32
|
+
* This function validates that the input is an integer and returns it with the
|
|
33
|
+
* Int brand. Throws a TypeError if the value has a fractional component or is
|
|
34
|
+
* not a finite number.
|
|
41
35
|
*
|
|
42
36
|
* @example
|
|
43
|
-
* ```typescript
|
|
44
|
-
* const x = asInt(5); // Int
|
|
45
|
-
* const y = asInt(-10); // Int
|
|
46
|
-
* const z = asInt(0); // Int
|
|
47
37
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
38
|
+
* ```ts
|
|
39
|
+
* const branded = asInt(42);
|
|
40
|
+
*
|
|
41
|
+
* assert(branded === 42);
|
|
42
|
+
* assert.ok(Int.is(branded));
|
|
52
43
|
* ```
|
|
44
|
+
*
|
|
45
|
+
* @param value - The value to cast
|
|
46
|
+
* @returns The value as an Int branded type
|
|
47
|
+
* @throws {TypeError} If the value is not an integer
|
|
53
48
|
*/
|
|
54
49
|
const asInt = castType;
|
|
55
50
|
/**
|
|
@@ -59,178 +54,185 @@ const asInt = castType;
|
|
|
59
54
|
* range restrictions. All operations preserve the integer constraint, using
|
|
60
55
|
* floor division for division operations.
|
|
61
56
|
*
|
|
62
|
-
* Unlike SafeInt, Int allows values outside the safe integer range
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* // Type validation
|
|
69
|
-
* Int.is(42); // true
|
|
70
|
-
* Int.is(3.14); // false
|
|
71
|
-
* Int.is(-0); // true (negative zero is an integer)
|
|
72
|
-
*
|
|
73
|
-
* // Basic arithmetic
|
|
74
|
-
* const a = asInt(10);
|
|
75
|
-
* const b = asInt(3);
|
|
76
|
-
*
|
|
77
|
-
* const sum = Int.add(a, b); // Int (13)
|
|
78
|
-
* const diff = Int.sub(a, b); // Int (7)
|
|
79
|
-
* const product = Int.mul(a, b); // Int (30)
|
|
80
|
-
* const quotient = Int.div(a, b); // Int (3) - floor division
|
|
81
|
-
* const power = Int.pow(a, b); // Int (1000)
|
|
82
|
-
*
|
|
83
|
-
* // Utility operations
|
|
84
|
-
* const absolute = Int.abs(asInt(-42)); // Int (42)
|
|
85
|
-
* const minimum = Int.min(a, b, asInt(5)); // Int (3)
|
|
86
|
-
* const maximum = Int.max(a, b, asInt(5)); // Int (10)
|
|
87
|
-
*
|
|
88
|
-
* // Random generation
|
|
89
|
-
* const die = Int.random(asInt(1), asInt(6)); // Random Int in [1, 6]
|
|
90
|
-
* ```
|
|
57
|
+
* Unlike SafeInt, Int allows values outside the safe integer range (±2^53 - 1),
|
|
58
|
+
* but be aware that very large integers may lose precision in JavaScript's
|
|
59
|
+
* number type.
|
|
91
60
|
*/
|
|
92
61
|
const Int = {
|
|
93
62
|
/**
|
|
94
63
|
* Type guard that checks if a value is an integer.
|
|
95
64
|
*
|
|
65
|
+
* @example
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* assert.ok(isInt(5));
|
|
69
|
+
* assert.notOk(isInt(5.25));
|
|
70
|
+
* assert.ok(Int.is(-10));
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
96
73
|
* @param value - The value to check
|
|
97
74
|
* @returns `true` if the value is an integer, `false` otherwise
|
|
98
|
-
*
|
|
99
75
|
* @see {@link isInt} for usage examples
|
|
100
76
|
*/
|
|
101
77
|
is,
|
|
102
78
|
/**
|
|
103
79
|
* Returns the absolute value of an integer.
|
|
104
80
|
*
|
|
105
|
-
* The result is always non-negative and maintains the Int brand.
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* @param a - The integer value
|
|
110
|
-
* @returns The absolute value as a non-negative Int
|
|
81
|
+
* The result is always non-negative and maintains the Int brand. Note that
|
|
82
|
+
* Math.abs(Number.MIN_SAFE_INTEGER) exceeds Number.MAX_SAFE_INTEGER, so use
|
|
83
|
+
* SafeInt for guaranteed precision.
|
|
111
84
|
*
|
|
112
85
|
* @example
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* Int.abs(
|
|
86
|
+
*
|
|
87
|
+
* ```ts
|
|
88
|
+
* const negative = asInt(-12);
|
|
89
|
+
* const absolute = Int.abs(negative);
|
|
90
|
+
*
|
|
91
|
+
* assert(absolute === 12);
|
|
92
|
+
* assert.ok(Int.is(absolute));
|
|
117
93
|
* ```
|
|
94
|
+
*
|
|
95
|
+
* @param a - The integer value
|
|
96
|
+
* @returns The absolute value as a non-negative Int
|
|
118
97
|
*/
|
|
119
98
|
abs,
|
|
120
99
|
/**
|
|
121
100
|
* Returns the minimum value from a list of integers.
|
|
122
101
|
*
|
|
123
|
-
* @param values - The integers to compare (at least one required)
|
|
124
|
-
* @returns The smallest value as an Int
|
|
125
|
-
*
|
|
126
102
|
* @example
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
* Int.min(asInt(
|
|
103
|
+
*
|
|
104
|
+
* ```ts
|
|
105
|
+
* const smallest = Int.min(asInt(7), asInt(-3), asInt(2));
|
|
106
|
+
*
|
|
107
|
+
* assert(smallest === -3);
|
|
130
108
|
* ```
|
|
109
|
+
*
|
|
110
|
+
* @param values - The integers to compare (at least one required)
|
|
111
|
+
* @returns The smallest value as an Int
|
|
131
112
|
*/
|
|
132
113
|
min: min_,
|
|
133
114
|
/**
|
|
134
115
|
* Returns the maximum value from a list of integers.
|
|
135
116
|
*
|
|
136
|
-
* @param values - The integers to compare (at least one required)
|
|
137
|
-
* @returns The largest value as an Int
|
|
138
|
-
*
|
|
139
117
|
* @example
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* Int.max(asInt(
|
|
118
|
+
*
|
|
119
|
+
* ```ts
|
|
120
|
+
* const largest = Int.max(asInt(7), asInt(-3), asInt(2));
|
|
121
|
+
*
|
|
122
|
+
* assert(largest === 7);
|
|
143
123
|
* ```
|
|
124
|
+
*
|
|
125
|
+
* @param values - The integers to compare (at least one required)
|
|
126
|
+
* @returns The largest value as an Int
|
|
144
127
|
*/
|
|
145
128
|
max: max_,
|
|
146
129
|
/**
|
|
147
130
|
* Generates a random integer within the specified range (inclusive).
|
|
148
131
|
*
|
|
149
|
-
* The range is inclusive on both ends, so random(1, 6) can return
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
* @param min - The minimum value (inclusive)
|
|
153
|
-
* @param max - The maximum value (inclusive)
|
|
154
|
-
* @returns A random Int in the range [min, max]
|
|
132
|
+
* The range is inclusive on both ends, so random(1, 6) can return any of: 1,
|
|
133
|
+
* 2, 3, 4, 5, or 6.
|
|
155
134
|
*
|
|
156
135
|
* @example
|
|
157
|
-
* ```typescript
|
|
158
|
-
* // Dice roll
|
|
159
|
-
* const d6 = Int.random(asInt(1), asInt(6));
|
|
160
136
|
*
|
|
161
|
-
*
|
|
162
|
-
* const
|
|
137
|
+
* ```ts
|
|
138
|
+
* const min = asInt(1);
|
|
139
|
+
* const max = asInt(6);
|
|
140
|
+
* const randomValue = Int.random(min, max);
|
|
163
141
|
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
142
|
+
* assert.ok(Int.is(randomValue));
|
|
143
|
+
* assert.ok(randomValue >= 1 && randomValue <= 6);
|
|
166
144
|
* ```
|
|
145
|
+
*
|
|
146
|
+
* @param min - The minimum value (inclusive)
|
|
147
|
+
* @param max - The maximum value (inclusive)
|
|
148
|
+
* @returns A random Int in the range [min, max]
|
|
167
149
|
*/
|
|
168
150
|
random,
|
|
169
151
|
/**
|
|
170
152
|
* Raises an integer to a power.
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
*
|
|
156
|
+
* ```ts
|
|
157
|
+
* const base = asInt(2);
|
|
158
|
+
* const exponent = asInt(5);
|
|
159
|
+
* const power = Int.pow(base, exponent);
|
|
160
|
+
*
|
|
161
|
+
* assert(power === 32);
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
171
164
|
* @param a - The base integer
|
|
172
165
|
* @param b - The exponent integer
|
|
173
166
|
* @returns `a ** b` as an Int
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* Int.pow(asInt(2), asInt(3)); // Int (8)
|
|
177
|
-
* ```
|
|
178
167
|
*/
|
|
179
168
|
pow,
|
|
180
169
|
/**
|
|
181
170
|
* Adds two integers.
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
*
|
|
174
|
+
* ```ts
|
|
175
|
+
* const sum = Int.add(asInt(12), asInt(8));
|
|
176
|
+
*
|
|
177
|
+
* assert(sum === 20);
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
182
180
|
* @param a - First integer
|
|
183
181
|
* @param b - Second integer
|
|
184
182
|
* @returns `a + b` as an Int
|
|
185
|
-
* @example
|
|
186
|
-
* ```typescript
|
|
187
|
-
* Int.add(asInt(5), asInt(3)); // Int (8)
|
|
188
|
-
* ```
|
|
189
183
|
*/
|
|
190
184
|
add,
|
|
191
185
|
/**
|
|
192
186
|
* Subtracts two integers.
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
*
|
|
190
|
+
* ```ts
|
|
191
|
+
* const difference = Int.sub(asInt(12), asInt(8));
|
|
192
|
+
*
|
|
193
|
+
* assert(difference === 4);
|
|
194
|
+
* ```
|
|
195
|
+
*
|
|
193
196
|
* @param a - First integer
|
|
194
197
|
* @param b - Second integer
|
|
195
198
|
* @returns `a - b` as an Int
|
|
196
|
-
* @example
|
|
197
|
-
* ```typescript
|
|
198
|
-
* Int.sub(asInt(8), asInt(3)); // Int (5)
|
|
199
|
-
* ```
|
|
200
199
|
*/
|
|
201
200
|
sub,
|
|
202
201
|
/**
|
|
203
202
|
* Multiplies two integers.
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
*
|
|
206
|
+
* ```ts
|
|
207
|
+
* const product = Int.mul(asInt(-4), asInt(6));
|
|
208
|
+
*
|
|
209
|
+
* assert(product === -24);
|
|
210
|
+
* ```
|
|
211
|
+
*
|
|
204
212
|
* @param a - First integer
|
|
205
213
|
* @param b - Second integer
|
|
206
214
|
* @returns `a * b` as an Int
|
|
207
|
-
* @example
|
|
208
|
-
* ```typescript
|
|
209
|
-
* Int.mul(asInt(4), asInt(3)); // Int (12)
|
|
210
|
-
* ```
|
|
211
215
|
*/
|
|
212
216
|
mul,
|
|
213
217
|
/**
|
|
214
218
|
* Divides two integers using floor division.
|
|
215
219
|
*
|
|
216
|
-
* Performs mathematical floor division: `⌊a / b⌋`.
|
|
217
|
-
*
|
|
220
|
+
* Performs mathematical floor division: `⌊a / b⌋`. The result is always an
|
|
221
|
+
* integer, rounding toward negative infinity.
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
*
|
|
225
|
+
* ```ts
|
|
226
|
+
* const dividend = asInt(17);
|
|
227
|
+
* const divisor = asInt(5);
|
|
228
|
+
* const quotient = Int.div(dividend, divisor);
|
|
229
|
+
*
|
|
230
|
+
* assert(quotient === 3);
|
|
231
|
+
* ```
|
|
218
232
|
*
|
|
219
233
|
* @param a - The dividend
|
|
220
234
|
* @param b - The divisor (must be non-zero)
|
|
221
235
|
* @returns The integer quotient as an Int
|
|
222
|
-
*
|
|
223
|
-
* @example
|
|
224
|
-
* ```typescript
|
|
225
|
-
* // Positive division
|
|
226
|
-
* Int.div(asInt(10), asInt(3)); // Int (3)
|
|
227
|
-
* Int.div(asInt(9), asInt(3)); // Int (3)
|
|
228
|
-
*
|
|
229
|
-
* // Negative division (rounds toward -∞)
|
|
230
|
-
* Int.div(asInt(-10), asInt(3)); // Int (-4)
|
|
231
|
-
* Int.div(asInt(10), asInt(-3)); // Int (-4)
|
|
232
|
-
* Int.div(asInt(-10), asInt(-3)); // Int (3)
|
|
233
|
-
* ```
|
|
234
236
|
*/
|
|
235
237
|
div,
|
|
236
238
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int.mjs","sources":["../../../src/number/branded-types/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,YAAY;AAEtC,MAAM,EACJ,GAAG,EACH,GAAG,
|
|
1
|
+
{"version":3,"file":"int.mjs","sources":["../../../src/number/branded-types/int.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,YAAY;AAEtC,MAAM,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,EACR,GAAG,EACH,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;;;;;;;;;;;;AAiBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;;;;;;;;;;AAmBG;AACI,MAAM,KAAK,GAAG;AAErB;;;;;;;;;;AAUG;AACI,MAAM,GAAG,GAAG;AACjB;;;;;;;;;;;;;;AAcG;IACH,EAAE;AAEF;;;;;;;;;;;;;;;;;;;AAmBG;IACH,GAAG;AAEH;;;;;;;;;;;;;AAaG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;AAaG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,MAAM;AAEN;;;;;;;;;;;;;;;;AAgBG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;AAcG;IACH,GAAG;AAEH;;;;;;;;;;;;;;;;;;;AAmBG;IACH,GAAG;;;;;"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
/**
|
|
3
|
-
* Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
|
|
3
|
+
* Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
|
|
4
|
+
* 2^15)).
|
|
5
|
+
*
|
|
4
6
|
* @param value The value to check.
|
|
5
7
|
* @returns `true` if the value is an Int16, `false` otherwise.
|
|
6
8
|
*/
|
|
7
9
|
export declare const isInt16: (a: number) => a is Int16;
|
|
8
10
|
/**
|
|
9
11
|
* Casts a number to an Int16 type.
|
|
12
|
+
*
|
|
10
13
|
* @param value The value to cast.
|
|
11
14
|
* @returns The value as an Int16 type.
|
|
12
15
|
* @throws {TypeError} If the value is not an integer in [-2^15, 2^15).
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const x = asInt16(1000); // Int16
|
|
16
|
-
* const y = asInt16(-5000); // Int16
|
|
17
|
-
* // asInt16(50000); // throws TypeError
|
|
18
|
-
* // asInt16(1.5); // throws TypeError
|
|
19
|
-
* ```
|
|
20
16
|
*/
|
|
21
17
|
export declare const asInt16: <N extends number>(x: N) => number & {
|
|
22
18
|
readonly NaNValue: false;
|
|
@@ -35,55 +31,43 @@ export declare const asInt16: <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 signed
|
|
39
|
-
*
|
|
40
|
-
* All operations automatically clamp results to the valid Int16 range [-32768, 32767].
|
|
41
|
-
* This ensures that all arithmetic maintains the 16-bit signed integer constraint.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ```typescript
|
|
45
|
-
* const a = asInt16(30000);
|
|
46
|
-
* const b = asInt16(5000);
|
|
47
|
-
*
|
|
48
|
-
* // Arithmetic operations with automatic clamping
|
|
49
|
-
* const sum = Int16.add(a, b); // Int16 (32767 - clamped to MAX_VALUE)
|
|
50
|
-
* const diff = Int16.sub(a, b); // Int16 (25000)
|
|
51
|
-
* const product = Int16.mul(a, b); // Int16 (32767 - clamped due to overflow)
|
|
52
|
-
*
|
|
53
|
-
* // Range operations
|
|
54
|
-
* const clamped = Int16.clamp(100000); // Int16 (32767)
|
|
55
|
-
* const minimum = Int16.min(a, b); // Int16 (5000)
|
|
56
|
-
* const maximum = Int16.max(a, b); // Int16 (30000)
|
|
34
|
+
* Namespace providing type-safe arithmetic operations for 16-bit signed
|
|
35
|
+
* integers.
|
|
57
36
|
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
37
|
+
* All operations automatically clamp results to the valid Int16 range [-32768,
|
|
38
|
+
* 32767]. This ensures that all arithmetic maintains the 16-bit signed integer
|
|
39
|
+
* constraint.
|
|
61
40
|
*/
|
|
62
41
|
export declare const Int16: {
|
|
63
42
|
/**
|
|
64
43
|
* Type guard to check if a value is an Int16.
|
|
44
|
+
*
|
|
65
45
|
* @param value The value to check.
|
|
66
46
|
* @returns `true` if the value is a 16-bit signed integer, `false` otherwise.
|
|
67
47
|
*/
|
|
68
48
|
readonly is: (a: number) => a is Int16;
|
|
69
49
|
/**
|
|
70
50
|
* The minimum value for a 16-bit signed integer.
|
|
51
|
+
*
|
|
71
52
|
* @readonly
|
|
72
53
|
*/
|
|
73
54
|
readonly MIN_VALUE: number;
|
|
74
55
|
/**
|
|
75
56
|
* The maximum value for a 16-bit signed integer.
|
|
57
|
+
*
|
|
76
58
|
* @readonly
|
|
77
59
|
*/
|
|
78
60
|
readonly MAX_VALUE: number;
|
|
79
61
|
/**
|
|
80
62
|
* Returns the absolute value of a 16-bit signed integer.
|
|
63
|
+
*
|
|
81
64
|
* @param a The Int16 value.
|
|
82
65
|
* @returns The absolute value as an Int16, clamped to valid range.
|
|
83
66
|
*/
|
|
84
67
|
readonly abs: (x: WithSmallInt<Int16, 40>) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<Int16>;
|
|
85
68
|
/**
|
|
86
69
|
* Returns the smaller of two Int16 values.
|
|
70
|
+
*
|
|
87
71
|
* @param a The first Int16.
|
|
88
72
|
* @param b The second Int16.
|
|
89
73
|
* @returns The minimum value as an Int16.
|
|
@@ -91,6 +75,7 @@ export declare const Int16: {
|
|
|
91
75
|
readonly min: (...values: readonly WithSmallInt<Int16, 40>[]) => Int16;
|
|
92
76
|
/**
|
|
93
77
|
* Returns the larger of two Int16 values.
|
|
78
|
+
*
|
|
94
79
|
* @param a The first Int16.
|
|
95
80
|
* @param b The second Int16.
|
|
96
81
|
* @returns The maximum value as an Int16.
|
|
@@ -98,17 +83,20 @@ export declare const Int16: {
|
|
|
98
83
|
readonly max: (...values: readonly WithSmallInt<Int16, 40>[]) => Int16;
|
|
99
84
|
/**
|
|
100
85
|
* Clamps a number to the Int16 range.
|
|
86
|
+
*
|
|
101
87
|
* @param value The number to clamp.
|
|
102
88
|
* @returns The value clamped to [-32768, 32767] as an Int16.
|
|
103
89
|
*/
|
|
104
90
|
readonly clamp: (x: number) => Int16;
|
|
105
91
|
/**
|
|
106
92
|
* Generates a random Int16 value within the valid range.
|
|
93
|
+
*
|
|
107
94
|
* @returns A random Int16 between MIN_VALUE and MAX_VALUE.
|
|
108
95
|
*/
|
|
109
96
|
readonly random: (min?: WithSmallInt<Int16, 40> | undefined, max?: WithSmallInt<Int16, 40> | undefined) => Int16;
|
|
110
97
|
/**
|
|
111
98
|
* Raises an Int16 to the power of another Int16.
|
|
99
|
+
*
|
|
112
100
|
* @param a The base Int16.
|
|
113
101
|
* @param b The exponent Int16.
|
|
114
102
|
* @returns `a ** b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -116,6 +104,7 @@ export declare const Int16: {
|
|
|
116
104
|
readonly pow: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
|
|
117
105
|
/**
|
|
118
106
|
* Adds two Int16 values.
|
|
107
|
+
*
|
|
119
108
|
* @param a The first Int16.
|
|
120
109
|
* @param b The second Int16.
|
|
121
110
|
* @returns `a + b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -123,6 +112,7 @@ export declare const Int16: {
|
|
|
123
112
|
readonly add: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
|
|
124
113
|
/**
|
|
125
114
|
* Subtracts one Int16 from another.
|
|
115
|
+
*
|
|
126
116
|
* @param a The minuend Int16.
|
|
127
117
|
* @param b The subtrahend Int16.
|
|
128
118
|
* @returns `a - b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -130,6 +120,7 @@ export declare const Int16: {
|
|
|
130
120
|
readonly sub: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
|
|
131
121
|
/**
|
|
132
122
|
* Multiplies two Int16 values.
|
|
123
|
+
*
|
|
133
124
|
* @param a The first Int16.
|
|
134
125
|
* @param b The second Int16.
|
|
135
126
|
* @returns `a * b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -137,6 +128,7 @@ export declare const Int16: {
|
|
|
137
128
|
readonly mul: (x: WithSmallInt<Int16, 40>, y: WithSmallInt<Int16, 40>) => Int16;
|
|
138
129
|
/**
|
|
139
130
|
* Divides one Int16 by another using floor division.
|
|
131
|
+
*
|
|
140
132
|
* @param a The dividend Int16.
|
|
141
133
|
* @param b The divisor Int16.
|
|
142
134
|
* @returns `⌊a / b⌋` clamped to [-32768, 32767] as an Int16.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAgCnE
|
|
1
|
+
{"version":3,"file":"int16.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/int16.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAgCnE;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,2BAAK,CAAC;AAE1B;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;MAAW,CAAC;AAEhC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK;IAChB;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -1,82 +1,66 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
|
|
3
3
|
const typeNameInMessage = 'an integer in [-2^15, 2^15)';
|
|
4
|
-
const { MIN_VALUE,
|
|
4
|
+
const { MAX_VALUE, MIN_VALUE, abs, add, castType, clamp, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
|
|
5
5
|
integerOrSafeInteger: 'SafeInteger',
|
|
6
6
|
MIN_VALUE: -32768,
|
|
7
7
|
MAX_VALUE: 2 ** 15 - 1,
|
|
8
8
|
typeNameInMessage,
|
|
9
9
|
});
|
|
10
10
|
/**
|
|
11
|
-
* Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
|
|
11
|
+
* Checks if a number is an Int16 (16-bit signed integer in the range [-2^15,
|
|
12
|
+
* 2^15)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is an Int16, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isInt16 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to an Int16 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as an Int16 type.
|
|
20
23
|
* @throws {TypeError} If the value is not an integer in [-2^15, 2^15).
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asInt16(1000); // Int16
|
|
24
|
-
* const y = asInt16(-5000); // Int16
|
|
25
|
-
* // asInt16(50000); // throws TypeError
|
|
26
|
-
* // asInt16(1.5); // throws TypeError
|
|
27
|
-
* ```
|
|
28
24
|
*/
|
|
29
25
|
const asInt16 = castType;
|
|
30
26
|
/**
|
|
31
|
-
* Namespace providing type-safe arithmetic operations for 16-bit signed
|
|
32
|
-
*
|
|
33
|
-
* All operations automatically clamp results to the valid Int16 range [-32768, 32767].
|
|
34
|
-
* This ensures that all arithmetic maintains the 16-bit signed integer constraint.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* const a = asInt16(30000);
|
|
39
|
-
* const b = asInt16(5000);
|
|
40
|
-
*
|
|
41
|
-
* // Arithmetic operations with automatic clamping
|
|
42
|
-
* const sum = Int16.add(a, b); // Int16 (32767 - clamped to MAX_VALUE)
|
|
43
|
-
* const diff = Int16.sub(a, b); // Int16 (25000)
|
|
44
|
-
* const product = Int16.mul(a, b); // Int16 (32767 - clamped due to overflow)
|
|
45
|
-
*
|
|
46
|
-
* // Range operations
|
|
47
|
-
* const clamped = Int16.clamp(100000); // Int16 (32767)
|
|
48
|
-
* const minimum = Int16.min(a, b); // Int16 (5000)
|
|
49
|
-
* const maximum = Int16.max(a, b); // Int16 (30000)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for 16-bit signed
|
|
28
|
+
* integers.
|
|
50
29
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the valid Int16 range [-32768,
|
|
31
|
+
* 32767]. This ensures that all arithmetic maintains the 16-bit signed integer
|
|
32
|
+
* constraint.
|
|
54
33
|
*/
|
|
55
34
|
const Int16 = {
|
|
56
35
|
/**
|
|
57
36
|
* Type guard to check if a value is an Int16.
|
|
37
|
+
*
|
|
58
38
|
* @param value The value to check.
|
|
59
39
|
* @returns `true` if the value is a 16-bit signed integer, `false` otherwise.
|
|
60
40
|
*/
|
|
61
41
|
is,
|
|
62
42
|
/**
|
|
63
43
|
* The minimum value for a 16-bit signed integer.
|
|
44
|
+
*
|
|
64
45
|
* @readonly
|
|
65
46
|
*/
|
|
66
47
|
MIN_VALUE,
|
|
67
48
|
/**
|
|
68
49
|
* The maximum value for a 16-bit signed integer.
|
|
50
|
+
*
|
|
69
51
|
* @readonly
|
|
70
52
|
*/
|
|
71
53
|
MAX_VALUE,
|
|
72
54
|
/**
|
|
73
55
|
* Returns the absolute value of a 16-bit signed integer.
|
|
56
|
+
*
|
|
74
57
|
* @param a The Int16 value.
|
|
75
58
|
* @returns The absolute value as an Int16, clamped to valid range.
|
|
76
59
|
*/
|
|
77
60
|
abs,
|
|
78
61
|
/**
|
|
79
62
|
* Returns the smaller of two Int16 values.
|
|
63
|
+
*
|
|
80
64
|
* @param a The first Int16.
|
|
81
65
|
* @param b The second Int16.
|
|
82
66
|
* @returns The minimum value as an Int16.
|
|
@@ -84,6 +68,7 @@ const Int16 = {
|
|
|
84
68
|
min: min_,
|
|
85
69
|
/**
|
|
86
70
|
* Returns the larger of two Int16 values.
|
|
71
|
+
*
|
|
87
72
|
* @param a The first Int16.
|
|
88
73
|
* @param b The second Int16.
|
|
89
74
|
* @returns The maximum value as an Int16.
|
|
@@ -91,17 +76,20 @@ const Int16 = {
|
|
|
91
76
|
max: max_,
|
|
92
77
|
/**
|
|
93
78
|
* Clamps a number to the Int16 range.
|
|
79
|
+
*
|
|
94
80
|
* @param value The number to clamp.
|
|
95
81
|
* @returns The value clamped to [-32768, 32767] as an Int16.
|
|
96
82
|
*/
|
|
97
83
|
clamp,
|
|
98
84
|
/**
|
|
99
85
|
* Generates a random Int16 value within the valid range.
|
|
86
|
+
*
|
|
100
87
|
* @returns A random Int16 between MIN_VALUE and MAX_VALUE.
|
|
101
88
|
*/
|
|
102
89
|
random,
|
|
103
90
|
/**
|
|
104
91
|
* Raises an Int16 to the power of another Int16.
|
|
92
|
+
*
|
|
105
93
|
* @param a The base Int16.
|
|
106
94
|
* @param b The exponent Int16.
|
|
107
95
|
* @returns `a ** b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -109,6 +97,7 @@ const Int16 = {
|
|
|
109
97
|
pow,
|
|
110
98
|
/**
|
|
111
99
|
* Adds two Int16 values.
|
|
100
|
+
*
|
|
112
101
|
* @param a The first Int16.
|
|
113
102
|
* @param b The second Int16.
|
|
114
103
|
* @returns `a + b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -116,6 +105,7 @@ const Int16 = {
|
|
|
116
105
|
add,
|
|
117
106
|
/**
|
|
118
107
|
* Subtracts one Int16 from another.
|
|
108
|
+
*
|
|
119
109
|
* @param a The minuend Int16.
|
|
120
110
|
* @param b The subtrahend Int16.
|
|
121
111
|
* @returns `a - b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -123,6 +113,7 @@ const Int16 = {
|
|
|
123
113
|
sub,
|
|
124
114
|
/**
|
|
125
115
|
* Multiplies two Int16 values.
|
|
116
|
+
*
|
|
126
117
|
* @param a The first Int16.
|
|
127
118
|
* @param b The second Int16.
|
|
128
119
|
* @returns `a * b` clamped to [-32768, 32767] as an Int16.
|
|
@@ -130,6 +121,7 @@ const Int16 = {
|
|
|
130
121
|
mul,
|
|
131
122
|
/**
|
|
132
123
|
* Divides one Int16 by another using floor division.
|
|
124
|
+
*
|
|
133
125
|
* @param a The dividend Int16.
|
|
134
126
|
* @param b The divisor Int16.
|
|
135
127
|
* @returns `⌊a / b⌋` clamped to [-32768, 32767] as an Int16.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,6BAA6B;AAEvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,
|
|
1
|
+
{"version":3,"file":"int16.mjs","sources":["../../../src/number/branded-types/int16.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,6BAA6B;AAEvD,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,EACH,GAAG,EACH,QAAQ,EACR,KAAK,EACL,GAAG,EACH,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,MAAM,EACN,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,mBAAmB,CAI7D;AACA,IAAA,oBAAoB,EAAE,aAAa;AACnC,IAAA,SAAS,EAAE,MAAU;AACrB,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;AAMG;AACI,MAAM,OAAO,GAAG;AAEvB;;;;;;;AAOG;AACI,MAAM,KAAK,GAAG;AACnB;;;;;AAKG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;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;;;;;"}
|