@resultsafe/core-fp-result 0.1.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/LICENSE +21 -0
- package/README.md +273 -0
- package/README.ru.md +266 -0
- package/dist/LICENSE +21 -0
- package/dist/README.md +273 -0
- package/dist/cjs/constructors/Err.js +4 -0
- package/dist/cjs/constructors/Err.js.map +1 -0
- package/dist/cjs/constructors/Ok.js +4 -0
- package/dist/cjs/constructors/Ok.js.map +1 -0
- package/dist/cjs/guards/isErr.js +4 -0
- package/dist/cjs/guards/isErr.js.map +1 -0
- package/dist/cjs/guards/isErrAnd.js +5 -0
- package/dist/cjs/guards/isErrAnd.js.map +1 -0
- package/dist/cjs/guards/isOk.js +4 -0
- package/dist/cjs/guards/isOk.js.map +1 -0
- package/dist/cjs/guards/isOkAnd.js +5 -0
- package/dist/cjs/guards/isOkAnd.js.map +1 -0
- package/dist/cjs/index.js +70 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/object.js +6 -0
- package/dist/cjs/internal/object.js.map +1 -0
- package/dist/cjs/internal/option.js +6 -0
- package/dist/cjs/internal/option.js.map +1 -0
- package/dist/cjs/methods/andThen.js +5 -0
- package/dist/cjs/methods/andThen.js.map +1 -0
- package/dist/cjs/methods/err.js +6 -0
- package/dist/cjs/methods/err.js.map +1 -0
- package/dist/cjs/methods/expect.js +10 -0
- package/dist/cjs/methods/expect.js.map +1 -0
- package/dist/cjs/methods/expectErr.js +10 -0
- package/dist/cjs/methods/expectErr.js.map +1 -0
- package/dist/cjs/methods/flatten.js +4 -0
- package/dist/cjs/methods/flatten.js.map +1 -0
- package/dist/cjs/methods/inspect.js +10 -0
- package/dist/cjs/methods/inspect.js.map +1 -0
- package/dist/cjs/methods/inspectErr.js +10 -0
- package/dist/cjs/methods/inspectErr.js.map +1 -0
- package/dist/cjs/methods/map.js +5 -0
- package/dist/cjs/methods/map.js.map +1 -0
- package/dist/cjs/methods/mapErr.js +5 -0
- package/dist/cjs/methods/mapErr.js.map +1 -0
- package/dist/cjs/methods/match.js +11 -0
- package/dist/cjs/methods/match.js.map +1 -0
- package/dist/cjs/methods/ok.js +6 -0
- package/dist/cjs/methods/ok.js.map +1 -0
- package/dist/cjs/methods/orElse.js +5 -0
- package/dist/cjs/methods/orElse.js.map +1 -0
- package/dist/cjs/methods/tap.js +9 -0
- package/dist/cjs/methods/tap.js.map +1 -0
- package/dist/cjs/methods/tapErr.js +10 -0
- package/dist/cjs/methods/tapErr.js.map +1 -0
- package/dist/cjs/methods/transpose.js +10 -0
- package/dist/cjs/methods/transpose.js.map +1 -0
- package/dist/cjs/methods/unwrap.js +10 -0
- package/dist/cjs/methods/unwrap.js.map +1 -0
- package/dist/cjs/methods/unwrapErr.js +10 -0
- package/dist/cjs/methods/unwrapErr.js.map +1 -0
- package/dist/cjs/methods/unwrapOr.js +5 -0
- package/dist/cjs/methods/unwrapOr.js.map +1 -0
- package/dist/cjs/methods/unwrapOrElse.js +10 -0
- package/dist/cjs/methods/unwrapOrElse.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/refiners/isTypedVariant.js +9 -0
- package/dist/cjs/refiners/isTypedVariant.js.map +1 -0
- package/dist/cjs/refiners/isTypedVariantOf.js +14 -0
- package/dist/cjs/refiners/isTypedVariantOf.js.map +1 -0
- package/dist/cjs/refiners/matchVariant.js +57 -0
- package/dist/cjs/refiners/matchVariant.js.map +1 -0
- package/dist/cjs/refiners/matchVariantStrict.js +37 -0
- package/dist/cjs/refiners/matchVariantStrict.js.map +1 -0
- package/dist/cjs/refiners/refineAsyncResult.js +26 -0
- package/dist/cjs/refiners/refineAsyncResult.js.map +1 -0
- package/dist/cjs/refiners/refineAsyncResultU.js +28 -0
- package/dist/cjs/refiners/refineAsyncResultU.js.map +1 -0
- package/dist/cjs/refiners/refineResult.js +21 -0
- package/dist/cjs/refiners/refineResult.js.map +1 -0
- package/dist/cjs/refiners/refineResultU.js +5 -0
- package/dist/cjs/refiners/refineResultU.js.map +1 -0
- package/dist/cjs/refiners/refineVariantMap.js +25 -0
- package/dist/cjs/refiners/refineVariantMap.js.map +1 -0
- package/dist/cjs/refiners/utils/getPayloadKeys.js +8 -0
- package/dist/cjs/refiners/utils/getPayloadKeys.js.map +1 -0
- package/dist/docs/api/README.md +9 -0
- package/dist/docs/api/constructors/Err.md +58 -0
- package/dist/docs/api/constructors/Ok.md +58 -0
- package/dist/docs/api/constructors/index.md +7 -0
- package/dist/docs/api/guards/index.md +9 -0
- package/dist/docs/api/guards/isErr.md +58 -0
- package/dist/docs/api/guards/isErrAnd.md +64 -0
- package/dist/docs/api/guards/isOk.md +58 -0
- package/dist/docs/api/guards/isOkAnd.md +64 -0
- package/dist/docs/api/index.md +9 -0
- package/dist/docs/api/methods/andThen.md +73 -0
- package/dist/docs/api/methods/err.md +58 -0
- package/dist/docs/api/methods/expect.md +68 -0
- package/dist/docs/api/methods/expectErr.md +68 -0
- package/dist/docs/api/methods/flatten.md +58 -0
- package/dist/docs/api/methods/index.md +24 -0
- package/dist/docs/api/methods/inspect.md +64 -0
- package/dist/docs/api/methods/inspectErr.md +64 -0
- package/dist/docs/api/methods/map.md +70 -0
- package/dist/docs/api/methods/mapErr.md +70 -0
- package/dist/docs/api/methods/match.md +76 -0
- package/dist/docs/api/methods/ok.md +58 -0
- package/dist/docs/api/methods/orElse.md +70 -0
- package/dist/docs/api/methods/tap.md +64 -0
- package/dist/docs/api/methods/tapErr.md +64 -0
- package/dist/docs/api/methods/transpose.md +58 -0
- package/dist/docs/api/methods/unwrap.md +62 -0
- package/dist/docs/api/methods/unwrapErr.md +62 -0
- package/dist/docs/api/methods/unwrapOr.md +64 -0
- package/dist/docs/api/methods/unwrapOrElse.md +64 -0
- package/dist/docs/api/modules.md +10 -0
- package/dist/docs/api/refiners/index.md +14 -0
- package/dist/docs/api/refiners/isTypedVariant.md +62 -0
- package/dist/docs/api/refiners/isTypedVariantOf.md +68 -0
- package/dist/docs/api/refiners/matchVariant.md +59 -0
- package/dist/docs/api/refiners/matchVariantStrict.md +63 -0
- package/dist/docs/api/refiners/refineAsyncResult.md +98 -0
- package/dist/docs/api/refiners/refineAsyncResultU.md +86 -0
- package/dist/docs/api/refiners/refineResult.md +98 -0
- package/dist/docs/api/refiners/refineResultU.md +86 -0
- package/dist/docs/api/refiners/refineVariantMap.md +79 -0
- package/dist/docs/api/type-aliases/Handler.md +49 -0
- package/dist/docs/api/type-aliases/MatchBuilder.md +57 -0
- package/dist/docs/api/type-aliases/Matcher.md +71 -0
- package/dist/docs/api/type-aliases/SyncRefinedResult.md +31 -0
- package/dist/docs/api/type-aliases/SyncRefinedResultUnion.md +21 -0
- package/dist/docs/api/type-aliases/SyncValidatorMap.md +17 -0
- package/dist/docs/api/type-aliases/UniversalAsyncRefinedResult.md +31 -0
- package/dist/docs/api/type-aliases/UniversalRefinedResult.md +31 -0
- package/dist/docs/api/type-aliases/VariantOf.md +23 -0
- package/dist/docs/api/type-aliases/index.md +14 -0
- package/dist/esm/constructors/Err.js +7 -0
- package/dist/esm/constructors/Err.js.map +1 -0
- package/dist/esm/constructors/Ok.js +7 -0
- package/dist/esm/constructors/Ok.js.map +1 -0
- package/dist/esm/guards/isErr.js +7 -0
- package/dist/esm/guards/isErr.js.map +1 -0
- package/dist/esm/guards/isErrAnd.js +8 -0
- package/dist/esm/guards/isErrAnd.js.map +1 -0
- package/dist/esm/guards/isOk.js +7 -0
- package/dist/esm/guards/isOk.js.map +1 -0
- package/dist/esm/guards/isOkAnd.js +8 -0
- package/dist/esm/guards/isOkAnd.js.map +1 -0
- package/dist/esm/index.js +71 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/object.js +9 -0
- package/dist/esm/internal/object.js.map +1 -0
- package/dist/esm/internal/option.js +9 -0
- package/dist/esm/internal/option.js.map +1 -0
- package/dist/esm/methods/andThen.js +8 -0
- package/dist/esm/methods/andThen.js.map +1 -0
- package/dist/esm/methods/err.js +9 -0
- package/dist/esm/methods/err.js.map +1 -0
- package/dist/esm/methods/expect.js +13 -0
- package/dist/esm/methods/expect.js.map +1 -0
- package/dist/esm/methods/expectErr.js +13 -0
- package/dist/esm/methods/expectErr.js.map +1 -0
- package/dist/esm/methods/flatten.js +7 -0
- package/dist/esm/methods/flatten.js.map +1 -0
- package/dist/esm/methods/inspect.js +13 -0
- package/dist/esm/methods/inspect.js.map +1 -0
- package/dist/esm/methods/inspectErr.js +13 -0
- package/dist/esm/methods/inspectErr.js.map +1 -0
- package/dist/esm/methods/map.js +8 -0
- package/dist/esm/methods/map.js.map +1 -0
- package/dist/esm/methods/mapErr.js +8 -0
- package/dist/esm/methods/mapErr.js.map +1 -0
- package/dist/esm/methods/match.js +14 -0
- package/dist/esm/methods/match.js.map +1 -0
- package/dist/esm/methods/ok.js +9 -0
- package/dist/esm/methods/ok.js.map +1 -0
- package/dist/esm/methods/orElse.js +8 -0
- package/dist/esm/methods/orElse.js.map +1 -0
- package/dist/esm/methods/tap.js +12 -0
- package/dist/esm/methods/tap.js.map +1 -0
- package/dist/esm/methods/tapErr.js +13 -0
- package/dist/esm/methods/tapErr.js.map +1 -0
- package/dist/esm/methods/transpose.js +13 -0
- package/dist/esm/methods/transpose.js.map +1 -0
- package/dist/esm/methods/unwrap.js +13 -0
- package/dist/esm/methods/unwrap.js.map +1 -0
- package/dist/esm/methods/unwrapErr.js +13 -0
- package/dist/esm/methods/unwrapErr.js.map +1 -0
- package/dist/esm/methods/unwrapOr.js +8 -0
- package/dist/esm/methods/unwrapOr.js.map +1 -0
- package/dist/esm/methods/unwrapOrElse.js +13 -0
- package/dist/esm/methods/unwrapOrElse.js.map +1 -0
- package/dist/esm/refiners/isTypedVariant.js +12 -0
- package/dist/esm/refiners/isTypedVariant.js.map +1 -0
- package/dist/esm/refiners/isTypedVariantOf.js +17 -0
- package/dist/esm/refiners/isTypedVariantOf.js.map +1 -0
- package/dist/esm/refiners/matchVariant.js +60 -0
- package/dist/esm/refiners/matchVariant.js.map +1 -0
- package/dist/esm/refiners/matchVariantStrict.js +40 -0
- package/dist/esm/refiners/matchVariantStrict.js.map +1 -0
- package/dist/esm/refiners/refineAsyncResult.js +29 -0
- package/dist/esm/refiners/refineAsyncResult.js.map +1 -0
- package/dist/esm/refiners/refineAsyncResultU.js +31 -0
- package/dist/esm/refiners/refineAsyncResultU.js.map +1 -0
- package/dist/esm/refiners/refineResult.js +24 -0
- package/dist/esm/refiners/refineResult.js.map +1 -0
- package/dist/esm/refiners/refineResultU.js +8 -0
- package/dist/esm/refiners/refineResultU.js.map +1 -0
- package/dist/esm/refiners/refineVariantMap.js +29 -0
- package/dist/esm/refiners/refineVariantMap.js.map +1 -0
- package/dist/esm/refiners/utils/getPayloadKeys.js +11 -0
- package/dist/esm/refiners/utils/getPayloadKeys.js.map +1 -0
- package/dist/package.json +36 -0
- package/dist/types/constructors/Err.d.ts +21 -0
- package/dist/types/constructors/Err.d.ts.map +1 -0
- package/dist/types/constructors/Ok.d.ts +21 -0
- package/dist/types/constructors/Ok.d.ts.map +1 -0
- package/dist/types/constructors/index.d.ts +3 -0
- package/dist/types/constructors/index.d.ts.map +1 -0
- package/dist/types/guards/index.d.ts +5 -0
- package/dist/types/guards/index.d.ts.map +1 -0
- package/dist/types/guards/isErr.d.ts +24 -0
- package/dist/types/guards/isErr.d.ts.map +1 -0
- package/dist/types/guards/isErrAnd.d.ts +22 -0
- package/dist/types/guards/isErrAnd.d.ts.map +1 -0
- package/dist/types/guards/isOk.d.ts +24 -0
- package/dist/types/guards/isOk.d.ts.map +1 -0
- package/dist/types/guards/isOkAnd.d.ts +22 -0
- package/dist/types/guards/isOkAnd.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/internal/object.d.ts +5 -0
- package/dist/types/internal/object.d.ts.map +1 -0
- package/dist/types/internal/option.d.ts +10 -0
- package/dist/types/internal/option.d.ts.map +1 -0
- package/dist/types/methods/andThen.d.ts +26 -0
- package/dist/types/methods/andThen.d.ts.map +1 -0
- package/dist/types/methods/err.d.ts +22 -0
- package/dist/types/methods/err.d.ts.map +1 -0
- package/dist/types/methods/expect.d.ts +23 -0
- package/dist/types/methods/expect.d.ts.map +1 -0
- package/dist/types/methods/expectErr.d.ts +23 -0
- package/dist/types/methods/expectErr.d.ts.map +1 -0
- package/dist/types/methods/flatten.d.ts +21 -0
- package/dist/types/methods/flatten.d.ts.map +1 -0
- package/dist/types/methods/index.d.ts +20 -0
- package/dist/types/methods/index.d.ts.map +1 -0
- package/dist/types/methods/inspect.d.ts +22 -0
- package/dist/types/methods/inspect.d.ts.map +1 -0
- package/dist/types/methods/inspectErr.d.ts +22 -0
- package/dist/types/methods/inspectErr.d.ts.map +1 -0
- package/dist/types/methods/map.d.ts +23 -0
- package/dist/types/methods/map.d.ts.map +1 -0
- package/dist/types/methods/mapErr.d.ts +23 -0
- package/dist/types/methods/mapErr.d.ts.map +1 -0
- package/dist/types/methods/match.d.ts +24 -0
- package/dist/types/methods/match.d.ts.map +1 -0
- package/dist/types/methods/ok.d.ts +22 -0
- package/dist/types/methods/ok.d.ts.map +1 -0
- package/dist/types/methods/orElse.d.ts +23 -0
- package/dist/types/methods/orElse.d.ts.map +1 -0
- package/dist/types/methods/tap.d.ts +22 -0
- package/dist/types/methods/tap.d.ts.map +1 -0
- package/dist/types/methods/tapErr.d.ts +22 -0
- package/dist/types/methods/tapErr.d.ts.map +1 -0
- package/dist/types/methods/transpose.d.ts +22 -0
- package/dist/types/methods/transpose.d.ts.map +1 -0
- package/dist/types/methods/unwrap.d.ts +22 -0
- package/dist/types/methods/unwrap.d.ts.map +1 -0
- package/dist/types/methods/unwrapErr.d.ts +22 -0
- package/dist/types/methods/unwrapErr.d.ts.map +1 -0
- package/dist/types/methods/unwrapOr.d.ts +22 -0
- package/dist/types/methods/unwrapOr.d.ts.map +1 -0
- package/dist/types/methods/unwrapOrElse.d.ts +22 -0
- package/dist/types/methods/unwrapOrElse.d.ts.map +1 -0
- package/dist/types/refiners/index.d.ts +11 -0
- package/dist/types/refiners/index.d.ts.map +1 -0
- package/dist/types/refiners/isTypedVariant.d.ts +21 -0
- package/dist/types/refiners/isTypedVariant.d.ts.map +1 -0
- package/dist/types/refiners/isTypedVariantOf.d.ts +22 -0
- package/dist/types/refiners/isTypedVariantOf.d.ts.map +1 -0
- package/dist/types/refiners/matchVariant.d.ts +27 -0
- package/dist/types/refiners/matchVariant.d.ts.map +1 -0
- package/dist/types/refiners/matchVariantStrict.d.ts +28 -0
- package/dist/types/refiners/matchVariantStrict.d.ts.map +1 -0
- package/dist/types/refiners/refineAsyncResult.d.ts +54 -0
- package/dist/types/refiners/refineAsyncResult.d.ts.map +1 -0
- package/dist/types/refiners/refineAsyncResultU.d.ts +30 -0
- package/dist/types/refiners/refineAsyncResultU.d.ts.map +1 -0
- package/dist/types/refiners/refineResult.d.ts +54 -0
- package/dist/types/refiners/refineResult.d.ts.map +1 -0
- package/dist/types/refiners/refineResultU.d.ts +30 -0
- package/dist/types/refiners/refineResultU.d.ts.map +1 -0
- package/dist/types/refiners/refineVariantMap.d.ts +34 -0
- package/dist/types/refiners/refineVariantMap.d.ts.map +1 -0
- package/dist/types/refiners/types/Handler.d.ts +9 -0
- package/dist/types/refiners/types/Handler.d.ts.map +1 -0
- package/dist/types/refiners/types/MatchBuilder.d.ts +9 -0
- package/dist/types/refiners/types/MatchBuilder.d.ts.map +1 -0
- package/dist/types/refiners/types/Matcher.d.ts +11 -0
- package/dist/types/refiners/types/Matcher.d.ts.map +1 -0
- package/dist/types/refiners/types/SyncRefinedResult.d.ts +6 -0
- package/dist/types/refiners/types/SyncRefinedResult.d.ts.map +1 -0
- package/dist/types/refiners/types/SyncRefinedResultUnion.d.ts +8 -0
- package/dist/types/refiners/types/SyncRefinedResultUnion.d.ts.map +1 -0
- package/dist/types/refiners/types/SyncValidatorMap.d.ts +6 -0
- package/dist/types/refiners/types/SyncValidatorMap.d.ts.map +1 -0
- package/dist/types/refiners/types/UniversalAsyncRefinedResult.d.ts +6 -0
- package/dist/types/refiners/types/UniversalAsyncRefinedResult.d.ts.map +1 -0
- package/dist/types/refiners/types/UniversalRefinedResult.d.ts +6 -0
- package/dist/types/refiners/types/UniversalRefinedResult.d.ts.map +1 -0
- package/dist/types/refiners/types/VariantOf.d.ts +5 -0
- package/dist/types/refiners/types/VariantOf.d.ts.map +1 -0
- package/dist/types/refiners/types/index.d.ts +10 -0
- package/dist/types/refiners/types/index.d.ts.map +1 -0
- package/dist/types/refiners/utils/getPayloadKeys.d.ts +19 -0
- package/dist/types/refiners/utils/getPayloadKeys.d.ts.map +1 -0
- package/dist/types/refiners/utils/index.d.ts +2 -0
- package/dist/types/refiners/utils/index.d.ts.map +1 -0
- package/dist/types/shared-types.d.ts +22 -0
- package/dist/types/shared-types.d.ts.map +1 -0
- package/dist/umd/resultsafe-monorepo-core-fp-result.umd.js +2 -0
- package/dist/umd/resultsafe-monorepo-core-fp-result.umd.js.map +1 -0
- package/docs/_category_.json +6 -0
- package/docs/api/README.md +9 -0
- package/docs/api/constructors/Err.md +58 -0
- package/docs/api/constructors/Ok.md +58 -0
- package/docs/api/constructors/index.md +7 -0
- package/docs/api/guards/index.md +9 -0
- package/docs/api/guards/isErr.md +58 -0
- package/docs/api/guards/isErrAnd.md +64 -0
- package/docs/api/guards/isOk.md +58 -0
- package/docs/api/guards/isOkAnd.md +64 -0
- package/docs/api/index.md +9 -0
- package/docs/api/methods/andThen.md +73 -0
- package/docs/api/methods/err.md +58 -0
- package/docs/api/methods/expect.md +68 -0
- package/docs/api/methods/expectErr.md +68 -0
- package/docs/api/methods/flatten.md +58 -0
- package/docs/api/methods/index.md +24 -0
- package/docs/api/methods/inspect.md +64 -0
- package/docs/api/methods/inspectErr.md +64 -0
- package/docs/api/methods/map.md +70 -0
- package/docs/api/methods/mapErr.md +70 -0
- package/docs/api/methods/match.md +76 -0
- package/docs/api/methods/ok.md +58 -0
- package/docs/api/methods/orElse.md +70 -0
- package/docs/api/methods/tap.md +64 -0
- package/docs/api/methods/tapErr.md +64 -0
- package/docs/api/methods/transpose.md +58 -0
- package/docs/api/methods/unwrap.md +62 -0
- package/docs/api/methods/unwrapErr.md +62 -0
- package/docs/api/methods/unwrapOr.md +64 -0
- package/docs/api/methods/unwrapOrElse.md +64 -0
- package/docs/api/modules.md +10 -0
- package/docs/api/refiners/index.md +14 -0
- package/docs/api/refiners/isTypedVariant.md +62 -0
- package/docs/api/refiners/isTypedVariantOf.md +68 -0
- package/docs/api/refiners/matchVariant.md +59 -0
- package/docs/api/refiners/matchVariantStrict.md +63 -0
- package/docs/api/refiners/refineAsyncResult.md +98 -0
- package/docs/api/refiners/refineAsyncResultU.md +86 -0
- package/docs/api/refiners/refineResult.md +98 -0
- package/docs/api/refiners/refineResultU.md +86 -0
- package/docs/api/refiners/refineVariantMap.md +79 -0
- package/docs/api/type-aliases/Handler.md +49 -0
- package/docs/api/type-aliases/MatchBuilder.md +57 -0
- package/docs/api/type-aliases/Matcher.md +71 -0
- package/docs/api/type-aliases/SyncRefinedResult.md +31 -0
- package/docs/api/type-aliases/SyncRefinedResultUnion.md +21 -0
- package/docs/api/type-aliases/SyncValidatorMap.md +17 -0
- package/docs/api/type-aliases/UniversalAsyncRefinedResult.md +31 -0
- package/docs/api/type-aliases/UniversalRefinedResult.md +31 -0
- package/docs/api/type-aliases/VariantOf.md +23 -0
- package/docs/api/type-aliases/index.md +14 -0
- package/docs/assets/logo.svg +153 -0
- package/docs/examples/_category_.json +4 -0
- package/docs/examples/auth/_category_.json +4 -0
- package/docs/examples/auth/index.md +3 -0
- package/docs/examples/auth/token.md +5 -0
- package/docs/examples/connection/_category_.json +4 -0
- package/docs/examples/connection/connect.md +5 -0
- package/docs/examples/connection/index.md +3 -0
- package/docs/examples/connection/reconnect.md +5 -0
- package/docs/examples/errors/_category_.json +4 -0
- package/docs/examples/errors/index.md +3 -0
- package/docs/examples/errors/retry.md +5 -0
- package/docs/examples/index.md +9 -0
- package/docs/examples/streaming/_category_.json +4 -0
- package/docs/examples/streaming/index.md +3 -0
- package/docs/examples/streaming/text.md +5 -0
- package/package.json +70 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / matchVariant
|
|
8
|
+
|
|
9
|
+
# Функция: matchVariant()
|
|
10
|
+
|
|
11
|
+
> **matchVariant**\<`T`\>(`value`): [`Matcher`](../type-aliases/Matcher.md)\<`T`, `unknown`\>
|
|
12
|
+
|
|
13
|
+
Создает цепочный matcher для значения дискриминированного объединения.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### T
|
|
18
|
+
|
|
19
|
+
`T` *extends* [`VariantOf`](../type-aliases/VariantOf.md)
|
|
20
|
+
|
|
21
|
+
Тип дискриминированного объединения.
|
|
22
|
+
|
|
23
|
+
## Параметры
|
|
24
|
+
|
|
25
|
+
### value
|
|
26
|
+
|
|
27
|
+
`T`
|
|
28
|
+
|
|
29
|
+
Значение объединения для сопоставления.
|
|
30
|
+
|
|
31
|
+
## Возвращает
|
|
32
|
+
|
|
33
|
+
[`Matcher`](../type-aliases/Matcher.md)\<`T`, `unknown`\>
|
|
34
|
+
|
|
35
|
+
Fluent matcher с ветками `with` и `otherwise`.
|
|
36
|
+
|
|
37
|
+
## Начиная с версии
|
|
38
|
+
|
|
39
|
+
0.1.0
|
|
40
|
+
|
|
41
|
+
## См. также
|
|
42
|
+
|
|
43
|
+
[matchVariantStrict](./matchVariantStrict.md) - Требует исчерпывающего сопоставления во время выполнения.
|
|
44
|
+
|
|
45
|
+
## Пример
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { matchVariant } from '@resultsafe/core-fp-result';
|
|
49
|
+
|
|
50
|
+
const out = matchVariant<{ type: 'ok'; value: number } | { type: 'err'; error: string }>({
|
|
51
|
+
type: 'ok',
|
|
52
|
+
value: 1,
|
|
53
|
+
})
|
|
54
|
+
.with('ok', (v) => `ok:${v.value}`)
|
|
55
|
+
.otherwise(() => 'fallback')
|
|
56
|
+
.run();
|
|
57
|
+
|
|
58
|
+
console.log(out); // ok:1
|
|
59
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / matchVariantStrict
|
|
8
|
+
|
|
9
|
+
# Функция: matchVariantStrict()
|
|
10
|
+
|
|
11
|
+
> **matchVariantStrict**\<`T`\>(`value`): [`MatchBuilder`](../type-aliases/MatchBuilder.md)\<`T`, `unknown`\>
|
|
12
|
+
|
|
13
|
+
Создает строгий matcher, выбрасывающий исключение для необработанных вариантов.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### T
|
|
18
|
+
|
|
19
|
+
`T` *extends* [`VariantOf`](../type-aliases/VariantOf.md)
|
|
20
|
+
|
|
21
|
+
Тип дискриминированного объединения.
|
|
22
|
+
|
|
23
|
+
## Параметры
|
|
24
|
+
|
|
25
|
+
### value
|
|
26
|
+
|
|
27
|
+
`T`
|
|
28
|
+
|
|
29
|
+
Значение объединения для сопоставления.
|
|
30
|
+
|
|
31
|
+
## Возвращает
|
|
32
|
+
|
|
33
|
+
[`MatchBuilder`](../type-aliases/MatchBuilder.md)\<`T`, `unknown`\>
|
|
34
|
+
|
|
35
|
+
Строгий builder сопоставления, требующий явных обработчиков.
|
|
36
|
+
|
|
37
|
+
## Исключения
|
|
38
|
+
|
|
39
|
+
Error - Выбрасывает исключение, если ни один зарегистрированный обработчик не соответствует `value.type`.
|
|
40
|
+
|
|
41
|
+
## Начиная с версии
|
|
42
|
+
|
|
43
|
+
0.1.0
|
|
44
|
+
|
|
45
|
+
## См. также
|
|
46
|
+
|
|
47
|
+
[matchVariant](./matchVariant.md) - Использует fallback-ветку вместо выброса исключения.
|
|
48
|
+
|
|
49
|
+
## Пример
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { matchVariantStrict } from '@resultsafe/core-fp-result';
|
|
53
|
+
|
|
54
|
+
const out = matchVariantStrict<{ type: 'ok'; value: number } | { type: 'err'; error: string }>({
|
|
55
|
+
type: 'err',
|
|
56
|
+
error: 'boom',
|
|
57
|
+
})
|
|
58
|
+
.with('ok', (v) => `ok:${v.value}`)
|
|
59
|
+
.with('err', (v) => `err:${v.error}`)
|
|
60
|
+
.run();
|
|
61
|
+
|
|
62
|
+
console.log(out); // err:boom
|
|
63
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / refineAsyncResult
|
|
8
|
+
|
|
9
|
+
# Функция: refineAsyncResult()
|
|
10
|
+
|
|
11
|
+
> **refineAsyncResult**\<`TMap`\>(`variantMap`): \<`K`\>(`variant`) => \<`TValidators`\>(`validators`) => (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
12
|
+
|
|
13
|
+
Создает асинхронный refiner варианта с асинхронными валидаторами payload.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### TMap
|
|
18
|
+
|
|
19
|
+
`TMap` *extends* `Record`\<`string`, `VariantConfig`\>
|
|
20
|
+
|
|
21
|
+
Тип карты конфигурации вариантов.
|
|
22
|
+
|
|
23
|
+
## Параметры
|
|
24
|
+
|
|
25
|
+
### variantMap
|
|
26
|
+
|
|
27
|
+
`TMap`
|
|
28
|
+
|
|
29
|
+
Карта, описывающая допустимые варианты и поля payload.
|
|
30
|
+
|
|
31
|
+
## Возвращает
|
|
32
|
+
|
|
33
|
+
A curried async refiner factory bound to `variantMap`.
|
|
34
|
+
|
|
35
|
+
> \<`K`\>(`variant`): \<`TValidators`\>(`validators`) => (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
36
|
+
|
|
37
|
+
### Параметры типа
|
|
38
|
+
|
|
39
|
+
#### K
|
|
40
|
+
|
|
41
|
+
`K` *extends* `string`
|
|
42
|
+
|
|
43
|
+
### Параметры
|
|
44
|
+
|
|
45
|
+
#### variant
|
|
46
|
+
|
|
47
|
+
`K`
|
|
48
|
+
|
|
49
|
+
### Возвращает
|
|
50
|
+
|
|
51
|
+
> \<`TValidators`\>(`validators`): (`value`) => `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
52
|
+
|
|
53
|
+
#### Параметры типа
|
|
54
|
+
|
|
55
|
+
##### TValidators
|
|
56
|
+
|
|
57
|
+
`TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `AsyncValidatorFn`\>\>
|
|
58
|
+
|
|
59
|
+
#### Параметры
|
|
60
|
+
|
|
61
|
+
##### validators
|
|
62
|
+
|
|
63
|
+
`TValidators`
|
|
64
|
+
|
|
65
|
+
#### Возвращает
|
|
66
|
+
|
|
67
|
+
> (`value`): `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
68
|
+
|
|
69
|
+
##### Параметры
|
|
70
|
+
|
|
71
|
+
###### value
|
|
72
|
+
|
|
73
|
+
`unknown`
|
|
74
|
+
|
|
75
|
+
##### Возвращает
|
|
76
|
+
|
|
77
|
+
`Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
78
|
+
|
|
79
|
+
## Начиная с версии
|
|
80
|
+
|
|
81
|
+
0.1.0
|
|
82
|
+
|
|
83
|
+
## См. также
|
|
84
|
+
|
|
85
|
+
[refineAsyncResultU](./refineAsyncResultU.md) - Непосредственный (не-curry) вариант helper.
|
|
86
|
+
|
|
87
|
+
## Пример
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import { refineAsyncResult } from '@resultsafe/core-fp-result';
|
|
91
|
+
|
|
92
|
+
const map = { ok: { payload: 'value' } } as const;
|
|
93
|
+
const refineOk = refineAsyncResult(map)('ok')({
|
|
94
|
+
value: async (x: unknown) => typeof x === 'number',
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
console.log(await refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
|
|
98
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / refineAsyncResultU
|
|
8
|
+
|
|
9
|
+
# Функция: refineAsyncResultU()
|
|
10
|
+
|
|
11
|
+
> **refineAsyncResultU**\<`TMap`, `K`, `TValidators`\>(`value`, `variant`, `variantMap`, `validators`): `Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
12
|
+
|
|
13
|
+
Уточняет значение асинхронно в не-curry стиле вызова.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### TMap
|
|
18
|
+
|
|
19
|
+
`TMap` *extends* `Record`\<`string`, `VariantConfig`\>
|
|
20
|
+
|
|
21
|
+
Тип карты конфигурации вариантов.
|
|
22
|
+
|
|
23
|
+
### K
|
|
24
|
+
|
|
25
|
+
`K` *extends* `string`
|
|
26
|
+
|
|
27
|
+
Ключ целевого варианта.
|
|
28
|
+
|
|
29
|
+
### TValidators
|
|
30
|
+
|
|
31
|
+
`TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `AsyncValidatorFn`\>\>
|
|
32
|
+
|
|
33
|
+
Карта асинхронных валидаторов для полей payload.
|
|
34
|
+
|
|
35
|
+
## Параметры
|
|
36
|
+
|
|
37
|
+
### value
|
|
38
|
+
|
|
39
|
+
`unknown`
|
|
40
|
+
|
|
41
|
+
Значение для валидации и уточнения.
|
|
42
|
+
|
|
43
|
+
### variant
|
|
44
|
+
|
|
45
|
+
`K`
|
|
46
|
+
|
|
47
|
+
Ключ целевого варианта.
|
|
48
|
+
|
|
49
|
+
### variantMap
|
|
50
|
+
|
|
51
|
+
`TMap`
|
|
52
|
+
|
|
53
|
+
Карта конфигурации вариантов.
|
|
54
|
+
|
|
55
|
+
### validators
|
|
56
|
+
|
|
57
|
+
`TValidators`
|
|
58
|
+
|
|
59
|
+
Асинхронные валидаторы payload.
|
|
60
|
+
|
|
61
|
+
## Возвращает
|
|
62
|
+
|
|
63
|
+
`Promise`\<`null` \| [`UniversalAsyncRefinedResult`](../type-aliases/UniversalAsyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>\>
|
|
64
|
+
|
|
65
|
+
Промис с уточненным значением или `null`.
|
|
66
|
+
|
|
67
|
+
## Начиная с версии
|
|
68
|
+
|
|
69
|
+
0.1.0
|
|
70
|
+
|
|
71
|
+
## См. также
|
|
72
|
+
|
|
73
|
+
[refineAsyncResult](./refineAsyncResult.md) - Curry-конструктор асинхронного refiner.
|
|
74
|
+
|
|
75
|
+
## Пример
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { refineAsyncResultU } from '@resultsafe/core-fp-result';
|
|
79
|
+
|
|
80
|
+
const map = { ok: { payload: 'value' } } as const;
|
|
81
|
+
const out = await refineAsyncResultU({ type: 'ok', value: 1 }, 'ok', map, {
|
|
82
|
+
value: async (x: unknown) => typeof x === 'number',
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
console.log(out?.type); // ok
|
|
86
|
+
```
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / refineResult
|
|
8
|
+
|
|
9
|
+
# Функция: refineResult()
|
|
10
|
+
|
|
11
|
+
> **refineResult**\<`TMap`\>(`variantMap`): \<`K`\>(`variant`) => \<`TValidators`\>(`validators`) => (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
12
|
+
|
|
13
|
+
Создает синхронный refiner варианта с валидаторами payload.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### TMap
|
|
18
|
+
|
|
19
|
+
`TMap` *extends* `Record`\<`string`, `VariantConfig`\>
|
|
20
|
+
|
|
21
|
+
Тип карты конфигурации вариантов.
|
|
22
|
+
|
|
23
|
+
## Параметры
|
|
24
|
+
|
|
25
|
+
### variantMap
|
|
26
|
+
|
|
27
|
+
`TMap`
|
|
28
|
+
|
|
29
|
+
Карта, описывающая допустимые варианты и поля payload.
|
|
30
|
+
|
|
31
|
+
## Возвращает
|
|
32
|
+
|
|
33
|
+
A curried refiner factory bound to `variantMap`.
|
|
34
|
+
|
|
35
|
+
> \<`K`\>(`variant`): \<`TValidators`\>(`validators`) => (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
36
|
+
|
|
37
|
+
### Параметры типа
|
|
38
|
+
|
|
39
|
+
#### K
|
|
40
|
+
|
|
41
|
+
`K` *extends* `string`
|
|
42
|
+
|
|
43
|
+
### Параметры
|
|
44
|
+
|
|
45
|
+
#### variant
|
|
46
|
+
|
|
47
|
+
`K`
|
|
48
|
+
|
|
49
|
+
### Возвращает
|
|
50
|
+
|
|
51
|
+
> \<`TValidators`\>(`validators`): (`value`) => `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
52
|
+
|
|
53
|
+
#### Параметры типа
|
|
54
|
+
|
|
55
|
+
##### TValidators
|
|
56
|
+
|
|
57
|
+
`TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `ValidatorFn`\>\>
|
|
58
|
+
|
|
59
|
+
#### Параметры
|
|
60
|
+
|
|
61
|
+
##### validators
|
|
62
|
+
|
|
63
|
+
`TValidators`
|
|
64
|
+
|
|
65
|
+
#### Возвращает
|
|
66
|
+
|
|
67
|
+
> (`value`): `null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
68
|
+
|
|
69
|
+
##### Параметры
|
|
70
|
+
|
|
71
|
+
###### value
|
|
72
|
+
|
|
73
|
+
`unknown`
|
|
74
|
+
|
|
75
|
+
##### Возвращает
|
|
76
|
+
|
|
77
|
+
`null` \| [`UniversalRefinedResult`](../type-aliases/UniversalRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
78
|
+
|
|
79
|
+
## Начиная с версии
|
|
80
|
+
|
|
81
|
+
0.1.0
|
|
82
|
+
|
|
83
|
+
## См. также
|
|
84
|
+
|
|
85
|
+
[refineResultU](./refineResultU.md) - Непосредственный (не-curry) вариант helper.
|
|
86
|
+
|
|
87
|
+
## Пример
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
import { refineResult } from '@resultsafe/core-fp-result';
|
|
91
|
+
|
|
92
|
+
const map = { ok: { payload: 'value' } } as const;
|
|
93
|
+
const refineOk = refineResult(map)('ok')({
|
|
94
|
+
value: (x: unknown): x is number => typeof x === 'number',
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
console.log(refineOk({ type: 'ok', value: 1 })); // { type: 'ok', value: 1 }
|
|
98
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / refineResultU
|
|
8
|
+
|
|
9
|
+
# Функция: refineResultU()
|
|
10
|
+
|
|
11
|
+
> **refineResultU**\<`TMap`, `K`, `TValidators`\>(`value`, `variant`, `variantMap`, `validators`): `null` \| [`SyncRefinedResult`](../type-aliases/SyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
12
|
+
|
|
13
|
+
Уточняет значение по карте вариантов в не-curry стиле вызова.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### TMap
|
|
18
|
+
|
|
19
|
+
`TMap` *extends* `Record`\<`string`, `VariantConfig`\>
|
|
20
|
+
|
|
21
|
+
Тип карты конфигурации вариантов.
|
|
22
|
+
|
|
23
|
+
### K
|
|
24
|
+
|
|
25
|
+
`K` *extends* `string`
|
|
26
|
+
|
|
27
|
+
Ключ целевого варианта.
|
|
28
|
+
|
|
29
|
+
### TValidators
|
|
30
|
+
|
|
31
|
+
`TValidators` *extends* `Partial`\<`Record`\<`PayloadKeys`\<`TMap`\[`K`\]\>, `ValidatorFn`\>\>
|
|
32
|
+
|
|
33
|
+
Карта валидаторов для полей payload.
|
|
34
|
+
|
|
35
|
+
## Параметры
|
|
36
|
+
|
|
37
|
+
### value
|
|
38
|
+
|
|
39
|
+
`unknown`
|
|
40
|
+
|
|
41
|
+
Значение для валидации и уточнения.
|
|
42
|
+
|
|
43
|
+
### variant
|
|
44
|
+
|
|
45
|
+
`K`
|
|
46
|
+
|
|
47
|
+
Ключ целевого варианта.
|
|
48
|
+
|
|
49
|
+
### variantMap
|
|
50
|
+
|
|
51
|
+
`TMap`
|
|
52
|
+
|
|
53
|
+
Карта конфигурации вариантов.
|
|
54
|
+
|
|
55
|
+
### validators
|
|
56
|
+
|
|
57
|
+
`TValidators`
|
|
58
|
+
|
|
59
|
+
Валидаторы payload для целевого варианта.
|
|
60
|
+
|
|
61
|
+
## Возвращает
|
|
62
|
+
|
|
63
|
+
`null` \| [`SyncRefinedResult`](../type-aliases/SyncRefinedResult.md)\<`K`, `TMap`, `TValidators`\>
|
|
64
|
+
|
|
65
|
+
Уточненное значение или `null`.
|
|
66
|
+
|
|
67
|
+
## Начиная с версии
|
|
68
|
+
|
|
69
|
+
0.1.0
|
|
70
|
+
|
|
71
|
+
## См. также
|
|
72
|
+
|
|
73
|
+
[refineResult](./refineResult.md) - Curry-конструктор refiner.
|
|
74
|
+
|
|
75
|
+
## Пример
|
|
76
|
+
|
|
77
|
+
```ts
|
|
78
|
+
import { refineResultU } from '@resultsafe/core-fp-result';
|
|
79
|
+
|
|
80
|
+
const map = { ok: { payload: 'value' } } as const;
|
|
81
|
+
const out = refineResultU({ type: 'ok', value: 1 }, 'ok', map, {
|
|
82
|
+
value: (x: unknown): x is number => typeof x === 'number',
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
console.log(out?.type); // ok
|
|
86
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
> [Back to package README](../../../README.md) | [Back to API index](../index.md) | [Back to module](./index.md)
|
|
2
|
+
|
|
3
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
4
|
+
|
|
5
|
+
***
|
|
6
|
+
|
|
7
|
+
[@resultsafe/core-fp-result](../README.md) / refineVariantMap
|
|
8
|
+
|
|
9
|
+
# Функция: refineVariantMap()
|
|
10
|
+
|
|
11
|
+
> **refineVariantMap**\<`TMap`, `TValidators`\>(`value`, `variantMap`, `validators`): `null` \| [`SyncRefinedResultUnion`](../type-aliases/SyncRefinedResultUnion.md)\<`TMap`, `TValidators`\>
|
|
12
|
+
|
|
13
|
+
Уточняет значение дискриминированного объединения по полной карте вариантов.
|
|
14
|
+
|
|
15
|
+
## Параметры типа
|
|
16
|
+
|
|
17
|
+
### TMap
|
|
18
|
+
|
|
19
|
+
`TMap` *extends* `Record`\<`string`, `VariantConfig`\>
|
|
20
|
+
|
|
21
|
+
Тип карты конфигурации вариантов.
|
|
22
|
+
|
|
23
|
+
### TValidators
|
|
24
|
+
|
|
25
|
+
`TValidators` *extends* [`SyncValidatorMap`](../type-aliases/SyncValidatorMap.md)\<`TMap`\>
|
|
26
|
+
|
|
27
|
+
Тип карты валидаторов по вариантам.
|
|
28
|
+
|
|
29
|
+
## Параметры
|
|
30
|
+
|
|
31
|
+
### value
|
|
32
|
+
|
|
33
|
+
`unknown`
|
|
34
|
+
|
|
35
|
+
Значение для валидации и уточнения.
|
|
36
|
+
|
|
37
|
+
### variantMap
|
|
38
|
+
|
|
39
|
+
`TMap`
|
|
40
|
+
|
|
41
|
+
Полная карта конфигурации вариантов.
|
|
42
|
+
|
|
43
|
+
### validators
|
|
44
|
+
|
|
45
|
+
`TValidators`
|
|
46
|
+
|
|
47
|
+
Валидаторы, сгруппированные по ключу варианта.
|
|
48
|
+
|
|
49
|
+
## Возвращает
|
|
50
|
+
|
|
51
|
+
`null` \| [`SyncRefinedResultUnion`](../type-aliases/SyncRefinedResultUnion.md)\<`TMap`, `TValidators`\>
|
|
52
|
+
|
|
53
|
+
Уточненный элемент объединения или `null`.
|
|
54
|
+
|
|
55
|
+
## Начиная с версии
|
|
56
|
+
|
|
57
|
+
0.1.0
|
|
58
|
+
|
|
59
|
+
## См. также
|
|
60
|
+
|
|
61
|
+
[refineResult](./refineResult.md) - Refines one concrete variant key.
|
|
62
|
+
|
|
63
|
+
## Пример
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { refineVariantMap } from '@resultsafe/core-fp-result';
|
|
67
|
+
|
|
68
|
+
const map = {
|
|
69
|
+
created: { payload: 'id' },
|
|
70
|
+
failed: { payload: 'reason' },
|
|
71
|
+
} as const;
|
|
72
|
+
|
|
73
|
+
const out = refineVariantMap({ type: 'created', id: '1' }, map, {
|
|
74
|
+
created: { id: (x: unknown): x is string => typeof x === 'string' },
|
|
75
|
+
failed: { reason: (x: unknown): x is string => typeof x === 'string' },
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
console.log(out?.type); // created
|
|
79
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@resultsafe/core-fp-result](../README.md) / Handler
|
|
6
|
+
|
|
7
|
+
# Type Alias: Handler\<K, T, R\>
|
|
8
|
+
|
|
9
|
+
> **Handler**\<`K`, `T`, `R`\> = `object`
|
|
10
|
+
|
|
11
|
+
**`Internal`**
|
|
12
|
+
|
|
13
|
+
Описывает запись обработчика варианта во внутренних механизмах matcher.
|
|
14
|
+
|
|
15
|
+
## Type Parameters
|
|
16
|
+
|
|
17
|
+
### K
|
|
18
|
+
|
|
19
|
+
`K` *extends* `string`
|
|
20
|
+
|
|
21
|
+
### T
|
|
22
|
+
|
|
23
|
+
`T` *extends* [`VariantOf`](VariantOf.md)\<`K`\>
|
|
24
|
+
|
|
25
|
+
### R
|
|
26
|
+
|
|
27
|
+
`R`
|
|
28
|
+
|
|
29
|
+
## Properties
|
|
30
|
+
|
|
31
|
+
### variant
|
|
32
|
+
|
|
33
|
+
> `readonly` **variant**: `K`
|
|
34
|
+
|
|
35
|
+
***
|
|
36
|
+
|
|
37
|
+
### fn()
|
|
38
|
+
|
|
39
|
+
> `readonly` **fn**: (`value`) => `R`
|
|
40
|
+
|
|
41
|
+
#### Parameters
|
|
42
|
+
|
|
43
|
+
##### value
|
|
44
|
+
|
|
45
|
+
`Extract`\<`T`, \{ `type`: `K`; \}\>
|
|
46
|
+
|
|
47
|
+
#### Returns
|
|
48
|
+
|
|
49
|
+
`R`
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[**@resultsafe/core-fp-result v0.1.0**](../README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@resultsafe/core-fp-result](../README.md) / MatchBuilder
|
|
6
|
+
|
|
7
|
+
# Type Alias: MatchBuilder\<T, R, Handled\>
|
|
8
|
+
|
|
9
|
+
> **MatchBuilder**\<`T`, `R`, `Handled`\> = `object`
|
|
10
|
+
|
|
11
|
+
Описывает форму строгого builder для matcher.
|
|
12
|
+
|
|
13
|
+
## Type Parameters
|
|
14
|
+
|
|
15
|
+
### T
|
|
16
|
+
|
|
17
|
+
`T` *extends* [`VariantOf`](VariantOf.md)
|
|
18
|
+
|
|
19
|
+
### R
|
|
20
|
+
|
|
21
|
+
`R`
|
|
22
|
+
|
|
23
|
+
### Handled
|
|
24
|
+
|
|
25
|
+
`Handled` *extends* `T`\[`"type"`\] = `never`
|
|
26
|
+
|
|
27
|
+
## Properties
|
|
28
|
+
|
|
29
|
+
### with()
|
|
30
|
+
|
|
31
|
+
> `readonly` **with**: \<`K`\>(`variant`, `fn`) => `MatchBuilder`\<`T`, `R`, `Handled` \| `K`\>
|
|
32
|
+
|
|
33
|
+
#### Type Parameters
|
|
34
|
+
|
|
35
|
+
##### K
|
|
36
|
+
|
|
37
|
+
`K` *extends* `Exclude`\<`T`\[`"type"`\], `Handled`\>
|
|
38
|
+
|
|
39
|
+
#### Parameters
|
|
40
|
+
|
|
41
|
+
##### variant
|
|
42
|
+
|
|
43
|
+
`K`
|
|
44
|
+
|
|
45
|
+
##### fn
|
|
46
|
+
|
|
47
|
+
(`value`) => `R`
|
|
48
|
+
|
|
49
|
+
#### Returns
|
|
50
|
+
|
|
51
|
+
`MatchBuilder`\<`T`, `R`, `Handled` \| `K`\>
|
|
52
|
+
|
|
53
|
+
***
|
|
54
|
+
|
|
55
|
+
### run
|
|
56
|
+
|
|
57
|
+
> `readonly` **run**: `Handled` *extends* `T`\[`"type"`\] ? () => `R` : `never`
|