UNPKG

kangaroo-expression

Version:

Secure expression evaluator with AST-based execution - A fast, safe, and powerful JavaScript-like expression language

39 lines 1.64 kB
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