Как найти неудавшиеся факты из 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
}

В случае отказа правила длина событий будет равна нулю.

Другие вопросы по тегам