UNPKG

@exabytellc/utils

Version:

EB react utils to make everything a little easier!

107 lines (95 loc) 1.79 kB
import { mapToArray } from "../list"; import { forceStr } from "../str"; export function handleTryCatch({ n, c = false, p, f = undefined, e }) { try { validParam(c, p); return e(); } catch (error) { handleError(n, error); return f; } } export async function handleTryCatchAsync({ n, c = false, p, f = undefined, e }) { try { validParam(c, p); return await e(); } catch (error) { handleError(n, error); return f; } } export function handleError(func, error) { console.error(`Error in ${func}`, error); } export function validParam(cond, params) { if (cond) { throw new Error(`Invalid arguments, ${mapToArray(params, (k, v) => { return `${k}=${forceStr(v)}`; }).join(", ")}`); } } /* return handleTryCatch({ n: _name, c: _cond, p: _param, e: () => { _func } }); return await handleTryCatchAsync({ n: _name, c: _cond, p: _param, e: async () => { _func } }); return handleTryCatch({ n: _name, e: () => { _func } }); return handleTryCatchAsync({ n: _name, e: async () => { _func } }); return this.handleTryCatch({ n: _name, c: _cond, p: _param, e: () => { _func } }); return await this.handleTryCatchAsync({ n: _name, c: _cond, p: _param, e: async () => { _func } }); return this.handleTryCatch({ n: _name, e: () => { _func } }); return await this.handleTryCatchAsync({ n: _name, e: async () => { _func } }); return this.handleTryCatch({ n: _name, k: _key, e: () => { _func } }); */