export type ExitError = {
_tag: string;
data?: string & Brand.Brand<"ErrorData">;
};
const schema = S.Exit({
failure: S.Unknown,
success: S.Unknown,
defect: S.Unknown,
});
const decode = S.decodeUnknownSync(schema);
export function handleExitResult<T extends Exit.Exit<any, any>>(result: T) {
if (result._tag === "Failure") {
if (result.cause._tag === "Fail") {
throw new ConvexError(result.cause.error.error as any);
}
throw new ConvexError(result.toJSON() as any);
}
return result.value as Extract<T, { _tag: "Success" }>["value"];
}
export type ExitError = {
_tag: string;
data?: string & Brand.Brand<"ErrorData">;
};
const schema = S.Exit({
failure: S.Unknown,
success: S.Unknown,
defect: S.Unknown,
});
const decode = S.decodeUnknownSync(schema);
export function handleExitResult<T extends Exit.Exit<any, any>>(result: T) {
if (result._tag === "Failure") {
if (result.cause._tag === "Fail") {
throw new ConvexError(result.cause.error.error as any);
}
throw new ConvexError(result.toJSON() as any);
}
return result.value as Extract<T, { _tag: "Success" }>["value"];
}