Kevin Wolf <kw...@redhat.com> writes: > Am 24.03.2015 um 21:03 hat Eric Blake geschrieben: >> From: Fam Zheng <f...@redhat.com> >> >> In the near term, we will use it for a sensible-looking >> 'gen':false inside command declarations, instead of the >> current ugly 'gen':'no'. >> >> In the long term, it will allow conversion from shorthand >> with defaults mentioned only in side-band documentation: >> 'data':{'*flag':'bool', '*string':'str'} >> into an explicit default value documentation, as in: >> 'data':{'flag':{'type':'bool', 'optional':true, 'default':true}, >> 'string':{'type':'str', 'optional':true, 'default':null}} > > FWIW, I don't think that's a very friendly syntax for humans, it's a bit > verbose. But that's no reason not to allow true/false/null, of course.
Here's my current thinking. Longhand: # mandatory 'name': { 'type': 'str' } # optional, with a default 'flag': { 'type': 'bool', 'default': true } # optional, no default 'string': { 'type': 'str', 'default': null } Presence of 'default' implies optional. Equivalent shorthand, if any: 'name': 'str' '*string': 'str' [...]