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