New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

simple-rules-engine

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-rules-engine

A rules engine with a small API and simple rules configuration

latest
Source
npmnpm
Version
1.0.5
Version published
Maintainers
1
Created
Source

Simple Rules Engine

A rules engine with a small API and simple rules configuration.

Linting and Tests Maintainability Test Coverage

Usage

Please take a look at the examples folder for a complete simple use of this code.

Installing

npm install simple-rules-engine

Writing Rules

Rules are JSON objects and can be a single object or an array of them.

The expected format is simple by design. Each rule object needs three fields:

  • field: the name of the field you want to apply this rule to. For nested objects this value should be in dot-notation / flattened format. Ex. field: author.name
  • validation: the validation function you wish to perfom on field. This function needs to return a boolean value
  • outcome: the function with the logic to be applied to the target object if the validation is true. It's important to note that the outcome only runs when the validation returns a true value. This behavior is just the initial step.

Ex.

const rule = {
  field: 'name',
  validation: function (value) {
    return value === 'John Snow';
  },
  outcome: function (obj) {
    obj.is_awesome = true;
    return obj;
  }
};

What happens when a validation return false

The engine will just return the target object that was passed in. As mentioned above this might change soon. Any feedback on this would be welcomed as a Github Issue using the feedback template.

Keywords

rules

FAQs

Package last updated on 10 Nov 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts