diff --git a/package.json b/package.json index c9fbe0b..1143648 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@iflix/json-rules-engine", - "version": "4.0.0", + "version": "4.0.1", "description": "Rules Engine expressed in simple json", "main": "dist/index.js", "scripts": { diff --git a/src/engine.js b/src/engine.js index 9723889..5052a6b 100644 --- a/src/engine.js +++ b/src/engine.js @@ -198,7 +198,7 @@ class Engine extends EventEmitter { this.emit('failure', rule.event, almanac, ruleResult) } }).catch((error) => { - this.emit('error', error) + this.listenerCount('error') > 0 && this.emit('error', error) throw error }) })) @@ -224,7 +224,7 @@ class Engine extends EventEmitter { debug(`engine::run ruleResult:${ruleResult.result}`) return ruleResult }).catch((error) => { - this.emit('error', error) + this.listenerCount('error') > 0 && this.emit('error', error) throw error }) } diff --git a/src/rule.js b/src/rule.js index c3ceb1d..5687011 100644 --- a/src/rule.js +++ b/src/rule.js @@ -275,7 +275,7 @@ class Rule extends EventEmitter { error.rule = { name: this.name } - this.emit('error', error) + this.listenerCount('error') > 0 && this.emit('error', error) throw error }