@hotmeshio/hotmesh
Version:
Serverless Workflow
41 lines (40 loc) • 1.93 kB
TypeScript
import { StoreService } from '../store';
import { HotMeshGraph, HotMeshManifest } from '../../types/hotmesh';
import { ProviderClient, ProviderTransaction } from '../../types/provider';
import { Symbols } from '../../types/serializer';
import { StreamService } from '../stream';
declare class Deployer {
manifest: HotMeshManifest | null;
store: StoreService<ProviderClient, ProviderTransaction> | null;
stream: StreamService<ProviderClient, ProviderTransaction> | null;
constructor(manifest: HotMeshManifest);
deploy(store: StoreService<ProviderClient, ProviderTransaction>, stream: StreamService<ProviderClient, ProviderTransaction>): Promise<void>;
getVID(): {
id: string;
version: string;
};
generateSymKeys(): Promise<void>;
bindSelf(consumes: Record<string, string[]>, produces: string[], activityId: string): void;
bindSymbols(startIndex: number, maxIndex: number, existingSymbols: Symbols, prefix: string, produces: string[]): Symbols;
copyJobSchemas(): void;
bindBackRefs(): void;
bindCycleTarget(): void;
convertTopicsToTypes(): void;
convertActivitiesToHooks(): void;
bindParents(): Promise<void>;
collectValues(schema: Record<string, any>, values: Set<string>): void;
traverse(obj: any, values: Set<string>): void;
generateSymVals(): Promise<void>;
resolveJobMapsPaths(): void;
resolveMappingDependencies(): void;
groupMappingRules(rules: string[]): Record<string, string[]>;
resolveMappableValue(mappable: string): [string, string];
deployActivitySchemas(): Promise<void>;
deploySubscriptions(): Promise<void>;
findTrigger(graph: HotMeshGraph): [string, Record<string, any>] | null;
deployTransitions(): Promise<void>;
deployHookPatterns(): Promise<void>;
deployConsumerGroups(): Promise<void>;
deployConsumerGroup(stream: string, group: string): Promise<void>;
}
export { Deployer };