strawberry-graphql 0.228.0.dev1713643365__tar.gz → 0.229.0__tar.gz

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.
Files changed (247) hide show
  1. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/pyproject.toml +3 -1
  3. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/error_type.py +1 -1
  4. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/object_type.py +1 -1
  5. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/datadog.py +16 -7
  6. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/schema_directive.py +1 -1
  7. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/object_type.py +26 -3
  8. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/relay/types.py +12 -1
  9. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/relay/utils.py +42 -1
  10. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/scalars.py +2 -2
  11. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/schema_converter.py +7 -1
  12. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema_directive.py +1 -1
  13. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/starlite/controller.py +9 -0
  14. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/type_resolver.py +9 -2
  15. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/LICENSE +0 -0
  16. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/README.md +0 -0
  17. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/__init__.py +0 -0
  18. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/__main__.py +0 -0
  19. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/__init__.py +0 -0
  20. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/__init__.py +0 -0
  21. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  22. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  23. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/test/__init__.py +0 -0
  24. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/test/client.py +0 -0
  25. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/aiohttp/views.py +0 -0
  26. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/annotation.py +0 -0
  27. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/arguments.py +0 -0
  28. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/__init__.py +0 -0
  29. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/__init__.py +0 -0
  30. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  31. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  32. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/test/__init__.py +0 -0
  33. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/asgi/test/client.py +0 -0
  34. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/auto.py +0 -0
  35. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/chalice/__init__.py +0 -0
  36. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/chalice/views.py +0 -0
  37. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/__init__.py +0 -0
  38. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/base.py +0 -0
  39. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  40. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  41. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/http_handler.py +0 -0
  42. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  43. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/router.py +0 -0
  44. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/channels/testing.py +0 -0
  45. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/__init__.py +0 -0
  46. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/app.py +0 -0
  47. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/__init__.py +0 -0
  48. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/codegen.py +0 -0
  49. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/export_schema.py +0 -0
  50. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/schema_codegen.py +0 -0
  51. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/server.py +0 -0
  52. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  53. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  54. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  55. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/constants.py +0 -0
  56. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/debug_server.py +0 -0
  57. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/utils/__init__.py +0 -0
  58. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/cli/utils/load_schema.py +0 -0
  59. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/__init__.py +0 -0
  60. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/exceptions.py +0 -0
  61. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/__init__.py +0 -0
  62. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  63. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/python.py +0 -0
  64. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/typescript.py +0 -0
  65. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/query_codegen.py +0 -0
  66. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codegen/types.py +0 -0
  67. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codemods/__init__.py +0 -0
  68. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/codemods/annotated_unions.py +0 -0
  69. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/custom_scalar.py +0 -0
  70. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/dataloader.py +0 -0
  71. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/directive.py +0 -0
  72. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/__init__.py +0 -0
  73. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/apps.py +0 -0
  74. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/context.py +0 -0
  75. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/test/__init__.py +0 -0
  76. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/test/client.py +0 -0
  77. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/django/views.py +0 -0
  78. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/enum.py +0 -0
  79. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/__init__.py +0 -0
  80. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/conflicting_arguments.py +0 -0
  81. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  82. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/exception.py +0 -0
  83. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/exception_source.py +0 -0
  84. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/handler.py +0 -0
  85. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  86. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  87. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  88. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  89. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  90. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  91. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  92. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  93. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  94. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  95. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  96. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/syntax.py +0 -0
  97. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  98. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/utils/__init__.py +0 -0
  99. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  100. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/__init__.py +0 -0
  101. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  102. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/_compat.py +0 -0
  103. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  104. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  105. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  106. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/fields.py +0 -0
  107. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/utils.py +0 -0
  108. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/LICENSE +0 -0
  109. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/__init__.py +0 -0
  110. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  111. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  112. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  113. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/ext/mypy_plugin.py +0 -0
  114. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/__init__.py +0 -0
  115. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/add_validation_rules.py +0 -0
  116. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/base_extension.py +0 -0
  117. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/context.py +0 -0
  118. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/directives.py +0 -0
  119. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/disable_validation.py +0 -0
  120. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/field_extension.py +0 -0
  121. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/mask_errors.py +0 -0
  122. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/max_aliases.py +0 -0
  123. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/max_tokens.py +0 -0
  124. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/parser_cache.py +0 -0
  125. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/pyinstrument.py +0 -0
  126. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  127. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/runner.py +0 -0
  128. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/__init__.py +0 -0
  129. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/apollo.py +0 -0
  130. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  131. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/sentry.py +0 -0
  132. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/utils.py +0 -0
  133. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/utils.py +0 -0
  134. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/extensions/validation_cache.py +0 -0
  135. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/__init__.py +0 -0
  136. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/context.py +0 -0
  137. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/__init__.py +0 -0
  138. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  139. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  140. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/fastapi/router.py +0 -0
  141. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/__init__.py +0 -0
  142. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/argument.py +0 -0
  143. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/enum.py +0 -0
  144. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/field.py +0 -0
  145. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/mutation.py +0 -0
  146. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/object_type.py +0 -0
  147. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/scalar.py +0 -0
  148. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/schema.py +0 -0
  149. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/schema_directives.py +0 -0
  150. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/types.py +0 -0
  151. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/federation/union.py +0 -0
  152. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/field.py +0 -0
  153. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/field_extensions/__init__.py +0 -0
  154. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/field_extensions/input_mutation.py +0 -0
  155. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/file_uploads/__init__.py +0 -0
  156. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/file_uploads/scalars.py +0 -0
  157. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/file_uploads/utils.py +0 -0
  158. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/flask/__init__.py +0 -0
  159. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/flask/views.py +0 -0
  160. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/__init__.py +0 -0
  161. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/async_base_view.py +0 -0
  162. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/base.py +0 -0
  163. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/exceptions.py +0 -0
  164. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/ides.py +0 -0
  165. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/sync_base_view.py +0 -0
  166. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/temporal_response.py +0 -0
  167. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/types.py +0 -0
  168. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/http/typevars.py +0 -0
  169. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/lazy_type.py +0 -0
  170. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/litestar/__init__.py +0 -0
  171. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/litestar/controller.py +0 -0
  172. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/litestar/handlers/graphql_transport_ws_handler.py +0 -0
  173. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/litestar/handlers/graphql_ws_handler.py +0 -0
  174. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/mutation.py +0 -0
  175. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/parent.py +0 -0
  176. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/permission.py +0 -0
  177. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/printer/__init__.py +0 -0
  178. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/printer/ast_from_value.py +0 -0
  179. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/printer/printer.py +0 -0
  180. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/private.py +0 -0
  181. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/py.typed +0 -0
  182. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/quart/__init__.py +0 -0
  183. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/quart/views.py +0 -0
  184. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/relay/__init__.py +0 -0
  185. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/relay/exceptions.py +0 -0
  186. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/relay/fields.py +0 -0
  187. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/resolvers.py +0 -0
  188. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/sanic/__init__.py +0 -0
  189. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/sanic/context.py +0 -0
  190. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/sanic/utils.py +0 -0
  191. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/sanic/views.py +0 -0
  192. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/__init__.py +0 -0
  193. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/base.py +0 -0
  194. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/compat.py +0 -0
  195. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/config.py +0 -0
  196. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/exceptions.py +0 -0
  197. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/execute.py +0 -0
  198. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/name_converter.py +0 -0
  199. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/schema.py +0 -0
  200. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/types/__init__.py +0 -0
  201. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/types/base_scalars.py +0 -0
  202. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/types/concrete_type.py +0 -0
  203. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema/types/scalar.py +0 -0
  204. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/schema_codegen/__init__.py +0 -0
  205. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/starlite/__init__.py +0 -0
  206. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  207. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  208. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/static/apollo-sandbox.html +0 -0
  209. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/static/graphiql.html +0 -0
  210. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/static/pathfinder.html +0 -0
  211. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/__init__.py +0 -0
  212. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  213. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  214. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  215. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  216. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  217. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  218. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  219. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/test/__init__.py +0 -0
  220. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/test/client.py +0 -0
  221. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/tools/__init__.py +0 -0
  222. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/tools/create_type.py +0 -0
  223. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/tools/merge_types.py +0 -0
  224. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/type.py +0 -0
  225. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/__init__.py +0 -0
  226. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/execution.py +0 -0
  227. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/fields/__init__.py +0 -0
  228. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/fields/resolver.py +0 -0
  229. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/graphql.py +0 -0
  230. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/info.py +0 -0
  231. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/nodes.py +0 -0
  232. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/types/types.py +0 -0
  233. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/union.py +0 -0
  234. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/unset.py +0 -0
  235. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/__init__.py +0 -0
  236. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/aio.py +0 -0
  237. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/await_maybe.py +0 -0
  238. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/dataclasses.py +0 -0
  239. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/debug.py +0 -0
  240. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/deprecations.py +0 -0
  241. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/graphql_lexer.py +0 -0
  242. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/importer.py +0 -0
  243. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/inspect.py +0 -0
  244. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/logging.py +0 -0
  245. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/operation.py +0 -0
  246. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/str_converters.py +0 -0
  247. {strawberry_graphql-0.228.0.dev1713643365 → strawberry_graphql-0.229.0}/strawberry/utils/typing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: strawberry-graphql
