@goast/kotlin 0.4.2-beta1 → 0.4.2

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 (490) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +45 -45
  3. package/assets/client/okhttp3/ApiClient.kt +250 -250
  4. package/esm/_dnt.test_polyfills.d.ts +29 -0
  5. package/esm/_dnt.test_polyfills.d.ts.map +1 -0
  6. package/esm/_dnt.test_polyfills.js +31 -0
  7. package/esm/_dnt.test_shims.d.ts +6 -0
  8. package/esm/_dnt.test_shims.d.ts.map +1 -0
  9. package/esm/_dnt.test_shims.js +61 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +26 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +30 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +17 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.6/equal.js +136 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +22 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.6/equals.js +45 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts +18 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.6/false.js +22 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +23 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.6/instance_of.js +53 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +25 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.6/is_error.js +54 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts +18 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.6/match.js +26 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +20 -0
  32. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +29 -0
  34. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +18 -0
  35. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/assert/1.0.6/not_match.js +26 -0
  37. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +23 -0
  38. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +32 -0
  40. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +28 -0
  41. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +1 -0
  42. package/esm/deps/jsr.io/@std/assert/1.0.6/object_match.js +159 -0
  43. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts +42 -0
  44. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@std/assert/1.0.6/rejects.js +53 -0
  46. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +24 -0
  47. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +57 -0
  49. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_equals.d.ts +20 -0
  50. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_equals.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_equals.js +29 -0
  52. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.d.ts +17 -0
  53. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.js +26 -0
  55. package/esm/deps/jsr.io/@std/expect/1.0.6/_assertion.d.ts +3 -0
  56. package/esm/deps/jsr.io/@std/expect/1.0.6/_assertion.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@std/expect/1.0.6/_assertion.js +9 -0
  58. package/esm/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.d.ts +41 -0
  59. package/esm/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.js +143 -0
  61. package/esm/deps/jsr.io/@std/expect/1.0.6/_build_message.d.ts +6 -0
  62. package/esm/deps/jsr.io/@std/expect/1.0.6/_build_message.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@std/expect/1.0.6/_build_message.js +29 -0
  64. package/esm/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.d.ts +4 -0
  65. package/esm/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.d.ts.map +1 -0
  66. package/esm/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.js +11 -0
  67. package/esm/deps/jsr.io/@std/expect/1.0.6/_equal.d.ts +9 -0
  68. package/esm/deps/jsr.io/@std/expect/1.0.6/_equal.d.ts.map +1 -0
  69. package/esm/deps/jsr.io/@std/expect/1.0.6/_equal.js +191 -0
  70. package/esm/deps/jsr.io/@std/expect/1.0.6/_extend.d.ts +4 -0
  71. package/esm/deps/jsr.io/@std/expect/1.0.6/_extend.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/expect/1.0.6/_extend.js +11 -0
  73. package/esm/deps/jsr.io/@std/expect/1.0.6/_inspect_args.d.ts +3 -0
  74. package/esm/deps/jsr.io/@std/expect/1.0.6/_inspect_args.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@std/expect/1.0.6/_inspect_args.js +12 -0
  76. package/esm/deps/jsr.io/@std/expect/1.0.6/_matchers.d.ts +34 -0
  77. package/esm/deps/jsr.io/@std/expect/1.0.6/_matchers.d.ts.map +1 -0
  78. package/esm/deps/jsr.io/@std/expect/1.0.6/_matchers.js +564 -0
  79. package/esm/deps/jsr.io/@std/expect/1.0.6/_mock_util.d.ts +11 -0
  80. package/esm/deps/jsr.io/@std/expect/1.0.6/_mock_util.d.ts.map +1 -0
  81. package/esm/deps/jsr.io/@std/expect/1.0.6/_mock_util.js +10 -0
  82. package/esm/deps/jsr.io/@std/expect/1.0.6/_types.d.ts +838 -0
  83. package/esm/deps/jsr.io/@std/expect/1.0.6/_types.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@std/expect/1.0.6/_types.js +3 -0
  85. package/esm/deps/jsr.io/@std/expect/1.0.6/_utils.d.ts +8 -0
  86. package/esm/deps/jsr.io/@std/expect/1.0.6/_utils.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@std/expect/1.0.6/_utils.js +159 -0
  88. package/esm/deps/jsr.io/@std/expect/1.0.6/expect.d.ts +52 -0
  89. package/esm/deps/jsr.io/@std/expect/1.0.6/expect.d.ts.map +1 -0
  90. package/esm/deps/jsr.io/@std/expect/1.0.6/expect.js +441 -0
  91. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +75 -0
  92. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +1 -0
  93. package/esm/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +101 -0
  94. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +82 -0
  95. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@std/internal/1.0.4/build_message.js +111 -0
  97. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +140 -0
  98. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +1 -0
  99. package/esm/deps/jsr.io/@std/internal/1.0.4/diff.js +277 -0
  100. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +99 -0
  101. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +1 -0
  102. package/esm/deps/jsr.io/@std/internal/1.0.4/diff_str.js +180 -0
  103. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts +2 -0
  104. package/esm/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +1 -0
  105. package/esm/deps/jsr.io/@std/internal/1.0.4/format.js +37 -0
  106. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +159 -0
  107. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +1 -0
  108. package/esm/deps/jsr.io/@std/internal/1.0.4/styles.js +207 -0
  109. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts +16 -0
  110. package/esm/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +1 -0
  111. package/esm/deps/jsr.io/@std/internal/1.0.4/types.js +2 -0
  112. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +74 -0
  113. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +1 -0
  114. package/esm/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +340 -0
  115. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +731 -0
  116. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +1 -0
  117. package/esm/deps/jsr.io/@std/testing/1.0.3/bdd.js +576 -0
  118. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.d.ts +674 -0
  119. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@std/testing/1.0.3/mock.js +1117 -0
  121. package/esm/src/ast/nodes/annotation.test.d.ts +2 -0
  122. package/esm/src/ast/nodes/annotation.test.d.ts.map +1 -0
  123. package/esm/src/ast/nodes/annotation.test.js +56 -0
  124. package/esm/src/ast/nodes/argument.test.d.ts +2 -0
  125. package/esm/src/ast/nodes/argument.test.d.ts.map +1 -0
  126. package/esm/src/ast/nodes/argument.test.js +33 -0
  127. package/esm/src/ast/nodes/call.test.d.ts +2 -0
  128. package/esm/src/ast/nodes/call.test.d.ts.map +1 -0
  129. package/esm/src/ast/nodes/call.test.js +35 -0
  130. package/esm/src/ast/nodes/class.test.d.ts +2 -0
  131. package/esm/src/ast/nodes/class.test.d.ts.map +1 -0
  132. package/esm/src/ast/nodes/class.test.js +219 -0
  133. package/esm/src/ast/nodes/constructor.test.d.ts +2 -0
  134. package/esm/src/ast/nodes/constructor.test.d.ts.map +1 -0
  135. package/esm/src/ast/nodes/constructor.test.js +139 -0
  136. package/esm/src/ast/nodes/doc-tag.test.d.ts +2 -0
  137. package/esm/src/ast/nodes/doc-tag.test.d.ts.map +1 -0
  138. package/esm/src/ast/nodes/doc-tag.test.js +67 -0
  139. package/esm/src/ast/nodes/doc.test.d.ts +2 -0
  140. package/esm/src/ast/nodes/doc.test.d.ts.map +1 -0
  141. package/esm/src/ast/nodes/doc.test.js +33 -0
  142. package/esm/src/ast/nodes/enum-value.test.d.ts +2 -0
  143. package/esm/src/ast/nodes/enum-value.test.d.ts.map +1 -0
  144. package/esm/src/ast/nodes/enum-value.test.js +115 -0
  145. package/esm/src/ast/nodes/enum.test.d.ts +2 -0
  146. package/esm/src/ast/nodes/enum.test.d.ts.map +1 -0
  147. package/esm/src/ast/nodes/enum.test.js +129 -0
  148. package/esm/src/ast/nodes/function.test.d.ts +2 -0
  149. package/esm/src/ast/nodes/function.test.d.ts.map +1 -0
  150. package/esm/src/ast/nodes/function.test.js +160 -0
  151. package/esm/src/ast/nodes/generic-parameter.test.d.ts +2 -0
  152. package/esm/src/ast/nodes/generic-parameter.test.d.ts.map +1 -0
  153. package/esm/src/ast/nodes/generic-parameter.test.js +49 -0
  154. package/esm/src/ast/nodes/init-block.test.d.ts +2 -0
  155. package/esm/src/ast/nodes/init-block.test.d.ts.map +1 -0
  156. package/esm/src/ast/nodes/init-block.test.js +28 -0
  157. package/esm/src/ast/nodes/interface.test.d.ts +2 -0
  158. package/esm/src/ast/nodes/interface.test.d.ts.map +1 -0
  159. package/esm/src/ast/nodes/interface.test.js +121 -0
  160. package/esm/src/ast/nodes/object.test.d.ts +2 -0
  161. package/esm/src/ast/nodes/object.test.d.ts.map +1 -0
  162. package/esm/src/ast/nodes/object.test.js +78 -0
  163. package/esm/src/ast/nodes/parameter.test.d.ts +2 -0
  164. package/esm/src/ast/nodes/parameter.test.d.ts.map +1 -0
  165. package/esm/src/ast/nodes/parameter.test.js +152 -0
  166. package/esm/src/ast/nodes/property.test.d.ts +2 -0
  167. package/esm/src/ast/nodes/property.test.d.ts.map +1 -0
  168. package/esm/src/ast/nodes/property.test.js +206 -0
  169. package/esm/src/ast/nodes/reference.test.d.ts +2 -0
  170. package/esm/src/ast/nodes/reference.test.d.ts.map +1 -0
  171. package/esm/src/ast/nodes/reference.test.js +36 -0
  172. package/esm/src/ast/nodes/string.test.d.ts +2 -0
  173. package/esm/src/ast/nodes/string.test.d.ts.map +1 -0
  174. package/esm/src/ast/nodes/string.test.js +48 -0
  175. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
  176. package/esm/src/import-collection.test.d.ts +2 -0
  177. package/esm/src/import-collection.test.d.ts.map +1 -0
  178. package/esm/src/import-collection.test.js +99 -0
  179. package/esm/tests/openapi-models.test.d.ts +2 -0
  180. package/esm/tests/openapi-models.test.d.ts.map +1 -0
  181. package/esm/tests/openapi-models.test.js +45 -0
  182. package/package.json +2 -2
  183. package/script/_dnt.test_polyfills.d.ts +29 -0
  184. package/script/_dnt.test_polyfills.d.ts.map +1 -0
  185. package/script/_dnt.test_polyfills.js +32 -0
  186. package/script/_dnt.test_shims.d.ts +6 -0
  187. package/script/_dnt.test_shims.d.ts.map +1 -0
  188. package/script/_dnt.test_shims.js +65 -0
  189. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts +26 -0
  190. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.d.ts.map +1 -0
  191. package/script/deps/jsr.io/@std/assert/1.0.6/assertion_error.js +34 -0
  192. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts +17 -0
  193. package/script/deps/jsr.io/@std/assert/1.0.6/equal.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@std/assert/1.0.6/equal.js +139 -0
  195. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts +22 -0
  196. package/script/deps/jsr.io/@std/assert/1.0.6/equals.d.ts.map +1 -0
  197. package/script/deps/jsr.io/@std/assert/1.0.6/equals.js +48 -0
  198. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts +18 -0
  199. package/script/deps/jsr.io/@std/assert/1.0.6/false.d.ts.map +1 -0
  200. package/script/deps/jsr.io/@std/assert/1.0.6/false.js +25 -0
  201. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts +23 -0
  202. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@std/assert/1.0.6/instance_of.js +56 -0
  204. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts +25 -0
  205. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@std/assert/1.0.6/is_error.js +57 -0
  207. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts +18 -0
  208. package/script/deps/jsr.io/@std/assert/1.0.6/match.d.ts.map +1 -0
  209. package/script/deps/jsr.io/@std/assert/1.0.6/match.js +29 -0
  210. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts +20 -0
  211. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.d.ts.map +1 -0
  212. package/script/deps/jsr.io/@std/assert/1.0.6/not_instance_of.js +32 -0
  213. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts +18 -0
  214. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.d.ts.map +1 -0
  215. package/script/deps/jsr.io/@std/assert/1.0.6/not_match.js +29 -0
  216. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts +23 -0
  217. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.d.ts.map +1 -0
  218. package/script/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.js +35 -0
  219. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts +28 -0
  220. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.d.ts.map +1 -0
  221. package/script/deps/jsr.io/@std/assert/1.0.6/object_match.js +162 -0
  222. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts +42 -0
  223. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.d.ts.map +1 -0
  224. package/script/deps/jsr.io/@std/assert/1.0.6/rejects.js +56 -0
  225. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts +24 -0
  226. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.d.ts.map +1 -0
  227. package/script/deps/jsr.io/@std/assert/1.0.6/strict_equals.js +60 -0
  228. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_equals.d.ts +20 -0
  229. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_equals.d.ts.map +1 -0
  230. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_equals.js +32 -0
  231. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.d.ts +17 -0
  232. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.d.ts.map +1 -0
  233. package/script/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.js +29 -0
  234. package/script/deps/jsr.io/@std/expect/1.0.6/_assertion.d.ts +3 -0
  235. package/script/deps/jsr.io/@std/expect/1.0.6/_assertion.d.ts.map +1 -0
  236. package/script/deps/jsr.io/@std/expect/1.0.6/_assertion.js +13 -0
  237. package/script/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.d.ts +41 -0
  238. package/script/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.d.ts.map +1 -0
  239. package/script/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.js +161 -0
  240. package/script/deps/jsr.io/@std/expect/1.0.6/_build_message.d.ts +6 -0
  241. package/script/deps/jsr.io/@std/expect/1.0.6/_build_message.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@std/expect/1.0.6/_build_message.js +33 -0
  243. package/script/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.d.ts +4 -0
  244. package/script/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.d.ts.map +1 -0
  245. package/script/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.js +15 -0
  246. package/script/deps/jsr.io/@std/expect/1.0.6/_equal.d.ts +9 -0
  247. package/script/deps/jsr.io/@std/expect/1.0.6/_equal.d.ts.map +1 -0
  248. package/script/deps/jsr.io/@std/expect/1.0.6/_equal.js +194 -0
  249. package/script/deps/jsr.io/@std/expect/1.0.6/_extend.d.ts +4 -0
  250. package/script/deps/jsr.io/@std/expect/1.0.6/_extend.d.ts.map +1 -0
  251. package/script/deps/jsr.io/@std/expect/1.0.6/_extend.js +15 -0
  252. package/script/deps/jsr.io/@std/expect/1.0.6/_inspect_args.d.ts +3 -0
  253. package/script/deps/jsr.io/@std/expect/1.0.6/_inspect_args.d.ts.map +1 -0
  254. package/script/deps/jsr.io/@std/expect/1.0.6/_inspect_args.js +17 -0
  255. package/script/deps/jsr.io/@std/expect/1.0.6/_matchers.d.ts +34 -0
  256. package/script/deps/jsr.io/@std/expect/1.0.6/_matchers.d.ts.map +1 -0
  257. package/script/deps/jsr.io/@std/expect/1.0.6/_matchers.js +598 -0
  258. package/script/deps/jsr.io/@std/expect/1.0.6/_mock_util.d.ts +11 -0
  259. package/script/deps/jsr.io/@std/expect/1.0.6/_mock_util.d.ts.map +1 -0
  260. package/script/deps/jsr.io/@std/expect/1.0.6/_mock_util.js +14 -0
  261. package/script/deps/jsr.io/@std/expect/1.0.6/_types.d.ts +838 -0
  262. package/script/deps/jsr.io/@std/expect/1.0.6/_types.d.ts.map +1 -0
  263. package/script/deps/jsr.io/@std/expect/1.0.6/_types.js +4 -0
  264. package/script/deps/jsr.io/@std/expect/1.0.6/_utils.d.ts +8 -0
  265. package/script/deps/jsr.io/@std/expect/1.0.6/_utils.d.ts.map +1 -0
  266. package/script/deps/jsr.io/@std/expect/1.0.6/_utils.js +166 -0
  267. package/script/deps/jsr.io/@std/expect/1.0.6/expect.d.ts +52 -0
  268. package/script/deps/jsr.io/@std/expect/1.0.6/expect.d.ts.map +1 -0
  269. package/script/deps/jsr.io/@std/expect/1.0.6/expect.js +445 -0
  270. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts +75 -0
  271. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.d.ts.map +1 -0
  272. package/script/deps/jsr.io/@std/internal/1.0.4/assertion_state.js +106 -0
  273. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts +82 -0
  274. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.d.ts.map +1 -0
  275. package/script/deps/jsr.io/@std/internal/1.0.4/build_message.js +116 -0
  276. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts +140 -0
  277. package/script/deps/jsr.io/@std/internal/1.0.4/diff.d.ts.map +1 -0
  278. package/script/deps/jsr.io/@std/internal/1.0.4/diff.js +284 -0
  279. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts +99 -0
  280. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.d.ts.map +1 -0
  281. package/script/deps/jsr.io/@std/internal/1.0.4/diff_str.js +186 -0
  282. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts +2 -0
  283. package/script/deps/jsr.io/@std/internal/1.0.4/format.d.ts.map +1 -0
  284. package/script/deps/jsr.io/@std/internal/1.0.4/format.js +41 -0
  285. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts +159 -0
  286. package/script/deps/jsr.io/@std/internal/1.0.4/styles.d.ts.map +1 -0
  287. package/script/deps/jsr.io/@std/internal/1.0.4/styles.js +220 -0
  288. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts +16 -0
  289. package/script/deps/jsr.io/@std/internal/1.0.4/types.d.ts.map +1 -0
  290. package/script/deps/jsr.io/@std/internal/1.0.4/types.js +3 -0
  291. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts +74 -0
  292. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.d.ts.map +1 -0
  293. package/script/deps/jsr.io/@std/testing/1.0.3/_test_suite.js +345 -0
  294. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts +731 -0
  295. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.d.ts.map +1 -0
  296. package/script/deps/jsr.io/@std/testing/1.0.3/bdd.js +587 -0
  297. package/script/deps/jsr.io/@std/testing/1.0.3/mock.d.ts +674 -0
  298. package/script/deps/jsr.io/@std/testing/1.0.3/mock.d.ts.map +1 -0
  299. package/script/deps/jsr.io/@std/testing/1.0.3/mock.js +1136 -0
  300. package/script/src/ast/nodes/annotation.test.d.ts +2 -0
  301. package/script/src/ast/nodes/annotation.test.d.ts.map +1 -0
  302. package/script/src/ast/nodes/annotation.test.js +58 -0
  303. package/script/src/ast/nodes/argument.test.d.ts +2 -0
  304. package/script/src/ast/nodes/argument.test.d.ts.map +1 -0
  305. package/script/src/ast/nodes/argument.test.js +35 -0
  306. package/script/src/ast/nodes/call.test.d.ts +2 -0
  307. package/script/src/ast/nodes/call.test.d.ts.map +1 -0
  308. package/script/src/ast/nodes/call.test.js +37 -0
  309. package/script/src/ast/nodes/class.test.d.ts +2 -0
  310. package/script/src/ast/nodes/class.test.d.ts.map +1 -0
  311. package/script/src/ast/nodes/class.test.js +221 -0
  312. package/script/src/ast/nodes/constructor.test.d.ts +2 -0
  313. package/script/src/ast/nodes/constructor.test.d.ts.map +1 -0
  314. package/script/src/ast/nodes/constructor.test.js +141 -0
  315. package/script/src/ast/nodes/doc-tag.test.d.ts +2 -0
  316. package/script/src/ast/nodes/doc-tag.test.d.ts.map +1 -0
  317. package/script/src/ast/nodes/doc-tag.test.js +69 -0
  318. package/script/src/ast/nodes/doc.test.d.ts +2 -0
  319. package/script/src/ast/nodes/doc.test.d.ts.map +1 -0
  320. package/script/src/ast/nodes/doc.test.js +35 -0
  321. package/script/src/ast/nodes/enum-value.test.d.ts +2 -0
  322. package/script/src/ast/nodes/enum-value.test.d.ts.map +1 -0
  323. package/script/src/ast/nodes/enum-value.test.js +117 -0
  324. package/script/src/ast/nodes/enum.test.d.ts +2 -0
  325. package/script/src/ast/nodes/enum.test.d.ts.map +1 -0
  326. package/script/src/ast/nodes/enum.test.js +131 -0
  327. package/script/src/ast/nodes/function.test.d.ts +2 -0
  328. package/script/src/ast/nodes/function.test.d.ts.map +1 -0
  329. package/script/src/ast/nodes/function.test.js +162 -0
  330. package/script/src/ast/nodes/generic-parameter.test.d.ts +2 -0
  331. package/script/src/ast/nodes/generic-parameter.test.d.ts.map +1 -0
  332. package/script/src/ast/nodes/generic-parameter.test.js +51 -0
  333. package/script/src/ast/nodes/init-block.test.d.ts +2 -0
  334. package/script/src/ast/nodes/init-block.test.d.ts.map +1 -0
  335. package/script/src/ast/nodes/init-block.test.js +30 -0
  336. package/script/src/ast/nodes/interface.test.d.ts +2 -0
  337. package/script/src/ast/nodes/interface.test.d.ts.map +1 -0
  338. package/script/src/ast/nodes/interface.test.js +123 -0
  339. package/script/src/ast/nodes/object.test.d.ts +2 -0
  340. package/script/src/ast/nodes/object.test.d.ts.map +1 -0
  341. package/script/src/ast/nodes/object.test.js +80 -0
  342. package/script/src/ast/nodes/parameter.test.d.ts +2 -0
  343. package/script/src/ast/nodes/parameter.test.d.ts.map +1 -0
  344. package/script/src/ast/nodes/parameter.test.js +154 -0
  345. package/script/src/ast/nodes/property.test.d.ts +2 -0
  346. package/script/src/ast/nodes/property.test.d.ts.map +1 -0
  347. package/script/src/ast/nodes/property.test.js +208 -0
  348. package/script/src/ast/nodes/reference.test.d.ts +2 -0
  349. package/script/src/ast/nodes/reference.test.d.ts.map +1 -0
  350. package/script/src/ast/nodes/reference.test.js +38 -0
  351. package/script/src/ast/nodes/string.test.d.ts +2 -0
  352. package/script/src/ast/nodes/string.test.d.ts.map +1 -0
  353. package/script/src/ast/nodes/string.test.js +50 -0
  354. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +26 -26
  355. package/script/src/import-collection.test.d.ts +2 -0
  356. package/script/src/import-collection.test.d.ts.map +1 -0
  357. package/script/src/import-collection.test.js +101 -0
  358. package/script/tests/openapi-models.test.d.ts +2 -0
  359. package/script/tests/openapi-models.test.d.ts.map +1 -0
  360. package/script/tests/openapi-models.test.js +48 -0
  361. package/src/_dnt.test_polyfills.ts +70 -0
  362. package/src/_dnt.test_shims.ts +64 -0
  363. package/src/deps/jsr.io/@std/assert/1.0.6/assertion_error.ts +31 -0
  364. package/src/deps/jsr.io/@std/assert/1.0.6/equal.ts +152 -0
  365. package/src/deps/jsr.io/@std/assert/1.0.6/equals.ts +52 -0
  366. package/src/deps/jsr.io/@std/assert/1.0.6/false.ts +26 -0
  367. package/src/deps/jsr.io/@std/assert/1.0.6/instance_of.ts +64 -0
  368. package/src/deps/jsr.io/@std/assert/1.0.6/is_error.ts +65 -0
  369. package/src/deps/jsr.io/@std/assert/1.0.6/match.ts +30 -0
  370. package/src/deps/jsr.io/@std/assert/1.0.6/not_instance_of.ts +33 -0
  371. package/src/deps/jsr.io/@std/assert/1.0.6/not_match.ts +30 -0
  372. package/src/deps/jsr.io/@std/assert/1.0.6/not_strict_equals.ts +42 -0
  373. package/src/deps/jsr.io/@std/assert/1.0.6/object_match.ts +202 -0
  374. package/src/deps/jsr.io/@std/assert/1.0.6/rejects.ts +123 -0
  375. package/src/deps/jsr.io/@std/assert/1.0.6/strict_equals.ts +67 -0
  376. package/src/deps/jsr.io/@std/expect/1.0.6/_assert_equals.ts +38 -0
  377. package/src/deps/jsr.io/@std/expect/1.0.6/_assert_not_equals.ts +35 -0
  378. package/src/deps/jsr.io/@std/expect/1.0.6/_assertion.ts +13 -0
  379. package/src/deps/jsr.io/@std/expect/1.0.6/_asymmetric_matchers.ts +177 -0
  380. package/src/deps/jsr.io/@std/expect/1.0.6/_build_message.ts +51 -0
  381. package/src/deps/jsr.io/@std/expect/1.0.6/_custom_equality_tester.ts +19 -0
  382. package/src/deps/jsr.io/@std/expect/1.0.6/_equal.ts +229 -0
  383. package/src/deps/jsr.io/@std/expect/1.0.6/_extend.ts +16 -0
  384. package/src/deps/jsr.io/@std/expect/1.0.6/_inspect_args.ts +15 -0
  385. package/src/deps/jsr.io/@std/expect/1.0.6/_matchers.ts +828 -0
  386. package/src/deps/jsr.io/@std/expect/1.0.6/_mock_util.ts +22 -0
  387. package/src/deps/jsr.io/@std/expect/1.0.6/_types.ts +917 -0
  388. package/src/deps/jsr.io/@std/expect/1.0.6/_utils.ts +201 -0
  389. package/src/deps/jsr.io/@std/expect/1.0.6/expect.ts +529 -0
  390. package/src/deps/jsr.io/@std/internal/1.0.4/assertion_state.ts +111 -0
  391. package/src/deps/jsr.io/@std/internal/1.0.4/build_message.ts +134 -0
  392. package/src/deps/jsr.io/@std/internal/1.0.4/diff.ts +317 -0
  393. package/src/deps/jsr.io/@std/internal/1.0.4/diff_str.ts +204 -0
  394. package/src/deps/jsr.io/@std/internal/1.0.4/format.ts +39 -0
  395. package/src/deps/jsr.io/@std/internal/1.0.4/styles.ts +233 -0
  396. package/src/deps/jsr.io/@std/internal/1.0.4/types.ts +18 -0
  397. package/src/deps/jsr.io/@std/testing/1.0.3/_test_suite.ts +389 -0
  398. package/src/deps/jsr.io/@std/testing/1.0.3/bdd.ts +1202 -0
  399. package/src/deps/jsr.io/@std/testing/1.0.3/mock.ts +1839 -0
  400. package/src/mod.ts +8 -0
  401. package/src/src/assets.ts +9 -0
  402. package/src/src/ast/_index.ts +66 -0
  403. package/src/src/ast/common.ts +1 -0
  404. package/src/src/ast/index.ts +1 -0
  405. package/src/src/ast/node.ts +10 -0
  406. package/src/src/ast/nodes/annotation.test.ts +69 -0
  407. package/src/src/ast/nodes/annotation.ts +79 -0
  408. package/src/src/ast/nodes/argument.test.ts +41 -0
  409. package/src/src/ast/nodes/argument.ts +62 -0
  410. package/src/src/ast/nodes/call.test.ts +44 -0
  411. package/src/src/ast/nodes/call.ts +66 -0
  412. package/src/src/ast/nodes/class.test.ts +274 -0
  413. package/src/src/ast/nodes/class.ts +178 -0
  414. package/src/src/ast/nodes/collection-literal.ts +49 -0
  415. package/src/src/ast/nodes/constructor.test.ts +178 -0
  416. package/src/src/ast/nodes/constructor.ts +126 -0
  417. package/src/src/ast/nodes/doc-tag.test.ts +84 -0
  418. package/src/src/ast/nodes/doc-tag.ts +138 -0
  419. package/src/src/ast/nodes/doc.test.ts +42 -0
  420. package/src/src/ast/nodes/doc.ts +111 -0
  421. package/src/src/ast/nodes/enum-value.test.ts +146 -0
  422. package/src/src/ast/nodes/enum-value.ts +100 -0
  423. package/src/src/ast/nodes/enum.test.ts +167 -0
  424. package/src/src/ast/nodes/enum.ts +163 -0
  425. package/src/src/ast/nodes/function.test.ts +194 -0
  426. package/src/src/ast/nodes/function.ts +176 -0
  427. package/src/src/ast/nodes/generic-parameter.test.ts +60 -0
  428. package/src/src/ast/nodes/generic-parameter.ts +54 -0
  429. package/src/src/ast/nodes/init-block.test.ts +36 -0
  430. package/src/src/ast/nodes/init-block.ts +38 -0
  431. package/src/src/ast/nodes/interface.test.ts +151 -0
  432. package/src/src/ast/nodes/interface.ts +133 -0
  433. package/src/src/ast/nodes/lambda-type.ts +68 -0
  434. package/src/src/ast/nodes/lambda.ts +68 -0
  435. package/src/src/ast/nodes/object.test.ts +101 -0
  436. package/src/src/ast/nodes/object.ts +102 -0
  437. package/src/src/ast/nodes/parameter.test.ts +191 -0
  438. package/src/src/ast/nodes/parameter.ts +118 -0
  439. package/src/src/ast/nodes/property.test.ts +253 -0
  440. package/src/src/ast/nodes/property.ts +225 -0
  441. package/src/src/ast/nodes/reference.test.ts +47 -0
  442. package/src/src/ast/nodes/reference.ts +178 -0
  443. package/src/src/ast/nodes/string.test.ts +61 -0
  444. package/src/src/ast/nodes/string.ts +114 -0
  445. package/src/src/ast/nodes/types.ts +23 -0
  446. package/src/src/ast/references/index.ts +8 -0
  447. package/src/src/ast/references/jackson.ts +16 -0
  448. package/src/src/ast/references/jakarta.ts +10 -0
  449. package/src/src/ast/references/java.ts +19 -0
  450. package/src/src/ast/references/kotlin.ts +40 -0
  451. package/src/src/ast/references/okhttp3.ts +5 -0
  452. package/src/src/ast/references/reactor.ts +5 -0
  453. package/src/src/ast/references/spring.ts +58 -0
  454. package/src/src/ast/references/swagger.ts +19 -0
  455. package/src/src/ast/utils/get-kotlin-builder-options.ts +19 -0
  456. package/src/src/ast/utils/to-kt-node.ts +31 -0
  457. package/src/src/ast/utils/write-kt-annotations.ts +15 -0
  458. package/src/src/ast/utils/write-kt-arguments.ts +45 -0
  459. package/src/src/ast/utils/write-kt-enum-values.ts +27 -0
  460. package/src/src/ast/utils/write-kt-generic-parameters.ts +12 -0
  461. package/src/src/ast/utils/write-kt-members.ts +25 -0
  462. package/src/src/ast/utils/write-kt-node.ts +37 -0
  463. package/src/src/ast/utils/write-kt-parameters.ts +25 -0
  464. package/src/src/common-results.ts +4 -0
  465. package/src/src/config.ts +39 -0
  466. package/src/src/file-builder.ts +108 -0
  467. package/src/src/generators/file-generator.ts +29 -0
  468. package/src/src/generators/index.ts +4 -0
  469. package/src/src/generators/models/args.ts +128 -0
  470. package/src/src/generators/models/index.ts +4 -0
  471. package/src/src/generators/models/model-generator.ts +602 -0
  472. package/src/src/generators/models/models-generator.ts +65 -0
  473. package/src/src/generators/models/models.ts +95 -0
  474. package/src/src/generators/services/okhttp3-clients/args.ts +78 -0
  475. package/src/src/generators/services/okhttp3-clients/index.ts +4 -0
  476. package/src/src/generators/services/okhttp3-clients/models.ts +60 -0
  477. package/src/src/generators/services/okhttp3-clients/okhttp3-client-generator.ts +557 -0
  478. package/src/src/generators/services/okhttp3-clients/okhttp3-clients-generator.ts +128 -0
  479. package/src/src/generators/services/okhttp3-clients/refs.ts +55 -0
  480. package/src/src/generators/services/spring-controllers/args.ts +71 -0
  481. package/src/src/generators/services/spring-controllers/index.ts +4 -0
  482. package/src/src/generators/services/spring-controllers/models.ts +58 -0
  483. package/src/src/generators/services/spring-controllers/spring-controller-generator.ts +605 -0
  484. package/src/src/generators/services/spring-controllers/spring-controllers-generator.ts +70 -0
  485. package/src/src/import-collection.test.ts +116 -0
  486. package/src/src/import-collection.ts +98 -0
  487. package/src/src/types.ts +3 -0
  488. package/src/src/utils.ts +39 -0
  489. package/src/tests/openapi-models.test.ts +63 -0
  490. package/test_runner.js +227 -0
