Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
21 lines
520 B
Plaintext
21 lines
520 B
Plaintext
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
|