sitecore-jss-rule-engine
Version:
Rule engine for Sitecore JSS
27 lines (26 loc) • 1.7 kB
TypeScript
import { RuleEngineRequestContext, RuleEngineContext, RuleEngineSitecoreContext, ParsedRuleXmlData, OperatorFunctionDefinition, ConditionFunctionDefinition, ActionFunctionDefinition } from './types/ruleEngine';
export declare class JssRuleEngine {
commandDefinitions: Map<string, ActionFunctionDefinition>;
ruleDefinitions: Map<string, ConditionFunctionDefinition>;
operatorDefinitions: Map<string, OperatorFunctionDefinition>;
debug: boolean;
sitecoreContext?: RuleEngineSitecoreContext;
requestContext?: RuleEngineRequestContext;
mockDate?: Date;
constructor(options?: RuleEngineContext);
setOptions(options?: RuleEngineContext): void;
initialize(_options: any): void;
registerCommand(id: string, command: ActionFunctionDefinition): void;
registerRule(id: string, rule: ConditionFunctionDefinition): void;
registerOperator(id: string, operator: OperatorFunctionDefinition): void;
parseRuleXml(ruleXml: string, ruleEngineContext: RuleEngineContext): ParsedRuleXmlData | null;
setSitecoreContext(sitecoreContext: RuleEngineSitecoreContext): void;
setRequestContext(requestContext?: RuleEngineRequestContext): void;
setMockDate(dateObj: Date): void;
getRuleEngineContext(): RuleEngineContext;
runRule(parsedRule: ParsedRuleXmlData | null, ruleEngineContext: RuleEngineContext): Promise<true | null>;
runRuleActions(parsedRule: ParsedRuleXmlData | null, ruleActions: any, ruleEngineContext: RuleEngineContext): Promise<void>;
prefetchItems(_ruleEngineContext: RuleEngineContext): void;
parseAndRunRule(ruleXml: any, context?: RuleEngineContext): Promise<true | null>;
debugMessage(..._args: any[]): void;
}