| Server IP : 74.208.250.37 / Your IP : 216.73.216.233 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ubuntu 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : miferval ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/node_modules/ajv-keywords/src/definitions/ |
Upload File : |
import type {MacroKeywordDefinition} from "ajv"
import type {GetDefinition} from "./_types"
type RangeKwd = "range" | "exclusiveRange"
export default function getRangeDef(keyword: RangeKwd): GetDefinition<MacroKeywordDefinition> {
return () => ({
keyword,
type: "number",
schemaType: "array",
macro: function ([min, max]: [number, number]) {
validateRangeSchema(min, max)
return keyword === "range"
? {minimum: min, maximum: max}
: {exclusiveMinimum: min, exclusiveMaximum: max}
},
metaSchema: {
type: "array",
minItems: 2,
maxItems: 2,
items: {type: "number"},
},
})
function validateRangeSchema(min: number, max: number): void {
if (min > max || (keyword === "exclusiveRange" && min === max)) {
throw new Error("There are no numbers in range")
}
}
}