kangaroo-expression
Version:
Secure expression evaluator with AST-based execution - A fast, safe, and powerful JavaScript-like expression language
39 lines • 1.64 kB
TypeScript
import type { ExpressionEvaluator, ExpressionContext, EvaluationResult, SecurityValidation, ParsedExpression, EvaluatorOptions, SafeFunction, FunctionCategory } from '@/types';
export declare class Kangaroo implements ExpressionEvaluator {
private parser;
private validator;
private executor;
private functionRegistry;
private arrayOperations;
private typeRegistry;
private options;
private stats;
private templateCache;
private templateCacheSize;
private readonly maxTemplateCacheSize;
constructor(options?: EvaluatorOptions);
evaluate(expression: string, context?: ExpressionContext): EvaluationResult;
validate(expression: string): SecurityValidation;
parse(expression: string): ParsedExpression | null;
extractDependencies(expression: string): string[];
addFunction(func: SafeFunction): void;
removeFunction(name: string): void;
listFunctions(category?: FunctionCategory): SafeFunction[];
getFunctionStats(): any;
getPerformanceStats(): typeof this.stats;
registerType(name: string, config: import('@/types/type-registry').TypeConfig): void;
getSerializedValue(value: any): any;
hasType(name: string): boolean;
getRegisteredTypes(): import('@/types/type-registry').RegisteredType[];
resetStats(): void;
clearCaches(): void;
private evaluateTemplate;
private evaluateExpression;
private initializeArrayOperations;
private updatePerformanceMetrics;
private assessOverallRisk;
private getTemplateCacheKey;
private setTemplateCached;
private serializeValue;
}
//# sourceMappingURL=evaluator.d.ts.map