jararaca 0.3.12a20__py3-none-any.whl → 0.3.12a22__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

@@ -685,17 +685,31 @@ import { HttpService, HttpBackend, HttpBackendRequest, ResponseType, createClass
685
685
  function makeFormData(data: Record<string, any>): FormData {
686
686
  const formData = new FormData();
687
687
  for (const key in data) {
688
- if (Array.isArray(data[key])) {
689
- data[key].forEach((item: any) => {
690
- formData.append(key, item);
691
- });
692
- } else {
693
- formData.append(key, data[key]);
688
+ const value = data[key];
689
+ for (const v of genFormDataValue(value)) {
690
+ formData.append(key, v);
694
691
  }
695
692
  }
696
693
  return formData;
697
694
  }
698
695
 
696
+ function* genFormDataValue(value: any): any {
697
+ if (Array.isArray(value)) {
698
+ // Stringify arrays as JSON
699
+ for (const item of value) {
700
+ // formData.append(`${key}`, item);
701
+ yield* genFormDataValue(item);
702
+ }
703
+ } else if (typeof value === "object" && value.constructor === Object) {
704
+ // Stringify plain objects as JSON
705
+ // formData.append(key, JSON.stringify(value));
706
+ yield JSON.stringify(value);
707
+ } else {
708
+ // For primitives (string, number, boolean), append as-is
709
+ yield value;
710
+ }
711
+ }
712
+
699
713
  export type WebSocketMessageMap = {
700
714
  %s
701
715
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jararaca
3
- Version: 0.3.12a20
3
+ Version: 0.3.12a22
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
@@ -27,6 +27,7 @@ Requires-Dist: redis (>=5.0.8,<6.0.0)
27
27
  Requires-Dist: sqlalchemy (>=2.0.34,<3.0.0)
28
28
  Requires-Dist: types-croniter (>=3.0.3.20240731,<4.0.0.0)
29
29
  Requires-Dist: types-redis (>=4.6.0.20240903,<5.0.0.0)
30
+ Requires-Dist: urllib3 (>=2.3.0,<3.0.0)
30
31
  Requires-Dist: uvicorn (>=0.30.6,<0.31.0)
31
32
  Requires-Dist: uvloop (>=0.20.0,<0.21.0)
32
33
  Requires-Dist: watchdog (>=3.0.0,<4.0.0) ; extra == "watch"
@@ -1,6 +1,6 @@
1
1
  LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
2
2
  README.md,sha256=2qMM__t_MoLKZr4IY9tXjo-Jn6LKjuHMb1qbyXpgL08,3401
3
- pyproject.toml,sha256=uJ0U1QV3oT9pdznIF6jWS3yTivDWOsFWynfAES9yqIU,2041
3
+ pyproject.toml,sha256=oFFxCzmbhLtjUJxmR15XetlFISif5aYSACnRXpD4tdQ,2060
4
4
  jararaca/__init__.py,sha256=vK3zyIVLckwZgj1FPX6jzSbzaSWmSy3wQ2KMwmpJnmg,22046
5
5
  jararaca/__main__.py,sha256=-O3vsB5lHdqNFjUtoELDF81IYFtR-DSiiFMzRaiSsv4,67
6
6
  jararaca/broker_backend/__init__.py,sha256=GzEIuHR1xzgCJD4FE3harNjoaYzxHMHoEL0_clUaC-k,3528
@@ -70,12 +70,12 @@ jararaca/tools/app_config/decorators.py,sha256=-ckkMZ1dswOmECdo1rFrZ15UAku--txaN
70
70
  jararaca/tools/app_config/interceptor.py,sha256=HV8h4AxqUc_ACs5do4BSVlyxlRXzx7HqJtoVO9tfRnQ,2611
71
71
  jararaca/tools/typescript/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
72
  jararaca/tools/typescript/decorators.py,sha256=y1zBq8mBZ8CBXlZ0nKy2RyIgCvP9kp4elACbaC6dptQ,2946
73
- jararaca/tools/typescript/interface_parser.py,sha256=Nsct1hdF35yAvXrXL-MVIC-uGKeQ3CY3xn-ixXfUidQ,53545
73
+ jararaca/tools/typescript/interface_parser.py,sha256=hJzP-XCwVQ7kjJHBj9VGq8mrSdNQjO0VlYFIPVf4ukI,53997
74
74
  jararaca/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
75
  jararaca/utils/rabbitmq_utils.py,sha256=ytdAFUyv-OBkaVnxezuJaJoLrmN7giZgtKeet_IsMBs,10918
76
76
  jararaca/utils/retry.py,sha256=DzPX_fXUvTqej6BQ8Mt2dvLo9nNlTBm7Kx2pFZ26P2Q,4668
77
- jararaca-0.3.12a20.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
78
- jararaca-0.3.12a20.dist-info/METADATA,sha256=f2WNsZHRbUMukKcfHiuZ08BNQuziV1ZEjigRDcS9Et8,4996
79
- jararaca-0.3.12a20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
- jararaca-0.3.12a20.dist-info/entry_points.txt,sha256=WIh3aIvz8LwUJZIDfs4EeH3VoFyCGEk7cWJurW38q0I,45
81
- jararaca-0.3.12a20.dist-info/RECORD,,
77
+ jararaca-0.3.12a22.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
78
+ jararaca-0.3.12a22.dist-info/METADATA,sha256=nsMOR_wNRfilnsinCu3kl-9IG6ePmLvBjxP7jCGRCYk,5036
79
+ jararaca-0.3.12a22.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
80
+ jararaca-0.3.12a22.dist-info/entry_points.txt,sha256=WIh3aIvz8LwUJZIDfs4EeH3VoFyCGEk7cWJurW38q0I,45
81
+ jararaca-0.3.12a22.dist-info/RECORD,,
pyproject.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "jararaca"
3
- version = "0.3.12a20"
3
+ version = "0.3.12a22"
4
4
  description = "A simple and fast API framework for Python"
5
5
  authors = ["Lucas S <me@luscasleo.dev>"]
6
6
  readme = "README.md"
@@ -29,6 +29,7 @@ types-redis = "^4.6.0.20240903"
29
29
  mako = "^1.3.5"
30
30
  watchdog = { version = "^3.0.0", optional = true }
31
31
  frozendict = "^2.4.6"
32
+ urllib3 = "^2.3.0"
32
33
 
33
34
 
34
35
  [tool.poetry.extras]