@goast/kotlin 0.4.0 → 0.4.2-beta1

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 (500) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +45 -45
  3. package/assets/client/okhttp3/ApiClient.kt +250 -249
  4. package/esm/src/assets.js +1 -1
  5. package/esm/src/ast/references/okhttp3.js +1 -1
  6. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  7. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +29 -27
  8. package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  9. package/esm/src/generators/services/spring-controllers/spring-controller-generator.js +0 -13
  10. package/package.json +2 -2
  11. package/script/src/assets.js +1 -1
  12. package/script/src/ast/references/okhttp3.js +1 -1
  13. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +1 -1
  14. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +29 -27
  15. package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +1 -1
  16. package/script/src/generators/services/spring-controllers/spring-controller-generator.js +0 -13
  17. package/esm/_dnt.test_polyfills.d.ts +0 -18
  18. package/esm/_dnt.test_polyfills.d.ts.map +0 -1
  19. package/esm/_dnt.test_polyfills.js +0 -17
  20. package/esm/_dnt.test_shims.d.ts +0 -6
  21. package/esm/_dnt.test_shims.d.ts.map +0 -1
  22. package/esm/_dnt.test_shims.js +0 -61
  23. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +0 -26
  24. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +0 -1
  25. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +0 -30
  26. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +0 -17
  27. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +0 -1
  28. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.js +0 -136
  29. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +0 -22
  30. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +0 -1
  31. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.js +0 -45
  32. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts +0 -18
  33. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +0 -1
  34. package/esm/deps/jsr.io/@std/assert/1.0.6/false.js +0 -22
  35. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +0 -23
  36. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +0 -1
  37. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.js +0 -53
  38. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +0 -25
  39. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +0 -1
  40. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.js +0 -54
  41. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts +0 -18
  42. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +0 -1
  43. package/esm/deps/jsr.io/@std/assert/1.0.6/match.js +0 -26
  44. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +0 -20
  45. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +0 -1
  46. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +0 -29
  47. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +0 -18
  48. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +0 -1
  49. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.js +0 -26
  50. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +0 -23
  51. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +0 -1
  52. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +0 -32
  53. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +0 -28
  54. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +0 -1
  55. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.js +0 -159
  56. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts +0 -42
  57. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts.map +0 -1
  58. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.js +0 -53
  59. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +0 -24
  60. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +0 -1
  61. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +0 -57
  62. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts +0 -20
  63. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts.map +0 -1
  64. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_equals.js +0 -29
  65. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts +0 -17
  66. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts.map +0 -1
  67. package/esm/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.js +0 -26
  68. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts +0 -3
  69. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts.map +0 -1
  70. package/esm/deps/jsr.io/@std/expect/1.0.5/_assertion.js +0 -9
  71. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts +0 -36
  72. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts.map +0 -1
  73. package/esm/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.js +0 -124
  74. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts +0 -6
  75. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts.map +0 -1
  76. package/esm/deps/jsr.io/@std/expect/1.0.5/_build_message.js +0 -29
  77. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts +0 -4
  78. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts.map +0 -1
  79. package/esm/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.js +0 -11
  80. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts +0 -9
  81. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts.map +0 -1
  82. package/esm/deps/jsr.io/@std/expect/1.0.5/_equal.js +0 -191
  83. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts +0 -4
  84. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts.map +0 -1
  85. package/esm/deps/jsr.io/@std/expect/1.0.5/_extend.js +0 -11
  86. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts +0 -3
  87. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts.map +0 -1
  88. package/esm/deps/jsr.io/@std/expect/1.0.5/_inspect_args.js +0 -12
  89. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts +0 -34
  90. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts.map +0 -1
  91. package/esm/deps/jsr.io/@std/expect/1.0.5/_matchers.js +0 -564
  92. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts +0 -11
  93. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts.map +0 -1
  94. package/esm/deps/jsr.io/@std/expect/1.0.5/_mock_util.js +0 -10
  95. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.d.ts +0 -838
  96. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.d.ts.map +0 -1
  97. package/esm/deps/jsr.io/@std/expect/1.0.5/_types.js +0 -3
  98. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts +0 -8
  99. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts.map +0 -1
  100. package/esm/deps/jsr.io/@std/expect/1.0.5/_utils.js +0 -159
  101. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.d.ts +0 -51
  102. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.d.ts.map +0 -1
  103. package/esm/deps/jsr.io/@std/expect/1.0.5/expect.js +0 -425
  104. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +0 -75
  105. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +0 -1
  106. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +0 -101
  107. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +0 -82
  108. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +0 -1
  109. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.js +0 -111
  110. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +0 -140
  111. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +0 -1
  112. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.js +0 -277
  113. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +0 -99
  114. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +0 -1
  115. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.js +0 -180
  116. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts +0 -2
  117. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +0 -1
  118. package/esm/deps/jsr.io/@std/internal/1.0.4/format.js +0 -37
  119. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +0 -159
  120. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +0 -1
  121. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.js +0 -207
  122. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts +0 -16
  123. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +0 -1
  124. package/esm/deps/jsr.io/@std/internal/1.0.4/types.js +0 -2
  125. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +0 -74
  126. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +0 -1
  127. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +0 -340
  128. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +0 -731
  129. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +0 -1
  130. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.js +0 -576
  131. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.d.ts +0 -674
  132. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.d.ts.map +0 -1
  133. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.js +0 -1117
  134. package/esm/src/ast/nodes/annotation.test.d.ts +0 -2
  135. package/esm/src/ast/nodes/annotation.test.d.ts.map +0 -1
  136. package/esm/src/ast/nodes/annotation.test.js +0 -56
  137. package/esm/src/ast/nodes/argument.test.d.ts +0 -2
  138. package/esm/src/ast/nodes/argument.test.d.ts.map +0 -1
  139. package/esm/src/ast/nodes/argument.test.js +0 -33
  140. package/esm/src/ast/nodes/call.test.d.ts +0 -2
  141. package/esm/src/ast/nodes/call.test.d.ts.map +0 -1
  142. package/esm/src/ast/nodes/call.test.js +0 -35
  143. package/esm/src/ast/nodes/class.test.d.ts +0 -2
  144. package/esm/src/ast/nodes/class.test.d.ts.map +0 -1
  145. package/esm/src/ast/nodes/class.test.js +0 -219
  146. package/esm/src/ast/nodes/constructor.test.d.ts +0 -2
  147. package/esm/src/ast/nodes/constructor.test.d.ts.map +0 -1
  148. package/esm/src/ast/nodes/constructor.test.js +0 -139
  149. package/esm/src/ast/nodes/doc-tag.test.d.ts +0 -2
  150. package/esm/src/ast/nodes/doc-tag.test.d.ts.map +0 -1
  151. package/esm/src/ast/nodes/doc-tag.test.js +0 -67
  152. package/esm/src/ast/nodes/doc.test.d.ts +0 -2
  153. package/esm/src/ast/nodes/doc.test.d.ts.map +0 -1
  154. package/esm/src/ast/nodes/doc.test.js +0 -33
  155. package/esm/src/ast/nodes/enum-value.test.d.ts +0 -2
  156. package/esm/src/ast/nodes/enum-value.test.d.ts.map +0 -1
  157. package/esm/src/ast/nodes/enum-value.test.js +0 -115
  158. package/esm/src/ast/nodes/enum.test.d.ts +0 -2
  159. package/esm/src/ast/nodes/enum.test.d.ts.map +0 -1
  160. package/esm/src/ast/nodes/enum.test.js +0 -129
  161. package/esm/src/ast/nodes/function.test.d.ts +0 -2
  162. package/esm/src/ast/nodes/function.test.d.ts.map +0 -1
  163. package/esm/src/ast/nodes/function.test.js +0 -160
  164. package/esm/src/ast/nodes/generic-parameter.test.d.ts +0 -2
  165. package/esm/src/ast/nodes/generic-parameter.test.d.ts.map +0 -1
  166. package/esm/src/ast/nodes/generic-parameter.test.js +0 -49
  167. package/esm/src/ast/nodes/init-block.test.d.ts +0 -2
  168. package/esm/src/ast/nodes/init-block.test.d.ts.map +0 -1
  169. package/esm/src/ast/nodes/init-block.test.js +0 -28
  170. package/esm/src/ast/nodes/interface.test.d.ts +0 -2
  171. package/esm/src/ast/nodes/interface.test.d.ts.map +0 -1
  172. package/esm/src/ast/nodes/interface.test.js +0 -121
  173. package/esm/src/ast/nodes/object.test.d.ts +0 -2
  174. package/esm/src/ast/nodes/object.test.d.ts.map +0 -1
  175. package/esm/src/ast/nodes/object.test.js +0 -78
  176. package/esm/src/ast/nodes/parameter.test.d.ts +0 -2
  177. package/esm/src/ast/nodes/parameter.test.d.ts.map +0 -1
  178. package/esm/src/ast/nodes/parameter.test.js +0 -152
  179. package/esm/src/ast/nodes/property.test.d.ts +0 -2
  180. package/esm/src/ast/nodes/property.test.d.ts.map +0 -1
  181. package/esm/src/ast/nodes/property.test.js +0 -206
  182. package/esm/src/ast/nodes/reference.test.d.ts +0 -2
  183. package/esm/src/ast/nodes/reference.test.d.ts.map +0 -1
  184. package/esm/src/ast/nodes/reference.test.js +0 -36
  185. package/esm/src/ast/nodes/string.test.d.ts +0 -2
  186. package/esm/src/ast/nodes/string.test.d.ts.map +0 -1
  187. package/esm/src/ast/nodes/string.test.js +0 -48
  188. package/esm/src/import-collection.test.d.ts +0 -2
  189. package/esm/src/import-collection.test.d.ts.map +0 -1
  190. package/esm/src/import-collection.test.js +0 -99
  191. package/esm/tests/openapi-models.test.d.ts +0 -2
  192. package/esm/tests/openapi-models.test.d.ts.map +0 -1
  193. package/esm/tests/openapi-models.test.js +0 -45
  194. package/script/_dnt.test_polyfills.d.ts +0 -18
  195. package/script/_dnt.test_polyfills.d.ts.map +0 -1
  196. package/script/_dnt.test_polyfills.js +0 -18
  197. package/script/_dnt.test_shims.d.ts +0 -6
  198. package/script/_dnt.test_shims.d.ts.map +0 -1
  199. package/script/_dnt.test_shims.js +0 -65
  200. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +0 -26
  201. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +0 -1
  202. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +0 -34
  203. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +0 -17
  204. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +0 -1
  205. package/script/deps/jsr.io/@std/assert/1.0.6/equal.js +0 -139
  206. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +0 -22
  207. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +0 -1
  208. package/script/deps/jsr.io/@std/assert/1.0.6/equals.js +0 -48
  209. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts +0 -18
  210. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +0 -1
  211. package/script/deps/jsr.io/@std/assert/1.0.6/false.js +0 -25
  212. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +0 -23
  213. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +0 -1
  214. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.js +0 -56
  215. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +0 -25
  216. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +0 -1
  217. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.js +0 -57
  218. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts +0 -18
  219. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +0 -1
  220. package/script/deps/jsr.io/@std/assert/1.0.6/match.js +0 -29
  221. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +0 -20
  222. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +0 -1
  223. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +0 -32
  224. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +0 -18
  225. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +0 -1
  226. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.js +0 -29
  227. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +0 -23
  228. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +0 -1
  229. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +0 -35
  230. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +0 -28
  231. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +0 -1
  232. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.js +0 -162
  233. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts +0 -42
  234. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts.map +0 -1
  235. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.js +0 -56
  236. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +0 -24
  237. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +0 -1
  238. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +0 -60
  239. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts +0 -20
  240. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.d.ts.map +0 -1
  241. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_equals.js +0 -32
  242. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts +0 -17
  243. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.d.ts.map +0 -1
  244. package/script/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.js +0 -29
  245. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts +0 -3
  246. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.d.ts.map +0 -1
  247. package/script/deps/jsr.io/@std/expect/1.0.5/_assertion.js +0 -13
  248. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts +0 -36
  249. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.d.ts.map +0 -1
  250. package/script/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.js +0 -140
  251. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts +0 -6
  252. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.d.ts.map +0 -1
  253. package/script/deps/jsr.io/@std/expect/1.0.5/_build_message.js +0 -33
  254. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts +0 -4
  255. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.d.ts.map +0 -1
  256. package/script/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.js +0 -15
  257. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts +0 -9
  258. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.d.ts.map +0 -1
  259. package/script/deps/jsr.io/@std/expect/1.0.5/_equal.js +0 -194
  260. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts +0 -4
  261. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.d.ts.map +0 -1
  262. package/script/deps/jsr.io/@std/expect/1.0.5/_extend.js +0 -15
  263. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts +0 -3
  264. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.d.ts.map +0 -1
  265. package/script/deps/jsr.io/@std/expect/1.0.5/_inspect_args.js +0 -17
  266. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts +0 -34
  267. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.d.ts.map +0 -1
  268. package/script/deps/jsr.io/@std/expect/1.0.5/_matchers.js +0 -598
  269. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts +0 -11
  270. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.d.ts.map +0 -1
  271. package/script/deps/jsr.io/@std/expect/1.0.5/_mock_util.js +0 -14
  272. package/script/deps/jsr.io/@std/expect/1.0.5/_types.d.ts +0 -838
  273. package/script/deps/jsr.io/@std/expect/1.0.5/_types.d.ts.map +0 -1
  274. package/script/deps/jsr.io/@std/expect/1.0.5/_types.js +0 -4
  275. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts +0 -8
  276. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.d.ts.map +0 -1
  277. package/script/deps/jsr.io/@std/expect/1.0.5/_utils.js +0 -166
  278. package/script/deps/jsr.io/@std/expect/1.0.5/expect.d.ts +0 -51
  279. package/script/deps/jsr.io/@std/expect/1.0.5/expect.d.ts.map +0 -1
  280. package/script/deps/jsr.io/@std/expect/1.0.5/expect.js +0 -429
  281. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +0 -75
  282. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +0 -1
  283. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +0 -106
  284. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +0 -82
  285. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +0 -1
  286. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.js +0 -116
  287. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +0 -140
  288. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +0 -1
  289. package/script/deps/jsr.io/@std/internal/1.0.4/diff.js +0 -284
  290. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +0 -99
  291. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +0 -1
  292. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.js +0 -186
  293. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts +0 -2
  294. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +0 -1
  295. package/script/deps/jsr.io/@std/internal/1.0.4/format.js +0 -41
  296. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +0 -159
  297. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +0 -1
  298. package/script/deps/jsr.io/@std/internal/1.0.4/styles.js +0 -220
  299. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts +0 -16
  300. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +0 -1
  301. package/script/deps/jsr.io/@std/internal/1.0.4/types.js +0 -3
  302. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +0 -74
  303. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +0 -1
  304. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +0 -345
  305. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +0 -731
  306. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +0 -1
  307. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.js +0 -587
  308. package/script/deps/jsr.io/@std/testing/1.0.3/mock.d.ts +0 -674
  309. package/script/deps/jsr.io/@std/testing/1.0.3/mock.d.ts.map +0 -1
  310. package/script/deps/jsr.io/@std/testing/1.0.3/mock.js +0 -1136
  311. package/script/src/ast/nodes/annotation.test.d.ts +0 -2
  312. package/script/src/ast/nodes/annotation.test.d.ts.map +0 -1
  313. package/script/src/ast/nodes/annotation.test.js +0 -58
  314. package/script/src/ast/nodes/argument.test.d.ts +0 -2
  315. package/script/src/ast/nodes/argument.test.d.ts.map +0 -1
  316. package/script/src/ast/nodes/argument.test.js +0 -35
  317. package/script/src/ast/nodes/call.test.d.ts +0 -2
  318. package/script/src/ast/nodes/call.test.d.ts.map +0 -1
  319. package/script/src/ast/nodes/call.test.js +0 -37
  320. package/script/src/ast/nodes/class.test.d.ts +0 -2
  321. package/script/src/ast/nodes/class.test.d.ts.map +0 -1
  322. package/script/src/ast/nodes/class.test.js +0 -221
  323. package/script/src/ast/nodes/constructor.test.d.ts +0 -2
  324. package/script/src/ast/nodes/constructor.test.d.ts.map +0 -1
  325. package/script/src/ast/nodes/constructor.test.js +0 -141
  326. package/script/src/ast/nodes/doc-tag.test.d.ts +0 -2
  327. package/script/src/ast/nodes/doc-tag.test.d.ts.map +0 -1
  328. package/script/src/ast/nodes/doc-tag.test.js +0 -69
  329. package/script/src/ast/nodes/doc.test.d.ts +0 -2
  330. package/script/src/ast/nodes/doc.test.d.ts.map +0 -1
  331. package/script/src/ast/nodes/doc.test.js +0 -35
  332. package/script/src/ast/nodes/enum-value.test.d.ts +0 -2
  333. package/script/src/ast/nodes/enum-value.test.d.ts.map +0 -1
  334. package/script/src/ast/nodes/enum-value.test.js +0 -117
  335. package/script/src/ast/nodes/enum.test.d.ts +0 -2
  336. package/script/src/ast/nodes/enum.test.d.ts.map +0 -1
  337. package/script/src/ast/nodes/enum.test.js +0 -131
  338. package/script/src/ast/nodes/function.test.d.ts +0 -2
  339. package/script/src/ast/nodes/function.test.d.ts.map +0 -1
  340. package/script/src/ast/nodes/function.test.js +0 -162
  341. package/script/src/ast/nodes/generic-parameter.test.d.ts +0 -2
  342. package/script/src/ast/nodes/generic-parameter.test.d.ts.map +0 -1
  343. package/script/src/ast/nodes/generic-parameter.test.js +0 -51
  344. package/script/src/ast/nodes/init-block.test.d.ts +0 -2
  345. package/script/src/ast/nodes/init-block.test.d.ts.map +0 -1
  346. package/script/src/ast/nodes/init-block.test.js +0 -30
  347. package/script/src/ast/nodes/interface.test.d.ts +0 -2
  348. package/script/src/ast/nodes/interface.test.d.ts.map +0 -1
  349. package/script/src/ast/nodes/interface.test.js +0 -123
  350. package/script/src/ast/nodes/object.test.d.ts +0 -2
  351. package/script/src/ast/nodes/object.test.d.ts.map +0 -1
  352. package/script/src/ast/nodes/object.test.js +0 -80
  353. package/script/src/ast/nodes/parameter.test.d.ts +0 -2
  354. package/script/src/ast/nodes/parameter.test.d.ts.map +0 -1
  355. package/script/src/ast/nodes/parameter.test.js +0 -154
  356. package/script/src/ast/nodes/property.test.d.ts +0 -2
  357. package/script/src/ast/nodes/property.test.d.ts.map +0 -1
  358. package/script/src/ast/nodes/property.test.js +0 -208
  359. package/script/src/ast/nodes/reference.test.d.ts +0 -2
  360. package/script/src/ast/nodes/reference.test.d.ts.map +0 -1
  361. package/script/src/ast/nodes/reference.test.js +0 -38
  362. package/script/src/ast/nodes/string.test.d.ts +0 -2
  363. package/script/src/ast/nodes/string.test.d.ts.map +0 -1
  364. package/script/src/ast/nodes/string.test.js +0 -50
  365. package/script/src/import-collection.test.d.ts +0 -2
  366. package/script/src/import-collection.test.d.ts.map +0 -1
  367. package/script/src/import-collection.test.js +0 -101
  368. package/script/tests/openapi-models.test.d.ts +0 -2
  369. package/script/tests/openapi-models.test.d.ts.map +0 -1
  370. package/script/tests/openapi-models.test.js +0 -48
  371. package/src/_dnt.test_polyfills.ts +0 -43
  372. package/src/_dnt.test_shims.ts +0 -64
  373. package/src/deps/jsr.io/@std/assert/1.0.6/assertion_error.ts +0 -31
  374. package/src/deps/jsr.io/@std/assert/1.0.6/equal.ts +0 -152
  375. package/src/deps/jsr.io/@std/assert/1.0.6/equals.ts +0 -52
  376. package/src/deps/jsr.io/@std/assert/1.0.6/false.ts +0 -26
  377. package/src/deps/jsr.io/@std/assert/1.0.6/instance_of.ts +0 -64
  378. package/src/deps/jsr.io/@std/assert/1.0.6/is_error.ts +0 -65
  379. package/src/deps/jsr.io/@std/assert/1.0.6/match.ts +0 -30
  380. package/src/deps/jsr.io/@std/assert/1.0.6/not_instance_of.ts +0 -33
  381. package/src/deps/jsr.io/@std/assert/1.0.6/not_match.ts +0 -30
  382. package/src/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.ts +0 -42
  383. package/src/deps/jsr.io/@std/assert/1.0.6/object_match.ts +0 -202
  384. package/src/deps/jsr.io/@std/assert/1.0.6/rejects.ts +0 -123
  385. package/src/deps/jsr.io/@std/assert/1.0.6/strict_equals.ts +0 -67
  386. package/src/deps/jsr.io/@std/expect/1.0.5/_assert_equals.ts +0 -38
  387. package/src/deps/jsr.io/@std/expect/1.0.5/_assert_not_equals.ts +0 -35
  388. package/src/deps/jsr.io/@std/expect/1.0.5/_assertion.ts +0 -13
  389. package/src/deps/jsr.io/@std/expect/1.0.5/_asymmetric_matchers.ts +0 -147
  390. package/src/deps/jsr.io/@std/expect/1.0.5/_build_message.ts +0 -51
  391. package/src/deps/jsr.io/@std/expect/1.0.5/_custom_equality_tester.ts +0 -19
  392. package/src/deps/jsr.io/@std/expect/1.0.5/_equal.ts +0 -229
  393. package/src/deps/jsr.io/@std/expect/1.0.5/_extend.ts +0 -16
  394. package/src/deps/jsr.io/@std/expect/1.0.5/_inspect_args.ts +0 -15
  395. package/src/deps/jsr.io/@std/expect/1.0.5/_matchers.ts +0 -828
  396. package/src/deps/jsr.io/@std/expect/1.0.5/_mock_util.ts +0 -22
  397. package/src/deps/jsr.io/@std/expect/1.0.5/_types.ts +0 -917
  398. package/src/deps/jsr.io/@std/expect/1.0.5/_utils.ts +0 -201
  399. package/src/deps/jsr.io/@std/expect/1.0.5/expect.ts +0 -511
  400. package/src/deps/jsr.io/@std/internal/1.0.4/assertion_state.ts +0 -111
  401. package/src/deps/jsr.io/@std/internal/1.0.4/build_message.ts +0 -134
  402. package/src/deps/jsr.io/@std/internal/1.0.4/diff.ts +0 -317
  403. package/src/deps/jsr.io/@std/internal/1.0.4/diff_str.ts +0 -204
  404. package/src/deps/jsr.io/@std/internal/1.0.4/format.ts +0 -39
  405. package/src/deps/jsr.io/@std/internal/1.0.4/styles.ts +0 -233
  406. package/src/deps/jsr.io/@std/internal/1.0.4/types.ts +0 -18
  407. package/src/deps/jsr.io/@std/testing/1.0.3/_test_suite.ts +0 -389
  408. package/src/deps/jsr.io/@std/testing/1.0.3/bdd.ts +0 -1202
  409. package/src/deps/jsr.io/@std/testing/1.0.3/mock.ts +0 -1839
  410. package/src/mod.ts +0 -8
  411. package/src/src/assets.ts +0 -9
  412. package/src/src/ast/_index.ts +0 -66
  413. package/src/src/ast/common.ts +0 -1
  414. package/src/src/ast/index.ts +0 -1
  415. package/src/src/ast/node.ts +0 -10
  416. package/src/src/ast/nodes/annotation.test.ts +0 -69
  417. package/src/src/ast/nodes/annotation.ts +0 -79
  418. package/src/src/ast/nodes/argument.test.ts +0 -41
  419. package/src/src/ast/nodes/argument.ts +0 -62
  420. package/src/src/ast/nodes/call.test.ts +0 -44
  421. package/src/src/ast/nodes/call.ts +0 -66
  422. package/src/src/ast/nodes/class.test.ts +0 -274
  423. package/src/src/ast/nodes/class.ts +0 -178
  424. package/src/src/ast/nodes/collection-literal.ts +0 -49
  425. package/src/src/ast/nodes/constructor.test.ts +0 -178
  426. package/src/src/ast/nodes/constructor.ts +0 -126
  427. package/src/src/ast/nodes/doc-tag.test.ts +0 -84
  428. package/src/src/ast/nodes/doc-tag.ts +0 -138
  429. package/src/src/ast/nodes/doc.test.ts +0 -42
  430. package/src/src/ast/nodes/doc.ts +0 -111
  431. package/src/src/ast/nodes/enum-value.test.ts +0 -146
  432. package/src/src/ast/nodes/enum-value.ts +0 -100
  433. package/src/src/ast/nodes/enum.test.ts +0 -167
  434. package/src/src/ast/nodes/enum.ts +0 -163
  435. package/src/src/ast/nodes/function.test.ts +0 -194
  436. package/src/src/ast/nodes/function.ts +0 -176
  437. package/src/src/ast/nodes/generic-parameter.test.ts +0 -60
  438. package/src/src/ast/nodes/generic-parameter.ts +0 -54
  439. package/src/src/ast/nodes/init-block.test.ts +0 -36
  440. package/src/src/ast/nodes/init-block.ts +0 -38
  441. package/src/src/ast/nodes/interface.test.ts +0 -151
  442. package/src/src/ast/nodes/interface.ts +0 -133
  443. package/src/src/ast/nodes/lambda-type.ts +0 -68
  444. package/src/src/ast/nodes/lambda.ts +0 -68
  445. package/src/src/ast/nodes/object.test.ts +0 -101
  446. package/src/src/ast/nodes/object.ts +0 -102
  447. package/src/src/ast/nodes/parameter.test.ts +0 -191
  448. package/src/src/ast/nodes/parameter.ts +0 -118
  449. package/src/src/ast/nodes/property.test.ts +0 -253
  450. package/src/src/ast/nodes/property.ts +0 -225
  451. package/src/src/ast/nodes/reference.test.ts +0 -47
  452. package/src/src/ast/nodes/reference.ts +0 -178
  453. package/src/src/ast/nodes/string.test.ts +0 -61
  454. package/src/src/ast/nodes/string.ts +0 -114
  455. package/src/src/ast/nodes/types.ts +0 -23
  456. package/src/src/ast/references/index.ts +0 -8
  457. package/src/src/ast/references/jackson.ts +0 -16
  458. package/src/src/ast/references/jakarta.ts +0 -10
  459. package/src/src/ast/references/java.ts +0 -19
  460. package/src/src/ast/references/kotlin.ts +0 -40
  461. package/src/src/ast/references/okhttp3.ts +0 -5
  462. package/src/src/ast/references/reactor.ts +0 -5
  463. package/src/src/ast/references/spring.ts +0 -58
  464. package/src/src/ast/references/swagger.ts +0 -19
  465. package/src/src/ast/utils/get-kotlin-builder-options.ts +0 -19
  466. package/src/src/ast/utils/to-kt-node.ts +0 -31
  467. package/src/src/ast/utils/write-kt-annotations.ts +0 -15
  468. package/src/src/ast/utils/write-kt-arguments.ts +0 -45
  469. package/src/src/ast/utils/write-kt-enum-values.ts +0 -27
  470. package/src/src/ast/utils/write-kt-generic-parameters.ts +0 -12
  471. package/src/src/ast/utils/write-kt-members.ts +0 -25
  472. package/src/src/ast/utils/write-kt-node.ts +0 -37
  473. package/src/src/ast/utils/write-kt-parameters.ts +0 -25
  474. package/src/src/common-results.ts +0 -4
  475. package/src/src/config.ts +0 -39
  476. package/src/src/file-builder.ts +0 -108
  477. package/src/src/generators/file-generator.ts +0 -29
  478. package/src/src/generators/index.ts +0 -4
  479. package/src/src/generators/models/args.ts +0 -128
  480. package/src/src/generators/models/index.ts +0 -4
  481. package/src/src/generators/models/model-generator.ts +0 -602
  482. package/src/src/generators/models/models-generator.ts +0 -65
  483. package/src/src/generators/models/models.ts +0 -95
  484. package/src/src/generators/services/okhttp3-clients/args.ts +0 -78
  485. package/src/src/generators/services/okhttp3-clients/index.ts +0 -4
  486. package/src/src/generators/services/okhttp3-clients/models.ts +0 -60
  487. package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +0 -555
  488. package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +0 -128
  489. package/src/src/generators/services/okhttp3-clients/refs.ts +0 -55
  490. package/src/src/generators/services/spring-controllers/args.ts +0 -71
  491. package/src/src/generators/services/spring-controllers/index.ts +0 -4
  492. package/src/src/generators/services/spring-controllers/models.ts +0 -58
  493. package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +0 -630
  494. package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +0 -70
  495. package/src/src/import-collection.test.ts +0 -116
  496. package/src/src/import-collection.ts +0 -98
  497. package/src/src/types.ts +0 -3
  498. package/src/src/utils.ts +0 -39
  499. package/src/tests/openapi-models.test.ts +0 -63
  500. package/test_runner.js +0 -227
