| 912 | } |
| 913 | |
| 914 | function rewriteSubschemaKeyword( |
| 915 | out: Record<string, unknown>, |
| 916 | key: string, |
| 917 | value: unknown, |
| 918 | rewrite: (node: unknown) => unknown, |
| 919 | singleKeywords: ReadonlySet<string> |
| 920 | ): boolean { |
| 921 | if (MAP_SUBSCHEMA_KEYWORDS.has(key)) { |
| 922 | out[key] = mapObject(value, rewrite) ?? value |
| 923 | return true |
| 924 | } |
| 925 | if (ARRAY_SUBSCHEMA_KEYWORDS.has(key)) { |
| 926 | out[key] = Array.isArray(value) ? value.map(rewrite) : value |
| 927 | return true |
| 928 | } |
| 929 | if (!singleKeywords.has(key)) return false |
| 930 | out[key] = rewrite(value) |
| 931 | return true |
| 932 | } |
| 933 | |
| 934 | function normalizeOpenApi3_0ToDraft07(node: unknown): unknown { |
| 935 | if (Array.isArray(node)) return node.map(normalizeOpenApi3_0ToDraft07) |