@hotmeshio/hotmesh
Version:
Serverless Workflow
33 lines (32 loc) • 1.31 kB
TypeScript
import { ILogger } from '../logger';
import { StoreService } from '../store';
import { HotMeshManifest } from '../../types/hotmesh';
import { ProviderClient, ProviderTransaction } from '../../types/provider';
import { StreamService } from '../stream';
/**
* The compiler service converts a graph into a executable program.
*/
declare class CompilerService {
store: StoreService<ProviderClient, ProviderTransaction> | null;
stream: StreamService<ProviderClient, ProviderTransaction> | null;
logger: ILogger;
constructor(store: StoreService<ProviderClient, ProviderTransaction>, stream: StreamService<ProviderClient, ProviderTransaction>, logger: ILogger);
/**
* verifies and plans the deployment of an app to Redis; the app is not deployed yet
* @param path
*/
plan(mySchemaOrPath: string): Promise<HotMeshManifest>;
isPath(input: string): boolean;
/**
* deploys an app to Redis but does NOT activate it.
*/
deploy(mySchemaOrPath: string): Promise<HotMeshManifest>;
/**
* activates a deployed version of an app;
* @param appId
* @param appVersion
*/
activate(appId: string, appVersion: string): Promise<boolean>;
saveAsJSON(originalPath: string, schema: HotMeshManifest): Promise<void>;
}
export { CompilerService };