/
vasya2
/
var2
Обзор
Документация
Войти
/
vasya2
/
var2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
client/src/utils/handled-error.ts
35 строк
768 B
Oliver Eyton-Williams
refactor(client): remove unused axios dependents (#43579)
27 сен 2021, 12:02
Не верифицирован
27 сен 2021, 12:02
48f2c02
Код
Авторство
О чём код?
import { has } from 'lodash-es'; interface ErrorData { type?: string; message?: string; redirectTo?: string | null; } export const handledErrorSymbol = Symbol('handledError'); export type HandledError = Error & { [handledErrorSymbol]: ErrorData; }; export function isHandledError(err: unknown): err is HandledError { return has(err, handledErrorSymbol); } export function unwrapHandledError( err: HandledError ): ErrorData | Record<string, never> { return handledErrorSymbol in err ? err[handledErrorSymbol] : {}; } export function wrapHandledError( err: Error, { type, message, redirectTo }: ErrorData ): HandledError { (err as HandledError)[handledErrorSymbol] = { type, message, redirectTo }; return err as HandledError; }