UNPKG

json-schema-library

Version:

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

26 lines (25 loc) 748 B
import { isObject } from "../utils/isObject"; import { hasProperty } from "../utils/hasProperty"; export const requiredKeyword = { id: "required", keyword: "required", addValidate: ({ schema }) => Array.isArray(schema.required), validate: validateRequired }; function validateRequired({ node, data, pointer = "#" }) { const { schema } = node; if (!isObject(data)) { return undefined; } return schema.required.map((property) => { if (!hasProperty(data, property)) { return node.createError("required-property-error", { key: property, pointer, schema, value: data }); } return undefined; }); }