Spaces:
Running
Running
import type {MacroKeywordDefinition} from "ajv" | |
export default function getDef(): MacroKeywordDefinition { | |
return { | |
keyword: "prohibited", | |
type: "object", | |
schemaType: "array", | |
macro: function (schema: string[]) { | |
if (schema.length === 0) return true | |
if (schema.length === 1) return {not: {required: schema}} | |
return {not: {anyOf: schema.map((p) => ({required: [p]}))}} | |
}, | |
metaSchema: { | |
type: "array", | |
items: {type: "string"}, | |
}, | |
} | |
} | |
module.exports = getDef | |