@@ -1,602 +0,0 @@
1
- import { dirname } from 'node:path';
2
-
3
-
4
- import fs from 'fs-extra';
5
-
6
- import {
7
- type ApiSchema,
8
- type ApiSchemaKind,
9
- type ApiSchemaProperty,
10
- type AppendValue,
11
- type AppendValueGroup,
12
- appendValueGroup,
13
- createOverwriteProxy,
14
- getSchemaReference,
15
- type MaybePromise,
16
- modify,
17
- modifyEach,
18
- notNullish,
19
- resolveAnyOfAndAllOf,
20
- type SourceBuilder,
21
- toCasing,
22
- } from '@goast/core';
23
-
24
- import { kt } from '../../ast/index.js';
25
- import { KotlinFileBuilder } from '../../file-builder.js';
26
- import { KotlinFileGenerator } from '../file-generator.js';
27
- import type { DefaultKotlinModelGeneratorArgs as Args } from './index.js';
28
- import type { KotlinModelGeneratorContext, KotlinModelGeneratorOutput } from './models.js';
29
-
30
- type Context = KotlinModelGeneratorContext;
31
- type Output = KotlinModelGeneratorOutput;
32
- type Builder = KotlinFileBuilder;
33
-
34
- export interface KotlinModelGenerator<TOutput extends Output = Output> {
35
- generate(ctx: Context): MaybePromise<TOutput>;
36
- }
37
-
38
- export class DefaultKotlinModelGenerator extends KotlinFileGenerator<Context, Output> implements KotlinModelGenerator {
39
- public generate(ctx: Context): MaybePromise<KotlinModelGeneratorOutput> {
40
- if (/\/(anyOf|allOf)(\/[0-9]+)?$/.test(ctx.schema.$src.path)) {
41
- // Do not generate types that are only used for anyOf and/or allOf
42
- return { type: kt.refs.any({ nullable: true }) };
43
- }
44
-
45
- if (this.shouldGenerateTypeDeclaration(ctx, { schema: ctx.schema })) {
46
- const typeName = this.getDeclarationTypeName(ctx, { schema: ctx.schema });
47
- const packageName = this.getPackageName(ctx, { schema: ctx.schema });
48
- const filePath = `${ctx.config.outputDir}/${packageName.replace(/\./g, '/')}/${typeName}.kt`;
49
- console.log(`Generating model ${packageName}.${typeName} to ${filePath}...`);
50
- fs.ensureDirSync(dirname(filePath));
51
-
52
- fs.writeFileSync(
53
- filePath,
54
- new KotlinFileBuilder(packageName, ctx.config).append(this.getFileContent(ctx, {})).toString(),
55
- );
56
-
57
- return { type: kt.reference(typeName, packageName) };
58
- } else {
59
- return { type: this.getType(ctx, { schema: ctx.schema }) };
60
- }
61
- }
62
-
63
- protected getFileContent(ctx: Context, _args: Args.GetFileContent): AppendValueGroup<Builder> {
64
- return appendValueGroup<Builder>(
65
- [this.getSchemaDeclaration(ctx, { schema: this.normalizeSchema(ctx, { schema: ctx.schema }) })],
66
- '\n\n',
67
- );
68
- }
69
-
70
- protected getSchemaDeclaration(ctx: Context, args: Args.GetSchemaDeclaration): AppendValue<Builder> {
71
- const { schema } = args;
72
-
73
- if (schema.kind === 'object') {
74
- return schema.discriminator ? this.getInterface(ctx, { schema }) : this.getClass(ctx, { schema });
75
- } else if (schema.enum !== undefined && schema.enum.length > 0) {
76
- return this.getEnum(ctx, { schema });
77
- }
78
-
79
- return '// The generator was not able to generate this schema.\n// This should not happend. If you see this comment, please open an Issue on Github.';
80
- }
81
-
82
- protected getClass(ctx: Context, args: Args.GetClass): kt.Class<Builder> {
83
- const { schema } = args;
84
- const inheritedSchemas = this.getInheritedSchemas(ctx, { schema });
85
- const parameters = this.getClassProperties(ctx, { schema });
86
-
87
- return kt.class(this.getDeclarationTypeName(ctx, { schema }), {
88
- doc: kt.doc(schema.description?.trim()),
89
- annotations: [schema.deprecated ? kt.annotation(kt.refs.deprecated(), [kt.argument(kt.string(''))]) : null],
90
- classKind: parameters.length === 0 ? null : 'data',
91
- implements: inheritedSchemas.map((schema) => this.getType(ctx, { schema })),
92
- primaryConstructor: kt.constructor(
93
- parameters.map((property) => this.getClassParameter(ctx, { ...args, inheritedSchemas, parameters, property })),
94
- ),
95
- members: [
96
- ...(schema.additionalProperties !== undefined && schema.additionalProperties !== false
97
- ? [
98
- this.getAdditionalPropertiesProperty(ctx, { schema }),
99
- this.getAdditionalPropertiesSetter(ctx, { schema }),
100
- this.getAdditionalPropertiesGetter(ctx, { schema }),
101
- ]
102
- : []),
103
- ],
104
- });
105
- }
106
-
107
- protected getInterface(ctx: Context, args: Args.GetInterface): kt.Interface<Builder> {
108
- const { schema } = args;
109
-
110
- return kt.interface(this.getDeclarationTypeName(ctx, { schema }), {
111
- doc: kt.doc(schema.description?.trim()),
112
- annotations: [
113
- this.getJacksonJsonTypeInfoAnnotation(ctx, { schema }),
114
- this.getJacksonJsonSubTypesAnnotation(ctx, { schema }),
115
- schema.deprecated ? kt.annotation(kt.refs.deprecated(), [kt.argument(kt.string(''))]) : null,
116
- ].filter(notNullish),
117
- members: this.sortProperties(ctx, { schema, properties: schema.properties.values() }).map((property) =>
118
- this.getInterfaceProperty(ctx, { schema, property })
119
- ),
120
- });
121
- }
122
-
123
- protected getEnum(ctx: Context, args: Args.GetEnum): kt.Enum<Builder> {
124
- const { schema } = args;
125
-
126
- return kt.enum(
127
- this.getDeclarationTypeName(ctx, { schema }),
128
- schema.enum?.map((x) =>
129
- kt.enumValue(toCasing(String(x), ctx.config.enumValueNameCasing), {
130
- annotations: [kt.annotation(kt.refs.jackson.jsonProperty(), [kt.argument(kt.string(String(x)))])],
131
- arguments: [kt.argument(kt.string(String(x)))],
132
- })
133
- ) ?? [],
134
- {
135
- doc: kt.doc(schema.description?.trim()),
136
- annotations: [schema.deprecated ? kt.annotation(kt.refs.deprecated(), [kt.argument(kt.string(''))]) : null],
137
- primaryConstructor: kt.constructor([
138
- kt.parameter.class(toCasing('value', ctx.config.propertyNameCasing), kt.refs.string(), {
139
- property: 'readonly',
140
- }),
141
- ]),
142
- },
143
- );
144
- }
145
-
146
- protected getType(ctx: Context, args: Args.GetType): kt.Reference<SourceBuilder> {
147
- const { schema } = args;
148
-
149
- const generatedType = this.getGeneratedType(ctx, { schema, nullable: args.nullable });
150
- if (generatedType) {
151
- return generatedType;
152
- }
153
-
154
- const nullable = args.nullable ?? schema.nullable;
155
- switch (schema.kind) {
156
- case 'boolean':
157
- return kt.refs.boolean({ nullable });
158
- case 'integer':
159
- case 'number':
160
- switch (schema.format) {
161
- case 'int32':
162
- return kt.refs.int({ nullable });
163
- case 'int64':
164
- return kt.refs.long({ nullable });
165
- case 'float':
166
- return kt.refs.float({ nullable });
167
- case 'double':
168
- return kt.refs.double({ nullable });
169
- default:
170
- return schema.kind === 'integer' ? kt.refs.int({ nullable }) : kt.refs.double({ nullable });
171
- }
172
- case 'string':
173
- switch (schema.format) {
174
- case 'date-time':
175
- return kt.refs.java.offsetDateTime({ nullable });
176
- default:
177
- return kt.refs.string({ nullable });
178
- }
179
- case 'null':
180
- return kt.refs.nothing({ nullable });
181
- case 'unknown':
182
- return kt.refs.any({ nullable });
183
- case 'array':
184
- return kt.refs.list(
185
- [schema.items ? this.getType(ctx, { schema: schema.items }) : kt.refs.any({ nullable: true })],
186
- { nullable },
187
- );
188
- case 'object':
189
- return schema.properties.size === 0 && schema.additionalProperties
190
- ? kt.refs.map([kt.refs.string(), this.getAdditionalPropertiesType(ctx, { schema })], { nullable })
191
- : kt.refs.any({ nullable });
192
- default:
193
- return kt.refs.any({ nullable });
194
- }
195
- }
196
-
197
- protected getGeneratedType(ctx: Context, args: Args.GetGeneratedType): kt.Reference<SourceBuilder> | null {
198
- const schema = getSchemaReference(args.schema, ['description']);
199
- if (this.shouldGenerateTypeDeclaration(ctx, { schema })) {
200
- return kt.reference(this.getDeclarationTypeName(ctx, { schema }), this.getPackageName(ctx, { schema }), {
201
- nullable: args.nullable ?? schema.nullable,
202
- });
203
- }
204
- return null;
205
- }
206
-
207
- protected getAdditionalPropertiesType(
208
- ctx: Context,
209
- args: Args.GetAdditionalPropertiesType,
210
- ): kt.Reference<SourceBuilder> {
211
- const { schema } = args;
212
-
213
- return typeof schema.additionalProperties === 'object'
214
- ? this.getType(ctx, { schema: schema.additionalProperties })
215
- : kt.refs.any({ nullable: true });
216
- }
217
-
218
- protected getDefaultValue(ctx: Context, args: Args.GetDefaultValue): kt.Value<Builder> {
219
- const { schema } = args;
220
-
221
- if (schema.default === null || schema.default === undefined) {
222
- return 'null';
223
- } else {
224
- switch (schema.kind) {
225
- case 'boolean':
226
- return Boolean(schema.default) || String(schema.default).toLowerCase() === 'true' ? 'true' : 'false';
227
- case 'integer':
228
- case 'number':
229
- return String(schema.default);
230
- case 'string':
231
- return schema.enum && schema.enum.length > 0
232
- ? kt.call([this.getType(ctx, { schema }), toCasing(String(schema.default), ctx.config.enumValueNameCasing)])
233
- : kt.string(String(schema.default));
234
- case 'array':
235
- return kt.call(
236
- kt.refs.listOf.infer(),
237
- Array.isArray(schema.default) ? schema.default.map((x) => kt.toNode(x)) : [],
238
- );
239
- default:
240
- return 'null';
241
- }
242
- }
243
- }
244
-
245
- // #region Members
246
- protected getClassParameter(ctx: Context, args: Args.GetClassParameter): kt.Parameter<Builder> {
247
- const { schema, inheritedSchemas, property } = args;
248
-
249
- return kt.parameter.class(
250
- toCasing(property.name, ctx.config.propertyNameCasing),
251
- this.getType(ctx, { schema: property.schema, nullable: schema.required.has(property.name) ? undefined : true }),
252
- {
253
- description: property.schema.description?.trim(),
254
- annotations: [
255
- this.getJakartaPatternAnnotation(ctx, { schema, property }),
256
- this.getJakartaValidAnnotation(ctx, { schema, property }),
257
- this.getSwaggerSchemaAnnotation(ctx, { schema, property }),
258
- this.getJacksonJsonPropertyAnnotation(ctx, { schema, property }),
259
- modify(this.getJacksonJsonIncludeAnnotation(ctx, { schema, property }), (x) => (x.target = 'get')),
260
- property.schema.deprecated ? kt.annotation(kt.refs.deprecated(), [kt.argument(kt.string(''))]) : null,
261
- ].filter(notNullish),
262
- override: inheritedSchemas.some((schema) => this.hasProperty(ctx, { schema, propertyName: property.name })),
263
- property: 'readonly',
264
- default: property.schema.default !== undefined || !schema.required.has(property.name)
265
- ? this.getDefaultValue(ctx, { schema: property.schema })
266
- : null,
267
- },
268
- );
269
- }
270
-
271
- protected getInterfaceProperty(ctx: Context, args: Args.GetInterfaceProperty): kt.Property<Builder> {
272
- const { schema, property } = args;
273
-
274
- return kt.property(toCasing(property.name, ctx.config.propertyNameCasing), {
275
- doc: kt.doc(property.schema.description?.trim()),
276
- annotations: modifyEach(
277
- [
278
- this.getJacksonJsonPropertyAnnotation(ctx, { schema, property }),
279
- this.getJacksonJsonIncludeAnnotation(ctx, { schema, property }),
280
- property.schema.deprecated ? kt.annotation(kt.refs.deprecated(), [kt.argument(kt.string(''))]) : null,
281
- ].filter(notNullish),
282
- (x) => (x.target = 'get'),
283
- ),
284
- type: this.getType(ctx, {
285
- schema: property.schema,
286
- nullable: schema.required.has(property.name) ? undefined : true,
287
- }),
288
- });
289
- }
290
-
291
- protected getAdditionalPropertiesProperty(
292
- ctx: Context,
293
- args: Args.GetAdditionalPropertiesProperty,
294
- ): kt.Property<Builder> {
295
- const { schema } = args;
296
-
297
- return kt.property(toCasing('additionalProperties', ctx.config.propertyNameCasing), {
298
- annotations: [kt.annotation(kt.refs.jackson.jsonIgnore())],
299
- type: kt.reference('MutableMap', null, {
300
- generics: ['String', this.getAdditionalPropertiesType(ctx, { schema })],
301
- }),
302
- default: 'mutableMapOf()',
303
- });
304
- }
305
-
306
- protected getAdditionalPropertiesSetter(
307
- ctx: Context,
308
- args: Args.GetAdditionalPropertiesSetter,
309
- ): kt.Function<Builder> {
310
- const { schema } = args;
311
-
312
- return kt.function(toCasing('set', ctx.config.functionNameCasing), {
313
- annotations: [kt.annotation(kt.refs.jackson.jsonAnySetter())],
314
- parameters: [
315
- kt.parameter(toCasing('name', ctx.config.parameterNameCasing), 'String'),
316
- kt.parameter(
317
- toCasing('value', ctx.config.parameterNameCasing),
318
- this.getAdditionalPropertiesType(ctx, { schema }),
319
- ),
320
- ],
321
- body: `this.${toCasing('additionalProperties', ctx.config.propertyNameCasing)}[name] = value`,
322
- });
323
- }
324
-
325
- protected getAdditionalPropertiesGetter(
326
- ctx: Context,
327
- args: Args.GetAdditionalPropertiesGetter,
328
- ): kt.Function<Builder> {
329
- const { schema } = args;
330
-
331
- return kt.function(toCasing('getMap', ctx.config.functionNameCasing), {
332
- annotations: [kt.annotation(kt.refs.jackson.jsonAnyGetter())],
333
- returnType: kt.refs.map([kt.refs.string(), this.getAdditionalPropertiesType(ctx, { schema })]),
334
- body: `return this.${toCasing('additionalProperties', ctx.config.propertyNameCasing)}`,
335
- });
336
- }
337
- // #endregion
338
-
339
- // #region Annotations
340
- protected getJacksonJsonTypeInfoAnnotation(
341
- ctx: Context,
342
- args: Args.GetJacksonJsonTypeInfoAnnotation,
343
- ): kt.Annotation<Builder> | null {
344
- const { schema } = args;
345
-
346
- return ctx.config.addJacksonAnnotations && schema.discriminator
347
- ? kt.annotation(kt.refs.jackson.jsonTypeInfo(), [
348
- kt.argument.named('use', 'JsonTypeInfo.Id.NAME'),
349
- kt.argument.named(
350
- 'include',
351
- 'properties' in schema && schema.properties.has(schema.discriminator.propertyName)
352
- ? 'JsonTypeInfo.As.EXISTING_PROPERTY'
353
- : 'JsonTypeInfo.As.PROPERTY',
354
- ),
355
- kt.argument.named('property', kt.string(schema.discriminator.propertyName)),
356
- kt.argument.named('visible', 'true'),
357
- ])
358
- : null;
359
- }
360
-
361
- protected getJacksonJsonSubTypesAnnotation(
362
- ctx: Context,
363
- args: Args.GetJacksonJsonSubTypesAnnotation,
364
- ): kt.Annotation<Builder> | null {
365
- const { schema } = args;
366
-
367
- if (!ctx.config.addJacksonAnnotations || !schema.discriminator) return null;
368
- const entries = Object.entries(schema.discriminator.mapping);
369
- return entries.length > 0
370
- ? kt.annotation(
371
- kt.refs.jackson.jsonSubTypes(),
372
- entries.map(([value, schema]) =>
373
- kt.argument(
374
- kt.call(
375
- [kt.refs.jackson.jsonSubTypes(), 'Type'],
376
- [
377
- kt.argument.named(
378
- 'value',
379
- modify(this.getType(ctx, { schema }), (x) => (x.classReference = true)),
380
- ),
381
- kt.argument.named('name', kt.string(value)),
382
- ],
383
- ),
384
- )
385
- ),
386
- )
387
- : null;
388
- }
389
-
390
- protected getJacksonJsonPropertyAnnotation(
391
- ctx: Context,
392
- args: Args.GetJacksonJsonPropertyAnnotation,
393
- ): kt.Annotation<Builder> | null {
394
- const { schema, property } = args;
395
-
396
- return ctx.config.addJacksonAnnotations
397
- ? kt.annotation(kt.refs.jackson.jsonProperty(), [
398
- kt.argument(kt.string(property.name)),
399
- schema.required.has(property.name) ? kt.argument.named('required', 'true') : null,
400
- ])
401
- : null;
402
- }
403
-
404
- protected getJacksonJsonIncludeAnnotation(
405
- ctx: Context,
406
- args: Args.GetJacksonJsonIncludeAnnotation,
407
- ): kt.Annotation<Builder> | null {
408
- const { property } = args;
409
-
410
- return ctx.config.addJacksonAnnotations && property.schema.custom['exclude-when-null'] === true
411
- ? kt.annotation(kt.refs.jackson.jsonInclude(), [
412
- kt.argument(kt.call([kt.refs.jackson.jsonInclude(), 'Include', 'NON_NULL'])),
413
- ])
414
- : null;
415
- }
416
-
417
- protected getJakartaPatternAnnotation(
418
- ctx: Context,
419
- args: Args.GetJakartaPatternAnnotation,
420
- ): kt.Annotation<Builder> | null {
421
- const { property } = args;
422
-
423
- return ctx.config.addJakartaValidationAnnotations && property.schema.kind === 'string' && property.schema.pattern
424
- ? kt.annotation(kt.refs.jakarta.pattern(), [kt.argument.named('regexp', kt.string(property.schema.pattern))], {
425
- target: 'get',
426
- })
427
- : null;
428
- }
429
-
430
- protected getJakartaValidAnnotation(
431
- ctx: Context,
432
- args: Args.GetJakartaValidAnnotation,
433
- ): kt.Annotation<Builder> | null {
434
- const { property } = args;
435
-
436
- return ctx.config.addJakartaValidationAnnotations &&
437
- this.shouldGenerateTypeDeclaration(ctx, { schema: property.schema })
438
- ? kt.annotation(kt.refs.jakarta.valid(), [], { target: 'field' })
439
- : null;
440
- }
441
-
442
- protected getSwaggerSchemaAnnotation(
443
- ctx: Context,
444
- args: Args.GetSwaggerSchemaAnnotation,
445
- ): kt.Annotation<Builder> | null {
446
- const { schema, property } = args;
447
-
448
- return ctx.config.addSwaggerAnnotations
449
- ? kt.annotation(kt.refs.swagger.schema(), [
450
- property.schema.example !== undefined
451
- ? kt.argument.named('example', kt.string(String(property.schema.example)))
452
- : null,
453
- schema.required.has(property.name) ? kt.argument.named('required', 'true') : null,
454
- property.schema.description !== undefined
455
- ? kt.argument.named('description', kt.string(property.schema.description))
456
- : null,
457
- property.schema.deprecated ? kt.argument.named('deprecated', kt.toNode(property.schema.deprecated)) : null,
458
- ])
459
- : null;
460
- }
461
- // #endregion
462
-
463
- protected getPackageName(ctx: Context, args: Args.GetPackageName): string {
464
- const { schema } = args;
465
-
466
- const packageSuffix = typeof ctx.config.packageSuffix === 'string'
467
- ? ctx.config.packageSuffix
468
- : ctx.config.packageSuffix(schema);
469
- return ctx.config.packageName + packageSuffix;
470
- }
471
-
472
- protected shouldGenerateTypeDeclaration(ctx: Context, args: Args.ShouldGenerateTypeDeclaration): boolean {
473
- let { schema } = args;
474
-
475
- // All enum types should have its own type declaration
476
- if (schema.enum !== undefined && schema.enum.length > 0) {
477
- return true;
478
- }
479
-
480
- // All primitive types already exist and do not need its own type declaration
481
- if (
482
- schema.kind !== 'combined' &&
483
- schema.kind !== 'multi-type' &&
484
- schema.kind !== 'object' &&
485
- schema.kind !== 'oneOf'
486
- ) {
487
- return false;
488
- }
489
-
490
- // Too complex types cannot be represented in Kotlin, so they fallback to Any
491
- if (schema.kind === 'multi-type') {
492
- return false;
493
- }
494
- schema = this.normalizeSchema(ctx, { schema });
495
- if (schema.kind === 'combined' || schema.kind === 'oneOf') {
496
- return false;
497
- }
498
-
499
- // Schemas representable by a simple Map type do not need its own type declaration
500
- if (schema.kind === 'object' && schema.properties.size === 0 && schema.additionalProperties) {
501
- return false;
502
- }
503
-
504
- if (schema.kind === 'object' && ctx.config.emptyObjectTypeBehavior === 'use-any' && schema.properties.size === 0) {
505
- return false;
506
- }
507
-
508
- // Dynamically generated schemas do not have its own type declaration
509
- if (!ctx.data.schemas.some((x) => x.id === schema.id)) {
510
- return false;
511
- }
512
-
513
- // multipart schemas should not have its own type declaration
514
- if (schema.$src.path.endsWith('/requestBody/content/multipart/form-data/schema')) {
515
- return false;
516
- }
517
-
518
- return true;
519
- }
520
-
521
- protected getDeclarationTypeName(ctx: Context, args: Args.GetDeclarationTypeName): string {
522
- return toCasing(args.schema.name, ctx.config.typeNameCasing);
523
- }
524
-
525
- protected getInheritedSchemas(
526
- ctx: Context,
527
- args: Args.GetInheritedSchemas,
528
- ): (ApiSchema<ApiSchemaKind> & { discriminator: NonNullable<ApiSchema['discriminator']> })[] {
529
- return args.schema.inheritedSchemas
530
- .filter((schema) => this.shouldGenerateTypeDeclaration(ctx, { schema }) && !schema.isNameGenerated)
531
- .filter((item, index, self) => self.indexOf(item) === index);
532
- }
533
-
534
- protected getClassProperties(ctx: Context, args: Args.GetClassProperties): ApiSchemaProperty[] {
535
- const { schema } = args;
536
-
537
- const inheritedSchemas = this.getInheritedSchemas(ctx, { schema });
538
- const properties: ApiSchemaProperty[] = [];
539
- const appendedProperties: ApiSchemaProperty[] = [];
540
- for (const property of schema.properties.values()) {
541
- const discriminator = inheritedSchemas.find(
542
- (x) => x.discriminator?.propertyName === property.name,
543
- )?.discriminator;
544
- if (discriminator) {
545
- const schemaMappings = Object.entries(discriminator.mapping).filter(([_, v]) => v.id === schema.id);
546
- if (schemaMappings.length === 1) {
547
- const p = createOverwriteProxy(property);
548
- const s = createOverwriteProxy(p.schema);
549
- p.schema = s;
550
- s.default = schemaMappings[0][0];
551
- appendedProperties.push(p);
552
- continue;
553
- }
554
- }
555
-
556
- properties.push(property);
557
- }
558
-
559
- return [...this.sortProperties(ctx, { schema, properties }), ...appendedProperties];
560
- }
561
-
562
- protected sortProperties(_ctx: Context, args: Args.SortProperties): ApiSchemaProperty[] {
563
- return [...args.properties].sort((a, b) => classify(a) - classify(b));
564
-
565
- function classify(p: ApiSchemaProperty) {
566
- if (p.schema.default !== undefined) return 1;
567
- if (args.schema.required.has(p.name)) return 0;
568
- return 2;
569
- }
570
- }
571
-
572
- protected normalizeSchema(ctx: Context, args: Args.NormalizeSchema): ApiSchema {
573
- let { schema } = args;
574
-
575
- if (schema.kind === 'oneOf') {
576
- schema = ctx.config.oneOfBehavior === 'treat-as-any-of'
577
- // deno-lint-ignore no-explicit-any
578
- ? { ...(schema as any), kind: 'combined', anyOf: schema.oneOf, allOf: [], oneOf: undefined }
579
- // deno-lint-ignore no-explicit-any
580
- : { ...(schema as any), kind: 'combined', allOf: schema.oneOf, anyOf: [], oneOf: undefined };
581
- ctx.schema = schema;
582
- }
583
- if (schema.kind === 'object' || schema.kind === 'combined') {
584
- const mergedSchema = resolveAnyOfAndAllOf(schema, true);
585
- if (mergedSchema) {
586
- schema = mergedSchema;
587
- }
588
- }
589
-
590
- return schema;
591
- }
592
-
593
- protected hasProperty(ctx: Context, args: Args.HasProperty): boolean {
594
- const { schema, propertyName } = args;
595
-
596
- return (
597
- ('properties' in schema && schema.properties.has(propertyName)) ||
598
- ('anyOf' in schema && schema.anyOf.some((schema) => this.hasProperty(ctx, { schema, propertyName }))) ||
599
- ('allOf' in schema && schema.allOf.some((schema) => this.hasProperty(ctx, { schema, propertyName })))
600
- );
601
- }
602
- }
@@ -1,65 +0,0 @@
1
- import {
2
- type ApiSchema,
3
- Factory,
4
- type MaybePromise,
5
- type OpenApiGeneratorContext,
6
- OpenApiSchemasGenerationProviderBase,
7
- } from '@goast/core';
8
-
9
- import { DefaultKotlinModelGenerator, type KotlinModelGenerator } from './model-generator.js';
10
- import {
11
- defaultKotlinModelsGeneratorConfig,
12
- type KotlinModelGeneratorOutput,
13
- type KotlinModelsGeneratorConfig,
14
- type KotlinModelsGeneratorContext,
15
- type KotlinModelsGeneratorInput,
16
- type KotlinModelsGeneratorOutput,
17
- } from './models.js';
18
-
19
- type Input = KotlinModelsGeneratorInput;
20
- type Output = KotlinModelsGeneratorOutput;
21
- type Config = KotlinModelsGeneratorConfig;
22
- type SchemaOutput = KotlinModelGeneratorOutput;
23
- type Context = KotlinModelsGeneratorContext;
24
-
25
- export class KotlinModelsGenerator extends OpenApiSchemasGenerationProviderBase<
26
- Input,
27
- Output,
28
- Config,
29
- SchemaOutput,
30
- Context
31
- > {
32
- private readonly _modelGeneratorFactory: Factory<KotlinModelGenerator, []>;
33
-
34
- constructor(modelGeneratorFactory?: Factory<KotlinModelGenerator, []>) {
35
- super();
36
- this._modelGeneratorFactory = modelGeneratorFactory ?? Factory.fromValue(new DefaultKotlinModelGenerator());
37
- }
38
-
39
- protected override initResult(): Output {
40
- return {
41
- kotlin: {
42
- models: {},
43
- },
44
- };
45
- }
46
-
47
- protected override buildContext(
48
- context: OpenApiGeneratorContext<KotlinModelsGeneratorInput>,
49
- config?: Partial<Config> | undefined,
50
- ): Context {
51
- return this.getProviderContext(context, config, defaultKotlinModelsGeneratorConfig);
52
- }
53
-
54
- protected override generateSchema(ctx: Context, schema: ApiSchema): MaybePromise<SchemaOutput> {
55
- const modelGenerator = this._modelGeneratorFactory.create();
56
- return modelGenerator.generate({
57
- ...ctx,
58
- schema,
59
- });
60
- }
61
-
62
- protected override addSchemaResult(ctx: Context, schema: ApiSchema, result: SchemaOutput): void {
63
- ctx.output.kotlin.models[schema.id] = result;
64
- }
65
- }