its-compiler-js
Version:
JavaScript/TypeScript implementation of the Instruction Template Specification (ITS) compiler
33 lines (32 loc) • 1.03 kB
TypeScript
/**
* Conditional expression evaluation for ITS Compiler using jsep for safety
*/
import { ContentElement } from './types.js';
export declare class ConditionalEvaluator {
private maxExpressionLength;
constructor(maxExpressionLength?: number);
/**
* Evaluate conditionals in content and return filtered content
*/
evaluateContent(content: ContentElement[], variables: Record<string, any>): ContentElement[];
/**
* Evaluate a conditional expression using jsep for safety
*/
evaluateCondition(condition: string, variables: Record<string, any>): boolean;
/**
* Security validation for conditional expressions
*/
private validateConditionSecurity;
/**
* Safely evaluate an AST node
*/
private evaluateASTNode;
/**
* Validate property access for security
*/
private validatePropertyAccess;
/**
* Validate condition syntax using jsep
*/
validateCondition(condition: string, variables: Record<string, any>): string[];
}