ts-data-forge 14.6.4 → 14.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts +36 -6
- package/dist/array/impl/array-utils-length-bounded-array-cast.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-array-cast.mjs +4 -0
- package/dist/array/impl/array-utils-length-bounded-array-cast.mjs.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.d.mts +26 -6
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.d.mts.map +1 -1
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.mjs +4 -0
- package/dist/array/impl/array-utils-length-bounded-tuple-cast.mjs.map +1 -1
- package/dist/expect-type.d.mts +2 -70
- package/dist/expect-type.d.mts.map +1 -1
- package/dist/expect-type.mjs +1 -68
- package/dist/expect-type.mjs.map +1 -1
- package/dist/functional/index.d.mts +11 -6
- package/dist/functional/index.d.mts.map +1 -1
- package/dist/functional/index.mjs +10 -6
- package/dist/functional/index.mjs.map +1 -1
- package/dist/guard/has-key.d.mts +2 -51
- package/dist/guard/has-key.d.mts.map +1 -1
- package/dist/guard/has-key.mjs +1 -41
- package/dist/guard/has-key.mjs.map +1 -1
- package/dist/guard/is-non-null-object.d.mts +2 -34
- package/dist/guard/is-non-null-object.d.mts.map +1 -1
- package/dist/guard/is-non-null-object.mjs +1 -34
- package/dist/guard/is-non-null-object.mjs.map +1 -1
- package/dist/guard/is-record.d.mts +2 -89
- package/dist/guard/is-record.d.mts.map +1 -1
- package/dist/guard/is-record.mjs +1 -88
- package/dist/guard/is-record.mjs.map +1 -1
- package/dist/guard/key-is-in.d.mts +2 -42
- package/dist/guard/key-is-in.d.mts.map +1 -1
- package/dist/guard/key-is-in.mjs +1 -40
- package/dist/guard/key-is-in.mjs.map +1 -1
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -1
- package/dist/number/num.d.mts +9 -1
- package/dist/number/num.d.mts.map +1 -1
- package/dist/number/num.mjs +24 -16
- package/dist/number/num.mjs.map +1 -1
- package/dist/others/index.d.mts +1 -0
- package/dist/others/index.d.mts.map +1 -1
- package/dist/others/index.mjs +1 -0
- package/dist/others/index.mjs.map +1 -1
- package/dist/others/panic-error.d.mts +9 -0
- package/dist/others/panic-error.d.mts.map +1 -0
- package/dist/others/panic-error.mjs +9 -0
- package/dist/others/panic-error.mjs.map +1 -0
- package/dist/others/unknown-to-string.d.mts +2 -37
- package/dist/others/unknown-to-string.d.mts.map +1 -1
- package/dist/others/unknown-to-string.mjs +1 -92
- package/dist/others/unknown-to-string.mjs.map +1 -1
- package/dist/types.d.mts +1 -41
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs +0 -1
- package/dist/types.mjs.map +1 -1
- package/package.json +9 -9
- package/src/array/impl/array-utils-length-bounded-array-cast.mts +36 -6
- package/src/array/impl/array-utils-length-bounded-tuple-cast.mts +26 -6
- package/src/expect-type.mts +2 -78
- package/src/functional/index.mts +31 -6
- package/src/guard/has-key.mts +2 -72
- package/src/guard/is-non-null-object.mts +2 -36
- package/src/guard/is-record.mts +2 -95
- package/src/guard/key-is-in.mts +2 -49
- package/src/index.mts +2 -0
- package/src/number/num.mts +36 -28
- package/src/others/index.mts +1 -0
- package/src/others/panic-error.mts +8 -0
- package/src/others/unknown-to-string.mts +2 -111
- package/src/types.mts +4 -54
- package/dist/functional/async-result/async-result.d.mts +0 -16
- package/dist/functional/async-result/async-result.d.mts.map +0 -1
- package/dist/functional/async-result/async-result.mjs +0 -2
- package/dist/functional/async-result/async-result.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-flat-map.d.mts +0 -39
- package/dist/functional/async-result/impl/async-result-flat-map.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-flat-map.mjs +0 -23
- package/dist/functional/async-result/impl/async-result-flat-map.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-from-promise.d.mts +0 -47
- package/dist/functional/async-result/impl/async-result-from-promise.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-from-promise.mjs +0 -10
- package/dist/functional/async-result/impl/async-result-from-promise.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-from-throwable.d.mts +0 -53
- package/dist/functional/async-result/impl/async-result-from-throwable.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-from-throwable.mjs +0 -15
- package/dist/functional/async-result/impl/async-result-from-throwable.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-map-err.d.mts +0 -35
- package/dist/functional/async-result/impl/async-result-map-err.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-map-err.mjs +0 -20
- package/dist/functional/async-result/impl/async-result-map-err.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-map.d.mts +0 -45
- package/dist/functional/async-result/impl/async-result-map.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-map.mjs +0 -20
- package/dist/functional/async-result/impl/async-result-map.mjs.map +0 -1
- package/dist/functional/async-result/impl/async-result-unwrap-or.d.mts +0 -34
- package/dist/functional/async-result/impl/async-result-unwrap-or.d.mts.map +0 -1
- package/dist/functional/async-result/impl/async-result-unwrap-or.mjs +0 -37
- package/dist/functional/async-result/impl/async-result-unwrap-or.mjs.map +0 -1
- package/dist/functional/async-result/impl/index.d.mts +0 -8
- package/dist/functional/async-result/impl/index.d.mts.map +0 -1
- package/dist/functional/async-result/impl/index.mjs +0 -8
- package/dist/functional/async-result/impl/index.mjs.map +0 -1
- package/dist/functional/async-result/impl/types.d.mts +0 -45
- package/dist/functional/async-result/impl/types.d.mts.map +0 -1
- package/dist/functional/async-result/impl/types.mjs +0 -2
- package/dist/functional/async-result/impl/types.mjs.map +0 -1
- package/dist/functional/async-result/index.d.mts +0 -2
- package/dist/functional/async-result/index.d.mts.map +0 -1
- package/dist/functional/async-result/index.mjs +0 -2
- package/dist/functional/async-result/index.mjs.map +0 -1
- package/dist/functional/match.d.mts +0 -80
- package/dist/functional/match.d.mts.map +0 -1
- package/dist/functional/match.mjs +0 -31
- package/dist/functional/match.mjs.map +0 -1
- package/dist/functional/optional/impl/index.d.mts +0 -19
- package/dist/functional/optional/impl/index.d.mts.map +0 -1
- package/dist/functional/optional/impl/index.mjs +0 -19
- package/dist/functional/optional/impl/index.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-expect-to-be.d.mts +0 -37
- package/dist/functional/optional/impl/optional-expect-to-be.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-expect-to-be.mjs +0 -22
- package/dist/functional/optional/impl/optional-expect-to-be.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-filter.d.mts +0 -33
- package/dist/functional/optional/impl/optional-filter.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-filter.mjs +0 -25
- package/dist/functional/optional/impl/optional-filter.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-flat-map.d.mts +0 -39
- package/dist/functional/optional/impl/optional-flat-map.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-flat-map.mjs +0 -18
- package/dist/functional/optional/impl/optional-flat-map.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-from-nullable.d.mts +0 -27
- package/dist/functional/optional/impl/optional-from-nullable.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-from-nullable.mjs +0 -28
- package/dist/functional/optional/impl/optional-from-nullable.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-is-none.d.mts +0 -23
- package/dist/functional/optional/impl/optional-is-none.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-is-none.mjs +0 -22
- package/dist/functional/optional/impl/optional-is-none.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-is-optional.d.mts +0 -21
- package/dist/functional/optional/impl/optional-is-optional.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-is-optional.mjs +0 -26
- package/dist/functional/optional/impl/optional-is-optional.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-is-some.d.mts +0 -24
- package/dist/functional/optional/impl/optional-is-some.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-is-some.mjs +0 -23
- package/dist/functional/optional/impl/optional-is-some.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-map.d.mts +0 -34
- package/dist/functional/optional/impl/optional-map.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-map.mjs +0 -22
- package/dist/functional/optional/impl/optional-map.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-match.d.mts +0 -48
- package/dist/functional/optional/impl/optional-match.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-match.mjs +0 -20
- package/dist/functional/optional/impl/optional-match.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-none.d.mts +0 -19
- package/dist/functional/optional/impl/optional-none.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-none.mjs +0 -19
- package/dist/functional/optional/impl/optional-none.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-or-else.d.mts +0 -43
- package/dist/functional/optional/impl/optional-or-else.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-or-else.mjs +0 -16
- package/dist/functional/optional/impl/optional-or-else.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-some.d.mts +0 -22
- package/dist/functional/optional/impl/optional-some.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-some.mjs +0 -25
- package/dist/functional/optional/impl/optional-some.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-to-nullable.d.mts +0 -30
- package/dist/functional/optional/impl/optional-to-nullable.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-to-nullable.mjs +0 -30
- package/dist/functional/optional/impl/optional-to-nullable.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap-or.d.mts +0 -37
- package/dist/functional/optional/impl/optional-unwrap-or.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap-or.mjs +0 -16
- package/dist/functional/optional/impl/optional-unwrap-or.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap-throw.d.mts +0 -31
- package/dist/functional/optional/impl/optional-unwrap-throw.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap-throw.mjs +0 -36
- package/dist/functional/optional/impl/optional-unwrap-throw.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap.d.mts +0 -32
- package/dist/functional/optional/impl/optional-unwrap.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-unwrap.mjs +0 -8
- package/dist/functional/optional/impl/optional-unwrap.mjs.map +0 -1
- package/dist/functional/optional/impl/optional-zip.d.mts +0 -35
- package/dist/functional/optional/impl/optional-zip.d.mts.map +0 -1
- package/dist/functional/optional/impl/optional-zip.mjs +0 -39
- package/dist/functional/optional/impl/optional-zip.mjs.map +0 -1
- package/dist/functional/optional/impl/tag.d.mts +0 -6
- package/dist/functional/optional/impl/tag.d.mts.map +0 -1
- package/dist/functional/optional/impl/tag.mjs +0 -4
- package/dist/functional/optional/impl/tag.mjs.map +0 -1
- package/dist/functional/optional/impl/types.d.mts +0 -24
- package/dist/functional/optional/impl/types.d.mts.map +0 -1
- package/dist/functional/optional/impl/types.mjs +0 -2
- package/dist/functional/optional/impl/types.mjs.map +0 -1
- package/dist/functional/optional/index.d.mts +0 -2
- package/dist/functional/optional/index.d.mts.map +0 -1
- package/dist/functional/optional/index.mjs +0 -2
- package/dist/functional/optional/index.mjs.map +0 -1
- package/dist/functional/optional/optional.d.mts +0 -16
- package/dist/functional/optional/optional.d.mts.map +0 -1
- package/dist/functional/optional/optional.mjs +0 -2
- package/dist/functional/optional/optional.mjs.map +0 -1
- package/dist/functional/pipe.d.mts +0 -102
- package/dist/functional/pipe.d.mts.map +0 -1
- package/dist/functional/pipe.mjs +0 -45
- package/dist/functional/pipe.mjs.map +0 -1
- package/dist/functional/result/impl/index.d.mts +0 -28
- package/dist/functional/result/impl/index.d.mts.map +0 -1
- package/dist/functional/result/impl/index.mjs +0 -28
- package/dist/functional/result/impl/index.mjs.map +0 -1
- package/dist/functional/result/impl/result-err.d.mts +0 -28
- package/dist/functional/result/impl/result-err.d.mts.map +0 -1
- package/dist/functional/result/impl/result-err.mjs +0 -31
- package/dist/functional/result/impl/result-err.mjs.map +0 -1
- package/dist/functional/result/impl/result-expect-to-be.d.mts +0 -33
- package/dist/functional/result/impl/result-expect-to-be.d.mts.map +0 -1
- package/dist/functional/result/impl/result-expect-to-be.mjs +0 -23
- package/dist/functional/result/impl/result-expect-to-be.mjs.map +0 -1
- package/dist/functional/result/impl/result-flat-map.d.mts +0 -45
- package/dist/functional/result/impl/result-flat-map.d.mts.map +0 -1
- package/dist/functional/result/impl/result-flat-map.mjs +0 -21
- package/dist/functional/result/impl/result-flat-map.mjs.map +0 -1
- package/dist/functional/result/impl/result-fold.d.mts +0 -50
- package/dist/functional/result/impl/result-fold.d.mts.map +0 -1
- package/dist/functional/result/impl/result-fold.mjs +0 -23
- package/dist/functional/result/impl/result-fold.mjs.map +0 -1
- package/dist/functional/result/impl/result-from-optional.d.mts +0 -41
- package/dist/functional/result/impl/result-from-optional.d.mts.map +0 -1
- package/dist/functional/result/impl/result-from-optional.mjs +0 -21
- package/dist/functional/result/impl/result-from-optional.mjs.map +0 -1
- package/dist/functional/result/impl/result-from-promise.d.mts +0 -43
- package/dist/functional/result/impl/result-from-promise.d.mts.map +0 -1
- package/dist/functional/result/impl/result-from-promise.mjs +0 -39
- package/dist/functional/result/impl/result-from-promise.mjs.map +0 -1
- package/dist/functional/result/impl/result-from-throwable.d.mts +0 -32
- package/dist/functional/result/impl/result-from-throwable.d.mts.map +0 -1
- package/dist/functional/result/impl/result-from-throwable.mjs +0 -46
- package/dist/functional/result/impl/result-from-throwable.mjs.map +0 -1
- package/dist/functional/result/impl/result-is-err.d.mts +0 -23
- package/dist/functional/result/impl/result-is-err.d.mts.map +0 -1
- package/dist/functional/result/impl/result-is-err.mjs +0 -22
- package/dist/functional/result/impl/result-is-err.mjs.map +0 -1
- package/dist/functional/result/impl/result-is-ok.d.mts +0 -23
- package/dist/functional/result/impl/result-is-ok.d.mts.map +0 -1
- package/dist/functional/result/impl/result-is-ok.mjs +0 -22
- package/dist/functional/result/impl/result-is-ok.mjs.map +0 -1
- package/dist/functional/result/impl/result-is-result.d.mts +0 -22
- package/dist/functional/result/impl/result-is-result.d.mts.map +0 -1
- package/dist/functional/result/impl/result-is-result.mjs +0 -26
- package/dist/functional/result/impl/result-is-result.mjs.map +0 -1
- package/dist/functional/result/impl/result-map-err.d.mts +0 -39
- package/dist/functional/result/impl/result-map-err.d.mts.map +0 -1
- package/dist/functional/result/impl/result-map-err.mjs +0 -22
- package/dist/functional/result/impl/result-map-err.mjs.map +0 -1
- package/dist/functional/result/impl/result-map.d.mts +0 -39
- package/dist/functional/result/impl/result-map.d.mts.map +0 -1
- package/dist/functional/result/impl/result-map.mjs +0 -22
- package/dist/functional/result/impl/result-map.mjs.map +0 -1
- package/dist/functional/result/impl/result-match.d.mts +0 -47
- package/dist/functional/result/impl/result-match.d.mts.map +0 -1
- package/dist/functional/result/impl/result-match.mjs +0 -20
- package/dist/functional/result/impl/result-match.mjs.map +0 -1
- package/dist/functional/result/impl/result-ok.d.mts +0 -28
- package/dist/functional/result/impl/result-ok.d.mts.map +0 -1
- package/dist/functional/result/impl/result-ok.mjs +0 -31
- package/dist/functional/result/impl/result-ok.mjs.map +0 -1
- package/dist/functional/result/impl/result-or-else.d.mts +0 -40
- package/dist/functional/result/impl/result-or-else.d.mts.map +0 -1
- package/dist/functional/result/impl/result-or-else.mjs +0 -17
- package/dist/functional/result/impl/result-or-else.mjs.map +0 -1
- package/dist/functional/result/impl/result-safe-try.d.mts +0 -51
- package/dist/functional/result/impl/result-safe-try.d.mts.map +0 -1
- package/dist/functional/result/impl/result-safe-try.mjs +0 -35
- package/dist/functional/result/impl/result-safe-try.mjs.map +0 -1
- package/dist/functional/result/impl/result-safe-unwrap.d.mts +0 -36
- package/dist/functional/result/impl/result-safe-unwrap.d.mts.map +0 -1
- package/dist/functional/result/impl/result-safe-unwrap.mjs +0 -42
- package/dist/functional/result/impl/result-safe-unwrap.mjs.map +0 -1
- package/dist/functional/result/impl/result-swap.d.mts +0 -23
- package/dist/functional/result/impl/result-swap.d.mts.map +0 -1
- package/dist/functional/result/impl/result-swap.mjs +0 -27
- package/dist/functional/result/impl/result-swap.mjs.map +0 -1
- package/dist/functional/result/impl/result-to-optional.d.mts +0 -32
- package/dist/functional/result/impl/result-to-optional.d.mts.map +0 -1
- package/dist/functional/result/impl/result-to-optional.mjs +0 -32
- package/dist/functional/result/impl/result-to-optional.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err-or.d.mts +0 -33
- package/dist/functional/result/impl/result-unwrap-err-or.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err-or.mjs +0 -17
- package/dist/functional/result/impl/result-unwrap-err-or.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err-throw.d.mts +0 -33
- package/dist/functional/result/impl/result-unwrap-err-throw.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err-throw.mjs +0 -46
- package/dist/functional/result/impl/result-unwrap-err-throw.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err.d.mts +0 -33
- package/dist/functional/result/impl/result-unwrap-err.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-err.mjs +0 -34
- package/dist/functional/result/impl/result-unwrap-err.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-ok-or.d.mts +0 -33
- package/dist/functional/result/impl/result-unwrap-ok-or.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-ok-or.mjs +0 -17
- package/dist/functional/result/impl/result-unwrap-ok-or.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-ok.d.mts +0 -26
- package/dist/functional/result/impl/result-unwrap-ok.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-ok.mjs +0 -8
- package/dist/functional/result/impl/result-unwrap-ok.mjs.map +0 -1
- package/dist/functional/result/impl/result-unwrap-throw.d.mts +0 -33
- package/dist/functional/result/impl/result-unwrap-throw.d.mts.map +0 -1
- package/dist/functional/result/impl/result-unwrap-throw.mjs +0 -40
- package/dist/functional/result/impl/result-unwrap-throw.mjs.map +0 -1
- package/dist/functional/result/impl/result-zip.d.mts +0 -32
- package/dist/functional/result/impl/result-zip.d.mts.map +0 -1
- package/dist/functional/result/impl/result-zip.mjs +0 -37
- package/dist/functional/result/impl/result-zip.mjs.map +0 -1
- package/dist/functional/result/impl/tag.d.mts +0 -6
- package/dist/functional/result/impl/tag.d.mts.map +0 -1
- package/dist/functional/result/impl/tag.mjs +0 -4
- package/dist/functional/result/impl/tag.mjs.map +0 -1
- package/dist/functional/result/impl/types.d.mts +0 -31
- package/dist/functional/result/impl/types.d.mts.map +0 -1
- package/dist/functional/result/impl/types.mjs +0 -2
- package/dist/functional/result/impl/types.mjs.map +0 -1
- package/dist/functional/result/index.d.mts +0 -2
- package/dist/functional/result/index.d.mts.map +0 -1
- package/dist/functional/result/index.mjs +0 -2
- package/dist/functional/result/index.mjs.map +0 -1
- package/dist/functional/result/result.d.mts +0 -16
- package/dist/functional/result/result.d.mts.map +0 -1
- package/dist/functional/result/result.mjs +0 -2
- package/dist/functional/result/result.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/index.d.mts +0 -29
- package/dist/functional/ternary-result/impl/index.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/index.mjs +0 -29
- package/dist/functional/ternary-result/impl/index.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/tag.d.mts +0 -8
- package/dist/functional/ternary-result/impl/tag.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/tag.mjs +0 -6
- package/dist/functional/ternary-result/impl/tag.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-err.d.mts +0 -16
- package/dist/functional/ternary-result/impl/ternary-result-err.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-err.mjs +0 -19
- package/dist/functional/ternary-result/impl/ternary-result-err.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.d.mts +0 -24
- package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-expect-to-be.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-flat-map.d.mts +0 -39
- package/dist/functional/ternary-result/impl/ternary-result-flat-map.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs +0 -38
- package/dist/functional/ternary-result/impl/ternary-result-flat-map.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-fold.d.mts +0 -30
- package/dist/functional/ternary-result/impl/ternary-result-fold.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-fold.mjs +0 -33
- package/dist/functional/ternary-result/impl/ternary-result-fold.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-from-promise.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-from-promise.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-from-throwable.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs +0 -33
- package/dist/functional/ternary-result/impl/ternary-result-from-throwable.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-is-err.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-is-err.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-is-ok.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs +0 -22
- package/dist/functional/ternary-result/impl/ternary-result-is-ok.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts +0 -22
- package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs +0 -28
- package/dist/functional/ternary-result/impl/ternary-result-is-ternary-result.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts +0 -22
- package/dist/functional/ternary-result/impl/ternary-result-is-warn.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-is-warn.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map-err.d.mts +0 -27
- package/dist/functional/ternary-result/impl/ternary-result-map-err.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-map-err.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map-warn.d.mts +0 -28
- package/dist/functional/ternary-result/impl/ternary-result-map-warn.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs +0 -26
- package/dist/functional/ternary-result/impl/ternary-result-map-warn.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map.d.mts +0 -36
- package/dist/functional/ternary-result/impl/ternary-result-map.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-map.mjs +0 -32
- package/dist/functional/ternary-result/impl/ternary-result-map.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts +0 -17
- package/dist/functional/ternary-result/impl/ternary-result-ok.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-ok.mjs +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-ok.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-or-else.d.mts +0 -29
- package/dist/functional/ternary-result/impl/ternary-result-or-else.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs +0 -16
- package/dist/functional/ternary-result/impl/ternary-result-or-else.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-to-optional.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs +0 -26
- package/dist/functional/ternary-result/impl/ternary-result-to-optional.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.d.mts +0 -28
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs +0 -14
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-or.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs +0 -34
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-err.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.d.mts +0 -25
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs +0 -14
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs +0 -10
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-ok.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs +0 -35
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-throw.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.d.mts +0 -22
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs +0 -14
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs +0 -30
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts +0 -20
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs +0 -21
- package/dist/functional/ternary-result/impl/ternary-result-unwrap-warn.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts +0 -19
- package/dist/functional/ternary-result/impl/ternary-result-warn.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-warn.mjs +0 -23
- package/dist/functional/ternary-result/impl/ternary-result-warn.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts +0 -34
- package/dist/functional/ternary-result/impl/ternary-result-zip.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/ternary-result-zip.mjs +0 -52
- package/dist/functional/ternary-result/impl/ternary-result-zip.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/types.d.mts +0 -26
- package/dist/functional/ternary-result/impl/types.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/types.mjs +0 -2
- package/dist/functional/ternary-result/impl/types.mjs.map +0 -1
- package/dist/functional/ternary-result/impl/variant-name.d.mts +0 -4
- package/dist/functional/ternary-result/impl/variant-name.d.mts.map +0 -1
- package/dist/functional/ternary-result/impl/variant-name.mjs +0 -13
- package/dist/functional/ternary-result/impl/variant-name.mjs.map +0 -1
- package/dist/functional/ternary-result/index.d.mts +0 -2
- package/dist/functional/ternary-result/index.d.mts.map +0 -1
- package/dist/functional/ternary-result/index.mjs +0 -2
- package/dist/functional/ternary-result/index.mjs.map +0 -1
- package/dist/functional/ternary-result/ternary-result.d.mts +0 -40
- package/dist/functional/ternary-result/ternary-result.d.mts.map +0 -1
- package/dist/functional/ternary-result/ternary-result.mjs +0 -2
- package/dist/functional/ternary-result/ternary-result.mjs.map +0 -1
- package/src/functional/async-result/async-result.mts +0 -17
- package/src/functional/async-result/impl/async-result-flat-map.mts +0 -99
- package/src/functional/async-result/impl/async-result-from-promise.mts +0 -69
- package/src/functional/async-result/impl/async-result-from-throwable.mts +0 -78
- package/src/functional/async-result/impl/async-result-map-err.mts +0 -84
- package/src/functional/async-result/impl/async-result-map.mts +0 -94
- package/src/functional/async-result/impl/async-result-unwrap-or.mts +0 -42
- package/src/functional/async-result/impl/index.mts +0 -7
- package/src/functional/async-result/impl/types.mts +0 -51
- package/src/functional/async-result/index.mts +0 -1
- package/src/functional/async-result.test.mts +0 -291
- package/src/functional/match.mts +0 -193
- package/src/functional/match.test.mts +0 -180
- package/src/functional/optional/impl/index.mts +0 -18
- package/src/functional/optional/impl/optional-expect-to-be.mts +0 -75
- package/src/functional/optional/impl/optional-filter.mts +0 -78
- package/src/functional/optional/impl/optional-flat-map.mts +0 -75
- package/src/functional/optional/impl/optional-from-nullable.mts +0 -31
- package/src/functional/optional/impl/optional-is-none.mts +0 -26
- package/src/functional/optional/impl/optional-is-optional.mts +0 -30
- package/src/functional/optional/impl/optional-is-some.mts +0 -27
- package/src/functional/optional/impl/optional-map.mts +0 -90
- package/src/functional/optional/impl/optional-match.mts +0 -108
- package/src/functional/optional/impl/optional-none.mts +0 -20
- package/src/functional/optional/impl/optional-or-else.mts +0 -83
- package/src/functional/optional/impl/optional-some.mts +0 -27
- package/src/functional/optional/impl/optional-to-nullable.mts +0 -34
- package/src/functional/optional/impl/optional-unwrap-or.mts +0 -70
- package/src/functional/optional/impl/optional-unwrap-throw.mts +0 -41
- package/src/functional/optional/impl/optional-unwrap.mts +0 -45
- package/src/functional/optional/impl/optional-zip.mts +0 -44
- package/src/functional/optional/impl/tag.mts +0 -8
- package/src/functional/optional/impl/types.mts +0 -31
- package/src/functional/optional/index.mts +0 -1
- package/src/functional/optional/optional.mts +0 -19
- package/src/functional/optional.test.mts +0 -883
- package/src/functional/pipe.mts +0 -180
- package/src/functional/pipe.test.mts +0 -155
- package/src/functional/result/impl/index.mts +0 -27
- package/src/functional/result/impl/result-err.mts +0 -33
- package/src/functional/result/impl/result-expect-to-be.mts +0 -73
- package/src/functional/result/impl/result-flat-map.mts +0 -88
- package/src/functional/result/impl/result-fold.mts +0 -102
- package/src/functional/result/impl/result-from-optional.mts +0 -80
- package/src/functional/result/impl/result-from-promise.mts +0 -51
- package/src/functional/result/impl/result-from-throwable.mts +0 -48
- package/src/functional/result/impl/result-is-err.mts +0 -26
- package/src/functional/result/impl/result-is-ok.mts +0 -26
- package/src/functional/result/impl/result-is-result.mts +0 -28
- package/src/functional/result/impl/result-map-err.mts +0 -96
- package/src/functional/result/impl/result-map.mts +0 -96
- package/src/functional/result/impl/result-match.mts +0 -108
- package/src/functional/result/impl/result-ok.mts +0 -33
- package/src/functional/result/impl/result-or-else.mts +0 -73
- package/src/functional/result/impl/result-safe-try.mts +0 -110
- package/src/functional/result/impl/result-safe-unwrap.mts +0 -50
- package/src/functional/result/impl/result-swap.mts +0 -31
- package/src/functional/result/impl/result-to-optional.mts +0 -37
- package/src/functional/result/impl/result-unwrap-err-or.mts +0 -66
- package/src/functional/result/impl/result-unwrap-err-throw.mts +0 -56
- package/src/functional/result/impl/result-unwrap-err.mts +0 -38
- package/src/functional/result/impl/result-unwrap-ok-or.mts +0 -66
- package/src/functional/result/impl/result-unwrap-ok.mts +0 -39
- package/src/functional/result/impl/result-unwrap-throw.mts +0 -46
- package/src/functional/result/impl/result-zip.mts +0 -42
- package/src/functional/result/impl/tag.mts +0 -8
- package/src/functional/result/impl/types.mts +0 -38
- package/src/functional/result/index.mts +0 -1
- package/src/functional/result/result.mts +0 -19
- package/src/functional/result.test.mts +0 -1349
- package/src/functional/ternary-result/impl/index.mts +0 -28
- package/src/functional/ternary-result/impl/tag.mts +0 -17
- package/src/functional/ternary-result/impl/ternary-result-err.mts +0 -21
- package/src/functional/ternary-result/impl/ternary-result-expect-to-be.mts +0 -65
- package/src/functional/ternary-result/impl/ternary-result-flat-map.mts +0 -112
- package/src/functional/ternary-result/impl/ternary-result-fold.mts +0 -102
- package/src/functional/ternary-result/impl/ternary-result-from-promise.mts +0 -30
- package/src/functional/ternary-result/impl/ternary-result-from-throwable.mts +0 -36
- package/src/functional/ternary-result/impl/ternary-result-is-err.mts +0 -24
- package/src/functional/ternary-result/impl/ternary-result-is-ok.mts +0 -26
- package/src/functional/ternary-result/impl/ternary-result-is-ternary-result.mts +0 -32
- package/src/functional/ternary-result/impl/ternary-result-is-warn.mts +0 -25
- package/src/functional/ternary-result/impl/ternary-result-map-err.mts +0 -74
- package/src/functional/ternary-result/impl/ternary-result-map-warn.mts +0 -79
- package/src/functional/ternary-result/impl/ternary-result-map.mts +0 -95
- package/src/functional/ternary-result/impl/ternary-result-ok.mts +0 -22
- package/src/functional/ternary-result/impl/ternary-result-or-else.mts +0 -72
- package/src/functional/ternary-result/impl/ternary-result-to-optional.mts +0 -31
- package/src/functional/ternary-result/impl/ternary-result-unwrap-err-or.mts +0 -54
- package/src/functional/ternary-result/impl/ternary-result-unwrap-err-throw.mts +0 -42
- package/src/functional/ternary-result/impl/ternary-result-unwrap-err.mts +0 -25
- package/src/functional/ternary-result/impl/ternary-result-unwrap-ok-or.mts +0 -51
- package/src/functional/ternary-result/impl/ternary-result-unwrap-ok.mts +0 -39
- package/src/functional/ternary-result/impl/ternary-result-unwrap-throw.mts +0 -48
- package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-or.mts +0 -48
- package/src/functional/ternary-result/impl/ternary-result-unwrap-warn-throw.mts +0 -40
- package/src/functional/ternary-result/impl/ternary-result-unwrap-warn.mts +0 -25
- package/src/functional/ternary-result/impl/ternary-result-warn.mts +0 -28
- package/src/functional/ternary-result/impl/ternary-result-zip.mts +0 -61
- package/src/functional/ternary-result/impl/types.mts +0 -46
- package/src/functional/ternary-result/impl/variant-name.mts +0 -18
- package/src/functional/ternary-result/index.mts +0 -1
- package/src/functional/ternary-result/ternary-result.mts +0 -50
- package/src/functional/ternary-result.test.mts +0 -310
- package/src/guard/has-key.test.mts +0 -111
- package/src/guard/is-non-null-object.test.mts +0 -109
- package/src/guard/is-record.test.mts +0 -195
- package/src/guard/key-is-in.test.mts +0 -21
- package/src/others/unknown-to-string.test.mts +0 -295
|
@@ -1,94 +1,3 @@
|
|
|
1
|
-
import { isDate, isError, isMap, isRegExp, isSet } from '@sindresorhus/is';
|
|
2
1
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
export const unknownToString = (value, options) => {
|
|
37
|
-
switch (typeof value) {
|
|
38
|
-
case 'string':
|
|
39
|
-
return value;
|
|
40
|
-
case 'bigint':
|
|
41
|
-
return `${value.toString()}n`;
|
|
42
|
-
case 'number':
|
|
43
|
-
case 'boolean':
|
|
44
|
-
case 'symbol':
|
|
45
|
-
case 'function':
|
|
46
|
-
return value.toString();
|
|
47
|
-
case 'undefined':
|
|
48
|
-
return 'undefined';
|
|
49
|
-
case 'object': {
|
|
50
|
-
if (value === null) {
|
|
51
|
-
return 'null';
|
|
52
|
-
}
|
|
53
|
-
try {
|
|
54
|
-
|
|
55
|
-
if (isDate(value)) {
|
|
56
|
-
return value.toISOString();
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (isRegExp(value)) {
|
|
60
|
-
return value.toString();
|
|
61
|
-
}
|
|
62
|
-
if (isError(value)) {
|
|
63
|
-
return value.message;
|
|
64
|
-
}
|
|
65
|
-
const prettyPrintObject = options?.prettyPrintObject === true;
|
|
66
|
-
|
|
67
|
-
if (isMap(value)) {
|
|
68
|
-
const entries = Array.from(value);
|
|
69
|
-
const entriesStr = prettyPrintObject
|
|
70
|
-
? JSON.stringify(entries, undefined, 2)
|
|
71
|
-
: JSON.stringify(entries);
|
|
72
|
-
return `Map(${entriesStr})`;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (isSet(value)) {
|
|
76
|
-
const values = Array.from(value);
|
|
77
|
-
const valuesStr = prettyPrintObject
|
|
78
|
-
? JSON.stringify(values, undefined, 2)
|
|
79
|
-
: JSON.stringify(values);
|
|
80
|
-
return `Set(${valuesStr})`;
|
|
81
|
-
}
|
|
82
|
-
return prettyPrintObject
|
|
83
|
-
? JSON.stringify(value, undefined, 2)
|
|
84
|
-
: JSON.stringify(value);
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
return isError(error)
|
|
88
|
-
? error.message
|
|
89
|
-
: '[Circular or Non-serializable]';
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
};
|
|
2
|
+
export { unknownToString } from 'ts-std-forge';
|
|
94
3
|
//# sourceMappingURL=unknown-to-string.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown-to-string.mjs","sourceRoot":"","sources":["../../src/others/unknown-to-string.mts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"unknown-to-string.mjs","sourceRoot":"","sources":["../../src/others/unknown-to-string.mts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/types.d.mts
CHANGED
|
@@ -22,45 +22,5 @@ export declare namespace SizeType {
|
|
|
22
22
|
type ArgTypedArrayPositive = WithSmallInt<IntersectBrand<PositiveNumber, TypedArray>>;
|
|
23
23
|
type ArgStrPositive = WithSmallInt<IntersectBrand<PositiveNumber, Str>>;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
* Represents the 'Some' variant of an Optional, containing a value.
|
|
27
|
-
*
|
|
28
|
-
* @template S The type of the contained value.
|
|
29
|
-
*/
|
|
30
|
-
export type Some<S> = Readonly<{
|
|
31
|
-
/** @internal Discriminant property for the 'Some' type. */
|
|
32
|
-
$$tag: 'ts-data-forge::Optional.some';
|
|
33
|
-
/** The contained value. */
|
|
34
|
-
value: S;
|
|
35
|
-
}>;
|
|
36
|
-
/**
|
|
37
|
-
* Represents the 'None' variant of an Optional, indicating the absence
|
|
38
|
-
* of a value.
|
|
39
|
-
*/
|
|
40
|
-
export type None = Readonly<{
|
|
41
|
-
/** @internal Discriminant property for the 'None' type. */
|
|
42
|
-
$$tag: 'ts-data-forge::Optional.none';
|
|
43
|
-
}>;
|
|
44
|
-
/**
|
|
45
|
-
* Represents a `Result` that is a success, containing a value.
|
|
46
|
-
*
|
|
47
|
-
* @template S The type of the success value.
|
|
48
|
-
*/
|
|
49
|
-
export type Ok<S> = Readonly<{
|
|
50
|
-
/** @internal Discriminant property for the 'Ok' type. */
|
|
51
|
-
$$tag: 'ts-data-forge::Result.ok';
|
|
52
|
-
/** The success value. */
|
|
53
|
-
value: S;
|
|
54
|
-
}>;
|
|
55
|
-
/**
|
|
56
|
-
* Represents a `Result` that is an error, containing an error value.
|
|
57
|
-
*
|
|
58
|
-
* @template E The type of the error value.
|
|
59
|
-
*/
|
|
60
|
-
export type Err<E> = Readonly<{
|
|
61
|
-
/** @internal Discriminant property for the 'Err' type. */
|
|
62
|
-
$$tag: 'ts-data-forge::Result.err';
|
|
63
|
-
/** The error value. */
|
|
64
|
-
value: E;
|
|
65
|
-
}>;
|
|
25
|
+
export type { Err, None, Ok, Some } from 'ts-std-forge';
|
|
66
26
|
//# sourceMappingURL=types.d.mts.map
|
package/dist/types.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IAClD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACrD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AAE1E,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACjE,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAC9B,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,GAC5D,QAAQ,CAAC,kBAAkB,CAAC;AAOlC,yBAAiB,QAAQ,CAAC;IACxB,KAAY,GAAG,GAAG,MAAM,CAAC;IAEzB,KAAY,UAAU,GAAG,QAAQ,CAAC;IAElC,KAAY,GAAG,GAAG,QAAQ,CAAC;IAE3B,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,sBAAsB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAErD,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAErD,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,kBAAkB,GAAG,YAAY,CAC3C,mBAAmB,CAAC,aAAa,GAAG,GAAG,CAAC,CACzC,CAAC;IAEF,KAAY,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9D,KAAY,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvD,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;IAEF,KAAY,qBAAqB,GAAG,YAAY,CAC9C,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3C,CAAC;IAEF,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"types.d.mts","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzD,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IAClD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;AAEvE,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACrD,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;AAE1E,MAAM,MAAM,yBAAyB,CAAC,EAAE,SAAS,SAAS,OAAO,EAAE,IACjE,iBAAiB,CAAC,EAAE,CAAC,SAAS,IAAI,GAC9B,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,GAC5D,QAAQ,CAAC,kBAAkB,CAAC;AAOlC,yBAAiB,QAAQ,CAAC;IACxB,KAAY,GAAG,GAAG,MAAM,CAAC;IAEzB,KAAY,UAAU,GAAG,QAAQ,CAAC;IAElC,KAAY,GAAG,GAAG,QAAQ,CAAC;IAE3B,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,sBAAsB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IAErD,KAAY,eAAe,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAEvC,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAErD,KAAY,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAEvC,KAAY,kBAAkB,GAAG,YAAY,CAC3C,mBAAmB,CAAC,aAAa,GAAG,GAAG,CAAC,CACzC,CAAC;IAEF,KAAY,yBAAyB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE9D,KAAY,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEvD,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;IAEF,KAAY,qBAAqB,GAAG,YAAY,CAC9C,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAC3C,CAAC;IAEF,KAAY,cAAc,GAAG,YAAY,CACvC,cAAc,CAAC,cAAc,EAAE,GAAG,CAAC,CACpC,CAAC;CACH;AAKD,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/types.mjs
CHANGED
package/dist/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.mjs","sourceRoot":"","sources":["../src/types.mts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-data-forge",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.7.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -37,25 +37,25 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@sindresorhus/is": "^8.1.0",
|
|
40
|
+
"ts-std-forge": "^0.5.1",
|
|
40
41
|
"ts-type-forge": "~9.2.2"
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@emotion/react": "11.14.0",
|
|
44
45
|
"@emotion/styled": "11.14.1",
|
|
45
46
|
"@mui/material": "9.4.0",
|
|
46
|
-
"@types/react": "19.
|
|
47
|
-
"@vitest/browser-playwright": "
|
|
48
|
-
"
|
|
49
|
-
"eslint-
|
|
50
|
-
"eslint-plugin-ts-
|
|
51
|
-
"eslint-plugin-ts-type-forge": "0.8.1",
|
|
47
|
+
"@types/react": "19.3.0",
|
|
48
|
+
"@vitest/browser-playwright": "5.0.0",
|
|
49
|
+
"eslint-config-typed": "5.11.7",
|
|
50
|
+
"eslint-plugin-ts-fortress": "1.2.2",
|
|
51
|
+
"eslint-plugin-ts-type-forge": "0.8.3",
|
|
52
52
|
"immer": "11.1.18",
|
|
53
53
|
"playwright": "1.62.1",
|
|
54
54
|
"prettier": "3.9.6",
|
|
55
55
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
56
56
|
"prettier-plugin-packagejson": "3.0.2",
|
|
57
57
|
"react": "19.2.8",
|
|
58
|
-
"ts-repo-utils": "10.6.
|
|
58
|
+
"ts-repo-utils": "10.6.2",
|
|
59
59
|
"typedoc": "0.28.20",
|
|
60
60
|
"typedoc-github-theme": "0.4.0",
|
|
61
61
|
"vite": "8.2.2"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"fmt:full": "pnpm run z:prettier .",
|
|
86
86
|
"gen:branded-number": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ./scripts/gen-branded-number/generate.mts && pnpm run doc:embed:jsdoc && pnpm run z:prettier 'src/number/branded-types/*.mts' 'src/number/enum/*.mts'",
|
|
87
87
|
"gi": "run-s gi:src fmt",
|
|
88
|
-
"gi:src": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json
|
|
88
|
+
"gi:src": "tsx --tsconfig ../../tools/configs/tsconfig.tsx.json ../../libs/ts-repo-utils/src/cmd/gen-index-ts.mts ./src --index-ext .mts --export-ext .mjs --target-ext .mts --exclude entry-point.mts --preserve 'array/index.mts' --preserve 'functional/index.mts'",
|
|
89
89
|
"lint": "eslint .",
|
|
90
90
|
"lint:fix": "eslint . --fix",
|
|
91
91
|
"test": "pnpm run z:vitest:node run",
|
|
@@ -33,13 +33,21 @@ import {
|
|
|
33
33
|
* const rgb = Arr.asFixedLengthArray(3, [255, 128, 0]);
|
|
34
34
|
*
|
|
35
35
|
* const atMost5: MaxLengthArray<5, number> = rgb; // OK (3 <= 5)
|
|
36
|
+
*
|
|
36
37
|
* const red: number = rgb[0]; // OK — no `undefined`
|
|
37
38
|
*
|
|
38
39
|
* // curried version
|
|
39
40
|
* const asRgb = Arr.asFixedLengthArray(3);
|
|
41
|
+
*
|
|
40
42
|
* const green = asRgb([0, 255, 0]);
|
|
41
43
|
*
|
|
42
|
-
*
|
|
44
|
+
* assert.deepStrictEqual(Array.from(atMost5), [255, 128, 0]);
|
|
45
|
+
*
|
|
46
|
+
* assert.strictEqual(red, 255);
|
|
47
|
+
*
|
|
48
|
+
* assert.deepStrictEqual(green, [0, 255, 0]);
|
|
49
|
+
*
|
|
50
|
+
* assert.throws(() => Arr.asFixedLengthArray(3, [255, 128]), TypeError);
|
|
43
51
|
* ```
|
|
44
52
|
*
|
|
45
53
|
* @template Length - The exact number of elements.
|
|
@@ -110,13 +118,21 @@ const asFixedLengthArrayImpl = <E,>(
|
|
|
110
118
|
* const history = Arr.asMinLengthArray(3, [0, 1, 2, 3]);
|
|
111
119
|
*
|
|
112
120
|
* const nonEmpty: MinLengthArray<1, number> = history; // OK (3 >= 1)
|
|
121
|
+
*
|
|
113
122
|
* const first: number = history[0]; // OK — no `undefined`
|
|
114
123
|
*
|
|
115
124
|
* // curried version
|
|
116
125
|
* const asHistory = Arr.asMinLengthArray(3);
|
|
126
|
+
*
|
|
117
127
|
* const next = asHistory([4, 5, 6, 7]);
|
|
118
128
|
*
|
|
119
|
-
*
|
|
129
|
+
* assert.deepStrictEqual(Array.from(nonEmpty), [0, 1, 2, 3]);
|
|
130
|
+
*
|
|
131
|
+
* assert.strictEqual(first, 0);
|
|
132
|
+
*
|
|
133
|
+
* assert.deepStrictEqual(next, [4, 5, 6, 7]);
|
|
134
|
+
*
|
|
135
|
+
* assert.throws(() => Arr.asMinLengthArray(3, [0]), TypeError);
|
|
120
136
|
* ```
|
|
121
137
|
*
|
|
122
138
|
* @template MinLength - The minimum number of elements (inclusive).
|
|
@@ -188,9 +204,14 @@ const asMinLengthArrayImpl = <E,>(
|
|
|
188
204
|
*
|
|
189
205
|
* // curried version
|
|
190
206
|
* const asTags = Arr.asMaxLengthArray(8);
|
|
207
|
+
*
|
|
191
208
|
* const more = asTags(['d', 'e']);
|
|
192
209
|
*
|
|
193
|
-
*
|
|
210
|
+
* assert.deepStrictEqual(Array.from(relaxed), ['a', 'b', 'c']);
|
|
211
|
+
*
|
|
212
|
+
* assert.deepStrictEqual(more, ['d', 'e']);
|
|
213
|
+
*
|
|
214
|
+
* assert.throws(() => Arr.asMaxLengthArray(2, ['a', 'b', 'c']), TypeError);
|
|
194
215
|
* ```
|
|
195
216
|
*
|
|
196
217
|
* @template MaxLength - The maximum number of elements (inclusive).
|
|
@@ -264,9 +285,14 @@ const asMaxLengthArrayImpl = <E,>(
|
|
|
264
285
|
*
|
|
265
286
|
* // curried version
|
|
266
287
|
* const asSelection = Arr.asBoundedLengthArray(1, 5);
|
|
288
|
+
*
|
|
267
289
|
* const next = asSelection([4, 5]);
|
|
268
290
|
*
|
|
269
|
-
*
|
|
291
|
+
* assert.deepStrictEqual(Array.from(relaxed), [1, 2, 3]);
|
|
292
|
+
*
|
|
293
|
+
* assert.deepStrictEqual(next, [4, 5]);
|
|
294
|
+
*
|
|
295
|
+
* assert.throws(() => Arr.asBoundedLengthArray(1, 5, []), TypeError);
|
|
270
296
|
* ```
|
|
271
297
|
*
|
|
272
298
|
* @template MinLength - The minimum number of elements (inclusive).
|
|
@@ -349,7 +375,9 @@ const asBoundedLengthArrayImpl = <E,>(
|
|
|
349
375
|
*
|
|
350
376
|
* const atMost5: MaxLengthArray<5, never> = nothing; // OK (0 <= 5)
|
|
351
377
|
*
|
|
352
|
-
*
|
|
378
|
+
* assert.deepStrictEqual(Array.from(atMost5), []);
|
|
379
|
+
*
|
|
380
|
+
* assert.throws(() => Arr.asEmptyArray([1]), TypeError);
|
|
353
381
|
* ```
|
|
354
382
|
*
|
|
355
383
|
* @template Xs - The input array type (tuple types are preserved).
|
|
@@ -387,7 +415,9 @@ export const asEmptyArray = <Xs extends readonly unknown[]>(
|
|
|
387
415
|
*
|
|
388
416
|
* const first: number = history[0]; // OK — no `undefined`
|
|
389
417
|
*
|
|
390
|
-
*
|
|
418
|
+
* assert.strictEqual(first, 0);
|
|
419
|
+
*
|
|
420
|
+
* assert.throws(() => Arr.asNonEmptyArray([]), TypeError);
|
|
391
421
|
* ```
|
|
392
422
|
*
|
|
393
423
|
* @template Xs - The input array type (tuple types are preserved).
|
|
@@ -36,7 +36,11 @@ import {
|
|
|
36
36
|
* // curried version
|
|
37
37
|
* const asRgb = Arr.asFixedLengthTuple(3);
|
|
38
38
|
*
|
|
39
|
-
*
|
|
39
|
+
* assert.strictEqual(red, 255);
|
|
40
|
+
*
|
|
41
|
+
* assert.deepStrictEqual(asRgb([0, 255, 0]), [0, 255, 0]);
|
|
42
|
+
*
|
|
43
|
+
* assert.throws(() => Arr.asFixedLengthTuple(3, [255, 128]), TypeError);
|
|
40
44
|
* ```
|
|
41
45
|
*
|
|
42
46
|
* @template Length - The exact number of elements.
|
|
@@ -104,7 +108,11 @@ const asFixedLengthTupleImpl = (
|
|
|
104
108
|
* // curried version
|
|
105
109
|
* const asHistory = Arr.asMinLengthTuple(3);
|
|
106
110
|
*
|
|
107
|
-
*
|
|
111
|
+
* assert.strictEqual(first, 0);
|
|
112
|
+
*
|
|
113
|
+
* assert.deepStrictEqual(asHistory([4, 5, 6]), [4, 5, 6]);
|
|
114
|
+
*
|
|
115
|
+
* assert.throws(() => Arr.asMinLengthTuple(3, [0, 1]), TypeError);
|
|
108
116
|
* ```
|
|
109
117
|
*
|
|
110
118
|
* @template MinLength - The minimum number of elements (inclusive).
|
|
@@ -170,7 +178,11 @@ const asMinLengthTupleImpl = (
|
|
|
170
178
|
* // curried version
|
|
171
179
|
* const asTags = Arr.asMaxLengthTuple(8);
|
|
172
180
|
*
|
|
173
|
-
*
|
|
181
|
+
* assert.deepStrictEqual(tags, ['a', 'b', 'c']);
|
|
182
|
+
*
|
|
183
|
+
* assert.deepStrictEqual(asTags(['d', 'e']), ['d', 'e']);
|
|
184
|
+
*
|
|
185
|
+
* assert.throws(() => Arr.asMaxLengthTuple(2, ['a', 'b', 'c']), TypeError);
|
|
174
186
|
* ```
|
|
175
187
|
*
|
|
176
188
|
* @template MaxLength - The maximum number of elements (inclusive).
|
|
@@ -236,7 +248,11 @@ const asMaxLengthTupleImpl = (
|
|
|
236
248
|
* // curried version
|
|
237
249
|
* const asSelection = Arr.asBoundedLengthTuple(1, 5);
|
|
238
250
|
*
|
|
239
|
-
*
|
|
251
|
+
* assert.deepStrictEqual(selection, [1, 2, 3]);
|
|
252
|
+
*
|
|
253
|
+
* assert.deepStrictEqual(asSelection([4, 5]), [4, 5]);
|
|
254
|
+
*
|
|
255
|
+
* assert.throws(() => Arr.asBoundedLengthTuple(1, 2, [1, 2, 3]), TypeError);
|
|
240
256
|
* ```
|
|
241
257
|
*
|
|
242
258
|
* @template Min - The minimum number of elements (inclusive).
|
|
@@ -311,7 +327,9 @@ const asBoundedLengthTupleImpl = (
|
|
|
311
327
|
* ```ts
|
|
312
328
|
* const nothing = Arr.asEmptyTuple([]);
|
|
313
329
|
*
|
|
314
|
-
*
|
|
330
|
+
* assert.deepStrictEqual(nothing, []);
|
|
331
|
+
*
|
|
332
|
+
* assert.throws(() => Arr.asEmptyTuple([1]), TypeError);
|
|
315
333
|
* ```
|
|
316
334
|
*
|
|
317
335
|
* @template Xs - The input array type (tuple types are preserved).
|
|
@@ -345,7 +363,9 @@ export const asEmptyTuple = <Xs extends readonly unknown[]>(
|
|
|
345
363
|
*
|
|
346
364
|
* const first: number = values[0]; // OK — no `undefined`
|
|
347
365
|
*
|
|
348
|
-
*
|
|
366
|
+
* assert.strictEqual(first, 1);
|
|
367
|
+
*
|
|
368
|
+
* assert.throws(() => Arr.asNonEmptyTuple([]), TypeError);
|
|
349
369
|
* ```
|
|
350
370
|
*
|
|
351
371
|
* @template Xs - The input array type (tuple types are preserved).
|
package/src/expect-type.mts
CHANGED
|
@@ -1,78 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Compile-time type assertion utility for TypeScript type testing.
|
|
5
|
-
*
|
|
6
|
-
* This function performs static type relationship checking at compile-time and
|
|
7
|
-
* has no runtime effect. It is primarily used in test files to verify that
|
|
8
|
-
* TypeScript's type inference and type relationships work as expected. The
|
|
9
|
-
* function will cause TypeScript compilation errors if the specified type
|
|
10
|
-
* relationship does not hold.
|
|
11
|
-
*
|
|
12
|
-
* ## Supported Type Relations
|
|
13
|
-
*
|
|
14
|
-
* ### Equality Relations
|
|
15
|
-
*
|
|
16
|
-
* - **`"="` (strict equality)**: Asserts that types `A` and `B` are exactly the
|
|
17
|
-
* same type. Uses TypeScript's internal type equality checking.
|
|
18
|
-
* - **`"!="` (strict inequality)**: Asserts that types `A` and `B` are not
|
|
19
|
-
* exactly the same type.
|
|
20
|
-
*
|
|
21
|
-
* ### Assignability Relations
|
|
22
|
-
*
|
|
23
|
-
* - **`"~="` (mutual assignability)**: Asserts that `A` extends `B` AND `B`
|
|
24
|
-
* extends `A`. Types are structurally equivalent and mutually assignable.
|
|
25
|
-
* - **`"<="` (subtype relation)**: Asserts that type `A` extends (is assignable
|
|
26
|
-
* to) type `B`. Type `A` is a subtype of `B`.
|
|
27
|
-
* - **`">="` (supertype relation)**: Asserts that type `B` extends (is assignable
|
|
28
|
-
* to) type `A`. Type `A` is a supertype of `B`.
|
|
29
|
-
*
|
|
30
|
-
* ### Negative Assignability Relations
|
|
31
|
-
*
|
|
32
|
-
* - **`"!<="` (not subtype)**: Asserts that type `A` does NOT extend type `B`.
|
|
33
|
-
* - **`"!>="` (not supertype)**: Asserts that type `B` does NOT extend type `A`.
|
|
34
|
-
*
|
|
35
|
-
* ## Type Parameter Constraints
|
|
36
|
-
*
|
|
37
|
-
* @since 1.0.0
|
|
38
|
-
* @template A - The first type for comparison. Can be any TypeScript type
|
|
39
|
-
* including:
|
|
40
|
-
*
|
|
41
|
-
* - Primitive types (string, number, boolean, etc.)
|
|
42
|
-
* - Object types and interfaces
|
|
43
|
-
* - Union and intersection types
|
|
44
|
-
* - Generic types and type parameters
|
|
45
|
-
* - Literal types and branded types
|
|
46
|
-
* - Function types and return types
|
|
47
|
-
*
|
|
48
|
-
* @template B - The second type for comparison. Same constraints as type `A`.
|
|
49
|
-
* @param _relation - A string literal representing the expected type
|
|
50
|
-
* relationship. TypeScript's type system automatically infers and restricts
|
|
51
|
-
* the available operators based on the actual relationship between types `A`
|
|
52
|
-
* and `B`. If an invalid relationship is specified, TypeScript will show a
|
|
53
|
-
* compilation error.
|
|
54
|
-
*
|
|
55
|
-
* Combine `expectType` with runtime assertions for comprehensive testing:
|
|
56
|
-
*
|
|
57
|
-
* ## Important Notes
|
|
58
|
-
*
|
|
59
|
-
* - **Compile-time only**: This function has no runtime behavior and will be
|
|
60
|
-
* optimized away.
|
|
61
|
-
* - **Type inference**: The available relation operators are automatically
|
|
62
|
-
* inferred by TypeScript based on the actual type relationship between
|
|
63
|
-
* `A` and `B`.
|
|
64
|
-
* - **Error feedback**: Invalid type relationships will cause clear TypeScript
|
|
65
|
-
* compilation errors.
|
|
66
|
-
* - **Test organization**: Typically used in `.test.mts` files alongside runtime
|
|
67
|
-
* assertions.
|
|
68
|
-
* - **Performance**: Has zero runtime overhead as it's purely a compile-time
|
|
69
|
-
* construct.
|
|
70
|
-
*/
|
|
71
|
-
export const expectType = <A, B>(
|
|
72
|
-
_relation: TypeEq<A, B> extends true
|
|
73
|
-
? '<=' | '=' | '>=' | '~='
|
|
74
|
-
: | '!='
|
|
75
|
-
| (TypeExtends<A, B> extends true
|
|
76
|
-
? '<=' | (TypeExtends<B, A> extends true ? '>=' | '~=' : '!>=')
|
|
77
|
-
: '!<=' | (TypeExtends<B, A> extends true ? '>=' : '!>=')),
|
|
78
|
-
): void => undefined;
|
|
1
|
+
/** Implemented in ts-std-forge since Sumi D-49; re-exported here. */
|
|
2
|
+
export { expectType } from 'ts-std-forge';
|
package/src/functional/index.mts
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The algebraic data type core. The implementation lives in ts-std-forge
|
|
3
|
+
* since Sumi D-49 reversed the dependency between the two packages; what
|
|
4
|
+
* remains here is the re-export that keeps `import { Result } from
|
|
5
|
+
* 'ts-data-forge'` working. Both names denote the same declarations, so a
|
|
6
|
+
* value built through either package is the same type to both.
|
|
7
|
+
*
|
|
8
|
+
* New code should import these from `ts-std-forge` directly.
|
|
9
|
+
*/
|
|
10
|
+
export {
|
|
11
|
+
AsyncResult,
|
|
12
|
+
Optional,
|
|
13
|
+
Result,
|
|
14
|
+
TernaryResult,
|
|
15
|
+
match,
|
|
16
|
+
pipe,
|
|
17
|
+
} from 'ts-std-forge';
|
|
18
|
+
|
|
19
|
+
export type {
|
|
20
|
+
Err,
|
|
21
|
+
None,
|
|
22
|
+
Ok,
|
|
23
|
+
Pipe,
|
|
24
|
+
Some,
|
|
25
|
+
TernaryErr,
|
|
26
|
+
TernaryOk,
|
|
27
|
+
TernaryWarn,
|
|
28
|
+
UnknownOptional,
|
|
29
|
+
UnknownResult,
|
|
30
|
+
UnknownTernaryResult,
|
|
31
|
+
} from 'ts-std-forge';
|
package/src/guard/has-key.mts
CHANGED
|
@@ -1,72 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Type guard function that checks if an object has a specific key as its own
|
|
5
|
-
* property.
|
|
6
|
-
*
|
|
7
|
-
* This function uses `Object.hasOwn()` to check if the given object has the
|
|
8
|
-
* specified key as its own property (not inherited). It acts as a type guard
|
|
9
|
-
* that narrows the type of the object to guarantee the key exists, enabling
|
|
10
|
-
* type-safe property access.
|
|
11
|
-
*
|
|
12
|
-
* **Type Narrowing Behavior:**
|
|
13
|
-
*
|
|
14
|
-
* - When the guard returns `true`, TypeScript narrows the object type to include
|
|
15
|
-
* the checked key
|
|
16
|
-
* - For union types, only union members that contain the key are preserved
|
|
17
|
-
* - The key's value type is preserved from the original object type when possible
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* const maybeUser: Readonly<{ id?: number; name?: string }> = {
|
|
23
|
-
* id: 42,
|
|
24
|
-
* } as const;
|
|
25
|
-
*
|
|
26
|
-
* if (hasKey(maybeUser, 'id')) {
|
|
27
|
-
* // `maybeUser` is now known to have an `id` property.
|
|
28
|
-
* assert.isTrue(maybeUser.id === 42);
|
|
29
|
-
* } else {
|
|
30
|
-
* assert.fail();
|
|
31
|
-
* }
|
|
32
|
-
* ```
|
|
33
|
-
*
|
|
34
|
-
* @template R - The type of the input object, must extend UnknownRecord
|
|
35
|
-
* @template K - The type of the key to check for, must extend PropertyKey
|
|
36
|
-
* (string | number | symbol)
|
|
37
|
-
* @param obj - The object to check for the presence of the key
|
|
38
|
-
* @param key - The key to check for in the object
|
|
39
|
-
* @returns `true` if the object has the specified key as its own property,
|
|
40
|
-
* `false` otherwise. When `true`, TypeScript narrows the object type to
|
|
41
|
-
* guarantee the key exists.
|
|
42
|
-
* @see {@link keyIsIn} - Similar function that narrows the key type instead of the object type
|
|
43
|
-
*/
|
|
44
|
-
export const hasKey = <
|
|
45
|
-
const R extends UnknownRecord,
|
|
46
|
-
const K extends PropertyKey,
|
|
47
|
-
>(
|
|
48
|
-
obj: R,
|
|
49
|
-
key: K,
|
|
50
|
-
): obj is HasKeyReturnType<R, K> => Object.hasOwn(obj, key);
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* @internal
|
|
54
|
-
* When R is a union type (including the case with only one element), if any element in the union
|
|
55
|
-
* contains K as a key, returns a type that narrows the union to only those elements that contain K as a key.
|
|
56
|
-
* If none of the elements in the union contain K as a key, returns `ReadonlyRecord<K, unknown>`.
|
|
57
|
-
* The result is made readonly.
|
|
58
|
-
*/
|
|
59
|
-
export type HasKeyReturnType<
|
|
60
|
-
R extends UnknownRecord,
|
|
61
|
-
K extends PropertyKey,
|
|
62
|
-
> = R extends R // union distribution
|
|
63
|
-
? K extends keyof R
|
|
64
|
-
? string extends keyof R
|
|
65
|
-
? ReadonlyRecord<K, R[keyof R]> & R
|
|
66
|
-
: number extends keyof R
|
|
67
|
-
? ReadonlyRecord<K, R[keyof R]> & R
|
|
68
|
-
: symbol extends keyof R
|
|
69
|
-
? ReadonlyRecord<K, R[keyof R]> & R
|
|
70
|
-
: R
|
|
71
|
-
: never // omit union member that does not have key K
|
|
72
|
-
: never; // dummy case for union distribution
|
|
1
|
+
/** Implemented in ts-std-forge since Sumi D-49; re-exported here. */
|
|
2
|
+
export { hasKey, type HasKeyReturnType } from 'ts-std-forge';
|
|
@@ -1,36 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* This function checks if a value has type `"object"` according to the `typeof`
|
|
5
|
-
* operator and is not `null`. This includes all object types such as plain
|
|
6
|
-
* objects, arrays, dates, regular expressions, and other object instances, but
|
|
7
|
-
* excludes functions.
|
|
8
|
-
*
|
|
9
|
-
* **Type Narrowing Behavior:**
|
|
10
|
-
*
|
|
11
|
-
* - Narrows `unknown` to `object`
|
|
12
|
-
* - Excludes `null`, `undefined`, and all primitive types
|
|
13
|
-
* - Excludes functions (they have `typeof` === `"function"`, not `"object"`)
|
|
14
|
-
* - Includes arrays, dates, regex, and other object instances
|
|
15
|
-
*
|
|
16
|
-
* **Note:** This function returns `true` for arrays. If you need
|
|
17
|
-
* record-oriented narrowing that excludes arrays, use `isRecord()` instead.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* const mixed: readonly unknown[] = [{ id: 1 }, null, 'Ada'] as const;
|
|
23
|
-
*
|
|
24
|
-
* const objects = mixed.filter(isNonNullObject);
|
|
25
|
-
*
|
|
26
|
-
* assert.deepStrictEqual(objects, [{ id: 1 }]);
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @param u - The value to check
|
|
30
|
-
* @returns `true` if `u` is an object and not `null`, `false` otherwise. When
|
|
31
|
-
* `true`, TypeScript narrows the type to `object`.
|
|
32
|
-
* @see {@link isRecord} - For record-oriented type narrowing (excludes arrays)
|
|
33
|
-
*/
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-restricted-types
|
|
35
|
-
export const isNonNullObject = (u: unknown): u is object =>
|
|
36
|
-
typeof u === 'object' && u !== null;
|
|
1
|
+
/** Implemented in ts-std-forge since Sumi D-49; re-exported here. */
|
|
2
|
+
export { isNonNullObject } from 'ts-std-forge';
|