(member: JSONSchema7, ctx: GoCodegenCtx)
| 2394 | } |
| 2395 | |
| 2396 | function goUnionFieldName(member: JSONSchema7, ctx: GoCodegenCtx): string { |
| 2397 | if (member.$ref) { |
| 2398 | const resolved = resolveRef(member.$ref, ctx.definitions); |
| 2399 | if (resolved?.enum) return "Enum"; |
| 2400 | return goDefinitionName(refTypeName(member.$ref, ctx.definitions)); |
| 2401 | } |
| 2402 | |
| 2403 | if (member.enum) return "Enum"; |
| 2404 | |
| 2405 | if (member.type === "object" && member.additionalProperties && typeof member.additionalProperties === "object") { |
| 2406 | const valueSchema = member.additionalProperties as JSONSchema7; |
| 2407 | if (valueSchema.$ref) { |
| 2408 | const resolved = resolveRef(valueSchema.$ref, ctx.definitions); |
| 2409 | if (resolved?.enum) return "EnumMap"; |
| 2410 | return `${goDefinitionName(refTypeName(valueSchema.$ref, ctx.definitions))}Map`; |
| 2411 | } |
| 2412 | return `${goPrimitiveUnionFieldName(valueSchema)}Map`; |
| 2413 | } |
| 2414 | |
| 2415 | if (member.type === "array") { |
| 2416 | const items = member.items && typeof member.items === "object" && !Array.isArray(member.items) |
| 2417 | ? member.items as JSONSchema7 |
| 2418 | : undefined; |
| 2419 | return `${items ? goUnionFieldName(items, ctx) : "Any"}Array`; |
| 2420 | } |
| 2421 | |
| 2422 | return goPrimitiveUnionFieldName(member); |
| 2423 | } |
| 2424 | |
| 2425 | function goPrimitiveUnionFieldName(schema: JSONSchema7): string { |
| 2426 | switch (schema.type) { |
no test coverage detected
searching dependent graphs…