Partager via


Expression class

Expression qui peut être analysée ou évaluée pour produire une valeur. Cela fournit un wrapper ouvert qui prend en charge un certain nombre de fonctions intégrées et peut également être étendu au moment de l’exécution. Il prend également en charge la validation de l’exactitude d’une expression et l’évaluation qui doit être exempte d’exception.

Constructeurs

Expression(string, ExpressionEvaluator, Expression[])

constructeur d’expression.

Propriétés

children

Expressions enfants.

evaluator

Évaluateur d’expression.

functions

Dictionnaire de fonction => ExpressionEvaluator. Il s’agit de toutes les fonctions disponibles, vous pouvez y ajouter des fonctions personnalisées, mais vous ne pouvez pas remplacer les fonctions intégrées. Si vous effacez le dictionnaire, il est réinitialisé aux fonctions intégrées.

returnType

Résultat attendu de l’évaluation de l’expression.

type

Type d’expression.

Méthodes

andExpression(Expression[])

Construisez et validez une expression And.

deepEquals(Expression)

Effectuez une égalité profonde entre les expressions.

equalsExpression(Expression[])

Construisez et validez une expression Equals.

lambaExpression(EvaluateExpressionDelegate)

Construire une expression à partir d’un EvaluateExpressionDelegate

lambda((arg0: any) => any)

Construisez une expression à partir d’une expression lamba sur l’état. Les exceptions seront interceptées et exposées sous forme de chaîne d’erreur.

lookup(string)

Recherchez une fonction ExpressionEvaluator par nom.

makeExpression(string, ExpressionEvaluator, Expression[])

Créez une expression et validez-la.

notExpression(Expression)

Construisez et validez une expression Not.

orExpression(Expression[])

Construire et valider une expression Or.

parse(string, EvaluatorLookup)

Analysez une chaîne d’expression dans un objet Expression .

references()

Retourne les chemins d’accès de référence statiques à la mémoire. Retourne tous les chemins statiques en mémoire. S’il existe un index d’élément calculé, le chemin s’y termine, mais vous pouvez également obtenir d’autres chemins à partir de la partie calculée.

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

Fonction de marche pour identifier les références mémoire statiques dans une expression.

setPathToValue(Expression, any)

Construisez et validez une expression définir une expression de propriété sur une expression de valeur.

toString()

Retourne une chaîne qui représente l’objet Expression actif.

tryEvaluate(MemoryInterface | any, Options)

Évaluez l’expression.

validate()

Valider l’expression immédiate.

validateTree()

Validez l’arborescence d’expressions de manière récursive.

Détails du constructeur

Expression(string, ExpressionEvaluator, Expression[])

constructeur d’expression.

new Expression(type: string, evaluator: ExpressionEvaluator, children: Expression[])

Paramètres

type

string

Type d’expression d’ExpressionType

evaluator
ExpressionEvaluator

Informations sur la validation et l’évaluation de l’expression.

children

Expression[]

Expressions enfants.

Détails de la propriété

children

Expressions enfants.

children: Expression[]

Valeur de propriété

evaluator

Évaluateur d’expression.

evaluator: ExpressionEvaluator

Valeur de propriété

functions

Dictionnaire de fonction => ExpressionEvaluator. Il s’agit de toutes les fonctions disponibles, vous pouvez y ajouter des fonctions personnalisées, mais vous ne pouvez pas remplacer les fonctions intégrées. Si vous effacez le dictionnaire, il est réinitialisé aux fonctions intégrées.

static functions: FunctionTable = new FunctionTable()

Valeur de propriété

returnType

Résultat attendu de l’évaluation de l’expression.

ReturnType returnType

Valeur de propriété

Résultat attendu de l’évaluation de l’expression.

type

Type d’expression.

string type

Valeur de propriété

string

Type de l'expression.

Détails de la méthode

andExpression(Expression[])

Construisez et validez une expression And.

static function andExpression(children: Expression[]): Expression

Paramètres

children

Expression[]

Clauses enfants.

Retours

Nouvelle expression.

deepEquals(Expression)

Effectuez une égalité profonde entre les expressions.

function deepEquals(other: Expression): boolean

Paramètres

other
Expression

Autre expression.

Retours

boolean

True si les expressions sont identiques.

equalsExpression(Expression[])

Construisez et validez une expression Equals.

static function equalsExpression(children: Expression[]): Expression

