jararaca 0.3.12a0__tar.gz → 0.3.12a2__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.
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/PKG-INFO +1 -1
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/pyproject.toml +1 -1
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/tools/typescript/interface_parser.py +29 -4
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/LICENSE +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/README.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/CNAME +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/architecture.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/assets/tracing_example.png +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/index.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/messagebus.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/retry.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/scheduler.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/stylesheets/custom.css +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/websocket.md +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/__main__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/broker_backend/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/broker_backend/mapper.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/broker_backend/redis_broker_backend.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/cli.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/common/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/core/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/core/providers.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/core/uow.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/di.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/files/entity.py.mako +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/lifecycle.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/bus_message_controller.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/consumers/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/interceptors/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/interceptors/aiopika_publisher_interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/interceptors/publisher_interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/message.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/publisher.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/messagebus/worker.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/microservice.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/observability/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/observability/interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/observability/providers/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/observability/providers/otel.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/base.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/exports.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/interceptors/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/session.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/sort_filter.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/utilities.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/hooks.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/http_microservice.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/server.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/base_types.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/context.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/redis.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/types.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/websocket_interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/py.typed +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/reflect/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/reflect/controller_inspect.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/reflect/metadata.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/backends/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/backends/httpx.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/backends/otel.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/rpc/http/httpx.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/scheduler/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/scheduler/beat_worker.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/scheduler/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/scheduler/types.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/tools/app_config/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/tools/app_config/decorators.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/tools/app_config/interceptor.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/utils/__init__.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/utils/rabbitmq_utils.py +0 -0
- {jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/utils/retry.py +0 -0
|
@@ -406,6 +406,7 @@ export type ResponseType =
|
|
|
406
406
|
export interface HttpBackendRequest {
|
|
407
407
|
method: string;
|
|
408
408
|
path: string;
|
|
409
|
+
pathParams: { [key: string]: string };
|
|
409
410
|
headers: { [key: string]: string };
|
|
410
411
|
query: { [key: string]: unknown };
|
|
411
412
|
body: unknown;
|
|
@@ -543,6 +544,16 @@ def write_rest_controller_to_typescript_interface(
|
|
|
543
544
|
)
|
|
544
545
|
class_buffer.write(f"\t\t\tpath: `/{final_path}`,\n")
|
|
545
546
|
|
|
547
|
+
# Sort path params
|
|
548
|
+
path_params = sorted(
|
|
549
|
+
[param for param in arg_params_spec if param.type_ == "path"],
|
|
550
|
+
key=lambda x: x.name,
|
|
551
|
+
)
|
|
552
|
+
class_buffer.write("\t\t\tpathParams: {\n")
|
|
553
|
+
for param in path_params:
|
|
554
|
+
class_buffer.write(f'\t\t\t\t"{param.name}": {param.name},\n')
|
|
555
|
+
class_buffer.write("\t\t\t},\n")
|
|
556
|
+
|
|
546
557
|
# Sort headers
|
|
547
558
|
header_params = sorted(
|
|
548
559
|
[param for param in arg_params_spec if param.type_ == "header"],
|
|
@@ -592,8 +603,19 @@ class HttpParemeterSpec:
|
|
|
592
603
|
|
|
593
604
|
|
|
594
605
|
def parse_path_with_params(path: str, parameters: list[HttpParemeterSpec]) -> str:
|
|
606
|
+
# Use a regular expression to match both simple parameters {param} and
|
|
607
|
+
# parameters with converters {param:converter}
|
|
608
|
+
import re
|
|
609
|
+
|
|
610
|
+
pattern = re.compile(r"{([^:}]+)(?::[^}]*)?}")
|
|
611
|
+
|
|
612
|
+
# For each parameter found in the path, replace it with :param format
|
|
595
613
|
for parameter in parameters:
|
|
596
|
-
path =
|
|
614
|
+
path = pattern.sub(
|
|
615
|
+
lambda m: f":{m.group(1)}" if m.group(1) == parameter.name else m.group(0),
|
|
616
|
+
path,
|
|
617
|
+
)
|
|
618
|
+
|
|
597
619
|
return path
|
|
598
620
|
|
|
599
621
|
|
|
@@ -717,7 +739,9 @@ def extract_parameters(
|
|
|
717
739
|
)
|
|
718
740
|
mapped_types.update(rec_mapped_types)
|
|
719
741
|
parameters_list.extend(rec_parameters)
|
|
720
|
-
elif
|
|
742
|
+
elif (
|
|
743
|
+
re.search(f":{parameter_name}(?:/|$)", controller.path) is not None
|
|
744
|
+
):
|
|
721
745
|
mapped_types.add(annotated_type)
|
|
722
746
|
parameters_list.append(
|
|
723
747
|
HttpParemeterSpec(
|
|
@@ -751,8 +775,9 @@ def extract_parameters(
|
|
|
751
775
|
)
|
|
752
776
|
)
|
|
753
777
|
elif (
|
|
754
|
-
|
|
755
|
-
|
|
778
|
+
# Match both simple parameters {param} and parameters with converters {param:converter}
|
|
779
|
+
re.search(f"{{{parameter_name}(:.*?)?}}", controller.path) is not None
|
|
780
|
+
or re.search(f"{{{parameter_name}(:.*?)?}}", mapping.path) is not None
|
|
756
781
|
):
|
|
757
782
|
mapped_types.add(parameter_type)
|
|
758
783
|
parameters_list.append(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.jpeg
RENAMED
|
File without changes
|
{jararaca-0.3.12a0 → jararaca-0.3.12a2}/docs/assets/_f04774c9-7e05-4da4-8b17-8be23f6a1475.webp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/persistence/interceptors/aiosqa_interceptor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jararaca-0.3.12a0 → jararaca-0.3.12a2}/src/jararaca/presentation/websocket/websocket_interceptor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|