jotai
Version:
👻 Next gen state management that will spook you
151 lines (150 loc) • 12.3 kB
TypeScript
import { Context } from 'react';
import { Atom, Scope } from './atom';
import { Store } from './store';
declare type VersionedWrite = (write: (version?: object) => void) => void;
export declare type ScopeContainer = {
s: Store;
w?: VersionedWrite;
};
export declare const createScopeContainer: (initialValues?: Iterable<readonly [
Atom<unknown>,
unknown
]> | undefined, unstable_createStore?: ((initialValues?: Iterable<readonly [
{
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
},
unknown
]> | undefined) => {
get: <Value_3>(atom: Atom<Value_3>) => (Value_3 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? any : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : Value_3) | undefined;
asyncGet: <Value_4>(atom: Atom<Value_4>) => Promise<Value_4 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? V_1 extends Promise<infer V_1> ? any : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : V_1 : Value_4>;
set: <Value_5, Update, Result extends void | Promise<void>>(atom: import("./atom").WritableAtom<Value_5, Update, Result>, update: Update) => Result;
sub: (atom: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}, callback: () => void) => () => void;
SECRET_INTERNAL_store: {
r: <Value_6>(readingAtom: Atom<Value_6>, version?: import("./store").VersionObject | undefined) => import("./store").AtomState<Value_6>;
w: <Value_7, Update_1, Result_1 extends void | Promise<void>>(writingAtom: import("./atom").WritableAtom<Value_7, Update_1, Result_1>, update: Update_1, version?: import("./store").VersionObject | undefined) => Result_1;
c: (_atom: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
} | null, version?: import("./store").VersionObject | undefined) => void;
s: (atom: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}, callback: (version?: import("./store").VersionObject | undefined) => void) => () => void;
h: (values: Iterable<readonly [
{
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
},
unknown
]>, version?: import("./store").VersionObject | undefined) => void;
n: (l: () => void) => () => void;
l: () => IterableIterator<{
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}>;
a: (a: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}) => import("./store").AtomState<unknown> | undefined;
m: (a: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}) => {
l: Set<(version?: import("./store").VersionObject | undefined) => void>;
t: Set<{
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}>;
u?: () => void;
} | undefined;
} | {
r: <Value_6>(readingAtom: Atom<Value_6>, version?: import("./store").VersionObject | undefined) => import("./store").AtomState<Value_6>;
w: <Value_7, Update_1, Result_1 extends void | Promise<void>>(writingAtom: import("./atom").WritableAtom<Value_7, Update_1, Result_1>, update: Update_1, version?: import("./store").VersionObject | undefined) => Result_1;
c: (_atom: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
} | null, version?: import("./store").VersionObject | undefined) => void;
s: (atom: {
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
}, callback: (version?: import("./store").VersionObject | undefined) => void) => () => void;
h: (values: Iterable<readonly [
{
toString: () => string;
debugLabel?: string;
read: (get: {
<Value>(atom: Atom<Value | Promise<Value>>): Value;
<Value_1>(atom: Atom<Promise<Value_1>>): Value_1;
<Value_2>(atom: Atom<Value_2>): Value_2 extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? V extends Promise<infer V> ? any : V : V : V : V : V : V : V : V : V : V : Value_2;
}) => unknown;
},
unknown
]>, version?: import("./store").VersionObject | undefined) => void;
n?: never;
l?: never;
a?: never;
m?: never;
};
}) | undefined) => ScopeContainer;
declare type ScopeContext = Context<ScopeContainer>;
export declare const getScopeContext: (scope?: Scope | undefined) => ScopeContext;
export {};