def get_name_from_types(types: Iterable[Union[Type, StrawberryUnion]]): names = [] for type_ in types: if isinstance(type_, StrawberryUnion): return type_.name elif hasattr(type_, "_type_definition"): name = capitalize_first(type_._type_definition.name) else: name = capitalize_first(type_.__name__) names.append(name) return "".join(names)
def get_from_type(self, type_: Union[StrawberryType, type]) -> str: from strawberry.union import StrawberryUnion if isinstance(type_, LazyType): name = type_.type_name elif isinstance(type_, EnumDefinition): name = type_.name elif isinstance(type_, StrawberryUnion): # TODO: test Generics with unnamed unions assert type_.graphql_name name = type_.graphql_name elif isinstance(type_, StrawberryList): name = self.get_from_type(type_.of_type) + "List" elif isinstance(type_, StrawberryOptional): name = self.get_from_type(type_.of_type) + "Optional" elif hasattr(type_, "_scalar_definition"): strawberry_type = type_._scalar_definition # type: ignore name = strawberry_type.name elif hasattr(type_, "_type_definition"): strawberry_type = type_._type_definition # type: ignore if strawberry_type.is_generic: types = type_.__args__ # type: ignore name = self.from_generic(strawberry_type, types) else: name = strawberry_type.name else: name = type_.__name__ # type: ignore return capitalize_first(name)
def get_name_from_types( self, types: Iterable[Union[StrawberryType, type]]) -> str: from strawberry.union import StrawberryUnion names: List[str] = [] for type_ in types: if isinstance(type_, LazyType): name = type_.type_name elif isinstance(type_, EnumDefinition): name = type_.name elif isinstance(type_, StrawberryUnion): name = type_.name elif hasattr(type_, "_type_definition"): field_type = type_._type_definition # type: ignore name = capitalize_first(field_type.name) else: name = capitalize_first(type_.__name__) # type: ignore names.append(name) return "".join(names) + self.name
def get_name_from_types(types: Iterable[Type]): return "".join([capitalize_first(type.__name__) for type in types])