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 istypee.g. for$database[database,type], same value will be both attypeand atdatabaseconcept name can be pluralized using pluralization syntax
(); e.g. for$period(s)*, concept parent key becomesperiodse.g. for$child(ren)*, concept parent key becomeschildrene.g. for$city(-ies)*, concept parent key becomescitiese.g. for$analysis(--es)*, concept parent key becomesanalysese.g. for$mouse(----ice)*, concept parent key becomesmicee.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" ]
}
]
}