Expression class
Ein Ausdruck, der analysiert oder ausgewertet werden kann, um einen Wert zu erzeugen. Dies stellt einen offenen Wrapper bereit, der eine Reihe von integrierten Funktionen unterstützt und auch zur Laufzeit erweitert werden kann. Es unterstützt auch die Überprüfung der Richtigkeit eines Ausdrucks und die Auswertung, die ausnahmefrei sein sollte.
Konstruktoren
Expression(string, Expression |
Ausdruckskonstruktor. |
Eigenschaften
children | Untergeordnete Ausdrücke. |
evaluator | Auswertung 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 | Ausdruckstyp. |
Methoden
and |
Erstellen und Überprüfen eines And-Ausdrucks. |
deep |
Führen Sie eine tiefe Gleichheit zwischen Ausdrücken aus. |
equals |
Erstellen und Überprüfen eines Equals-Ausdrucks. |
lamba |
Erstellen eines Ausdrucks aus einem EvaluateExpressionDelegate |
lambda((arg0: any) => any) | Erstellen Sie einen Ausdruck aus einem Lamba-Ausdruck über den Zustand. Ausnahmen werden abgefangen und als Fehlerzeichenfolge angezeigt. |
lookup(string) | Suchen Sie eine ExpressionEvaluator-Funktion anhand des Namens. |
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 |
Parsen einer 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 Sie erhalten möglicherweise auch andere Pfade aus dem berechneten Teil. |
reference |
Walking-Funktion zum Identifizieren statischer Speicherverweise in einem Ausdruck. |
set |
Erstellen und überprüfen Sie einen Eigenschaftenausdruck auf einen Wertausdruck festlegen. |
to |
Gibt eine Zeichenfolge zurück, die das aktuelle Expression-Objekt darstellt. |
try |
Bewerten Sie den Ausdruck. |
validate() | Überprüfen Sie den unmittelbaren Ausdruck. |
validate |
Überprüfen Sie die Ausdrucksstruktur rekursiv. |
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 von Ausdrücken.
- 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
Ausdruckstyp.
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 aus.
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 Equals-Ausdrucks.
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.
Gibt zurück
Der neue Ausdruck.
lambda((arg0: any) => any)
Erstellen Sie einen Ausdruck aus einem Lamba-Ausdruck über den Zustand. Ausnahmen werden abgefangen und als Fehlerzeichenfolge angezeigt.
static function lambda(func: (arg0: any) => any): Expression
Parameter
- func
-
(arg0: any) => any
Auszuwerten des auszuwertenden ambda-Ausdrucks.
Gibt zurück
Neuer Ausdruck.
lookup(string)
Suchen Sie eine ExpressionEvaluator-Funktion anhand des Namens.
static function lookup(functionName: string): ExpressionEvaluator
Parameter
- functionName
-
string
Name der nachschlagenden Funktion.
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 von Ausdrücken.
- 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)
Parsen einer Ausdruckszeichenfolge in ein Expression-Objekt .
static function parse(expression: string, lookup?: EvaluatorLookup): Expression
Parameter
- expression
-
string
Ausdruckszeichenfolge.
- lookup
- EvaluatorLookup
Optional. EvaluatorLookup-Funktionssuche beim Analysieren des Ausdrucks. Der Standardwert ist Expression.lookup , der die 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 Sie erhalten möglicherweise auch andere Pfade aus dem berechneten Teil.
function references(): string[]
Gibt zurück
string[]
Liste der statischen Verweispfade.
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 für Dinge wie die Vorlagenerweiterung außer Kraft zu setzen.
Gibt zurück
{ path: string, refs: Set<string> }
Accessorpfad des Ausdrucks.
setPathToValue(Expression, any)
Erstellen und überprüfen Sie einen Eigenschaftenausdruck auf einen Wertausdruck festlegen.
static function setPathToValue(property: Expression, value: any): Expression
Parameter
- property
- Expression
Eigenschaftsausdruck.
- value
-
any
Value-Ausdruck.
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)
Bewerten Sie den Ausdruck.
function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError
Parameter
- state
-
MemoryInterface | any
Globaler Zustand, für den Accessorausdrücke ausgewertet werden sollen. Kann Wörterbuch sein, andernfalls wird reflektion verwendet, um auf die Eigenschaft und dann auf den 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 Sie den unmittelbaren Ausdruck.
function validate()
validateTree()
Überprüfen Sie die Ausdrucksstruktur rekursiv.
function validateTree()