alinea
Version:
Headless git-based CMS
18 lines (17 loc) • 709 B
TypeScript
import { type Atom } from 'jotai';
export interface LoaderState<T> {
data?: T;
error?: Error;
isError: boolean;
isLoading: boolean;
isSuccess: boolean;
}
export declare function loader<Value>(asynAtom: Atom<Promise<Value>>): import("jotai").WritableAtom<(get: <Value_1>(atom: Atom<Value_1>) => Value_1, { setSelf }: {
readonly signal: AbortSignal;
readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
}) => LoaderState<Value>, [value: Value], void> & {
init: (get: <Value_1>(atom: Atom<Value_1>) => Value_1, { setSelf }: {
readonly signal: AbortSignal;
readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
}) => LoaderState<Value>;
};