1 |
|
2 | import { Flow as FlowDefinition, Node, NodeDefinition, NodeDefinitionProviderMap, NodeDefinitions } from '@chix/common';
|
3 | import { EventEmitter } from 'events';
|
4 | import { Dependencies, DependencyTypes, Workload } from '../types';
|
5 | export interface LoaderResponse {
|
6 | dependencies?: Dependencies;
|
7 | nodeDefinitions: NodeDefinitionProviderMap;
|
8 | providerLocation?: string;
|
9 | }
|
10 | export interface ILoader extends EventEmitter {
|
11 | load(flow: FlowDefinition | FlowDefinition[], update?: boolean): Promise<LoaderResponse>;
|
12 | getWorkLoad(flows: FlowDefinition[], defaultProvider: string, update: boolean): Workload;
|
13 | addNodeDefinitions(identifier: string, nodeDefs: NodeDefinitions | Array<FlowDefinition | NodeDefinition>): void;
|
14 | addNodeDefinition(identifier: string, nodeDef: FlowDefinition | NodeDefinition): void;
|
15 | hasNodeDefinition(providerUrl: string, ns: string, name: string): boolean;
|
16 | getNodeDefinition(node: Node, flow: FlowDefinition): Promise<FlowDefinition | NodeDefinition>;
|
17 | getNodeDefinitionFrom(provider: string, ns: string, name: string): FlowDefinition | NodeDefinition;
|
18 | saveNodeDefinition(_providerLocation: string, _nodeDefinition: FlowDefinition | NodeDefinition): void;
|
19 | getNodeDefinitions(provider?: string): NodeDefinitions | NodeDefinitionProviderMap;
|
20 | setNodeDefinitions(nodeDefinitions: NodeDefinitionProviderMap): void;
|
21 | hasDependencies(type?: DependencyTypes): boolean;
|
22 | getDependencies(type?: DependencyTypes): {
|
23 | [dependency: string]: string;
|
24 | } | {
|
25 | npm?: {
|
26 | [dependency: string]: string;
|
27 | } | undefined;
|
28 | };
|
29 | setDependencies(dependencies: Dependencies): void;
|
30 | }
|