UNPKG

@daysnap/utils

Version:
30 lines (27 loc) 602 B
import { isPromiseLike } from "./chunk-P5GEZD4D.js"; // src/createWithToast.ts function createWithToast(options = {}) { const { onError } = options; return (fn) => { return function(...args) { try { const result = fn.apply(this, args); if (isPromiseLike(result)) { return Promise.resolve(result).catch((err) => { onError?.(err); throw "cancel:handled"; }); } return result; } catch (error) { onError?.(error); throw "cancel:handled"; } }; }; } export { createWithToast };