UNPKG

805 BJavaScriptView Raw
1export const isErrorLike = (val) => !!val && typeof val === 'object' && (!!val.stack || ('message' in val || 'code' in val)) && !('__typename' in val);
2/**
3 * Ensures a value is a proper Error, copying all properties if needed.
4 */
5export const asError = (err) => {
6 if (err instanceof Error) {
7 return err;
8 }
9 if (typeof err === 'object' && err !== null) {
10 return Object.assign(new Error(err.message), err);
11 }
12 return new Error(err);
13};
14/**
15 * Creates an AggregateError from multiple ErrorLikes.
16 *
17 * @param errors errors or ErrorLikes to aggregate
18 */
19export const createAggregateError = (errors = []) => Object.assign(new Error(errors.map(e => e.message).join('\n')), {
20 name: 'AggregateError',
21 errors: errors.map(asError),
22});
23//# sourceMappingURL=errors.js.map
\No newline at end of file