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