Skip to main content

createRuleEngine()

Factory function to create a rule engine instance.

Parameters

config
object

Returns

Engine instance with the following methods.

evaluateExpr()

Evaluate a rule expression against data.

Parameters

rule
object
required
Rule expression object
context
object
required
Data to evaluate against

Returns

Examples


registerOperator()

Register a custom operator.

Parameters

name
string
required
Operator name (e.g., ‘custom’)
handler
function
required
Operator implementation: (args, context) => boolean
options
object

Example


getOperators()

Get all registered operator names.

Returns

string[] - Array of operator names

getMetrics()

Get performance metrics.

Returns

Example


getCacheStats()

Get cache statistics.

Returns


getConfig()

Get current configuration.

Returns

object - Current configuration

clearCache()

Clear all caches.
Clears both expression cache and path resolver cache. Useful for memory management or when data schema changes.

resolvePath()

Resolve a path in context data.

Parameters

context
object
required
Data context
path
string
required
Dot-notation path (e.g., ‘user.profile.name’)
defaultValue
any
Default if path doesn’t exist

Example


Complete Example


Error Handling

All methods handle errors gracefully:

TypeScript

Full TypeScript support:

Stateful Engine

Event-driven engine with state tracking

Rule Helpers

Fluent API for building rules

Operators

All built-in operators

Custom Operators

Create custom operators