Clause class
Expression de forme normale canonique.
- Extends
Constructeurs
Clause(Clause | Expression | Expression[]) | Initialise une nouvelle instance de la classe |
Propriétés
any |
Obtient ou définit le dictionnaire anyBinding. |
return |
Résultat attendu de l’évaluation de l’expression. |
subsumed | Obtient ou définit si la clause est sous-énumérée. |
type | Type d’expression. |
Propriétés héritées
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. |
Méthodes
matches(Clause, Memory |
Détermine si le |
relationship(Clause, Predicate |
Compare le |
split |
Fractionne les expressions enfants ignorées. |
to |
Obtient une chaîne qui représente la clause actuelle. |
Méthodes héritées
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. |
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
Clause(Clause | Expression | Expression[])
Initialise une nouvelle instance de la classe Clause
.
new Clause(clauseOrExpression?: Clause | Expression | Expression[])
Paramètres
- clauseOrExpression
-
Clause | Expression | Expression[]
Clause, expression ou tableau d’expressions pour initialiser un Clause
.
Détails de la propriété
anyBindings
Obtient ou définit le dictionnaire anyBinding.
anyBindings: Map<string, string> = new Map<string, string>()
Valeur de propriété
Map<string, string>
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.
subsumed
Obtient ou définit si la clause est sous-énumérée.
subsumed: boolean = false
Valeur de propriété
boolean
type
Type d’expression.
string type
Valeur de propriété
string
Type de l’expression.
Détails de la propriété héritée
children
evaluator
Évaluateur d’expression.
evaluator: ExpressionEvaluator
Valeur de propriété
héritée deExpression.évaluateur
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é
héritée deExpression.functions
Détails de la méthode
matches(Clause, MemoryInterface | any)
Détermine si le Clause
actuel correspond à un autre Clause
.
function matches(clause: Clause, memory: MemoryInterface | any): boolean
Paramètres
- clause
- Clause
L’autre instance Clause
à comparer.
- memory
-
MemoryInterface | any
Étendue de la recherche de variables.
Retours
boolean
Valeur booléenne indiquant si les deux clauses sont des correspondances.
relationship(Clause, PredicateComparers)
Compare le Clause
actuel à un autre Clause
.
function relationship(other: Clause, comparers: PredicateComparers): RelationshipType
Paramètres
- other
- Clause
L’autre Clause
à comparer.
- comparers
- PredicateComparers
Comparateur, qui est un dictionnaire de PredicateComparer
avec des clés de chaîne.
Retours
Valeur RelationshipType
entre deux instances Clause
.
splitIgnores()
Fractionne les expressions enfants ignorées.
function splitIgnores()
toString(string[], number)
Obtient une chaîne qui représente la clause actuelle.
function toString(builder: string[], indent: number): string
Paramètres
- builder
-
string[]
Tableau de chaînes pour générer la chaîne de clause.
- indent
-
number
Un entier représente le nombre d’espaces au début d’une ligne.
Retours
string
Chaîne qui représente la clause actuelle.
Détails de la méthode héritée
andExpression(Expression[])
Construisez et validez une expression And.
static function andExpression(children: Expression[]): Expression
Paramètres
- children
Clauses enfants.
Retours
Nouvelle expression.
héritée deExpression.andExpression
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.
héritée deExpression.deepEquals
equalsExpression(Expression[])
Construisez et validez une expression Equals.
static function equalsExpression(children: Expression[]): Expression
Paramètres
- children
Clauses enfants.
Retours
Nouvelle expression.
héritée deExpression.equalsExpression
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.
héritée deExpression.lambaExpression
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.
héritée deexpression.lambda
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.
héritée deexpression.lookup
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.
héritée deExpression.makeExpression
notExpression(Expression)
Construisez et validez une expression Not.
static function notExpression(child: Expression): Expression
Paramètres
- child
- Expression
Clauses enfants.
Retours
Nouvelle expression.
héritée deExpression.notExpression
orExpression(Expression[])
Construisez et validez une expression Or.
static function orExpression(children: Expression[]): Expression
Paramètres
- children
Clauses enfants.
Retours
Nouvelle expression.
héritée deExpression.orExpression
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.
héritée deExpression.parse
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.
héritée deExpression.references
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.
héritée deExpression.referenceWalk
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.
héritée deExpression.setPathToValue
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.
héritée deExpression.tryEvaluate
validate()
validateTree()
Validez de manière récursive l’arborescence d’expressions.
function validateTree()
héritée deExpression.validateTree