fix(schema): recurse additional and pattern properties in required cleanup

This commit is contained in:
ismeth
2026-03-04 00:40:27 +01:00
committed by YeonGyu-Kim
parent 1ae6089bb3
commit 9d284accce
+12
View File
@@ -31,6 +31,18 @@ function removeDefaultedFromRequired(schema: Record<string, unknown>): Record<st
result.items = result.items.map((item) => removeDefaultedFromRequired(item as Record<string, unknown>))
}
if (result.additionalProperties && typeof result.additionalProperties === "object") {
result.additionalProperties = removeDefaultedFromRequired(result.additionalProperties as Record<string, unknown>)
}
if (result.patternProperties && typeof result.patternProperties === "object") {
const newPatternProperties: Record<string, unknown> = {}
for (const [pattern, value] of Object.entries(result.patternProperties as Record<string, unknown>)) {
newPatternProperties[pattern] = removeDefaultedFromRequired(value as Record<string, unknown>)
}
result.patternProperties = newPatternProperties
}
for (const key of ["allOf", "anyOf", "oneOf"]) {
if (Array.isArray(result[key])) {
result[key] = (result[key] as Record<string, unknown>[]).map((s) => removeDefaultedFromRequired(s))