/** 包装成功结果。 */
export function ok(value) {
    return { ok: true, value };
}
/** 包装失败结果。 */
export function err(error) {
    return { ok: false, error };
}
/** 类型守卫：Result 是 Ok？ */
export function isOk(r) {
    return r.ok;
}
/** 类型守卫：Result 是 Err？ */
export function isErr(r) {
    return !r.ok;
}
/**
 * 成功时 map 值；失败时原样传递。
 * 不改变 error 类型。
 */
export function mapOk(r, f) {
    return r.ok ? ok(f(r.value)) : r;
}
/**
 * 失败时 map 错误；成功时原样传递。
 */
export function mapErr(r, f) {
    return r.ok ? r : err(f(r.error));
}
/**
 * 对 Ok 执行会返回 Result 的下一步（链式）。
 * 任一步失败短路。
 */
export async function andThen(r, f) {
    return r.ok ? await f(r.value) : r;
}
/**
 * 取 Ok 值，不是 Ok 就抛 —— 仅用于测试 / 边界场景。
 * 生产代码应该用 isOk + 分支处理。
 */
export function unwrap(r, ctx) {
    if (!r.ok) {
        const prefix = ctx ? `${ctx}: ` : '';
        throw new Error(`${prefix}unwrap on Err: ${JSON.stringify(r.error)}`);
    }
    return r.value;
}
//# sourceMappingURL=result.js.map