3
3
The Engine stores and executes rules, emits events, and maintains state.
4
4
5
5
* [ Methods] ( #methods )
6
- * [ constructor([ Array rules] , Object [ options] )] ( #constructorarray-rules-object-options )
7
- * [ Options] ( #options )
8
- * [ engine.addFact(String id, Function [ definitionFunc] , Object [ options] )] ( #engineaddfactstring-id-function-definitionfunc-object-options )
9
- * [ engine.removeFact(String id)] ( #engineremovefactstring-id )
10
- * [ engine.addRule(Rule instance|Object options)] ( #engineaddrulerule-instanceobject-options )
11
- * [ engine.removeRule(Rule instance)] ( #engineremoverulerule-instance )
12
- * [ engine.addOperator(String operatorName, Function evaluateFunc(factValue, jsonValue))] ( #engineaddoperatorstring-operatorname-function-evaluatefuncfactvalue-jsonvalue )
13
- * [ engine.removeOperator(String operatorName)] ( #engineremoveoperatorstring-operatorname )
14
- * [ engine.run([ Object facts] , [ Object options] ) -> ; Promise ({ events: Events, almanac: Almanac, results: [ ] , failureResults: [ ] })] ( #enginerunobject-facts-object-options---promise--events-events- almanac-almanac-successresults --failureresults- )
15
- * [ engine.stop() -> ; Engine] ( #enginestop---engine )
16
- * [ engine.on('success', Function(Object event, Almanac almanac, RuleResult ruleResult))] ( #engineonsuccess-functionobject-event-almanac-almanac-ruleresult-ruleresult )
17
- * [ engine.on('failure', Function(Object event, Almanac almanac, RuleResult ruleResult))] ( #engineonfailure-functionobject-event-almanac-almanac-ruleresult-ruleresult )
6
+ * [ constructor([ Array rules] , Object [ options] )] ( #constructorarray-rules-object-options )
7
+ * [ Options] ( #options )
8
+ * [ engine.addFact(String id, Function [ definitionFunc] , Object [ options] )] ( #engineaddfactstring-id-function-definitionfunc-object-options )
9
+ * [ engine.removeFact(String id)] ( #engineremovefactstring-id )
10
+ * [ engine.addRule(Rule instance|Object options)] ( #engineaddrulerule-instanceobject-options )
11
+ * [ engine.removeRule(Rule instance)] ( #engineremoverulerule-instance )
12
+ * [ engine.addOperator(String operatorName, Function evaluateFunc(factValue, jsonValue))] ( #engineaddoperatorstring-operatorname-function-evaluatefuncfactvalue-jsonvalue )
13
+ * [ engine.removeOperator(String operatorName)] ( #engineremoveoperatorstring-operatorname )
14
+ * [ engine.run([ Object facts] , [ Object options] ) -> ; Promise ({ events: [ ] , failureEvents: [ ] , almanac: Almanac, results: [ ] , failureResults: [ ] })] ( #enginerunobject-facts-object-options---promise--events--failureevents-- almanac-almanac-results --failureresults- )
15
+ * [ engine.stop() -> ; Engine] ( #enginestop---engine )
16
+ * [ engine.on('success', Function(Object event, Almanac almanac, RuleResult ruleResult))] ( #engineonsuccess-functionobject-event-almanac-almanac-ruleresult-ruleresult )
17
+ * [ engine.on('failure', Function(Object event, Almanac almanac, RuleResult ruleResult))] ( #engineonfailure-functionobject-event-almanac-almanac-ruleresult-ruleresult )
18
18
19
19
## Methods
20
20
@@ -153,7 +153,7 @@ engine.removeOperator('startsWithLetter');
153
153
154
154
155
155
156
- ### engine.run([ Object facts] , [ Object options] ) -> Promise ({ events: Events , almanac: Almanac, results: [ ] , failureResults: [ ] })
156
+ ### engine.run([ Object facts] , [ Object options] ) -> Promise ({ events: [ ] , failureEvents: [ ] , almanac: Almanac, results: [ ] , failureResults: [ ] })
157
157
158
158
Runs the rules engine. Returns a promise which resolves when all rules have been run.
159
159
@@ -165,13 +165,20 @@ await engine.run()
165
165
await engine .run ({ userId: 1 })
166
166
167
167
// results
168
- const { results , failureResults , events } = await engine .run ({ userId: 1 })
168
+ const {
169
+ results ,
170
+ failureResults ,
171
+ events ,
172
+ failureEvents ,
173
+ almanac
174
+ } = await engine .run ({ userId: 1 })
169
175
170
176
/**
171
177
* almanac: Almanac instance for the run
172
178
* results: rule results for successful rules
173
179
* failureResults: rule results for failed rules
174
- * events: successful events
180
+ * events: successful rule events
181
+ * failureEvents: failed rule events
175
182
*/
176
183
```
177
184
Link to the [ Almanac documentation] ( ./almanac.md )
0 commit comments