Overview
State change operators detect changes between evaluations. RequiresStatefulRuleEngine or manual _previous context.
changed
Any value change
changedBy
Change by threshold
changedFrom
Changed from value
changedTo
Changed to value
increased
Numeric increase
decreased
Numeric decrease
Requirements
src/operators/state.js | Tests: tests/unit/operators/state.test.js
Operators
changed - Any Change
Detects any value change.
changedBy - Threshold Change
Detects numeric change by minimum amount (absolute value).
changedFrom - From Specific Value
Detects transition from a specific value.
changedTo - To Specific Value
Detects transition to a specific value.
increased - Numeric Increase
Detects any numeric increase.
decreased - Numeric Decrease
Detects any numeric decrease.
Common Use Cases
- Temperature Monitoring
- Order Status Tracking
- Inventory Management
- Price Monitoring
StatefulRuleEngine Usage
Basic Setup
Event System
Batch Evaluation
Manual Previous Context
WithoutStatefulRuleEngine, pass _previous manually:
Quick Reference
| Operator | Args | Detects | Example |
|---|---|---|---|
changed | 1 | Any change | { changed: ['status'] } |
changedBy | 2 | Change ≥ threshold | { changedBy: ['temp', 5] } |
changedFrom | 2 | From specific value | { changedFrom: ['status', 'pending'] } |
changedTo | 2 | To specific value | { changedTo: ['status', 'done'] } |
increased | 1 | Numeric increase | { increased: ['score'] } |
decreased | 1 | Numeric decrease | { decreased: ['stock'] } |
Error Handling
No Previous Context
No Previous Context
Non-Numeric for changedBy
Non-Numeric for changedBy
Related Operators
Comparison
eq, neq
Numeric
gt, gte, lt, lte
Logical
and, or, not
Stateful Engine
StatefulRuleEngine guide
All Operators
Complete reference
