UNPKG

react-clear-browser-cache

Version:

Library for clearing browser cache after react app updates

71 lines (70 loc) 2.7 kB
/// <reference types="node" /> import React from 'react'; export declare type ClearBrowserCacheStorage = { get: (key: string) => string | null; set: (key: string, value: string) => void; }; export declare type ClearBrowserCacheAppVersionStorage = { get: () => string; set: (version: string) => void; }; export declare type ClearBrowserCacheDebugFunc = (params: { state?: ClearBrowserCacheBoundaryState; error?: Error; errorInfo?: any; }) => void; export declare type ClearBrowserCacheErrorChecker = (error: Error) => boolean; export declare type ClearBrowserCacheBoundaryState = { loading: boolean; isLatestVersion: boolean; latestVersion: string; disabled: boolean; }; export declare type ClearBrowserCacheBoundaryProps = { auto: boolean; storageKey: string; filename: string; storage: Storage; duration?: number; fallback?: React.ReactNode; debug?: ClearBrowserCacheDebugFunc; errorCheckers?: ClearBrowserCacheErrorChecker[]; }; declare type CtxValue = ClearBrowserCacheBoundaryState & { clearCacheAndReload: () => Promise<void>; }; declare type ClearBrowserCacheProps = { children: (value: CtxValue) => any; }; export declare function createErrorChecker(name: string, regexpForMesssage: RegExp): (error: Error) => boolean; export declare function useClearBrowserCache(): CtxValue; export declare function ClearBrowserCache({ children }: ClearBrowserCacheProps): any; export declare class ClearBrowserCacheBoundary extends React.Component<React.PropsWithChildren<ClearBrowserCacheBoundaryProps>, ClearBrowserCacheBoundaryState> { static defaultProps: { fallback: null; errorCheckers: never[]; auto: boolean; storageKey: string; filename: string; storage: { get(...args: any[]): any; set(...args: any[]): void; }; }; appVersionStorage: ClearBrowserCacheAppVersionStorage; checkInterval: null | NodeJS.Timeout; errorCheckers: ClearBrowserCacheErrorChecker[]; constructor(props: any); componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; componentDidCatch(error: Error, errorInfo: any): void; debug: (error?: Error | undefined, errorInfo?: any) => void; startVersionCheck: () => void; stopVersionCheck: () => void; fetchMeta: () => Promise<any>; clearCacheAndReload: (newVersion?: string | undefined) => Promise<void>; checkVersion: (auto?: boolean, silent?: boolean) => Promise<void>; render(): {} | null | undefined; } export default ClearBrowserCacheBoundary;