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 devem ser livres de exceções.

Construtores

Expression(string, ExpressionEvaluator, 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.

returnType

Resultado esperado da avaliação da expressão.

type

Tipo de expressão.

Métodos

andExpression(Expression[])

Construa e valide uma expressão And.

deepEquals(Expression)

Faça uma igualdade profunda entre expressões.

equalsExpression(Expression[])

Construa e valide uma expressão Equals.

lambaExpression(EvaluateExpressionDelegate)

Construir uma expressão de um EvaluateExpressionDelegate

lambda((arg0: any) => any)

Construa uma expressão 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.

makeExpression(string, ExpressionEvaluator, Expression[])

Faça uma expressão e valide-a.

notExpression(Expression)

Construa e valide uma expressão Not.

orExpression(Expression[])

Construa e valide uma expressão Or.

parse(string, EvaluatorLookup)

Analise uma cadeia de caracteres de expressão em um objeto Expression .

references()

Retornar os caminhos de referência estáticos para a 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.

referenceWalk(Expression, (arg0: Expression) => boolean)

Função walking para identificar referências de memória estática em uma expressão.

setPathToValue(Expression, any)

Construa e valide um Definir uma expressão de propriedade para uma expressão de valor.

toString()

Retorna uma cadeia de caracteres que representa o objeto Expression atual.

tryEvaluate(MemoryInterface | any, Options)

Avalie a expressão.

validate()

Validar expressão imediata.

validateTree()

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

Expression[]

Expressões filho.

Detalhes da propriedade

children

Expressões infantis.

children: Expression[]

Valor da propriedade

evaluator

Avaliador de expressão.

evaluator: ExpressionEvaluator

Valor da propriedade

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 de expressão.

Detalhes do método

andExpression(Expression[])

Construa e valide uma expressão And.

static function andExpression(children: Expression[]): Expression

Parâmetros

children

Expression[]

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

Expression[]

Cláusulas filho.

Retornos

Nova expressão.

lambaExpression(EvaluateExpressionDelegate)

Construir uma expressão de um EvaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Parâmetros

func
EvaluateExpressionDelegate

Função da qual criar uma expressão.

Retornos

A nova expressão.

lambda((arg0: any) => any)

Construa uma expressão 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 correspondente ao nome da função.

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

Expression[]

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

Expression[]

Cláusulas filho.

Retornos

Nova expressão.

parse(string, EvaluatorLookup)

Analise uma cadeia de caracteres de expressão em um objeto Expression .

static function parse(expression: string, lookup?: EvaluatorLookup): Expression

Parâmetros

expression

string

Cadeia de caracteres de expressão.

lookup
EvaluatorLookup

Opcional. Pesquisa da função EvaluatorLookup ao analisar a expressão. O padrão é Expression.lookup , que usa a tabela Expression.functions .

Retornos

O objeto de expressão.

references()

Retornar os caminhos de referência estáticos para a 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 walking 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 um Definir uma expressão de 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 value.

Retornos

Nova expressão.

toString()

Retorna uma cadeia de caracteres que representa o objeto Expression atual.

function toString(): string

Retornos

string

Uma cadeia de caracteres que representa o objeto Expression atual.

tryEvaluate(MemoryInterface | any, Options)

Avalie a expressão.

function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError

Parâmetros

state

MemoryInterface | any

Estado global em que as expressões do acessador serão avaliadas. Pode ser Dicionário, caso contrário, reflexão é usada para acessar a propriedade e, em seguida, 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()