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 la justesse d’une expression et d’une évaluation qui doivent être libres 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 sera 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 sont interceptées et exposées sous forme de chaîne d’erreur.

lookup(string)

Recherchez un ExpressionEvaluator fonction par nom.

makeExpression(string, ExpressionEvaluator, Expression[])

Créez une expression et validez-la.

notExpression(Expression)

Construisez et validez une expression Not.

orExpression(Expression[])

Construisez et validez une expression Or.

parse(string, EvaluatorLookup)

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

references()

Retournez 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 d’accès est arrêté là, 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 de mémoire statique dans une expression.

setPathToValue(Expression, any)

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

toString()

Renvoie une chaîne qui représente l’objet expression actuel.

tryEvaluate(MemoryInterface | any, Options)

Évaluez l’expression.

validate()

Valider l’expression immédiate.

validateTree()

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

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 à partir 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 sera 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 qui créer une expression.

Retours

Nouvelle expression.

lambda((arg0: any) => any)

Construisez une expression à partir d’une expression lamba sur l’état. Les exceptions sont 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 un ExpressionEvaluator fonction par nom.

static function lookup(functionName: string): ExpressionEvaluator

Paramètres

functionName

string

Nom de la fonction à rechercher.

Retours

Un 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 de 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[])

Construisez et validez 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

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

Retours

Objet expression.

references()

Retournez 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 d’accès est arrêté là, 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 statique.

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

Fonction de marche pour identifier les références de mémoire statique 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

S’il est présent, appelé pour remplacer la recherche pour des éléments tels que l’extension de modèle.

Retours

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

Chemin d’accès de l’expression.

setPathToValue(Expression, any)

Construisez et validez une expression de propriété Set 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()

Renvoie une chaîne qui représente l’objet expression actuel.

function toString(): string

Retours

string

Chaîne qui représente l’objet expression actuel.

tryEvaluate(MemoryInterface | any, Options)

Évaluez l’expression.

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

Paramètres

state

MemoryInterface | any

État global sur lequel évaluer les expressions d’accesseur. Il peut s’agir d’un 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 de manière récursive l’arborescence d’expressions.

function validateTree()