Paramètres

children

Expression[]

Clauses enfants.

Retours

Nouvelle expression.

lambaExpression(EvaluateExpressionDelegate)

Construire une expression à partir d’un EvaluateExpressionDelegate

static function lambaExpression(func: EvaluateExpressionDelegate): Expression

Paramètres

func
EvaluateExpressionDelegate

Fonction à partir de laquelle créer une expression.

Retours

Nouvelle expression.

lambda((arg0: any) => any)

Construisez une expression à partir d’une expression lamba sur l’état. Les exceptions seront interceptées et exposées sous forme de chaîne d’erreur.

static function lambda(func: (arg0: any) => any): Expression

Paramètres

func

(arg0: any) => any

expression ambda à évaluer.

Retours

Nouvelle expression.

lookup(string)

Recherchez une fonction ExpressionEvaluator par nom.

static function lookup(functionName: string): ExpressionEvaluator

Paramètres

functionName

string

Nom de la fonction à rechercher.

Retours

ExpressionEvaluator correspondant au nom de la fonction.

makeExpression(string, ExpressionEvaluator, Expression[])

Créez une expression et validez-la.

static function makeExpression(type: string, evaluator: ExpressionEvaluator, children: Expression[]): Expression

Paramètres

type

string

Type d’expression d’ExpressionType.

evaluator
ExpressionEvaluator

Informations sur la validation et l’évaluation de l’expression.

children

Expression[]

Expressions enfants.

Retours

Nouvelle expression.

notExpression(Expression)

Construisez et validez une expression Not.

static function notExpression(child: Expression): Expression

Paramètres

child
Expression

Clauses enfants.

Retours

Nouvelle expression.

orExpression(Expression[])

Construire et valider une expression Or.

static function orExpression(children: Expression[]): Expression

Paramètres

children

Expression[]

Clauses enfants.

Retours

Nouvelle expression.

parse(string, EvaluatorLookup)

Analysez une chaîne d’expression dans un objet Expression .

static function parse(expression: string, lookup?: EvaluatorLookup): Expression

Paramètres

expression

string

Chaîne d’expression.

lookup
EvaluatorLookup

facultatif. Recherche de fonction ÉvaluateurLookup lors de l’analyse de l’expression. La valeur par défaut est Expression.lookup qui utilise la table Expression.functions .

Retours

Objet expression.

references()

Retourne les chemins d’accès de référence statiques à la mémoire. Retourne tous les chemins statiques en mémoire. S’il existe un index d’élément calculé, le chemin s’y termine, mais vous pouvez également obtenir d’autres chemins à partir de la partie calculée.

function references(): string[]

Retours

string[]

Liste des chemins d’accès de référence statiques.

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

Fonction de marche pour identifier les références mémoire statiques dans une expression.

function referenceWalk(expression: Expression, extension?: (arg0: Expression) => boolean): { path: string, refs: Set<string> }

Paramètres

expression
Expression

Expression à analyser.

extension

(arg0: Expression) => boolean

Le cas échéant, appelé pour remplacer la recherche pour des éléments tels que l’expansion du modèle.

Retours

{ path: string, refs: Set<string> }

Chemin d’accès de l’expression.

setPathToValue(Expression, any)

Construisez et validez une expression définir une expression de propriété sur une expression de valeur.

static function setPathToValue(property: Expression, value: any): Expression

Paramètres

property
Expression

expression de propriété.

value

any

expression de valeur.

Retours

Nouvelle expression.

toString()

Retourne une chaîne qui représente l’objet Expression actif.

function toString(): string

Retours

string

Chaîne qui représente l’objet Expression actif.

tryEvaluate(MemoryInterface | any, Options)

Évaluez l’expression.

function tryEvaluate(state: MemoryInterface | any, options: Options): ValueWithError

Paramètres

state

MemoryInterface | any

État global par rapport à lequel évaluer les expressions d’accesseur. Peut être Dictionnaire, sinon la réflexion est utilisée pour accéder à la propriété, puis à l’indexeur.

options
Options

Options utilisées dans l’évaluation.

Retours

Valeur calculée et chaîne d’erreur. Si la chaîne n’est pas null, une erreur d’évaluation s’est produite.

validate()

Valider l’expression immédiate.

function validate()

validateTree()

Validez l’arborescence d’expressions de manière récursive.

function validateTree()