@prezly/theme-kit-react
Version:
Data layer and utility library for developing Prezly themes with NextJS
26 lines (25 loc) • 660 B
TypeScript
type LoadFn<T> = (offset: number) => Promise<{
data: T[];
total: number;
}>;
interface Options {
retryOnError?: number;
}
interface State<T> {
error: Error | undefined;
data: T[];
loading: boolean;
total: undefined | number;
tries: number;
}
type InitializerArg<T> = Partial<Pick<State<T>, 'data' | 'total'>>;
export declare function useInfiniteLoading<T>(loaderFn: LoadFn<T>, initialData?: T[] | InitializerArg<T>, { retryOnError }?: Options): {
load: () => Promise<void>;
loading: boolean;
error: Error | undefined;
data: T[];
count: number;
total: number | undefined;
done: boolean;
};
export {};