@darabonba/python-generator 2.0.9 → 2.0.10

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 (156) hide show
  1. package/lib/builtin.js +12 -3
  2. package/lib/generator.js +234 -235
  3. package/lib/helper.js +237 -5
  4. package/package.json +1 -1
  5. package/tests/expected/alias/setup.py +17 -13
  6. package/tests/expected/alias/tea_python_tests/client.py +6 -6
  7. package/tests/expected/annotation/tea_python_tests/client.py +4 -4
  8. package/tests/expected/annotation/tea_python_tests/models/__init__.py +0 -2
  9. package/tests/expected/annotation/tea_python_tests/models/_test.py +1 -1
  10. package/tests/expected/api/tea_python_tests/client.py +4 -4
  11. package/tests/expected/builtin/tea_python_tests/client.py +18 -16
  12. package/tests/expected/comment/tea_python_tests/client.py +6 -5
  13. package/tests/expected/comment/tea_python_tests/models/__init__.py +0 -2
  14. package/tests/expected/comment/tea_python_tests/models/_test_1.py +2 -1
  15. package/tests/expected/comment/tea_python_tests/models/_test_2.py +1 -1
  16. package/tests/expected/comment/tea_python_tests/models/_test_3.py +1 -1
  17. package/tests/expected/complex/tea_python_tests/client.py +17 -16
  18. package/tests/expected/complex/tea_python_tests/exceptions/__init__.py +0 -2
  19. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +2 -1
  20. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  21. package/tests/expected/complex/tea_python_tests/models/__init__.py +0 -2
  22. package/tests/expected/complex/tea_python_tests/models/_complex_request.py +7 -6
  23. package/tests/expected/complex/tea_python_tests/models/_response.py +2 -2
  24. package/tests/expected/const/tea_python_tests/client.py +0 -2
  25. package/tests/expected/empty/tea_python_tests/client.py +0 -2
  26. package/tests/expected/exec/tea_python_tests/exec_client.py +3 -2
  27. package/tests/expected/function/tea_python_tests/client.py +2 -1
  28. package/tests/expected/import/setup.py +4 -2
  29. package/tests/expected/import/tea_python_tests/client.py +4 -3
  30. package/tests/expected/map/tea_python_tests/client.py +3 -3
  31. package/tests/expected/model/tea_python_tests/client.py +0 -2
  32. package/tests/expected/model/tea_python_tests/exceptions/__init__.py +0 -2
  33. package/tests/expected/model/tea_python_tests/exceptions/_main_file.py +3 -2
  34. package/tests/expected/model/tea_python_tests/models/__init__.py +0 -2
  35. package/tests/expected/model/tea_python_tests/models/_class.py +1 -1
  36. package/tests/expected/model/tea_python_tests/models/_m.py +2 -2
  37. package/tests/expected/model/tea_python_tests/models/_main_file.py +2 -2
  38. package/tests/expected/model/tea_python_tests/models/_model.py +1 -1
  39. package/tests/expected/model/tea_python_tests/models/_my_model.py +6 -5
  40. package/tests/expected/modelConfig/tea_python_tests/client.py +0 -2
  41. package/tests/expected/modelConfig/tea_python_tests/exceptions/__init__.py +0 -2
  42. package/tests/expected/modelConfig/tea_python_tests/exceptions/_main_file.py +3 -2
  43. package/tests/expected/modelConfig/tea_python_tests/models/__init__.py +0 -2
  44. package/tests/expected/modelConfig/tea_python_tests/models/_class.py +1 -1
  45. package/tests/expected/modelConfig/tea_python_tests/models/_m.py +2 -2
  46. package/tests/expected/modelConfig/tea_python_tests/models/_main_file.py +2 -2
  47. package/tests/expected/modelConfig/tea_python_tests/models/_model.py +1 -1
  48. package/tests/expected/modelConfig/tea_python_tests/models/_my_model.py +6 -5
  49. package/tests/expected/multi/tea_python_tests/api.py +5 -5
  50. package/tests/expected/multi/tea_python_tests/api_models/__init__.py +0 -2
  51. package/tests/expected/multi/tea_python_tests/api_models/_test_model_dir_2.py +1 -1
  52. package/tests/expected/multi/tea_python_tests/client.py +4 -3
  53. package/tests/expected/multi/tea_python_tests/exceptions/__init__.py +0 -2
  54. package/tests/expected/multi/tea_python_tests/exceptions/_err.py +1 -1
  55. package/tests/expected/multi/tea_python_tests/lib/util.py +0 -1
  56. package/tests/expected/multi/tea_python_tests/model/user.py +3 -2
  57. package/tests/expected/multi/tea_python_tests/model/user_exceptions/__init__.py +0 -2
  58. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  59. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  60. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  61. package/tests/expected/multi/tea_python_tests/model/user_models/__init__.py +0 -2
  62. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +1 -1
  63. package/tests/expected/multi/tea_python_tests/model/user_models/_info.py +1 -1
  64. package/tests/expected/multi/tea_python_tests/models/__init__.py +0 -2
  65. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +3 -2
  66. package/tests/expected/statements/tea_python_tests/client.py +3 -3
  67. package/tests/expected/super/tea_python_tests/client.py +2 -2
  68. package/tests/expected/typedef/tea_python_tests/client.py +5 -5
  69. package/tests/expected/typedef/tea_python_tests/models/__init__.py +0 -2
  70. package/tests/expected/typedef/tea_python_tests/models/_m.py +3 -3
  71. package/tests/fixtures/alias/Darafile +5 -4
  72. package/tests/fixtures/complex/libraries/import.dara +11 -0
  73. package/tests/fixtures/complex/main.dara +2 -2
  74. package/tests/main.tests.js +26 -23
  75. package/tests/output/alias/setup.py +15 -11
  76. package/tests/output/alias/tea_python_tests/client.py +6 -6
  77. package/tests/output/annotation/setup.py +6 -4
  78. package/tests/output/annotation/tea_python_tests/client.py +4 -4
  79. package/tests/output/annotation/tea_python_tests/models/__init__.py +0 -2
  80. package/tests/output/annotation/tea_python_tests/models/_test.py +1 -1
  81. package/tests/output/api/setup.py +6 -4
  82. package/tests/output/api/tea_python_tests/client.py +4 -4
  83. package/tests/output/builtin/setup.py +6 -4
  84. package/tests/output/builtin/tea_python_tests/client.py +18 -16
  85. package/tests/output/comment/setup.py +6 -4
  86. package/tests/output/comment/tea_python_tests/client.py +6 -5
  87. package/tests/output/comment/tea_python_tests/models/__init__.py +0 -2
  88. package/tests/output/comment/tea_python_tests/models/_test_1.py +2 -1
  89. package/tests/output/comment/tea_python_tests/models/_test_2.py +1 -1
  90. package/tests/output/comment/tea_python_tests/models/_test_3.py +1 -1
  91. package/tests/output/complex/setup.py +6 -4
  92. package/tests/output/complex/tea_python_tests/client.py +17 -16
  93. package/tests/output/complex/tea_python_tests/exceptions/__init__.py +0 -2
  94. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +2 -1
  95. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  96. package/tests/output/complex/tea_python_tests/models/__init__.py +0 -2
  97. package/tests/output/complex/tea_python_tests/models/_complex_request.py +7 -6
  98. package/tests/output/complex/tea_python_tests/models/_response.py +2 -2
  99. package/tests/output/const/setup.py +6 -4
  100. package/tests/output/const/tea_python_tests/client.py +0 -2
  101. package/tests/output/empty/setup.py +6 -4
  102. package/tests/output/empty/tea_python_tests/client.py +0 -2
  103. package/tests/output/exec/setup.py +6 -4
  104. package/tests/output/exec/tea_python_tests/exec_client.py +3 -2
  105. package/tests/output/function/setup.py +6 -4
  106. package/tests/output/function/tea_python_tests/client.py +2 -1
  107. package/tests/output/import/setup.py +5 -3
  108. package/tests/output/import/tea_python_tests/client.py +4 -3
  109. package/tests/output/map/setup.py +6 -4
  110. package/tests/output/map/tea_python_tests/client.py +3 -3
  111. package/tests/output/model/setup.py +6 -4
  112. package/tests/output/model/tea_python_tests/client.py +0 -2
  113. package/tests/output/model/tea_python_tests/exceptions/__init__.py +0 -2
  114. package/tests/output/model/tea_python_tests/exceptions/_main_file.py +3 -2
  115. package/tests/output/model/tea_python_tests/models/__init__.py +0 -2
  116. package/tests/output/model/tea_python_tests/models/_class.py +1 -1
  117. package/tests/output/model/tea_python_tests/models/_m.py +2 -2
  118. package/tests/output/model/tea_python_tests/models/_main_file.py +2 -2
  119. package/tests/output/model/tea_python_tests/models/_model.py +1 -1
  120. package/tests/output/model/tea_python_tests/models/_my_model.py +6 -5
  121. package/tests/output/modelConfig/setup.py +6 -4
  122. package/tests/output/modelConfig/tea_python_tests/client.py +0 -2
  123. package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +0 -2
  124. package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +3 -2
  125. package/tests/output/modelConfig/tea_python_tests/models/__init__.py +0 -2
  126. package/tests/output/modelConfig/tea_python_tests/models/_class.py +1 -1
  127. package/tests/output/modelConfig/tea_python_tests/models/_m.py +2 -2
  128. package/tests/output/modelConfig/tea_python_tests/models/_main_file.py +2 -2
  129. package/tests/output/modelConfig/tea_python_tests/models/_model.py +1 -1
  130. package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +6 -5
  131. package/tests/output/multi/setup.py +5 -3
  132. package/tests/output/multi/tea_python_tests/api.py +5 -5
  133. package/tests/output/multi/tea_python_tests/api_models/__init__.py +0 -2
  134. package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +1 -1
  135. package/tests/output/multi/tea_python_tests/client.py +4 -3
  136. package/tests/output/multi/tea_python_tests/exceptions/__init__.py +0 -2
  137. package/tests/output/multi/tea_python_tests/exceptions/_err.py +1 -1
  138. package/tests/output/multi/tea_python_tests/lib/util.py +0 -1
  139. package/tests/output/multi/tea_python_tests/model/user.py +3 -2
  140. package/tests/output/multi/tea_python_tests/model/user_exceptions/__init__.py +0 -2
  141. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  142. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  143. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  144. package/tests/output/multi/tea_python_tests/model/user_models/__init__.py +0 -2
  145. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +1 -1
  146. package/tests/output/multi/tea_python_tests/model/user_models/_info.py +1 -1
  147. package/tests/output/multi/tea_python_tests/models/__init__.py +0 -2
  148. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +3 -2
  149. package/tests/output/statements/setup.py +6 -4
  150. package/tests/output/statements/tea_python_tests/client.py +3 -3
  151. package/tests/output/super/setup.py +6 -4
  152. package/tests/output/super/tea_python_tests/client.py +2 -2
  153. package/tests/output/typedef/setup.py +5 -3
  154. package/tests/output/typedef/tea_python_tests/client.py +5 -5
  155. package/tests/output/typedef/tea_python_tests/models/__init__.py +0 -2
  156. package/tests/output/typedef/tea_python_tests/models/_m.py +3 -3
