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 può anche essere esteso in fase di esecuzione. Supporta anche la convalida della correttezza di un'espressione e di una valutazione che deve essere libera da eccezioni.
Costruttori
Expression(string, 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. |
return |
Risultato previsto della valutazione dell'espressione. |
type | Tipo di espressione. |
Metodi
and |
Costruire e convalidare un'espressione And. |
deep |
Eseguire un'uguaglianza profonda tra espressioni. |
equals |
Costruire e convalidare un'espressione Equals. |
lamba |
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) | Ricerca di un ExpressionEvaluator funzione in base al nome. |
make |
Creare un'espressione e convalidarla. |
not |
Costruire e convalidare un'espressione Not. |
or |
Costruire e convalidare un'espressione Or. |
parse(string, Evaluator |
Analizzare una stringa di espressione in un oggetto expression di |
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. |
reference |
Funzione a piedi per identificare i riferimenti alla memoria statica in un'espressione. |
set |
Costruire e convalidare un'espressione di proprietà Imposta un'espressione di proprietà su un'espressione di valore. |
to |
Restituisce una stringa che rappresenta l'oggetto expression |
try |
Valutare l'espressione. |
validate() | Convalidare l'espressione immediata. |
validate |
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
Espressioni figlio.
Dettagli proprietà
children
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
Clausole figlio.
Restituisce
Nuova espressione.
deepEquals(Expression)
Eseguire un'uguaglianza profonda tra 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
Clausole figlio.
Restituisce
Nuova espressione.
lambaExpression(EvaluateExpressionDelegate)
Costruire un'espressione da evaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Parametri
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)
Ricerca di un ExpressionEvaluator funzione in base al nome.
static function lookup(functionName: string): ExpressionEvaluator
Parametri
- functionName
-
string
Nome della funzione da cercare.
Restituisce
Un 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
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
Clausole figlio.
Restituisce
Nuova espressione.
parse(string, EvaluatorLookup)
Analizzare una stringa di espressione in un oggetto expression di
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
Parametri
- expression
-
string
Stringa di espressione.
- lookup
- EvaluatorLookup
Opzionale. la ricerca di funzioni di di AnalizzatoreLookup durante l'analisi dell'espressione. Il valore predefinito è expression.lookup che usa expression.functions tabella.
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 per 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 value.
Restituisce
Nuova espressione.
toString()
Restituisce una stringa che rappresenta l'oggetto expression
function toString(): string
Restituisce
string
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 usate 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()