strawberry-graphql 0.234.0__py3-none-any.whl → 0.234.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
strawberry/relay/types.py CHANGED
@@ -220,14 +220,22 @@ class GlobalID:
220
220
 
221
221
  """
222
222
  type_def = info.schema.get_type_by_name(self.type_name)
223
- assert isinstance(type_def, StrawberryObjectDefinition)
223
+ if not isinstance(type_def, StrawberryObjectDefinition):
224
+ raise GlobalIDValueError(
225
+ f"Cannot resolve. GlobalID requires a GraphQL type, "
226
+ f"received `{self.type_name}`."
227
+ )
224
228
 
225
229
  origin = (
226
230
  type_def.origin.resolve_type
227
231
  if isinstance(type_def.origin, LazyType)
228
232
  else type_def.origin
229
233
  )
230
- assert issubclass(origin, Node)
234
+ if not issubclass(origin, Node):
235
+ raise GlobalIDValueError(
236
+ f"Cannot resolve. GlobalID requires a GraphQL Node type, "
237
+ f"received `{self.type_name}`."
238
+ )
231
239
  return origin
232
240
 
233
241
  @overload
@@ -8,10 +8,12 @@ from typing import (
8
8
  List,
9
9
  Optional,
10
10
  TypeVar,
11
+ get_origin,
11
12
  )
12
13
  from typing_extensions import get_args
13
14
 
14
15
  from strawberry.type import has_object_definition
16
+ from strawberry.utils.typing import is_generic_alias
15
17
 
16
18
 
17
19
  def in_async_context() -> bool:
@@ -77,8 +79,12 @@ def get_specialized_type_var_map(cls: type) -> Optional[Dict[str, type]]:
77
79
  """
78
80
  orig_bases = getattr(cls, "__orig_bases__", None)
79
81
  if orig_bases is None:
80
- # Not a specialized type
81
- return None
82
+ # Specialized generic aliases will not have __orig_bases__
83
+ if get_origin(cls) is not None and is_generic_alias(cls):
84
+ orig_bases = (cls,)
85
+ else:
86
+ # Not a specialized type
87
+ return None
82
88
 
83
89
  type_var_map = {}
84
90
 
@@ -88,9 +94,10 @@ def get_specialized_type_var_map(cls: type) -> Optional[Dict[str, type]]:
88
94
 
89
95
  for base in orig_bases:
90
96
  # Recursively get type var map from base classes
91
- base_type_var_map = get_specialized_type_var_map(base)
92
- if base_type_var_map is not None:
93
- type_var_map.update(base_type_var_map)
97
+ if base is not cls:
98
+ base_type_var_map = get_specialized_type_var_map(base)
99
+ if base_type_var_map is not None:
100
+ type_var_map.update(base_type_var_map)
94
101
 
95
102
  args = get_args(base)
96
103
  origin = getattr(base, "__origin__", None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.234.0
3
+ Version: 0.234.2
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -174,7 +174,7 @@ strawberry/quart/views.py,sha256=SDUaDX7bPKsv8PziMPb0C3nH6vre-Q3bhzSQp4uPjbY,340
174
174
  strawberry/relay/__init__.py,sha256=Vi4btvA_g6Cj9Tk_F9GCSegapIf2WqkOWV8y3P0cTCs,553
175
175
  strawberry/relay/exceptions.py,sha256=b7sU2MhHVWJOfq27lvqdFcqBZ5P_JWk41JWRjtP-AOI,3916
176
176
  strawberry/relay/fields.py,sha256=4V8jhPDECx0hPqtc0ZsNxvmhRYMf5whD_686O2-6_Dc,15934
177
- strawberry/relay/types.py,sha256=R7hCsLX0qR3pa4URLbtOeaMHr9EQwbpz-Vedr_PHCrU,29242
177
+ strawberry/relay/types.py,sha256=BvdgNtJy1UGiPm0ZZtcphJEmJsouCIVSOz5Ks2zoVos,29589
178
178
  strawberry/relay/utils.py,sha256=44zl0_iXZElQ35YQkguccCGandKTovqiU5tpve9Ceb4,5575
179
179
  strawberry/resolvers.py,sha256=g7_g3jmXszziGydY1UG6IItf9s6B1lGLUCnwW1kb8U0,224
180
180
  strawberry/sanic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -240,13 +240,13 @@ strawberry/utils/debug.py,sha256=-MtRqM5e1J-GDNgKQXoVFcBB9f3dHvhEGrTc82uN4LM,137
240
240
  strawberry/utils/deprecations.py,sha256=RsnN63mPcq_BlH1nS8o-K9NOTtEF3fkW4zGaouJ0g9M,713
241
241
  strawberry/utils/graphql_lexer.py,sha256=U1mTE5fWy0gcF5fITiZzLWftCpo_C3xOi4BpQxasP3M,1085
242
242
  strawberry/utils/importer.py,sha256=hzTiWCeL9ju6opXTU_kjGpatbUy3UUTW8O1Y5hNA_W8,592
243
- strawberry/utils/inspect.py,sha256=6z-tJpiWWm6E4-O6OUfhu689W9k1uY0m3FDwAfVCiNs,2825
243
+ strawberry/utils/inspect.py,sha256=9pBnqnzkrd0hjXRSwErwsKLz8KGmmh2Aux_CeHjys74,3121
244
244
  strawberry/utils/logging.py,sha256=flS7hV0JiIOEdXcrIjda4WyIWix86cpHHFNJL8gl1y4,713
245
245
  strawberry/utils/operation.py,sha256=Um-tBCPl3_bVFN2Ph7o1mnrxfxBes4HFCj6T0x4kZxE,1135
246
246
  strawberry/utils/str_converters.py,sha256=avIgPVLg98vZH9mA2lhzVdyyjqzLsK2NdBw9mJQ02Xk,813
247
247
  strawberry/utils/typing.py,sha256=G92wuT2WhEGQrwjek_On2K8l0nyVFtBW3P7I_cfjG-8,13870
248
- strawberry_graphql-0.234.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
249
- strawberry_graphql-0.234.0.dist-info/METADATA,sha256=b_WjywAyZWmvXZfQmNglw490pT-d-tEXYnmpAk51PWQ,7821
250
- strawberry_graphql-0.234.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
251
- strawberry_graphql-0.234.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
252
- strawberry_graphql-0.234.0.dist-info/RECORD,,
248
+ strawberry_graphql-0.234.2.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
249
+ strawberry_graphql-0.234.2.dist-info/METADATA,sha256=_gZW-JAxzhCF_jrZq2xw6D07P38OAXkdYsLR255YmpI,7821
250
+ strawberry_graphql-0.234.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
251
+ strawberry_graphql-0.234.2.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
252
+ strawberry_graphql-0.234.2.dist-info/RECORD,,