UNPKG

@hotmeshio/hotmesh

Version:

Serverless Workflow

52 lines (51 loc) 2.31 kB
import { ILogger } from '../logger'; import { StoreService } from '../store'; import { ExportOptions, MeshFlowJobExport, TimelineType, TransitionType, ExportFields } from '../../types/exporter'; import { ProviderClient, ProviderTransaction } from '../../types/provider'; import { StringStringType, Symbols } from '../../types/serializer'; declare class ExporterService { appId: string; logger: ILogger; store: StoreService<ProviderClient, ProviderTransaction>; symbols: Promise<Symbols> | Symbols; private static symbols; constructor(appId: string, store: StoreService<ProviderClient, ProviderTransaction>, logger: ILogger); /** * Convert the job hash from its compiles format into a MeshFlowJobExport object with * facets that describe the workflow in terms relevant to narrative storytelling. */ export(jobId: string, options?: ExportOptions): Promise<MeshFlowJobExport>; /** * Inflates the job data from Redis into a MeshFlowJobExport object * @param jobHash - the job data from Redis * @param dependencyList - the list of dependencies for the job * @returns - the inflated job data */ inflate(jobHash: StringStringType, options: ExportOptions): MeshFlowJobExport; resolveValue(raw: string, withValues: boolean): Record<string, any> | string | number | null; /** * Inflates the key from Redis, 3-character symbol * into a human-readable JSON path, reflecting the * tree-like structure of the unidimensional Hash * @private */ inflateKey(key: string): string; filterFields(fullObject: MeshFlowJobExport, block?: ExportFields[], allow?: ExportFields[]): Partial<MeshFlowJobExport>; inflateTransition(match: RegExpMatchArray, value: string, transitionsObject: Record<string, TransitionType>): void; sortEntriesByCreated(obj: { [key: string]: TransitionType; }): TransitionType[]; /** * marker names are overloaded with details like sequence, type, etc */ keyToObject(key: string): { index: number; dimension?: string; secondary?: number; }; /** * idem list has a complicated sort order based on indexes and dimensions */ sortParts(parts: TimelineType[]): TimelineType[]; } export { ExporterService };