@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
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);
exports.allOk = allOk;
exports.declareErrors = declareErrors;
exports.hasKind = hasKind;
exports.mapErrKind = mapErrKind;
//# sourceMappingURL=extra.cjs.map
//# sourceMappingURL=extra.cjs.map