strawberry-graphql 0.233.0__py3-none-any.whl → 0.233.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/schema/schema.py +3 -0
- strawberry/schema/schema_converter.py +62 -52
- {strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/METADATA +1 -1
- {strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/RECORD +7 -7
- {strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/LICENSE +0 -0
- {strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/WHEEL +0 -0
- {strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/entry_points.txt +0 -0
strawberry/schema/schema.py
CHANGED
@@ -380,6 +380,9 @@ class Schema(BaseSchema):
|
|
380
380
|
|
381
381
|
def _extend_introspection(self) -> None:
|
382
382
|
def _resolve_is_one_of(obj: Any, info: Any) -> bool:
|
383
|
+
if "strawberry-definition" not in obj.extensions:
|
384
|
+
return False
|
385
|
+
|
383
386
|
return obj.extensions["strawberry-definition"].is_one_of
|
384
387
|
|
385
388
|
instrospection_type = self._schema.type_map["__Type"]
|
@@ -178,6 +178,61 @@ class CustomGraphQLEnumType(GraphQLEnumType):
|
|
178
178
|
return self.wrapped_cls(super().parse_literal(value_node, _variables))
|
179
179
|
|
180
180
|
|
181
|
+
def get_arguments(
|
182
|
+
*,
|
183
|
+
field: StrawberryField,
|
184
|
+
source: Any,
|
185
|
+
info: Info,
|
186
|
+
kwargs: Any,
|
187
|
+
config: StrawberryConfig,
|
188
|
+
scalar_registry: Dict[object, Union[ScalarWrapper, ScalarDefinition]],
|
189
|
+
) -> Tuple[List[Any], Dict[str, Any]]:
|
190
|
+
# TODO: An extension might have changed the resolver arguments,
|
191
|
+
# but we need them here since we are calling it.
|
192
|
+
# This is a bit of a hack, but it's the easiest way to get the arguments
|
193
|
+
# This happens in mutation.InputMutationExtension
|
194
|
+
field_arguments = field.arguments[:]
|
195
|
+
if field.base_resolver:
|
196
|
+
existing = {arg.python_name for arg in field_arguments}
|
197
|
+
field_arguments.extend(
|
198
|
+
[
|
199
|
+
arg
|
200
|
+
for arg in field.base_resolver.arguments
|
201
|
+
if arg.python_name not in existing
|
202
|
+
]
|
203
|
+
)
|
204
|
+
|
205
|
+
kwargs = convert_arguments(
|
206
|
+
kwargs,
|
207
|
+
field_arguments,
|
208
|
+
scalar_registry=scalar_registry,
|
209
|
+
config=config,
|
210
|
+
)
|
211
|
+
|
212
|
+
# the following code allows to omit info and root arguments
|
213
|
+
# by inspecting the original resolver arguments,
|
214
|
+
# if it asks for self, the source will be passed as first argument
|
215
|
+
# if it asks for root or parent, the source will be passed as kwarg
|
216
|
+
# if it asks for info, the info will be passed as kwarg
|
217
|
+
|
218
|
+
args = []
|
219
|
+
|
220
|
+
if field.base_resolver:
|
221
|
+
if field.base_resolver.self_parameter:
|
222
|
+
args.append(source)
|
223
|
+
|
224
|
+
if parent_parameter := field.base_resolver.parent_parameter:
|
225
|
+
kwargs[parent_parameter.name] = source
|
226
|
+
|
227
|
+
if root_parameter := field.base_resolver.root_parameter:
|
228
|
+
kwargs[root_parameter.name] = source
|
229
|
+
|
230
|
+
if info_parameter := field.base_resolver.info_parameter:
|
231
|
+
kwargs[info_parameter.name] = info
|
232
|
+
|
233
|
+
return args, kwargs
|
234
|
+
|
235
|
+
|
181
236
|
class GraphQLCoreConverter:
|
182
237
|
# TODO: Make abstract
|
183
238
|
|
@@ -608,56 +663,6 @@ class GraphQLCoreConverter:
|
|
608
663
|
|
609
664
|
return _get_basic_result
|
610
665
|
|
611
|
-
def _get_arguments(
|
612
|
-
source: Any,
|
613
|
-
info: Info,
|
614
|
-
kwargs: Any,
|
615
|
-
) -> Tuple[List[Any], Dict[str, Any]]:
|
616
|
-
# TODO: An extension might have changed the resolver arguments,
|
617
|
-
# but we need them here since we are calling it.
|
618
|
-
# This is a bit of a hack, but it's the easiest way to get the arguments
|
619
|
-
# This happens in mutation.InputMutationExtension
|
620
|
-
field_arguments = field.arguments[:]
|
621
|
-
if field.base_resolver:
|
622
|
-
existing = {arg.python_name for arg in field_arguments}
|
623
|
-
field_arguments.extend(
|
624
|
-
[
|
625
|
-
arg
|
626
|
-
for arg in field.base_resolver.arguments
|
627
|
-
if arg.python_name not in existing
|
628
|
-
]
|
629
|
-
)
|
630
|
-
|
631
|
-
kwargs = convert_arguments(
|
632
|
-
kwargs,
|
633
|
-
field_arguments,
|
634
|
-
scalar_registry=self.scalar_registry,
|
635
|
-
config=self.config,
|
636
|
-
)
|
637
|
-
|
638
|
-
# the following code allows to omit info and root arguments
|
639
|
-
# by inspecting the original resolver arguments,
|
640
|
-
# if it asks for self, the source will be passed as first argument
|
641
|
-
# if it asks for root or parent, the source will be passed as kwarg
|
642
|
-
# if it asks for info, the info will be passed as kwarg
|
643
|
-
|
644
|
-
args = []
|
645
|
-
|
646
|
-
if field.base_resolver:
|
647
|
-
if field.base_resolver.self_parameter:
|
648
|
-
args.append(source)
|
649
|
-
|
650
|
-
if parent_parameter := field.base_resolver.parent_parameter:
|
651
|
-
kwargs[parent_parameter.name] = source
|
652
|
-
|
653
|
-
if root_parameter := field.base_resolver.root_parameter:
|
654
|
-
kwargs[root_parameter.name] = source
|
655
|
-
|
656
|
-
if info_parameter := field.base_resolver.info_parameter:
|
657
|
-
kwargs[info_parameter.name] = info
|
658
|
-
|
659
|
-
return args, kwargs
|
660
|
-
|
661
666
|
def _strawberry_info_from_graphql(info: GraphQLResolveInfo) -> Info:
|
662
667
|
return Info(
|
663
668
|
_raw_info=info,
|
@@ -689,8 +694,13 @@ class GraphQLCoreConverter:
|
|
689
694
|
) -> Any:
|
690
695
|
# parse field arguments into Strawberry input types and convert
|
691
696
|
# field names to Python equivalents
|
692
|
-
field_args, field_kwargs =
|
693
|
-
|
697
|
+
field_args, field_kwargs = get_arguments(
|
698
|
+
field=field,
|
699
|
+
source=_source,
|
700
|
+
info=info,
|
701
|
+
kwargs=kwargs,
|
702
|
+
config=self.config,
|
703
|
+
scalar_registry=self.scalar_registry,
|
694
704
|
)
|
695
705
|
|
696
706
|
resolver_requested_info = False
|
@@ -189,8 +189,8 @@ strawberry/schema/config.py,sha256=XkWwmxEsmecscH29o4qU0iSe-hgwJJ2X0DPBVlka2OE,6
|
|
189
189
|
strawberry/schema/exceptions.py,sha256=T-DsvBtjx9svkegIm1YrVPGPswpVEpMTFc0_7flLEkM,542
|
190
190
|
strawberry/schema/execute.py,sha256=dwxMrJrR2Qdd1nPGcIS9-Viq7h5qtPfsD6qdujALoMw,11153
|
191
191
|
strawberry/schema/name_converter.py,sha256=UdNyd-QtqF2HsDCQK-nsOcLGxDTj4hJwYFNvMtZnpq4,6533
|
192
|
-
strawberry/schema/schema.py,sha256=
|
193
|
-
strawberry/schema/schema_converter.py,sha256=
|
192
|
+
strawberry/schema/schema.py,sha256=aYvznvDecNbcqT0H0kLHwlnYHdwQQhiU-Jd5ean2BtU,14368
|
193
|
+
strawberry/schema/schema_converter.py,sha256=_kufIUo71mWCAC7QaXcW8KxKXa86vdvh75mBdjbJE7Y,36795
|
194
194
|
strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
|
195
195
|
strawberry/schema/types/base_scalars.py,sha256=NzGQmDtHdCcBeJpRpyeZQ6EgYRpQBTd8fUf1p9cMWlQ,1847
|
196
196
|
strawberry/schema/types/concrete_type.py,sha256=HB30G1hMUuuvjAvfSe6ADS35iI_T_wKO-EprVOWTMSs,746
|
@@ -245,8 +245,8 @@ strawberry/utils/logging.py,sha256=flS7hV0JiIOEdXcrIjda4WyIWix86cpHHFNJL8gl1y4,7
|
|
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.233.
|
249
|
-
strawberry_graphql-0.233.
|
250
|
-
strawberry_graphql-0.233.
|
251
|
-
strawberry_graphql-0.233.
|
252
|
-
strawberry_graphql-0.233.
|
248
|
+
strawberry_graphql-0.233.2.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
|
249
|
+
strawberry_graphql-0.233.2.dist-info/METADATA,sha256=PMM-_LyQUFQzVGt86DPrHnY_looZPK6RB5I8VUMH6AQ,7821
|
250
|
+
strawberry_graphql-0.233.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
251
|
+
strawberry_graphql-0.233.2.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
|
252
|
+
strawberry_graphql-0.233.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
{strawberry_graphql-0.233.0.dist-info → strawberry_graphql-0.233.2.dist-info}/entry_points.txt
RENAMED
File without changes
|