next-loaders
Version:
Provider server loader for NextJS
19 lines (18 loc) • 612 B
TypeScript
import { LoaderInferred, LoaderServerAction, LoaderServerResponse } from "./types";
export interface UseLoaderProps {
retry?: number;
delay?: number;
debounce?: number;
throttle?: number;
}
export type UseLoaderReturn<T, P = any> = [
LoaderServerResponse<T> | null,
{
load: LoaderInferred<P>;
debounce: LoaderInferred<P>;
throttle: LoaderInferred<P>;
cancel: () => void;
reset: () => void;
}
];
export default function createLoader<T, P = any>(name: string, action: LoaderServerAction<T, P>): (props?: UseLoaderProps) => UseLoaderReturn<T, P>;