Ga naar inhoud

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.

De editor voor generatievariabelen: de door een template gedeclareerde variabelen en hun waarde in Handlebars, per bereik

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.

Het bereik bepaalt op welk niveau de variabele wordt geëvalueerd en waar die terechtkomt in de context van het template:

BereikGeëvalueerdBeschikbaar in het template
Projecteenmaalctx.design.vars.<nom>
Modelper modelctx.models[].vars.<nom>
Eigenschapper eigenschapctx.models[].properties[].vars.<nom>
Routeper routectx.groups[].routes[].vars.<nom>

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.