(typeName: string, schema: JSONSchema7, ctx: GoCodegenCtx)
| 2690 | } |
| 2691 | |
| 2692 | function goUntaggedUnionVariants(typeName: string, schema: JSONSchema7, ctx: GoCodegenCtx): GoUntaggedUnionVariant[] | undefined { |
| 2693 | const members = goNonNullUnionMembers(schema); |
| 2694 | if (members.length === 0) return undefined; |
| 2695 | |
| 2696 | const variants: GoUntaggedUnionVariant[] = []; |
| 2697 | const seenKinds = new Set<string>(); |
| 2698 | const seenTypeNames = new Set<string>(); |
| 2699 | for (const member of members) { |
| 2700 | const variant = goUntaggedUnionVariant(typeName, member, ctx); |
| 2701 | if (!variant) return undefined; |
| 2702 | if (seenKinds.has(variant.jsonKind) || seenTypeNames.has(variant.typeName)) return undefined; |
| 2703 | seenKinds.add(variant.jsonKind); |
| 2704 | seenTypeNames.add(variant.typeName); |
| 2705 | variants.push(variant); |
| 2706 | } |
| 2707 | |
| 2708 | return variants; |
| 2709 | } |
| 2710 | |
| 2711 | function emitGoUntaggedUnionInterface(typeName: string, schema: JSONSchema7, ctx: GoCodegenCtx, variants?: GoUntaggedUnionVariant[]): boolean { |
| 2712 | if (ctx.generatedNames.has(typeName)) return true; |
no test coverage detected
searching dependent graphs…