Я разрабатываю механизм маршрутизации событий на основе правил в Node.js.Как я могу использовать условие запроса Lucene (например, name:leaveRequested
), чтобы оценить, удовлетворяет ли условие объекту JSON, представляющему событие?
Я нашел несколько пакетов npm (например, json-rules-engine , node-rules , lucene-query-parser или lucene ), которые делают вещи, удаленно связанные с тем, чего я пытаюсь достичь, но не обеспечивающиедвигатель оценки.
Я предполагаю, что это работает так:
Условие типа запроса Lucene определяется следующим образом:
const condition = 'name:leaveRequested';
Движок получает события JSON и оценивает, если данныйОбъект JSON соответствует условию.
Примеры событий
const eventA = { name: 'leaveRequested' };
const eventB = { name: 'passwordChanged' };
Пример вывода:
Lucene.isMatch(condition, eventA) // true
Lucene.isMatch(condition, eventB) // false
// Lucene is just a dummy object representing the logic I'm looking for