Members
-
<inner, constant> regexCompleteExpression :string
-
Regex para avaliar a expressão completa.
Type:
- string
-
<inner, constant> regexToExtractVariables :string
-
Expressão para extrair variáveis entre colchetes. Grupo 1 = [ Grupo 2 = Regex de uma variável Grupo 3 = ]
Type:
- string
Methods
-
<inner> Expression(expression, expression)
-
Implementação simplificada de um avaliador de expressões matemáticas que suporta receber variáveis para avaliação dinâmica. As variáveis devem ser declaradas na expressão dentro de colchetes, na forma
[variable]
.Este método cria uma nova instância da classe Expression e garante que a e expressão passada é válida sintaticamente e semanticamente de acordo com as seguintes regras:
- Conter somente números, "(", ")", "+", "-", "*" ou "/".
- Se contiver caracteres, devem estar entre colchetes "[]".
- Não podem haver parênteses entre colchetes.
Parameters:
Name Type Description expression
string Expressão matemática a ser avaliada. Parâmetros podem ser utilizados e devem ser expressos entre colchetes (
[parameter]
). Quaisquer outras funções contidas na expressão não serão aceitas.expression
string Expressão a ser verificada
Throws:
-
Error Expressão vazia ou null
-
Error Expressão sintaticamente incorreta (não há match com regex)
-
Error Expressão semanticamente inválida (substituição de variáveis pelo valor '1' resultou em erro.
Returns:
Instância de Expression a ser utilizada
- Type
- Expression
Example
var Expression = require('@nginstack/web-framework/lib/expression/Expression'); var expr = new Expression('10*(300+[REC.Recurso])'); var params = { 'REC.Recurso': 100 }; var valor = expr.evaluate(params); // Valor deve ser 4000.