json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
25 lines (22 loc) • 660 B
text/typescript
import { JsonSchemaValidatorParams, Keyword } from "../Keyword";
export const minItemsKeyword: Keyword = {
id: "minItems",
keyword: "minItems",
addValidate: ({ schema }) => !isNaN(schema.minItems),
validate: validateMinItems
};
function validateMinItems({ node, data, pointer }: JsonSchemaValidatorParams) {
if (!Array.isArray(data)) {
return;
}
const { schema } = node;
if (schema.minItems > data.length) {
return node.createError("min-items-error", {
minItems: schema.minItems,
length: data.length,
pointer,
schema,
value: data
});
}
}