| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | {{## def.assignDefault:  {{? it.compositeRule }}    {{      if (it.opts.strictDefaults) {        var $defaultMsg = 'default is ignored for: ' + $passData;        if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);        else throw new Error($defaultMsg);      }    }}  {{??}}    if ({{=$passData}} === undefined      {{? it.opts.useDefaults == 'empty' }}        || {{=$passData}} === null        || {{=$passData}} === ''      {{?}}    )      {{=$passData}} = {{? it.opts.useDefaults == 'shared' }}                         {{= it.useDefault($sch.default) }}                       {{??}}                         {{= JSON.stringify($sch.default) }}                       {{?}};  {{?}}#}}{{## def.defaultProperties:  {{    var $schema = it.schema.properties      , $schemaKeys = Object.keys($schema); }}  {{~ $schemaKeys:$propertyKey }}    {{ var $sch = $schema[$propertyKey]; }}    {{? $sch.default !== undefined }}      {{ var $passData = $data + it.util.getProperty($propertyKey); }}      {{# def.assignDefault }}    {{?}}  {{~}}#}}{{## def.defaultItems:  {{~ it.schema.items:$sch:$i }}    {{? $sch.default !== undefined }}      {{ var $passData = $data + '[' + $i + ']'; }}      {{# def.assignDefault }}    {{?}}  {{~}}#}}
 |