| {{## 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 }} | |
|     {{?}} | |
|   {{~}} | |
| #}}
 |