ayanami
Version:
A better way to react with state
13 lines (12 loc) • 622 B
TypeScript
import { Observable } from 'rxjs';
import { ActionOfAyanami } from './types';
export declare abstract class Ayanami<State> {
abstract defaultState: State;
ssrLoadKey: symbol;
scopeName: string;
constructor();
destroy(): void;
getState$<M extends Ayanami<State>>(this: M): M extends Ayanami<infer S> ? Observable<Readonly<S>> : Observable<Readonly<State>>;
getState<M extends Ayanami<State>>(this: M): M extends Ayanami<infer S> ? Readonly<S> : Readonly<State>;
getActions<M extends Ayanami<State>>(this: M): M extends Ayanami<infer S> ? ActionOfAyanami<M, S> : ActionOfAyanami<M, State>;
}