@brainstack/rules-engine
TypeScript icon, indicating that this package has built-in type declarations

1.0.74 • Public • Published

@brainstack/rules-engine

The @brainstack/rules-engine is a customizable and lightweight rules engine package for evaluating business rules and conditional logic in TypeScript applications.

Features

  • Flexible rule definitions
  • Evaluate multiple rules and return the triggered ones
  • Simple to integrate into any application

Installation

To install the @brainstack/rules-engine package, use the following command:

npm install @brainstack/rules-engine

Getting Started

Here's how to get started with the @brainstack/rules-engine:

Define your rules

First, define the rules that you want the engine to evaluate. Each rule's name and evaluation function must be clearly specified:

import { RuleFunction, IRule, RulesEngine } from '@brainstack/rules-engine';

const isOver18: RuleFunction = (data) => data.age > 18;
const isEmployed: RuleFunction = (data) => data.employed === true;

const rules: IRule[] = [
  { name: 'Adult', evaluate: isOver18 },
  { name: 'Employed', evaluate: isEmployed }
];

const engine = new RulesEngine(rules);

Evaluate the rules

Once your rules are defined, use the RulesEngine instance to evaluate data against them:

// Sample data object
const userData = { age: 21, employed: true };

// Evaluate the rules
const results = engine.evaluate(userData);
console.log(results); // Output: ['Adult', 'Employed']

Integrate into your application

Integrate the @brainstack/rules-engine within your application wherever you need to evaluate business rules:

// In an application method
if (engine.evaluate(userData).includes('Employed')) {
  // Take some action based on the rule
}

Documentation

Refer to the detailed documentation for advanced usage, API references, and more on how to leverage the full power of the @brainstack/rules-engine.

Contributing

Contributions to the @brainstack/rules-engine are welcome! Please submit any issues or pull requests to the repository.

Package Sidebar

Install

npm i @brainstack/rules-engine

Weekly Downloads

41

Version

1.0.74

License

MIT

Unpacked Size

12.3 kB

Total Files

21

Last publish

Collaborators

  • amitbasunia
  • hgharbi
  • bincharkey
  • infinisoft-world