Condividi tramite


Expression class

Espressione che può essere analizzata o valutata per produrre un valore. In questo modo è disponibile un wrapper aperto che supporta una serie di funzioni predefinite e che può anche essere esteso in fase di esecuzione. Supporta anche la convalida della correttezza di un'espressione e di una valutazione che devono essere libere da eccezioni.

Costruttori

Expression(string, ExpressionEvaluator, Expression[])

costruttore di espressioni.

Proprietà

children

Espressioni figlio.

evaluator

Analizzatore di espressione.

functions

Dizionario della funzione => ExpressionEvaluator. Si tratta di tutte le funzioni disponibili, è possibile aggiungervi funzioni personalizzate, ma non è possibile sostituire le funzioni predefinite. Se si cancella il dizionario, verrà reimpostato sulle funzioni predefinite.

returnType

Risultato previsto della valutazione dell'espressione.

type

Tipo di espressione.

Metodi

andExpression(Expression[])

Costruire e convalidare un'espressione And.

deepEquals(Expression)

Eseguire un'uguaglianza profonda tra le espressioni.

equalsExpression(Expression[])

Costruire e convalidare un'espressione Equals.

lambaExpression(EvaluateExpressionDelegate)

Costruire un'espressione da evaluateExpressionDelegate

lambda((arg0: any) => any)

Costruire un'espressione da un'espressione lamba sullo stato. Le eccezioni verranno rilevate e visualizzate come stringa di errore.

lookup(string)

Cercare una funzione ExpressionEvaluator in base al nome.

makeExpression(string, ExpressionEvaluator, Expression[])

Creare un'espressione e convalidarla.

notExpression(Expression)

Costruire e convalidare un'espressione Not.

orExpression(Expression[])

Costruire e convalidare un'espressione Or.

parse(string, EvaluatorLookup)

Analizzare una stringa di espressione in un oggetto Expression .

references()

Restituisce i percorsi di riferimento statici alla memoria. Restituisce tutti i percorsi statici alla memoria. Se è presente un indice degli elementi calcolati, il percorso viene terminato, ma è possibile ottenere anche altri percorsi dalla parte calcolata.

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

Funzione a piedi per identificare i riferimenti alla memoria statica in un'espressione.

setPathToValue(Expression, any)

Costruire e convalidare un'espressione di proprietà Imposta un'espressione di proprietà su un'espressione di valore.

toString()

Restituisce una stringa che rappresenta l'oggetto Expression corrente.

tryEvaluate(MemoryInterface | any, Options)

Valutare l'espressione.

validate()

Convalidare l'espressione immediata.

validateTree()

Convalidare in modo ricorsivo l'albero delle espressioni.

Dettagli costruttore

Expression(string, ExpressionEvaluator, Expression[])

costruttore di espressioni.

new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])

Parametri

type

string

Tipo di espressione da ExpressionType

evaluator
ExpressionEvaluator

Informazioni su come convalidare e valutare l'espressione.

children

Expression[]

Espressioni figlio.

Dettagli proprietà

children

Espressioni figlio.

children: Expression[]

Valore della proprietà

evaluator

Analizzatore di espressione.

evaluator: ExpressionEvaluator

Valore della proprietà

functions

Dizionario della funzione => ExpressionEvaluator. Si tratta di tutte le funzioni disponibili, è possibile aggiungervi funzioni personalizzate, ma non è possibile sostituire le funzioni predefinite. Se si cancella il dizionario, verrà reimpostato sulle funzioni predefinite.

static functions: FunctionTable = new FunctionTable()

Valore della proprietà

returnType

Risultato previsto della valutazione dell'espressione.

ReturnType returnType

Valore della proprietà

Risultato previsto della valutazione dell'espressione.

type

Tipo di espressione.

string type

Valore della proprietà

string

Tipo dell'espressione.

Dettagli metodo

andExpression(Expression[])

Costruire e convalidare un'espressione And.

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

Parametri

children

Expression[]

Clausole figlio.

Restituisce

Nuova espressione.

deepEquals(Expression)

Eseguire un'uguaglianza profonda tra le espressioni.

function deepEquals(other: Expression): boolean

Parametri

