| 123456789101112131415161718192021222324252627282930313233343536 | 
							- 'use strict';
 
- module.exports = function defFunc(ajv) {
 
-   defFunc.definition = {
 
-     type: 'number',
 
-     macro: function (schema, parentSchema) {
 
-       var min = schema[0]
 
-         , max = schema[1]
 
-         , exclusive = parentSchema.exclusiveRange;
 
-       validateRangeSchema(min, max, exclusive);
 
-       return exclusive === 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');
 
-   return ajv;
 
-   function validateRangeSchema(min, max, exclusive) {
 
-     if (exclusive !== undefined && typeof exclusive != 'boolean')
 
-       throw new Error('Invalid schema for exclusiveRange keyword, should be boolean');
 
-     if (min > max || (exclusive && min == max))
 
-       throw new Error('There are no numbers in range');
 
-   }
 
- };
 
 
  |