UNPKG

@onrails/result

Version:

Tagged Result / ResultAsync for railway-oriented TypeScript — pure tagged unions, neverthrow-shaped compat shim, FL-friendly

21 lines (18 loc) 680 B
'use strict'; // src/internal/dual.ts var isOk = (result) => result._tag === "Ok"; var isErr = (result) => result._tag === "Err"; // src/extra.ts var declareErrors = () => ({ annotate: (result) => result, annotateAsync: (result) => result }); var hasKind = (error, kind) => error.kind === kind; var mapErrKind = (kind, fn) => (result) => isErr(result) && hasKind(result.error, kind) ? { _tag: "Err", error: fn(result.error) } : result; var allOk = (results) => results.every(isOk); exports.allOk = allOk; exports.declareErrors = declareErrors; exports.hasKind = hasKind; exports.mapErrKind = mapErrKind; //# sourceMappingURL=extra.cjs.map //# sourceMappingURL=extra.cjs.map