enso
Version:
Maximalist state & form management library for React
28 lines • 1.48 kB
TypeScript
import type { Atom } from "../atom/definition.ts";
import { AtomImpl } from "../atom/implementation.ts";
import { EnsoUtils as Utils } from "../utils.ts";
import { State } from "./definition.ts";
export { StateImpl as State, StateProxyImpl as StateProxy };
export declare class StateImpl<Value> extends AtomImpl<Value> {
static prop: string;
static create<Value>(value: Value, parent?: Atom.Parent.Bare.Ref<"state", any, any>): StateImpl<Value>;
static proxy(state: any, intoMapper: any, fromMapper: any): StateProxyImpl<unknown>;
static optional(target: Atom.BareOptionalTarget<"state", StateImpl<unknown>>): StateOptionalImpl<unknown>;
constructor(value: Value, parent?: Atom.Parent.Bare.Ref<"state", any, any>);
useMeta<Props extends State.Meta.Props | undefined = undefined>(_props?: Props): State.Meta<Props>;
clearCache(): void;
}
export declare class StateProxyImpl<Value> extends StateImpl<Value> {
#private;
constructor(source: StateImpl<unknown>, into: any, from: any);
deconstruct(): void;
connect(source: StateImpl<unknown>): void;
}
export declare class StateOptionalImpl<Value> extends StateImpl<Value> {
#private;
constructor(target: Atom.BareOptionalTarget<"state", StateImpl<unknown>>);
get value(): Value;
at<Key extends keyof Utils.NonNullish<Value>>(key: Key): any;
get try(): Atom.BareTry<AtomImpl<Value[keyof Value]>, keyof Value> | undefined | null;
}
//# sourceMappingURL=implementation.d.ts.map