jotai
Version:
👻 Next gen state management that will spook you
12 lines (11 loc) • 758 B
TypeScript
import type { Atom, WritableAtom } from 'jotai';
declare type Getter = Parameters<Atom<unknown>['read']>[0];
declare type WriteGetter = Parameters<WritableAtom<unknown, unknown>['write']>[0];
declare type Setter = Parameters<WritableAtom<unknown, unknown>['write']>[1];
declare type Read<Value> = (get: Getter, options: {
signal: AbortSignal;
}) => Value;
declare type Write<Update, Result extends void | Promise<void>> = (get: WriteGetter, set: Setter, update: Update) => Result;
export declare function abortableAtom<Value, Update, Result extends void | Promise<void> = void>(read: Read<Value>, write: Write<Update, Result>): WritableAtom<Value, Update, Result>;
export declare function abortableAtom<Value>(read: Read<Value>): Atom<Value>;
export {};