@rudderstack/json-template-engine
Version:
A library for evaluating JSON template expressions.
73 lines • 2.69 kB
TypeScript
import { Expression, IncrementExpression, LoopControlExpression } from './types';
export declare class JsonTemplateTranslator {
private vars;
private lastVarId;
private unusedVars;
private standardFunctions;
private readonly expr;
constructor(expr: Expression);
private init;
private acquireVar;
private acquireVars;
private releaseVars;
translate(dest?: string, ctx?: string): string;
private translateExpr;
translateLoopControlExpr(expr: LoopControlExpression, _dest: string, _ctx: string): string;
translateIncrementExpr(expr: IncrementExpression, dest: string, _ctx: string): string;
private translateLoopExpr;
private translateThrowExpr;
private translateReturnExpr;
private translateConditionalExpr;
private translateLambdaArgExpr;
private translateSpreadExpr;
private translatePathRoot;
private translatePathContextVariables;
private prepareDataForPathPart;
static isAllFilterExpr(expr: Expression): boolean;
private translatePathParts;
private translateSimplePathExpr;
private translatePathExpr;
private translateCurrentSelector;
private translateSelector;
private translateDescendantSelector;
private translateBlockExpr;
private translateFunctionExpr;
private getFunctionName;
private translateFunctionCallExpr;
private translateObjectContextProp;
private translateObjectExpr;
private translateSpreadableExpressions;
private translateArrayExpr;
private translateLiteralExpr;
private translateTemplateExpr;
private getSimplePathSelector;
private getSimplePathArrayIndex;
private translateToSimplePath;
private translateAssignmentExpr;
private translateDefinitionVars;
private translateDefinitionExpr;
private translateStatementsExpr;
private translateStatements;
private getLogicalConditionCode;
private translateLogicalExpr;
private translateINExpr;
private translateUnaryExpr;
private translateArrayFilterExpr;
private translateObjectFilterExpr;
private translateObjectIndexFilterExpr;
private translateArrayIndexFilterExpr;
private translateIndexFilterExpr;
private translateRangeFilterExpr;
private translateBinaryExpr;
private static ValidateAssignmentPath;
private static getPathOptions;
private static isToArray;
private static isArrayFilterExpr;
private static returnIsEmpty;
private static returnIsNotEmpty;
private static returnObjectValues;
private static convertToSingleValueIfSafe;
private static covertToArrayValue;
private static generateAssignmentCode;
}
//# sourceMappingURL=translator.d.ts.map