3
- Version: 0.228.0.dev1713643365
3
+ Version: 0.229.0
4
4
  Summary: A library for creating GraphQL APIs
5
5
  Home-page: https://strawberry.rocks/
6
6
  License: MIT
@@ -1,7 +1,7 @@
1
1
  [tool.poetry]
2
2
  name = "strawberry-graphql"
3
3
  packages = [ { include = "strawberry" } ]
4
- version = "0.228.0.dev.1713643365"
4
+ version = "0.229.0"
5
5
  description = "A library for creating GraphQL APIs"
6
6
  authors = ["Patrick Arminio <patrick.arminio@gmail.com>"]
7
7
  license = "MIT"
@@ -173,6 +173,8 @@ asyncio_mode = "auto"
173
173
  filterwarnings = [
174
174
  "ignore::DeprecationWarning:strawberry.*.resolver",
175
175
  "ignore:LazyType is deprecated:DeprecationWarning",
176
+ "ignore::DeprecationWarning:ddtrace.internal",
177
+ "ignore::DeprecationWarning:django.utils.encoding",
176
178
  # ignoring the text instead of the whole warning because we'd
177
179
  # get an error when django is not installed
178
180
  "ignore:The default value of USE_TZ",
@@ -114,7 +114,7 @@ def error_type(
114
114
  ]
115
115
 
116
116
  wrapped = _wrap_dataclass(cls)
117
- extra_fields = cast(List[dataclasses.Field], _get_fields(wrapped))
117
+ extra_fields = cast(List[dataclasses.Field], _get_fields(wrapped, {}))
118
118
  private_fields = get_private_fields(wrapped)
119
119
 
120
120
  all_model_fields.extend(
@@ -177,7 +177,7 @@ def type(
177
177
  )
178
178
 
179
179
  wrapped = _wrap_dataclass(cls)
180
- extra_strawberry_fields = _get_fields(wrapped)
180
+ extra_strawberry_fields = _get_fields(wrapped, {})
181
181
  extra_fields = cast(List[dataclasses.Field], extra_strawberry_fields)
182
182
  private_fields = get_private_fields(wrapped)
183
183
 
@@ -27,7 +27,8 @@ class DatadogTracingExtension(SchemaExtension):
27
27
 
28
28
  @cached_property
29
29
  def _resource_name(self) -> str:
30
- assert self.execution_context.query
30
+ if self.execution_context.query is None:
31
+ return "query_missing"
31
32
 
32
33
  query_hash = self.hash_query(self.execution_context.query)
33
34
 
@@ -78,15 +79,23 @@ class DatadogTracingExtension(SchemaExtension):
78
79
  )
79
80
  self.request_span.set_tag("graphql.operation_name", self._operation_name)
80
81
 
81
- assert self.execution_context.query
82
+ query = self.execution_context.query
83
+
84
+ if query is not None:
85
+ query = query.strip()
86
+ operation_type = "query"
87
+
88
+ if query.startswith("mutation"):
89
+ operation_type = "mutation"
90
+ elif query.startswith("subscription"): # pragma: no cover
91
+ operation_type = "subscription"
92
+ else:
93
+ operation_type = "query_missing"
82
94
 
83
- operation_type = "query"
84
- if self.execution_context.query.strip().startswith("mutation"):
85
- operation_type = "mutation"
86
- elif self.execution_context.query.strip().startswith("subscription"):
87
- operation_type = "subscription"
88
95
  self.request_span.set_tag("graphql.operation_type", operation_type)
96
+
89
97
  yield
98
+
90
99
  self.request_span.finish()
91
100
 
92
101
  def on_validate(self) -> Generator[None, None, None]:
@@ -39,7 +39,7 @@ def schema_directive(
39
39
  ) -> Callable[..., T]:
40
40
  def _wrap(cls: T) -> T:
41
41
  cls = _wrap_dataclass(cls)
42
- fields = _get_fields(cls)
42
+ fields = _get_fields(cls, {})
43
43
 
44
44
  cls.__strawberry_directive__ = StrawberryFederationSchemaDirective(
45
45
  python_name=cls.__name__,
@@ -67,7 +67,8 @@ def _check_field_annotations(cls: Type[Any]):
67
67
  # If the field has a type override then use that instead of using
68
68
  # the class annotations or resolver annotation
69
69
  if field_.type_annotation is not None:
70
- cls_annotations[field_name] = field_.type_annotation.annotation
70
+ if field_name not in cls_annotations:
71
+ cls_annotations[field_name] = field_.type_annotation.annotation
71
72
  continue
72
73
 
73
74
  # Make sure the cls has an annotation
@@ -85,7 +86,8 @@ def _check_field_annotations(cls: Type[Any]):
85
86
  field_name, resolver=field_.base_resolver
86
87
  )
87
88
 
88
- cls_annotations[field_name] = field_.base_resolver.type_annotation
89
+ if field_name not in cls_annotations:
90
+ cls_annotations[field_name] = field_.base_resolver.type_annotation
89
91
 
90
92
  # TODO: Make sure the cls annotation agrees with the field's type
91
93
  # >>> if cls_annotations[field_name] != field.base_resolver.type:
@@ -133,11 +135,13 @@ def _process_type(
133
135
  description: Optional[str] = None,
134
136
  directives: Optional[Sequence[object]] = (),
135
137
  extend: bool = False,
138
+ original_type_annotations: Optional[Dict[str, Any]] = None,
136
139
  ) -> T:
137
140
  name = name or to_camel_case(cls.__name__)
141
+ original_type_annotations = original_type_annotations or {}
138
142
 
139
143
  interfaces = _get_interfaces(cls)
140
- fields = _get_fields(cls)
144
+ fields = _get_fields(cls, original_type_annotations)
141
145
  is_type_of = getattr(cls, "is_type_of", None)
142
146
  resolve_type = getattr(cls, "resolve_type", None)
143
147
 
@@ -245,7 +249,25 @@ def type(
245
249
  exc = ObjectIsNotClassError.type
246
250
  raise exc(cls)
247
251
 
252
+ # when running `_wrap_dataclass` we lose some of the information about the
253
+ # the passed types, especially the type_annotation inside the StrawberryField
254
+ # this makes it impossible to customise the field type, like this:
255
+ # >>> @strawberry.type
256
+ # >>> class Query:
257
+ # >>> a: int = strawberry.field(graphql_type=str)
258
+ # so we need to extract the information before running `_wrap_dataclass`
259
+ original_type_annotations: Dict[str, Any] = {}
260
+
261
+ annotations = getattr(cls, "__annotations__", {})
262
+
263
+ for field_name in annotations:
264
+ field = getattr(cls, field_name, None)
265
+
266
+ if field and isinstance(field, StrawberryField) and field.type_annotation:
267
+ original_type_annotations[field_name] = field.type_annotation.annotation
268
+
248
269
  wrapped = _wrap_dataclass(cls)
270
+
249
271
  return _process_type(
250
272
  wrapped,
251
273
  name=name,
@@ -254,6 +276,7 @@ def type(
254
276
  description=description,
255
277
  directives=directives,
256
278
  extend=extend,
279
+ original_type_annotations=original_type_annotations,
257
280
  )
258
281
 
259
282
  if cls is None:
@@ -38,7 +38,7 @@ from strawberry.utils.aio import aenumerate, aislice, resolve_awaitable
38
38
  from strawberry.utils.inspect import in_async_context
39
39
  from strawberry.utils.typing import eval_type, is_classvar
40
40
 
41
- from .utils import from_base64, to_base64
41
+ from .utils import from_base64, should_resolve_list_connection_edges, to_base64
42
42
 
43
43
  if TYPE_CHECKING:
44
44
  from strawberry.scalars import ID
@@ -933,6 +933,17 @@ class ListConnection(Connection[NodeType]):
933
933
  overfetch,
934
934
  )
935
935
 
936
+ if not should_resolve_list_connection_edges(info):
937
+ return cls(
938
+ edges=[],
939
+ page_info=PageInfo(
940
+ start_cursor=None,
941
+ end_cursor=None,
942
+ has_previous_page=False,
943
+ has_next_page=False,
944
+ ),
945
+ )
946
+
936
947
  edges = [
937
948
  edge_class.resolve_edge(
938
949
  cls.resolve_node(v, info=info, **kwargs),
@@ -2,6 +2,8 @@ import base64
2
2
  from typing import Any, Tuple, Union
3
3
  from typing_extensions import assert_never
4
4
 
5
+ from strawberry.types.info import Info
6
+ from strawberry.types.nodes import InlineFragment, Selection
5
7
  from strawberry.types.types import StrawberryObjectDefinition
6
8
 
7
9
 
@@ -41,7 +43,7 @@ def to_base64(type_: Union[str, type, StrawberryObjectDefinition], node_id: Any)
41
43
  The node id itself
42
44
 
43
45
  Returns:
44
- A tuple of (TypeName, NodeID).
46
+ A GlobalID, which is a string resulting from base64 encoding <TypeName>:<NodeID>.
45
47
 
46
48
  Raises:
47
49
  ValueError:
@@ -61,3 +63,42 @@ def to_base64(type_: Union[str, type, StrawberryObjectDefinition], node_id: Any)
61
63
  raise ValueError(f"{type_} is not a valid GraphQL type or name") from e
62
64
 
63
65
  return base64.b64encode(f"{type_name}:{node_id}".encode()).decode()
66
+
67
+
68
+ def should_resolve_list_connection_edges(info: Info) -> bool:
69
+ """Check if the user requested to resolve the `edges` field of a connection.
70
+
71
+ Args:
72
+ info:
73
+ The strawberry execution info resolve the type name from
74
+
75
+ Returns:
76
+ True if the user requested to resolve the `edges` field of a connection, False otherwise.
77
+
78
+ """
79
+ resolve_for_field_names = {"edges", "pageInfo"}
80
+
81
+ def _check_selection(selection: Selection) -> bool:
82
+ """Recursively inspect the selection to check if the user requested to resolve the `edges` field.
83
+ Args:
84
+ selection (Selection): The selection to check.
85
+
86
+ Returns:
87
+ bool: True if the user requested to resolve the `edges` field of a connection, False otherwise.
88
+ """
89
+ if (
90
+ not isinstance(selection, InlineFragment)
91
+ and selection.name in resolve_for_field_names
92
+ ):
93
+ return True
94
+ if selection.selections:
95
+ return any(
96
+ _check_selection(selection) for selection in selection.selections
97
+ )
98
+ return False
99
+
100
+ for selection_field in info.selected_fields:
101
+ for selection in selection_field.selections:
102
+ if _check_selection(selection):
103
+ return True
104
+ return False
@@ -16,10 +16,10 @@ JSON = scalar(
16
16
  description=(
17
17
  "The `JSON` scalar type represents JSON values as specified by "
18
18
  "[ECMA-404]"
19
- "(http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf)."
19
+ "(https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf)."
20
20
  ),
21
21
  specified_by_url=(
22
- "http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf"
22
+ "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
23
23
  ),
24
24
  serialize=lambda v: v,
25
25
  parse_value=lambda v: v,
@@ -31,6 +31,7 @@ from graphql import (
31
31
  GraphQLInputObjectType,
32
32
  GraphQLInterfaceType,
33
33
  GraphQLList,
34
+ GraphQLNamedType,
34
35
  GraphQLNonNull,
35
36
  GraphQLObjectType,
36
37
  GraphQLType,
@@ -464,13 +465,18 @@ class GraphQLCoreConverter:
464
465
  for possible_concrete_type in self.type_map.values():
465
466
  possible_type = possible_concrete_type.definition
466
467
 
467
- if not isinstance(possible_type, StrawberryObjectDefinition):
468
+ if not isinstance(
469
+ possible_type, StrawberryObjectDefinition
470
+ ): # pragma: no cover
468
471
  continue
472
+
469
473
  if possible_type.is_implemented_by(obj):
470
474
  return_type = possible_concrete_type.implementation
471
475
  break
472
476
 
473
477
  if return_type:
478
+ assert isinstance(return_type, GraphQLNamedType)
479
+
474
480
  return return_type.name
475
481
 
476
482
  # Revert to calling is_type_of for cases where a direct subclass
@@ -54,7 +54,7 @@ def schema_directive(
54
54
  ) -> Callable[..., T]:
55
55
  def _wrap(cls: T) -> T:
56
56
  cls = _wrap_dataclass(cls)
57
- fields = _get_fields(cls)
57
+ fields = _get_fields(cls, {})
58
58
 
59
59
  cls.__strawberry_directive__ = StrawberrySchemaDirective(
60
60
  python_name=cls.__name__,
@@ -6,6 +6,7 @@ import warnings
6
6
  from dataclasses import dataclass
7
7
  from datetime import timedelta
8
8
  from typing import TYPE_CHECKING, Any, Dict, Mapping, Optional, Tuple, Union, cast
9
+ from typing_extensions import deprecated
9
10
 
10
11
  from starlite import (
11
12
  BackgroundTasks,
@@ -118,6 +119,10 @@ class GraphQLTransportWSHandler(BaseGraphQLTransportWSHandler):
118
119
  return await self._get_root_value()
119
120
 
120
121
 
122
+ @deprecated(
123
+ "The `starlite` integration is deprecated in favor of `litestar` integration",
124
+ stacklevel=2,
125
+ )
121
126
  class StarliteRequestAdapter(AsyncHTTPRequestAdapter):
122
127
  def __init__(self, request: Request[Any, Any]) -> None:
123
128
  self.request = request
@@ -153,6 +158,10 @@ class BaseContext:
153
158
  self.response: Optional[Response] = None
154
159
 
155
160
 
161
+ @deprecated(
162
+ "The `starlite` integration is deprecated in favor of `litestar` integration",
163
+ stacklevel=2,
164
+ )
156
165
  def make_graphql_controller(
157
166
  schema: BaseSchema,
158
167
  path: str = "",
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import dataclasses
4
4
  import sys
5
- from typing import Dict, List, Type
5
+ from typing import Any, Dict, List, Type
6
6
 
7
7
  from strawberry.annotation import StrawberryAnnotation
8
8
  from strawberry.exceptions import (
@@ -16,7 +16,9 @@ from strawberry.type import has_object_definition
16
16
  from strawberry.unset import UNSET
17
17
 
18
18
 
19
- def _get_fields(cls: Type) -> List[StrawberryField]:
19
+ def _get_fields(
20
+ cls: Type[Any], original_type_annotations: Dict[str, Type[Any]]
21
+ ) -> List[StrawberryField]:
20
22
  """Get all the strawberry fields off a strawberry.type cls
21
23
 
22
24
  This function returns a list of StrawberryFields (one for each field item), while
@@ -49,6 +51,7 @@ def _get_fields(cls: Type) -> List[StrawberryField]:
49
51
  passing a named function (i.e. not an anonymous lambda) to strawberry.field
50
52
  (typically as a decorator).
51
53
  """
54
+
52
55
  fields: Dict[str, StrawberryField] = {}
53
56
 
54
57
  # before trying to find any fields, let's first add the fields defined in
@@ -152,6 +155,10 @@ def _get_fields(cls: Type) -> List[StrawberryField]:
152
155
  assert_message = "Field must have a name by the time the schema is generated"
153
156
  assert field_name is not None, assert_message
154
157
 
158
+ if field.name in original_type_annotations:
159
+ field.type = original_type_annotations[field.name]
160
+ field.type_annotation = StrawberryAnnotation(annotation=field.type)
161
+
155
162
  # TODO: Raise exception if field_name already in fields
156
163
  fields[field_name] = field
157
164