Expression class
Uma expressão que pode ser analisada ou avaliada para produzir um valor. Isso fornece um wrapper aberto que dá suporte a várias funções internas e também pode ser estendido em runtime. Ele também dá suporte à validação da correção de uma expressão e avaliação que deve ser livre de exceção.
Construtores
Expression(string, Expression |
construtor de expressão. |
Propriedades
children | Expressões infantis. |
evaluator | Avaliador de expressão. |
functions | Dicionário de função => ExpressionEvaluator. Essas são todas as funções disponíveis, você pode adicionar funções personalizadas a ela, mas não pode substituir funções internas. Se você limpar o dicionário, ele será redefinido para as funções internas. |
return |
Resultado esperado da avaliação da expressão. |
type | Tipo de expressão. |
Métodos
and |
Construa e valide uma expressão And. |
deep |
Faça uma igualdade profunda entre expressões. |
equals |
Construa e valide uma expressão Equals. |
lamba |
Construir uma expressão de um EvaluateExpressionDelegate |
lambda((arg0: any) => any) | Construa uma expressão a partir de uma expressão lamba sobre o estado. As exceções serão capturadas e exibidas como uma cadeia de caracteres de erro. |
lookup(string) | Pesquise uma função ExpressionEvaluator por nome. |
make |
Faça uma expressão e valide-a. |
not |
Construa e valide uma expressão Not. |
or |
Construa e valide uma expressão Or. |
parse(string, Evaluator |
Analise uma cadeia de caracteres de expressão em um objeto de expressão |
references() | Retorne os caminhos de referência estáticos à memória. Retornar todos os caminhos estáticos para a memória. Se houver um índice de elemento computado, o caminho será encerrado lá, mas você também poderá obter outros caminhos da parte computada. |
reference |
Função de caminhada para identificar referências de memória estática em uma expressão. |
set |
Construa e valide uma expressão Defina uma propriedade para uma expressão de valor. |
to |
Retorna uma cadeia de caracteres que representa o objeto de Expressão |
try |
Avalie a expressão. |
validate() | Validar expressão imediata. |
validate |
Valide recursivamente a árvore de expressão. |
Detalhes do construtor
Expression(string, ExpressionEvaluator, Expression[])
construtor de expressão.
new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])
Parâmetros
- type
-
string
Tipo de expressão de ExpressionType
- evaluator
- ExpressionEvaluator
Informações sobre como validar e avaliar a expressão.
- children
Expressões filho.
Detalhes da propriedade
children
evaluator
functions
Dicionário de função => ExpressionEvaluator. Essas são todas as funções disponíveis, você pode adicionar funções personalizadas a ela, mas não pode substituir funções internas. Se você limpar o dicionário, ele será redefinido para as funções internas.
static functions: FunctionTable = new FunctionTable()
Valor da propriedade
returnType
Resultado esperado da avaliação da expressão.
ReturnType returnType
Valor da propriedade
O resultado esperado da avaliação da expressão.
type
Tipo de expressão.
string type
Valor da propriedade
string
O tipo da expressão.
Detalhes do método
andExpression(Expression[])
Construa e valide uma expressão And.
static function andExpression(children: Expression[]): Expression
Parâmetros
- children
Cláusulas filho.
Retornos
Nova expressão.
deepEquals(Expression)
Faça uma igualdade profunda entre expressões.
function deepEquals(other: Expression): boolean
Parâmetros
- other
- Expression
Outra expressão.
Retornos
boolean
True se as expressões forem as mesmas.
equalsExpression(Expression[])
Construa e valide uma expressão Equals.
static function equalsExpression(children: Expression[]): Expression
Parâmetros
- children
Cláusulas filho.
Retornos
Nova expressão.
lambaExpression(EvaluateExpressionDelegate)
Construir uma expressão de um EvaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Parâmetros
Função da qual criar uma expressão.
Retornos
A nova expressão.
lambda((arg0: any) => any)
Construa uma expressão a partir de uma expressão lamba sobre o estado. As exceções serão capturadas e exibidas como uma cadeia de caracteres de erro.
static function lambda(func: (arg0: any) => any): Expression
Parâmetros
- func
-
(arg0: any) => any
expressão ambda a ser avaliada.
Retornos
Nova expressão.
lookup(string)
Pesquise uma função ExpressionEvaluator por nome.
static function lookup(functionName: string): ExpressionEvaluator
Parâmetros
- functionName
-
string
Nome da função a ser pesquisada.
Retornos
Um ExpressionEvaluator
makeExpression(string, ExpressionEvaluator, Expression[])
Faça uma expressão e valide-a.
static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression
Parâmetros
- type
-
string
Tipo de expressão de ExpressionType.
- evaluator
- ExpressionEvaluator
Informações sobre como validar e avaliar a expressão.
- children
Expressões filho.
Retornos
A nova expressão.
notExpression(Expression)
Construa e valide uma expressão Not.
static function notExpression(child: Expression): Expression
Parâmetros
- child
- Expression
Cláusulas filho.
Retornos
Nova expressão.
orExpression(Expression[])
Construa e valide uma expressão Or.
static function orExpression(children: Expression[]): Expression
Parâmetros
- children
Cláusulas filho.
Retornos
Nova expressão.
parse(string, EvaluatorLookup)
Analise uma cadeia de caracteres de expressão em um objeto de expressão
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
Parâmetros
- expression
-
string
Cadeia de caracteres de expressão.
- lookup
- EvaluatorLookup
Opcional. EvaluatorLookup pesquisa de função ao analisar a expressão. O padrão é expression.lookup que usa expression.functions tabela.
Retornos
O objeto de expressão.
references()
Retorne os caminhos de referência estáticos à memória. Retornar todos os caminhos estáticos para a memória. Se houver um índice de elemento computado, o caminho será encerrado lá, mas você também poderá obter outros caminhos da parte computada.
function references(): string[]
Retornos
string[]
Lista dos caminhos de referência estáticos.
referenceWalk(Expression, (arg0: Expression) => boolean)
Função de caminhada para identificar referências de memória estática em uma expressão.
function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }
Parâmetros
- expression
- Expression
Expressão a ser analisada.
- extension
-
(arg0: Expression) => boolean
Se estiver presente, chamado para substituir a pesquisa de itens como expansão de modelo.
Retornos
{ path: string, refs: Set<string> }
Caminho de expressão do acessador.
setPathToValue(Expression, any)
Construa e valide uma expressão Defina uma propriedade para uma expressão de valor.
static function setPathToValue(property: Expression, value: any): Expression
Parâmetros
- property
- Expression
expressão de propriedade.
- value
-
any
expressão de valor.
Retornos
Nova expressão.
toString()
Retorna uma cadeia de caracteres que representa o objeto de Expressão
function toString(): string
Retornos
string
Uma cadeia de caracteres que representa o objeto de Expressão
tryEvaluate(MemoryInterface | any, Options)
Avalie a expressão.
function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError
Parâmetros
- state
-
MemoryInterface | any
Estado global no qual avaliar as expressões do acessador. Pode ser Dicionário, caso contrário, a reflexão será usada para acessar a propriedade e, em seguida, o indexador.
- options
- Options
Opções usadas na avaliação.
Retornos
Valor computado e uma cadeia de caracteres de erro. Se a cadeia de caracteres não for nula, houve um erro de avaliação.
validate()
Validar expressão imediata.
function validate()
validateTree()
Valide recursivamente a árvore de expressão.
function validateTree()