Expression class
Ein Ausdruck, der analysiert oder ausgewertet werden kann, um einen Wert zu erzeugen. Dies stellt einen offenen Wrapper bereit, der eine Reihe integrierter Funktionen unterstützt und auch zur Laufzeit erweitert werden kann. Es unterstützt auch die Überprüfung der Richtigkeit eines Ausdrucks und einer Auswertung, die ausnahmefrei sein sollte.
Konstruktoren
Expression(string, Expression |
Ausdruckskonstruktor. |
Eigenschaften
children | Untergeordnete Ausdrücke. |
evaluator | Evaluator des Ausdrucks. |
functions | Wörterbuch der Funktion => ExpressionEvaluator. Dies sind alle verfügbaren Funktionen, Sie können ihr benutzerdefinierte Funktionen hinzufügen, aber Sie können integrierte Funktionen nicht ersetzen. Wenn Sie das Wörterbuch löschen, wird es auf die integrierten Funktionen zurückgesetzt. |
return |
Erwartetes Ergebnis der Auswertung des Ausdrucks. |
type | Typ des Ausdrucks. |
Methoden
and |
Erstellen und Überprüfen eines And-Ausdrucks. |
deep |
Führen Sie eine tiefe Gleichheit zwischen Ausdrücken durch. |
equals |
Erstellen und Überprüfen eines Gleichheitsausdrucks. |
lamba |
Erstellen eines Ausdrucks aus einem EvaluateExpressionDelegate |
lambda((arg0: any) => any) | Erstellen Sie einen Ausdruck aus einem Lamba-Ausdruck über dem Zustand. Ausnahmen werden abgefangen und als Fehlerzeichenfolge angezeigt. |
lookup(string) | Nachschlagen eines ExpressionEvaluator Funktion nach Namen. |
make |
Erstellen Sie einen Ausdruck, und überprüfen Sie ihn. |
not |
Erstellen und Überprüfen eines Not-Ausdrucks. |
or |
Erstellen und Überprüfen eines Or-Ausdrucks. |
parse(string, Evaluator |
Analysieren Sie eine Ausdruckszeichenfolge in ein Expression-Objekt. |
references() | Gibt die statischen Verweispfade in den Arbeitsspeicher zurück. Gibt alle statischen Pfade in den Arbeitsspeicher zurück. Wenn ein berechneter Elementindex vorhanden ist, wird der Pfad dort beendet, aber Möglicherweise werden auch andere Pfade aus dem berechneten Teil abgerufen. |
reference |
Walking-Funktion zum Identifizieren statischer Speicherverweise in einem Ausdruck. |
set |
Erstellen und Überprüfen eines Festlegen eines Eigenschaftsausdrucks auf einen Wertausdruck. |
to |
Gibt eine Zeichenfolge zurück, die das aktuelle Expression -Objekt darstellt. |
try |
Auswerten des Ausdrucks. |
validate() | Überprüfen des unmittelbaren Ausdrucks. |
validate |
Rekursiv überprüfen Sie die Ausdrucksstruktur. |
Details zum Konstruktor
Expression(string, ExpressionEvaluator, Expression[])
Ausdruckskonstruktor.
new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])
Parameter
- type
-
string
Ausdruckstyp aus ExpressionType
- evaluator
- ExpressionEvaluator
Informationen zum Überprüfen und Auswerten des Ausdrucks.
- children
Untergeordnete Ausdrücke.
Details zur Eigenschaft
children
evaluator
functions
Wörterbuch der Funktion => ExpressionEvaluator. Dies sind alle verfügbaren Funktionen, Sie können ihr benutzerdefinierte Funktionen hinzufügen, aber Sie können integrierte Funktionen nicht ersetzen. Wenn Sie das Wörterbuch löschen, wird es auf die integrierten Funktionen zurückgesetzt.
static functions: FunctionTable = new FunctionTable()
Eigenschaftswert
returnType
Erwartetes Ergebnis der Auswertung des Ausdrucks.
ReturnType returnType
Eigenschaftswert
Das erwartete Ergebnis der Auswertung des Ausdrucks.
type
Typ des Ausdrucks.
string type
Eigenschaftswert
string
Der Typ des Ausdrucks.
Details zur Methode
andExpression(Expression[])
Erstellen und Überprüfen eines And-Ausdrucks.
static function andExpression(children: Expression[]): Expression
Parameter
- children
Untergeordnete Klauseln.
Gibt zurück
Neuer Ausdruck.
deepEquals(Expression)
Führen Sie eine tiefe Gleichheit zwischen Ausdrücken durch.
function deepEquals(other: Expression): boolean
Parameter
- other
- Expression
Anderer Ausdruck.
Gibt zurück
boolean
True, wenn Ausdrücke identisch sind.
equalsExpression(Expression[])
Erstellen und Überprüfen eines Gleichheitsausdrucks.
static function equalsExpression(children: Expression[]): Expression
Parameter
- children
Untergeordnete Klauseln.
Gibt zurück
Neuer Ausdruck.
lambaExpression(EvaluateExpressionDelegate)
Erstellen eines Ausdrucks aus einem EvaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Parameter
Funktion zum Erstellen eines Ausdrucks aus.
Gibt zurück
Der neue Ausdruck.
lambda((arg0: any) => any)
Erstellen Sie einen Ausdruck aus einem Lamba-Ausdruck über dem Zustand. Ausnahmen werden abgefangen und als Fehlerzeichenfolge angezeigt.
static function lambda(func: (arg0: any) => any): Expression
Parameter
- func
-
(arg0: any) => any
ambda-Ausdruck, der ausgewertet werden soll.
Gibt zurück
Neuer Ausdruck.
lookup(string)
Nachschlagen eines ExpressionEvaluator Funktion nach Namen.
static function lookup(functionName: string): ExpressionEvaluator
Parameter
- functionName
-
string
Der Name der Funktion, die nachschlagen soll.
Gibt zurück
Ein ExpressionEvaluator, der dem Funktionsnamen entspricht.
makeExpression(string, ExpressionEvaluator, Expression[])
Erstellen Sie einen Ausdruck, und überprüfen Sie ihn.
static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression
Parameter
- type
-
string
Ausdruckstyp aus ExpressionType.
- evaluator
- ExpressionEvaluator
Informationen zum Überprüfen und Auswerten des Ausdrucks.
- children
Untergeordnete Ausdrücke.
Gibt zurück
Der neue Ausdruck.
notExpression(Expression)
Erstellen und Überprüfen eines Not-Ausdrucks.
static function notExpression(child: Expression): Expression
Parameter
- child
- Expression
Untergeordnete Klauseln.
Gibt zurück
Neuer Ausdruck.
orExpression(Expression[])
Erstellen und Überprüfen eines Or-Ausdrucks.
static function orExpression(children: Expression[]): Expression
Parameter
- children
Untergeordnete Klauseln.
Gibt zurück
Neuer Ausdruck.
parse(string, EvaluatorLookup)
Analysieren Sie eine Ausdruckszeichenfolge in ein Expression-Objekt.
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
Parameter
- expression
-
string
Ausdruckszeichenfolge.
- lookup
- EvaluatorLookup
Wahlfrei. EvaluatorLookup Funktionssuche beim Analysieren des Ausdrucks. Der Standardwert ist Expression.lookup, der Expression.functions Tabelle verwendet.
Gibt zurück
Das Ausdrucksobjekt.
references()
Gibt die statischen Verweispfade in den Arbeitsspeicher zurück. Gibt alle statischen Pfade in den Arbeitsspeicher zurück. Wenn ein berechneter Elementindex vorhanden ist, wird der Pfad dort beendet, aber Möglicherweise werden auch andere Pfade aus dem berechneten Teil abgerufen.
function references(): string[]
Gibt zurück
string[]
Liste der statischen Referenzpfade.
referenceWalk(Expression, (arg0: Expression) => boolean)
Walking-Funktion zum Identifizieren statischer Speicherverweise in einem Ausdruck.
function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }
Parameter
- expression
- Expression
Zu analysierende Ausdruck.
- extension
-
(arg0: Expression) => boolean
Wenn vorhanden, wird aufgerufen, um die Suche nach Elementen wie der Vorlagenerweiterung außer Kraft zu setzen.
Gibt zurück
{ path: string, refs: Set<string> }
Accessorpfad des Ausdrucks.
setPathToValue(Expression, any)
Erstellen und Überprüfen eines Festlegen eines Eigenschaftsausdrucks auf einen Wertausdruck.
static function setPathToValue(property: Expression, value: any): Expression
Parameter
- property
- Expression
Eigenschaftsausdruck.
- value
-
any
Wertausdruck.
Gibt zurück
Neuer Ausdruck.
toString()
Gibt eine Zeichenfolge zurück, die das aktuelle Expression -Objekt darstellt.
function toString(): string
Gibt zurück
string
Eine Zeichenfolge, die das aktuelle Expression-Objekt darstellt.
tryEvaluate(MemoryInterface | any, Options)
Auswerten des Ausdrucks.
function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError
Parameter
- state
-
MemoryInterface | any
Globaler Zustand zum Auswerten von Accessorausdrücken. Kann Wörterbuch sein, andernfalls wird Spiegelung verwendet, um auf Eigenschaft und dann indexer zuzugreifen.
- options
- Options
In der Auswertung verwendete Optionen.
Gibt zurück
Berechneter Wert und eine Fehlerzeichenfolge. Wenn die Zeichenfolge ungleich NULL ist, ist ein Auswertungsfehler aufgetreten.
validate()
Überprüfen des unmittelbaren Ausdrucks.
function validate()
validateTree()
Rekursiv überprüfen Sie die Ausdrucksstruktur.
function validateTree()