Files
freeCodeCamp/server/utils/create-handled-error.js
Berkeley Martinez 750c9f1eab fix(passwordless): Reduce db calls, run in parallel
Adds validations, reduces the number of database calls, separates
concers. reduces logic
2018-01-02 23:38:01 +05:30

29 lines
533 B
JavaScript

const _handledError = Symbol('handledError');
export function isHandledError(err) {
return !!err[_handledError];
}
export function unwrapHandledError(err) {
return err[_handledError] || {};
}
export function wrapHandledError(err, {
type,
message,
redirectTo
}) {
err[_handledError] = { type, message, redirectTo };
return err;
}
export const createValidatorErrorFormatter = (type, redirectTo) =>
({ msg }) => wrapHandledError(
new Error(msg),
{
type,
message: msg,
redirectTo
}
);