New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

json-rules-engine

Package Overview
Dependencies
Maintainers
1
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-rules-engine - npm Package Compare versions

Comparing version 6.0.1 to 6.1.0

4

CHANGELOG.md

@@ -0,1 +1,5 @@

#### 6.1.0 / 2021-06-03
* engine.removeRule() now supports removing rules by name
* Added engine.updateRule(rule)
#### 6.0.1 / 2021-03-09

@@ -2,0 +6,0 @@ * Updates Typescript types to include `failureEvents` in EngineResult.

@@ -102,7 +102,5 @@ 'use strict';

if (!Object.prototype.hasOwnProperty.call(properties, 'conditions')) throw new Error('Engine: addRule() argument requires "conditions" property');
rule = new _rule2.default(properties);
}
rule.setEngine(this);
this.rules.push(rule);

@@ -114,3 +112,3 @@ this.prioritizedRules = null;

/**
* Remove a rule from the engine
* update a rule in the engine
* @param {object|Rule} rule - rule definition. Must be a instance of Rule

@@ -120,10 +118,41 @@ */

}, {
key: 'updateRule',
value: function updateRule(rule) {
var ruleIndex = this.rules.findIndex(function (ruleInEngine) {
return ruleInEngine.name === rule.name;
});
if (ruleIndex > -1) {
this.rules.splice(ruleIndex, 1);
this.addRule(rule);
this.prioritizedRules = null;
} else {
throw new Error('Engine: updateRule() rule not found');
}
}
/**
* Remove a rule from the engine
* @param {object|Rule|string} rule - rule definition. Must be a instance of Rule
*/
}, {
key: 'removeRule',
value: function removeRule(rule) {
if (rule instanceof _rule2.default === false) throw new Error('Engine: removeRule() rule must be a instance of Rule');
var index = this.rules.indexOf(rule);
if (index === -1) return false;
this.prioritizedRules = null;
return Boolean(this.rules.splice(index, 1).length);
var ruleRemoved = false;
if (!(rule instanceof _rule2.default)) {
var filteredRules = this.rules.filter(function (ruleInEngine) {
return ruleInEngine.name !== rule;
});
ruleRemoved = filteredRules.length !== this.rules.length;
this.rules = filteredRules;
} else {
var index = this.rules.indexOf(rule);
if (index > -1) {
ruleRemoved = Boolean(this.rules.splice(index, 1).length);
}
}
if (ruleRemoved) {
this.prioritizedRules = null;
}
return ruleRemoved;
}

@@ -130,0 +159,0 @@

2

package.json
{
"name": "json-rules-engine",
"version": "6.0.1",
"version": "6.1.0",
"description": "Rules Engine expressed in simple json",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc