def type_params(self) -> Optional[List[Type]]: if self.is_list: assert self.child is not None return self.child.type_params if isinstance(self.type, StrawberryUnion): types = self.type.types type_vars = [t for t in types if is_type_var(t)] if type_vars: return type_vars if is_type_var(self.type): return [self.type] if has_type_var(self.type): return get_parameters(self.type) return None
def _get_type_params_for_field( field_definition: FieldDefinition, ) -> Optional[List[Type]]: if field_definition.is_list: child = cast(FieldDefinition, field_definition.child) return _get_type_params_for_field(child) type = cast(Type, field_definition.type) if isinstance(type, StrawberryUnion): types = type.types type_vars = [t for t in types if is_type_var(t)] if type_vars: return type_vars if is_type_var(type): return [type] if has_type_var(type): return get_parameters(type) return None