UNPKG

1.7 kBTypeScriptView Raw
1/// <reference types="node" />
2import { Flow as FlowDefinition, Node, NodeDefinition, NodeDefinitionProviderMap, NodeDefinitions } from '@chix/common';
3import { EventEmitter } from 'events';
4import { Dependencies, DependencyTypes, Workload } from '../types';
5export interface LoaderResponse {
6 dependencies?: Dependencies;
7 nodeDefinitions: NodeDefinitionProviderMap;
8 providerLocation?: string;
9}
10export 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}