@hotmeshio/hotmesh
Version:
Serverless Workflow
29 lines (28 loc) • 997 B
TypeScript
import { JobState } from '../../types/job';
import { TransitionRule } from '../../types/transition';
import { StreamCode } from '../../types';
declare class MapperService {
private rules;
private data;
constructor(rules: Record<string, unknown>, data: JobState);
mapRules(): Record<string, unknown>;
private traverseRules;
/**
* resolves a pipe expression of the form: { @pipe: [["{data.foo.bar}", 2, false, "hello world"]] }
* @param value
* @returns
*/
private pipe;
/**
* resolves a mapping expression in the form: "{data.foo.bar}" or 2 or false or "hello world"
* @param value
* @returns
*/
private resolve;
/**
* Evaluates a transition rule against the current job state and incoming Stream message
* to determine which (if any) transition should be taken.
*/
static evaluate(transitionRule: TransitionRule | boolean, context: JobState, code: StreamCode): boolean;
}
export { MapperService };