@superbuilders/errors
Version:
Type-safe error handling library with error chaining, wrapping, and utilities inspired by Go
5 lines (3 loc) • 1.12 kB
JavaScript
function z(){let k=[],j=this;while(j!=null)if(k.push(j.message),j.cause instanceof Error)j=j.cause;else break;return k.join(": ")}function A(k){let j=new Error(k);if(Error.captureStackTrace)Error.captureStackTrace(j,A);return j.toString=z,Object.freeze(j)}function B(k,j){let x=new Error(j,{cause:k});if(Error.captureStackTrace)Error.captureStackTrace(x,B);return x.toString=z,Object.freeze(x)}function D(k){let j=k;while(j.cause instanceof Error)j=j.cause;return j}function F(k,j){let q=k;while(q!=null){if(q===j)return!0;if(q.cause instanceof Error)q=q.cause;else break}return!1}function G(k,j){let q=k;while(q!=null){if(q instanceof j)return q;if(q.cause instanceof Error)q=q.cause;else break}return}async function H(k){try{return{data:await k,error:void 0}}catch(j){return{data:void 0,error:j instanceof Error?j:new Error(String(j))}}}function I(k){try{return{data:k(),error:void 0}}catch(j){return{data:void 0,error:j instanceof Error?j:new Error(String(j))}}}export{B as wrap,I as trySync,H as try,A as new,F as is,D as cause,G as as};
//# debugId=6A634A79B02CDD0964756E2164756E21
//# sourceMappingURL=index.js.map