Concept Keys in Shadows
shadow should have name of the concept for the key of its identifier. if there is a child literal or variable with the name of the concept, this means it will override that value. default key can be altered using indexer syntax
[]
; e.g. for$database[type]
, key istype
e.g. for$database[database,type]
, same value will be both attype
and atdatabase
concept name can be pluralized using pluralization syntax
()
; e.g. for$period(s)*
, concept parent key becomesperiods
e.g. for$child(ren)*
, concept parent key becomeschildren
e.g. for$city(-ies)*
, concept parent key becomescities
e.g. for$analysis(--es)*
, concept parent key becomesanalyses
e.g. for$mouse(----ice)*
, concept parent key becomesmice
e.g. for$mouse(^mice)*
, concept parent key becomesmice
{
"!$environment*": {
"$database[type]:db": "$connection"
},
"$period(s)[cron]*": [ "$urls" ],
"@types": {
"db": [ "mysql", "postgresql" ]
}
}
{
"environment": {
"development": {
"environment": "development",
"database": {
"type": "mysql",
"connection": "..."
}
}
},
"periods": [
{
"cron": "0 0 * * *",
"urls": [ "http://a.com", "http://b.com" ]
}
]
}