19 lines
		
	
	
		
			474 B
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			474 B
		
	
	
	
		
			JavaScript
		
	
	
	
'use strict';
 | 
						|
 | 
						|
module.exports = function defFunc(ajv) {
 | 
						|
  defFunc.definition = {
 | 
						|
    type: 'object',
 | 
						|
    macro: function (schema, parentSchema) {
 | 
						|
      if (!schema) return true;
 | 
						|
      var properties = Object.keys(parentSchema.properties);
 | 
						|
      if (properties.length == 0) return true;
 | 
						|
      return {required: properties};
 | 
						|
    },
 | 
						|
    metaSchema: {type: 'boolean'},
 | 
						|
    dependencies: ['properties']
 | 
						|
  };
 | 
						|
 | 
						|
  ajv.addKeyword('allRequired', defFunc.definition);
 | 
						|
  return ajv;
 | 
						|
};
 |