@hyperjump/json-schema
Version:
A JSON Schema validator with support for custom keywords, vocabularies, and dialects
21 lines (15 loc) • 612 B
JavaScript
import * as Instance from "../lib/instance.js";
import { getKeywordId } from "../lib/keywords.js";
const defaultDialectId = "https://json-schema.org/validation";
export const annotation = (node, keyword, dialect = defaultDialectId) => {
const keywordUri = getKeywordId(keyword, dialect);
return node.annotations[keywordUri] ?? [];
};
export const annotatedWith = function* (instance, keyword, dialectId = defaultDialectId) {
for (const node of Instance.allNodes(instance)) {
if (annotation(node, keyword, dialectId).length > 0) {
yield node;
}
}
};
export * from "../lib/instance.js";