UNPKG

@dhlab/error-boundary

Version:

A universal React error boundary library that works with any router

70 lines 2.69 kB
import type { AxiosError } from "axios"; import type { HTTPError } from "ky"; import type { TPartialErrorConfig } from "../types/api-error"; export declare const getErrorConfig: (error: HTTPError | AxiosError, overrideConfig?: TPartialErrorConfig) => { readonly type: "default"; readonly name: "Bad Request"; readonly message: "잘못된 요청입니다."; readonly action: { readonly type: "go-back"; readonly message: "이전 페이지로 돌아가기"; }; } | { readonly type: "default"; readonly name: "Unauthorized"; readonly message: "로그인이 필요합니다."; readonly action: { readonly type: "go-login"; readonly message: "로그인 페이지로 이동"; }; } | { readonly type: "default"; readonly name: "Forbidden"; readonly message: "권한이 없습니다."; readonly action: { readonly type: "go-back"; readonly message: "이전 페이지로 돌아가기"; }; } | { readonly type: "default"; readonly name: "Not Found"; readonly message: "요청하신 리소스를 찾을 수 없습니다."; readonly action: { readonly type: "go-back"; readonly message: "이전 페이지로 돌아가기"; }; } | { readonly type: "default"; readonly name: "Conflict"; readonly message: "이미 존재하는 리소스입니다."; readonly action: { readonly type: "go-root"; readonly message: "홈으로 이동"; }; } | { readonly type: "default"; readonly name: "Internal Server Error"; readonly message: "잠시 후 다시 시도해주세요."; readonly action: { readonly type: "retry"; readonly message: "다시 시도하기"; }; } | ({ type: "default"; } & { type: "default"; onError?: (error: HTTPError | AxiosError, info: import("react").ErrorInfo, statusCode: number) => void; } & Partial<Omit<import("../types/api-error").TErrorConfigElementType, "action" | "message"> & { action: Partial<import("../types/api-error").TErrorConfigElementType["action"]>; message: string; }>) | ({ type: "custom"; } & { type: "custom"; onError?: (error: HTTPError | AxiosError, info: import("react").ErrorInfo, statusCode: number) => void; fallback: React.ReactNode | ((error: HTTPError | AxiosError, resetErrorBoundary: () => void) => React.ReactNode); }); export declare const isAxiosError: (err: unknown) => err is AxiosError; export declare const isKyError: (err: unknown) => err is HTTPError; export declare const isApiError: (err: unknown) => err is HTTPError<unknown> | AxiosError<unknown, any>; //# sourceMappingURL=api-error.d.ts.map