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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int32.mts"],"names":[],"mappings":"AAgCA
|
|
1
|
+
{"version":3,"file":"non-negative-int32.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-negative-int32.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;;;;;;;OAOG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;;;;;;;;;CAEK,CAAC"}
|
|
@@ -1,79 +1,61 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
|
|
3
3
|
const typeNameInMessage = 'a non-negative integer in [0, 2^31)';
|
|
4
|
-
const { MIN_VALUE,
|
|
4
|
+
const { MAX_VALUE, MIN_VALUE, add, castType, clamp, div, is, max: max_, min: min_, mul, pow, random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForInteger({
|
|
5
5
|
integerOrSafeInteger: 'SafeInteger',
|
|
6
6
|
MIN_VALUE: 0,
|
|
7
7
|
MAX_VALUE: 2 ** 31 - 1,
|
|
8
8
|
typeNameInMessage,
|
|
9
9
|
});
|
|
10
10
|
/**
|
|
11
|
-
* Checks if a number is a NonNegativeInt32 (32-bit non-negative signed integer
|
|
11
|
+
* Checks if a number is a NonNegativeInt32 (32-bit non-negative signed integer
|
|
12
|
+
* in the range [0, 2^31)).
|
|
13
|
+
*
|
|
12
14
|
* @param value The value to check.
|
|
13
15
|
* @returns `true` if the value is a NonNegativeInt32, `false` otherwise.
|
|
14
16
|
*/
|
|
15
17
|
const isNonNegativeInt32 = is;
|
|
16
18
|
/**
|
|
17
19
|
* Casts a number to a NonNegativeInt32 type.
|
|
20
|
+
*
|
|
18
21
|
* @param value The value to cast.
|
|
19
22
|
* @returns The value as a NonNegativeInt32 type.
|
|
20
23
|
* @throws {TypeError} If the value is not a non-negative integer in [0, 2^31).
|
|
21
|
-
* @example
|
|
22
|
-
* ```typescript
|
|
23
|
-
* const x = asNonNegativeInt32(1000); // NonNegativeInt32
|
|
24
|
-
* const y = asNonNegativeInt32(0); // NonNegativeInt32
|
|
25
|
-
* // asNonNegativeInt32(-1); // throws TypeError
|
|
26
|
-
* // asNonNegativeInt32(2147483648); // throws TypeError
|
|
27
|
-
* ```
|
|
28
24
|
*/
|
|
29
25
|
const asNonNegativeInt32 = castType;
|
|
30
26
|
/**
|
|
31
|
-
* Namespace providing type-safe arithmetic operations for 32-bit non-negative
|
|
32
|
-
*
|
|
33
|
-
* All operations automatically clamp results to the valid NonNegativeInt32 range [0, 2147483647].
|
|
34
|
-
* This ensures that all arithmetic maintains the 32-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 = asNonNegativeInt32(2000000000);
|
|
40
|
-
* const b = asNonNegativeInt32(500000000);
|
|
41
|
-
*
|
|
42
|
-
* // Arithmetic operations with automatic clamping
|
|
43
|
-
* const sum = NonNegativeInt32.add(a, b); // NonNegativeInt32 (2147483647 - clamped to MAX_VALUE)
|
|
44
|
-
* const diff = NonNegativeInt32.sub(a, b); // NonNegativeInt32 (1500000000)
|
|
45
|
-
* const reverseDiff = NonNegativeInt32.sub(b, a); // NonNegativeInt32 (0 - clamped to MIN_VALUE)
|
|
46
|
-
* const product = NonNegativeInt32.mul(a, b); // NonNegativeInt32 (2147483647 - clamped due to overflow)
|
|
47
|
-
*
|
|
48
|
-
* // Range operations
|
|
49
|
-
* const clamped = NonNegativeInt32.clamp(-1000); // NonNegativeInt32 (0)
|
|
50
|
-
* const minimum = NonNegativeInt32.min(a, b); // NonNegativeInt32 (500000000)
|
|
51
|
-
* const maximum = NonNegativeInt32.max(a, b); // NonNegativeInt32 (2000000000)
|
|
27
|
+
* Namespace providing type-safe arithmetic operations for 32-bit non-negative
|
|
28
|
+
* integers.
|
|
52
29
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
30
|
+
* All operations automatically clamp results to the valid NonNegativeInt32
|
|
31
|
+
* range [0, 2147483647]. This ensures that all arithmetic maintains the 32-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 NonNegativeInt32 = {
|
|
59
36
|
/**
|
|
60
37
|
* Type guard to check if a value is a NonNegativeInt32.
|
|
38
|
+
*
|
|
61
39
|
* @param value The value to check.
|
|
62
|
-
* @returns `true` if the value is a 32-bit non-negative integer, `false`
|
|
40
|
+
* @returns `true` if the value is a 32-bit non-negative integer, `false`
|
|
41
|
+
* otherwise.
|
|
63
42
|
*/
|
|
64
43
|
is,
|
|
65
44
|
/**
|
|
66
45
|
* The minimum value for a 32-bit non-negative integer.
|
|
46
|
+
*
|
|
67
47
|
* @readonly
|
|
68
48
|
*/
|
|
69
49
|
MIN_VALUE,
|
|
70
50
|
/**
|
|
71
51
|
* The maximum value for a 32-bit non-negative integer.
|
|
52
|
+
*
|
|
72
53
|
* @readonly
|
|
73
54
|
*/
|
|
74
55
|
MAX_VALUE,
|
|
75
56
|
/**
|
|
76
57
|
* Returns the smaller of two NonNegativeInt32 values.
|
|
58
|
+
*
|
|
77
59
|
* @param a The first NonNegativeInt32.
|
|
78
60
|
* @param b The second NonNegativeInt32.
|
|
79
61
|
* @returns The minimum value as a NonNegativeInt32.
|
|
@@ -81,6 +63,7 @@ const NonNegativeInt32 = {
|
|
|
81
63
|
min: min_,
|
|
82
64
|
/**
|
|
83
65
|
* Returns the larger of two NonNegativeInt32 values.
|
|
66
|
+
*
|
|
84
67
|
* @param a The first NonNegativeInt32.
|
|
85
68
|
* @param b The second NonNegativeInt32.
|
|
86
69
|
* @returns The maximum value as a NonNegativeInt32.
|
|
@@ -88,17 +71,20 @@ const NonNegativeInt32 = {
|
|
|
88
71
|
max: max_,
|
|
89
72
|
/**
|
|
90
73
|
* Clamps a number to the NonNegativeInt32 range.
|
|
74
|
+
*
|
|
91
75
|
* @param value The number to clamp.
|
|
92
76
|
* @returns The value clamped to [0, 2147483647] as a NonNegativeInt32.
|
|
93
77
|
*/
|
|
94
78
|
clamp,
|
|
95
79
|
/**
|
|
96
80
|
* Generates a random NonNegativeInt32 value within the valid range.
|
|
81
|
+
*
|
|
97
82
|
* @returns A random NonNegativeInt32 between 0 and 2147483647.
|
|
98
83
|
*/
|
|
99
84
|
random,
|
|
100
85
|
/**
|
|
101
86
|
* Raises a NonNegativeInt32 to the power of another NonNegativeInt32.
|
|
87
|
+
*
|
|
102
88
|
* @param a The base NonNegativeInt32.
|
|
103
89
|
* @param b The exponent NonNegativeInt32.
|
|
104
90
|
* @returns `a ** b` clamped to [0, 2147483647] as a NonNegativeInt32.
|
|
@@ -106,6 +92,7 @@ const NonNegativeInt32 = {
|
|
|
106
92
|
pow,
|
|
107
93
|
/**
|
|
108
94
|
* Adds two NonNegativeInt32 values.
|
|
95
|
+
*
|
|
109
96
|
* @param a The first NonNegativeInt32.
|
|
110
97
|
* @param b The second NonNegativeInt32.
|
|
111
98
|
* @returns `a + b` clamped to [0, 2147483647] as a NonNegativeInt32.
|
|
@@ -113,13 +100,16 @@ const NonNegativeInt32 = {
|
|
|
113
100
|
add,
|
|
114
101
|
/**
|
|
115
102
|
* Subtracts one NonNegativeInt32 from another.
|
|
103
|
+
*
|
|
116
104
|
* @param a The minuend NonNegativeInt32.
|
|
117
105
|
* @param b The subtrahend NonNegativeInt32.
|
|
118
|
-
* @returns `a - b` clamped to [0, 2147483647] as a NonNegativeInt32 (minimum
|
|
106
|
+
* @returns `a - b` clamped to [0, 2147483647] as a NonNegativeInt32 (minimum
|
|
107
|
+
* 0).
|
|
119
108
|
*/
|
|
120
109
|
sub,
|
|
121
110
|
/**
|
|
122
111
|
* Multiplies two NonNegativeInt32 values.
|
|
112
|
+
*
|
|
123
113
|
* @param a The first NonNegativeInt32.
|
|
124
114
|
* @param b The second NonNegativeInt32.
|
|
125
115
|
* @returns `a * b` clamped to [0, 2147483647] as a NonNegativeInt32.
|
|
@@ -127,6 +117,7 @@ const NonNegativeInt32 = {
|
|
|
127
117
|
mul,
|
|
128
118
|
/**
|
|
129
119
|
* Divides one NonNegativeInt32 by another using floor division.
|
|
120
|
+
*
|
|
130
121
|
* @param a The dividend NonNegativeInt32.
|
|
131
122
|
* @param b The divisor NonNegativeInt32.
|
|
132
123
|
* @returns `⌊a / b⌋` clamped to [0, 2147483647] as a NonNegativeInt32.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-negative-int32.mjs","sources":["../../../src/number/branded-types/non-negative-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,GAAG,
|
|
1
|
+
{"version":3,"file":"non-negative-int32.mjs","sources":["../../../src/number/branded-types/non-negative-int32.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,qCAAqC;AAE/D,MAAM,EACJ,SAAS,EACT,SAAS,EACT,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,CAAC;AACZ,IAAA,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;IACtB,iBAAiB;AACT,CAAA,CAAC;AAEX;;;;;;AAMG;AACI,MAAM,kBAAkB,GAAG;AAElC;;;;;;AAMG;AACI,MAAM,kBAAkB,GAAG;AAElC;;;;;;;;AAQG;AACI,MAAM,gBAAgB,GAAG;AAC9B;;;;;;AAMG;IACH,EAAE;AAEF;;;;AAIG;IACH,SAAS;AAET;;;;AAIG;IACH,SAAS;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;;AAOG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
|
|
@@ -2,22 +2,17 @@ import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
|
2
2
|
type ElementType = NonZeroFiniteNumber;
|
|
3
3
|
/**
|
|
4
4
|
* Checks if a number is a NonZeroFiniteNumber (a finite number that is not 0).
|
|
5
|
+
*
|
|
5
6
|
* @param value The value to check.
|
|
6
7
|
* @returns `true` if the value is a NonZeroFiniteNumber, `false` otherwise.
|
|
7
8
|
*/
|
|
8
9
|
export declare const isNonZeroFiniteNumber: (a: number) => a is NonZeroFiniteNumber;
|
|
9
10
|
/**
|
|
10
11
|
* Casts a number to a NonZeroFiniteNumber type.
|
|
12
|
+
*
|
|
11
13
|
* @param value The value to cast.
|
|
12
14
|
* @returns The value as a NonZeroFiniteNumber type.
|
|
13
15
|
* @throws {TypeError} If the value is not a non-zero finite number.
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* const x = asNonZeroFiniteNumber(5.5); // NonZeroFiniteNumber
|
|
17
|
-
* const y = asNonZeroFiniteNumber(-3.2); // NonZeroFiniteNumber
|
|
18
|
-
* // asNonZeroFiniteNumber(0); // throws TypeError
|
|
19
|
-
* // asNonZeroFiniteNumber(Infinity); // throws TypeError
|
|
20
|
-
* ```
|
|
21
16
|
*/
|
|
22
17
|
export declare const asNonZeroFiniteNumber: <N extends number>(x: N) => number & {
|
|
23
18
|
readonly NaNValue: false;
|
|
@@ -27,52 +22,32 @@ export declare const asNonZeroFiniteNumber: <N extends number>(x: N) => number &
|
|
|
27
22
|
'TSTypeForgeInternals--edd2f9ce-7ca5-45b0-9d1a-bd61b9b5d9c3': unknown;
|
|
28
23
|
}> & N;
|
|
29
24
|
/**
|
|
30
|
-
* Namespace providing type-safe arithmetic operations for non-zero finite
|
|
31
|
-
*
|
|
32
|
-
* All operations maintain the non-zero constraint while ensuring results remain finite
|
|
33
|
-
* (excluding NaN and Infinity). This type is useful for values that must never be zero,
|
|
34
|
-
* such as denominators, scaling factors, and ratios.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* const factor = asNonZeroFiniteNumber(2.5);
|
|
39
|
-
* const multiplier = asNonZeroFiniteNumber(-1.5);
|
|
40
|
-
*
|
|
41
|
-
* // Arithmetic operations that preserve non-zero constraint
|
|
42
|
-
* const result = NonZeroFiniteNumber.add(factor, multiplier); // NonZeroFiniteNumber (1.0)
|
|
43
|
-
* const difference = NonZeroFiniteNumber.sub(factor, multiplier); // NonZeroFiniteNumber (4.0)
|
|
44
|
-
* const product = NonZeroFiniteNumber.mul(factor, multiplier); // NonZeroFiniteNumber (-3.75)
|
|
45
|
-
* const quotient = NonZeroFiniteNumber.div(factor, multiplier); // NonZeroFiniteNumber (-1.666...)
|
|
46
|
-
*
|
|
47
|
-
* // Utility operations
|
|
48
|
-
* const absolute = NonZeroFiniteNumber.abs(multiplier); // NonZeroFiniteNumber (1.5)
|
|
49
|
-
* const minimum = NonZeroFiniteNumber.min(factor, multiplier); // NonZeroFiniteNumber (-1.5)
|
|
50
|
-
* const maximum = NonZeroFiniteNumber.max(factor, multiplier); // NonZeroFiniteNumber (2.5)
|
|
51
|
-
*
|
|
52
|
-
* // Rounding operations (return NonZeroInt)
|
|
53
|
-
* const rounded = NonZeroFiniteNumber.round(factor); // NonZeroInt (3)
|
|
54
|
-
* const floored = NonZeroFiniteNumber.floor(factor); // NonZeroInt (2)
|
|
55
|
-
* const ceiled = NonZeroFiniteNumber.ceil(factor); // NonZeroInt (3)
|
|
25
|
+
* Namespace providing type-safe arithmetic operations for non-zero finite
|
|
26
|
+
* numbers.
|
|
56
27
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
28
|
+
* All operations maintain the non-zero constraint while ensuring results remain
|
|
29
|
+
* finite (excluding NaN and Infinity). This type is useful for values that must
|
|
30
|
+
* never be zero, such as denominators, scaling factors, and ratios.
|
|
60
31
|
*/
|
|
61
32
|
export declare const NonZeroFiniteNumber: {
|
|
62
33
|
/**
|
|
63
34
|
* Type guard to check if a value is a NonZeroFiniteNumber.
|
|
35
|
+
*
|
|
64
36
|
* @param value The value to check.
|
|
65
|
-
* @returns `true` if the value is a non-zero finite number, `false`
|
|
37
|
+
* @returns `true` if the value is a non-zero finite number, `false`
|
|
38
|
+
* otherwise.
|
|
66
39
|
*/
|
|
67
40
|
readonly is: (a: number) => a is NonZeroFiniteNumber;
|
|
68
41
|
/**
|
|
69
42
|
* Returns the absolute value of a non-zero finite number.
|
|
43
|
+
*
|
|
70
44
|
* @param a The NonZeroFiniteNumber.
|
|
71
45
|
* @returns The absolute value as a NonZeroFiniteNumber.
|
|
72
46
|
*/
|
|
73
47
|
readonly abs: (x: NonZeroFiniteNumber) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<NonZeroFiniteNumber>;
|
|
74
48
|
/**
|
|
75
49
|
* Returns the smaller of two NonZeroFiniteNumber values.
|
|
50
|
+
*
|
|
76
51
|
* @param a The first NonZeroFiniteNumber.
|
|
77
52
|
* @param b The second NonZeroFiniteNumber.
|
|
78
53
|
* @returns The minimum value as a NonZeroFiniteNumber.
|
|
@@ -80,6 +55,7 @@ export declare const NonZeroFiniteNumber: {
|
|
|
80
55
|
readonly min: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber;
|
|
81
56
|
/**
|
|
82
57
|
* Returns the larger of two NonZeroFiniteNumber values.
|
|
58
|
+
*
|
|
83
59
|
* @param a The first NonZeroFiniteNumber.
|
|
84
60
|
* @param b The second NonZeroFiniteNumber.
|
|
85
61
|
* @returns The maximum value as a NonZeroFiniteNumber.
|
|
@@ -87,29 +63,34 @@ export declare const NonZeroFiniteNumber: {
|
|
|
87
63
|
readonly max: (...values: readonly NonZeroFiniteNumber[]) => NonZeroFiniteNumber;
|
|
88
64
|
/**
|
|
89
65
|
* Rounds down a NonZeroFiniteNumber to the nearest integer.
|
|
66
|
+
*
|
|
90
67
|
* @param x The NonZeroFiniteNumber to round down.
|
|
91
68
|
* @returns The floor value as a NonZeroInt.
|
|
92
69
|
*/
|
|
93
70
|
readonly floor: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
94
71
|
/**
|
|
95
72
|
* Rounds up a NonZeroFiniteNumber to the nearest integer.
|
|
73
|
+
*
|
|
96
74
|
* @param x The NonZeroFiniteNumber to round up.
|
|
97
75
|
* @returns The ceiling value as a NonZeroInt.
|
|
98
76
|
*/
|
|
99
77
|
readonly ceil: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
100
78
|
/**
|
|
101
79
|
* Rounds a NonZeroFiniteNumber to the nearest integer.
|
|
80
|
+
*
|
|
102
81
|
* @param x The NonZeroFiniteNumber to round.
|
|
103
82
|
* @returns The rounded value as a NonZeroInt.
|
|
104
83
|
*/
|
|
105
84
|
readonly round: (x: ElementType) => TsDataForgeInternals.RefinedNumberUtils.ToInt<ElementType>;
|
|
106
85
|
/**
|
|
107
86
|
* Generates a random NonZeroFiniteNumber value.
|
|
87
|
+
*
|
|
108
88
|
* @returns A random non-zero finite number.
|
|
109
89
|
*/
|
|
110
90
|
readonly random: (min?: NonZeroFiniteNumber | undefined, max?: NonZeroFiniteNumber | undefined) => NonZeroFiniteNumber;
|
|
111
91
|
/**
|
|
112
92
|
* Raises a NonZeroFiniteNumber to the power of another NonZeroFiniteNumber.
|
|
93
|
+
*
|
|
113
94
|
* @param a The base NonZeroFiniteNumber.
|
|
114
95
|
* @param b The exponent NonZeroFiniteNumber.
|
|
115
96
|
* @returns `a ** b` as a NonZeroFiniteNumber.
|
|
@@ -117,6 +98,7 @@ export declare const NonZeroFiniteNumber: {
|
|
|
117
98
|
readonly pow: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber;
|
|
118
99
|
/**
|
|
119
100
|
* Adds two NonZeroFiniteNumber values.
|
|
101
|
+
*
|
|
120
102
|
* @param a The first NonZeroFiniteNumber.
|
|
121
103
|
* @param b The second NonZeroFiniteNumber.
|
|
122
104
|
* @returns `a + b` as a NonZeroFiniteNumber.
|
|
@@ -124,6 +106,7 @@ export declare const NonZeroFiniteNumber: {
|
|
|
124
106
|
readonly add: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber;
|
|
125
107
|
/**
|
|
126
108
|
* Subtracts one NonZeroFiniteNumber from another.
|
|
109
|
+
*
|
|
127
110
|
* @param a The minuend NonZeroFiniteNumber.
|
|
128
111
|
* @param b The subtrahend NonZeroFiniteNumber.
|
|
129
112
|
* @returns `a - b` as a NonZeroFiniteNumber.
|
|
@@ -131,6 +114,7 @@ export declare const NonZeroFiniteNumber: {
|
|
|
131
114
|
readonly sub: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber;
|
|
132
115
|
/**
|
|
133
116
|
* Multiplies two NonZeroFiniteNumber values.
|
|
117
|
+
*
|
|
134
118
|
* @param a The first NonZeroFiniteNumber.
|
|
135
119
|
* @param b The second NonZeroFiniteNumber.
|
|
136
120
|
* @returns `a * b` as a NonZeroFiniteNumber.
|
|
@@ -138,6 +122,7 @@ export declare const NonZeroFiniteNumber: {
|
|
|
138
122
|
readonly mul: (x: NonZeroFiniteNumber, y: NonZeroFiniteNumber) => NonZeroFiniteNumber;
|
|
139
123
|
/**
|
|
140
124
|
* Divides one NonZeroFiniteNumber by another.
|
|
125
|
+
*
|
|
141
126
|
* @param a The dividend NonZeroFiniteNumber.
|
|
142
127
|
* @param b The divisor NonZeroFiniteNumber.
|
|
143
128
|
* @returns `a / b` as a NonZeroFiniteNumber.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,mBAAmB,CAAC;AA2DvC
|
|
1
|
+
{"version":3,"file":"non-zero-finite-number.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,KAAK,WAAW,GAAG,mBAAmB,CAAC;AA2DvC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,yCAAK,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;MAAW,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;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;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;CAEK,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
|
|
3
3
|
const typeNameInMessage = 'a non-zero finite number';
|
|
4
|
-
const { abs,
|
|
4
|
+
const { abs, add, castType, div, is, max: max_, min: min_, mul, pow, randomNonZero: random, sub, } = TsDataForgeInternals.RefinedNumberUtils.operatorsForFloat({
|
|
5
5
|
nonZero: true,
|
|
6
6
|
MIN_VALUE: -Number.MAX_VALUE,
|
|
7
7
|
MAX_VALUE: Number.MAX_VALUE,
|
|
@@ -9,81 +9,56 @@ const { abs, min: min_, max: max_, pow, add, sub, mul, div, randomNonZero: rando
|
|
|
9
9
|
});
|
|
10
10
|
// Not provided because reasonable rounding operations that avoid becoming 0 cannot be defined
|
|
11
11
|
const floor = (x) =>
|
|
12
|
-
// eslint-disable-next-line
|
|
12
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
13
13
|
Math.floor(x);
|
|
14
14
|
const ceil = (x) =>
|
|
15
|
-
// eslint-disable-next-line
|
|
15
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
16
16
|
Math.ceil(x);
|
|
17
17
|
const round = (x) =>
|
|
18
|
-
// eslint-disable-next-line
|
|
18
|
+
// eslint-disable-next-line total-functions/no-unsafe-type-assertion
|
|
19
19
|
Math.round(x);
|
|
20
20
|
/**
|
|
21
21
|
* Checks if a number is a NonZeroFiniteNumber (a finite number that is not 0).
|
|
22
|
+
*
|
|
22
23
|
* @param value The value to check.
|
|
23
24
|
* @returns `true` if the value is a NonZeroFiniteNumber, `false` otherwise.
|
|
24
25
|
*/
|
|
25
26
|
const isNonZeroFiniteNumber = is;
|
|
26
27
|
/**
|
|
27
28
|
* Casts a number to a NonZeroFiniteNumber type.
|
|
29
|
+
*
|
|
28
30
|
* @param value The value to cast.
|
|
29
31
|
* @returns The value as a NonZeroFiniteNumber type.
|
|
30
32
|
* @throws {TypeError} If the value is not a non-zero finite number.
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* const x = asNonZeroFiniteNumber(5.5); // NonZeroFiniteNumber
|
|
34
|
-
* const y = asNonZeroFiniteNumber(-3.2); // NonZeroFiniteNumber
|
|
35
|
-
* // asNonZeroFiniteNumber(0); // throws TypeError
|
|
36
|
-
* // asNonZeroFiniteNumber(Infinity); // throws TypeError
|
|
37
|
-
* ```
|
|
38
33
|
*/
|
|
39
34
|
const asNonZeroFiniteNumber = castType;
|
|
40
35
|
/**
|
|
41
|
-
* Namespace providing type-safe arithmetic operations for non-zero finite
|
|
42
|
-
*
|
|
43
|
-
* All operations maintain the non-zero constraint while ensuring results remain finite
|
|
44
|
-
* (excluding NaN and Infinity). This type is useful for values that must never be zero,
|
|
45
|
-
* such as denominators, scaling factors, and ratios.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* ```typescript
|
|
49
|
-
* const factor = asNonZeroFiniteNumber(2.5);
|
|
50
|
-
* const multiplier = asNonZeroFiniteNumber(-1.5);
|
|
51
|
-
*
|
|
52
|
-
* // Arithmetic operations that preserve non-zero constraint
|
|
53
|
-
* const result = NonZeroFiniteNumber.add(factor, multiplier); // NonZeroFiniteNumber (1.0)
|
|
54
|
-
* const difference = NonZeroFiniteNumber.sub(factor, multiplier); // NonZeroFiniteNumber (4.0)
|
|
55
|
-
* const product = NonZeroFiniteNumber.mul(factor, multiplier); // NonZeroFiniteNumber (-3.75)
|
|
56
|
-
* const quotient = NonZeroFiniteNumber.div(factor, multiplier); // NonZeroFiniteNumber (-1.666...)
|
|
57
|
-
*
|
|
58
|
-
* // Utility operations
|
|
59
|
-
* const absolute = NonZeroFiniteNumber.abs(multiplier); // NonZeroFiniteNumber (1.5)
|
|
60
|
-
* const minimum = NonZeroFiniteNumber.min(factor, multiplier); // NonZeroFiniteNumber (-1.5)
|
|
61
|
-
* const maximum = NonZeroFiniteNumber.max(factor, multiplier); // NonZeroFiniteNumber (2.5)
|
|
62
|
-
*
|
|
63
|
-
* // Rounding operations (return NonZeroInt)
|
|
64
|
-
* const rounded = NonZeroFiniteNumber.round(factor); // NonZeroInt (3)
|
|
65
|
-
* const floored = NonZeroFiniteNumber.floor(factor); // NonZeroInt (2)
|
|
66
|
-
* const ceiled = NonZeroFiniteNumber.ceil(factor); // NonZeroInt (3)
|
|
36
|
+
* Namespace providing type-safe arithmetic operations for non-zero finite
|
|
37
|
+
* numbers.
|
|
67
38
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
39
|
+
* All operations maintain the non-zero constraint while ensuring results remain
|
|
40
|
+
* finite (excluding NaN and Infinity). This type is useful for values that must
|
|
41
|
+
* never be zero, such as denominators, scaling factors, and ratios.
|
|
71
42
|
*/
|
|
72
43
|
const NonZeroFiniteNumber = {
|
|
73
44
|
/**
|
|
74
45
|
* Type guard to check if a value is a NonZeroFiniteNumber.
|
|
46
|
+
*
|
|
75
47
|
* @param value The value to check.
|
|
76
|
-
* @returns `true` if the value is a non-zero finite number, `false`
|
|
48
|
+
* @returns `true` if the value is a non-zero finite number, `false`
|
|
49
|
+
* otherwise.
|
|
77
50
|
*/
|
|
78
51
|
is,
|
|
79
52
|
/**
|
|
80
53
|
* Returns the absolute value of a non-zero finite number.
|
|
54
|
+
*
|
|
81
55
|
* @param a The NonZeroFiniteNumber.
|
|
82
56
|
* @returns The absolute value as a NonZeroFiniteNumber.
|
|
83
57
|
*/
|
|
84
58
|
abs,
|
|
85
59
|
/**
|
|
86
60
|
* Returns the smaller of two NonZeroFiniteNumber values.
|
|
61
|
+
*
|
|
87
62
|
* @param a The first NonZeroFiniteNumber.
|
|
88
63
|
* @param b The second NonZeroFiniteNumber.
|
|
89
64
|
* @returns The minimum value as a NonZeroFiniteNumber.
|
|
@@ -91,6 +66,7 @@ const NonZeroFiniteNumber = {
|
|
|
91
66
|
min: min_,
|
|
92
67
|
/**
|
|
93
68
|
* Returns the larger of two NonZeroFiniteNumber values.
|
|
69
|
+
*
|
|
94
70
|
* @param a The first NonZeroFiniteNumber.
|
|
95
71
|
* @param b The second NonZeroFiniteNumber.
|
|
96
72
|
* @returns The maximum value as a NonZeroFiniteNumber.
|
|
@@ -98,29 +74,34 @@ const NonZeroFiniteNumber = {
|
|
|
98
74
|
max: max_,
|
|
99
75
|
/**
|
|
100
76
|
* Rounds down a NonZeroFiniteNumber to the nearest integer.
|
|
77
|
+
*
|
|
101
78
|
* @param x The NonZeroFiniteNumber to round down.
|
|
102
79
|
* @returns The floor value as a NonZeroInt.
|
|
103
80
|
*/
|
|
104
81
|
floor,
|
|
105
82
|
/**
|
|
106
83
|
* Rounds up a NonZeroFiniteNumber to the nearest integer.
|
|
84
|
+
*
|
|
107
85
|
* @param x The NonZeroFiniteNumber to round up.
|
|
108
86
|
* @returns The ceiling value as a NonZeroInt.
|
|
109
87
|
*/
|
|
110
88
|
ceil,
|
|
111
89
|
/**
|
|
112
90
|
* Rounds a NonZeroFiniteNumber to the nearest integer.
|
|
91
|
+
*
|
|
113
92
|
* @param x The NonZeroFiniteNumber to round.
|
|
114
93
|
* @returns The rounded value as a NonZeroInt.
|
|
115
94
|
*/
|
|
116
95
|
round,
|
|
117
96
|
/**
|
|
118
97
|
* Generates a random NonZeroFiniteNumber value.
|
|
98
|
+
*
|
|
119
99
|
* @returns A random non-zero finite number.
|
|
120
100
|
*/
|
|
121
101
|
random,
|
|
122
102
|
/**
|
|
123
103
|
* Raises a NonZeroFiniteNumber to the power of another NonZeroFiniteNumber.
|
|
104
|
+
*
|
|
124
105
|
* @param a The base NonZeroFiniteNumber.
|
|
125
106
|
* @param b The exponent NonZeroFiniteNumber.
|
|
126
107
|
* @returns `a ** b` as a NonZeroFiniteNumber.
|
|
@@ -128,6 +109,7 @@ const NonZeroFiniteNumber = {
|
|
|
128
109
|
pow,
|
|
129
110
|
/**
|
|
130
111
|
* Adds two NonZeroFiniteNumber values.
|
|
112
|
+
*
|
|
131
113
|
* @param a The first NonZeroFiniteNumber.
|
|
132
114
|
* @param b The second NonZeroFiniteNumber.
|
|
133
115
|
* @returns `a + b` as a NonZeroFiniteNumber.
|
|
@@ -135,6 +117,7 @@ const NonZeroFiniteNumber = {
|
|
|
135
117
|
add,
|
|
136
118
|
/**
|
|
137
119
|
* Subtracts one NonZeroFiniteNumber from another.
|
|
120
|
+
*
|
|
138
121
|
* @param a The minuend NonZeroFiniteNumber.
|
|
139
122
|
* @param b The subtrahend NonZeroFiniteNumber.
|
|
140
123
|
* @returns `a - b` as a NonZeroFiniteNumber.
|
|
@@ -142,6 +125,7 @@ const NonZeroFiniteNumber = {
|
|
|
142
125
|
sub,
|
|
143
126
|
/**
|
|
144
127
|
* Multiplies two NonZeroFiniteNumber values.
|
|
128
|
+
*
|
|
145
129
|
* @param a The first NonZeroFiniteNumber.
|
|
146
130
|
* @param b The second NonZeroFiniteNumber.
|
|
147
131
|
* @returns `a * b` as a NonZeroFiniteNumber.
|
|
@@ -149,6 +133,7 @@ const NonZeroFiniteNumber = {
|
|
|
149
133
|
mul,
|
|
150
134
|
/**
|
|
151
135
|
* Divides one NonZeroFiniteNumber by another.
|
|
136
|
+
*
|
|
152
137
|
* @param a The dividend NonZeroFiniteNumber.
|
|
153
138
|
* @param b The divisor NonZeroFiniteNumber.
|
|
154
139
|
* @returns `a / b` as a NonZeroFiniteNumber.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,0BAA0B;AAEpD,MAAM,EACJ,GAAG,EACH,GAAG,
|
|
1
|
+
{"version":3,"file":"non-zero-finite-number.mjs","sources":["../../../src/number/branded-types/non-zero-finite-number.mts"],"sourcesContent":[null],"names":[],"mappings":";;AAKA,MAAM,iBAAiB,GAAG,0BAA0B;AAEpD,MAAM,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,EACR,GAAG,EACH,EAAE,EACF,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,IAAI,EACT,GAAG,EACH,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,GAAG,GACJ,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,iBAAiB,CAI3D;AACA,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS;IAC5B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,iBAAiB;AACT,CAAA,CAAC;AAEX;AAEA,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;AAc7E;;;;;AAKG;AACI,MAAM,qBAAqB,GAAG;AAErC;;;;;;AAMG;AACI,MAAM,qBAAqB,GAAG;AAErC;;;;;;;AAOG;AACI,MAAM,mBAAmB,GAAG;AACjC;;;;;;AAMG;IACH,EAAE;AAEF;;;;;AAKG;IACH,GAAG;AAEH;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;;AAMG;AACH,IAAA,GAAG,EAAE,IAAI;AAET;;;;;AAKG;IACH,KAAK;AAEL;;;;;AAKG;IACH,IAAI;AAEJ;;;;;AAKG;IACH,KAAK;AAEL;;;;AAIG;IACH,MAAM;AAEN;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;AAEH;;;;;;AAMG;IACH,GAAG;;;;;"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import { TsDataForgeInternals } from '../refined-number-utils.mjs';
|
|
2
2
|
/**
|
|
3
3
|
* Checks if a number is a NonZeroInt.
|
|
4
|
+
*
|
|
4
5
|
* @param value The value to check.
|
|
5
6
|
* @returns `true` if the value is a NonZeroInt, `false` otherwise.
|
|
6
7
|
*/
|
|
7
8
|
export declare const isNonZeroInt: (a: number) => a is NonZeroInt;
|
|
8
9
|
/**
|
|
9
10
|
* Casts a number to a NonZeroInt type.
|
|
11
|
+
*
|
|
10
12
|
* @param value The value to cast.
|
|
11
13
|
* @returns The value as a NonZeroInt type.
|
|
12
14
|
* @throws {TypeError} If the value is not a non-zero integer.
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const x = asNonZeroInt(5); // NonZeroInt
|
|
16
|
-
* const y = asNonZeroInt(-3); // NonZeroInt
|
|
17
|
-
* // asNonZeroInt(0); // throws TypeError
|
|
18
|
-
* // asNonZeroInt(1.5); // throws TypeError
|
|
19
|
-
* ```
|
|
20
15
|
*/
|
|
21
16
|
export declare const asNonZeroInt: <N extends number>(x: N) => number & {
|
|
22
17
|
readonly NaNValue: false;
|
|
@@ -29,45 +24,28 @@ export declare const asNonZeroInt: <N extends number>(x: N) => number & {
|
|
|
29
24
|
/**
|
|
30
25
|
* Namespace providing type-safe arithmetic operations for non-zero integers.
|
|
31
26
|
*
|
|
32
|
-
* All operations maintain the non-zero constraint, ensuring that results are
|
|
33
|
-
* Division operations return floor division
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* const a = asNonZeroInt(10);
|
|
38
|
-
* const b = asNonZeroInt(-5);
|
|
39
|
-
*
|
|
40
|
-
* // Arithmetic operations
|
|
41
|
-
* const sum = NonZeroInt.add(a, b); // NonZeroInt (5)
|
|
42
|
-
* const diff = NonZeroInt.sub(a, b); // NonZeroInt (15)
|
|
43
|
-
* const product = NonZeroInt.mul(a, b); // NonZeroInt (-50)
|
|
44
|
-
* const quotient = NonZeroInt.div(a, b); // NonZeroInt (-2)
|
|
45
|
-
*
|
|
46
|
-
* // Utility operations
|
|
47
|
-
* const absolute = NonZeroInt.abs(b); // NonZeroInt (5)
|
|
48
|
-
* const power = NonZeroInt.pow(a, asNonZeroInt(2)); // NonZeroInt (100)
|
|
49
|
-
* const minimum = NonZeroInt.min(a, b); // NonZeroInt (-5)
|
|
50
|
-
* const maximum = NonZeroInt(a, b); // NonZeroInt (10)
|
|
51
|
-
*
|
|
52
|
-
* // Random generation
|
|
53
|
-
* const randomInt = NonZeroInt.random(); // NonZeroInt (random non-zero integer)
|
|
54
|
-
* ```
|
|
27
|
+
* All operations maintain the non-zero constraint, ensuring that results are
|
|
28
|
+
* always valid NonZeroInt values. Division operations return floor division
|
|
29
|
+
* results, and all arithmetic maintains integer precision.
|
|
55
30
|
*/
|
|
56
31
|
export declare const NonZeroInt: {
|
|
57
32
|
/**
|
|
58
33
|
* Type guard to check if a value is a NonZeroInt.
|
|
34
|
+
*
|
|
59
35
|
* @param value The value to check.
|
|
60
36
|
* @returns `true` if the value is a non-zero integer, `false` otherwise.
|
|
61
37
|
*/
|
|
62
38
|
readonly is: (a: number) => a is NonZeroInt;
|
|
63
39
|
/**
|
|
64
40
|
* Returns the absolute value of a non-zero integer.
|
|
41
|
+
*
|
|
65
42
|
* @param a The non-zero integer.
|
|
66
43
|
* @returns The absolute value as a NonZeroInt.
|
|
67
44
|
*/
|
|
68
45
|
readonly abs: (x: WithSmallInt<NonZeroInt, 40>) => TsDataForgeInternals.RefinedNumberUtils.ToNonNegative<NonZeroInt>;
|
|
69
46
|
/**
|
|
70
47
|
* Returns the smaller of two non-zero integers.
|
|
48
|
+
*
|
|
71
49
|
* @param a The first non-zero integer.
|
|
72
50
|
* @param b The second non-zero integer.
|
|
73
51
|
* @returns The minimum value as a NonZeroInt.
|
|
@@ -75,6 +53,7 @@ export declare const NonZeroInt: {
|
|
|
75
53
|
readonly min: (...values: readonly WithSmallInt<NonZeroInt, 40>[]) => NonZeroInt;
|
|
76
54
|
/**
|
|
77
55
|
* Returns the larger of two non-zero integers.
|
|
56
|
+
*
|
|
78
57
|
* @param a The first non-zero integer.
|
|
79
58
|
* @param b The second non-zero integer.
|
|
80
59
|
* @returns The maximum value as a NonZeroInt.
|
|
@@ -82,11 +61,13 @@ export declare const NonZeroInt: {
|
|
|
82
61
|
readonly max: (...values: readonly WithSmallInt<NonZeroInt, 40>[]) => NonZeroInt;
|
|
83
62
|
/**
|
|
84
63
|
* Generates a random non-zero integer.
|
|
64
|
+
*
|
|
85
65
|
* @returns A random NonZeroInt value.
|
|
86
66
|
*/
|
|
87
67
|
readonly random: (min?: WithSmallInt<NonZeroInt, 40> | undefined, max?: WithSmallInt<NonZeroInt, 40> | undefined) => NonZeroInt;
|
|
88
68
|
/**
|
|
89
69
|
* Raises a non-zero integer to the power of another non-zero integer.
|
|
70
|
+
*
|
|
90
71
|
* @param a The base non-zero integer.
|
|
91
72
|
* @param b The exponent non-zero integer.
|
|
92
73
|
* @returns `a ** b` as a NonZeroInt.
|
|
@@ -94,6 +75,7 @@ export declare const NonZeroInt: {
|
|
|
94
75
|
readonly pow: (x: WithSmallInt<NonZeroInt, 40>, y: WithSmallInt<NonZeroInt, 40>) => NonZeroInt;
|
|
95
76
|
/**
|
|
96
77
|
* Adds two non-zero integers.
|
|
78
|
+
*
|
|
97
79
|
* @param a The first non-zero integer.
|
|
98
80
|
* @param b The second non-zero integer.
|
|
99
81
|
* @returns `a + b` as a NonZeroInt.
|
|
@@ -101,6 +83,7 @@ export declare const NonZeroInt: {
|
|
|
101
83
|
readonly add: (x: WithSmallInt<NonZeroInt, 40>, y: WithSmallInt<NonZeroInt, 40>) => NonZeroInt;
|
|
102
84
|
/**
|
|
103
85
|
* Subtracts one non-zero integer from another.
|
|
86
|
+
*
|
|
104
87
|
* @param a The minuend non-zero integer.
|
|
105
88
|
* @param b The subtrahend non-zero integer.
|
|
106
89
|
* @returns `a - b` as a NonZeroInt.
|
|
@@ -108,6 +91,7 @@ export declare const NonZeroInt: {
|
|
|
108
91
|
readonly sub: (x: WithSmallInt<NonZeroInt, 40>, y: WithSmallInt<NonZeroInt, 40>) => NonZeroInt;
|
|
109
92
|
/**
|
|
110
93
|
* Multiplies two non-zero integers.
|
|
94
|
+
*
|
|
111
95
|
* @param a The first non-zero integer.
|
|
112
96
|
* @param b The second non-zero integer.
|
|
113
97
|
* @returns `a * b` as a NonZeroInt.
|
|
@@ -115,6 +99,7 @@ export declare const NonZeroInt: {
|
|
|
115
99
|
readonly mul: (x: WithSmallInt<NonZeroInt, 40>, y: WithSmallInt<NonZeroInt, 40>) => NonZeroInt;
|
|
116
100
|
/**
|
|
117
101
|
* Divides one non-zero integer by another using floor division.
|
|
102
|
+
*
|
|
118
103
|
* @param a The dividend non-zero integer.
|
|
119
104
|
* @param b The divisor non-zero integer.
|
|
120
105
|
* @returns `⌊a / b⌋` as a NonZeroInt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA8BnE
|
|
1
|
+
{"version":3,"file":"non-zero-int.d.mts","sourceRoot":"","sources":["../../../src/number/branded-types/non-zero-int.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AA8BnE;;;;;GAKG;AACH,eAAO,MAAM,YAAY,gCAAK,CAAC;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;MAAW,CAAC;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB;;;;;OAKG;;IAGH;;;;;OAKG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;OAIG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;;;;;;;;CAEK,CAAC"}
|