Constructor
Create a stateful engine that tracks state changes and emits events.Parameters
Base rule engine instance
evaluate()
Evaluate rule with state tracking and event emission.Parameters
Unique identifier for this rule
Rule expression
Current data context
Evaluation options
Returns
Example
evaluateBatch()
Evaluate multiple rules at once.Parameters
Object mapping rule IDs to rule expressions
Data context
Evaluation options
Returns
Object with results for each rule.Example
Event System
on()
Register event listener.'triggered'- Rule changed from false → true'untriggered'- Rule changed from true → false'changed'- Any state change'evaluated'- Every evaluation
Example
Event Data
off()
Remove event listener.getHistory()
Get evaluation history for a rule.Parameters
Rule ID to get history for
Returns
Array of evaluation events (ifstoreHistory: true).
Example
clearState()
Clear stored state.Complete Example
Triggering Modes
Default Mode (false → true)
Every Change Mode
Use Cases
- Temperature Monitoring
- Order Status Tracking
- Price Drop Alerts
TypeScript
Related
RuleEngine
Base rule engine API
State Operators
changed, changedTo, increased, etc.
Stateful Guide
Detailed stateful engine guide
Examples
Stateful examples
