Documentation LScript

Apprenez à écrire des règles métier robustes en quelques minutes.

Installation

LScript est distribué via npm pour une installation cross-platform facile.

npm install -g lscript

Vérifiez que tout fonctionne :

lscript --version
# lscript 1.0.0

Commandes CLI

Compiler vers Lua

La commande principale convertit vos fichiers .ls en modules Lua optimisés.

# Sortie sur stdout
lscript compile rules.ls

# Écrire dans un fichier
lscript compile rules.ls -o output.lua

Évaluer une règle

Testez vos règles directement sans passer par un moteur externe.

# Sans contexte
lscript eval rules.ls

# Avec contexte JSON
lscript eval rules.ls --context data.json

Syntaxe de base

Une règle LScript est structurée pour être lue comme une phrase naturelle.

regle "Nom de la règle"
quand condition
alors action
fin
Note : Les mots-clés regle, quand, alors, sinon et fin sont obligatoires dans cet ordre.

Conditions multiples

Utilisez le mot-clé et pour enchainer des conditions.

regle "Accès complet"
quand utilisateur.role est "admin"
et utilisateur.actif est vrai
et utilisateur.age superieur ou egal a 18
alors autoriser
fin

Contexte JSON

Les données sont passées sous forme d'objet JSON standard. Vous y accédez via la notation pointée.

{
  "utilisateur": {
    "id": 1,
    "nom": "Alice",
    "role": "admin",
    "actif": true,
    "age": 25
  },
  "commande": {
    "montant": 150,
    "etat": "en_attente"
  }
}

Opérateurs

Opérateur LScriptSignification
estEgalité (==)
n'est pasInégalité (!=)
superieur aStrictement supérieur (>)
inferieur aStrictement inférieur (<)
superieur ou egal aSupérieur ou égal (≥)
inferieur ou egal aInférieur ou égal (≤)

Actions

autoriser / refuser

Utilisés pour les règles de décision booléenne (accès, permissions).

alors autoriser
alors refuser "Message d'erreur"

retourner

Utilisé pour le calcul de valeurs (remises, scores).

alors retourner commande.montant fois 1.2