strawberry-graphql 0.235.1.dev1719337273__py3-none-any.whl → 0.236.0__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/__init__.py +17 -11
- strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/aiohttp/handlers/graphql_ws_handler.py +3 -0
- strawberry/aiohttp/test/client.py +3 -0
- strawberry/aiohttp/views.py +3 -0
- strawberry/annotation.py +19 -22
- strawberry/asgi/__init__.py +3 -3
- strawberry/asgi/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/asgi/handlers/graphql_ws_handler.py +3 -0
- strawberry/asgi/test/client.py +3 -0
- strawberry/chalice/views.py +12 -3
- strawberry/channels/handlers/__init__.py +0 -0
- strawberry/channels/handlers/base.py +5 -5
- strawberry/channels/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/channels/handlers/graphql_ws_handler.py +3 -0
- strawberry/channels/handlers/http_handler.py +5 -2
- strawberry/channels/handlers/ws_handler.py +4 -1
- strawberry/channels/router.py +9 -5
- strawberry/channels/testing.py +11 -4
- strawberry/cli/commands/upgrade/__init__.py +13 -5
- strawberry/cli/commands/upgrade/_fake_progress.py +2 -1
- strawberry/cli/commands/upgrade/_run_codemod.py +18 -1
- strawberry/codegen/exceptions.py +8 -0
- strawberry/codegen/query_codegen.py +16 -7
- strawberry/codegen/types.py +32 -1
- strawberry/codemods/update_imports.py +136 -0
- strawberry/dataloader.py +13 -0
- strawberry/directive.py +52 -4
- strawberry/django/context.py +4 -1
- strawberry/django/test/client.py +3 -0
- strawberry/django/views.py +3 -0
- strawberry/exceptions/__init__.py +5 -5
- strawberry/exceptions/duplicated_type_name.py +1 -1
- strawberry/exceptions/invalid_argument_type.py +3 -3
- strawberry/exceptions/invalid_union_type.py +5 -6
- strawberry/exceptions/missing_arguments_annotations.py +1 -1
- strawberry/exceptions/missing_dependencies.py +10 -2
- strawberry/exceptions/missing_return_annotation.py +1 -1
- strawberry/exceptions/permission_fail_silently_requires_optional.py +3 -3
- strawberry/exceptions/scalar_already_registered.py +1 -1
- strawberry/exceptions/unresolved_field_type.py +2 -2
- strawberry/exceptions/utils/source_finder.py +5 -2
- strawberry/experimental/pydantic/conversion.py +5 -5
- strawberry/experimental/pydantic/conversion_types.py +4 -2
- strawberry/experimental/pydantic/error_type.py +2 -2
- strawberry/experimental/pydantic/fields.py +2 -2
- strawberry/experimental/pydantic/object_type.py +11 -7
- strawberry/experimental/pydantic/utils.py +4 -5
- strawberry/ext/dataclasses/dataclasses.py +2 -1
- strawberry/ext/mypy_plugin.py +10 -8
- strawberry/extensions/add_validation_rules.py +27 -23
- strawberry/extensions/base_extension.py +6 -4
- strawberry/extensions/directives.py +4 -1
- strawberry/extensions/disable_validation.py +15 -12
- strawberry/extensions/field_extension.py +11 -5
- strawberry/extensions/mask_errors.py +3 -0
- strawberry/extensions/max_aliases.py +21 -19
- strawberry/extensions/max_tokens.py +14 -16
- strawberry/extensions/parser_cache.py +22 -19
- strawberry/extensions/pyinstrument.py +4 -8
- strawberry/extensions/query_depth_limiter.py +22 -23
- strawberry/extensions/runner.py +3 -0
- strawberry/extensions/tracing/apollo.py +3 -0
- strawberry/extensions/tracing/datadog.py +7 -2
- strawberry/extensions/tracing/opentelemetry.py +3 -0
- strawberry/extensions/tracing/sentry.py +3 -0
- strawberry/extensions/tracing/utils.py +3 -0
- strawberry/extensions/utils.py +3 -0
- strawberry/extensions/validation_cache.py +23 -20
- strawberry/fastapi/context.py +3 -0
- strawberry/fastapi/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/fastapi/handlers/graphql_ws_handler.py +3 -0
- strawberry/fastapi/router.py +3 -0
- strawberry/federation/argument.py +4 -1
- strawberry/federation/enum.py +5 -3
- strawberry/federation/field.py +6 -3
- strawberry/federation/mutation.py +2 -0
- strawberry/federation/object_type.py +7 -4
- strawberry/federation/scalar.py +43 -20
- strawberry/federation/schema.py +12 -9
- strawberry/federation/schema_directive.py +2 -2
- strawberry/federation/schema_directives.py +19 -1
- strawberry/federation/types.py +5 -2
- strawberry/federation/union.py +27 -8
- strawberry/field_extensions/input_mutation.py +5 -2
- strawberry/file_uploads/scalars.py +3 -1
- strawberry/file_uploads/utils.py +3 -0
- strawberry/flask/views.py +8 -2
- strawberry/http/__init__.py +9 -0
- strawberry/http/async_base_view.py +4 -3
- strawberry/http/base.py +5 -7
- strawberry/http/exceptions.py +3 -0
- strawberry/http/ides.py +3 -0
- strawberry/http/sync_base_view.py +4 -3
- strawberry/http/temporal_response.py +3 -0
- strawberry/http/types.py +5 -2
- strawberry/http/typevars.py +3 -0
- strawberry/litestar/controller.py +6 -0
- strawberry/litestar/handlers/__init__.py +0 -0
- strawberry/litestar/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/litestar/handlers/graphql_ws_handler.py +3 -0
- strawberry/parent.py +27 -21
- strawberry/permission.py +70 -27
- strawberry/printer/ast_from_value.py +4 -1
- strawberry/printer/printer.py +8 -5
- strawberry/quart/views.py +3 -0
- strawberry/relay/exceptions.py +7 -0
- strawberry/relay/fields.py +70 -45
- strawberry/relay/types.py +78 -78
- strawberry/relay/utils.py +10 -1
- strawberry/resolvers.py +3 -0
- strawberry/sanic/context.py +3 -0
- strawberry/sanic/utils.py +10 -8
- strawberry/sanic/views.py +5 -9
- strawberry/scalars.py +6 -2
- strawberry/schema/base.py +7 -4
- strawberry/schema/compat.py +12 -2
- strawberry/schema/config.py +3 -0
- strawberry/schema/exceptions.py +3 -0
- strawberry/schema/execute.py +3 -0
- strawberry/schema/name_converter.py +12 -9
- strawberry/schema/schema.py +46 -9
- strawberry/schema/schema_converter.py +16 -14
- strawberry/schema/types/base_scalars.py +3 -1
- strawberry/schema/types/concrete_type.py +4 -4
- strawberry/schema/types/scalar.py +8 -1
- strawberry/schema/validation_rules/one_of.py +3 -0
- strawberry/schema_codegen/__init__.py +3 -0
- strawberry/schema_directive.py +2 -2
- strawberry/starlite/controller.py +3 -0
- strawberry/starlite/handlers/__init__.py +0 -0
- strawberry/starlite/handlers/graphql_transport_ws_handler.py +3 -0
- strawberry/starlite/handlers/graphql_ws_handler.py +3 -0
- strawberry/subscriptions/__init__.py +6 -0
- strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +5 -0
- strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +12 -17
- strawberry/subscriptions/protocols/graphql_transport_ws/types.py +21 -25
- strawberry/subscriptions/protocols/graphql_ws/__init__.py +14 -0
- strawberry/subscriptions/protocols/graphql_ws/handlers.py +8 -5
- strawberry/subscriptions/protocols/graphql_ws/types.py +11 -0
- strawberry/test/client.py +44 -29
- strawberry/tools/create_type.py +27 -8
- strawberry/tools/merge_types.py +5 -3
- strawberry/types/__init__.py +8 -1
- strawberry/{arguments.py → types/arguments.py} +44 -13
- strawberry/{auto.py → types/auto.py} +21 -3
- strawberry/types/{types.py → base.py} +234 -10
- strawberry/{enum.py → types/enum.py} +69 -9
- strawberry/types/execution.py +3 -0
- strawberry/{field.py → types/field.py} +46 -23
- strawberry/types/fields/resolver.py +2 -2
- strawberry/types/graphql.py +3 -0
- strawberry/types/info.py +50 -7
- strawberry/{lazy_type.py → types/lazy_type.py} +50 -0
- strawberry/types/mutation.py +351 -0
- strawberry/types/nodes.py +4 -2
- strawberry/{object_type.py → types/object_type.py} +108 -29
- strawberry/{private.py → types/private.py} +13 -6
- strawberry/{custom_scalar.py → types/scalar.py} +39 -23
- strawberry/types/type_resolver.py +21 -16
- strawberry/{union.py → types/union.py} +24 -9
- strawberry/{unset.py → types/unset.py} +20 -0
- strawberry/utils/aio.py +8 -0
- strawberry/utils/await_maybe.py +3 -0
- strawberry/utils/dataclasses.py +3 -0
- strawberry/utils/debug.py +5 -2
- strawberry/utils/deprecations.py +3 -0
- strawberry/utils/graphql_lexer.py +3 -0
- strawberry/utils/importer.py +3 -0
- strawberry/utils/inspect.py +39 -30
- strawberry/utils/logging.py +3 -0
- strawberry/utils/operation.py +3 -0
- strawberry/utils/str_converters.py +3 -0
- strawberry/utils/typing.py +33 -16
- {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/METADATA +1 -1
- strawberry_graphql-0.236.0.dist-info/RECORD +255 -0
- strawberry/mutation.py +0 -8
- strawberry/type.py +0 -232
- strawberry_graphql-0.235.1.dev1719337273.dist-info/RECORD +0 -252
- {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/LICENSE +0 -0
- {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/WHEEL +0 -0
- {strawberry_graphql-0.235.1.dev1719337273.dist-info → strawberry_graphql-0.236.0.dist-info}/entry_points.txt +0 -0
strawberry/utils/typing.py
CHANGED
@@ -44,10 +44,13 @@ def get_generic_alias(type_: Type) -> Type:
|
|
44
44
|
Given a type, its generic alias from `typing` module will be returned
|
45
45
|
if it exists. For example:
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
```python
|
48
|
+
get_generic_alias(list)
|
49
|
+
# typing.List
|
50
|
+
|
51
|
+
get_generic_alias(dict)
|
52
|
+
# typing.Dict
|
53
|
+
```
|
51
54
|
|
52
55
|
This is mostly useful for python versions prior to 3.9, to get a version
|
53
56
|
of a concrete type which supports `__class_getitem__`. In 3.9+ types like
|
@@ -78,16 +81,14 @@ def is_generic_alias(type_: Any) -> TypeGuard[_GenericAlias]:
|
|
78
81
|
|
79
82
|
|
80
83
|
def is_list(annotation: object) -> bool:
|
81
|
-
"""Returns True if annotation is a List"""
|
82
|
-
|
84
|
+
"""Returns True if annotation is a List."""
|
83
85
|
annotation_origin = getattr(annotation, "__origin__", None)
|
84
86
|
|
85
87
|
return annotation_origin == list
|
86
88
|
|
87
89
|
|
88
90
|
def is_union(annotation: object) -> bool:
|
89
|
-
"""Returns True if annotation is a Union"""
|
90
|
-
|
91
|
+
"""Returns True if annotation is a Union."""
|
91
92
|
# this check is needed because unions declared with the new syntax `A | B`
|
92
93
|
# don't have a `__origin__` property on them, but they are instances of
|
93
94
|
# `UnionType`, which is only available in Python 3.10+
|
@@ -105,8 +106,7 @@ def is_union(annotation: object) -> bool:
|
|
105
106
|
|
106
107
|
|
107
108
|
def is_optional(annotation: Type) -> bool:
|
108
|
-
"""Returns True if the annotation is Optional[SomeType]"""
|
109
|
-
|
109
|
+
"""Returns True if the annotation is Optional[SomeType]."""
|
110
110
|
# Optionals are represented as unions
|
111
111
|
|
112
112
|
if not is_union(annotation):
|
@@ -153,7 +153,6 @@ def is_generic_subclass(annotation: type) -> bool:
|
|
153
153
|
|
154
154
|
def is_generic(annotation: type) -> bool:
|
155
155
|
"""Returns True if the annotation is or extends a generic."""
|
156
|
-
|
157
156
|
return (
|
158
157
|
# TODO: These two lines appear to have the same effect. When will an
|
159
158
|
# annotation have parameters but not satisfy the first condition?
|
@@ -164,7 +163,6 @@ def is_generic(annotation: type) -> bool:
|
|
164
163
|
|
165
164
|
def is_type_var(annotation: Type) -> bool:
|
166
165
|
"""Returns True if the annotation is a TypeVar."""
|
167
|
-
|
168
166
|
return isinstance(annotation, TypeVar)
|
169
167
|
|
170
168
|
|
@@ -259,7 +257,7 @@ def _get_namespace_from_ast(
|
|
259
257
|
globalns: Optional[Dict] = None,
|
260
258
|
localns: Optional[Dict] = None,
|
261
259
|
) -> Dict[str, Type]:
|
262
|
-
from strawberry.lazy_type import StrawberryLazyReference
|
260
|
+
from strawberry.types.lazy_type import StrawberryLazyReference
|
263
261
|
|
264
262
|
extra = {}
|
265
263
|
|
@@ -328,9 +326,9 @@ def eval_type(
|
|
328
326
|
localns: Optional[Dict] = None,
|
329
327
|
) -> Type:
|
330
328
|
"""Evaluates a type, resolving forward references."""
|
331
|
-
from strawberry.auto import StrawberryAuto
|
332
|
-
from strawberry.lazy_type import StrawberryLazyReference
|
333
|
-
from strawberry.private import StrawberryPrivate
|
329
|
+
from strawberry.types.auto import StrawberryAuto
|
330
|
+
from strawberry.types.lazy_type import StrawberryLazyReference
|
331
|
+
from strawberry.types.private import StrawberryPrivate
|
334
332
|
|
335
333
|
globalns = globalns or {}
|
336
334
|
# If this is not a string, maybe its args are (e.g. List["Foo"])
|
@@ -411,3 +409,22 @@ def eval_type(
|
|
411
409
|
)
|
412
410
|
|
413
411
|
return type_
|
412
|
+
|
413
|
+
|
414
|
+
__all__ = [
|
415
|
+
"get_generic_alias",
|
416
|
+
"is_generic_alias",
|
417
|
+
"is_list",
|
418
|
+
"is_union",
|
419
|
+
"is_optional",
|
420
|
+
"get_optional_annotation",
|
421
|
+
"get_list_annotation",
|
422
|
+
"is_concrete_generic",
|
423
|
+
"is_generic_subclass",
|
424
|
+
"is_generic",
|
425
|
+
"is_type_var",
|
426
|
+
"is_classvar",
|
427
|
+
"type_has_annotation",
|
428
|
+
"get_parameters",
|
429
|
+
"eval_type",
|
430
|
+
]
|
@@ -0,0 +1,255 @@
|
|
1
|
+
strawberry/__init__.py,sha256=tJOqxIEg3DYPe48P952sMjF3IxxZqZfIY-kNRlbwBNg,1374
|
2
|
+
strawberry/__main__.py,sha256=3U77Eu21mJ-LY27RG-JEnpbh6Z63wGOom4i-EoLtUcY,59
|
3
|
+
strawberry/aiohttp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
+
strawberry/aiohttp/handlers/__init__.py,sha256=7EeGIIwrgJYHAS9XJnZLfRGL_GHrligKm39rrVt7qDA,241
|
5
|
+
strawberry/aiohttp/handlers/graphql_transport_ws_handler.py,sha256=-dihpF3pueV6jcd0x4k0GF-3VtG_IvfyKQ1ZVgg1T4U,2092
|
6
|
+
strawberry/aiohttp/handlers/graphql_ws_handler.py,sha256=Ol8tBLIeal7bRiG_uxyJXnXo24xMDEh6M5XsuCyUpVQ,2275
|
7
|
+
strawberry/aiohttp/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
|
8
|
+
strawberry/aiohttp/test/client.py,sha256=4vjTDxtNVfpa74GfUUO7efPI6Ssh1vzfCYp3tPA-SLk,1357
|
9
|
+
strawberry/aiohttp/views.py,sha256=3Imc-kP01zhDYmWQRFcQyZsObqdELQ84d-3zFrpHNxA,6091
|
10
|
+
strawberry/annotation.py,sha256=ftSxGZQUk4C5_5YRM_wNJFVVnZi0XOp71kD7zv4oxbU,13077
|
11
|
+
strawberry/asgi/__init__.py,sha256=WEoF0LHx22ABKo0vmN6vQGRVEc0EDLzrqUH99trMqrg,7013
|
12
|
+
strawberry/asgi/handlers/__init__.py,sha256=rz5Gth2eJUn7tDq2--99KSNFeMdDPpLFCkfA7vge0cI,235
|
13
|
+
strawberry/asgi/handlers/graphql_transport_ws_handler.py,sha256=_5N58XdtCZndU81ky1f5cwG9E4NhysxP4uHlqqZNzn4,2147
|
14
|
+
strawberry/asgi/handlers/graphql_ws_handler.py,sha256=KQXmbk7uDwiG1yOadz65GsSzjAPUjKrpEQYAA94nGRM,2379
|
15
|
+
strawberry/asgi/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
|
16
|
+
strawberry/asgi/test/client.py,sha256=VolupxMna9ktF1lYgV_dUQAIN53DNzVyWTeWTbwsxqE,1448
|
17
|
+
strawberry/chalice/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
|
+
strawberry/chalice/views.py,sha256=VXXOfR3JIEf5CsPMZe0sXBnsH097uPyPe_CdqwESVv4,4770
|
19
|
+
strawberry/channels/__init__.py,sha256=9oRdAT7uIYETF-23gZ5NteOXSjwkUtwRmwu3YCFv1tw,671
|
20
|
+
strawberry/channels/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
+
strawberry/channels/handlers/base.py,sha256=DlMmzuZl-feceZZ7UHLW-zBSNVxHvaWTqwyWDP-e1Dg,7861
|
22
|
+
strawberry/channels/handlers/graphql_transport_ws_handler.py,sha256=jMWmZ4Haoo3bf_bcM4ZheAjkreuhZBhwMhEX6GZ0Ue4,1995
|
23
|
+
strawberry/channels/handlers/graphql_ws_handler.py,sha256=2W_KpXMmC-LbFLBMMFNarFIMyEBipmIOlQpfnfsyLbE,2538
|
24
|
+
strawberry/channels/handlers/http_handler.py,sha256=XhP2CUMCcrKjHzwts3FimumghEMVqNXNb9cddbUwC90,9647
|
25
|
+
strawberry/channels/handlers/ws_handler.py,sha256=rXWhLxDHSGJHYdCDMb-pckxka-rf4VZqaNSzkagTa6w,4693
|
26
|
+
strawberry/channels/router.py,sha256=DKIbl4zuRBhfvViUVpyu0Rf_WRT41E6uZC-Yic9Ltvo,2024
|
27
|
+
strawberry/channels/testing.py,sha256=f_PcBngLJXRmLftpr0IEoXiJzChsDPaB_ax7CK3oHmQ,6152
|
28
|
+
strawberry/cli/__init__.py,sha256=byS5VrEiTJatAH6YS4V1Kd4SOwMRAQO2M1oJdIddivg,585
|
29
|
+
strawberry/cli/app.py,sha256=tTMBV1pdWqMcwjWO2yn-8oLDhMhfJvUzyQtWs75LWJ0,54
|
30
|
+
strawberry/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
31
|
+
strawberry/cli/commands/codegen.py,sha256=f3TKQVeg0iMYV3qcSXlvTNgG73ZWC60zjbeuK_RkQ3M,3825
|
32
|
+
strawberry/cli/commands/export_schema.py,sha256=8XBqbejk0kT2fHky74DzW2TnE8APNMs0cKtatEjErUA,1024
|
33
|
+
strawberry/cli/commands/schema_codegen.py,sha256=G6eV08a51sjVxCm3jn75oPn9hC8YarKiAKOY5bpTuKU,749
|
34
|
+
strawberry/cli/commands/server.py,sha256=M175Etn4163oqP3egHBpZ8ga2Ilk8XgdDJtz6zfHPxM,2189
|
35
|
+
strawberry/cli/commands/upgrade/__init__.py,sha256=fnJBLNQulHThsTQqT7_ayc7IwGFmQVd4W2rUVKDK8b0,2505
|
36
|
+
strawberry/cli/commands/upgrade/_fake_progress.py,sha256=fefLgJwTXe4kG9RntdEJdzkPPRBK_pZqnmMH-pxD85Y,484
|
37
|
+
strawberry/cli/commands/upgrade/_run_codemod.py,sha256=JBEkwNBHWtBgzi_Q0e5HeDcZuHR_p-mSMQNnr1d0W2E,2494
|
38
|
+
strawberry/cli/constants.py,sha256=GhhDZOl9lN4glq50OI1oSbPSGqQXEarZ6r_Grq8pcpI,138
|
39
|
+
strawberry/cli/debug_server.py,sha256=mKxJZf_-SbWWusoFMzT8-E5qTshIx3IuciG6xlC21kI,999
|
40
|
+
strawberry/cli/utils/__init__.py,sha256=RhfKIsINPYzzCBTAyVh9_YOYUY8fgWMYl9b9lFHBOpw,678
|
41
|
+
strawberry/cli/utils/load_schema.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
42
|
+
strawberry/codegen/__init__.py,sha256=qVfUJXv_2HqZTzi02An2V9auAseT9efi1f5APDG5DjA,250
|
43
|
+
strawberry/codegen/exceptions.py,sha256=qD6uFEpfJaP8ntesWlOwXxoGKCqR1s734_y9qOv-FMc,365
|
44
|
+
strawberry/codegen/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
45
|
+
strawberry/codegen/plugins/print_operation.py,sha256=aw2o-41nZSZ2eOHPyp58-45QsAgUs1MmnHDIQzQRg9M,6805
|
46
|
+
strawberry/codegen/plugins/python.py,sha256=aellTnJAZOfTZqFXH4fEGYFjnnCucyroeOXo9D0QkrA,6924
|
47
|
+
strawberry/codegen/plugins/typescript.py,sha256=f3JJ0FGuhycu-bxOkW7KxAyYdfmcbej-lueOJZx3V7Y,3783
|
48
|
+
strawberry/codegen/query_codegen.py,sha256=Fc9oDprjXPV1OlIPmHUgI7iW6R_dhUj7QBTFM0cTsqc,30363
|
49
|
+
strawberry/codegen/types.py,sha256=TBVjaKHBvr9QwELRdZUVlWS01wIEVXXTWs5etjqHVhk,4162
|
50
|
+
strawberry/codemods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
51
|
+
strawberry/codemods/annotated_unions.py,sha256=TStU8ye5J1---P5mNWXBGeQa8m_J7FyPU_MYjzDZ-RU,5910
|
52
|
+
strawberry/codemods/update_imports.py,sha256=YOuL9ABs_acVqhhgg-9HSA3sI0hjjWv5F2iTtmOec1w,4645
|
53
|
+
strawberry/dataloader.py,sha256=QQ88GFdOMQbFyASksCS_I3Fiwd7U5c08zMUts7EO9rI,7881
|
54
|
+
strawberry/directive.py,sha256=55qdcVZoVBmr20WHZi59f-Ece-Sm4pLErOcKAPmGHwQ,3586
|
55
|
+
strawberry/django/__init__.py,sha256=07cxG0P0UzHQZPPzG1RNw3YaGSICjPbJrJdPFelxJVI,799
|
56
|
+
strawberry/django/apps.py,sha256=ZWw3Mzv1Cgy0T9xT8Jr2_dkCTZjT5WQABb34iqnu5pc,135
|
57
|
+
strawberry/django/context.py,sha256=XL85jDGAVnb2pwgm5uRUvIXwlGia3i-8ZVfKihf0T24,655
|
58
|
+
strawberry/django/test/__init__.py,sha256=4xxdUZtIISSOwjrcnmox7AvT4WWjowCm5bUuPdQneMg,71
|
59
|
+
strawberry/django/test/client.py,sha256=6dorWECd0wdn8fu3dabE-dfGK3uza58mGrdJ-xPct-w,626
|
60
|
+
strawberry/django/views.py,sha256=QIrAZr-XkY-hILokHPPTQkazzh11LXqAzm9d1jSCJKo,9235
|
61
|
+
strawberry/exceptions/__init__.py,sha256=DgdOJUs2xXHWcakr4tN6iIogltPi0MNnpu6MM6K0p5k,6347
|
62
|
+
strawberry/exceptions/conflicting_arguments.py,sha256=68f6kMSXdjuEjZkoe8o2I9PSIjwTS1kXsSGaQBPk_hI,1587
|
63
|
+
strawberry/exceptions/duplicated_type_name.py,sha256=-FG5qG_Mvkd7ROdOxCB9bijf8QR6Olryf07mbAFC0-U,2210
|
64
|
+
strawberry/exceptions/exception.py,sha256=1NrsTAzko1fUrSpXjYpNoCk2XuYJerEKj_CDeqGe_eA,3447
|
65
|
+
strawberry/exceptions/exception_source.py,sha256=Krr9KprJLMuiDBYRzRYULvLIuSjd8gIaiXmPoPCHEDo,404
|
66
|
+
strawberry/exceptions/handler.py,sha256=Ka-uFyyNtduNVnz_SXZrthSNLN6HCzHtMXV4_fAbaA8,2696
|
67
|
+
strawberry/exceptions/invalid_argument_type.py,sha256=xu239AOYV0zKt4B6y3f4yZfcIJfB5qCcORWJBM9XPQw,2213
|
68
|
+
strawberry/exceptions/invalid_union_type.py,sha256=LvBcf2foTfc-Hu-ZAKRV7R53JrhVF0VbDrD3vwS_Bdo,3616
|
69
|
+
strawberry/exceptions/missing_arguments_annotations.py,sha256=1P34Iemkisvgkr-3yEGLWszMo3DFie4v9YQf7DP0olM,2013
|
70
|
+
strawberry/exceptions/missing_dependencies.py,sha256=YqMdmXJ_9FnEMFYG6hXyb-1km7N7wsldbat__OigdUQ,832
|
71
|
+
strawberry/exceptions/missing_field_annotation.py,sha256=sZ94_b7GlFZ-KR2S1VyXFx8MV2E7uFITg9wcvWhv1Mk,1338
|
72
|
+
strawberry/exceptions/missing_return_annotation.py,sha256=w7uHlEdSl86nZkLva12ErXV8rnNv6NcXn_dDBtag6fs,1405
|
73
|
+
strawberry/exceptions/not_a_strawberry_enum.py,sha256=MC7zbNvINTluywuVGX4oBFJzPw9Uy2M0a4A3VkQqDYI,1105
|
74
|
+
strawberry/exceptions/object_is_not_a_class.py,sha256=pfPdVNbcdkqQanJf9G-NAHy0QR3Bx1hCUg_Kn_25g-0,2008
|
75
|
+
strawberry/exceptions/object_is_not_an_enum.py,sha256=cJnqE23zXMYLd_NfN9UYkHU270EJjEGL6oNC-cCNx_Y,1269
|
76
|
+
strawberry/exceptions/permission_fail_silently_requires_optional.py,sha256=iQPxvVmRxaZQ__TO6Pv_Bwzs-9wDX5woPBtK9XK42i0,1735
|
77
|
+
strawberry/exceptions/private_strawberry_field.py,sha256=-ae1e07P_N0UJMHQvk4rvo8NhABorwNyyKRTzh7UQ9M,1334
|
78
|
+
strawberry/exceptions/scalar_already_registered.py,sha256=fkShJdwfawbs39Hje1VOTKNQdAIju-_N14P9CVtrbBI,1848
|
79
|
+
strawberry/exceptions/syntax.py,sha256=OCz2Ai1Yn0jonRZXCDI2h30tPNsa8L5wMU8vcqIO4cg,1758
|
80
|
+
strawberry/exceptions/unresolved_field_type.py,sha256=WcZHAJJCwco1eb_oSrJWyXpxU1fNTUUvcAAhC88tHII,1877
|
81
|
+
strawberry/exceptions/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
82
|
+
strawberry/exceptions/utils/source_finder.py,sha256=0IBbOOsdrNAYVZ1eg5WMR01js-5w6uDAN82P8fTVjaw,20078
|
83
|
+
strawberry/experimental/__init__.py,sha256=2HP5XtxL8ZKsPp4EDRAbMCqiP7p2V4Cca278JUGxnt0,102
|
84
|
+
strawberry/experimental/pydantic/__init__.py,sha256=jlsYH1j_9W4ieRpUKgt5zQPERDL7nc1ZBNQ3dAhJs8w,241
|
85
|
+
strawberry/experimental/pydantic/_compat.py,sha256=-qJvpNzsDuY5E2NF87FL7QiakrhJXWqiCjCoS0tr1_g,8371
|
86
|
+
strawberry/experimental/pydantic/conversion.py,sha256=n2wLlzMgFooTHe7GeVsIihM-9SVY1Sp2V8yfqwpLDBY,4250
|
87
|
+
strawberry/experimental/pydantic/conversion_types.py,sha256=LdLFp0e7_YPntmHDwZDpPbozfANp3TWgBrHGRFBWPf8,937
|
88
|
+
strawberry/experimental/pydantic/error_type.py,sha256=kHqACk3F8kKT3V8PZr2h7-KI9M4UNpMjtq_TiOwYI38,4382
|
89
|
+
strawberry/experimental/pydantic/exceptions.py,sha256=Q8Deq3bNkMgc8fwvIYdcfxHSONXVMu-ZB6jcsh1NQYo,1498
|
90
|
+
strawberry/experimental/pydantic/fields.py,sha256=pmBqlq1DUtNkmDlXdA0Hmp3Xy252P6v5uyDF4WGcnl0,2588
|
91
|
+
strawberry/experimental/pydantic/object_type.py,sha256=REYenW0Av-AilnfNwynxp3Mt9FQLm96Uoknxu8LdUNM,12419
|
92
|
+
strawberry/experimental/pydantic/utils.py,sha256=ViR7HGtnlYmyjUwIqGaEoBPo6dcibckwTFgp0GgwO6A,4073
|
93
|
+
strawberry/ext/LICENSE,sha256=_oY0TZg0b_sW0--0T44aMTpy2e2zF1Kiyn8E1qDiivo,1249
|
94
|
+
strawberry/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
95
|
+
strawberry/ext/dataclasses/LICENSE,sha256=WZgm35K_3NJwLqxpEHJJi7CWxVrwTumEz5D3Dtd7WnA,13925
|
96
|
+
strawberry/ext/dataclasses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
97
|
+
strawberry/ext/dataclasses/dataclasses.py,sha256=fshCPQm1o4q1AwzmQzdlBIQ_JUNnwSlvBfsLZ0zIHuk,2299
|
98
|
+
strawberry/ext/mypy_plugin.py,sha256=cbIwfDVZl-Nhj_X0ybJnnHIyUt5dBZSDY49Gs3Px-EE,19740
|
99
|
+
strawberry/extensions/__init__.py,sha256=SZ-YEMnxAzoDZFo-uHXMHOaY_PPkYm1muPpK4ccJ3Xk,1248
|
100
|
+
strawberry/extensions/add_validation_rules.py,sha256=abkOaXG-unAZj2xL2sspeUXpZKBCpj5Kr5h7TreN4gM,1338
|
101
|
+
strawberry/extensions/base_extension.py,sha256=pQdN06K14dtWl_nxCIE4DBbGaB6mzxvidRdwNcDwZj8,2068
|
102
|
+
strawberry/extensions/context.py,sha256=j2pxKnZ8HOgugm_P_YJV6Fbp_SXkS-U5OLQvn-ofjRM,7210
|
103
|
+
strawberry/extensions/directives.py,sha256=UNTdzYf60kUtN8BHRwLZ7dKogixywoK9i6gkXkyYlJg,3037
|
104
|
+
strawberry/extensions/disable_validation.py,sha256=wupc5zATOLyZmay14WI-FKaPZo0jj23hv8_4H3jvbMQ,741
|
105
|
+
strawberry/extensions/field_extension.py,sha256=PHsb1ctvyrjOmgWVQdABFDAlnPYsalExYM7jYu5VPVg,5740
|
106
|
+
strawberry/extensions/mask_errors.py,sha256=Khfun5JtrU57rhnP2Sxsl8Q6Eo70GYoQcn9sPDLg4nY,1460
|
107
|
+
strawberry/extensions/max_aliases.py,sha256=gBaqnjPh1L5xlwx_w-nISmTJ6WdbWoVFD52pFwxALfI,2553
|
108
|
+
strawberry/extensions/max_tokens.py,sha256=36WZehpieeYs4qQg2G2D3aRXFcw--rR37utsGx3fnOg,1036
|
109
|
+
strawberry/extensions/parser_cache.py,sha256=IvDbkVpKC_2lDXLZyrvj0VleZghbtkD6l2Sf1mBOT-A,1283
|
110
|
+
strawberry/extensions/pyinstrument.py,sha256=dy2NPagLDW4mU2jTfaHek3H1SBVZCjwYKf0zPMxTYp8,712
|
111
|
+
strawberry/extensions/query_depth_limiter.py,sha256=Jtg-HSmEux97Z09Y5G5nhTbJu56rBiGmMG6lB1_ejz8,9882
|
112
|
+
strawberry/extensions/runner.py,sha256=tgr1-oc553HvJmEB1OSolkV4ixWqusJ-iqoguzAUFe4,2735
|
113
|
+
strawberry/extensions/tracing/__init__.py,sha256=wx8_EAroGhNrP4HiGYMgKo8jnCsfde5ib6lO4OvcLV0,1400
|
114
|
+
strawberry/extensions/tracing/apollo.py,sha256=XlI88NzSZBSmBHEJ9iitDU9br2-9CdjdtHE_eiTJCIw,5880
|
115
|
+
strawberry/extensions/tracing/datadog.py,sha256=khxvY4_WTjYaeJUb_dn6mLvmk9TCS4tIodnC3G-9pTo,5541
|
116
|
+
strawberry/extensions/tracing/opentelemetry.py,sha256=MH2j71denfLmzInl6zcTzxzckqjcwOzm_F305z8-vYw,7281
|
117
|
+
strawberry/extensions/tracing/sentry.py,sha256=y4km7GypJelFnlZbJ4L8aUR665T3sTIp4oauczA-uvE,5023
|
118
|
+
strawberry/extensions/tracing/utils.py,sha256=tXZNyqfct6YNSWi3GRj4GU1fKQGvSce8ZESfoVeys7U,654
|
119
|
+
strawberry/extensions/utils.py,sha256=YPiacKNLQXvpYj-HI6fR5ORFdM9RrcdabGeM7F8vBGg,1001
|
120
|
+
strawberry/extensions/validation_cache.py,sha256=CZ-brPYA1grL_lW38Rq4TxEVKlHM2n1DC6q9BHlSF4g,1398
|
121
|
+
strawberry/fastapi/__init__.py,sha256=p5qg9AlkYjNOWKcT4uRiebIpR6pIb1HqDMiDfF5O3tg,147
|
122
|
+
strawberry/fastapi/context.py,sha256=07991DShQoYMBVyQl9Mh5xvXQSNQI2RXT2ZQ5fWiga4,690
|
123
|
+
strawberry/fastapi/handlers/__init__.py,sha256=TziBHyibYBOGiidjpCkjNThYbVY7K_nt0hnRLVHVh3I,241
|
124
|
+
strawberry/fastapi/handlers/graphql_transport_ws_handler.py,sha256=5ivH7DJup0ZyGawAcj-n9VE_exBTje9Hou0_GIZCyD4,591
|
125
|
+
strawberry/fastapi/handlers/graphql_ws_handler.py,sha256=OTloVUvEgXDpqjOlBAT1FnaNWRAglQgAt613YH06roc,537
|
126
|
+
strawberry/fastapi/router.py,sha256=QJAhpTHU6vuYdDzIcTdjjTnzRVID5G_KXMxiX9DBxfQ,13341
|
127
|
+
strawberry/federation/__init__.py,sha256=FeUxLiBVuk9TKBmJJi51SeUaI8c80rS8hbl9No-hjII,535
|
128
|
+
strawberry/federation/argument.py,sha256=2m_wgp7uFQDimTDDCBBqSoWeTop4MD1-KjjYrumEJIw,833
|
129
|
+
strawberry/federation/enum.py,sha256=1rx50FiSMS-NjEFErhRSYB5no8TPsGMA_cH7hVbxAFI,3015
|
130
|
+
strawberry/federation/field.py,sha256=u7J2f2QAwzkgYx9S3oxCy9b2LduC6pglyUUHbVkk-XA,6212
|
131
|
+
strawberry/federation/mutation.py,sha256=5t2E419m4K2W6LoWEOzWgMdL2J0PwHnsffYkpChqqDQ,67
|
132
|
+
strawberry/federation/object_type.py,sha256=vrf7KC9p_UNV4hXIVDjZeUjx9xzfH3BF6ZYdlUEQW50,9357
|
133
|
+
strawberry/federation/scalar.py,sha256=c1FI3uPxbSM4wj88TaXsBK5t2w6S-rypzojcSNC-pnQ,4636
|
134
|
+
strawberry/federation/schema.py,sha256=7b29dUGZU1HEdbhxV26I7xhtXSC-xZ6D8XFpMWlxPzk,13325
|
135
|
+
strawberry/federation/schema_directive.py,sha256=GxmwapBQq80ZOjA4v_xhogHU3eV3N-ZiTRJOXffltbg,1751
|
136
|
+
strawberry/federation/schema_directives.py,sha256=aIJ1zpASClF6ujLCUWmNuSR1ccX3pyvBTK501DUh-5Q,6400
|
137
|
+
strawberry/federation/types.py,sha256=cqyx_-GJ5d__hac7bip_dQKm9NGR88D0N1JVnde0Ji8,360
|
138
|
+
strawberry/federation/union.py,sha256=pKovq7UJls9r9PLRRtrzvx8vyoB09fhOT0ugWcz3ZZY,1659
|
139
|
+
strawberry/field_extensions/__init__.py,sha256=0z6RG9jEO7jpAuyEaQhRI5A_30rdcvsBM0qMhLs8y2s,96
|
140
|
+
strawberry/field_extensions/input_mutation.py,sha256=2VF-JuiHzo9o6ZH3mLpaB1T2jes2EOpqnKZyak7Ddi4,2701
|
141
|
+
strawberry/file_uploads/__init__.py,sha256=v2-6FGBqnTnMPSUTFOiXpIutDMl-ga0PFtw5tKlcagk,50
|
142
|
+
strawberry/file_uploads/scalars.py,sha256=NRDeB7j8aotqIkz9r62ISTf4DrxQxEZYUuHsX5K16aU,161
|
143
|
+
strawberry/file_uploads/utils.py,sha256=2zsXg3QsKgGLD7of2dW-vgQn_Naf7I3Men9PhEAFYwM,1160
|
144
|
+
strawberry/flask/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
|
+
strawberry/flask/views.py,sha256=g1UxQUCmDRozzyDWmB3Hb8HbgpB2ZfAcAk2xmlEaGVI,5627
|
146
|
+
strawberry/http/__init__.py,sha256=lRHuYeDUvz7bpLsvBvTYPOXwD_uMz2LO78QaqGVSvEQ,1546
|
147
|
+
strawberry/http/async_base_view.py,sha256=yjD9PVgFBn4ccpy396Kuty7GjfRCeBaMnv-Ls42aQF8,7154
|
148
|
+
strawberry/http/base.py,sha256=Hnut_jIBmVy5jTDltFL7a-3J2RlOKdMNY5r7c_R962w,2246
|
149
|
+
strawberry/http/exceptions.py,sha256=WdWO3RvZDax_yAdD0zlVex9tQgwNx7tjz8_A8kP4YHo,193
|
150
|
+
strawberry/http/ides.py,sha256=3dqFRY8_9ZqyIYR_EyRdPZ1zhL3lxRYT2MPk84O_Tk8,874
|
151
|
+
strawberry/http/sync_base_view.py,sha256=hZKgQYMeYiPUMmocJKXV0j1tPAEtvTmUJniD9lbf0NA,6849
|
152
|
+
strawberry/http/temporal_response.py,sha256=QrGYSg7Apu7Mh-X_uPKDZby-UicXw2J_ywxaqhS8a_4,220
|
153
|
+
strawberry/http/types.py,sha256=cAuaiUuvaMI_XhZ2Ey6Ej23WyQKqMGFxzzpVHDjVazY,371
|
154
|
+
strawberry/http/typevars.py,sha256=flx5KPWnTwYju7VwRSVhMmx15Rl1pQT1K57_GnK72Hg,282
|
155
|
+
strawberry/litestar/__init__.py,sha256=zsXzg-mglCGUVO9iNXLm-yadoDSCK7k-zuyRqyvAh1w,237
|
156
|
+
strawberry/litestar/controller.py,sha256=c3Z-XS_eNkTFNvvitsNaJRV0fswkCJju5ACY7ymwLRs,13369
|
157
|
+
strawberry/litestar/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
158
|
+
strawberry/litestar/handlers/graphql_transport_ws_handler.py,sha256=rDE-I02_fCov4FfpdBJBE2Xt-4FSNU8xJuQ6xedMF6E,2050
|
159
|
+
strawberry/litestar/handlers/graphql_ws_handler.py,sha256=iCi2htoSgfk5H59gnw0tMwe9NxodqcaaxSsZ6TkQWYU,2283
|
160
|
+
strawberry/parent.py,sha256=sXURm0lauSpjUADsmfNGY-Zl7kHs0A67BFcWuWKzRxw,771
|
161
|
+
strawberry/permission.py,sha256=NsYq-c4AgDCDBsYXsJN94yWJjuwYkvytpqXE4BIf_vc,7226
|
162
|
+
strawberry/printer/__init__.py,sha256=DmepjmgtkdF5RxK_7yC6qUyRWn56U-9qeZMbkztYB9w,62
|
163
|
+
strawberry/printer/ast_from_value.py,sha256=LgM5g2qvBOnAIf9znbiMEcRX0PGSQohR3Vr3QYfU604,4983
|
164
|
+
strawberry/printer/printer.py,sha256=5reR7kVGVQn7iGSeRYjLNOVgdnd5K8fKH_otWStCmHA,17508
|
165
|
+
strawberry/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
|
+
strawberry/quart/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
|
+
strawberry/quart/views.py,sha256=5Y7JNv3oi9u__iQx2l2fQvz-Ha1H-ZhhYslaFsNUIs0,3432
|
168
|
+
strawberry/relay/__init__.py,sha256=Vi4btvA_g6Cj9Tk_F9GCSegapIf2WqkOWV8y3P0cTCs,553
|
169
|
+
strawberry/relay/exceptions.py,sha256=KZSRJYlfutrAQALtBPnzJHRIMK6GZSnKAT_H4wIzGcI,4035
|
170
|
+
strawberry/relay/fields.py,sha256=5Goe-eh2wi_sIeHy6RpuQlJmgYBxhzAA77lUehSu70c,16911
|
171
|
+
strawberry/relay/types.py,sha256=YCBU2AxYnipwxjgOHRRMbqGr34HNVJGwkT65EzJ5-VM,29752
|
172
|
+
strawberry/relay/utils.py,sha256=Vqi4raWdzRkqt7jU_RBMCwXp4h6H-16WJ7la0lugZi0,5692
|
173
|
+
strawberry/resolvers.py,sha256=Vdidc3YFc4-olSQZD_xQ1icyAFbyzqs_8I3eSpMFlA4,260
|
174
|
+
strawberry/sanic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
175
|
+
strawberry/sanic/context.py,sha256=qN7I9K_qIqgdbG_FbDl8XMb9aM1PyjIxSo8IAg2Uq8o,844
|
176
|
+
strawberry/sanic/utils.py,sha256=r-tCX0JzELAdupF7fFy65JWAxj6pABSntNbGNaGZT8o,1080
|
177
|
+
strawberry/sanic/views.py,sha256=Jxgqi9hz_26GFGaPaAB0lmVlYJZMNYNyqE7vIfhKtVk,5523
|
178
|
+
strawberry/scalars.py,sha256=c3y8EOmX-KUxSgRqk1TNercMA6_rgBHhQPp0z3C2zBU,2240
|
179
|
+
strawberry/schema/__init__.py,sha256=u1QCyDVQExUVDA20kyosKPz3TS5HMCN2NrXclhiFAL4,92
|
180
|
+
strawberry/schema/base.py,sha256=eH0nyrCKwdtvgzLS810LMTffpY5CsRd9qY-uZs9pZ3U,3644
|
181
|
+
strawberry/schema/compat.py,sha256=rRqUm5-XgPXC018_u0Mrd4iad7tTRCNA45Ko4NaT6gk,1836
|
182
|
+
strawberry/schema/config.py,sha256=Aa01oqnHb0ZPlw8Ti_O840LxlT827LNio15BQrc37A0,717
|
183
|
+
strawberry/schema/exceptions.py,sha256=rqVNb_oYrKM0dHPgvAemqCG6Um282LPPu4zwQ5cZqs4,584
|
184
|
+
strawberry/schema/execute.py,sha256=4wqdNOIDhOfx6bwZrqhACKwpiG_D2Eexf70S-VFpnIY,11193
|
185
|
+
strawberry/schema/name_converter.py,sha256=tpqw2XCSFvJI-H844iWhE2Z1sKic7DrjIZxt11eJN5Y,6574
|
186
|
+
strawberry/schema/schema.py,sha256=0zZirswxx5_lryhDTzXpjyDOnjfWuOvWHxkM9ZTyYF4,15789
|
187
|
+
strawberry/schema/schema_converter.py,sha256=lckL2LoxAb6mNfJIVcerht2buzBG573ly3BHyl7wra4,36859
|
188
|
+
strawberry/schema/types/__init__.py,sha256=oHO3COWhL3L1KLYCJNY1XFf5xt2GGtHiMC-UaYbFfnA,68
|
189
|
+
strawberry/schema/types/base_scalars.py,sha256=NTj_tYqWLQLEOPDhBhSE1My4JXoieyg0jO8B6RNK-xA,1913
|
190
|
+
strawberry/schema/types/concrete_type.py,sha256=o6hKYLJO2QUXmV654KMbwnGHapBVMO_QNhUaDlKGCAw,756
|
191
|
+
strawberry/schema/types/scalar.py,sha256=yUFI5-qG_duavsDU8GAYdlZa0tqi8z5B7DTBIgNX82s,2933
|
192
|
+
strawberry/schema/validation_rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
193
|
+
strawberry/schema/validation_rules/one_of.py,sha256=fPuYzCyLT7p9y7dHF_sWTImArTQaEhyF664lZijB1Gw,2629
|
194
|
+
strawberry/schema_codegen/__init__.py,sha256=mhOfvC-h6ksmckXE2TC8WWlMgayNa2xwlbNelqFpeVY,24399
|
195
|
+
strawberry/schema_directive.py,sha256=xFHoKOAWgVzDWt_N0ZdON3DBRByJkvMHt5TIvFLjUUU,2005
|
196
|
+
strawberry/schema_directives.py,sha256=KGKFWCODjm1Ah9qNV_bBwbic7Mld4qLWnWQkev-PG8A,175
|
197
|
+
strawberry/starlite/__init__.py,sha256=v209swT8H9MljVL-npvANhEO1zz3__PSfxb_Ix-NoeE,134
|
198
|
+
strawberry/starlite/controller.py,sha256=ckZGcttZ-Ok30MSxtIiZO3wigJTw-it58s3kfHqua-s,12231
|
199
|
+
strawberry/starlite/handlers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
200
|
+
strawberry/starlite/handlers/graphql_transport_ws_handler.py,sha256=k6kr8oTX5DGVpDHZkSotvYIcqKpyXO2qDr1RbKyiwXM,2023
|
201
|
+
strawberry/starlite/handlers/graphql_ws_handler.py,sha256=BJtwhuIwaKfp8rGbvCBPKaDn_d2VY7Qd1iWdJhxHNK4,2256
|
202
|
+
strawberry/static/apollo-sandbox.html,sha256=2XzkbE0dqsFHqehE-jul9_J9TFOpwA6Ylrlo0Kdx_9w,973
|
203
|
+
strawberry/static/graphiql.html,sha256=r1JCF4vpptjISOAHaCrgck2b3qf0oaCEzljECWQ7aCE,4380
|
204
|
+
strawberry/static/pathfinder.html,sha256=0DPx9AmJ2C_sJstFXnWOz9k5tVQHeHaK7qdVY4lAlmk,1547
|
205
|
+
strawberry/subscriptions/__init__.py,sha256=1VGmiCzFepqRFyCikagkUoHHdoTG3XYlFu9GafoQMws,170
|
206
|
+
strawberry/subscriptions/protocols/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
207
|
+
strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py,sha256=wN6dkMu6WiaIZTE19PGoN9xXpIN_RdDE_q7F7ZgjCxk,138
|
208
|
+
strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py,sha256=P56QgUkiDuwoRHl8WKbtssDShQbgKuMY0FXYAPY6VgE,15133
|
209
|
+
strawberry/subscriptions/protocols/graphql_transport_ws/types.py,sha256=rJQWeNcsHevAuxYYocz4F6DO3PR-IgWF_KYsx5VWN4s,2420
|
210
|
+
strawberry/subscriptions/protocols/graphql_ws/__init__.py,sha256=ijn1A1O0Fzv5p9n-jw3T5H7M3oxbN4gbxRaepN7HyJk,553
|
211
|
+
strawberry/subscriptions/protocols/graphql_ws/handlers.py,sha256=QeZ0h95T4_SdljE6565qEu9zxh4N6yP-nCtB_QWG55I,7582
|
212
|
+
strawberry/subscriptions/protocols/graphql_ws/types.py,sha256=gYFCHMoRr7ko5lrE7dRITwoRvDmF6w8fFnw04sh-XEI,1009
|
213
|
+
strawberry/test/__init__.py,sha256=U3B5Ng7C_H8GpCpfvgZZcfADMw6cor5hm78gS3nDdMI,115
|
214
|
+
strawberry/test/client.py,sha256=-V_5DakR0NJ_Kd5ww4leIhMnIJ-Pf274HkNqYtGVfl8,6044
|
215
|
+
strawberry/tools/__init__.py,sha256=pdGpZx8wpq03VfUZJyF9JtYxZhGqzzxCiipsalWxJX4,127
|
216
|
+
strawberry/tools/create_type.py,sha256=jY-6J4VTSrzqc-NbDZpNv7U9L1j1aun5KNGTaGgNcls,2041
|
217
|
+
strawberry/tools/merge_types.py,sha256=noMPqGfbqUaMYMwT_db1rUMaPmmR_uHeFwx7Zd0rivE,1048
|
218
|
+
strawberry/types/__init__.py,sha256=RRsWKBzsY2x1y1MKAYW0eMQRhE0AycomSoW-dpPPZXo,275
|
219
|
+
strawberry/types/arguments.py,sha256=vGWwKL_294rrZtg-GquW6h5t0FBAEm8Y14bD5_08FeI,9439
|
220
|
+
strawberry/types/auto.py,sha256=c7XcB7seXd-cWAn5Ut3O0SUPOOCPG-Z2qcUAI9dRQIE,3008
|
221
|
+
strawberry/types/base.py,sha256=W5OvqH0gnhkFaCcthTAOciUGTQhkWTnPdz4DzMfql5Y,15022
|
222
|
+
strawberry/types/enum.py,sha256=E_ck94hgZP6YszWAso9UvCLUKRhd5KclwnIvo5PibZg,5965
|
223
|
+
strawberry/types/execution.py,sha256=SoU_imuH9bu1onB9btkYfpB-zUgHES_E_M_WniraEXk,2851
|
224
|
+
strawberry/types/field.py,sha256=jgliRsA4BLNKXXaj5fC7pBI8_USnTVjOF9OEVMV-hYk,21598
|
225
|
+
strawberry/types/fields/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
226
|
+
strawberry/types/fields/resolver.py,sha256=EoNFUbz_cV6QH_jHi5uMtgd5EnE_fnvbJPTWeNpYL6M,13992
|
227
|
+
strawberry/types/graphql.py,sha256=Hnt7RplzBdcthNYxYB4PA3LqffG99ICQSgSrDa28bJQ,717
|
228
|
+
strawberry/types/info.py,sha256=Y5nVRPJBwKaqT8CtSrMGpWdsgT_eW88dJXNwMAKNG0k,4750
|
229
|
+
strawberry/types/lazy_type.py,sha256=_-jOGFZ8aoJDiWc_IdV2P12Bzpmj_1lQE0Ik3fAB7Eo,5023
|
230
|
+
strawberry/types/mutation.py,sha256=bS2WotWenRP-lKJazPIvuzpD4sfS3Rp5leq7-DPNS_I,11975
|
231
|
+
strawberry/types/nodes.py,sha256=TVQ4TWeJEK2vdtlQMXMjD8tb57PkuONhne4Orgzaf90,5114
|
232
|
+
strawberry/types/object_type.py,sha256=-LvRnigI5iK9SgfH82b7eLzXw6DswM2ad6ZVOBUU_sE,14952
|
233
|
+
strawberry/types/private.py,sha256=jFQ0PwAvb0nUTyOs2gLdb3_uGBrsomENkikaW9v-gbI,547
|
234
|
+
strawberry/types/scalar.py,sha256=PYp2zACJL-7aGuej7Pq_FOTg9lo4yezIC0x-Fn5ZPj0,6260
|
235
|
+
strawberry/types/type_resolver.py,sha256=vnMoeQR3o-lIoJSU0Iw858UzWVyXe9hyQ9-Ioo567g4,6563
|
236
|
+
strawberry/types/union.py,sha256=sMCatme1HM1VJRc3i2y0sQqtqxvpLotL-669hu06EMc,10015
|
237
|
+
strawberry/types/unset.py,sha256=s2l9DCWesItiC-NtT3InLFrD1XeIOBxXZKahigQ11wQ,1712
|
238
|
+
strawberry/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
239
|
+
strawberry/utils/aio.py,sha256=8n4mrAHjx12zp1phqNv1mXx2-1mQRXLNRbpNMS2MDoM,1706
|
240
|
+
strawberry/utils/await_maybe.py,sha256=LO29eZZU-yqkMO_srrEsyCwMossHuz1tsyIawVGvz8I,437
|
241
|
+
strawberry/utils/dataclasses.py,sha256=1wvVq0vgvjrRSamJ3CBJpkLu1KVweTmw5JLXmagdGes,856
|
242
|
+
strawberry/utils/debug.py,sha256=U4oxSO_gUV8IiH2RG8u3SeHJXGF6ztvXdMa_yZkly1c,1430
|
243
|
+
strawberry/utils/deprecations.py,sha256=_1sxRhFYlaHeEEqK4dy0k1IaYXA3_e1GRsO_LqQLtig,774
|
244
|
+
strawberry/utils/graphql_lexer.py,sha256=qjC1uJrtlIrxzha_fDUget_jfQ2Qs54Ah08Np4Excaw,1114
|
245
|
+
strawberry/utils/importer.py,sha256=NtTgNaNSW4TnlLo_S34nxXq14RxUAec-QlEZ0LON28M,629
|
246
|
+
strawberry/utils/inspect.py,sha256=2WOeK3o8pjVkIH-rP_TaaLDa_AvroKC1WXc0gSE0Suc,3030
|
247
|
+
strawberry/utils/logging.py,sha256=U1cseHGquN09YFhFmRkiphfASKCyK0HUZREImPgVb0c,746
|
248
|
+
strawberry/utils/operation.py,sha256=SSXxN-vMqdHO6W2OZtip-1z7y4_A-eTVFdhDvhKeLCk,1193
|
249
|
+
strawberry/utils/str_converters.py,sha256=KGd7QH90RevaJjH6SQEkiVVsb8KuhJr_wv5AsI7UzQk,897
|
250
|
+
strawberry/utils/typing.py,sha256=x_CONoYlbmha-VHu6mGNB_PBA1iejLE-giUF13zmVMY,14244
|
251
|
+
strawberry_graphql-0.236.0.dist-info/LICENSE,sha256=m-XnIVUKqlG_AWnfi9NReh9JfKhYOB-gJfKE45WM1W8,1072
|
252
|
+
strawberry_graphql-0.236.0.dist-info/METADATA,sha256=IoAJhoz1XQYYfdBGBECFaKkfQuO01Jeusz1SQ79xSpA,7821
|
253
|
+
strawberry_graphql-0.236.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
254
|
+
strawberry_graphql-0.236.0.dist-info/entry_points.txt,sha256=Nk7-aT3_uEwCgyqtHESV9H6Mc31cK-VAvhnQNTzTb4k,49
|
255
|
+
strawberry_graphql-0.236.0.dist-info/RECORD,,
|
strawberry/mutation.py
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
from functools import partial
|
2
|
-
|
3
|
-
from .field import field
|
4
|
-
|
5
|
-
# Mutations and subscriptions are field, we might want to separate
|
6
|
-
# things in the long run for example to provide better errors
|
7
|
-
mutation = field
|
8
|
-
subscription = partial(field, is_subscription=True)
|
strawberry/type.py
DELETED
@@ -1,232 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
|
3
|
-
from abc import ABC, abstractmethod
|
4
|
-
from typing import (
|
5
|
-
TYPE_CHECKING,
|
6
|
-
Any,
|
7
|
-
ClassVar,
|
8
|
-
List,
|
9
|
-
Mapping,
|
10
|
-
Optional,
|
11
|
-
Type,
|
12
|
-
TypeVar,
|
13
|
-
Union,
|
14
|
-
overload,
|
15
|
-
)
|
16
|
-
from typing_extensions import Literal, Protocol, Self
|
17
|
-
|
18
|
-
from strawberry.utils.typing import is_concrete_generic
|
19
|
-
|
20
|
-
if TYPE_CHECKING:
|
21
|
-
from typing_extensions import TypeGuard
|
22
|
-
|
23
|
-
from strawberry.types.types import StrawberryObjectDefinition
|
24
|
-
|
25
|
-
|
26
|
-
class StrawberryType(ABC):
|
27
|
-
"""
|
28
|
-
Every type that is decorated by strawberry should have a dunder
|
29
|
-
`__strawberry_definition__` with instance of a StrawberryType that contains
|
30
|
-
the parsed information that strawberry created.
|
31
|
-
|
32
|
-
NOTE: ATM this is only true for @type @interface @input follow https://github.com/strawberry-graphql/strawberry/issues/2841
|
33
|
-
to see progress.
|
34
|
-
"""
|
35
|
-
|
36
|
-
@property
|
37
|
-
def type_params(self) -> List[TypeVar]:
|
38
|
-
return []
|
39
|
-
|
40
|
-
@property
|
41
|
-
def is_one_of(self) -> bool:
|
42
|
-
return False
|
43
|
-
|
44
|
-
@abstractmethod
|
45
|
-
def copy_with(
|
46
|
-
self,
|
47
|
-
type_var_map: Mapping[
|
48
|
-
str, Union[StrawberryType, Type[WithStrawberryObjectDefinition]]
|
49
|
-
],
|
50
|
-
) -> Union[StrawberryType, Type[WithStrawberryObjectDefinition]]:
|
51
|
-
raise NotImplementedError()
|
52
|
-
|
53
|
-
@property
|
54
|
-
@abstractmethod
|
55
|
-
def is_graphql_generic(self) -> bool:
|
56
|
-
raise NotImplementedError()
|
57
|
-
|
58
|
-
def has_generic(self, type_var: TypeVar) -> bool:
|
59
|
-
return False
|
60
|
-
|
61
|
-
def __eq__(self, other: object) -> bool:
|
62
|
-
from strawberry.annotation import StrawberryAnnotation
|
63
|
-
|
64
|
-
if isinstance(other, StrawberryType):
|
65
|
-
return self is other
|
66
|
-
|
67
|
-
elif isinstance(other, StrawberryAnnotation):
|
68
|
-
return self == other.resolve()
|
69
|
-
|
70
|
-
else:
|
71
|
-
# This could be simplified if StrawberryAnnotation.resolve() always returned
|
72
|
-
# a StrawberryType
|
73
|
-
resolved = StrawberryAnnotation(other).resolve()
|
74
|
-
if isinstance(resolved, StrawberryType):
|
75
|
-
return self == resolved
|
76
|
-
else:
|
77
|
-
return NotImplemented
|
78
|
-
|
79
|
-
def __hash__(self) -> int:
|
80
|
-
# TODO: Is this a bad idea? __eq__ objects are supposed to have the same hash
|
81
|
-
return id(self)
|
82
|
-
|
83
|
-
|
84
|
-
class StrawberryContainer(StrawberryType):
|
85
|
-
def __init__(
|
86
|
-
self, of_type: Union[StrawberryType, Type[WithStrawberryObjectDefinition], type]
|
87
|
-
) -> None:
|
88
|
-
self.of_type = of_type
|
89
|
-
|
90
|
-
def __hash__(self) -> int:
|
91
|
-
return hash((self.__class__, self.of_type))
|
92
|
-
|
93
|
-
def __eq__(self, other: object) -> bool:
|
94
|
-
if isinstance(other, StrawberryType):
|
95
|
-
if isinstance(other, StrawberryContainer):
|
96
|
-
return self.of_type == other.of_type
|
97
|
-
else:
|
98
|
-
return False
|
99
|
-
|
100
|
-
return super().__eq__(other)
|
101
|
-
|
102
|
-
@property
|
103
|
-
def type_params(self) -> List[TypeVar]:
|
104
|
-
if has_object_definition(self.of_type):
|
105
|
-
parameters = getattr(self.of_type, "__parameters__", None)
|
106
|
-
|
107
|
-
return list(parameters) if parameters else []
|
108
|
-
|
109
|
-
elif isinstance(self.of_type, StrawberryType):
|
110
|
-
return self.of_type.type_params
|
111
|
-
|
112
|
-
else:
|
113
|
-
return []
|
114
|
-
|
115
|
-
def copy_with(
|
116
|
-
self,
|
117
|
-
type_var_map: Mapping[
|
118
|
-
str, Union[StrawberryType, Type[WithStrawberryObjectDefinition]]
|
119
|
-
],
|
120
|
-
) -> Self:
|
121
|
-
of_type_copy = self.of_type
|
122
|
-
|
123
|
-
if has_object_definition(self.of_type):
|
124
|
-
type_definition = self.of_type.__strawberry_definition__
|
125
|
-
|
126
|
-
if type_definition.is_graphql_generic:
|
127
|
-
of_type_copy = type_definition.copy_with(type_var_map)
|
128
|
-
|
129
|
-
elif (
|
130
|
-
isinstance(self.of_type, StrawberryType) and self.of_type.is_graphql_generic
|
131
|
-
):
|
132
|
-
of_type_copy = self.of_type.copy_with(type_var_map)
|
133
|
-
|
134
|
-
return type(self)(of_type_copy)
|
135
|
-
|
136
|
-
@property
|
137
|
-
def is_graphql_generic(self) -> bool:
|
138
|
-
from strawberry.schema.compat import is_graphql_generic
|
139
|
-
|
140
|
-
type_ = self.of_type
|
141
|
-
|
142
|
-
return is_graphql_generic(type_)
|
143
|
-
|
144
|
-
def has_generic(self, type_var: TypeVar) -> bool:
|
145
|
-
if isinstance(self.of_type, StrawberryType):
|
146
|
-
return self.of_type.has_generic(type_var)
|
147
|
-
return False
|
148
|
-
|
149
|
-
|
150
|
-
class StrawberryList(StrawberryContainer): ...
|
151
|
-
|
152
|
-
|
153
|
-
class StrawberryOptional(StrawberryContainer): ...
|
154
|
-
|
155
|
-
|
156
|
-
class StrawberryTypeVar(StrawberryType):
|
157
|
-
def __init__(self, type_var: TypeVar) -> None:
|
158
|
-
self.type_var = type_var
|
159
|
-
|
160
|
-
def copy_with(
|
161
|
-
self, type_var_map: Mapping[str, Union[StrawberryType, type]]
|
162
|
-
) -> Union[StrawberryType, type]:
|
163
|
-
return type_var_map[self.type_var.__name__]
|
164
|
-
|
165
|
-
@property
|
166
|
-
def is_graphql_generic(self) -> bool:
|
167
|
-
return True
|
168
|
-
|
169
|
-
def has_generic(self, type_var: TypeVar) -> bool:
|
170
|
-
return self.type_var == type_var
|
171
|
-
|
172
|
-
@property
|
173
|
-
def type_params(self) -> List[TypeVar]:
|
174
|
-
return [self.type_var]
|
175
|
-
|
176
|
-
def __eq__(self, other: object) -> bool:
|
177
|
-
if isinstance(other, StrawberryTypeVar):
|
178
|
-
return self.type_var == other.type_var
|
179
|
-
if isinstance(other, TypeVar):
|
180
|
-
return self.type_var == other
|
181
|
-
|
182
|
-
return super().__eq__(other)
|
183
|
-
|
184
|
-
def __hash__(self) -> int:
|
185
|
-
return hash(self.type_var)
|
186
|
-
|
187
|
-
|
188
|
-
class WithStrawberryObjectDefinition(Protocol):
|
189
|
-
__strawberry_definition__: ClassVar[StrawberryObjectDefinition]
|
190
|
-
|
191
|
-
|
192
|
-
def has_object_definition(
|
193
|
-
obj: Any,
|
194
|
-
) -> TypeGuard[Type[WithStrawberryObjectDefinition]]:
|
195
|
-
if hasattr(obj, "__strawberry_definition__"):
|
196
|
-
return True
|
197
|
-
# TODO: Generics remove dunder members here, so we inject it here.
|
198
|
-
# Would be better to avoid it somehow.
|
199
|
-
# https://github.com/python/cpython/blob/3a314f7c3df0dd7c37da7d12b827f169ee60e1ea/Lib/typing.py#L1152
|
200
|
-
if is_concrete_generic(obj):
|
201
|
-
concrete = obj.__origin__
|
202
|
-
if hasattr(concrete, "__strawberry_definition__"):
|
203
|
-
obj.__strawberry_definition__ = concrete.__strawberry_definition__
|
204
|
-
return True
|
205
|
-
return False
|
206
|
-
|
207
|
-
|
208
|
-
@overload
|
209
|
-
def get_object_definition(
|
210
|
-
obj: Any,
|
211
|
-
*,
|
212
|
-
strict: Literal[True],
|
213
|
-
) -> StrawberryObjectDefinition: ...
|
214
|
-
|
215
|
-
|
216
|
-
@overload
|
217
|
-
def get_object_definition(
|
218
|
-
obj: Any,
|
219
|
-
*,
|
220
|
-
strict: bool = False,
|
221
|
-
) -> Optional[StrawberryObjectDefinition]: ...
|
222
|
-
|
223
|
-
|
224
|
-
def get_object_definition(
|
225
|
-
obj: Any,
|
226
|
-
*,
|
227
|
-
strict: bool = False,
|
228
|
-
) -> Optional[StrawberryObjectDefinition]:
|
229
|
-
definition = obj.__strawberry_definition__ if has_object_definition(obj) else None
|
230
|
-
if strict and definition is None:
|
231
|
-
raise TypeError(f"{obj!r} does not have a StrawberryObjectDefinition")
|
232
|
-
return definition
|