UNPKG

ignore-errors

Version:

Easily ignore specific promise errors

37 lines 1.23 kB
import shallowContains from 'shallow-contains'; const isRegExp = (val) => Object.prototype.toString.call(val) === '[object RegExp]'; const shallowContainsComparator = (a, b) => { return isRegExp(b) ? b.test(a) : a === b; }; export default function ignore(...args) { return (err) => { const match = args.length === 2 ? { [args[0]]: args[1] } : args[0]; if (shallowContains(err, match, shallowContainsComparator)) { // ignore return null; } throw err; }; } export const ignoreMessage = (val) => ignore('message', val); export const ignoreName = (val) => ignore('name', val); export const ignoreStatus = (val) => ignore('status', val); export const ignoreReason = (val) => ignore('reason', val); export const ignoreCode = (val) => ignore('code', val); export const ignoreAny = (...ignoreFns) => { return (err) => { const somePassed = ignoreFns.some((ignoreFn) => { try { ignoreFn(err); return true; } catch (err) { return false; } }); if (somePassed) return null; throw err; }; }; //# sourceMappingURL=index.js.map