@visactor/vgrammar-core
Version:
VGrammar is a visual grammar library
30 lines (29 loc) • 929 B
TypeScript
import type { ILogger } from '@visactor/vutils';
import type { IDataflow } from '../types/dataflow';
import type { IDataflowCallback, IGrammarBase } from '../types';
export default class Dataflow implements IDataflow {
logger: ILogger;
private grammars;
private _curRank;
private _committed?;
private _heap?;
private _beforeRunner?;
private _afterRunner?;
private _updateCounter;
private _finishFirstRender?;
constructor();
add(grammar: IGrammarBase): boolean;
remove(grammar: IGrammarBase): void;
private _setRankOfGrammar;
private _reRank;
private _enqueue;
private _logGrammarRunInfo;
hasCommitted(): boolean;
commit(grammar: IGrammarBase): this;
private _beforeEvaluate;
private _enqueueTargets;
evaluate(): boolean;
runBefore(callback?: IDataflowCallback): void;
runAfter(callback?: IDataflowCallback): void;
release(): void;
}