alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
18 lines (17 loc) • 692 B
TypeScript
import { 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>(atom: Atom<Value>) => Value, { setSelf }: {
readonly signal: AbortSignal;
readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
}) => LoaderState<Value>, [value: Value], void> & {
init: (get: <Value>(atom: Atom<Value>) => Value, { setSelf }: {
readonly signal: AbortSignal;
readonly setSelf: <A extends unknown[]>(...args: A) => unknown;
}) => LoaderState<Value>;
};