Construire une spécification
Last updated
Was this helpful?
Last updated
Was this helpful?
Au sein de l'API, la spécification est représenté par un objet qu'il est possible de construire et de rendre dynamique.
operator
: doit correspond à une spécification. ()
left
: opérateur à gauche de la condition
right
: opérateur à droite de la condition
invert
: booléen qui permet d'inverser la condition (true|false). Par défaut : false
search
: permet de rechercher une valeur dans une list
list
: définition d'une liste dans laquelle on doit faire un search
Exemple :
La représentation de cette condition équivaut à : 2 <= 4. Si tel est le cas, la condition est valide.
Exemple avec invert :
La représentation de cette condition équivaut à : 2 <= 4. Si ce n'est pas le cas, la condition est valide.
Il est possible de générer plusieurs spécifications. Il n'est pas rare de devoir en combiner plusieurs pour qu'un texte prenne plus de sens. Pour cela, il est possible de construire un tableau de spécification qui fonctionne sur un principe de OR et de AND. La première dimension d'un tableau correspond à un OR et le sous-ensemble correspond à des AND. Il devient donc théoriquement possible de construire N possibilités.
Exemple :
Sur l'exemple précédent, la spécification sera valide si : ( 2 === 2 ET 4 === 4 ) OU ( 3 === 2 )
Comme le premier ensemble est valide, la spécification globale sera satisfaite.
Dans les exemples précédents, vous avez uniquement des variables en dur ce qui sera certainement très peu intéressant. Cela reviendrait à dire en permanence : "vrai" pour faire ce dont vous avez besoin.
La clé variable
accepte de prendre en paramètre une écriture avec un séparateur : le #
. Cela permettra de faire référence à une clé dans votre source de données.
Source de données :
Spécification :
Le test ira donc chercher la valeur dans l'objet home_team puis, dans la clé position. La spécification sera valide puisque 1 === 1