MCPcopy Index your code
hub / github.com/github/copilot-sdk / resolvePyNamedUnion

Function resolvePyNamedUnion

scripts/codegen/python.ts:1811–1838  ·  view source on GitHub ↗
(
    typeName: string,
    schemas: JSONSchema7[],
    ctx: PyCodegenCtx,
    description?: string
)

Source from the content-addressed store, hash-verified

1809}
1810
1811function resolvePyNamedUnion(
1812 typeName: string,
1813 schemas: JSONSchema7[],
1814 ctx: PyCodegenCtx,
1815 description?: string
1816): PyResolvedType | undefined {
1817 const members = schemas
1818 .filter((schema) => !isPyNullLikeSchema(schema))
1819 .map((schema) => getPyNamedSchemaType(schema, ctx));
1820
1821 if (members.length === 0 || members.some((member) => member === undefined)) {
1822 return undefined;
1823 }
1824
1825 const namedMembers = members as Array<{ typeName: string; resolved: PyResolvedType }>;
1826 const aliasName = getOrCreatePyUnionAlias(
1827 typeName,
1828 namedMembers.map((member) => member.typeName),
1829 ctx,
1830 description
1831 );
1832
1833 return {
1834 annotation: aliasName,
1835 fromExpr: (expr) => `from_union([${namedMembers.map((member) => member.resolved.fromExpr).map((fromExpr) => fromExpr("x")).map((expr) => `lambda x: ${expr}`).join(", ")}], ${expr})`,
1836 toExpr: (expr) => `from_union([${namedMembers.map((member) => member.resolved.toExpr).map((toExpr) => toExpr("x")).map((expr) => `lambda x: ${expr}`).join(", ")}], ${expr})`,
1837 };
1838}
1839
1840function getOrCreatePyEnum(
1841 enumName: string,

Callers 1

resolvePyPropertyTypeFunction · 0.85

Calls 4

isPyNullLikeSchemaFunction · 0.85
getPyNamedSchemaTypeFunction · 0.85
getOrCreatePyUnionAliasFunction · 0.85
joinMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…