Как найти неудавшиеся факты из JSON Rule Engine
Я новичок в механизме правил, и я пытаюсь создать механизм правил на javascript.
У меня есть следующее правило и передача одного параметра в качестве неправильного ввода, как определить, какой аргумент (факт) не соответствует (а не правилу).
engine.addRule({
conditions: {
all: [{
fact: 'score',
operator: 'greaterThanInclusive',
value: 200
}, {
fact: 'players',
operator: 'equal',
value: 10
}]
},
event: {
type: 'success',
}
})
let fact = {
score: 150,
players: 10
}
Это нарушит правило. Как мне узнать, какой факт является причиной нарушения правила?
1 ответ
Мы даем событие свойства, которое будет запущено при совпадении правил. Если правила совпадают, длина событий будет больше 0.
Пример:
const { events } = await engine.run(facts);
if (events.length > 0) {
return true
}
В случае отказа правила длина событий будет равна нулю.