UNPKG

edgerender-yatl

Version:

Yet Another Template Language

39 lines (38 loc) 1.21 kB
import type { Clause } from './build'; export declare type Result = string | number | boolean | null | undefined | Date | Result[] | { [key: string]: Result; }; declare type LookupType<R> = { [key: string]: R | (R | LookupType<R>)[] | LookupType<R>; }; export declare type Context = LookupType<Result>; declare type AsyncFunction = (...args: any[]) => Promise<Result>; declare type TemplateFunction = (...args: any[]) => Promise<Result | AsyncFunction>; export declare type Functions = LookupType<TemplateFunction>; export default class Evaluator { private readonly context; private readonly functions; private readonly operator_functions; constructor(context: Context, functions: Functions); evaluate(c: Clause): Promise<Result>; private var; private func_run; private func_get; private operation; private filter_run; private op_mult_div; private op_add; private add_numbers; private add_arrays; private add_objects; private op_subtract; private subtract_numbers; private op_in; private op_equals; private op_not_equals; private op_and; private op_or; private modifiers; private lookup_value; } export {};