'use strict';module.exports=functiondefFunc(ajv){defFunc.definition={type:'number',macro:function(schema,parentSchema){varmin=schema[0],max=schema[1],exclusive=parentSchema.exclusiveRange;validateRangeSchema(min,max,exclusive);returnexclusive===true?{exclusiveMinimum:min,exclusiveMaximum:max}:{minimum:min,maximum:max};},metaSchema:{type:'array',minItems:2,maxItems:2,items:{type:'number'}}};ajv.addKeyword('range',defFunc.definition);ajv.addKeyword('exclusiveRange');returnajv;functionvalidateRangeSchema(min,max,exclusive){if(exclusive!==undefined&&typeofexclusive!='boolean')thrownewError('Invalid schema for exclusiveRange keyword, should be boolean');if(min>max||(exclusive&&min==max))thrownewError('There are no numbers in range');}};