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, 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. |
return |
Résultat attendu de l’évaluation de l’expression. |
type | Type d’expression. |
Méthodes
and |
Construisez et validez une expression And. |
deep |
Effectuez une égalité profonde entre les expressions. |
equals |
Construisez et validez une expression Equals. |
lamba |
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. |
make |
Créez une expression et validez-la. |
not |
Construisez et validez une expression Not. |
or |
Construire et valider une expression Or. |
parse(string, Evaluator |
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. |
reference |
Fonction de marche pour identifier les références mémoire statiques dans une expression. |
set |
Construisez et validez une expression définir une expression de propriété sur une expression de valeur. |
to |
Retourne une chaîne qui représente l’objet Expression actif. |
try |
Évaluez l’expression. |
validate() | Valider l’expression immédiate. |
validate |
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
Expressions enfants.
Détails de la propriété
children
evaluator
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
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
Clauses enfants.
Retours
Nouvelle expression.
lambaExpression(EvaluateExpressionDelegate)
Construire une expression à partir d’un EvaluateExpressionDelegate
static function lambaExpression(func: EvaluateExpressionDelegate): Expression
Paramètres
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
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
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()