UNPKG

@msom/reaction

Version:

@msom/reaction

43 lines 1.32 kB
export interface IObserver { notify(): void; addReaction(reaction: Reaction): void; removeReaction(reaction: Reaction): void; } export type $REACTION = { tracking?: (ob: IObserver) => void; reaction?: Reaction; }; export type ReactionOption = { tracker: () => void; callback?: () => void; scheduler?: "nextTick" | "nextFrame" | undefined | ((cb: () => void) => void); }; export declare class Reaction { private option; private tracked; private cancel?; constructor(option: ReactionOption); private _cancel; /** * 根据传入的delay选项,初始化微队列函数 * @returns */ updateNextTick(): void; nextTick(cb: () => void): void; track(): void; notify(): void; exec(): this; private runcall; disposer(): () => void; destroy(): void; addObserver(observer: IObserver): void; removeObserver(observer: IObserver): void; } export declare function createReaction(tracker: () => void, callback: () => void, option?: { scheduler?: ReactionOption["scheduler"]; }): Reaction; export declare function createReaction(tracker: () => void, option?: { scheduler?: ReactionOption["scheduler"]; }): Reaction; export declare function withoutTrack<T>(callback: () => T): T; //# sourceMappingURL=index.d.ts.map