jararaca 0.2.28__tar.gz → 0.2.29__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.

Potentially problematic release.


This version of jararaca might be problematic. Click here for more details.

Files changed (78) hide show
  1. {jararaca-0.2.28 → jararaca-0.2.29}/PKG-INFO +1 -1
  2. {jararaca-0.2.28 → jararaca-0.2.29}/pyproject.toml +1 -1
  3. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/tools/typescript/interface_parser.py +11 -1
  4. {jararaca-0.2.28 → jararaca-0.2.29}/LICENSE +0 -0
  5. {jararaca-0.2.28 → jararaca-0.2.29}/README.md +0 -0
  6. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Message Bus/Decorators.md +0 -0
  7. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Message Bus/Interceptors.md +0 -0
  8. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Observability/Decorators.md +0 -0
  9. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Observability/Interceptors.md +0 -0
  10. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Presentation/Decorators.md +0 -0
  11. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/RPC/RestClients/Decorators.md +0 -0
  12. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/RPC/RestClients/Middlewared.md +0 -0
  13. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Schedule/Decorators.md +0 -0
  14. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Websocket/Decorators.md +0 -0
  15. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Architecture/Websocket/Interceptors.md +0 -0
  16. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Concept/Adapters.md +0 -0
  17. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Concept/Hexagonal Architecture.md +0 -0
  18. {jararaca-0.2.28 → jararaca-0.2.29}/docs/Concept/Ports.md +0 -0
  19. {jararaca-0.2.28 → jararaca-0.2.29}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
  20. {jararaca-0.2.28 → jararaca-0.2.29}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
  21. {jararaca-0.2.28 → jararaca-0.2.29}/docs/assets/tracing_example.png +0 -0
  22. {jararaca-0.2.28 → jararaca-0.2.29}/docs/index.md +0 -0
  23. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/__init__.py +0 -0
  24. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/__main__.py +0 -0
  25. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/cli.py +0 -0
  26. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/common/__init__.py +0 -0
  27. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/core/__init__.py +0 -0
  28. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/core/providers.py +0 -0
  29. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/core/uow.py +0 -0
  30. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/di.py +0 -0
  31. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/files/entity.py.mako +0 -0
  32. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/lifecycle.py +0 -0
  33. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/__init__.py +0 -0
  34. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/decorators.py +0 -0
  35. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
  36. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/interceptors/publisher_interceptor.py +0 -0
  37. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/publisher.py +0 -0
  38. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/types.py +0 -0
  39. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/messagebus/worker.py +0 -0
  40. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/microservice.py +0 -0
  41. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/observability/decorators.py +0 -0
  42. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/observability/interceptor.py +0 -0
  43. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/observability/providers/__init__.py +0 -0
  44. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/observability/providers/otel.py +0 -0
  45. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/base.py +0 -0
  46. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/exports.py +0 -0
  47. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/interceptors/__init__.py +0 -0
  48. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +0 -0
  49. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/session.py +0 -0
  50. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/sort_filter.py +0 -0
  51. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/persistence/utilities.py +0 -0
  52. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/__init__.py +0 -0
  53. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/decorators.py +0 -0
  54. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/hooks.py +0 -0
  55. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/http_microservice.py +0 -0
  56. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/server.py +0 -0
  57. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/__init__.py +0 -0
  58. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/base_types.py +0 -0
  59. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/context.py +0 -0
  60. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/decorators.py +0 -0
  61. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/redis.py +0 -0
  62. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/types.py +0 -0
  63. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
  64. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/py.typed +0 -0
  65. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/__init__.py +0 -0
  66. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/__init__.py +0 -0
  67. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/backends/__init__.py +0 -0
  68. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/backends/httpx.py +0 -0
  69. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/backends/otel.py +0 -0
  70. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/decorators.py +0 -0
  71. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/rpc/http/httpx.py +0 -0
  72. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/scheduler/__init__.py +0 -0
  73. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/scheduler/decorators.py +0 -0
  74. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/scheduler/scheduler.py +0 -0
  75. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/tools/app_config/__init__.py +0 -0
  76. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/tools/app_config/decorators.py +0 -0
  77. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/tools/app_config/interceptor.py +0 -0
  78. {jararaca-0.2.28 → jararaca-0.2.29}/src/jararaca/tools/metadata.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jararaca
3
- Version: 0.2.28
3
+ Version: 0.2.29
4
4
  Summary: A simple and fast API framework for Python
5
5
  Home-page: https://github.com/LuscasLeo/jararaca
6
6
  Author: Lucas S
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "jararaca"
3
- version = "0.2.28"
3
+ version = "0.2.29"
4
4
  description = "A simple and fast API framework for Python"
5
5
  authors = ["Lucas S <me@luscasleo.dev>"]
6
6
  readme = "README.md"
@@ -27,6 +27,7 @@ from fastapi import Request, Response, UploadFile
27
27
  from fastapi.params import Body, Cookie, Depends, Header, Path, Query
28
28
  from fastapi.security.http import HTTPBase
29
29
  from pydantic import BaseModel, PlainValidator
30
+ from pydantic_core import PydanticUndefinedType
30
31
 
31
32
  from jararaca.microservice import Microservice
32
33
  from jararaca.presentation.decorators import HttpMapping, RestController
@@ -259,8 +260,17 @@ def parse_type_to_typescript_interface(
259
260
  for field_name, field in basemodel_type.__annotations__.items():
260
261
  if field_name in cls_consts:
261
262
  continue
263
+
264
+ has_default_value = (
265
+ get_origin(field) is not Literal
266
+ and field_name in basemodel_type.model_fields
267
+ and not isinstance(
268
+ basemodel_type.model_fields[field_name].default,
269
+ PydanticUndefinedType,
270
+ )
271
+ )
262
272
  string_builder.write(
263
- f" {snake_to_camel(field_name) if not is_constant(field_name) else field_name}: {get_field_type_for_ts(field)};\n"
273
+ f" {snake_to_camel(field_name) if not is_constant(field_name) else field_name}{'?' if has_default_value else ''}: {get_field_type_for_ts(field)};\n"
264
274
  )
265
275
  mapped_types.update(extract_all_envolved_types(field))
266
276
  mapped_types.add(field)
File without changes
File without changes
File without changes
File without changes
File without changes