@onrails/result
Version:
Tagged Result / ResultAsync for railway-oriented TypeScript — pure tagged unions, neverthrow-shaped compat shim, FL-friendly
16 lines (14 loc) • 595 B
JavaScript
// 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);
export { allOk, declareErrors, hasKind, mapErrKind };
//# sourceMappingURL=extra.js.map
//# sourceMappingURL=extra.js.map