40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Modula-2
		
	
	
	
	
	
| {{## def.checkMissingProperty:_properties:
 | |
|   {{~ _properties:$propertyKey:$i }}
 | |
|     {{?$i}} || {{?}}
 | |
|     {{
 | |
|       var $prop = it.util.getProperty($propertyKey)
 | |
|         , $useData = $data + $prop;
 | |
|     }}
 | |
|     ( ({{# def.noPropertyInData }}) && (missing{{=$lvl}} = {{= it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) }}) )
 | |
|   {{~}}
 | |
| #}}
 | |
| 
 | |
| 
 | |
| {{## def.errorMissingProperty:_error:
 | |
|   {{
 | |
|     var $propertyPath = 'missing' + $lvl
 | |
|       , $missingProperty = '\' + ' + $propertyPath + ' + \'';
 | |
|     if (it.opts._errorDataPathProperty) {
 | |
|       it.errorPath = it.opts.jsonPointers
 | |
|                       ? it.util.getPathExpr($currentErrorPath,  $propertyPath, true)
 | |
|                       : $currentErrorPath + ' + ' + $propertyPath;
 | |
|     }
 | |
|   }}
 | |
|   {{# def.error:_error }}
 | |
| #}}
 | |
| 
 | |
| 
 | |
| {{## def.allErrorsMissingProperty:_error:
 | |
|   {{
 | |
|     var $prop = it.util.getProperty($propertyKey)
 | |
|       , $missingProperty = it.util.escapeQuotes($propertyKey)
 | |
|       , $useData = $data + $prop;
 | |
|     if (it.opts._errorDataPathProperty) {
 | |
|       it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);
 | |
|     }
 | |
|   }}
 | |
|   if ({{# def.noPropertyInData }}) {
 | |
|     {{# def.addError:_error }}
 | |
|   }
 | |
| #}}
 |