UNPKG

next-loaders

Version:
38 lines (37 loc) 1.42 kB
import React, { Dispatch, FC, PropsWithChildren } from "react"; import { LoaderServerResponse } from "./types"; export type LoaderState = Record<string, LoaderServerResponse<any>>; export interface LoaderValue { state: LoaderState; setLoader(result: LoaderServerResponse<any>, name: string): void; reset(name: string): void; resetAll(): void; } export declare const initialState: LoaderState; export declare const LoaderContext: React.Context<LoaderValue>; export declare enum LoaderActionType { SET_LOADER = "SET_LOADER", RESET = "RESET", RESET_ALL = "RESET_ALL" } export interface LoaderSetLoaderAction { type: LoaderActionType.SET_LOADER; payload: LoaderServerResponse<any>; meta: string; } export interface LoaderResetAction { type: LoaderActionType.RESET; meta: string; } export interface LoaderResetAllAction { type: LoaderActionType.RESET_ALL; } export type LoaderAction = LoaderSetLoaderAction | LoaderResetAction | LoaderResetAllAction; export declare const loaderReducer: (state: LoaderState | undefined, action: LoaderAction) => LoaderState; export declare const createLoaderSlice: (dispatch: Dispatch<LoaderAction>) => { setLoader: (result: LoaderServerResponse<any>, name: string) => void; reset: (name: string) => void; resetAll: () => void; }; declare const LoaderProvider: FC<PropsWithChildren<object>>; export default LoaderProvider;