Skip to content

Instantly share code, notes, and snippets.

@ThomasAribart
Last active May 10, 2020 21:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ThomasAribart/4ba86adbdf79b5ea39180998533bd072 to your computer and use it in GitHub Desktop.
Save ThomasAribart/4ba86adbdf79b5ea39180998533bd072 to your computer and use it in GitHub Desktop.
const parseError = (originalError, parsers) => {
let error = originalError;
while (!(error instanceof CustomError) && parsers.length) {
const { detect, parse } = parsers[0];
if (detect(error)) {
error = parse(error);
}
parsers.shift();
}
return error instanceof CustomError
? error
: new InternalServerError({ message: error.message });
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment