UNPKG

zp-bee

Version:

zp-bee,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。

42 lines (41 loc) 1.22 kB
declare type Disconnect = { disconnect: () => void; }; export declare class Stateful<T> { protected value: T; private listeners; private queue; constructor(value: T); snapshot(): T; private emit; private flush; protected update(value: T): void; subscribe(callback: (value: T) => void): Disconnect; } export declare class Atom<T> extends Stateful<T> { setState(value: T): void; } declare type SelectorGenerator<T> = (context: { get: <V>(dep: Stateful<V>) => V; }) => T; export declare class Selector<T> extends Stateful<T> { private readonly generate; private registeredDeps; private addDep; private updateSelector; constructor(generate: SelectorGenerator<T>); } export declare function atom<V>(value: { key: string; default: V; }): Atom<V>; export declare function selector<V>(value: { key: string; get: SelectorGenerator<V>; }): Selector<V>; export declare function useCoiledValue<T>(value: Stateful<T>): T; export declare function useCoiledState<T>(atom: Atom<T>): [T, (value: T) => void]; export declare function setCoiledState<T extends object>(atom: Atom<T>): <U extends keyof T>(value: { [K in U]: T[K]; }) => void; export {};