json-schema-library
Version:
Customizable and hackable json-validator and json-schema utilities for traversal, data generation and validation
25 lines (24 loc) • 704 B
JavaScript
export const patternKeyword = {
id: "pattern",
keyword: "pattern",
addValidate: ({ schema }) => typeof schema.pattern === "string",
validate: validatePattern
};
function validatePattern({ node, data, pointer = "#" }) {
const { schema } = node;
if (typeof data !== "string") {
return;
}
const pattern = new RegExp(schema.pattern, "u");
if (pattern.test(data) === false) {
return node.createError("pattern-error", {
pattern: schema.pattern,
description: schema.patternExample || schema.pattern,
received: data,
schema,
value: data,
pointer
});
}
return undefined;
}