UNPKG

2.56 kBTypeScriptView Raw
1/// <reference types="node" />
2import * as events from 'events';
3import { BaseNodeDefinition, Flow as FlowDefinition, Node, NodeDefinition, NodeDefinitionProviderMap, NodeDefinitions, NodeDependencyTypes } from '@chix/common';
4import { ILoader, LoaderResponse } from './interfaces';
5import { DependencyManager } from './lib/DependencyManager';
6import { Dependencies, DependencyTypes, LoadDefinitionResult, LoadNodeResult, ProviderDef, Workload } from './types';
7export declare class Loader extends events.EventEmitter implements ILoader {
8 getNodeSource: (provider: string, ns: string, name: string) => NodeDefinition | FlowDefinition;
9 protected dependencyManager: DependencyManager;
10 private nodeDefinitions;
11 load(_flows: FlowDefinition | FlowDefinition[], _update?: boolean): Promise<LoaderResponse>;
12 loadNodeDefinitionFrom(provider: string, ns: string, name: string): Promise<LoadDefinitionResult>;
13 loadNode(providerDef: ProviderDef): Promise<LoadNodeResult>;
14 getWorkLoad(flows: FlowDefinition[], defaultProvider: string, update: boolean): Workload;
15 saveNodeDefinition(_providerLocation: string, _nodeDefinition: NodeDefinition): void;
16 hasDependencies(type?: DependencyTypes): boolean;
17 getDependencies(type?: DependencyTypes): Dependencies | NodeDependencyTypes;
18 setDependencies(dependencies: Dependencies): void;
19 initProviderMap(flow: FlowDefinition, defaultProvider: string): void;
20 addNodeDefinitions(identifier: string, nodeDefs: NodeDefinitions | Array<FlowDefinition | NodeDefinition>): void;
21 addNodeDefinition(identifier: string, nodeDef: NodeDefinition | FlowDefinition): void;
22 setNodeDefinition(provider: string, nodeDefinition: NodeDefinition | FlowDefinition): void;
23 setNodeDefinitions(nodeDefinitions: NodeDefinitionProviderMap): void;
24 hasNodeDefinition(providerUrl: string, ns: string, name: string): boolean;
25 hasNodeDefinitions(provider?: string): boolean;
26 getNodeDefinition(node: Node, flow: FlowDefinition): Promise<FlowDefinition | NodeDefinition>;
27 resolveProvider(node: Node, flow: FlowDefinition): string;
28 loadNodeDefinition(node: Node, flow: FlowDefinition): Promise<FlowDefinition | NodeDefinition>;
29 getNodeDefinitionFrom(provider: string, ns: string, name: string): FlowDefinition | NodeDefinition;
30 getNodeDefinitions(provider?: string): NodeDefinitionProviderMap | NodeDefinitions;
31 isResolved(flow: FlowDefinition): boolean;
32 getUnresolved(flow: FlowDefinition): BaseNodeDefinition[];
33 mergeSchema(graph: FlowDefinition): Promise<any[]>;
34}