UNPKG

@luvies/business-rules

Version:

A JS-expression-based rules engine

36 lines 990 B
import { ExpressionReturnType, TypeMap } from '@luvies/evaluator'; export interface Rule { expression: string; context?: TypeMap; } export interface RuleResult { id: string; rule: Rule; value?: ExpressionReturnType; activated?: boolean; error?: Error; } export interface RuleResults { results: Map<string, ExpressionReturnType>; activated: string[]; deactivated: string[]; errors: Map<string, Error>; } export interface RulesOptions { previous?: Map<string, ExpressionReturnType>; aliases?: Map<string, string>; } export declare class Rules { aliases: Map<string, string>; private _context; private _previous?; private _rules; constructor(context?: TypeMap, options?: RulesOptions); set(id: string, rule: Rule): this; get(id: string): Rule | undefined; has(id: string): boolean; delete(id: string): boolean; eval(): Promise<RuleResults>; private _evalRule; } //# sourceMappingURL=rules.d.ts.map