Existe algum motor de regras implementado no NodeJS / em Javascript?
Estou ciente da outra pergunta semelhante, mas que tem 2 anos e não tem uma boa resposta. (e eu não tenho rep suficiente para comentar sobre essa questão)
6 answers
Há também nools , dá-lhe uma tentativa.
Fiz um novo pacote de nós chamado clipes de nó que lhe permite integrar o motor de regras de clipes populares (C Language Integrated Production System) nas suas aplicações de nós.
Https://github.com/atrniv/node-clips
CLIPS é uma ferramenta de desenvolvimento produtivo e sistema de especialistas em entrega que fornece um ambiente completo para a construção de sistemas especializados baseados em regras e/ou objetos. Criado em 1985, os clipes são agora amplamente utilizados em todo o governo., indústria e academia.
Verifique a documentação dos clipes oficiais para mais informações: http://clipsrules.sourceforge.net/
Eu desenvolvi este um. Espero que tenha achado interessante para as suas necessidades.
Da descrição:
O motor de regras de negócio é um tipo de software desenvolvido para suportar ambientes onde as regras mudam em uma base regular como avaliação de Risco, Análise de texto, mineração de dados e outros softwares projetados para a tomada de decisões.
Eu sou ainda mais tarde para o jogo, mas se as pessoas ainda estão olhando, durable_ Rules é um grande projeto que eu tenho usado.
Durable_ rules armazena estado em redis e usa um algoritmo Rete que Jesus Ruiz preparou para fazer inferência de uma forma distribuída. O projeto é ativamente apoiado e até tem suporte de Digitação se você está nesse tipo de coisa.
Eu também estou muito mais tarde, mas já que estás a pedir uma opção mais leve, considera json-rules-engine. Eu escrevi esta biblioteca em uma tentativa de criar um motor de regras simples e executantes com persistência de regras fáceis (regras são expressas em json).
Não é uma solução empresarial, e é menos ambiciosa do que nools. Muitas empresas têm necessidades relativamente básicas quando se trata de motores de regras: lógica booleana, operadores de comparação, e (idealmente) humanos regras legíveis.
O seu caso de uso de ter apenas 50 regras que mudam frequentemente (isto é, altamente configuráveis), é realmente o público-alvo para esta biblioteca.