Variáveis de geração
Um modelo não conhece o seu projeto. As variáveis de geração são a ponte: o modelo declara as variáveis de que precisa, e você preenche o seu valor no Restorm. Na geração, cada valor é avaliado e depois injetado no contexto do modelo.

Declarar e preencher
Section titled “Declarar e preencher”Cada variável é declarada pelo modelo (no seu
restorm-template.json) com um nome, um
âmbito, um tipo, um valor por omissão e uma descrição facultativa.
Do lado do Restorm, você preenche o seu valor sob a forma de expressão Handlebars —
avaliada para cada entidade em causa, e depois convertida para o tipo declarado.
Os tipos possíveis são string, boolean, number e enum (com a sua
lista de opções).
Uma ação Descobrir as variáveis utilizadas por este modelo analisa o modelo e assinala as variáveis utilizadas mas não declaradas, para evitar os esquecimentos.
Os âmbitos
Section titled “Os âmbitos”O âmbito decide a que nível a variável é avaliada e onde aterra no contexto do modelo:
| Âmbito | Avaliada | Disponível no modelo |
|---|---|---|
| Projeto | uma vez | ctx.design.vars.<nom> |
| Modelo | por modelo | ctx.models[].vars.<nom> |
| Propriedade | por propriedade | ctx.models[].properties[].vars.<nom> |
| Rota | por rota | ctx.groups[].routes[].vars.<nom> |
Valor geral e substituição
Section titled “Valor geral e substituição”Para cada modelo, você define valores gerais por âmbito (as «variáveis gerais», que se aplicam por exemplo a todos os modelos). Pode depois substituir uma variável para um modelo, uma propriedade ou uma rota dados, a partir do separador Code generation dessa entidade. Um valor vazio significa «herdar»: o primeiro valor não vazio prevalece, e todo valor não resolvido sobe como um erro — nunca em silêncio.