Generatievariabelen
Een template kent uw project niet. De generatievariabelen zijn de brug: het template declareert de variabelen die het nodig heeft, en u vult hun waarde in in Restorm. Bij de generatie wordt elke waarde geëvalueerd en vervolgens geïnjecteerd in de context van het template.

Declareren en invullen
Section titled “Declareren en invullen”Elke variabele wordt gedeclareerd door het template (in zijn
restorm-template.json) met een naam, een
bereik, een type, een standaardwaarde en een optionele beschrijving. Aan
de Restorm-kant vult u haar waarde in als een Handlebars-expressie —
geëvalueerd voor elke betrokken entiteit en vervolgens geconverteerd naar het
gedeclareerde type.
De mogelijke types zijn string, boolean, number en enum (met zijn
lijst van opties).
Een actie De door dit template gebruikte variabelen ontdekken analyseert het template en signaleert de gebruikte maar niet gedeclareerde variabelen, om vergetelheden te vermijden.
De bereiken
Section titled “De bereiken”Het bereik bepaalt op welk niveau de variabele wordt geëvalueerd en waar die terechtkomt in de context van het template:
| Bereik | Geëvalueerd | Beschikbaar in het template |
|---|---|---|
| Project | eenmaal | ctx.design.vars.<nom> |
| Model | per model | ctx.models[].vars.<nom> |
| Eigenschap | per eigenschap | ctx.models[].properties[].vars.<nom> |
| Route | per route | ctx.groups[].routes[].vars.<nom> |
Algemene waarde en overschrijving
Section titled “Algemene waarde en overschrijving”Voor elk template definieert u algemene waarden per bereik (de „algemene variabelen”, die bijvoorbeeld van toepassing zijn op alle modellen). U kunt vervolgens een variabele overschrijven voor een bepaald model, een bepaalde eigenschap of een bepaalde route, vanuit het tabblad Code generation van die entiteit. Een lege waarde betekent „erven”: de eerste niet-lege waarde wint, en elke niet-opgeloste waarde stijgt op als een fout — nooit in stilte.