@jss-rule-engine/core
Version:
Rule engine for Sitecore JSS
51 lines (50 loc) • 3.2 kB
TypeScript
import { RuleEngineRequestContext, RuleEngineContext, RuleEngineSitecoreContext, ParsedRuleXmlData, OperatorFunctionDefinition, ConditionFunctionDefinition, ActionFunctionDefinition } from './types/ruleEngine';
export interface IJssRuleEngine {
commandDefinitions: Map<string, ActionFunctionDefinition>;
ruleDefinitions: Map<string, ConditionFunctionDefinition>;
operatorDefinitions: Map<string, OperatorFunctionDefinition>;
debug: boolean;
sitecoreContext?: RuleEngineSitecoreContext;
requestContext?: RuleEngineRequestContext;
mockDate?: Date;
setOptions(options?: RuleEngineContext): void;
initialize(options?: any): void;
registerAction(id: string, command: ActionFunctionDefinition): void;
registerCondition(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<any>;
runRuleActions(parsedRule: ParsedRuleXmlData | null, ruleActions: any, ruleEngineContext: RuleEngineContext): Promise<void>;
prefetchItems(ruleEngineContext: RuleEngineContext): void;
parseAndRunRule(ruleXml: any, context?: RuleEngineContext): Promise<any>;
debugMessage(...args: any[]): void;
}
export declare class JssRuleEngine implements IJssRuleEngine {
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;
registerAction(id: string, command: ActionFunctionDefinition): void;
registerCondition(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;
}