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

returnType

Erwartetes Ergebnis der Auswertung des Ausdrucks.

type

Typ des Ausdrucks.

Methoden

andExpression(Expression[])

Erstellen und Überprüfen eines And-Ausdrucks.

deepEquals(Expression)

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

equalsExpression(Expression[])

Erstellen und Überprüfen eines Gleichheitsausdrucks.

lambaExpression(EvaluateExpressionDelegate)

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.

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)

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.

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

Walking-Funktion zum Identifizieren statischer Speicherverweise in einem Ausdruck.

setPathToValue(Expression, any)

Erstellen und Überprüfen eines Festlegen eines Eigenschaftsausdrucks auf einen Wertausdruck.

toString()

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

tryEvaluate(MemoryInterface | any, Options)

Auswerten des Ausdrucks.

validate()

Überprüfen des unmittelbaren Ausdrucks.

validateTree()

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

Expression[]

Untergeordnete Ausdrücke.

Details zur Eigenschaft

children

Untergeordnete Ausdrücke.

children: Expression[]

Eigenschaftswert

evaluator

Evaluator 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

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

Expression[]

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

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

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)

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