Freigeben über


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, ExpressionEvaluator, 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.

returnType

Erwartetes Ergebnis der Auswertung des Ausdrucks.

type

Ausdruckstyp.

Methoden

andExpression(Expression[])

Erstellen und Überprüfen eines And-Ausdrucks.

deepEquals(Expression)

Führen Sie eine tiefe Gleichheit zwischen Ausdrücken aus.

equalsExpression(Expression[])

Erstellen und Überprüfen eines Equals-Ausdrucks.

lambaExpression(EvaluateExpressionDelegate)

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.

makeExpression(string, ExpressionEvaluator, Expression[])

Erstellen Sie einen Ausdruck, und überprüfen Sie ihn.

notExpression(Expression)

Erstellen und Überprüfen eines Not-Ausdrucks.

orExpression(Expression[])

Erstellen und Überprüfen eines Or-Ausdrucks.

parse(string, EvaluatorLookup)

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.

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

Walking-Funktion zum Identifizieren statischer Speicherverweise in einem Ausdruck.

setPathToValue(Expression, any)

Erstellen und überprüfen Sie einen Eigenschaftenausdruck auf einen Wertausdruck festlegen.

toString()

Gibt eine Zeichenfolge zurück, die das aktuelle Expression-Objekt darstellt.

tryEvaluate(MemoryInterface | any, Options)

Bewerten Sie den Ausdruck.

validate()

Überprüfen Sie den unmittelbaren Ausdruck.

validateTree()

Ü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

Expression[]

Untergeordnete Ausdrücke.

Details zur Eigenschaft

children

Untergeordnete Ausdrücke.

children: Expression[]

Eigenschaftswert

evaluator

Auswertung des Ausdrucks.

evaluator: ExpressionEvaluator

Eigenschaftswert

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

Expression[]

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

Expression[]

Untergeordnete Klauseln.

Gibt zurück

Neuer Ausdruck.

lambaExpression(EvaluateExpressionDelegate)

Erstellen eines Ausdrucks aus einem EvaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Parameter

func
EvaluateExpressionDelegate

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

Expression[]

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

Expression[]

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()