UNPKG

react-async-states-utils

Version:
31 lines (28 loc) 2.03 kB
import * as React from 'react'; import { MixedConfig, Status, State, Source, UseAsyncState } from 'react-async-states'; type StateBoundaryProps<T, A extends unknown[], E, S> = { children: React.ReactNode; config: MixedConfig<T, A, E, S>; dependencies?: any[]; strategy?: RenderStrategy; render?: StateBoundaryRenderProp; }; type StateBoundaryRenderProp = Record<Status, React.ReactNode>; type BoundaryContextValue<T, A extends unknown[] = unknown[], E = unknown, S = State<T, A, E>> = BoundaryContext<T, A, E, S> | null; type BoundarySourceContextType = { source: Source<unknown, unknown[], unknown>; parent: BoundarySourceContextType | null; }; type BoundaryContext<T, A extends unknown[] = unknown[], E = unknown, S = State<T, A, E>> = UseAsyncState<T, A, E, S>; declare function StateBoundary<T, A extends unknown[], E, S>(props: StateBoundaryProps<T, A, E, S>): React.FunctionComponentElement<StateBoundaryProps<unknown, unknown[], unknown, unknown>>; declare enum RenderStrategy { FetchAsYouRender = 0, FetchThenRender = 1, RenderThenFetch = 2 } declare function RenderThenFetchBoundary<T, A extends unknown[], E, S>(props: StateBoundaryProps<T, A, E, S>): JSX.Element; declare function FetchAsYouRenderBoundary<T, A extends unknown[], E, S>(props: StateBoundaryProps<T, A, E, S>): JSX.Element; declare function FetchThenRenderBoundary<T, E = unknown, R = unknown, A extends unknown[] = unknown[], S = State<T, A, E>>(props: StateBoundaryProps<T, A, E, S>): JSX.Element | null; declare function useCurrentState<T, A extends unknown[], E, S = State<T, A, E>>(): UseAsyncState<T, A, E, S>; declare function useBoundary<T, A extends unknown[] = [], E = Error>(stateKey?: string): UseAsyncState<T, A, E>; export { BoundaryContext, BoundaryContextValue, BoundarySourceContextType, FetchAsYouRenderBoundary, FetchThenRenderBoundary, RenderStrategy, RenderThenFetchBoundary, StateBoundary, StateBoundaryProps, StateBoundaryRenderProp, useBoundary, useCurrentState };