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 }} | ||
|  |   } | ||
|  | #}} |