strawberry-graphql 0.267.0.dev1746643548__py3-none-any.whl → 0.269.0.dev1746905409__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/parent.py CHANGED
@@ -1,4 +1,7 @@
1
- from typing import Annotated, TypeVar
1
+ import re
2
+ from typing import Annotated, Any, ForwardRef, TypeVar
3
+
4
+ _parent_re = re.compile(r"^(?:strawberry\.)?Parent\[(.*)\]$")
2
5
 
3
6
 
4
7
  class StrawberryParent: ...
@@ -40,4 +43,20 @@ class Query:
40
43
  ```
41
44
  """
42
45
 
43
- __all__ = ["Parent"]
46
+
47
+ def resolve_parent_forward_arg(annotation: Any) -> Any:
48
+ if isinstance(annotation, str):
49
+ str_annotation = annotation
50
+ elif isinstance(annotation, ForwardRef):
51
+ str_annotation = annotation.__forward_arg__
52
+ else:
53
+ # If neither, return the annotation as is
54
+ return annotation
55
+
56
+ if parent_match := _parent_re.match(str_annotation):
57
+ annotation = Parent[ForwardRef(parent_match.group(1))] # type: ignore[misc]
58
+
59
+ return annotation
60
+
61
+
62
+ __all__ = ["Parent", "StrawberryParent", "resolve_parent_forward_arg"]
strawberry/scalars.py CHANGED
@@ -6,6 +6,8 @@ from typing import TYPE_CHECKING, Any, NewType, Union
6
6
  from strawberry.types.scalar import scalar
7
7
 
8
8
  if TYPE_CHECKING:
9
+ from collections.abc import Mapping
10
+
9
11
  from strawberry.types.scalar import ScalarDefinition, ScalarWrapper
10
12
 
11
13
 
@@ -57,7 +59,7 @@ Base64 = scalar(
57
59
 
58
60
  def is_scalar(
59
61
  annotation: Any,
60
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
62
+ scalar_registry: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
61
63
  ) -> bool:
62
64
  if annotation in scalar_registry:
63
65
  return True
@@ -10,6 +10,7 @@ from strawberry.types.base import StrawberryType, has_object_definition
10
10
  # TYPE_CHECKING is enabled.
11
11
 
12
12
  if TYPE_CHECKING:
13
+ from collections.abc import Mapping
13
14
  from typing_extensions import TypeGuard
14
15
 
15
16
  from strawberry.types.scalar import ScalarDefinition, ScalarWrapper
@@ -29,7 +30,7 @@ def is_interface_type(type_: Union[StrawberryType, type]) -> TypeGuard[type]:
29
30
 
30
31
  def is_scalar(
31
32
  type_: Union[StrawberryType, type],
32
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
33
+ scalar_registry: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
33
34
  ) -> TypeGuard[type]:
34
35
  return is_strawberry_scalar(type_, scalar_registry)
35
36
 
@@ -14,6 +14,7 @@ class StrawberryConfig:
14
14
  name_converter: NameConverter = field(default_factory=NameConverter)
15
15
  default_resolver: Callable[[Any, str], object] = getattr
16
16
  relay_max_results: int = 100
17
+ relay_use_legacy_global_id: bool = False
17
18
  disable_field_suggestions: bool = False
18
19
  info_class: type[Info] = Info
19
20
  enable_experimental_incremental_execution: bool = False
@@ -44,7 +44,6 @@ from strawberry.extensions.directives import (
44
44
  from strawberry.extensions.runner import SchemaExtensionsRunner
45
45
  from strawberry.printer import print_schema
46
46
  from strawberry.schema.schema_converter import GraphQLCoreConverter
47
- from strawberry.schema.types.scalar import DEFAULT_SCALAR_REGISTRY
48
47
  from strawberry.schema.validation_rules.one_of import OneOfInputValidationRule
49
48
  from strawberry.types.base import (
50
49
  StrawberryObjectDefinition,
@@ -76,7 +75,7 @@ from .config import StrawberryConfig
76
75
  from .exceptions import InvalidOperationTypeError
77
76
 
78
77
  if TYPE_CHECKING:
79
- from collections.abc import Iterable
78
+ from collections.abc import Iterable, Mapping
80
79
  from typing_extensions import TypeAlias
81
80
 
82
81
  from graphql import ExecutionContext as GraphQLExecutionContext
@@ -159,7 +158,7 @@ class Schema(BaseSchema):
159
158
  execution_context_class: Optional[type[GraphQLExecutionContext]] = None,
160
159
  config: Optional[StrawberryConfig] = None,
161
160
  scalar_overrides: Optional[
162
- dict[object, Union[type, ScalarWrapper, ScalarDefinition]],
161
+ Mapping[object, Union[type, ScalarWrapper, ScalarDefinition]],
163
162
  ] = None,
164
163
  schema_directives: Iterable[object] = (),
165
164
  ) -> None:
@@ -207,18 +206,12 @@ class Schema(BaseSchema):
207
206
  self.execution_context_class = execution_context_class
208
207
  self.config = config or StrawberryConfig()
209
208
 
210
- SCALAR_OVERRIDES_DICT_TYPE = dict[
211
- object, Union["ScalarWrapper", "ScalarDefinition"]
212
- ]
213
-
214
- scalar_registry: SCALAR_OVERRIDES_DICT_TYPE = {**DEFAULT_SCALAR_REGISTRY}
215
- if scalar_overrides:
216
- # TODO: check that the overrides are valid
217
- scalar_registry.update(cast("SCALAR_OVERRIDES_DICT_TYPE", scalar_overrides))
218
-
219
209
  self.schema_converter = GraphQLCoreConverter(
220
- self.config, scalar_registry, self.get_fields
210
+ self.config,
211
+ scalar_overrides=scalar_overrides or {}, # type: ignore
212
+ get_fields=self.get_fields,
221
213
  )
214
+
222
215
  self.directives = directives
223
216
  self.schema_directives = list(schema_directives)
224
217
 
@@ -23,6 +23,7 @@ from graphql import (
23
23
  GraphQLEnumValue,
24
24
  GraphQLError,
25
25
  GraphQLField,
26
+ GraphQLID,
26
27
  GraphQLInputField,
27
28
  GraphQLInputObjectType,
28
29
  GraphQLInterfaceType,
@@ -30,6 +31,7 @@ from graphql import (
30
31
  GraphQLNamedType,
31
32
  GraphQLNonNull,
32
33
  GraphQLObjectType,
34
+ GraphQLScalarType,
33
35
  GraphQLType,
34
36
  GraphQLUnionType,
35
37
  Undefined,
@@ -48,7 +50,12 @@ from strawberry.exceptions import (
48
50
  UnresolvedFieldTypeError,
49
51
  )
50
52
  from strawberry.extensions.field_extension import build_field_extension_resolvers
51
- from strawberry.schema.types.scalar import _make_scalar_type
53
+ from strawberry.relay.types import GlobalID
54
+ from strawberry.schema.types.scalar import (
55
+ DEFAULT_SCALAR_REGISTRY,
56
+ _get_scalar_definition,
57
+ _make_scalar_type,
58
+ )
52
59
  from strawberry.types.arguments import StrawberryArgument, convert_arguments
53
60
  from strawberry.types.base import (
54
61
  StrawberryList,
@@ -64,7 +71,7 @@ from strawberry.types.enum import EnumDefinition
64
71
  from strawberry.types.field import UNRESOLVED
65
72
  from strawberry.types.lazy_type import LazyType
66
73
  from strawberry.types.private import is_private
67
- from strawberry.types.scalar import ScalarWrapper
74
+ from strawberry.types.scalar import ScalarWrapper, scalar
68
75
  from strawberry.types.union import StrawberryUnion
69
76
  from strawberry.types.unset import UNSET
70
77
  from strawberry.utils.await_maybe import await_maybe
@@ -73,14 +80,13 @@ from . import compat
73
80
  from .types.concrete_type import ConcreteType
74
81
 
75
82
  if TYPE_CHECKING:
76
- from collections.abc import Awaitable
83
+ from collections.abc import Awaitable, Mapping
77
84
 
78
85
  from graphql import (
79
86
  GraphQLInputType,
80
87
  GraphQLNullableType,
81
88
  GraphQLOutputType,
82
89
  GraphQLResolveInfo,
83
- GraphQLScalarType,
84
90
  )
85
91
 
86
92
  from strawberry.directive import StrawberryDirective
@@ -186,7 +192,7 @@ def get_arguments(
186
192
  info: Info,
187
193
  kwargs: Any,
188
194
  config: StrawberryConfig,
189
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
195
+ scalar_registry: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
190
196
  ) -> tuple[list[Any], dict[str, Any]]:
191
197
  # TODO: An extension might have changed the resolver arguments,
192
198
  # but we need them here since we are calling it.
@@ -243,14 +249,42 @@ class GraphQLCoreConverter:
243
249
  def __init__(
244
250
  self,
245
251
  config: StrawberryConfig,
246
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
252
+ scalar_overrides: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
247
253
  get_fields: Callable[[StrawberryObjectDefinition], list[StrawberryField]],
248
254
  ) -> None:
249
255
  self.type_map: dict[str, ConcreteType] = {}
250
256
  self.config = config
251
- self.scalar_registry = scalar_registry
257
+ self.scalar_registry = self._get_scalar_registry(scalar_overrides)
252
258
  self.get_fields = get_fields
253
259
 
260
+ def _get_scalar_registry(
261
+ self,
262
+ scalar_overrides: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
263
+ ) -> Mapping[object, Union[ScalarWrapper, ScalarDefinition]]:
264
+ scalar_registry = {**DEFAULT_SCALAR_REGISTRY}
265
+
266
+ global_id_name = "GlobalID" if self.config.relay_use_legacy_global_id else "ID"
267
+
268
+ scalar_registry[GlobalID] = _get_scalar_definition(
269
+ scalar(
270
+ GlobalID,
271
+ name=global_id_name,
272
+ description=GraphQLID.description,
273
+ parse_literal=lambda v, vars=None: GlobalID.from_id( # noqa: A006
274
+ GraphQLID.parse_literal(v, vars)
275
+ ),
276
+ parse_value=GlobalID.from_id,
277
+ serialize=str,
278
+ specified_by_url=("https://relay.dev/graphql/objectidentification.htm"),
279
+ )
280
+ )
281
+
282
+ if scalar_overrides:
283
+ # TODO: check that the overrides are valid
284
+ scalar_registry.update(scalar_overrides) # type: ignore
285
+
286
+ return scalar_registry
287
+
254
288
  def from_argument(self, argument: StrawberryArgument) -> GraphQLArgument:
255
289
  argument_type = cast(
256
290
  "GraphQLInputType", self.from_maybe_optional(argument.type)
@@ -784,12 +818,20 @@ class GraphQLCoreConverter:
784
818
  scalar_name = self.config.name_converter.from_type(scalar_definition)
785
819
 
786
820
  if scalar_name not in self.type_map:
821
+ from strawberry.relay import GlobalID
822
+
823
+ if scalar is GlobalID and hasattr(GraphQLNamedType, "reserved_types"):
824
+ GraphQLNamedType.reserved_types.pop("ID")
825
+
787
826
  implementation = (
788
827
  scalar_definition.implementation
789
828
  if scalar_definition.implementation is not None
790
829
  else _make_scalar_type(scalar_definition)
791
830
  )
792
831
 
832
+ if scalar is GlobalID and hasattr(GraphQLNamedType, "reserved_types"):
833
+ GraphQLNamedType.reserved_types["ID"] = implementation
834
+
793
835
  self.type_map[scalar_name] = ConcreteType(
794
836
  definition=scalar_definition, implementation=implementation
795
837
  )
@@ -12,10 +12,9 @@ from graphql import (
12
12
  )
13
13
 
14
14
  from strawberry.file_uploads.scalars import Upload
15
- from strawberry.relay.types import GlobalID
16
15
  from strawberry.scalars import ID
17
16
  from strawberry.schema.types import base_scalars
18
- from strawberry.types.scalar import ScalarDefinition, scalar
17
+ from strawberry.types.scalar import ScalarDefinition
19
18
 
20
19
 
21
20
  def _make_scalar_type(definition: ScalarDefinition) -> GraphQLScalarType:
@@ -62,22 +61,9 @@ DEFAULT_SCALAR_REGISTRY: dict[object, ScalarDefinition] = {
62
61
  datetime.datetime: _get_scalar_definition(base_scalars.DateTime),
63
62
  datetime.time: _get_scalar_definition(base_scalars.Time),
64
63
  decimal.Decimal: _get_scalar_definition(base_scalars.Decimal),
65
- # We can't wrap GlobalID with @scalar because it has custom attributes/methods
66
- GlobalID: _get_scalar_definition(
67
- scalar(
68
- GlobalID,
69
- name="GlobalID",
70
- description=GraphQLID.description,
71
- parse_literal=lambda v, vars=None: GlobalID.from_id( # noqa: A006
72
- GraphQLID.parse_literal(v, vars)
73
- ),
74
- parse_value=GlobalID.from_id,
75
- serialize=str,
76
- specified_by_url=("https://relay.dev/graphql/objectidentification.htm"),
77
- )
78
- ),
79
64
  }
80
65
 
66
+
81
67
  __all__ = [
82
68
  "DEFAULT_SCALAR_REGISTRY",
83
69
  "_get_scalar_definition",
@@ -147,7 +147,7 @@ class StrawberryArgument:
147
147
  def convert_argument(
148
148
  value: object,
149
149
  type_: Union[StrawberryType, type],
150
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
150
+ scalar_registry: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
151
151
  config: StrawberryConfig,
152
152
  ) -> object:
153
153
  # TODO: move this somewhere else and make it first class
@@ -207,7 +207,7 @@ def convert_argument(
207
207
  def convert_arguments(
208
208
  value: dict[str, Any],
209
209
  arguments: list[StrawberryArgument],
210
- scalar_registry: dict[object, Union[ScalarWrapper, ScalarDefinition]],
210
+ scalar_registry: Mapping[object, Union[ScalarWrapper, ScalarDefinition]],
211
211
  config: StrawberryConfig,
212
212
  ) -> dict[str, Any]:
213
213
  """Converts a nested dictionary to a dictionary of actual types.
@@ -25,7 +25,7 @@ from strawberry.exceptions import (
25
25
  ConflictingArgumentsError,
26
26
  MissingArgumentsAnnotationsError,
27
27
  )
28
- from strawberry.parent import StrawberryParent
28
+ from strawberry.parent import StrawberryParent, resolve_parent_forward_arg
29
29
  from strawberry.types.arguments import StrawberryArgument
30
30
  from strawberry.types.base import StrawberryType, has_object_definition
31
31
  from strawberry.types.info import Info
@@ -118,10 +118,17 @@ class ReservedType(NamedTuple):
118
118
  try:
119
119
  evaled_annotation = annotation.evaluate()
120
120
  except NameError:
121
- continue
122
- else:
123
- if self.is_reserved_type(evaled_annotation):
124
- type_parameters.append(parameter)
121
+ # If this is a strawberry.Parent using ForwardRef, we will fail to
122
+ # evaluate at this moment, but at least knowing that it is a reserved
123
+ # type is enough for now
124
+ # We might want to revisit this in the future, maybe by postponing
125
+ # this check to when the schema is actually being created
126
+ evaled_annotation = resolve_parent_forward_arg(
127
+ annotation.annotation
128
+ )
129
+
130
+ if self.is_reserved_type(evaled_annotation):
131
+ type_parameters.append(parameter)
125
132
 
126
133
  if len(type_parameters) > 1:
127
134
  raise ConflictingArgumentsError(
@@ -304,11 +304,13 @@ def eval_type(
304
304
  localns: Optional[dict] = None,
305
305
  ) -> type:
306
306
  """Evaluates a type, resolving forward references."""
307
+ from strawberry.parent import StrawberryParent
307
308
  from strawberry.types.auto import StrawberryAuto
308
309
  from strawberry.types.lazy_type import StrawberryLazyReference
309
310
  from strawberry.types.private import StrawberryPrivate
310
311
 
311
312
  globalns = globalns or {}
313
+
312
314
  # If this is not a string, maybe its args are (e.g. list["Foo"])
313
315
  if isinstance(type_, ForwardRef):
314
316
  ast_obj = cast("ast.Expr", ast.parse(type_.__forward_arg__).body[0])
@@ -355,6 +357,7 @@ def eval_type(
355
357
  )
356
358
  args = (type_arg, *remaining_args)
357
359
  break
360
+
358
361
  if isinstance(arg, StrawberryAuto):
359
362
  remaining_args = [
360
363
  a for a in args[1:] if not isinstance(a, StrawberryAuto)
@@ -362,6 +365,21 @@ def eval_type(
362
365
  args = (args[0], arg, *remaining_args)
363
366
  break
364
367
 
368
+ if isinstance(arg, StrawberryParent):
369
+ remaining_args = [
370
+ a for a in args[1:] if not isinstance(a, StrawberryParent)
371
+ ]
372
+ try:
373
+ type_arg = (
374
+ eval_type(args[0], globalns, localns)
375
+ if isinstance(args[0], ForwardRef)
376
+ else args[0]
377
+ )
378
+ except (NameError, TypeError):
379
+ type_arg = args[0]
380
+ args = (type_arg, arg, *remaining_args)
381
+ break
382
+
365
383
  # If we have only a StrawberryLazyReference and no more annotations,
366
384
  # we need to return the argument directly because Annotated
367
385
  # will raise an error if trying to instantiate it with only
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: strawberry-graphql
3
- Version: 0.267.0.dev1746643548
3
+ Version: 0.269.0.dev1746905409
4
4
  Summary: A library for creating GraphQL APIs
5
5
  License: MIT
6
6
  Keywords: graphql,api,rest,starlette,async
@@ -142,7 +142,7 @@ strawberry/http/types.py,sha256=H0wGOdCO-5tNKZM_6cAtNRwZAjoEXnAC5N0Q7b70AtU,398
142
142
  strawberry/http/typevars.py,sha256=Uu6NkKe3h7o29ZWwldq6sJy4ioSSeXODTCDRvY2hUpE,489
143
143
  strawberry/litestar/__init__.py,sha256=zsXzg-mglCGUVO9iNXLm-yadoDSCK7k-zuyRqyvAh1w,237
144
144
  strawberry/litestar/controller.py,sha256=DSbjl7QGCY_TX77EomqDvtH8-ZK6wfhL81IUEFa-JJs,14124
145
- strawberry/parent.py,sha256=wViSVYl5ADuyy2EGaS98by_iT1ep9xTP2od8NB_EIuw,742
145
+ strawberry/parent.py,sha256=JYFp-HGCgwbH2oB4uLSiIO4cVsoPaxX6lfYmxOKPkSg,1362
146
146
  strawberry/permission.py,sha256=dSRJMjSCmTlXfvfC24kCSrAk0txTjYKTJ5ZVU5IW91Y,7537
147
147
  strawberry/printer/__init__.py,sha256=DmepjmgtkdF5RxK_7yC6qUyRWn56U-9qeZMbkztYB9w,62
148
148
  strawberry/printer/ast_from_value.py,sha256=Tkme60qlykbN2m3dNPNMOe65X-wj6EmcDQwgQv7gUkc,4987
@@ -160,20 +160,20 @@ strawberry/sanic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
160
160
  strawberry/sanic/context.py,sha256=qN7I9K_qIqgdbG_FbDl8XMb9aM1PyjIxSo8IAg2Uq8o,844
161
161
  strawberry/sanic/utils.py,sha256=XjUVBFuBWfECBCZbx_YtrjQnFTUyIGTo7aISIeB22Gc,1007
162
162
  strawberry/sanic/views.py,sha256=F5ZrKt-R3135evKLfhQuPd1isOexI0Lrzevm_6Te4Eg,7069
163
- strawberry/scalars.py,sha256=FcFTbu-yKbBfPCuAfXNa6DbTbEzF3eiQHs5nlt6GJdM,2234
163
+ strawberry/scalars.py,sha256=CGkG8CIfurXiYhidmW3qwy6M5BF_Mhih3wAEcWx_iBU,2278
164
164
  strawberry/schema/__init__.py,sha256=u1QCyDVQExUVDA20kyosKPz3TS5HMCN2NrXclhiFAL4,92
165
165
  strawberry/schema/_graphql_core.py,sha256=XHsNZLkCyiH55jANK4XJIjq6VCMhN_MgZBEFWEYj5Jc,1237
166
166
  strawberry/schema/base.py,sha256=q5UAw6do4Ele5Cf8dNAouiPjNmZoCBNFqh5Vl05caCI,3864
167
- strawberry/schema/compat.py,sha256=9qJ0lhYJeaN43ayFgVz708ZMvedBhofiTSw9kpFqmjU,1830
168
- strawberry/schema/config.py,sha256=Nl-CWXlKyzcC0ZHoeJmGMXT5jPieC87NU7OqUltbAIk,984
167
+ strawberry/schema/compat.py,sha256=xNpOEDfi-MODpplMGaKuKeQIVcr-tcAaKaU3TlBc1Zs,1873
168
+ strawberry/schema/config.py,sha256=zQLJSF6FoUIur6MJSMz3NHqxDCYqcHL3fu6H5NA4hmI,1029
169
169
  strawberry/schema/exceptions.py,sha256=rqVNb_oYrKM0dHPgvAemqCG6Um282LPPu4zwQ5cZqs4,584
170
170
  strawberry/schema/name_converter.py,sha256=xFOXEgqldFkxXRkIQvsJN1dPkWbEUaIrTYNOMYSEVwQ,6945
171
- strawberry/schema/schema.py,sha256=Jcdwv8M0HZD7T0T7XkaeI5l2WmqttPFmXMZaRXAyu-Y,36055
172
- strawberry/schema/schema_converter.py,sha256=ZNgpE-cTt0Hqw21yoT-3Fu2xk8SVC3uDq85V9JeKI7Q,37724
171
+ strawberry/schema/schema.py,sha256=So_T5IqyADhIrj_OSoLt3UlFwuRppeOY39JSChEZ7k0,35704
172
+ strawberry/schema/schema_converter.py,sha256=yuYafNwa9zs6l-GmuGtxdjYwawxjiU6zmwIgJ-aLhV4,39308
173
173
  strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
174
174
  strawberry/schema/types/base_scalars.py,sha256=JRUq0WjEkR9dFewstZnqnZKp0uOEipo4UXNF5dzRf4M,1971
175
175
  strawberry/schema/types/concrete_type.py,sha256=axIyFZgdwNv-XYkiqX67464wuFX6Vp0jYATwnBZSUvM,750
176
- strawberry/schema/types/scalar.py,sha256=R840rzlH_TRM_2CdkA5rGDGLrJ8bh6UVDBhIGzVAVdg,2947
176
+ strawberry/schema/types/scalar.py,sha256=X_9R7tLDINcs9UeExUUqq3_U2JkhCVJBeEhDFDUt3Tc,2347
177
177
  strawberry/schema/validation_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
178
  strawberry/schema/validation_rules/one_of.py,sha256=fPuYzCyLT7p9y7dHF_sWTImArTQaEhyF664lZijB1Gw,2629
179
179
  strawberry/schema_codegen/__init__.py,sha256=mN4Qmu5Iakht6nHpRpt9hCs8e--oTPlVtDJZJpzgHR4,24364
@@ -197,7 +197,7 @@ strawberry/tools/__init__.py,sha256=pdGpZx8wpq03VfUZJyF9JtYxZhGqzzxCiipsalWxJX4,
197
197
  strawberry/tools/create_type.py,sha256=--DgfZOmXJBKGcVxehNISyvpw1HzwFvRtUUPc0634MA,2056
198
198
  strawberry/tools/merge_types.py,sha256=hUMRRNM28FyPp70jRA3d4svv9WoEBjaNpihBt3DaY0I,1023
199
199
  strawberry/types/__init__.py,sha256=baWEdDkkmCcITOhkg2hNUOenrNV1OYdxGE5qgvIRwwU,351
200
- strawberry/types/arguments.py,sha256=y-1yQBZ8ua4lcrlas9PKNZE02seHn95TjGAoTCRc5e8,9700
200
+ strawberry/types/arguments.py,sha256=Ut4H60a7SRuPtCUAa6gS6gJigaNqhCSesCPoeb0xDYE,9706
201
201
  strawberry/types/auto.py,sha256=WZ2cQAI8nREUigBzpzFqIKGjJ_C2VqpAPNe8vPjTciM,3007
202
202
  strawberry/types/base.py,sha256=tZSqxtrxXa1Y964HS2uakCbCgLyGO9A4WpODiegWzF8,15122
203
203
  strawberry/types/cast.py,sha256=fx86MkLW77GIximBAwUk5vZxSGwDqUA6XicXvz8EXwQ,916
@@ -205,7 +205,7 @@ strawberry/types/enum.py,sha256=IcCz0FLswJtDC_bU8aG1cjreawcqHywAzzVRBZUSAqs,6229
205
205
  strawberry/types/execution.py,sha256=Ylc0lH0nyHyQW509mVqBh2sIN5qpf4cJtt8QhVmWGgI,3749
206
206
  strawberry/types/field.py,sha256=vxb7JvkHfRmDCYsjhDmVnO2lMbtSOteQm3jQUeSFu6g,21605
207
207
  strawberry/types/fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
- strawberry/types/fields/resolver.py,sha256=iYYVUVpm-JM3AFQHuQFeOooftiQWFw3kg64pqSNIe_0,14186
208
+ strawberry/types/fields/resolver.py,sha256=b6lxfw6AMOUFWm7vs7a9KzNkpR8b_S110DoIosrrWDQ,14679
209
209
  strawberry/types/graphql.py,sha256=gXKzawwKiow7hvoJhq5ApNJOMUCnKmvTiHaKY5CK1Lw,867
210
210
  strawberry/types/info.py,sha256=bPP7XTQQScmskJcmVv36iqLAWpdGmF2nhYjI1pJ-csI,4709
211
211
  strawberry/types/lazy_type.py,sha256=dlP9VcMjZc9sdgriiQGzOZa0TToB6Ee7zpIP8h7TLC0,5079
@@ -230,9 +230,9 @@ strawberry/utils/inspect.py,sha256=-aFT65PkQ9KXo5w8Q2uveBJ8jEpi40sTqRipRQVdYR8,3
230
230
  strawberry/utils/logging.py,sha256=U1cseHGquN09YFhFmRkiphfASKCyK0HUZREImPgVb0c,746
231
231
  strawberry/utils/operation.py,sha256=s7ajvLg_q6v2mg47kEMQPjO_J-XluMKTCwo4d47mGvE,1195
232
232
  strawberry/utils/str_converters.py,sha256=-eH1Cl16IO_wrBlsGM-km4IY0IKsjhjnSNGRGOwQjVM,897
233
- strawberry/utils/typing.py,sha256=Xmnhwvnw8RIQVIc5D5iI4_9qM4Thpk7tWx8xf-RW_So,13383
234
- strawberry_graphql-0.267.0.dev1746643548.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
235
- strawberry_graphql-0.267.0.dev1746643548.dist-info/METADATA,sha256=I6igiGpVkFoZPPYblq9GRM5MhVvVCE2t59SxUzE6y2s,7693
236
- strawberry_graphql-0.267.0.dev1746643548.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
237
- strawberry_graphql-0.267.0.dev1746643548.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
238
- strawberry_graphql-0.267.0.dev1746643548.dist-info/RECORD,,
233
+ strawberry/utils/typing.py,sha256=SDvX-Du-9HAV3-XXjqi7Q5f5qPDDFd_gASIITiwBQT4,14073
234
+ strawberry_graphql-0.269.0.dev1746905409.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
235
+ strawberry_graphql-0.269.0.dev1746905409.dist-info/METADATA,sha256=sHIySmlxBSdlyOX75pzZ4cMZfQM-ohxJHrN7hVhYGkw,7693
236
+ strawberry_graphql-0.269.0.dev1746905409.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
237
+ strawberry_graphql-0.269.0.dev1746905409.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
238
+ strawberry_graphql-0.269.0.dev1746905409.dist-info/RECORD,,