@exabytellc/utils
Version:
EB react utils to make everything a little easier!
107 lines (95 loc) • 1.79 kB
JavaScript
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
}
});
*/