Skip to main content

Constructor

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

Parameters

RuleEngine
required
Base rule engine instance
object

evaluate()

Evaluate rule with state tracking and event emission.

Parameters

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

Returns

Example


evaluateBatch()

Evaluate multiple rules at once.

Parameters

object
required
Object mapping rule IDs to rule expressions
object
required
Data context
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

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