oak-domain/lib/store/TriggerExecutor.d.ts

26 lines
1.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { EntityDict } from "../types/Entity";
import { Logger } from "../types/Logger";
import { Checker } from '../types/Auth';
import { Context } from '../types/Context';
import { Trigger, Executor } from "../types/Trigger";
/**
* update可能会传入多种不同的action此时都需要检查update trigger
*/
export declare class TriggerExecutor<ED extends EntityDict, Cxt extends Context<ED>> extends Executor<ED, Cxt> {
private triggerMap;
private triggerNameMap;
private volatileEntities;
private logger;
private contextBuilder;
constructor(contextBuilder: () => Cxt, logger?: Logger);
registerChecker<T extends keyof ED>(checker: Checker<ED, T, Cxt>): void;
registerTrigger<T extends keyof ED>(trigger: Trigger<ED, T, Cxt>): void;
unregisterTrigger<T extends keyof ED>(trigger: Trigger<ED, T, Cxt>): void;
private preCommitTrigger;
preOperation<T extends keyof ED>(entity: T, operation: ED[T]['Operation'], context: Cxt): Promise<void>;
private onCommit;
private postCommitTrigger;
postOperation<T extends keyof ED>(entity: T, operation: ED[T]['Operation'], context: Cxt): Promise<void>;
checkpoint(context: Cxt, timestamp: number): Promise<number>;
}