UNPKG

@chief-editor/flow

Version:

Old核心数据流

55 lines (54 loc) 2.12 kB
import { BaseBrick, IBrickData, IBrickInfo, IBrickPartConfig, IValidateInfo, Scheduler } from '@chief-editor/base'; import { ILayoutConfig } from '@chief-editor/types'; import { FunctionAny } from '@co-hooks/util'; import { IFlowBrickConfig } from '../types'; import { FlowBrick } from './FlowBrick'; import { FlowModel } from './FlowModel'; export interface IFlowSchedulerOptions<V, DS, DP, CG, ST> { brickConfig: IFlowBrickConfig<V, DS, DP, CG, ST>; model: FlowModel; } export interface IFlowWatcher { watchers: string[]; func: FunctionAny; immediate?: boolean; lazy?: boolean; } export declare class FlowScheduler<V, DS, DP, CG, ST> implements Scheduler<V, DS, DP, CG, ST> { private watcherId; private readonly brickConfig; private readonly model; private events; private hooks; private validator; private pending; private loader?; private readonly queue; constructor(options: IFlowSchedulerOptions<V, DS, DP, CG, ST>); initBrickData(brick: BaseBrick<V, DS, DP, CG, ST>, data: IBrickData<V, DS, DP, CG, ST>): IBrickInfo; getBrickData(): Omit<IBrickData<V, DS, DP, CG, ST>, 'parts'>; getPartList(): IBrickPartConfig[]; isPartDynamic(): boolean; setState(state: Partial<ST>): void; setValue(value: V, manual?: boolean, isSilent?: boolean): void; getDatasource(data: unknown): void; dispatchEvent(name: string | Event, param?: unknown): void; getHook(name: string): FunctionAny | null; dispose(): void; initStaticBrickData(): void; init(): void; updateBrickData(data: IBrickData<V, DS, DP, CG, ST>): void; setBrickLayout(layout: ILayoutConfig): void; getByExpression(...expression: Array<string | number>): any; private executeHook; private extractBrickData; private initConfig; private loadBrickScheduler; private initPriorityQueue; private getDatasourceTask; } export interface FlowScheduler<V, DS, DP, CG, ST> { readonly brick: FlowBrick<V, DS, DP, CG, ST>; data: IBrickData<V, DS, DP, CG, ST>; } export declare function getDefaultValidateInfo(): IValidateInfo;