@zedux/stores
Version:
The legacy composable store model of Zedux
21 lines (20 loc) • 961 B
TypeScript
import { AtomConfig } from '@zedux/atoms';
import { AtomInstance } from './AtomInstance';
import { AtomTemplate } from './AtomTemplate';
import { AnyAtomGenerics, AtomGenerics, IonStateFactory } from './types';
export type IonInstanceRecursive<G extends Omit<AtomGenerics, 'Node' | 'Template'>> = AtomInstance<G & {
Node: IonInstanceRecursive<G>;
Template: IonTemplateRecursive<G>;
}>;
export type IonTemplateRecursive<G extends Omit<AtomGenerics, 'Node' | 'Template'>> = IonTemplate<G & {
Node: IonInstanceRecursive<G>;
Template: IonTemplateRecursive<G>;
}>;
export declare class IonTemplate<G extends AtomGenerics & {
Node: IonInstanceRecursive<G>;
Template: IonTemplateRecursive<G>;
} = AnyAtomGenerics> extends AtomTemplate<G> {
private _get;
constructor(key: string, stateFactory: IonStateFactory<Omit<G, 'Node' | 'Template'>>, _config?: AtomConfig<G['State']>);
override(newGet?: IonStateFactory<G>): IonTemplate<G>;
}