@@ -0,0 +1,178 @@
1
+ import {
2
+ type AstNodeOptions,
3
+ notNullish,
4
+ type Nullable,
5
+ type Prettify,
6
+ type SourceBuilder,
7
+ type TupleWithCount,
8
+ } from '@goast/core';
9
+
10
+ import { KotlinFileBuilder } from '../../file-builder.js';
11
+ import { KtNode } from '../node.js';
12
+ import { writeKtNode, writeKtNodes } from '../utils/write-kt-node.js';
13
+ import { ktGenericParameter } from './generic-parameter.js';
14
+ import type { KtType } from './types.js';
15
+
16
+ import type { KtCall } from './call.js';
17
+
18
+ type Injects = never;
19
+
20
+ type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
21
+ typeof KtNode<TBuilder, TInjects | Injects>,
22
+ {
23
+ name: string;
24
+ packageName?: Nullable<string>;
25
+ generics?: Nullable<Nullable<KtType<TBuilder>>[]>;
26
+ nullable?: Nullable<boolean>;
27
+ classReference?: Nullable<boolean>;
28
+ subReference?: Nullable<KtReference<TBuilder> | KtCall<TBuilder>>;
29
+ }
30
+ >;
31
+
32
+ type _AddImportHandler<T> = {
33
+ // deno-lint-ignore no-explicit-any
34
+ builderClass: abstract new (...args: any) => T;
35
+ // deno-lint-ignore no-explicit-any
36
+ handler: (builder: T, reference: KtReference<any>) => void;
37
+ };
38
+
39
+ export class KtReference<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
40
+ TBuilder,
41
+ TInjects | Injects
42
+ > {
43
+ // deno-lint-ignore no-explicit-any
44
+ private static readonly addImportHandlers: _AddImportHandler<any>[] = [
45
+ {
46
+ builderClass: KotlinFileBuilder,
47
+ handler: (builder, reference) => builder.addImport(reference.name, reference.packageName),
48
+ },
49
+ ];
50
+
51
+ public name: string;
52
+ public packageName: string | null;
53
+ public generics: KtType<TBuilder>[];
54
+ public nullable: boolean;
55
+ public classReference: boolean;
56
+ public subReference: KtReference<TBuilder> | KtCall<TBuilder> | null;
57
+
58
+ constructor(options: Options<TBuilder, TInjects>) {
59
+ super(options);
60
+ this.name = options.name;
61
+ this.packageName = options.packageName ?? null;
62
+ this.generics = options.generics?.filter(notNullish) ?? [];
63
+ this.nullable = options.nullable ?? false;
64
+ this.classReference = options.classReference ?? false;
65
+ this.subReference = options.subReference ?? null;
66
+ }
67
+
68
+ public addImport(builder: TBuilder): void {
69
+ if (this.packageName) {
70
+ const handler = KtReference.addImportHandlers.find((h) => builder instanceof h.builderClass);
71
+ if (handler) {
72
+ handler.handler(builder, this);
73
+ }
74
+ }
75
+ }
76
+
77
+ protected override onWrite(builder: TBuilder): void {
78
+ builder.append(this.name);
79
+ ktGenericParameter.write(builder, this.generics);
80
+ if (this.classReference) {
81
+ builder.append('::class');
82
+ } else if (this.subReference) {
83
+ builder.append('::');
84
+ writeKtNode(builder, this.subReference);
85
+ } else if (this.nullable) {
86
+ builder.append('?');
87
+ }
88
+
89
+ this.addImport(builder);
90
+ }
91
+
92
+ public static registerAddImportHandler<TBuilder extends SourceBuilder>(
93
+ builderClass: _AddImportHandler<TBuilder>['builderClass'],
94
+ handler: _AddImportHandler<TBuilder>['handler'],
95
+ ): void {
96
+ KtReference.addImportHandlers.push({ builderClass, handler });
97
+ }
98
+ }
99
+
100
+ const createReference = <TBuilder extends SourceBuilder>(
101
+ name: Options<TBuilder>['name'],
102
+ packageName?: Options<TBuilder>['packageName'],
103
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>,
104
+ ): KtReference<TBuilder> => new KtReference<TBuilder>({ ...options, name, packageName });
105
+
106
+ export type KtReferenceFactory =
107
+ & (<TBuilder extends SourceBuilder>(
108
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>,
109
+ ) => KtReference<TBuilder>)
110
+ & {
111
+ refName: string;
112
+ packageName: Nullable<string>;
113
+ matches: (value: unknown) => value is KtReference<never>;
114
+ };
115
+
116
+ export type KtGenericReferenceFactory<TGenericCount extends number | number[]> =
117
+ & (<TBuilder extends SourceBuilder>(
118
+ generics: TupleWithCount<KtType<TBuilder>, TGenericCount>,
119
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
120
+ ) => KtReference<TBuilder>)
121
+ & {
122
+ refName: string;
123
+ packageName: Nullable<string>;
124
+ infer: <TBuilder extends SourceBuilder>(
125
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
126
+ ) => KtReference<TBuilder>;
127
+ matches: (value: unknown) => value is KtReference<never>;
128
+ };
129
+
130
+ const createFactory = (name: string, packageName?: Nullable<string>): KtReferenceFactory => {
131
+ return Object.assign(
132
+ <TBuilder extends SourceBuilder>(options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName'>>) =>
133
+ createReference<TBuilder>(name, packageName, options),
134
+ {
135
+ refName: name,
136
+ packageName,
137
+ matches: (value: unknown): value is KtReference<never> =>
138
+ value instanceof KtReference && value.name === name && value.packageName === (packageName ?? null),
139
+ },
140
+ );
141
+ };
142
+
143
+ const createGenericFactory = <TGenericCount extends number | number[]>(
144
+ name: string,
145
+ packageName?: Nullable<string>,
146
+ ): KtGenericReferenceFactory<TGenericCount> => {
147
+ return Object.assign(
148
+ <TBuilder extends SourceBuilder>(
149
+ generics: TupleWithCount<KtType<TBuilder>, TGenericCount>,
150
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
151
+ ) => createReference<TBuilder>(name, packageName, { ...options, generics }),
152
+ {
153
+ refName: name,
154
+ packageName,
155
+ infer: <TBuilder extends SourceBuilder>(
156
+ options?: Prettify<Omit<Options<TBuilder>, 'name' | 'packageName' | 'generics'>>,
157
+ ) => createReference<TBuilder>(name, packageName, options),
158
+ matches: (value: unknown): value is KtReference<never> =>
159
+ value instanceof KtReference && value.name === name && value.packageName === (packageName ?? null),
160
+ },
161
+ );
162
+ };
163
+
164
+ const importRefs = <TBuilder extends SourceBuilder>(builder: TBuilder, references: KtReference<TBuilder>[]): void => {
165
+ references.forEach((ref) => ref.addImport(builder));
166
+ };
167
+
168
+ export const ktReference: typeof createReference & {
169
+ factory: typeof createFactory;
170
+ genericFactory: typeof createGenericFactory;
171
+ write: typeof writeKtNodes;
172
+ import: typeof importRefs;
173
+ } = Object.assign(createReference, {
174
+ factory: createFactory,
175
+ genericFactory: createGenericFactory,
176
+ write: writeKtNodes,
177
+ import: importRefs,
178
+ });
@@ -0,0 +1,61 @@
1
+ import "../../../_dnt.test_polyfills.js";
2
+ import { EOL } from 'node:os';
3
+
4
+ import { expect } from '../../../deps/jsr.io/@std/expect/1.0.6/expect.js';
5
+ import { beforeEach, describe, it } from '../../../deps/jsr.io/@std/testing/1.0.3/bdd.js';
6
+
7
+ import { KotlinFileBuilder } from '../../file-builder.js';
8
+ import { ktString } from './string.js';
9
+
10
+ describe('ktString', () => {
11
+ let builder: KotlinFileBuilder;
12
+
13
+ beforeEach(() => {
14
+ builder = new KotlinFileBuilder();
15
+ });
16
+
17
+ it('should handle null', () => {
18
+ builder.append(ktString(null));
19
+ expect(builder.toString(false)).toBe('null');
20
+ });
21
+
22
+ it('should surround string with double quotes', () => {
23
+ builder.append(ktString('test'));
24
+ expect(builder.toString(false)).toBe('"test"');
25
+ });
26
+
27
+ it('should escape certain characters', () => {
28
+ builder.append(ktString('\r\n\t${\n"abc"\n}\u0014'));
29
+ expect(builder.toString(false)).toBe('"\\r\\n\\t\\${\\n\\"abc\\"\\n}\\u0014"');
30
+ });
31
+
32
+ it('should not escape $ character in template string', () => {
33
+ builder.append(ktString('\r\n\t${\n"abc"\n}\u0014', { template: true }));
34
+ expect(builder.toString(false)).toBe(`"\\r\\n\\t\${${EOL}"abc"${EOL}}\\u0014"`);
35
+ });
36
+
37
+ it('should handle multiline strings', () => {
38
+ builder.append(ktString('test\r\ntest', { multiline: true }));
39
+ expect(builder.toString(false)).toBe(`"""${EOL} |test${EOL} |test${EOL} """.trimMargin()`);
40
+ });
41
+
42
+ it('should handle multiline strings with custom margin prefix', () => {
43
+ builder.append(ktString('test\r\ntest', { multiline: true, marginPrefix: '!' }));
44
+ expect(builder.toString(false)).toBe(`"""${EOL} !test${EOL} !test${EOL} """.trimMargin("!")`);
45
+ });
46
+
47
+ it('should handle multiline strings without auto prefix', () => {
48
+ builder.append(ktString('test\r\ntest', { multiline: true, autoAddMarginPrefix: false }));
49
+ expect(builder.toString(false)).toBe(`"""${EOL} test${EOL} test${EOL} """.trimMargin()`);
50
+ });
51
+
52
+ it('should handle multiline strings without trimMargin', () => {
53
+ builder.append(ktString('test\r\ntest', { multiline: true, trimMargin: false }));
54
+ expect(builder.toString(false)).toBe(`"""test${EOL}test"""`);
55
+ });
56
+
57
+ it('should render injections', () => {
58
+ builder.append(ktString('test', { inject: { before: 'before', after: 'after' } }));
59
+ expect(builder.toString(false)).toBe('before"test"after');
60
+ });
61
+ });
@@ -0,0 +1,114 @@
1
+ import { type AstNodeOptions, type Nullable, type Prettify, type SourceBuilder, spliceString } from '@goast/core';
2
+
3
+ import { KtNode } from '../node.js';
4
+ import { writeKtNodes } from '../utils/write-kt-node.js';
5
+ import { ktArgument } from './argument.js';
6
+
7
+ type Injects = never;
8
+
9
+ type Options<TBuilder extends SourceBuilder, TInjects extends string = never> = AstNodeOptions<
10
+ typeof KtNode<TBuilder, TInjects | Injects>,
11
+ {
12
+ value?: Nullable<string>;
13
+ template?: Nullable<boolean>;
14
+ multiline?: Nullable<boolean>;
15
+ trimMargin?: Nullable<boolean>;
16
+ marginPrefix?: Nullable<string>;
17
+ autoAddMarginPrefix?: Nullable<boolean>;
18
+ }
19
+ >;
20
+
21
+ export class KtString<TBuilder extends SourceBuilder, TInjects extends string = never> extends KtNode<
22
+ TBuilder,
23
+ TInjects | Injects
24
+ > {
25
+ public value: string | null;
26
+ public template: boolean;
27
+ public multiline: boolean;
28
+ public trimMargin: boolean;
29
+ public marginPrefix: string | null;
30
+ public autoAddMarginPrefix: boolean;
31
+
32
+ constructor(options: Options<TBuilder, TInjects>) {
33
+ super(options);
34
+ this.value = options?.value ?? null;
35
+ this.template = options?.template ?? false;
36
+ this.multiline = options?.multiline ?? false;
37
+ this.trimMargin = options?.trimMargin ?? true;
38
+ this.marginPrefix = options?.marginPrefix ?? null;
39
+ this.autoAddMarginPrefix = options?.autoAddMarginPrefix ?? true;
40
+ }
41
+
42
+ protected override onWrite(builder: TBuilder): void {
43
+ if (this.value === null) {
44
+ builder.append('null');
45
+ return;
46
+ }
47
+
48
+ let value = JSON.stringify(this.value).slice(1, -1);
49
+ if (this.multiline) {
50
+ value = value.replace(/\\n/g, '\n').replace(/\\r/g, '\r');
51
+ }
52
+
53
+ if (!this.template) {
54
+ value = value.replace(/\$/g, '\\$');
55
+ } else {
56
+ const originalParts = this.findTemplateParts(this.value);
57
+ const escapedParts = this.findTemplateParts(value);
58
+ if (originalParts.length !== escapedParts.length) {
59
+ throw new Error('Template parts count mismatch');
60
+ }
61
+ for (let i = originalParts.length - 1; i >= 0; i--) {
62
+ const original = originalParts[i];
63
+ const escaped = escapedParts[i];
64
+ value = spliceString(value, escaped.index, escaped.value.length, original.value);
65
+ }
66
+ }
67
+
68
+ builder.append(this.multiline ? '"""' + (this.trimMargin ? '\n' : '') : '"');
69
+
70
+ if (this.multiline && this.trimMargin) {
71
+ builder.indent((b) => {
72
+ if (this.autoAddMarginPrefix) {
73
+ b.appendWithLinePrefix(this.marginPrefix ?? '|', value);
74
+ } else {
75
+ b.append(value);
76
+ }
77
+
78
+ b.append('\n""".trimMargin');
79
+ ktArgument.write(b, [this.marginPrefix ? new KtString<TBuilder>({ value: this.marginPrefix }) : null]);
80
+ });
81
+ } else {
82
+ builder.append(value, this.multiline ? '"""' : '"');
83
+ }
84
+ }
85
+
86
+ protected findTemplateParts(value: string): { value: string; index: number }[] {
87
+ const parts: { value: string; index: number }[] = [];
88
+ let start: number | undefined = undefined;
89
+ let bracketCount = 0;
90
+ for (let i = 0; i < value.length; i++) {
91
+ if (value[i] === '$' && value[i + 1] === '{') {
92
+ start = i;
93
+ } else if (value[i] === '{') {
94
+ bracketCount++;
95
+ } else if (value[i] === '}') {
96
+ bracketCount--;
97
+ if (bracketCount === 0 && start !== undefined) {
98
+ parts.push({ value: value.slice(start, i + 1), index: start });
99
+ start = undefined;
100
+ }
101
+ }
102
+ }
103
+ return parts;
104
+ }
105
+ }
106
+
107
+ const createString = <TBuilder extends SourceBuilder>(
108
+ value: Options<TBuilder>['value'],
109
+ options?: Prettify<Omit<Options<TBuilder>, 'value'>>,
110
+ ): KtString<TBuilder> => new KtString<TBuilder>({ ...options, value });
111
+
112
+ export const ktString: typeof createString & { write: typeof writeKtNodes } = Object.assign(createString, {
113
+ write: writeKtNodes,
114
+ });
@@ -0,0 +1,23 @@
1
+ import type { BasicAppendValue, SourceBuilder } from '@goast/core';
2
+
3
+ import type { KtCall } from './call.js';
4
+ import type { KtCollectionLiteral } from './collection-literal.js';
5
+ import type { KtLambdaType } from './lambda-type.js';
6
+ import type { KtLambda } from './lambda.js';
7
+ import type { KtObject } from './object.js';
8
+ import type { KtReference } from './reference.js';
9
+ import type { KtString } from './string.js';
10
+
11
+ export type KtType<TBuilder extends SourceBuilder> =
12
+ | KtReference<TBuilder>
13
+ | KtLambdaType<TBuilder>
14
+ | BasicAppendValue<TBuilder>;
15
+
16
+ export type KtValue<TBuilder extends SourceBuilder> =
17
+ | KtReference<TBuilder>
18
+ | KtString<TBuilder>
19
+ | KtCall<TBuilder>
20
+ | KtObject<TBuilder>
21
+ | KtLambda<TBuilder>
22
+ | KtCollectionLiteral<TBuilder>
23
+ | BasicAppendValue<TBuilder>;
@@ -0,0 +1,8 @@
1
+ export * as jackson from './jackson.js';
2
+ export * as jakarta from './jakarta.js';
3
+ export * as java from './java.js';
4
+ export * from './kotlin.js';
5
+ export * as okhttp3 from './okhttp3.js';
6
+ export * as reactor from './reactor.js';
7
+ export * as spring from './spring.js';
8
+ export * as swagger from './swagger.js';
@@ -0,0 +1,16 @@
1
+ import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // com.fasterxml.jackson.annotation
4
+ export const jsonTypeInfo: KtReferenceFactory = ktReference.factory('JsonTypeInfo', 'com.fasterxml.jackson.annotation');
5
+ export const jsonSubTypes: KtReferenceFactory = ktReference.factory('JsonSubTypes', 'com.fasterxml.jackson.annotation');
6
+ export const jsonProperty: KtReferenceFactory = ktReference.factory('JsonProperty', 'com.fasterxml.jackson.annotation');
7
+ export const jsonInclude: KtReferenceFactory = ktReference.factory('JsonInclude', 'com.fasterxml.jackson.annotation');
8
+ export const jsonIgnore: KtReferenceFactory = ktReference.factory('JsonIgnore', 'com.fasterxml.jackson.annotation');
9
+ export const jsonAnySetter: KtReferenceFactory = ktReference.factory(
10
+ 'JsonAnySetter',
11
+ 'com.fasterxml.jackson.annotation',
12
+ );
13
+ export const jsonAnyGetter: KtReferenceFactory = ktReference.factory(
14
+ 'JsonAnyGetter',
15
+ 'com.fasterxml.jackson.annotation',
16
+ );
@@ -0,0 +1,10 @@
1
+ import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // jakarta.annotation
4
+ export const generated: KtReferenceFactory = ktReference.factory('Generated', 'jakarta.annotation');
5
+
6
+ // jakarta.validation
7
+ export const valid: KtReferenceFactory = ktReference.factory('Valid', 'jakarta.validation');
8
+
9
+ // jakarta.validation.constraints
10
+ export const pattern: KtReferenceFactory = ktReference.factory('Pattern', 'jakarta.validation.constraints');
@@ -0,0 +1,19 @@
1
+ import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // java.io
4
+ export const file: KtReferenceFactory = ktReference.factory('File', 'java.io');
5
+ export const ioException: KtReferenceFactory = ktReference.factory('IOException', 'java.io');
6
+
7
+ // java.lang
8
+ export const illegalStateException: KtReferenceFactory = ktReference.factory('IllegalStateException', 'java.lang');
9
+ export const system: KtReferenceFactory = ktReference.factory('System', 'java.lang');
10
+ export const unsupportedOperationException: KtReferenceFactory = ktReference.factory(
11
+ 'UnsupportedOperationException',
12
+ 'java.lang',
13
+ );
14
+
15
+ // java.time
16
+ export const offsetDateTime: KtReferenceFactory = ktReference.factory('OffsetDateTime', 'java.time');
17
+
18
+ // java.util
19
+ export const optional: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Optional', 'java.util');
@@ -0,0 +1,40 @@
1
+ import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // kotlin
4
+ export const any: KtReferenceFactory = ktReference.factory('Any', 'kotlin');
5
+ export const nothing: KtReferenceFactory = ktReference.factory('Nothing', 'kotlin');
6
+ export const unit: KtReferenceFactory = ktReference.factory('Unit', 'kotlin');
7
+ export const string: KtReferenceFactory = ktReference.factory('String', 'kotlin');
8
+ export const int: KtReferenceFactory = ktReference.factory('Int', 'kotlin');
9
+ export const long: KtReferenceFactory = ktReference.factory('Long', 'kotlin');
10
+ export const float: KtReferenceFactory = ktReference.factory('Float', 'kotlin');
11
+ export const double: KtReferenceFactory = ktReference.factory('Double', 'kotlin');
12
+ export const boolean: KtReferenceFactory = ktReference.factory('Boolean', 'kotlin');
13
+ export const lazyFun: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('lazy', 'kotlin');
14
+ export const throws: KtReferenceFactory = ktReference.factory('Throws', 'kotlin');
15
+ export const deprecated: KtReferenceFactory = ktReference.factory('Deprecated', 'kotlin');
16
+
17
+ // kotlin.collections
18
+ export const list: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('List', 'kotlin.collections');
19
+ export const mutableList: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
20
+ 'MutableList',
21
+ 'kotlin.collections',
22
+ );
23
+ export const map: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>('Map', 'kotlin.collections');
24
+ export const mutableMap: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>(
25
+ 'MutableMap',
26
+ 'kotlin.collections',
27
+ );
28
+ export const listOf: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('listOf', 'kotlin.collections');
29
+ export const mutableListOf: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
30
+ 'mutableListOf',
31
+ 'kotlin.collections',
32
+ );
33
+ export const mapOf: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>('mapOf', 'kotlin.collections');
34
+ export const mutableMapOf: KtGenericReferenceFactory<2> = ktReference.genericFactory<2>(
35
+ 'mutableMapOf',
36
+ 'kotlin.collections',
37
+ );
38
+
39
+ // kotlin.jvm
40
+ export const jvmStatic: KtReferenceFactory = ktReference.factory('JvmStatic', 'kotlin.jvm');
@@ -0,0 +1,5 @@
1
+ import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // okhttp3
4
+ export const okHttpClient: KtReferenceFactory = ktReference.factory('Factory', 'okhttp3.Call');
5
+ export const httpUrl: KtReferenceFactory = ktReference.factory('HttpUrl', 'okhttp3');
@@ -0,0 +1,5 @@
1
+ import { type KtGenericReferenceFactory, ktReference } from '../nodes/reference.js';
2
+
3
+ // reactor.core.publisher
4
+ export const flux: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Flux', 'reactor.core.publisher');
5
+ export const mono: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>('Mono', 'reactor.core.publisher');
@@ -0,0 +1,58 @@
1
+ import { type KtGenericReferenceFactory, ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // org.springframework.beans.factory.annotation
4
+ export const autowired: KtReferenceFactory = ktReference.factory(
5
+ 'Autowired',
6
+ 'org.springframework.beans.factory.annotation',
7
+ );
8
+
9
+ // org.springframework.http
10
+ export const httpStatus: KtReferenceFactory = ktReference.factory('HttpStatus', 'org.springframework.http');
11
+ export const responseEntity: KtGenericReferenceFactory<1> = ktReference.genericFactory<1>(
12
+ 'ResponseEntity',
13
+ 'org.springframework.http',
14
+ );
15
+
16
+ // org.springframework.http.codec.multipart
17
+ export const filePart: KtReferenceFactory = ktReference.factory('FilePart', 'org.springframework.http.codec.multipart');
18
+
19
+ // org.springframework.stereotype
20
+ export const controller: KtReferenceFactory = ktReference.factory('Controller', 'org.springframework.stereotype');
21
+
22
+ // org.springframework.validation.annotation
23
+ export const validated: KtReferenceFactory = ktReference.factory(
24
+ 'Validated',
25
+ 'org.springframework.validation.annotation',
26
+ );
27
+
28
+ // org.springframework.web.bind.annotation
29
+ export const pathVariable: KtReferenceFactory = ktReference.factory(
30
+ 'PathVariable',
31
+ 'org.springframework.web.bind.annotation',
32
+ );
33
+ export const requestBody: KtReferenceFactory = ktReference.factory(
34
+ 'RequestBody',
35
+ 'org.springframework.web.bind.annotation',
36
+ );
37
+ export const requestMapping: KtReferenceFactory = ktReference.factory(
38
+ 'RequestMapping',
39
+ 'org.springframework.web.bind.annotation',
40
+ );
41
+ export const requestMethod: KtReferenceFactory = ktReference.factory(
42
+ 'RequestMethod',
43
+ 'org.springframework.web.bind.annotation',
44
+ );
45
+ export const requestParam: KtReferenceFactory = ktReference.factory(
46
+ 'RequestParam',
47
+ 'org.springframework.web.bind.annotation',
48
+ );
49
+ export const requestPart: KtReferenceFactory = ktReference.factory(
50
+ 'RequestPart',
51
+ 'org.springframework.web.bind.annotation',
52
+ );
53
+
54
+ // org.springframework.web.context.request
55
+ export const nativeWebRequest: KtReferenceFactory = ktReference.factory(
56
+ 'NativeWebRequest',
57
+ 'org.springframework.web.context.request',
58
+ );
@@ -0,0 +1,19 @@
1
+ import { ktReference, type KtReferenceFactory } from '../nodes/reference.js';
2
+
3
+ // io.swagger.v3.oas.annotations
4
+ export const parameter: KtReferenceFactory = ktReference.factory('Parameter', 'io.swagger.v3.oas.annotations');
5
+ export const operation: KtReferenceFactory = ktReference.factory('Operation', 'io.swagger.v3.oas.annotations');
6
+
7
+ // io.swagger.v3.oas.annotations.media
8
+ export const schema: KtReferenceFactory = ktReference.factory('Schema', 'io.swagger.v3.oas.annotations.media');
9
+ export const content: KtReferenceFactory = ktReference.factory('Content', 'io.swagger.v3.oas.annotations.media');
10
+
11
+ // io.swagger.v3.oas.annotations.responses
12
+ export const apiResponse: KtReferenceFactory = ktReference.factory(
13
+ 'ApiResponse',
14
+ 'io.swagger.v3.oas.annotations.responses',
15
+ );
16
+ export const apiResponses: KtReferenceFactory = ktReference.factory(
17
+ 'ApiResponses',
18
+ 'io.swagger.v3.oas.annotations.responses',
19
+ );
@@ -0,0 +1,19 @@
1
+ import { defaultOpenApiGeneratorConfig, type SourceBuilder } from '@goast/core';
2
+
3
+ import { defaultKotlinGeneratorConfig, type KotlinGeneratorConfig } from '../../config.js';
4
+ import { KotlinFileBuilder } from '../../file-builder.js';
5
+
6
+ const ktConfigSymbol = Symbol();
7
+ type _BuilderWithConfig = SourceBuilder & { [ktConfigSymbol]?: KotlinGeneratorConfig };
8
+
9
+ export function getKotlinBuilderOptions(builder: SourceBuilder): KotlinGeneratorConfig {
10
+ if (builder instanceof KotlinFileBuilder) {
11
+ return builder.options;
12
+ }
13
+ if (ktConfigSymbol in builder.options) {
14
+ return builder.options[ktConfigSymbol] as KotlinGeneratorConfig;
15
+ }
16
+ const options = { ...defaultOpenApiGeneratorConfig, ...defaultKotlinGeneratorConfig, ...builder.options };
17
+ (builder as _BuilderWithConfig)[ktConfigSymbol] = options;
18
+ return options;
19
+ }
@@ -0,0 +1,31 @@
1
+ import type { BasicAppendValue, SourceBuilder } from '@goast/core';
2
+
3
+ import { type KtCall, ktCall } from '../nodes/call.js';
4
+ import { type KtString, ktString } from '../nodes/string.js';
5
+ import { listOf, mapOf } from '../references/index.js';
6
+
7
+ export function toKtNode<TBuilder extends SourceBuilder>(object: Record<string | number, unknown>): KtCall<TBuilder>;
8
+ export function toKtNode<TBuilder extends SourceBuilder>(list: unknown[]): KtCall<TBuilder>;
9
+ export function toKtNode<TBuilder extends SourceBuilder>(string: string): KtString<TBuilder>;
10
+ export function toKtNode<TBuilder extends SourceBuilder>(value: unknown): BasicAppendValue<TBuilder>;
11
+ export function toKtNode<TBuilder extends SourceBuilder>(value: unknown): unknown {
12
+ if (Array.isArray(value)) {
13
+ return ktCall(
14
+ [listOf.infer()],
15
+ value.map((x) => toKtNode<TBuilder>(x)),
16
+ );
17
+ }
18
+ if (typeof value === 'object' && value !== null) {
19
+ return ktCall(
20
+ [mapOf.infer()],
21
+ Object.entries(value).map(([k, v]) => ktCall([toKtNode(k), 'to'], [toKtNode(v)])),
22
+ );
23
+ }
24
+ if (value === null || value === undefined) {
25
+ return 'null';
26
+ }
27
+ if (typeof value === 'boolean' || typeof value === 'number') {
28
+ return String(value);
29
+ }
30
+ return ktString(String(value));
31
+ }
@@ -0,0 +1,15 @@
1
+ import { notNullish, type Nullable, type SingleOrMultiple, type SourceBuilder, toArray } from '@goast/core';
2
+
3
+ import { type KtAppendValue, writeKtNode } from './write-kt-node.js';
4
+
5
+ export function writeKtAnnotations<TBuilder extends SourceBuilder>(
6
+ builder: TBuilder,
7
+ nodes: SingleOrMultiple<Nullable<KtAppendValue<TBuilder>>>,
8
+ options?: { multiline: boolean },
9
+ ) {
10
+ const filteredNodes = toArray(nodes).filter(notNullish);
11
+ builder.forEach(filteredNodes, (b, a) => {
12
+ writeKtNode(b, a);
13
+ b.append(options?.multiline ? '\n' : ' ');
14
+ });
15
+ }