@exabytellc/canvas
Version:
EB react canvas!
117 lines (106 loc) • 1.76 kB
JavaScript
import { forceStr, mapToArray } from "@exabytellc/utils";
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
}
});
*/