other
Expression

Altra espressione.

Restituisce

boolean

True se le espressioni sono uguali.

equalsExpression(Expression[])

Costruire e convalidare un'espressione Equals.

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

Parametri

children

Expression[]

Clausole figlio.

Restituisce

Nuova espressione.

lambaExpression(EvaluateExpressionDelegate)

Costruire un'espressione da evaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Parametri

func
EvaluateExpressionDelegate

Funzione da cui creare un'espressione.

Restituisce

Nuova espressione.

lambda((arg0: any) => any)

Costruire un'espressione da un'espressione lamba sullo stato. Le eccezioni verranno rilevate e visualizzate come stringa di errore.

static function lambda(func: (arg0: any) => any): Expression

Parametri

func

(arg0: any) => any

espressione ambda da valutare.

Restituisce

Nuova espressione.

lookup(string)

Cercare una funzione ExpressionEvaluator in base al nome.

static function lookup(functionName: string): ExpressionEvaluator

Parametri

functionName

string

Nome della funzione da cercare.

Restituisce

ExpressionEvaluator corrispondente al nome della funzione.

makeExpression(string, ExpressionEvaluator, Expression[])

Creare un'espressione e convalidarla.

static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression

Parametri

type

string

Tipo di espressione da ExpressionType.

evaluator
ExpressionEvaluator

Informazioni su come convalidare e valutare l'espressione.

children

Expression[]

Espressioni figlio.

Restituisce

Nuova espressione.

notExpression(Expression)

Costruire e convalidare un'espressione Not.

static function notExpression(child: Expression): Expression

Parametri

child
Expression

Clausole figlio.

Restituisce

Nuova espressione.

orExpression(Expression[])

Costruire e convalidare un'espressione Or.

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

Parametri

children

Expression[]

Clausole figlio.

Restituisce

Nuova espressione.

parse(string, EvaluatorLookup)

Analizzare una stringa di espressione in un oggetto Expression .

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

Parametri

expression

string

Stringa di espressione.

lookup
EvaluatorLookup

Facoltativa. Ricerca della funzione EvaluatorLookup durante l'analisi dell'espressione. Il valore predefinito è Expression.lookup che usa la tabella Expression.functions .

Restituisce

Oggetto espressione.

references()

Restituisce i percorsi di riferimento statici alla memoria. Restituisce tutti i percorsi statici alla memoria. Se è presente un indice degli elementi calcolati, il percorso viene terminato, ma è possibile ottenere anche altri percorsi dalla parte calcolata.

function references(): string[]

Restituisce

string[]

Elenco dei percorsi di riferimento statici.

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

Funzione a piedi per identificare i riferimenti alla memoria statica in un'espressione.

function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }

Parametri

expression
Expression

Espressione da analizzare.

extension

(arg0: Expression) => boolean

Se presente, chiamato per eseguire l'override della ricerca di elementi come l'espansione del modello.

Restituisce

{ path: string, refs: Set<string> }

Percorso della funzione di accesso dell'espressione.

setPathToValue(Expression, any)

Costruire e convalidare un'espressione di proprietà Imposta un'espressione di proprietà su un'espressione di valore.

static function setPathToValue(property: Expression, value: any): Expression

Parametri

property
Expression

espressione di proprietà.

value

any

espressione valore.

Restituisce

Nuova espressione.

toString()

Restituisce una stringa che rappresenta l'oggetto Expression corrente.

function toString(): string

Restituisce

string

Stringa che rappresenta l'oggetto Expression corrente.

tryEvaluate(MemoryInterface | any, Options)

Valutare l'espressione.

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

Parametri

state

MemoryInterface | any

Stato globale per valutare le espressioni della funzione di accesso rispetto a . Può essere Dictionary. In caso contrario, la reflection viene usata per accedere alla proprietà e quindi all'indicizzatore.

options
Options

Opzioni utilizzate nella valutazione.

Restituisce

Valore calcolato e stringa di errore. Se la stringa è non Null, si è verificato un errore di valutazione.

validate()

Convalidare l'espressione immediata.

function validate()

validateTree()

Convalidare in modo ricorsivo l'albero delle espressioni.

function validateTree()