UNPKG

@dschz/try-catch

Version:

Simple try-catch utility function for JavaScript

26 lines (25 loc) 702 B
// src/index.ts function tryCatch(input) { if (input instanceof Promise) { return input.then((data) => [null, data]).catch((e) => { const error = e instanceof Error ? e : new Error(String(e), { cause: e }); return [error, null]; }); } try { const result = input(); if (result instanceof Promise) { return result.then((data) => [null, data]).catch((e) => { const error = e instanceof Error ? e : new Error(String(e), { cause: e }); return [error, null]; }); } return [null, result]; } catch (e) { const error = e instanceof Error ? e : new Error(String(e), { cause: e }); return [error, null]; } } export { tryCatch };