@o3r/rules-engine
Version:
This module provides a rule engine that can be executed on your Otter application to customize your application (translations, placeholders and configs) based on a json file generated by your CMS.
32 lines • 1.69 kB
TypeScript
import { EvaluationReason, RuleEvaluation, RuleEvaluationOutput } from '../engine.interface';
import type { Facts } from '../fact';
import { ActionBlock, Rule } from '../structure';
/**
* Function to retrieve from 2 sequential executions only the triggers which activated the last ruleset execution
* @param currRes Current ruleset execution object
* @param prevRes Previous ruleset execution object
* @returns The triggers list which activates the last ruleset execution
*/
export declare function retrieveRulesetTriggers(currRes: RuleEvaluationOutput[], prevRes: RuleEvaluationOutput[] | undefined): Record<string, Record<string, EvaluationReason>>;
/**
* Flag as cached the rules evaluations which are from previous ruleset executions
* @param rulesEvaluations all rules evaluations list
* @param triggers Ruleset triggers object
* @returns Rules evaluation list with flagged rules evaluation from previous ruleset executions
*/
export declare function flagCachedRules(rulesEvaluations: RuleEvaluation[], triggers: Record<string, Record<string, EvaluationReason>>): (RuleEvaluation & {
cached?: boolean;
})[];
/**
* Create the debug rule evaluation object
* @param rule
* @param rulesetName
* @param outputActions
* @param outputError
* @param runtimeFactValues
* @param factValues
* @param oldFactValues
* @param inputFacts
*/
export declare function handleRuleEvaluationDebug(rule: Rule, rulesetName: string, outputActions: ActionBlock[] | undefined, outputError: any, runtimeFactValues: Record<string, Facts>, factValues: any[] | undefined, oldFactValues: any[] | undefined, inputFacts?: string[] | undefined): RuleEvaluation;
//# sourceMappingURL=helpers.d.ts.map