UNPKG

@pawel-up/jexl

Version:

Javascript Expression Language: Powerful context-based expression parser and evaluator

27 lines 1.74 kB
import Expression, { type Context } from './Expression.js'; import { type BinaryOpFunction, type FunctionFunction, type UnaryOpFunction, type Grammar, type TransformFunction } from './grammar.js'; export declare class Jexl { grammar: Grammar; constructor(); addBinaryOp(operator: string, precedence: number, fn: BinaryOpFunction, manualEval?: boolean): void; addFunction(name: string, fn: FunctionFunction): void; addFunctions(map: Record<string, FunctionFunction>): void; addUnaryOp(operator: string, fn: UnaryOpFunction): void; addTransform(name: string, fn: TransformFunction): void; addTransforms(map: Record<string, TransformFunction>): void; compile<R>(expression: string): Expression<R>; createExpression<R = unknown>(expression: string): Expression<R>; getFunction(name: string): FunctionFunction; getTransform(name: string): TransformFunction; eval<R = unknown>(expression: string, context?: Context): Promise<R>; evalAsString(expression: string, context?: Context): Promise<string>; evalAsNumber(expression: string, context?: Context): Promise<number>; evalAsBoolean(expression: string, context?: Context): Promise<boolean>; evalAsArray<T = unknown>(expression: string, context?: Context): Promise<T[]>; evalAsEnum<T = string | number | boolean>(expression: string, context: Context | undefined, allowedValues: readonly T[]): Promise<T | undefined>; evalWithDefault<T = unknown>(expression: string, context: Context | undefined, defaultValue: T): Promise<T>; expr(strings: string[] | TemplateStringsArray, ...args: unknown[]): Expression; removeOp(operator: string): void; private _addGrammarElement; } //# sourceMappingURL=Jexl.d.ts.map