package/lib/builtin.js CHANGED
@@ -148,13 +148,22 @@ class URL extends Builtin {
148
148
 
149
149
  class Stream extends Builtin {
150
150
  constructor(generator) {
151
- const methods = ['readAsBytes', 'readAsJSON', 'readAsString', 'readAsSSE'];
151
+ const methods = ['readAsBytes', 'readAsJSON', 'readAsString'];
152
152
  super(generator, `${CORE}Stream`, methods);
153
153
  }
154
154
 
155
+ readAsSSE(ast, level, async) {
156
+ this.generator.imports.push(_getImport(this.module));
157
+ this.generator.emit(`${this.module}.read_as_sse`);
158
+ if(async) {
159
+ this.generator.emit('_async');
160
+ }
161
+ this.generator.visitArgs(ast.args, level);
162
+ }
163
+
155
164
  write(ast, level, async) {
156
165
  if(async) {
157
- this.emit('awiat ');
166
+ this.emit('await ');
158
167
  }
159
168
  this.generator.emit(`${_snakeCase(ast.left.id.lexeme)}.write${async ? '_async' : ''}(`);
160
169
  this.generator.visitExpr(ast.args[0], level);
@@ -431,7 +440,7 @@ class Func {
431
440
  sleep(ast, level, async) {
432
441
  const clientName = this.getClientName();
433
442
  if(async) {
434
- this.generator.emit('awiat ');
443
+ this.generator.emit('await ');
435
444
  }
436
445
  this.generator.emit(`${clientName}.sleep`);
437
446
  if(async) {