abon
Version:
Flexible state management for React 🚀
18 lines (17 loc) • 944 B
TypeScript
import { Abon } from "./abon";
import { AbonInheritedDown } from "./abon-inherited-down";
import { ReadonlyAbon } from "./readonly-abon";
import { ChangeListener, UnsubscribeFn, ValueHandler } from "./types";
/** Inherits a value from parents if the current value is undefined. */
export declare class ReadonlyAbonInheritedDown<T> implements ReadonlyAbon<T> {
protected readonly parent?: Pick<ReadonlyAbon<T | undefined>, "subscribe" | "current">;
protected readonly value: Abon<T>;
constructor(initial?: T, parent?: Pick<ReadonlyAbon<T | undefined>, "subscribe" | "current">);
subscribe(listener: ChangeListener<T>): UnsubscribeFn;
handle(handler: ValueHandler<T>): UnsubscribeFn;
use(): this;
useSubscription(listener: ChangeListener<T>, deps?: readonly any[]): void;
useHandler(handler: ValueHandler<T>, deps?: readonly any[]): void;
nest(): AbonInheritedDown<T>;
get current(): T;
}