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, 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. |
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 sont interceptées et exposées sous forme de chaîne d’erreur. |
lookup(string) | Recherchez un ExpressionEvaluator fonction par nom. |
make |
Créez une expression et validez-la. |
not |
Construisez et validez une expression Not. |
or |
Construisez et validez une expression Or. |
parse(string, Evaluator |
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. |
reference |
Fonction de marche pour identifier les références de mémoire statique dans une expression. |
set |
Construisez et validez une expression de propriété Set sur une expression de valeur. |
to |
Renvoie une chaîne qui représente l’objet expression |
try |
Évaluez l’expression. |
validate() | Valider l’expression immédiate. |
validate |
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
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 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
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 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
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
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
function toString(): string
Retours
string
Chaîne qui représente l’objet
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()