json-expression-eval
Version:
json serializable rule engine / boolean expression evaluator
10 lines (9 loc) • 1.18 kB
TypeScript
import { Context, FunctionsTable, ValidationContext, RuleFunctionsTable, Rule, ResolvedConsequence } from '../types';
export declare class RulesEngine<ConsequencePayload, C extends Context, RF extends RuleFunctionsTable<C, ConsequencePayload, CustomEngineRuleFuncRunOptions>, F extends FunctionsTable<C, CustomEngineRuleFuncRunOptions>, Ignore = never, CustomEngineRuleFuncRunOptions = undefined> {
private readonly functionsTable;
private readonly ruleFunctionsTable;
constructor(functionsTable: F, ruleFunctionsTable: RF);
evaluate(rules: Rule<ConsequencePayload, RF, C, F, Ignore, CustomEngineRuleFuncRunOptions>[], context: C, runOptions: CustomEngineRuleFuncRunOptions): Promise<void | ResolvedConsequence<ConsequencePayload>>;
evaluateAll(rules: Rule<ConsequencePayload, RF, C, F, Ignore, CustomEngineRuleFuncRunOptions>[], context: C, runOptions: CustomEngineRuleFuncRunOptions): Promise<void | ResolvedConsequence<ConsequencePayload>[]>;
validate(rules: Rule<ConsequencePayload, RF, C, F, Ignore, CustomEngineRuleFuncRunOptions>[], validationContext: ValidationContext<C, Ignore>, runOptions: CustomEngineRuleFuncRunOptions): Promise<void>;
}