@msom/reaction
Version:
@msom/reaction
20 lines • 623 B
TypeScript
import { IObserver, Reaction } from "../Reaction";
export type ObserverOption<T> = {
initValue?: T;
equal?: (oldValue: T, newValue: T) => boolean;
};
export declare class Observer<T = unknown> implements IObserver {
private handlers;
private value;
private equal;
constructor(option?: ObserverOption<T>);
track(): void;
get(): T;
set(newValue: T): void;
notify(): void;
addReaction(reaction: Reaction): void;
removeReaction(reaction: Reaction): void;
destroy(): void;
}
export declare function reactive<T extends object>(target: T): T;
//# sourceMappingURL=index.d.ts.map