UNPKG

error-flux

Version:

Network request interceptor and logger for web applications

61 lines (54 loc) 1.42 kB
import { NetworkLog } from "./../dist/types/types.d"; import errorFluxGlobalErrorInterceptor from "./interceptors/global-error"; import errorFluxNetworkInterceptor from "./interceptors/network"; import store from "./state/store"; import { ErrorFluxState, ErrorTypes, NetWorkClient, StorageTypes, } from "./types"; import { downloadConsoleErrors, downloadNetworkLogs, downloadUnhandledErrors, } from "./utils/export"; import { getDbName } from "./utils/store-helpers"; export default function initErrorFlux({ pattern, allowOnlyNetworkErrors = true, storeName, dbName, storageType, handleOnError, handleOnUnhandledRejection, }: ErrorFluxState) { store.setState({ dbName: dbName || getDbName(), storageType: storageType || store.getState().storageType, storeName: { ...store.getState().storeName, ...(Object.keys(storeName || {}).length > 0 ? storeName : {}), }, }); const { getLogs: getNetworkLogs } = errorFluxNetworkInterceptor({ pattern, onlyFailures: allowOnlyNetworkErrors, }); const { getLogs: getErrorLogs } = errorFluxGlobalErrorInterceptor({ handleOnError, handleOnUnhandledRejection, }); return { getNetworkLogs, getErrorLogs, }; } export { downloadConsoleErrors, downloadNetworkLogs, downloadUnhandledErrors }; export type { ErrorTypes, StorageTypes, NetworkLog, NetWorkClient, ErrorFluxState, };