@goast/kotlin 0.6.0-beta.2 → 0.7.0-beta.1

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 (505) hide show
  1. package/README.md +0 -1
  2. package/dist/mod.d.ts +8 -0
  3. package/{esm → dist}/src/assets.d.ts +0 -1
  4. package/dist/src/assets.js +5 -0
  5. package/{esm → dist}/src/ast/_index.d.ts +28 -29
  6. package/{esm → dist}/src/ast/_index.js +2 -0
  7. package/{esm → dist}/src/ast/common.d.ts +0 -1
  8. package/dist/src/ast/index.d.ts +1 -0
  9. package/{esm → dist}/src/ast/node.d.ts +0 -1
  10. package/{script → dist}/src/ast/nodes/annotation.d.ts +5 -6
  11. package/{esm → dist}/src/ast/nodes/annotation.js +5 -21
  12. package/{esm → dist}/src/ast/nodes/argument.d.ts +5 -6
  13. package/{esm → dist}/src/ast/nodes/argument.js +3 -14
  14. package/{esm → dist}/src/ast/nodes/call.d.ts +5 -6
  15. package/{esm → dist}/src/ast/nodes/call.js +6 -23
  16. package/{esm → dist}/src/ast/nodes/class.d.ts +15 -16
  17. package/dist/src/ast/nodes/class.js +100 -0
  18. package/{esm → dist}/src/ast/nodes/collection-literal.d.ts +4 -5
  19. package/{esm → dist}/src/ast/nodes/collection-literal.js +2 -8
  20. package/{esm → dist}/src/ast/nodes/constructor.d.ts +8 -9
  21. package/{esm → dist}/src/ast/nodes/constructor.js +13 -44
  22. package/{esm → dist}/src/ast/nodes/doc-tag.d.ts +2 -3
  23. package/{esm → dist}/src/ast/nodes/doc-tag.js +5 -21
  24. package/{esm → dist}/src/ast/nodes/doc.d.ts +6 -7
  25. package/{esm → dist}/src/ast/nodes/doc.js +14 -20
  26. package/{script → dist}/src/ast/nodes/enum-value.d.ts +8 -9
  27. package/{esm → dist}/src/ast/nodes/enum-value.js +10 -37
  28. package/{script → dist}/src/ast/nodes/enum.d.ts +15 -16
  29. package/dist/src/ast/nodes/enum.js +86 -0
  30. package/{esm → dist}/src/ast/nodes/function.d.ts +9 -10
  31. package/dist/src/ast/nodes/function.js +120 -0
  32. package/{esm → dist}/src/ast/nodes/generic-parameter.d.ts +4 -5
  33. package/dist/src/ast/nodes/generic-parameter.js +27 -0
  34. package/{esm → dist}/src/ast/nodes/init-block.d.ts +3 -4
  35. package/{esm → dist}/src/ast/nodes/init-block.js +1 -6
  36. package/{esm → dist}/src/ast/nodes/interface.d.ts +13 -14
  37. package/dist/src/ast/nodes/interface.js +70 -0
  38. package/{esm → dist}/src/ast/nodes/lambda-type.d.ts +4 -5
  39. package/{esm → dist}/src/ast/nodes/lambda-type.js +7 -28
  40. package/{esm → dist}/src/ast/nodes/lambda.d.ts +3 -4
  41. package/{esm → dist}/src/ast/nodes/lambda.js +6 -22
  42. package/{script → dist}/src/ast/nodes/object.d.ts +7 -8
  43. package/dist/src/ast/nodes/object.js +60 -0
  44. package/{esm → dist}/src/ast/nodes/parameter.d.ts +7 -8
  45. package/dist/src/ast/nodes/parameter.js +63 -0
  46. package/{esm → dist}/src/ast/nodes/property.d.ts +10 -11
  47. package/dist/src/ast/nodes/property.js +144 -0
  48. package/{script → dist}/src/ast/nodes/reference.d.ts +5 -6
  49. package/{esm → dist}/src/ast/nodes/reference.js +19 -56
  50. package/{esm → dist}/src/ast/nodes/string.d.ts +3 -4
  51. package/{esm → dist}/src/ast/nodes/string.js +13 -45
  52. package/{esm → dist}/src/ast/nodes/types.d.ts +7 -8
  53. package/dist/src/ast/references/index.d.ts +10 -0
  54. package/{script → dist}/src/ast/references/jackson.d.ts +2 -3
  55. package/{script → dist}/src/ast/references/jakarta.d.ts +1 -2
  56. package/{esm → dist}/src/ast/references/java.d.ts +1 -2
  57. package/{esm → dist}/src/ast/references/kotlin.d.ts +1 -2
  58. package/{esm → dist}/src/ast/references/kotlinx.d.ts +1 -2
  59. package/{esm → dist}/src/ast/references/okhttp3.d.ts +1 -2
  60. package/{esm → dist}/src/ast/references/reactor.d.ts +1 -2
  61. package/{esm → dist}/src/ast/references/spring-reactive.d.ts +1 -2
  62. package/{script → dist}/src/ast/references/spring.d.ts +1 -2
  63. package/{script → dist}/src/ast/references/swagger.d.ts +1 -2
  64. package/{esm → dist}/src/ast/utils/get-kotlin-builder-options.d.ts +1 -2
  65. package/{esm → dist}/src/ast/utils/to-kt-node.d.ts +2 -3
  66. package/{esm → dist}/src/ast/utils/write-kt-annotations.d.ts +1 -2
  67. package/{esm → dist}/src/ast/utils/write-kt-annotations.js +1 -1
  68. package/{esm → dist}/src/ast/utils/write-kt-arguments.d.ts +1 -2
  69. package/{script → dist}/src/ast/utils/write-kt-enum-values.d.ts +1 -2
  70. package/{script → dist}/src/ast/utils/write-kt-generic-parameters.d.ts +1 -2
  71. package/{script → dist}/src/ast/utils/write-kt-members.d.ts +1 -2
  72. package/{esm → dist}/src/ast/utils/write-kt-members.js +1 -1
  73. package/{script → dist}/src/ast/utils/write-kt-node.d.ts +1 -2
  74. package/{esm → dist}/src/ast/utils/write-kt-node.js +1 -1
  75. package/{esm → dist}/src/ast/utils/write-kt-parameters.d.ts +1 -2
  76. package/{esm → dist}/src/common-results.d.ts +0 -1
  77. package/{script → dist}/src/config.d.ts +0 -1
  78. package/{esm → dist}/src/file-builder.d.ts +3 -4
  79. package/{esm → dist}/src/file-builder.js +4 -14
  80. package/{esm → dist}/src/generators/file-generator.d.ts +1 -2
  81. package/{esm → dist}/src/generators/file-generator.js +2 -2
  82. package/dist/src/generators/index.d.ts +5 -0
  83. package/{esm → dist}/src/generators/models/args.d.ts +0 -1
  84. package/dist/src/generators/models/index.d.ts +4 -0
  85. package/{esm → dist}/src/generators/models/model-generator.d.ts +5 -6
  86. package/{esm → dist}/src/generators/models/model-generator.js +40 -48
  87. package/{script → dist}/src/generators/models/models-generator.d.ts +2 -3
  88. package/{esm → dist}/src/generators/models/models-generator.js +2 -7
  89. package/{script → dist}/src/generators/models/models.d.ts +2 -3
  90. package/{esm → dist}/src/generators/services/okhttp3-clients/args.d.ts +2 -3
  91. package/dist/src/generators/services/okhttp3-clients/index.d.ts +4 -0
  92. package/{esm → dist}/src/generators/services/okhttp3-clients/models.d.ts +5 -6
  93. package/{script → dist}/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +6 -7
  94. package/{esm → dist}/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +36 -40
  95. package/{script → dist}/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts +3 -4
  96. package/{esm → dist}/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +7 -15
  97. package/{script → dist}/src/generators/services/okhttp3-clients/refs.d.ts +1 -2
  98. package/{esm → dist}/src/generators/services/spring-controllers/args.d.ts +2 -3
  99. package/dist/src/generators/services/spring-controllers/index.d.ts +4 -0
  100. package/{script → dist}/src/generators/services/spring-controllers/models.d.ts +4 -5
  101. package/dist/src/generators/services/spring-controllers/refs.d.ts +5 -0
  102. package/{script → dist}/src/generators/services/spring-controllers/spring-controller-generator.d.ts +7 -8
  103. package/{esm → dist}/src/generators/services/spring-controllers/spring-controller-generator.js +85 -159
  104. package/{script → dist}/src/generators/services/spring-controllers/spring-controllers-generator.d.ts +4 -5
  105. package/{esm → dist}/src/generators/services/spring-controllers/spring-controllers-generator.js +5 -12
  106. package/{esm → dist}/src/generators/services/spring-reactive-web-clients/args.d.ts +2 -3
  107. package/dist/src/generators/services/spring-reactive-web-clients/index.d.ts +4 -0
  108. package/{script → dist}/src/generators/services/spring-reactive-web-clients/models.d.ts +4 -5
  109. package/{script → dist}/src/generators/services/spring-reactive-web-clients/refs.d.ts +1 -2
  110. package/{script → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +6 -7
  111. package/{esm → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +49 -56
  112. package/{script → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts +3 -4
  113. package/{esm → dist}/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.js +5 -12
  114. package/{esm → dist}/src/import-collection.d.ts +1 -2
  115. package/{esm → dist}/src/import-collection.js +2 -12
  116. package/{script → dist}/src/types.d.ts +0 -1
  117. package/{esm → dist}/src/utils.d.ts +0 -1
  118. package/{esm → dist}/src/utils.js +3 -5
  119. package/package.json +23 -14
  120. package/esm/mod.d.ts +0 -9
  121. package/esm/mod.d.ts.map +0 -1
  122. package/esm/package.json +0 -3
  123. package/esm/src/assets.d.ts.map +0 -1
  124. package/esm/src/assets.js +0 -6
  125. package/esm/src/ast/_index.d.ts.map +0 -1
  126. package/esm/src/ast/common.d.ts.map +0 -1
  127. package/esm/src/ast/index.d.ts +0 -2
  128. package/esm/src/ast/index.d.ts.map +0 -1
  129. package/esm/src/ast/node.d.ts.map +0 -1
  130. package/esm/src/ast/nodes/annotation.d.ts +0 -25
  131. package/esm/src/ast/nodes/annotation.d.ts.map +0 -1
  132. package/esm/src/ast/nodes/argument.d.ts.map +0 -1
  133. package/esm/src/ast/nodes/call.d.ts.map +0 -1
  134. package/esm/src/ast/nodes/class.d.ts.map +0 -1
  135. package/esm/src/ast/nodes/class.js +0 -168
  136. package/esm/src/ast/nodes/collection-literal.d.ts.map +0 -1
  137. package/esm/src/ast/nodes/constructor.d.ts.map +0 -1
  138. package/esm/src/ast/nodes/doc-tag.d.ts.map +0 -1
  139. package/esm/src/ast/nodes/doc.d.ts.map +0 -1
  140. package/esm/src/ast/nodes/enum-value.d.ts +0 -32
  141. package/esm/src/ast/nodes/enum-value.d.ts.map +0 -1
  142. package/esm/src/ast/nodes/enum.d.ts +0 -47
  143. package/esm/src/ast/nodes/enum.d.ts.map +0 -1
  144. package/esm/src/ast/nodes/enum.js +0 -133
  145. package/esm/src/ast/nodes/function.d.ts.map +0 -1
  146. package/esm/src/ast/nodes/function.js +0 -217
  147. package/esm/src/ast/nodes/generic-parameter.d.ts.map +0 -1
  148. package/esm/src/ast/nodes/generic-parameter.js +0 -44
  149. package/esm/src/ast/nodes/init-block.d.ts.map +0 -1
  150. package/esm/src/ast/nodes/interface.d.ts.map +0 -1
  151. package/esm/src/ast/nodes/interface.js +0 -112
  152. package/esm/src/ast/nodes/lambda-type.d.ts.map +0 -1
  153. package/esm/src/ast/nodes/lambda.d.ts.map +0 -1
  154. package/esm/src/ast/nodes/object.d.ts +0 -36
  155. package/esm/src/ast/nodes/object.d.ts.map +0 -1
  156. package/esm/src/ast/nodes/object.js +0 -96
  157. package/esm/src/ast/nodes/parameter.d.ts.map +0 -1
  158. package/esm/src/ast/nodes/parameter.js +0 -114
  159. package/esm/src/ast/nodes/property.d.ts.map +0 -1
  160. package/esm/src/ast/nodes/property.js +0 -264
  161. package/esm/src/ast/nodes/reference.d.ts +0 -54
  162. package/esm/src/ast/nodes/reference.d.ts.map +0 -1
  163. package/esm/src/ast/nodes/string.d.ts.map +0 -1
  164. package/esm/src/ast/nodes/types.d.ts.map +0 -1
  165. package/esm/src/ast/references/index.d.ts +0 -11
  166. package/esm/src/ast/references/index.d.ts.map +0 -1
  167. package/esm/src/ast/references/jackson.d.ts +0 -26
  168. package/esm/src/ast/references/jackson.d.ts.map +0 -1
  169. package/esm/src/ast/references/jakarta.d.ts +0 -9
  170. package/esm/src/ast/references/jakarta.d.ts.map +0 -1
  171. package/esm/src/ast/references/java.d.ts.map +0 -1
  172. package/esm/src/ast/references/kotlin.d.ts.map +0 -1
  173. package/esm/src/ast/references/kotlinx.d.ts.map +0 -1
  174. package/esm/src/ast/references/okhttp3.d.ts.map +0 -1
  175. package/esm/src/ast/references/reactor.d.ts.map +0 -1
  176. package/esm/src/ast/references/spring-reactive.d.ts.map +0 -1
  177. package/esm/src/ast/references/spring.d.ts +0 -22
  178. package/esm/src/ast/references/spring.d.ts.map +0 -1
  179. package/esm/src/ast/references/swagger.d.ts +0 -9
  180. package/esm/src/ast/references/swagger.d.ts.map +0 -1
  181. package/esm/src/ast/utils/get-kotlin-builder-options.d.ts.map +0 -1
  182. package/esm/src/ast/utils/to-kt-node.d.ts.map +0 -1
  183. package/esm/src/ast/utils/write-kt-annotations.d.ts.map +0 -1
  184. package/esm/src/ast/utils/write-kt-arguments.d.ts.map +0 -1
  185. package/esm/src/ast/utils/write-kt-enum-values.d.ts +0 -4
  186. package/esm/src/ast/utils/write-kt-enum-values.d.ts.map +0 -1
  187. package/esm/src/ast/utils/write-kt-generic-parameters.d.ts +0 -4
  188. package/esm/src/ast/utils/write-kt-generic-parameters.d.ts.map +0 -1
  189. package/esm/src/ast/utils/write-kt-members.d.ts +0 -6
  190. package/esm/src/ast/utils/write-kt-members.d.ts.map +0 -1
  191. package/esm/src/ast/utils/write-kt-node.d.ts +0 -8
  192. package/esm/src/ast/utils/write-kt-node.d.ts.map +0 -1
  193. package/esm/src/ast/utils/write-kt-parameters.d.ts.map +0 -1
  194. package/esm/src/common-results.d.ts.map +0 -1
  195. package/esm/src/config.d.ts +0 -27
  196. package/esm/src/config.d.ts.map +0 -1
  197. package/esm/src/file-builder.d.ts.map +0 -1
  198. package/esm/src/generators/file-generator.d.ts.map +0 -1
  199. package/esm/src/generators/index.d.ts +0 -6
  200. package/esm/src/generators/index.d.ts.map +0 -1
  201. package/esm/src/generators/models/args.d.ts.map +0 -1
  202. package/esm/src/generators/models/index.d.ts +0 -5
  203. package/esm/src/generators/models/index.d.ts.map +0 -1
  204. package/esm/src/generators/models/model-generator.d.ts.map +0 -1
  205. package/esm/src/generators/models/models-generator.d.ts +0 -18
  206. package/esm/src/generators/models/models-generator.d.ts.map +0 -1
  207. package/esm/src/generators/models/models.d.ts +0 -61
  208. package/esm/src/generators/models/models.d.ts.map +0 -1
  209. package/esm/src/generators/services/okhttp3-clients/args.d.ts.map +0 -1
  210. package/esm/src/generators/services/okhttp3-clients/index.d.ts +0 -5
  211. package/esm/src/generators/services/okhttp3-clients/index.d.ts.map +0 -1
  212. package/esm/src/generators/services/okhttp3-clients/models.d.ts.map +0 -1
  213. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +0 -55
  214. package/esm/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +0 -1
  215. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts +0 -23
  216. package/esm/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +0 -1
  217. package/esm/src/generators/services/okhttp3-clients/refs.d.ts +0 -22
  218. package/esm/src/generators/services/okhttp3-clients/refs.d.ts.map +0 -1
  219. package/esm/src/generators/services/spring-controllers/args.d.ts.map +0 -1
  220. package/esm/src/generators/services/spring-controllers/index.d.ts +0 -5
  221. package/esm/src/generators/services/spring-controllers/index.d.ts.map +0 -1
  222. package/esm/src/generators/services/spring-controllers/models.d.ts +0 -38
  223. package/esm/src/generators/services/spring-controllers/models.d.ts.map +0 -1
  224. package/esm/src/generators/services/spring-controllers/refs.d.ts +0 -6
  225. package/esm/src/generators/services/spring-controllers/refs.d.ts.map +0 -1
  226. package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts +0 -58
  227. package/esm/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +0 -1
  228. package/esm/src/generators/services/spring-controllers/spring-controllers-generator.d.ts +0 -24
  229. package/esm/src/generators/services/spring-controllers/spring-controllers-generator.d.ts.map +0 -1
  230. package/esm/src/generators/services/spring-reactive-web-clients/args.d.ts.map +0 -1
  231. package/esm/src/generators/services/spring-reactive-web-clients/index.d.ts +0 -5
  232. package/esm/src/generators/services/spring-reactive-web-clients/index.d.ts.map +0 -1
  233. package/esm/src/generators/services/spring-reactive-web-clients/models.d.ts +0 -48
  234. package/esm/src/generators/services/spring-reactive-web-clients/models.d.ts.map +0 -1
  235. package/esm/src/generators/services/spring-reactive-web-clients/refs.d.ts +0 -5
  236. package/esm/src/generators/services/spring-reactive-web-clients/refs.d.ts.map +0 -1
  237. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts +0 -62
  238. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +0 -1
  239. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts +0 -23
  240. package/esm/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts.map +0 -1
  241. package/esm/src/import-collection.d.ts.map +0 -1
  242. package/esm/src/types.d.ts +0 -8
  243. package/esm/src/types.d.ts.map +0 -1
  244. package/esm/src/utils.d.ts.map +0 -1
  245. package/script/mod.d.ts +0 -9
  246. package/script/mod.d.ts.map +0 -1
  247. package/script/mod.js +0 -11
  248. package/script/package.json +0 -3
  249. package/script/src/assets.d.ts +0 -3
  250. package/script/src/assets.d.ts.map +0 -1
  251. package/script/src/assets.js +0 -9
  252. package/script/src/ast/_index.d.ts +0 -29
  253. package/script/src/ast/_index.d.ts.map +0 -1
  254. package/script/src/ast/_index.js +0 -81
  255. package/script/src/ast/common.d.ts +0 -2
  256. package/script/src/ast/common.d.ts.map +0 -1
  257. package/script/src/ast/common.js +0 -2
  258. package/script/src/ast/index.d.ts +0 -2
  259. package/script/src/ast/index.d.ts.map +0 -1
  260. package/script/src/ast/index.js +0 -5
  261. package/script/src/ast/node.d.ts +0 -5
  262. package/script/src/ast/node.d.ts.map +0 -1
  263. package/script/src/ast/node.js +0 -10
  264. package/script/src/ast/nodes/annotation.d.ts.map +0 -1
  265. package/script/src/ast/nodes/annotation.js +0 -57
  266. package/script/src/ast/nodes/argument.d.ts +0 -23
  267. package/script/src/ast/nodes/argument.d.ts.map +0 -1
  268. package/script/src/ast/nodes/argument.js +0 -44
  269. package/script/src/ast/nodes/call.d.ts +0 -24
  270. package/script/src/ast/nodes/call.d.ts.map +0 -1
  271. package/script/src/ast/nodes/call.js +0 -65
  272. package/script/src/ast/nodes/class.d.ts +0 -56
  273. package/script/src/ast/nodes/class.d.ts.map +0 -1
  274. package/script/src/ast/nodes/class.js +0 -172
  275. package/script/src/ast/nodes/collection-literal.d.ts +0 -19
  276. package/script/src/ast/nodes/collection-literal.d.ts.map +0 -1
  277. package/script/src/ast/nodes/collection-literal.js +0 -30
  278. package/script/src/ast/nodes/constructor.d.ts +0 -36
  279. package/script/src/ast/nodes/constructor.d.ts.map +0 -1
  280. package/script/src/ast/nodes/constructor.js +0 -111
  281. package/script/src/ast/nodes/doc-tag.d.ts +0 -36
  282. package/script/src/ast/nodes/doc-tag.d.ts.map +0 -1
  283. package/script/src/ast/nodes/doc-tag.js +0 -78
  284. package/script/src/ast/nodes/doc.d.ts +0 -28
  285. package/script/src/ast/nodes/doc.d.ts.map +0 -1
  286. package/script/src/ast/nodes/doc.js +0 -67
  287. package/script/src/ast/nodes/enum-value.d.ts.map +0 -1
  288. package/script/src/ast/nodes/enum-value.js +0 -80
  289. package/script/src/ast/nodes/enum.d.ts.map +0 -1
  290. package/script/src/ast/nodes/enum.js +0 -137
  291. package/script/src/ast/nodes/function.d.ts +0 -60
  292. package/script/src/ast/nodes/function.d.ts.map +0 -1
  293. package/script/src/ast/nodes/function.js +0 -221
  294. package/script/src/ast/nodes/generic-parameter.d.ts +0 -23
  295. package/script/src/ast/nodes/generic-parameter.d.ts.map +0 -1
  296. package/script/src/ast/nodes/generic-parameter.js +0 -48
  297. package/script/src/ast/nodes/init-block.d.ts +0 -18
  298. package/script/src/ast/nodes/init-block.d.ts.map +0 -1
  299. package/script/src/ast/nodes/init-block.js +0 -25
  300. package/script/src/ast/nodes/interface.d.ts +0 -43
  301. package/script/src/ast/nodes/interface.d.ts.map +0 -1
  302. package/script/src/ast/nodes/interface.js +0 -116
  303. package/script/src/ast/nodes/lambda-type.d.ts +0 -25
  304. package/script/src/ast/nodes/lambda-type.d.ts.map +0 -1
  305. package/script/src/ast/nodes/lambda-type.js +0 -69
  306. package/script/src/ast/nodes/lambda.d.ts +0 -22
  307. package/script/src/ast/nodes/lambda.d.ts.map +0 -1
  308. package/script/src/ast/nodes/lambda.js +0 -59
  309. package/script/src/ast/nodes/object.d.ts.map +0 -1
  310. package/script/src/ast/nodes/object.js +0 -100
  311. package/script/src/ast/nodes/parameter.d.ts +0 -41
  312. package/script/src/ast/nodes/parameter.d.ts.map +0 -1
  313. package/script/src/ast/nodes/parameter.js +0 -118
  314. package/script/src/ast/nodes/property.d.ts +0 -79
  315. package/script/src/ast/nodes/property.d.ts.map +0 -1
  316. package/script/src/ast/nodes/property.js +0 -271
  317. package/script/src/ast/nodes/reference.d.ts.map +0 -1
  318. package/script/src/ast/nodes/reference.js +0 -120
  319. package/script/src/ast/nodes/string.d.ts +0 -32
  320. package/script/src/ast/nodes/string.d.ts.map +0 -1
  321. package/script/src/ast/nodes/string.js +0 -123
  322. package/script/src/ast/nodes/types.d.ts +0 -11
  323. package/script/src/ast/nodes/types.d.ts.map +0 -1
  324. package/script/src/ast/nodes/types.js +0 -2
  325. package/script/src/ast/references/index.d.ts +0 -11
  326. package/script/src/ast/references/index.d.ts.map +0 -1
  327. package/script/src/ast/references/index.js +0 -14
  328. package/script/src/ast/references/jackson.d.ts.map +0 -1
  329. package/script/src/ast/references/jackson.js +0 -41
  330. package/script/src/ast/references/jakarta.d.ts.map +0 -1
  331. package/script/src/ast/references/jakarta.js +0 -14
  332. package/script/src/ast/references/java.d.ts +0 -15
  333. package/script/src/ast/references/java.d.ts.map +0 -1
  334. package/script/src/ast/references/java.js +0 -22
  335. package/script/src/ast/references/kotlin.d.ts +0 -24
  336. package/script/src/ast/references/kotlin.d.ts.map +0 -1
  337. package/script/src/ast/references/kotlin.js +0 -29
  338. package/script/src/ast/references/kotlinx.d.ts +0 -5
  339. package/script/src/ast/references/kotlinx.d.ts.map +0 -1
  340. package/script/src/ast/references/kotlinx.js +0 -9
  341. package/script/src/ast/references/okhttp3.d.ts +0 -4
  342. package/script/src/ast/references/okhttp3.d.ts.map +0 -1
  343. package/script/src/ast/references/okhttp3.js +0 -7
  344. package/script/src/ast/references/reactor.d.ts +0 -4
  345. package/script/src/ast/references/reactor.d.ts.map +0 -1
  346. package/script/src/ast/references/reactor.js +0 -7
  347. package/script/src/ast/references/spring-reactive.d.ts +0 -10
  348. package/script/src/ast/references/spring-reactive.d.ts.map +0 -1
  349. package/script/src/ast/references/spring-reactive.js +0 -14
  350. package/script/src/ast/references/spring.d.ts.map +0 -1
  351. package/script/src/ast/references/spring.js +0 -34
  352. package/script/src/ast/references/swagger.d.ts.map +0 -1
  353. package/script/src/ast/references/swagger.js +0 -14
  354. package/script/src/ast/utils/get-kotlin-builder-options.d.ts +0 -4
  355. package/script/src/ast/utils/get-kotlin-builder-options.d.ts.map +0 -1
  356. package/script/src/ast/utils/get-kotlin-builder-options.js +0 -18
  357. package/script/src/ast/utils/to-kt-node.d.ts +0 -8
  358. package/script/src/ast/utils/to-kt-node.d.ts.map +0 -1
  359. package/script/src/ast/utils/to-kt-node.js +0 -21
  360. package/script/src/ast/utils/write-kt-annotations.d.ts +0 -6
  361. package/script/src/ast/utils/write-kt-annotations.d.ts.map +0 -1
  362. package/script/src/ast/utils/write-kt-annotations.js +0 -12
  363. package/script/src/ast/utils/write-kt-arguments.d.ts +0 -4
  364. package/script/src/ast/utils/write-kt-arguments.d.ts.map +0 -1
  365. package/script/src/ast/utils/write-kt-arguments.js +0 -32
  366. package/script/src/ast/utils/write-kt-enum-values.d.ts.map +0 -1
  367. package/script/src/ast/utils/write-kt-enum-values.js +0 -16
  368. package/script/src/ast/utils/write-kt-generic-parameters.d.ts.map +0 -1
  369. package/script/src/ast/utils/write-kt-generic-parameters.js +0 -11
  370. package/script/src/ast/utils/write-kt-members.d.ts.map +0 -1
  371. package/script/src/ast/utils/write-kt-members.js +0 -15
  372. package/script/src/ast/utils/write-kt-node.d.ts.map +0 -1
  373. package/script/src/ast/utils/write-kt-node.js +0 -23
  374. package/script/src/ast/utils/write-kt-parameters.d.ts +0 -4
  375. package/script/src/ast/utils/write-kt-parameters.d.ts.map +0 -1
  376. package/script/src/ast/utils/write-kt-parameters.js +0 -12
  377. package/script/src/common-results.d.ts +0 -5
  378. package/script/src/common-results.d.ts.map +0 -1
  379. package/script/src/common-results.js +0 -2
  380. package/script/src/config.d.ts.map +0 -1
  381. package/script/src/config.js +0 -26
  382. package/script/src/file-builder.d.ts +0 -23
  383. package/script/src/file-builder.d.ts.map +0 -1
  384. package/script/src/file-builder.js +0 -92
  385. package/script/src/generators/file-generator.d.ts +0 -29
  386. package/script/src/generators/file-generator.d.ts.map +0 -1
  387. package/script/src/generators/file-generator.js +0 -56
  388. package/script/src/generators/index.d.ts +0 -6
  389. package/script/src/generators/index.d.ts.map +0 -1
  390. package/script/src/generators/index.js +0 -8
  391. package/script/src/generators/models/args.d.ts +0 -111
  392. package/script/src/generators/models/args.d.ts.map +0 -1
  393. package/script/src/generators/models/args.js +0 -2
  394. package/script/src/generators/models/index.d.ts +0 -5
  395. package/script/src/generators/models/index.d.ts.map +0 -1
  396. package/script/src/generators/models/index.js +0 -8
  397. package/script/src/generators/models/model-generator.d.ts +0 -73
  398. package/script/src/generators/models/model-generator.d.ts.map +0 -1
  399. package/script/src/generators/models/model-generator.js +0 -645
  400. package/script/src/generators/models/models-generator.d.ts.map +0 -1
  401. package/script/src/generators/models/models-generator.js +0 -39
  402. package/script/src/generators/models/models.d.ts.map +0 -1
  403. package/script/src/generators/models/models.js +0 -14
  404. package/script/src/generators/services/okhttp3-clients/args.d.ts +0 -87
  405. package/script/src/generators/services/okhttp3-clients/args.d.ts.map +0 -1
  406. package/script/src/generators/services/okhttp3-clients/args.js +0 -2
  407. package/script/src/generators/services/okhttp3-clients/index.d.ts +0 -5
  408. package/script/src/generators/services/okhttp3-clients/index.d.ts.map +0 -1
  409. package/script/src/generators/services/okhttp3-clients/index.js +0 -8
  410. package/script/src/generators/services/okhttp3-clients/models.d.ts +0 -46
  411. package/script/src/generators/services/okhttp3-clients/models.d.ts.map +0 -1
  412. package/script/src/generators/services/okhttp3-clients/models.js +0 -12
  413. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts.map +0 -1
  414. package/script/src/generators/services/okhttp3-clients/okhttp3-client-generator.js +0 -441
  415. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.d.ts.map +0 -1
  416. package/script/src/generators/services/okhttp3-clients/okhttp3-clients-generator.js +0 -137
  417. package/script/src/generators/services/okhttp3-clients/refs.d.ts.map +0 -1
  418. package/script/src/generators/services/okhttp3-clients/refs.js +0 -35
  419. package/script/src/generators/services/spring-controllers/args.d.ts +0 -95
  420. package/script/src/generators/services/spring-controllers/args.d.ts.map +0 -1
  421. package/script/src/generators/services/spring-controllers/args.js +0 -2
  422. package/script/src/generators/services/spring-controllers/index.d.ts +0 -5
  423. package/script/src/generators/services/spring-controllers/index.d.ts.map +0 -1
  424. package/script/src/generators/services/spring-controllers/index.js +0 -8
  425. package/script/src/generators/services/spring-controllers/models.d.ts.map +0 -1
  426. package/script/src/generators/services/spring-controllers/models.js +0 -15
  427. package/script/src/generators/services/spring-controllers/refs.d.ts +0 -6
  428. package/script/src/generators/services/spring-controllers/refs.d.ts.map +0 -1
  429. package/script/src/generators/services/spring-controllers/refs.js +0 -12
  430. package/script/src/generators/services/spring-controllers/spring-controller-generator.d.ts.map +0 -1
  431. package/script/src/generators/services/spring-controllers/spring-controller-generator.js +0 -700
  432. package/script/src/generators/services/spring-controllers/spring-controllers-generator.d.ts.map +0 -1
  433. package/script/src/generators/services/spring-controllers/spring-controllers-generator.js +0 -80
  434. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts +0 -115
  435. package/script/src/generators/services/spring-reactive-web-clients/args.d.ts.map +0 -1
  436. package/script/src/generators/services/spring-reactive-web-clients/args.js +0 -2
  437. package/script/src/generators/services/spring-reactive-web-clients/index.d.ts +0 -5
  438. package/script/src/generators/services/spring-reactive-web-clients/index.d.ts.map +0 -1
  439. package/script/src/generators/services/spring-reactive-web-clients/index.js +0 -8
  440. package/script/src/generators/services/spring-reactive-web-clients/models.d.ts.map +0 -1
  441. package/script/src/generators/services/spring-reactive-web-clients/models.js +0 -12
  442. package/script/src/generators/services/spring-reactive-web-clients/refs.d.ts.map +0 -1
  443. package/script/src/generators/services/spring-reactive-web-clients/refs.js +0 -11
  444. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.d.ts.map +0 -1
  445. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-client-generator.js +0 -453
  446. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.d.ts.map +0 -1
  447. package/script/src/generators/services/spring-reactive-web-clients/spring-reactive-web-clients-generator.js +0 -81
  448. package/script/src/import-collection.d.ts +0 -20
  449. package/script/src/import-collection.d.ts.map +0 -1
  450. package/script/src/import-collection.js +0 -90
  451. package/script/src/types.d.ts.map +0 -1
  452. package/script/src/types.js +0 -2
  453. package/script/src/utils.d.ts +0 -8
  454. package/script/src/utils.d.ts.map +0 -1
  455. package/script/src/utils.js +0 -54
  456. /package/{assets → dist/assets}/client/okhttp3/ApiAbstractions.kt +0 -0
  457. /package/{assets → dist/assets}/client/okhttp3/ApiClient.kt +0 -0
  458. /package/{assets → dist/assets}/client/okhttp3/ApiResponse.kt +0 -0
  459. /package/{assets → dist/assets}/client/okhttp3/Errors.kt +0 -0
  460. /package/{assets → dist/assets}/client/okhttp3/PartConfig.kt +0 -0
  461. /package/{assets → dist/assets}/client/okhttp3/RequestConfig.kt +0 -0
  462. /package/{assets → dist/assets}/client/okhttp3/RequestMethod.kt +0 -0
  463. /package/{assets → dist/assets}/client/okhttp3/ResponseExtensions.kt +0 -0
  464. /package/{assets → dist/assets}/client/spring-reactive-web-clients/ApiRequestFile.kt +0 -0
  465. /package/{esm → dist}/mod.js +0 -0
  466. /package/{esm → dist}/src/ast/common.js +0 -0
  467. /package/{esm → dist}/src/ast/index.js +0 -0
  468. /package/{esm → dist}/src/ast/node.js +0 -0
  469. /package/{esm → dist}/src/ast/nodes/types.js +0 -0
  470. /package/{esm → dist}/src/ast/references/index.js +0 -0
  471. /package/{esm → dist}/src/ast/references/jackson.js +0 -0
  472. /package/{esm → dist}/src/ast/references/jakarta.js +0 -0
  473. /package/{esm → dist}/src/ast/references/java.js +0 -0
  474. /package/{esm → dist}/src/ast/references/kotlin.js +0 -0
  475. /package/{esm → dist}/src/ast/references/kotlinx.js +0 -0
  476. /package/{esm → dist}/src/ast/references/okhttp3.js +0 -0
  477. /package/{esm → dist}/src/ast/references/reactor.js +0 -0
  478. /package/{esm → dist}/src/ast/references/spring-reactive.js +0 -0
  479. /package/{esm → dist}/src/ast/references/spring.js +0 -0
  480. /package/{esm → dist}/src/ast/references/swagger.js +0 -0
  481. /package/{esm → dist}/src/ast/utils/get-kotlin-builder-options.js +0 -0
  482. /package/{esm → dist}/src/ast/utils/to-kt-node.js +0 -0
  483. /package/{esm → dist}/src/ast/utils/write-kt-arguments.js +0 -0
  484. /package/{esm → dist}/src/ast/utils/write-kt-enum-values.js +0 -0
  485. /package/{esm → dist}/src/ast/utils/write-kt-generic-parameters.js +0 -0
  486. /package/{esm → dist}/src/ast/utils/write-kt-parameters.js +0 -0
  487. /package/{esm → dist}/src/common-results.js +0 -0
  488. /package/{esm → dist}/src/config.js +0 -0
  489. /package/{esm → dist}/src/generators/index.js +0 -0
  490. /package/{esm → dist}/src/generators/models/args.js +0 -0
  491. /package/{esm → dist}/src/generators/models/index.js +0 -0
  492. /package/{esm → dist}/src/generators/models/models.js +0 -0
  493. /package/{esm → dist}/src/generators/services/okhttp3-clients/args.js +0 -0
  494. /package/{esm → dist}/src/generators/services/okhttp3-clients/index.js +0 -0
  495. /package/{esm → dist}/src/generators/services/okhttp3-clients/models.js +0 -0
  496. /package/{esm → dist}/src/generators/services/okhttp3-clients/refs.js +0 -0
  497. /package/{esm → dist}/src/generators/services/spring-controllers/args.js +0 -0
  498. /package/{esm → dist}/src/generators/services/spring-controllers/index.js +0 -0
  499. /package/{esm → dist}/src/generators/services/spring-controllers/models.js +0 -0
  500. /package/{esm → dist}/src/generators/services/spring-controllers/refs.js +0 -0
  501. /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/args.js +0 -0
  502. /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/index.js +0 -0
  503. /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/models.js +0 -0
  504. /package/{esm → dist}/src/generators/services/spring-reactive-web-clients/refs.js +0 -0
  505. /package/{esm → dist}/src/types.js +0 -0
@@ -1,645 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultKotlinModelGenerator = void 0;
4
- const core_1 = require("@goast/core");
5
- const index_js_1 = require("../../ast/index.js");
6
- const file_builder_js_1 = require("../../file-builder.js");
7
- const utils_js_1 = require("../../utils.js");
8
- const file_generator_js_1 = require("../file-generator.js");
9
- class DefaultKotlinModelGenerator extends file_generator_js_1.KotlinFileGenerator {
10
- generate(ctx) {
11
- if (/\/(anyOf|allOf)(\/[0-9]+)?$/.test(ctx.schema.$src.path)) {
12
- // Do not generate types that are only used for anyOf and/or allOf
13
- return { type: index_js_1.kt.refs.any({ nullable: true }) };
14
- }
15
- const schemaReference = (0, core_1.getSchemaReference)(ctx.schema, core_1.DEFAULT_IGNORED_SCHEMA_PROPERTIES);
16
- if (schemaReference !== ctx.schema) {
17
- const typeName = this.getDeclarationTypeName(ctx, { schema: schemaReference });
18
- const packageName = this.getPackageName(ctx, { schema: schemaReference });
19
- return { type: index_js_1.kt.reference(typeName, packageName) };
20
- }
21
- if (this.shouldGenerateTypeDeclaration(ctx, { schema: ctx.schema })) {
22
- const typeName = this.getDeclarationTypeName(ctx, { schema: ctx.schema });
23
- const packageName = this.getPackageName(ctx, { schema: ctx.schema });
24
- const filePath = `${ctx.config.outputDir}/${packageName.replace(/\./g, '/')}/${typeName}.kt`;
25
- console.log(`Generating model ${(0, core_1.getSourceDisplayName)(ctx.data, ctx.schema)} [${packageName}.${typeName}] to ${filePath}...`);
26
- const builder = new file_builder_js_1.KotlinFileBuilder(packageName, ctx.config);
27
- builder.append(this.getFileContent(ctx, {}));
28
- builder.writeToFile(filePath);
29
- return { type: index_js_1.kt.reference(typeName, packageName) };
30
- }
31
- else {
32
- return { type: this.getType(ctx, { schema: ctx.schema }) };
33
- }
34
- }
35
- getFileContent(ctx, _args) {
36
- return (0, core_1.appendValueGroup)([this.getSchemaDeclaration(ctx, { schema: this.normalizeSchema(ctx, { schema: ctx.schema }) })], '\n\n');
37
- }
38
- getSchemaDeclaration(ctx, args) {
39
- const { schema } = args;
40
- if (schema.kind === 'object') {
41
- return schema.discriminator ? this.getInterface(ctx, { schema }) : this.getClass(ctx, { schema });
42
- }
43
- else if (schema.enum !== undefined && schema.enum.length > 0) {
44
- return this.getEnum(ctx, { schema });
45
- }
46
- 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.';
47
- }
48
- getClass(ctx, args) {
49
- const { schema } = args;
50
- const inheritedSchemas = this.getInheritedSchemas(ctx, { schema });
51
- const parameters = this.getClassProperties(ctx, { schema });
52
- return index_js_1.kt.class(this.getDeclarationTypeName(ctx, { schema }), {
53
- doc: index_js_1.kt.doc(this.getSchemaDocDescription(ctx, { schema })),
54
- annotations: [
55
- this.getJacksonJsonClassDescriptionAnnotation(ctx, { schema }),
56
- schema.deprecated ? index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))]) : null,
57
- ],
58
- classKind: parameters.length === 0 ? null : 'data',
59
- implements: inheritedSchemas.map((schema) => this.getType(ctx, { schema, nullable: false })),
60
- primaryConstructor: index_js_1.kt.constructor(parameters.map((property) => this.getClassParameter(ctx, { ...args, inheritedSchemas, parameters, property }))),
61
- members: [
62
- ...(schema.additionalProperties !== undefined && schema.additionalProperties !== false
63
- ? [
64
- this.getAdditionalPropertiesProperty(ctx, { schema }),
65
- this.getAdditionalPropertiesSetter(ctx, { schema }),
66
- this.getAdditionalPropertiesGetter(ctx, { schema }),
67
- ]
68
- : []),
69
- ],
70
- });
71
- }
72
- getInterface(ctx, args) {
73
- const { schema } = args;
74
- return index_js_1.kt.interface(this.getDeclarationTypeName(ctx, { schema }), {
75
- doc: index_js_1.kt.doc(this.getSchemaDocDescription(ctx, { schema })),
76
- annotations: [
77
- this.getJacksonJsonTypeInfoAnnotation(ctx, { schema }),
78
- this.getJacksonJsonSubTypesAnnotation(ctx, { schema }),
79
- this.getJacksonJsonClassDescriptionAnnotation(ctx, { schema }),
80
- schema.deprecated ? index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))]) : null,
81
- ].filter(core_1.notNullish),
82
- members: this.sortProperties(ctx, { schema, properties: schema.properties.values() }).map((property) => this.getInterfaceProperty(ctx, { schema, property })),
83
- });
84
- }
85
- getEnum(ctx, args) {
86
- var _a, _b, _c;
87
- const { schema } = args;
88
- const name = this.getDeclarationTypeName(ctx, { schema });
89
- // One set of names for both generation sites below, so the constant and its `when` branch agree.
90
- const valueNames = this.toEnumValueNames(ctx, schema.enum);
91
- return index_js_1.kt.enum(name, (_b = (_a = schema.enum) === null || _a === void 0 ? void 0 : _a.map((x, i) => index_js_1.kt.enumValue(valueNames[i], {
92
- annotations: [index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonProperty(), [index_js_1.kt.argument(index_js_1.kt.string(String(x)))])],
93
- arguments: [index_js_1.kt.argument(index_js_1.kt.string(String(x)))],
94
- }))) !== null && _b !== void 0 ? _b : [], {
95
- doc: index_js_1.kt.doc(this.getSchemaDocDescription(ctx, { schema })),
96
- annotations: [schema.deprecated ? index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))]) : null],
97
- primaryConstructor: index_js_1.kt.constructor([
98
- index_js_1.kt.parameter.class((0, core_1.toCasing)('value', ctx.config.propertyNameCasing), index_js_1.kt.refs.string(), {
99
- property: 'readonly',
100
- }),
101
- ]),
102
- companionObject: index_js_1.kt.object({
103
- members: [
104
- index_js_1.kt.function('fromValue', {
105
- parameters: [index_js_1.kt.parameter('value', index_js_1.kt.refs.string())],
106
- returnType: index_js_1.kt.reference(name, null, { nullable: true }),
107
- singleExpression: true,
108
- body: !((_c = schema.enum) === null || _c === void 0 ? void 0 : _c.length) ? 'null' : (0, core_1.builderTemplate) `\nwhen(value) {${core_1.builderTemplate.indent `${(0, core_1.appendValueGroup)([
109
- schema.enum.map((x, i) => (0, core_1.builderTemplate) `\n${index_js_1.kt.string(String(x))} -> ${valueNames[i]}`),
110
- ])}
111
- else -> null`}
112
- }`,
113
- }),
114
- ],
115
- }),
116
- });
117
- }
118
- getSchemaDocDescription(ctx, args) {
119
- var _a;
120
- const docSegments = [(_a = args.schema.description) === null || _a === void 0 ? void 0 : _a.trim()];
121
- if (ctx.config.includeSourceInDocs) {
122
- docSegments.push((0, utils_js_1.getSourceDocLine)(args.schema));
123
- }
124
- return docSegments.filter(core_1.notNullish).join('\n\n');
125
- }
126
- getType(ctx, args) {
127
- let { schema, nullable } = args;
128
- if (schema.kind === 'oneOf' && schema.oneOf.length === 2 && schema.oneOf.some((x) => x.kind === 'null')) {
129
- const nonNullSchema = schema.oneOf.find((x) => x.kind !== 'null');
130
- if (nonNullSchema) {
131
- schema = nonNullSchema;
132
- nullable !== null && nullable !== void 0 ? nullable : (nullable = true);
133
- }
134
- }
135
- const generatedType = this.getGeneratedType(ctx, { schema, nullable });
136
- if (generatedType) {
137
- return generatedType;
138
- }
139
- nullable !== null && nullable !== void 0 ? nullable : (nullable = schema.nullable);
140
- switch (schema.kind) {
141
- case 'boolean':
142
- return index_js_1.kt.refs.boolean({ nullable });
143
- case 'integer':
144
- case 'number':
145
- switch (schema.format) {
146
- case 'int32':
147
- return index_js_1.kt.refs.int({ nullable });
148
- case 'int64':
149
- return index_js_1.kt.refs.long({ nullable });
150
- case 'float':
151
- return index_js_1.kt.refs.float({ nullable });
152
- case 'double':
153
- return index_js_1.kt.refs.double({ nullable });
154
- default:
155
- return schema.kind === 'integer' ? index_js_1.kt.refs.int({ nullable }) : index_js_1.kt.refs.double({ nullable });
156
- }
157
- case 'string':
158
- switch (schema.format) {
159
- case 'date-time':
160
- return index_js_1.kt.refs.java.offsetDateTime({ nullable });
161
- case 'time':
162
- return index_js_1.kt.refs.java.offsetTime({ nullable });
163
- case 'date':
164
- return index_js_1.kt.refs.java.localDate({ nullable });
165
- case 'local-date-time':
166
- return index_js_1.kt.refs.java.localDateTime({ nullable });
167
- case 'local-time':
168
- return index_js_1.kt.refs.java.localTime({ nullable });
169
- case 'uri':
170
- return index_js_1.kt.refs.java.uri({ nullable });
171
- default:
172
- return index_js_1.kt.refs.string({ nullable });
173
- }
174
- case 'null':
175
- return index_js_1.kt.refs.nothing({ nullable });
176
- case 'unknown':
177
- return index_js_1.kt.refs.any({ nullable });
178
- case 'array':
179
- return index_js_1.kt.refs.list([schema.items ? this.getType(ctx, { schema: schema.items }) : index_js_1.kt.refs.any({ nullable: true })], { nullable });
180
- case 'object':
181
- return schema.properties.size === 0 && schema.additionalProperties
182
- ? index_js_1.kt.refs.map([index_js_1.kt.refs.string(), this.getAdditionalPropertiesType(ctx, { schema })], { nullable })
183
- : index_js_1.kt.refs.any({ nullable });
184
- default:
185
- return index_js_1.kt.refs.any({ nullable });
186
- }
187
- }
188
- getGeneratedType(ctx, args) {
189
- var _a;
190
- const schema = (0, core_1.getSchemaReference)(args.schema, core_1.DEFAULT_IGNORED_SCHEMA_PROPERTIES);
191
- if (this.shouldGenerateTypeDeclaration(ctx, { schema })) {
192
- return index_js_1.kt.reference(this.getDeclarationTypeName(ctx, { schema }), this.getPackageName(ctx, { schema }), {
193
- nullable: (_a = args.nullable) !== null && _a !== void 0 ? _a : schema.nullable,
194
- });
195
- }
196
- return null;
197
- }
198
- getAdditionalPropertiesType(ctx, args) {
199
- const { schema } = args;
200
- return typeof schema.additionalProperties === 'object'
201
- ? this.getType(ctx, { schema: schema.additionalProperties })
202
- : index_js_1.kt.refs.any({ nullable: true });
203
- }
204
- getDefaultValue(ctx, args) {
205
- const { schema } = args;
206
- if (schema.default === null || schema.default === undefined) {
207
- return 'null';
208
- }
209
- else {
210
- switch (schema.kind) {
211
- case 'boolean':
212
- return Boolean(schema.default) || String(schema.default).toLowerCase() === 'true' ? 'true' : 'false';
213
- case 'integer':
214
- case 'number':
215
- return String(schema.default);
216
- case 'string':
217
- return schema.enum && schema.enum.length > 0
218
- ? index_js_1.kt.call([this.getType(ctx, { schema }), this.toEnumValueName(ctx, schema.enum, schema.default)])
219
- : index_js_1.kt.string(String(schema.default));
220
- case 'array': {
221
- const itemEnumSchema = (0, utils_js_1.getStringEnumSchema)(schema.items);
222
- return index_js_1.kt.call(index_js_1.kt.refs.listOf.infer(), Array.isArray(schema.default)
223
- ? schema.default.map((x) => itemEnumSchema
224
- ? index_js_1.kt.call([
225
- this.getType(ctx, { schema: itemEnumSchema }),
226
- this.toEnumValueName(ctx, itemEnumSchema.enum, x),
227
- ])
228
- : index_js_1.kt.toNode(x))
229
- : []);
230
- }
231
- default:
232
- return 'null';
233
- }
234
- }
235
- }
236
- // #region Members
237
- getClassParameter(ctx, args) {
238
- var _a;
239
- const { schema, inheritedSchemas, property } = args;
240
- return index_js_1.kt.parameter.class((0, core_1.toCasing)(property.name, ctx.config.propertyNameCasing), this.getType(ctx, { schema: property.schema, nullable: schema.required.has(property.name) ? undefined : true }), {
241
- description: (_a = property.schema.description) === null || _a === void 0 ? void 0 : _a.trim(),
242
- annotations: [
243
- ...this.getJakartaValidationAnnotations(ctx, { schema, property }),
244
- this.getSwaggerSchemaAnnotation(ctx, { schema, property }),
245
- (0, core_1.modify)(this.getJacksonJsonPropertyAnnotation(ctx, { schema, property }), (x) => (x.target = 'param')),
246
- ...(0, core_1.modifyEach)([
247
- this.getJacksonJsonPropertyAnnotation(ctx, { schema, property }),
248
- this.getJacksonJsonPropertyDescriptionAnnotation(ctx, { schema, property }),
249
- this.getJacksonJsonIncludeAnnotation(ctx, { schema, property }),
250
- ].filter(core_1.notNullish), (x) => (x.target = 'get')),
251
- property.schema.deprecated ? index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))]) : null,
252
- ].filter(core_1.notNullish),
253
- override: inheritedSchemas.some((schema) => this.hasProperty(ctx, { schema, propertyName: property.name })),
254
- property: 'readonly',
255
- default: property.schema.default !== undefined || !schema.required.has(property.name)
256
- ? this.getDefaultValue(ctx, { schema: property.schema })
257
- : null,
258
- });
259
- }
260
- getInterfaceProperty(ctx, args) {
261
- const { schema, property } = args;
262
- return index_js_1.kt.property((0, core_1.toCasing)(property.name, ctx.config.propertyNameCasing), {
263
- doc: index_js_1.kt.doc(this.getSchemaDocDescription(ctx, { schema: property.schema })),
264
- annotations: (0, core_1.modifyEach)([
265
- this.getJacksonJsonPropertyAnnotation(ctx, { schema, property }),
266
- this.getJacksonJsonPropertyDescriptionAnnotation(ctx, { schema, property }),
267
- this.getJacksonJsonIncludeAnnotation(ctx, { schema, property }),
268
- property.schema.deprecated ? index_js_1.kt.annotation(index_js_1.kt.refs.deprecated(), [index_js_1.kt.argument(index_js_1.kt.string(''))]) : null,
269
- ].filter(core_1.notNullish), (x) => (x.target = 'get')),
270
- type: this.getType(ctx, {
271
- schema: property.schema,
272
- nullable: schema.required.has(property.name) ? undefined : true,
273
- }),
274
- });
275
- }
276
- getAdditionalPropertiesProperty(ctx, args) {
277
- const { schema } = args;
278
- return index_js_1.kt.property((0, core_1.toCasing)('additionalProperties', ctx.config.propertyNameCasing), {
279
- annotations: [index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonIgnore())],
280
- type: index_js_1.kt.reference('MutableMap', null, {
281
- generics: ['String', this.getAdditionalPropertiesType(ctx, { schema })],
282
- }),
283
- default: 'mutableMapOf()',
284
- });
285
- }
286
- getAdditionalPropertiesSetter(ctx, args) {
287
- const { schema } = args;
288
- return index_js_1.kt.function((0, core_1.toCasing)('set', ctx.config.functionNameCasing), {
289
- annotations: [index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonAnySetter())],
290
- parameters: [
291
- index_js_1.kt.parameter((0, core_1.toCasing)('name', ctx.config.parameterNameCasing), 'String'),
292
- index_js_1.kt.parameter((0, core_1.toCasing)('value', ctx.config.parameterNameCasing), this.getAdditionalPropertiesType(ctx, { schema })),
293
- ],
294
- body: `this.${(0, core_1.toCasing)('additionalProperties', ctx.config.propertyNameCasing)}[name] = value`,
295
- });
296
- }
297
- getAdditionalPropertiesGetter(ctx, args) {
298
- const { schema } = args;
299
- return index_js_1.kt.function((0, core_1.toCasing)('getMap', ctx.config.functionNameCasing), {
300
- annotations: [index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonAnyGetter())],
301
- returnType: index_js_1.kt.refs.map([index_js_1.kt.refs.string(), this.getAdditionalPropertiesType(ctx, { schema })]),
302
- body: `return this.${(0, core_1.toCasing)('additionalProperties', ctx.config.propertyNameCasing)}`,
303
- });
304
- }
305
- // #endregion
306
- // #region Annotations
307
- getJacksonJsonTypeInfoAnnotation(ctx, args) {
308
- const { schema } = args;
309
- return ctx.config.addJacksonAnnotations && schema.discriminator
310
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonTypeInfo(), [
311
- index_js_1.kt.argument.named('use', 'JsonTypeInfo.Id.NAME'),
312
- index_js_1.kt.argument.named('include', 'properties' in schema && schema.properties.has(schema.discriminator.propertyName)
313
- ? 'JsonTypeInfo.As.EXISTING_PROPERTY'
314
- : 'JsonTypeInfo.As.PROPERTY'),
315
- index_js_1.kt.argument.named('property', index_js_1.kt.string(schema.discriminator.propertyName)),
316
- index_js_1.kt.argument.named('visible', 'true'),
317
- ])
318
- : null;
319
- }
320
- getJacksonJsonSubTypesAnnotation(ctx, args) {
321
- const { schema } = args;
322
- if (!ctx.config.addJacksonAnnotations || !schema.discriminator)
323
- return null;
324
- const entries = Object.entries(schema.discriminator.mapping);
325
- return entries.length > 0
326
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonSubTypes(), entries.map(([value, schema]) => index_js_1.kt.argument(index_js_1.kt.call([index_js_1.kt.refs.jackson.jsonSubTypes(), 'Type'], [
327
- index_js_1.kt.argument.named('value', (0, core_1.modify)(this.getType(ctx, { schema }), (x) => (x.classReference = true))),
328
- index_js_1.kt.argument.named('name', index_js_1.kt.string(value)),
329
- ]))))
330
- : null;
331
- }
332
- getJacksonJsonClassDescriptionAnnotation(ctx, args) {
333
- const { schema } = args;
334
- return ctx.config.addJacksonAnnotations && schema.description
335
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonClassDescription(), [
336
- index_js_1.kt.argument(index_js_1.kt.string(schema.description)),
337
- ])
338
- : null;
339
- }
340
- getJacksonJsonPropertyAnnotation(ctx, args) {
341
- const { schema, property } = args;
342
- return ctx.config.addJacksonAnnotations
343
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonProperty(), [
344
- index_js_1.kt.argument(index_js_1.kt.string(property.name)),
345
- schema.required.has(property.name) ? index_js_1.kt.argument.named('required', 'true') : null,
346
- ])
347
- : null;
348
- }
349
- getJacksonJsonPropertyDescriptionAnnotation(ctx, args) {
350
- const { property } = args;
351
- return ctx.config.addJacksonAnnotations && property.schema.description
352
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonPropertyDescription(), [
353
- index_js_1.kt.argument(index_js_1.kt.string(property.schema.description)),
354
- ])
355
- : null;
356
- }
357
- getJacksonJsonIncludeAnnotation(ctx, args) {
358
- const { property } = args;
359
- return ctx.config.addJacksonAnnotations && property.schema.custom['exclude-when-null'] === true
360
- ? index_js_1.kt.annotation(index_js_1.kt.refs.jackson.jsonInclude(), [
361
- index_js_1.kt.argument(index_js_1.kt.call([index_js_1.kt.refs.jackson.jsonInclude(), 'Include', 'NON_NULL'])),
362
- ])
363
- : null;
364
- }
365
- getJakartaValidationAnnotations(ctx, args) {
366
- const { property } = args;
367
- const annotations = [];
368
- if (!ctx.config.addJakartaValidationAnnotations) {
369
- return annotations;
370
- }
371
- if (property.schema.kind === 'string') {
372
- if (property.schema.pattern) {
373
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.pattern(), [index_js_1.kt.argument.named('regexp', index_js_1.kt.string(property.schema.pattern))], {
374
- target: 'get',
375
- }));
376
- }
377
- if (property.schema.minLength === 1 && property.schema.maxLength === undefined) {
378
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.notEmpty(), [], { target: 'get' }));
379
- }
380
- else if (property.schema.minLength !== undefined || property.schema.maxLength !== undefined) {
381
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.size(), [
382
- property.schema.minLength !== undefined ? index_js_1.kt.argument.named('min', property.schema.minLength) : null,
383
- property.schema.maxLength !== undefined ? index_js_1.kt.argument.named('max', property.schema.maxLength) : null,
384
- ], { target: 'get' }));
385
- }
386
- }
387
- else if (property.schema.kind === 'number' || property.schema.kind === 'integer') {
388
- if (property.schema.minimum !== undefined) {
389
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.min(), [index_js_1.kt.argument.named('value', property.schema.minimum)], {
390
- target: 'get',
391
- }));
392
- }
393
- if (property.schema.maximum !== undefined) {
394
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.max(), [index_js_1.kt.argument.named('value', property.schema.maximum)], {
395
- target: 'get',
396
- }));
397
- }
398
- }
399
- else if (property.schema.kind === 'array') {
400
- if (property.schema.minItems !== undefined || property.schema.maxItems !== undefined) {
401
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.size(), [
402
- property.schema.minItems !== undefined ? index_js_1.kt.argument.named('min', property.schema.minItems) : null,
403
- property.schema.maxItems !== undefined ? index_js_1.kt.argument.named('max', property.schema.maxItems) : null,
404
- ], { target: 'get' }));
405
- }
406
- }
407
- if (this.shouldGenerateTypeDeclaration(ctx, { schema: property.schema })) {
408
- annotations.push(index_js_1.kt.annotation(index_js_1.kt.refs.jakarta.valid(), [], { target: 'field' }));
409
- }
410
- return annotations;
411
- }
412
- getSwaggerSchemaAnnotation(ctx, args) {
413
- const { schema, property } = args;
414
- return ctx.config.addSwaggerAnnotations
415
- ? index_js_1.kt.annotation(index_js_1.kt.refs.swagger.schema(), [
416
- property.schema.example !== undefined
417
- ? index_js_1.kt.argument.named('example', index_js_1.kt.string(String(property.schema.example)))
418
- : null,
419
- schema.required.has(property.name) ? index_js_1.kt.argument.named('required', 'true') : null,
420
- property.schema.description !== undefined
421
- ? index_js_1.kt.argument.named('description', index_js_1.kt.string(property.schema.description))
422
- : null,
423
- property.schema.deprecated ? index_js_1.kt.argument.named('deprecated', index_js_1.kt.toNode(property.schema.deprecated)) : null,
424
- ])
425
- : null;
426
- }
427
- // #endregion
428
- getPackageName(ctx, args) {
429
- const { schema } = args;
430
- const packageSuffix = typeof ctx.config.packageSuffix === 'string'
431
- ? ctx.config.packageSuffix
432
- : ctx.config.packageSuffix(schema);
433
- return ctx.config.packageName + packageSuffix;
434
- }
435
- shouldGenerateTypeDeclaration(ctx, args) {
436
- let { schema } = args;
437
- // All enum types should have its own type declaration
438
- if (schema.enum !== undefined && schema.enum.length > 0) {
439
- return true;
440
- }
441
- // All primitive types already exist and do not need its own type declaration
442
- if (schema.kind !== 'combined' &&
443
- schema.kind !== 'multi-type' &&
444
- schema.kind !== 'object' &&
445
- schema.kind !== 'oneOf') {
446
- return false;
447
- }
448
- // Too complex types cannot be represented in Kotlin, so they fallback to Any
449
- if (schema.kind === 'multi-type') {
450
- return false;
451
- }
452
- schema = this.normalizeSchema(ctx, { schema });
453
- if (schema.kind === 'combined' || schema.kind === 'oneOf') {
454
- return false;
455
- }
456
- // A discriminated schema is the supertype its subtypes implement and the carrier of the
457
- // `@JsonTypeInfo`/`@JsonSubTypes` pair, so it always needs a declaration of its own. The two rules below
458
- // simplify a schema that nothing refers to as a type; degrading a polymorphic base to `Any` or to a `Map`
459
- // instead drops the supertype from every subtype and the polymorphism with it. This matters for a base
460
- // whose `discriminator.propertyName` is declared on the mapping targets rather than on the base, which is
461
- // legal and leaves the base with no properties of its own.
462
- const isDiscriminatedBase = schema.kind === 'object' && schema.discriminator !== undefined;
463
- // Schemas representable by a simple Map type do not need its own type declaration
464
- if (!isDiscriminatedBase && schema.kind === 'object' && schema.properties.size === 0 && schema.additionalProperties) {
465
- return false;
466
- }
467
- if (!isDiscriminatedBase && schema.kind === 'object' &&
468
- ctx.config.emptyObjectTypeBehavior === 'use-any' && schema.properties.size === 0) {
469
- return false;
470
- }
471
- // Dynamically generated schemas do not have its own type declaration
472
- if (!ctx.data.schemas.some((x) => x.id === schema.id)) {
473
- return false;
474
- }
475
- // multipart schemas should not have its own type declaration
476
- if (schema.$src.path.endsWith('/requestBody/content/multipart/form-data/schema')) {
477
- return false;
478
- }
479
- return true;
480
- }
481
- getDeclarationTypeName(ctx, args) {
482
- return (0, core_1.toCasing)(args.schema.name, ctx.config.typeNameCasing);
483
- }
484
- getInheritedSchemas(ctx, args) {
485
- return args.schema.inheritedSchemas
486
- .filter((schema) => this.shouldGenerateTypeDeclaration(ctx, { schema }) && !schema.isNameGenerated)
487
- .filter((item, index, self) => self.indexOf(item) === index);
488
- }
489
- getClassProperties(ctx, args) {
490
- var _a;
491
- const { schema } = args;
492
- const inheritedSchemas = this.getInheritedSchemas(ctx, { schema });
493
- const properties = [];
494
- const appendedProperties = [];
495
- for (const property of schema.properties.values()) {
496
- const discriminator = (_a = inheritedSchemas.find((x) => { var _a; return ((_a = x.discriminator) === null || _a === void 0 ? void 0 : _a.propertyName) === property.name; })) === null || _a === void 0 ? void 0 : _a.discriminator;
497
- if (discriminator) {
498
- const schemaMappings = Object.entries(discriminator.mapping).filter(([_, v]) => v.id === schema.id);
499
- if (schemaMappings.length === 1) {
500
- const p = (0, core_1.createOverwriteProxy)(property);
501
- const s = (0, core_1.createOverwriteProxy)(p.schema);
502
- p.schema = s;
503
- s.default = schemaMappings[0][0];
504
- appendedProperties.push(p);
505
- continue;
506
- }
507
- }
508
- properties.push(property);
509
- }
510
- return [...this.sortProperties(ctx, { schema, properties }), ...appendedProperties];
511
- }
512
- sortProperties(_ctx, args) {
513
- return [...args.properties].sort((a, b) => classify(a) - classify(b));
514
- function classify(p) {
515
- if (p.schema.default !== undefined)
516
- return 1;
517
- if (args.schema.required.has(p.name))
518
- return 0;
519
- return 2;
520
- }
521
- }
522
- normalizeSchema(ctx, args) {
523
- let { schema } = args;
524
- schema = this.normalizeDiscriminatedBases(ctx, { schema });
525
- if (schema.kind === 'oneOf') {
526
- schema = ctx.config.oneOfBehavior === 'treat-as-any-of'
527
- // deno-lint-ignore no-explicit-any
528
- ? { ...schema, kind: 'combined', anyOf: schema.oneOf, allOf: [], oneOf: undefined }
529
- // deno-lint-ignore no-explicit-any
530
- : { ...schema, kind: 'combined', allOf: schema.oneOf, anyOf: [], oneOf: undefined };
531
- ctx.schema = schema;
532
- }
533
- if (schema.kind === 'object' || schema.kind === 'combined') {
534
- const mergedSchema = (0, core_1.resolveAnyOfAndAllOf)(schema, true);
535
- if (mergedSchema) {
536
- schema = mergedSchema;
537
- }
538
- }
539
- return schema;
540
- }
541
- /**
542
- * Rewrites every discriminated `oneOf` base reachable from the schema through a composition into the
543
- * `object` it describes, so that the merge in `normalizeSchema` treats it as one.
544
- *
545
- * A schema that declares a `oneOf` is of kind `oneOf` even when it also declares `type: object` and
546
- * properties of its own — `determineSchemaKind` looks at `oneOf` first. For a *discriminated* `oneOf` that
547
- * loses the very information the Kotlin declarations need, because the branches of such a `oneOf` are the
548
- * schema's subtypes rather than parts of it (the same distinction `resolveAnyOfAndAllOf` draws for a `oneOf`
549
- * nested inside a composition):
550
- *
551
- * - the base is an object in its own right, described by its own `properties`, `required` and any
552
- * `allOf`/`anyOf` it composes — so its interface must declare those and nothing else, not the union of
553
- * what its subtypes declare;
554
- * - a subtype's `allOf: [Base]` is a composition with that object — so the subtype must inherit the base's
555
- * own properties, including the discriminator, while inheriting nothing from its siblings.
556
- *
557
- * Both follow from turning the base into an `object` before the merge runs: the merge already collects the
558
- * properties of an `object` branch and already declines to collect the branches of a discriminated `oneOf`.
559
- * This is why `AllOfInheritanceDiscriminator` in test/specs/v3/discriminator-variants.yml has always been
560
- * correct — with no `oneOf` keyword it is of kind `object` already — while every `oneOf`-holder base in the
561
- * same document was not.
562
- */
563
- normalizeDiscriminatedBases(_ctx, args) {
564
- // `normalizeSchema` runs once per property type via `shouldGenerateTypeDeclaration`, and almost no schema
565
- // has a discriminated base anywhere below it. Answering that first costs one traversal and one set, and
566
- // lets the overwhelmingly common case return the schema itself rather than a copy per composing schema.
567
- //
568
- // The question is asked once for the whole call rather than again per branch: a per-branch answer would
569
- // have to be memoised to stay linear, and memoising it is unsound, because a walk truncated by the cycle
570
- // guard can record `false` for a branch that reaches a base only by going back through an ancestor.
571
- if (!containsDiscriminatedBase(args.schema, new Set()))
572
- return args.schema;
573
- const rewritten = new Map();
574
- return rewrite(args.schema);
575
- function rewrite(schema) {
576
- const existing = rewritten.get(schema);
577
- if (existing)
578
- return existing;
579
- const isBase = isDiscriminatedBase(schema);
580
- const allOf = branches(schema, 'allOf');
581
- const anyOf = branches(schema, 'anyOf');
582
- // The branches of a discriminated `oneOf` are dropped rather than descended into: they are the schema's
583
- // subtypes, and a subtype is generated from its own file where it is the root of this walk.
584
- const oneOf = isBase ? [] : branches(schema, 'oneOf');
585
- if (!isBase && allOf.length === 0 && anyOf.length === 0 && oneOf.length === 0) {
586
- return schema;
587
- }
588
- // Registered before descending, so a branch composing back to one of its own ancestors terminates.
589
- // deno-lint-ignore no-explicit-any
590
- const copy = { ...schema };
591
- rewritten.set(schema, copy);
592
- if (isBase) {
593
- copy.kind = 'object';
594
- copy.type = 'object';
595
- }
596
- copy.allOf = allOf.map(rewrite);
597
- copy.anyOf = anyOf.map(rewrite);
598
- copy.oneOf = oneOf.map(rewrite);
599
- return copy;
600
- }
601
- /** Whether the schema or anything it composes is a base this walk would rewrite. */
602
- function containsDiscriminatedBase(schema, visited) {
603
- if (visited.has(schema))
604
- return false;
605
- visited.add(schema);
606
- if (isDiscriminatedBase(schema))
607
- return true;
608
- const contains = (x) => containsDiscriminatedBase(x, visited);
609
- return branches(schema, 'allOf').some(contains) ||
610
- branches(schema, 'anyOf').some(contains) ||
611
- branches(schema, 'oneOf').some(contains);
612
- }
613
- function isDiscriminatedBase(schema) {
614
- return schema.kind === 'oneOf' && schema.discriminator !== undefined;
615
- }
616
- /**
617
- * The branches a schema composes under one keyword. `normalizeSchema` leaves an explicit
618
- * `oneOf: undefined` behind when it rewrites a `oneOf` holder, so a keyword can be present with no value.
619
- */
620
- function branches(schema, keyword) {
621
- var _a;
622
- const values = schema;
623
- return (_a = values[keyword]) !== null && _a !== void 0 ? _a : [];
624
- }
625
- }
626
- hasProperty(ctx, args) {
627
- // A composition branch may compose back to one of its own ancestors (see test/specs/v3/anyof-cycle.yml).
628
- // Without this guard such a cycle recurses until the stack overflows. Re-visiting a schema can never
629
- // change the answer, so returning `false` for one is safe: another path either already found the
630
- // property or does not contain it at all.
631
- const { schema, propertyName, visited = new Set() } = args;
632
- if (visited.has(schema))
633
- return false;
634
- visited.add(schema);
635
- return (('properties' in schema && schema.properties.has(propertyName)) ||
636
- ('anyOf' in schema && schema.anyOf.some((schema) => this.hasProperty(ctx, { schema, propertyName, visited }))) ||
637
- ('allOf' in schema && schema.allOf.some((schema) => this.hasProperty(ctx, { schema, propertyName, visited }))) ||
638
- // Only an undiscriminated `oneOf` composes into the schema that references it, matching which `oneOf`
639
- // branches `resolveAnyOfAndAllOf` merges. A discriminated one lists subtypes, whose properties are not
640
- // the referencing schema's, so an inherited property never comes from there.
641
- ('oneOf' in schema && !schema.discriminator &&
642
- schema.oneOf.some((schema) => this.hasProperty(ctx, { schema, propertyName, visited }))));
643
- }
644
- }
645
- exports.DefaultKotlinModelGenerator = DefaultKotlinModelGenerator;
@@ -1 +0,0 @@
1
- {"version":3,"file":"models-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/generators/models/models-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,OAAO,EACP,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,oCAAoC,EACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;AAErB,KAAK,KAAK,GAAG,0BAA0B,CAAC;AACxC,KAAK,MAAM,GAAG,2BAA2B,CAAC;AAC1C,KAAK,MAAM,GAAG,2BAA2B,CAAC;AAC1C,KAAK,YAAY,GAAG,0BAA0B,CAAC;AAC/C,KAAK,OAAO,GAAG,4BAA4B,CAAC;AAE5C,qBAAa,qBAAsB,SAAQ,oCAAoC,CAC7E,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,OAAO,CACR;IACC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoC;gBAE/D,qBAAqB,CAAC,EAAE,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;cAKlD,UAAU,IAAI,MAAM;cAQpB,YAAY,CAC7B,OAAO,EAAE,uBAAuB,CAAC,0BAA0B,CAAC,EAC5D,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GACnC,OAAO;cAIS,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC;cAQ3E,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;CAGhG"}