Skip to main content

Constructor

Create a stateful engine that tracks state changes and emits events.

Parameters

baseEngine
RuleEngine
required
Base rule engine instance
options
object

evaluate()

Evaluate rule with state tracking and event emission.

Parameters

ruleId
string
required
Unique identifier for this rule
rule
object
required
Rule expression
context
object
required
Current data context
options
object
Evaluation options

Returns

Example


evaluateBatch()

Evaluate multiple rules at once.

Parameters

rules
object
required
Object mapping rule IDs to rule expressions
context
object
required
Data context
options
object
Evaluation options

Returns

Object with results for each rule.

Example


Event System

on()

Register event listener.
Events:
  • '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

ruleId
string
required
Rule ID to get history for

Returns

Array of evaluation events (if storeHistory: true).

Example


clearState()

Clear stored state.

Complete Example


Triggering Modes

Default Mode (false → true)

Every Change Mode


Use Cases


TypeScript


RuleEngine

Base rule engine API

State Operators

changed, changedTo, increased, etc.

Stateful Guide

Detailed stateful engine guide

Examples

Stateful examples