UNPKG

json-schema-library

Version:

Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation

35 lines (32 loc) 936 B
import { Keyword, JsonSchemaValidatorParams } from "../Keyword"; export const minimumKeyword: Keyword = { id: "minimum", keyword: "minimum", addValidate: ({ schema }) => !isNaN(schema.minimum), validate: validateMinimum }; function validateMinimum({ node, data, pointer }: JsonSchemaValidatorParams) { if (isNaN(data as number)) { return undefined; } const { schema } = node; if (schema.minimum > data) { return node.createError("minimum-error", { minimum: schema.minimum, length: data, pointer, schema, value: data }); } if (schema.exclusiveMinimum === true && schema.minimum === data) { return node.createError("minimum-error", { minimum: schema.minimum, length: data, pointer, schema, value: data }); } return undefined; }