Aller au contenu

Variables de génération

Un template ne connaît pas votre projet. Les variables de génération sont le pont : le template déclare les variables dont il a besoin, et vous en renseignez la valeur dans Restorm. À la génération, chaque valeur est évaluée puis injectée dans le contexte du template.

L'éditeur de variables de génération : les variables déclarées par un template et leur valeur en Handlebars, par portée

Chaque variable est déclarée par le template (dans son restorm-template.json) avec un nom, une portée, un type, une valeur par défaut et une description facultative. Côté Restorm, vous renseignez sa valeur sous forme d’expression Handlebars — évaluée pour chaque entité concernée, puis convertie vers le type déclaré.

Les types possibles sont string, boolean, number et enum (avec sa liste d’options).

Une action Découvrir les variables utilisées par ce template analyse le template et signale les variables utilisées mais non déclarées, pour éviter les oublis.

La portée décide à quel niveau la variable est évaluée et où elle atterrit dans le contexte du template :

PortéeÉvaluéeDisponible dans le template
Projetune foisctx.design.vars.<nom>
Modèlepar modèlectx.models[].vars.<nom>
Propriétépar propriétéctx.models[].properties[].vars.<nom>
Routepar routectx.groups[].routes[].vars.<nom>

Pour chaque template, vous définissez des valeurs générales par portée (les « variables générales », qui s’appliquent par exemple à tous les modèles). Vous pouvez ensuite surcharger une variable pour un modèle, une propriété ou une route donnés, depuis l’onglet Code generation de cette entité. Une valeur vide signifie « hériter » : la première valeur non vide l’emporte, et toute valeur non résolue remonte comme une erreur — jamais en silence.