cnf
2025-05-15 5f0b94e9c252e507b4c09badf923796151be0d03
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import type {MacroKeywordDefinition} from "ajv"
 
export default function getDef(): MacroKeywordDefinition {
  return {
    keyword: "allRequired",
    type: "object",
    schemaType: "boolean",
    macro(schema: boolean, parentSchema) {
      if (!schema) return true
      const required = Object.keys(parentSchema.properties)
      if (required.length === 0) return true
      return {required}
    },
    dependencies: ["properties"],
  }
}
 
module.exports = getDef