1.0.77 • Published 12 months ago

@brainstack/rules-engine v1.0.77

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

@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.

1.0.77

12 months ago

1.0.76

12 months ago

1.0.75

12 months ago

1.0.73

1 year ago

1.0.74

1 year ago

1.0.72

1 year ago

1.0.66

1 year ago

1.0.65

1 year ago

1.0.69

1 year ago

1.0.68

1 year ago

1.0.67

1 year ago

1.0.71

1 year ago

1.0.70

1 year ago

1.0.62

1 year ago

1.0.61

1 year ago

1.0.60

1 year ago

1.0.64

1 year ago

1.0.63

1 year ago

1.0.59

1 year ago

1.0.58

1 year ago

1.0.55

1 year ago

1.0.54

1 year ago

1.0.53

1 year ago

1.0.52

1 year ago

1.0.57

1 year ago

1.0.56

1 year ago

1.0.49

1 year ago

1.0.51

1 year ago

1.0.50

1 year ago

1.0.44

1 year ago

1.0.43

1 year ago

1.0.42

1 year ago

1.0.41

1 year ago

1.0.48

1 year ago

1.0.47

1 year ago

1.0.46

1 year ago

1.0.45

1 year ago

1.0.40

1 year ago

1.0.39

1 year ago

1.0.38

1 year ago

1.0.33

1 year ago

1.0.32

1 year ago

1.0.31

1 year ago

1.0.37

1 year ago

1.0.36

1 year ago

1.0.35

1 year ago

1.0.34

1 year ago

1.0.29

1 year ago

1.0.30

1 year ago

1.0.28

1 year ago

1.0.27

1 year ago

1.0.26

1 year ago

1.0.25

1 year ago

1.0.18

1 year ago

1.0.16

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.2

2 years ago