strawberry-graphql 0.228.0__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 → strawberry_graphql-0.229.0}/PKG-INFO +1 -1
  2. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/pyproject.toml +1 -1
  3. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/schema_converter.py +30 -3
  4. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/types.py +31 -8
  5. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/union.py +3 -8
  6. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/LICENSE +0 -0
  7. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/README.md +0 -0
  8. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/__init__.py +0 -0
  9. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/__main__.py +0 -0
  10. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/__init__.py +0 -0
  11. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/__init__.py +0 -0
  12. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/graphql_transport_ws_handler.py +0 -0
  13. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/handlers/graphql_ws_handler.py +0 -0
  14. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/test/__init__.py +0 -0
  15. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/test/client.py +0 -0
  16. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/aiohttp/views.py +0 -0
  17. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/annotation.py +0 -0
  18. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/arguments.py +0 -0
  19. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/__init__.py +0 -0
  20. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/__init__.py +0 -0
  21. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/graphql_transport_ws_handler.py +0 -0
  22. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/handlers/graphql_ws_handler.py +0 -0
  23. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/test/__init__.py +0 -0
  24. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/asgi/test/client.py +0 -0
  25. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/auto.py +0 -0
  26. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/chalice/__init__.py +0 -0
  27. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/chalice/views.py +0 -0
  28. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/__init__.py +0 -0
  29. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/base.py +0 -0
  30. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/graphql_transport_ws_handler.py +0 -0
  31. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/graphql_ws_handler.py +0 -0
  32. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/http_handler.py +0 -0
  33. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/handlers/ws_handler.py +0 -0
  34. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/router.py +0 -0
  35. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/channels/testing.py +0 -0
  36. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/__init__.py +0 -0
  37. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/app.py +0 -0
  38. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/__init__.py +0 -0
  39. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/codegen.py +0 -0
  40. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/export_schema.py +0 -0
  41. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/schema_codegen.py +0 -0
  42. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/server.py +0 -0
  43. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/__init__.py +0 -0
  44. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/_fake_progress.py +0 -0
  45. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/commands/upgrade/_run_codemod.py +0 -0
  46. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/constants.py +0 -0
  47. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/debug_server.py +0 -0
  48. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/utils/__init__.py +0 -0
  49. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/cli/utils/load_schema.py +0 -0
  50. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/__init__.py +0 -0
  51. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/exceptions.py +0 -0
  52. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/__init__.py +0 -0
  53. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/print_operation.py +0 -0
  54. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/python.py +0 -0
  55. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/plugins/typescript.py +0 -0
  56. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/query_codegen.py +0 -0
  57. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codegen/types.py +0 -0
  58. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codemods/__init__.py +0 -0
  59. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/codemods/annotated_unions.py +0 -0
  60. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/custom_scalar.py +0 -0
  61. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/dataloader.py +0 -0
  62. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/directive.py +0 -0
  63. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/__init__.py +0 -0
  64. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/apps.py +0 -0
  65. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/context.py +0 -0
  66. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/test/__init__.py +0 -0
  67. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/test/client.py +0 -0
  68. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/django/views.py +0 -0
  69. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/enum.py +0 -0
  70. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/__init__.py +0 -0
  71. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/conflicting_arguments.py +0 -0
  72. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/duplicated_type_name.py +0 -0
  73. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/exception.py +0 -0
  74. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/exception_source.py +0 -0
  75. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/handler.py +0 -0
  76. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/invalid_argument_type.py +0 -0
  77. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/invalid_union_type.py +0 -0
  78. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_arguments_annotations.py +0 -0
  79. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_field_annotation.py +0 -0
  80. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/missing_return_annotation.py +0 -0
  81. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/not_a_strawberry_enum.py +0 -0
  82. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/object_is_not_a_class.py +0 -0
  83. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/object_is_not_an_enum.py +0 -0
  84. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/permission_fail_silently_requires_optional.py +0 -0
  85. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/private_strawberry_field.py +0 -0
  86. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/scalar_already_registered.py +0 -0
  87. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/syntax.py +0 -0
  88. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/unresolved_field_type.py +0 -0
  89. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/utils/__init__.py +0 -0
  90. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/exceptions/utils/source_finder.py +0 -0
  91. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/__init__.py +0 -0
  92. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/__init__.py +0 -0
  93. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/_compat.py +0 -0
  94. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/conversion.py +0 -0
  95. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/conversion_types.py +0 -0
  96. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/error_type.py +0 -0
  97. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/exceptions.py +0 -0
  98. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/fields.py +0 -0
  99. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/object_type.py +0 -0
  100. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/experimental/pydantic/utils.py +0 -0
  101. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/LICENSE +0 -0
  102. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/__init__.py +0 -0
  103. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/LICENSE +0 -0
  104. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/__init__.py +0 -0
  105. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/dataclasses/dataclasses.py +0 -0
  106. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/ext/mypy_plugin.py +0 -0
  107. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/__init__.py +0 -0
  108. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/add_validation_rules.py +0 -0
  109. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/base_extension.py +0 -0
  110. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/context.py +0 -0
  111. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/directives.py +0 -0
  112. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/disable_validation.py +0 -0
  113. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/field_extension.py +0 -0
  114. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/mask_errors.py +0 -0
  115. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/max_aliases.py +0 -0
  116. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/max_tokens.py +0 -0
  117. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/parser_cache.py +0 -0
  118. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/pyinstrument.py +0 -0
  119. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/query_depth_limiter.py +0 -0
  120. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/runner.py +0 -0
  121. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/__init__.py +0 -0
  122. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/apollo.py +0 -0
  123. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/datadog.py +0 -0
  124. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/opentelemetry.py +0 -0
  125. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/sentry.py +0 -0
  126. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/tracing/utils.py +0 -0
  127. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/utils.py +0 -0
  128. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/extensions/validation_cache.py +0 -0
  129. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/__init__.py +0 -0
  130. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/context.py +0 -0
  131. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/__init__.py +0 -0
  132. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/graphql_transport_ws_handler.py +0 -0
  133. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/handlers/graphql_ws_handler.py +0 -0
  134. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/fastapi/router.py +0 -0
  135. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/__init__.py +0 -0
  136. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/argument.py +0 -0
  137. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/enum.py +0 -0
  138. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/field.py +0 -0
  139. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/mutation.py +0 -0
  140. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/object_type.py +0 -0
  141. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/scalar.py +0 -0
  142. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/schema.py +0 -0
  143. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/schema_directive.py +0 -0
  144. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/schema_directives.py +0 -0
  145. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/types.py +0 -0
  146. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/federation/union.py +0 -0
  147. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/field.py +0 -0
  148. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/field_extensions/__init__.py +0 -0
  149. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/field_extensions/input_mutation.py +0 -0
  150. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/file_uploads/__init__.py +0 -0
  151. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/file_uploads/scalars.py +0 -0
  152. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/file_uploads/utils.py +0 -0
  153. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/flask/__init__.py +0 -0
  154. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/flask/views.py +0 -0
  155. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/__init__.py +0 -0
  156. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/async_base_view.py +0 -0
  157. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/base.py +0 -0
  158. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/exceptions.py +0 -0
  159. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/ides.py +0 -0
  160. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/sync_base_view.py +0 -0
  161. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/temporal_response.py +0 -0
  162. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/types.py +0 -0
  163. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/http/typevars.py +0 -0
  164. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/lazy_type.py +0 -0
  165. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/litestar/__init__.py +0 -0
  166. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/litestar/controller.py +0 -0
  167. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/litestar/handlers/graphql_transport_ws_handler.py +0 -0
  168. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/litestar/handlers/graphql_ws_handler.py +0 -0
  169. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/mutation.py +0 -0
  170. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/object_type.py +0 -0
  171. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/parent.py +0 -0
  172. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/permission.py +0 -0
  173. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/printer/__init__.py +0 -0
  174. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/printer/ast_from_value.py +0 -0
  175. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/printer/printer.py +0 -0
  176. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/private.py +0 -0
  177. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/py.typed +0 -0
  178. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/quart/__init__.py +0 -0
  179. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/quart/views.py +0 -0
  180. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/relay/__init__.py +0 -0
  181. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/relay/exceptions.py +0 -0
  182. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/relay/fields.py +0 -0
  183. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/relay/types.py +0 -0
  184. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/relay/utils.py +0 -0
  185. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/resolvers.py +0 -0
  186. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/sanic/__init__.py +0 -0
  187. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/sanic/context.py +0 -0
  188. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/sanic/utils.py +0 -0
  189. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/sanic/views.py +0 -0
  190. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/scalars.py +0 -0
  191. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/__init__.py +0 -0
  192. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/base.py +0 -0
  193. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/compat.py +0 -0
  194. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/config.py +0 -0
  195. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/exceptions.py +0 -0
  196. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/execute.py +0 -0
  197. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/name_converter.py +0 -0
  198. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/schema.py +0 -0
  199. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/types/__init__.py +0 -0
  200. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/types/base_scalars.py +0 -0
  201. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/types/concrete_type.py +0 -0
  202. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema/types/scalar.py +0 -0
  203. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema_codegen/__init__.py +0 -0
  204. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/schema_directive.py +0 -0
  205. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/starlite/__init__.py +0 -0
  206. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/starlite/controller.py +0 -0
  207. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/starlite/handlers/graphql_transport_ws_handler.py +0 -0
  208. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/starlite/handlers/graphql_ws_handler.py +0 -0
  209. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/static/apollo-sandbox.html +0 -0
  210. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/static/graphiql.html +0 -0
  211. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/static/pathfinder.html +0 -0
  212. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/__init__.py +0 -0
  213. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/__init__.py +0 -0
  214. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/__init__.py +0 -0
  215. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/handlers.py +0 -0
  216. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_transport_ws/types.py +0 -0
  217. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/__init__.py +0 -0
  218. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/handlers.py +0 -0
  219. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/subscriptions/protocols/graphql_ws/types.py +0 -0
  220. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/test/__init__.py +0 -0
  221. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/test/client.py +0 -0
  222. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/tools/__init__.py +0 -0
  223. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/tools/create_type.py +0 -0
  224. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/tools/merge_types.py +0 -0
  225. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/type.py +0 -0
  226. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/__init__.py +0 -0
  227. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/execution.py +0 -0
  228. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/fields/__init__.py +0 -0
  229. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/fields/resolver.py +0 -0
  230. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/graphql.py +0 -0
  231. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/info.py +0 -0
  232. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/nodes.py +0 -0
  233. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/types/type_resolver.py +0 -0
  234. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/unset.py +0 -0
  235. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/__init__.py +0 -0
  236. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/aio.py +0 -0
  237. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/await_maybe.py +0 -0
  238. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/dataclasses.py +0 -0
  239. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/debug.py +0 -0
  240. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/deprecations.py +0 -0
  241. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/graphql_lexer.py +0 -0
  242. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/importer.py +0 -0
  243. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/inspect.py +0 -0
  244. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/logging.py +0 -0
  245. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/operation.py +0 -0
  246. {strawberry_graphql-0.228.0 → strawberry_graphql-0.229.0}/strawberry/utils/str_converters.py +0 -0
  247. {strawberry_graphql-0.228.0 → 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
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"
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"
@@ -31,8 +31,10 @@ from graphql import (
31
31
  GraphQLInputObjectType,
32
32
  GraphQLInterfaceType,
33
33
  GraphQLList,
34
+ GraphQLNamedType,
34
35
  GraphQLNonNull,
35
36
  GraphQLObjectType,
37
+ GraphQLType,
36
38
  GraphQLUnionType,
37
39
  Undefined,
38
40
  ValueNode,
@@ -429,7 +431,7 @@ class GraphQLCoreConverter:
429
431
  ) -> GraphQLInterfaceType:
430
432
  interface_name = self.config.name_converter.from_type(interface)
431
433
 
432
- # Don't reevaluate known types
434
+ # Don't re-evaluate known types
433
435
  cached_type = self.type_map.get(interface_name, None)
434
436
  if cached_type:
435
437
  self.validate_same_type_definition(interface_name, interface, cached_type)
@@ -450,7 +452,32 @@ class GraphQLCoreConverter:
450
452
  # TODO: we should find the correct type here from the
451
453
  # generic
452
454
  if not type_definition.is_graphql_generic:
453
- return obj.__strawberry_definition__.name
455
+ return type_definition.name
456
+
457
+ # here we don't all the implementations of the generic
458
+ # we need to find a way to find them, for now maybe
459
+ # we can follow the union's approach and iterate over
460
+ # all the types in the schema, but we should probably
461
+ # optimize this
462
+
463
+ return_type: Optional[GraphQLType] = None
464
+
465
+ for possible_concrete_type in self.type_map.values():
466
+ possible_type = possible_concrete_type.definition
467
+
468
+ if not isinstance(
469
+ possible_type, StrawberryObjectDefinition
470
+ ): # pragma: no cover
471
+ continue
472
+
473
+ if possible_type.is_implemented_by(obj):
474
+ return_type = possible_concrete_type.implementation
475
+ break
476
+
477
+ if return_type:
478
+ assert isinstance(return_type, GraphQLNamedType)
479
+
480
+ return return_type.name
454
481
 
455
482
  # Revert to calling is_type_of for cases where a direct subclass
456
483
  # of the interface is not returned (i.e. an ORM object)
@@ -794,7 +821,7 @@ class GraphQLCoreConverter:
794
821
  if not StrawberryUnion.is_valid_union_type(type_):
795
822
  raise InvalidUnionTypeError(union_name, type_, union_definition=union)
796
823
 
797
- # Don't reevaluate known types
824
+ # Don't re-evaluate known types
798
825
  if union_name in self.type_map:
799
826
  graphql_union = self.type_map[union_name].implementation
800
827
  assert isinstance(graphql_union, GraphQLUnionType) # For mypy
@@ -17,6 +17,7 @@ from typing import (
17
17
  from typing_extensions import Self, deprecated
18
18
 
19
19
  from strawberry.type import (
20
+ StrawberryList,
20
21
  StrawberryType,
21
22
  StrawberryTypeVar,
22
23
  WithStrawberryObjectDefinition,
@@ -169,21 +170,43 @@ class StrawberryObjectDefinition(StrawberryType):
169
170
  return False
170
171
 
171
172
  # Check the mapping of all fields' TypeVars
172
- for generic_field in type_definition.fields:
173
- generic_field_type = generic_field.type
174
- if not isinstance(generic_field_type, StrawberryTypeVar):
173
+ for field in type_definition.fields:
174
+ if not field.is_graphql_generic:
175
+ continue
176
+
177
+ value = getattr(root, field.name)
178
+ generic_field_type = field.type
179
+
180
+ while isinstance(generic_field_type, StrawberryList):
181
+ generic_field_type = generic_field_type.of_type
182
+
183
+ assert isinstance(value, (list, tuple))
184
+
185
+ if len(value) == 0:
186
+ # We can't infer the type of an empty list, so we just
187
+ # return the first one we find
188
+ return True
189
+
190
+ value = value[0]
191
+
192
+ if isinstance(generic_field_type, StrawberryTypeVar):
193
+ type_var = generic_field_type.type_var
194
+ # TODO: I don't think we support nested types properly
195
+ # if there's a union that has two nested types that
196
+ # are have the same field with different types, we might
197
+ # not be able to differentiate them
198
+ else:
175
199
  continue
176
200
 
177
201
  # For each TypeVar found, get the expected type from the copy's type map
178
- expected_concrete_type = self.type_var_map.get(
179
- generic_field_type.type_var.__name__
180
- )
202
+ expected_concrete_type = self.type_var_map.get(type_var.__name__)
203
+
204
+ # this shouldn't happen, but we do a defensive check just in case
181
205
  if expected_concrete_type is None:
182
- # TODO: Should this return False?
183
206
  continue
184
207
 
185
208
  # Check if the expected type matches the type found on the type_map
186
- real_concrete_type = type(getattr(root, generic_field.name))
209
+ real_concrete_type = type(value)
187
210
 
188
211
  # TODO: uniform type var map, at the moment we map object types
189
212
  # to their class (not to TypeDefinition) while we map enum to
@@ -194,7 +194,6 @@ class StrawberryUnion(StrawberryType):
194
194
  # Union in case a nested generic object matches against more than one type.
195
195
  concrete_types_for_union = (type_map[x.name] for x in type_.types)
196
196
 
197
- # TODO: do we still need to iterate over all types in `type_map`?
198
197
  for possible_concrete_type in chain(
199
198
  concrete_types_for_union, type_map.values()
200
199
  ):
@@ -213,13 +212,9 @@ class StrawberryUnion(StrawberryType):
213
212
  info.field_name, str(type(root)), set(type_.types)
214
213
  )
215
214
 
216
- # Return the name of the type. Returning the actual type is now deprecated
217
- if isinstance(return_type, GraphQLNamedType):
218
- # TODO: Can return_type ever _not_ be a GraphQLNamedType?
219
- return return_type.name
220
- else:
221
- # TODO: check if this is correct
222
- return return_type.__name__ # type: ignore
215
+ assert isinstance(return_type, GraphQLNamedType)
216
+
217
+ return return_type.name
223
218
 
224
219
  return _resolve_union_type
225
220