@goast/typescript 0.3.13 → 0.4.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -8
  3. package/assets/client/angular/angular-service.utils.ts +1 -1
  4. package/assets/client/angular/request-builder.ts +6 -3
  5. package/assets/client/k6/request-builder.js +13 -6
  6. package/assets/stubs/easy-network-stub/easy-network-stub.utils.ts +4 -5
  7. package/esm/index.d.ts +8 -0
  8. package/esm/index.d.ts.map +1 -0
  9. package/esm/lib/assets.d.ts +2 -0
  10. package/esm/lib/assets.d.ts.map +1 -0
  11. package/esm/lib/assets.js +6 -0
  12. package/{types → esm}/lib/ast/_index.d.ts +39 -38
  13. package/esm/lib/ast/_index.d.ts.map +1 -0
  14. package/esm/lib/ast/_index.js +1 -2
  15. package/{types → esm}/lib/ast/common.d.ts +1 -0
  16. package/esm/lib/ast/common.d.ts.map +1 -0
  17. package/esm/lib/ast/index.d.ts +2 -0
  18. package/esm/lib/ast/index.d.ts.map +1 -0
  19. package/esm/lib/ast/index.js +1 -2
  20. package/{types → esm}/lib/ast/node.d.ts +2 -1
  21. package/esm/lib/ast/node.d.ts.map +1 -0
  22. package/{types → esm}/lib/ast/nodes/argument.d.ts +5 -4
  23. package/esm/lib/ast/nodes/argument.d.ts.map +1 -0
  24. package/esm/lib/ast/nodes/argument.js +6 -0
  25. package/{types → esm}/lib/ast/nodes/array-type.d.ts +5 -4
  26. package/esm/lib/ast/nodes/array-type.d.ts.map +1 -0
  27. package/esm/lib/ast/nodes/array-type.js +12 -0
  28. package/{types → esm}/lib/ast/nodes/arrow-function.d.ts +7 -6
  29. package/esm/lib/ast/nodes/arrow-function.d.ts.map +1 -0
  30. package/esm/lib/ast/nodes/arrow-function.js +37 -1
  31. package/{types → esm}/lib/ast/nodes/call.d.ts +6 -5
  32. package/esm/lib/ast/nodes/call.d.ts.map +1 -0
  33. package/esm/lib/ast/nodes/call.js +13 -1
  34. package/{types → esm}/lib/ast/nodes/class.d.ts +12 -11
  35. package/esm/lib/ast/nodes/class.d.ts.map +1 -0
  36. package/esm/lib/ast/nodes/class.js +55 -1
  37. package/{types → esm}/lib/ast/nodes/constructor-parameter.d.ts +5 -4
  38. package/esm/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
  39. package/esm/lib/ast/nodes/constructor-parameter.js +12 -0
  40. package/{types → esm}/lib/ast/nodes/constructor.d.ts +7 -6
  41. package/esm/lib/ast/nodes/constructor.d.ts.map +1 -0
  42. package/esm/lib/ast/nodes/constructor.js +25 -1
  43. package/{types → esm}/lib/ast/nodes/decorator.d.ts +6 -5
  44. package/esm/lib/ast/nodes/decorator.d.ts.map +1 -0
  45. package/esm/lib/ast/nodes/decorator.js +12 -0
  46. package/{types → esm}/lib/ast/nodes/doc-tag.d.ts +5 -4
  47. package/esm/lib/ast/nodes/doc-tag.d.ts.map +1 -0
  48. package/esm/lib/ast/nodes/doc-tag.js +18 -0
  49. package/{types → esm}/lib/ast/nodes/doc.d.ts +7 -6
  50. package/esm/lib/ast/nodes/doc.d.ts.map +1 -0
  51. package/esm/lib/ast/nodes/doc.js +12 -0
  52. package/{types → esm}/lib/ast/nodes/enum-value.d.ts +5 -4
  53. package/esm/lib/ast/nodes/enum-value.d.ts.map +1 -0
  54. package/esm/lib/ast/nodes/enum-value.js +18 -0
  55. package/{types → esm}/lib/ast/nodes/enum.d.ts +6 -5
  56. package/esm/lib/ast/nodes/enum.d.ts.map +1 -0
  57. package/esm/lib/ast/nodes/enum.js +30 -0
  58. package/{types → esm}/lib/ast/nodes/export.d.ts +5 -4
  59. package/esm/lib/ast/nodes/export.d.ts.map +1 -0
  60. package/esm/lib/ast/nodes/export.js +18 -0
  61. package/{types → esm}/lib/ast/nodes/function-type.d.ts +7 -6
  62. package/esm/lib/ast/nodes/function-type.d.ts.map +1 -0
  63. package/esm/lib/ast/nodes/function-type.js +18 -0
  64. package/{types → esm}/lib/ast/nodes/function.d.ts +9 -8
  65. package/esm/lib/ast/nodes/function.d.ts.map +1 -0
  66. package/esm/lib/ast/nodes/function.js +49 -1
  67. package/{types → esm}/lib/ast/nodes/generic-parameter.d.ts +5 -4
  68. package/esm/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
  69. package/esm/lib/ast/nodes/generic-parameter.js +30 -0
  70. package/{types → esm}/lib/ast/nodes/indexer.d.ts +5 -4
  71. package/esm/lib/ast/nodes/indexer.d.ts.map +1 -0
  72. package/esm/lib/ast/nodes/indexer.js +24 -0
  73. package/{types → esm}/lib/ast/nodes/interface.d.ts +11 -10
  74. package/esm/lib/ast/nodes/interface.d.ts.map +1 -0
  75. package/esm/lib/ast/nodes/interface.js +43 -1
  76. package/{types → esm}/lib/ast/nodes/intersection-type.d.ts +5 -4
  77. package/esm/lib/ast/nodes/intersection-type.d.ts.map +1 -0
  78. package/esm/lib/ast/nodes/intersection-type.js +6 -0
  79. package/{types → esm}/lib/ast/nodes/lookup-type.d.ts +5 -4
  80. package/esm/lib/ast/nodes/lookup-type.d.ts.map +1 -0
  81. package/esm/lib/ast/nodes/lookup-type.js +12 -0
  82. package/{types → esm}/lib/ast/nodes/method.d.ts +10 -9
  83. package/esm/lib/ast/nodes/method.d.ts.map +1 -0
  84. package/esm/lib/ast/nodes/method.js +78 -0
  85. package/{types → esm}/lib/ast/nodes/object-type.d.ts +7 -6
  86. package/esm/lib/ast/nodes/object-type.d.ts.map +1 -0
  87. package/esm/lib/ast/nodes/object-type.js +6 -0
  88. package/{types → esm}/lib/ast/nodes/object.d.ts +6 -5
  89. package/esm/lib/ast/nodes/object.d.ts.map +1 -0
  90. package/esm/lib/ast/nodes/object.js +6 -0
  91. package/{types → esm}/lib/ast/nodes/parameter.d.ts +6 -5
  92. package/esm/lib/ast/nodes/parameter.d.ts.map +1 -0
  93. package/esm/lib/ast/nodes/parameter.js +37 -1
  94. package/{types → esm}/lib/ast/nodes/property-accessor.d.ts +8 -7
  95. package/esm/lib/ast/nodes/property-accessor.d.ts.map +1 -0
  96. package/esm/lib/ast/nodes/property-accessor.js +60 -0
  97. package/{types → esm}/lib/ast/nodes/property.d.ts +9 -8
  98. package/esm/lib/ast/nodes/property.d.ts.map +1 -0
  99. package/esm/lib/ast/nodes/property.js +79 -3
  100. package/{types → esm}/lib/ast/nodes/reference.d.ts +6 -5
  101. package/esm/lib/ast/nodes/reference.d.ts.map +1 -0
  102. package/esm/lib/ast/nodes/reference.js +39 -10
  103. package/{types → esm}/lib/ast/nodes/string.d.ts +4 -3
  104. package/esm/lib/ast/nodes/string.d.ts.map +1 -0
  105. package/esm/lib/ast/nodes/string.js +12 -0
  106. package/{types → esm}/lib/ast/nodes/tuple.d.ts +5 -4
  107. package/esm/lib/ast/nodes/tuple.d.ts.map +1 -0
  108. package/esm/lib/ast/nodes/tuple.js +12 -0
  109. package/{types → esm}/lib/ast/nodes/type-alias.d.ts +7 -6
  110. package/esm/lib/ast/nodes/type-alias.d.ts.map +1 -0
  111. package/esm/lib/ast/nodes/type-alias.js +31 -1
  112. package/{types → esm}/lib/ast/nodes/typeof.d.ts +5 -4
  113. package/esm/lib/ast/nodes/typeof.d.ts.map +1 -0
  114. package/esm/lib/ast/nodes/typeof.js +6 -0
  115. package/esm/lib/ast/nodes/types.d.ts +19 -0
  116. package/esm/lib/ast/nodes/types.d.ts.map +1 -0
  117. package/{types → esm}/lib/ast/nodes/union-type.d.ts +5 -4
  118. package/esm/lib/ast/nodes/union-type.d.ts.map +1 -0
  119. package/esm/lib/ast/nodes/union-type.js +6 -0
  120. package/{types → esm}/lib/ast/nodes/variable.d.ts +6 -5
  121. package/esm/lib/ast/nodes/variable.d.ts.map +1 -0
  122. package/esm/lib/ast/nodes/variable.js +36 -0
  123. package/{types → esm}/lib/ast/references/angular.d.ts +17 -16
  124. package/esm/lib/ast/references/angular.d.ts.map +1 -0
  125. package/{types → esm}/lib/ast/references/easy-network-stub.d.ts +13 -12
  126. package/esm/lib/ast/references/easy-network-stub.d.ts.map +1 -0
  127. package/esm/lib/ast/references/index.d.ts +6 -0
  128. package/esm/lib/ast/references/index.d.ts.map +1 -0
  129. package/esm/lib/ast/references/index.js +4 -8
  130. package/{types → esm}/lib/ast/references/k6.d.ts +7 -6
  131. package/esm/lib/ast/references/k6.d.ts.map +1 -0
  132. package/{types → esm}/lib/ast/references/rxjs.d.ts +11 -10
  133. package/esm/lib/ast/references/rxjs.d.ts.map +1 -0
  134. package/{types → esm}/lib/ast/references/typescript.d.ts +95 -94
  135. package/esm/lib/ast/references/typescript.d.ts.map +1 -0
  136. package/esm/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
  137. package/esm/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
  138. package/{types → esm}/lib/ast/utils/to-ts-node.d.ts +5 -4
  139. package/esm/lib/ast/utils/to-ts-node.d.ts.map +1 -0
  140. package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
  141. package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
  142. package/esm/lib/ast/utils/write-ts-generic-parameters.js +1 -1
  143. package/{types → esm}/lib/ast/utils/write-ts-members.d.ts +3 -2
  144. package/esm/lib/ast/utils/write-ts-members.d.ts.map +1 -0
  145. package/esm/lib/ast/utils/write-ts-members.js +1 -1
  146. package/{types → esm}/lib/ast/utils/write-ts-nodes.d.ts +3 -2
  147. package/esm/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
  148. package/esm/lib/ast/utils/write-ts-nodes.js +1 -1
  149. package/esm/lib/ast/utils/write-ts-parameters.d.ts +4 -0
  150. package/esm/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
  151. package/esm/lib/ast/utils/write-ts-parameters.js +1 -1
  152. package/{types → esm}/lib/common-results.d.ts +2 -1
  153. package/esm/lib/common-results.d.ts.map +1 -0
  154. package/{types → esm}/lib/config.d.ts +3 -2
  155. package/esm/lib/config.d.ts.map +1 -0
  156. package/{types → esm}/lib/file-builder.d.ts +6 -5
  157. package/esm/lib/file-builder.d.ts.map +1 -0
  158. package/esm/lib/file-builder.js +15 -3
  159. package/{types → esm}/lib/generators/file-generator.d.ts +4 -3
  160. package/esm/lib/generators/file-generator.d.ts.map +1 -0
  161. package/esm/lib/generators/index.d.ts +7 -0
  162. package/esm/lib/generators/index.d.ts.map +1 -0
  163. package/esm/lib/generators/models/index.d.ts +4 -0
  164. package/esm/lib/generators/models/index.d.ts.map +1 -0
  165. package/{types → esm}/lib/generators/models/model-generator.d.ts +8 -7
  166. package/esm/lib/generators/models/model-generator.d.ts.map +1 -0
  167. package/esm/lib/generators/models/model-generator.js +1 -1
  168. package/{types → esm}/lib/generators/models/models-generator.d.ts +5 -4
  169. package/esm/lib/generators/models/models-generator.d.ts.map +1 -0
  170. package/esm/lib/generators/models/models-generator.js +8 -2
  171. package/{types → esm}/lib/generators/models/models.d.ts +4 -3
  172. package/esm/lib/generators/models/models.d.ts.map +1 -0
  173. package/{types → esm}/lib/generators/services/angular-services/angular-service-generator.d.ts +7 -6
  174. package/esm/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
  175. package/esm/lib/generators/services/angular-services/angular-service-generator.js +5 -3
  176. package/{types → esm}/lib/generators/services/angular-services/angular-services-generator.d.ts +5 -4
  177. package/esm/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
  178. package/esm/lib/generators/services/angular-services/angular-services-generator.js +13 -6
  179. package/esm/lib/generators/services/angular-services/index.d.ts +4 -0
  180. package/esm/lib/generators/services/angular-services/index.d.ts.map +1 -0
  181. package/{types → esm}/lib/generators/services/angular-services/models.d.ts +8 -7
  182. package/esm/lib/generators/services/angular-services/models.d.ts.map +1 -0
  183. package/esm/lib/generators/services/angular-services/models.js +62 -3
  184. package/{types → esm}/lib/generators/services/angular-services/refs.d.ts +10 -9
  185. package/esm/lib/generators/services/angular-services/refs.d.ts.map +1 -0
  186. package/esm/lib/generators/services/angular-services/refs.js +4 -2
  187. package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +6 -5
  188. package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
  189. package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +3 -2
  190. package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +7 -6
  191. package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
  192. package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +10 -3
  193. package/esm/lib/generators/services/easy-network-stub/index.d.ts +4 -0
  194. package/esm/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
  195. package/{types → esm}/lib/generators/services/easy-network-stub/models.d.ts +8 -7
  196. package/esm/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
  197. package/{types → esm}/lib/generators/services/easy-network-stub/refs.d.ts +12 -11
  198. package/esm/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
  199. package/esm/lib/generators/services/easy-network-stub/refs.js +4 -2
  200. package/{types → esm}/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +6 -5
  201. package/esm/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
  202. package/esm/lib/generators/services/fetch-clients/fetch-client-generator.js +3 -5
  203. package/{types → esm}/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +5 -4
  204. package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
  205. package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.js +12 -6
  206. package/esm/lib/generators/services/fetch-clients/index.d.ts +4 -0
  207. package/esm/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
  208. package/{types → esm}/lib/generators/services/fetch-clients/models.d.ts +6 -5
  209. package/esm/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
  210. package/{types → esm}/lib/generators/services/fetch-clients/refs.d.ts +6 -5
  211. package/esm/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
  212. package/esm/lib/generators/services/fetch-clients/refs.js +1 -1
  213. package/esm/lib/generators/services/k6-clients/index.d.ts +4 -0
  214. package/esm/lib/generators/services/k6-clients/index.d.ts.map +1 -0
  215. package/{types → esm}/lib/generators/services/k6-clients/k6-client-generator.d.ts +9 -8
  216. package/esm/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
  217. package/esm/lib/generators/services/k6-clients/k6-client-generator.js +10 -6
  218. package/{types → esm}/lib/generators/services/k6-clients/k6-clients-generator.d.ts +5 -4
  219. package/esm/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
  220. package/esm/lib/generators/services/k6-clients/k6-clients-generator.js +11 -5
  221. package/{types → esm}/lib/generators/services/k6-clients/models.d.ts +8 -7
  222. package/esm/lib/generators/services/k6-clients/models.d.ts.map +1 -0
  223. package/esm/lib/generators/services/k6-clients/models.js +62 -3
  224. package/{types → esm}/lib/generators/services/k6-clients/refs.d.ts +5 -4
  225. package/esm/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
  226. package/esm/lib/generators/services/k6-clients/refs.js +1 -1
  227. package/{types → esm}/lib/import-collection.d.ts +4 -3
  228. package/esm/lib/import-collection.d.ts.map +1 -0
  229. package/esm/lib/import-collection.js +37 -6
  230. package/{types → esm}/lib/utils.d.ts +3 -2
  231. package/esm/lib/utils.d.ts.map +1 -0
  232. package/esm/lib/utils.js +4 -1
  233. package/esm/package.json +3 -0
  234. package/package.json +23 -33
  235. package/script/index.d.ts +8 -0
  236. package/script/index.d.ts.map +1 -0
  237. package/script/index.js +10 -0
  238. package/script/lib/assets.d.ts +2 -0
  239. package/script/lib/assets.d.ts.map +1 -0
  240. package/script/lib/assets.js +9 -0
  241. package/script/lib/ast/_index.d.ts +39 -0
  242. package/script/lib/ast/_index.d.ts.map +1 -0
  243. package/script/lib/ast/_index.js +108 -0
  244. package/script/lib/ast/common.d.ts +2 -0
  245. package/script/lib/ast/common.d.ts.map +1 -0
  246. package/script/lib/ast/index.d.ts +2 -0
  247. package/script/lib/ast/index.d.ts.map +1 -0
  248. package/{cjs → script}/lib/ast/index.js +1 -1
  249. package/script/lib/ast/node.d.ts +5 -0
  250. package/script/lib/ast/node.d.ts.map +1 -0
  251. package/script/lib/ast/nodes/argument.d.ts +18 -0
  252. package/script/lib/ast/nodes/argument.d.ts.map +1 -0
  253. package/script/lib/ast/nodes/argument.js +26 -0
  254. package/script/lib/ast/nodes/array-type.d.ts +20 -0
  255. package/script/lib/ast/nodes/array-type.d.ts.map +1 -0
  256. package/{cjs → script}/lib/ast/nodes/array-type.js +17 -5
  257. package/script/lib/ast/nodes/arrow-function.d.ts +30 -0
  258. package/script/lib/ast/nodes/arrow-function.d.ts.map +1 -0
  259. package/{cjs → script}/lib/ast/nodes/arrow-function.js +45 -9
  260. package/script/lib/ast/nodes/call.d.ts +21 -0
  261. package/script/lib/ast/nodes/call.d.ts.map +1 -0
  262. package/script/lib/ast/nodes/call.js +38 -0
  263. package/script/lib/ast/nodes/class.d.ts +42 -0
  264. package/script/lib/ast/nodes/class.d.ts.map +1 -0
  265. package/{cjs → script}/lib/ast/nodes/class.js +68 -14
  266. package/script/lib/ast/nodes/constructor-parameter.d.ts +20 -0
  267. package/script/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
  268. package/{cjs → script}/lib/ast/nodes/constructor-parameter.js +21 -9
  269. package/script/lib/ast/nodes/constructor.d.ts +26 -0
  270. package/script/lib/ast/nodes/constructor.d.ts.map +1 -0
  271. package/{cjs → script}/lib/ast/nodes/constructor.js +34 -10
  272. package/script/lib/ast/nodes/decorator.d.ts +23 -0
  273. package/script/lib/ast/nodes/decorator.d.ts.map +1 -0
  274. package/{cjs → script}/lib/ast/nodes/decorator.js +19 -7
  275. package/script/lib/ast/nodes/doc-tag.d.ts +74 -0
  276. package/script/lib/ast/nodes/doc-tag.d.ts.map +1 -0
  277. package/{cjs → script}/lib/ast/nodes/doc-tag.js +26 -8
  278. package/script/lib/ast/nodes/doc.d.ts +29 -0
  279. package/script/lib/ast/nodes/doc.d.ts.map +1 -0
  280. package/{cjs → script}/lib/ast/nodes/doc.js +24 -12
  281. package/script/lib/ast/nodes/enum-value.d.ts +22 -0
  282. package/script/lib/ast/nodes/enum-value.d.ts.map +1 -0
  283. package/{cjs → script}/lib/ast/nodes/enum-value.js +23 -5
  284. package/script/lib/ast/nodes/enum.d.ts +27 -0
  285. package/script/lib/ast/nodes/enum.d.ts.map +1 -0
  286. package/{cjs → script}/lib/ast/nodes/enum.js +36 -6
  287. package/script/lib/ast/nodes/export.d.ts +23 -0
  288. package/script/lib/ast/nodes/export.d.ts.map +1 -0
  289. package/{cjs → script}/lib/ast/nodes/export.js +24 -6
  290. package/script/lib/ast/nodes/function-type.d.ts +24 -0
  291. package/script/lib/ast/nodes/function-type.d.ts.map +1 -0
  292. package/{cjs → script}/lib/ast/nodes/function-type.js +27 -9
  293. package/script/lib/ast/nodes/function.d.ts +36 -0
  294. package/script/lib/ast/nodes/function.d.ts.map +1 -0
  295. package/{cjs → script}/lib/ast/nodes/function.js +61 -13
  296. package/script/lib/ast/nodes/generic-parameter.d.ts +26 -0
  297. package/script/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
  298. package/{cjs → script}/lib/ast/nodes/generic-parameter.js +37 -7
  299. package/script/lib/ast/nodes/indexer.d.ts +24 -0
  300. package/script/lib/ast/nodes/indexer.d.ts.map +1 -0
  301. package/script/lib/ast/nodes/indexer.js +56 -0
  302. package/script/lib/ast/nodes/interface.d.ts +37 -0
  303. package/script/lib/ast/nodes/interface.d.ts.map +1 -0
  304. package/{cjs → script}/lib/ast/nodes/interface.js +55 -13
  305. package/script/lib/ast/nodes/intersection-type.d.ts +18 -0
  306. package/script/lib/ast/nodes/intersection-type.d.ts.map +1 -0
  307. package/{cjs → script}/lib/ast/nodes/intersection-type.js +12 -6
  308. package/script/lib/ast/nodes/lookup-type.d.ts +20 -0
  309. package/script/lib/ast/nodes/lookup-type.d.ts.map +1 -0
  310. package/{cjs → script}/lib/ast/nodes/lookup-type.js +18 -6
  311. package/script/lib/ast/nodes/method.d.ts +48 -0
  312. package/script/lib/ast/nodes/method.d.ts.map +1 -0
  313. package/{cjs → script}/lib/ast/nodes/method.js +93 -15
  314. package/script/lib/ast/nodes/object-type.d.ts +21 -0
  315. package/script/lib/ast/nodes/object-type.d.ts.map +1 -0
  316. package/{cjs → script}/lib/ast/nodes/object-type.js +12 -6
  317. package/script/lib/ast/nodes/object.d.ts +20 -0
  318. package/script/lib/ast/nodes/object.d.ts.map +1 -0
  319. package/{cjs → script}/lib/ast/nodes/object.js +12 -6
  320. package/script/lib/ast/nodes/parameter.d.ts +29 -0
  321. package/script/lib/ast/nodes/parameter.d.ts.map +1 -0
  322. package/{cjs → script}/lib/ast/nodes/parameter.js +45 -9
  323. package/script/lib/ast/nodes/property-accessor.d.ts +54 -0
  324. package/script/lib/ast/nodes/property-accessor.d.ts.map +1 -0
  325. package/{cjs → script}/lib/ast/nodes/property-accessor.js +71 -11
  326. package/script/lib/ast/nodes/property.d.ts +85 -0
  327. package/script/lib/ast/nodes/property.d.ts.map +1 -0
  328. package/{cjs → script}/lib/ast/nodes/property.js +96 -20
  329. package/script/lib/ast/nodes/reference.d.ts +65 -0
  330. package/script/lib/ast/nodes/reference.d.ts.map +1 -0
  331. package/{cjs → script}/lib/ast/nodes/reference.js +45 -16
  332. package/script/lib/ast/nodes/string.d.ts +19 -0
  333. package/script/lib/ast/nodes/string.d.ts.map +1 -0
  334. package/{cjs → script}/lib/ast/nodes/string.js +18 -6
  335. package/script/lib/ast/nodes/tuple.d.ts +20 -0
  336. package/script/lib/ast/nodes/tuple.d.ts.map +1 -0
  337. package/{cjs → script}/lib/ast/nodes/tuple.js +17 -5
  338. package/script/lib/ast/nodes/type-alias.d.ts +28 -0
  339. package/script/lib/ast/nodes/type-alias.d.ts.map +1 -0
  340. package/script/lib/ast/nodes/type-alias.js +68 -0
  341. package/script/lib/ast/nodes/typeof.d.ts +19 -0
  342. package/script/lib/ast/nodes/typeof.d.ts.map +1 -0
  343. package/{cjs → script}/lib/ast/nodes/typeof.js +11 -5
  344. package/script/lib/ast/nodes/types.d.ts +19 -0
  345. package/script/lib/ast/nodes/types.d.ts.map +1 -0
  346. package/script/lib/ast/nodes/union-type.d.ts +18 -0
  347. package/script/lib/ast/nodes/union-type.d.ts.map +1 -0
  348. package/{cjs → script}/lib/ast/nodes/union-type.js +12 -6
  349. package/script/lib/ast/nodes/variable.d.ts +29 -0
  350. package/script/lib/ast/nodes/variable.d.ts.map +1 -0
  351. package/script/lib/ast/nodes/variable.js +76 -0
  352. package/script/lib/ast/references/angular.d.ts +58 -0
  353. package/script/lib/ast/references/angular.d.ts.map +1 -0
  354. package/script/lib/ast/references/angular.js +13 -0
  355. package/script/lib/ast/references/easy-network-stub.d.ts +35 -0
  356. package/script/lib/ast/references/easy-network-stub.d.ts.map +1 -0
  357. package/script/lib/ast/references/easy-network-stub.js +10 -0
  358. package/script/lib/ast/references/index.d.ts +6 -0
  359. package/script/lib/ast/references/index.d.ts.map +1 -0
  360. package/script/lib/ast/references/index.js +9 -0
  361. package/script/lib/ast/references/k6.d.ts +25 -0
  362. package/script/lib/ast/references/k6.d.ts.map +1 -0
  363. package/script/lib/ast/references/k6.js +9 -0
  364. package/script/lib/ast/references/rxjs.d.ts +41 -0
  365. package/script/lib/ast/references/rxjs.d.ts.map +1 -0
  366. package/script/lib/ast/references/rxjs.js +9 -0
  367. package/script/lib/ast/references/typescript.d.ts +198 -0
  368. package/script/lib/ast/references/typescript.d.ts.map +1 -0
  369. package/script/lib/ast/references/typescript.js +34 -0
  370. package/script/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
  371. package/script/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
  372. package/{cjs → script}/lib/ast/utils/get-type-script-builder-options.js +4 -4
  373. package/script/lib/ast/utils/to-ts-node.d.ts +9 -0
  374. package/script/lib/ast/utils/to-ts-node.d.ts.map +1 -0
  375. package/script/lib/ast/utils/to-ts-node.js +23 -0
  376. package/script/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
  377. package/script/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
  378. package/{cjs → script}/lib/ast/utils/write-ts-generic-parameters.js +2 -2
  379. package/script/lib/ast/utils/write-ts-members.d.ts +6 -0
  380. package/script/lib/ast/utils/write-ts-members.d.ts.map +1 -0
  381. package/script/lib/ast/utils/write-ts-members.js +17 -0
  382. package/script/lib/ast/utils/write-ts-nodes.d.ts +7 -0
  383. package/script/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
  384. package/{cjs → script}/lib/ast/utils/write-ts-nodes.js +2 -2
  385. package/script/lib/ast/utils/write-ts-parameters.d.ts +4 -0
  386. package/script/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
  387. package/{cjs → script}/lib/ast/utils/write-ts-parameters.js +2 -2
  388. package/script/lib/common-results.d.ts +25 -0
  389. package/script/lib/common-results.d.ts.map +1 -0
  390. package/script/lib/config.d.ts +61 -0
  391. package/script/lib/config.d.ts.map +1 -0
  392. package/script/lib/file-builder.d.ts +34 -0
  393. package/script/lib/file-builder.d.ts.map +1 -0
  394. package/{cjs → script}/lib/file-builder.js +21 -9
  395. package/script/lib/generators/file-generator.d.ts +8 -0
  396. package/script/lib/generators/file-generator.d.ts.map +1 -0
  397. package/{cjs → script}/lib/generators/file-generator.js +2 -2
  398. package/script/lib/generators/index.d.ts +7 -0
  399. package/script/lib/generators/index.d.ts.map +1 -0
  400. package/script/lib/generators/index.js +9 -0
  401. package/script/lib/generators/models/index.d.ts +4 -0
  402. package/script/lib/generators/models/index.d.ts.map +1 -0
  403. package/script/lib/generators/models/index.js +6 -0
  404. package/script/lib/generators/models/model-generator.d.ts +46 -0
  405. package/script/lib/generators/models/model-generator.d.ts.map +1 -0
  406. package/{cjs → script}/lib/generators/models/model-generator.js +63 -63
  407. package/script/lib/generators/models/models-generator.d.ts +23 -0
  408. package/script/lib/generators/models/models-generator.d.ts.map +1 -0
  409. package/{cjs → script}/lib/generators/models/models-generator.js +17 -11
  410. package/script/lib/generators/models/models.d.ts +65 -0
  411. package/script/lib/generators/models/models.d.ts.map +1 -0
  412. package/{cjs → script}/lib/generators/models/models.js +2 -2
  413. package/script/lib/generators/services/angular-services/angular-service-generator.d.ts +39 -0
  414. package/script/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
  415. package/{cjs → script}/lib/generators/services/angular-services/angular-service-generator.js +62 -60
  416. package/script/lib/generators/services/angular-services/angular-services-generator.d.ts +32 -0
  417. package/script/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
  418. package/{cjs → script}/lib/generators/services/angular-services/angular-services-generator.js +67 -60
  419. package/script/lib/generators/services/angular-services/index.d.ts +4 -0
  420. package/script/lib/generators/services/angular-services/index.d.ts.map +1 -0
  421. package/script/lib/generators/services/angular-services/index.js +6 -0
  422. package/script/lib/generators/services/angular-services/models.d.ts +142 -0
  423. package/script/lib/generators/services/angular-services/models.d.ts.map +1 -0
  424. package/script/lib/generators/services/angular-services/models.js +89 -0
  425. package/script/lib/generators/services/angular-services/refs.d.ts +63 -0
  426. package/script/lib/generators/services/angular-services/refs.d.ts.map +1 -0
  427. package/script/lib/generators/services/angular-services/refs.js +30 -0
  428. package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +33 -0
  429. package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
  430. package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +30 -29
  431. package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +29 -0
  432. package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
  433. package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +39 -32
  434. package/script/lib/generators/services/easy-network-stub/index.d.ts +4 -0
  435. package/script/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
  436. package/script/lib/generators/services/easy-network-stub/index.js +6 -0
  437. package/script/lib/generators/services/easy-network-stub/models.d.ts +78 -0
  438. package/script/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
  439. package/{cjs → script}/lib/generators/services/easy-network-stub/models.js +6 -6
  440. package/script/lib/generators/services/easy-network-stub/refs.d.ts +82 -0
  441. package/script/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
  442. package/script/lib/generators/services/easy-network-stub/refs.js +30 -0
  443. package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +33 -0
  444. package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
  445. package/{cjs → script}/lib/generators/services/fetch-clients/fetch-client-generator.js +41 -43
  446. package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +27 -0
  447. package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
  448. package/{cjs → script}/lib/generators/services/fetch-clients/fetch-clients-generator.js +25 -19
  449. package/script/lib/generators/services/fetch-clients/index.d.ts +4 -0
  450. package/script/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
  451. package/script/lib/generators/services/fetch-clients/index.js +6 -0
  452. package/script/lib/generators/services/fetch-clients/models.d.ts +84 -0
  453. package/script/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
  454. package/{cjs → script}/lib/generators/services/fetch-clients/models.js +2 -2
  455. package/script/lib/generators/services/fetch-clients/refs.d.ts +30 -0
  456. package/script/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
  457. package/script/lib/generators/services/fetch-clients/refs.js +16 -0
  458. package/script/lib/generators/services/k6-clients/index.d.ts +4 -0
  459. package/script/lib/generators/services/k6-clients/index.d.ts.map +1 -0
  460. package/script/lib/generators/services/k6-clients/index.js +6 -0
  461. package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts +40 -0
  462. package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
  463. package/{cjs → script}/lib/generators/services/k6-clients/k6-client-generator.js +75 -71
  464. package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts +28 -0
  465. package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
  466. package/{cjs → script}/lib/generators/services/k6-clients/k6-clients-generator.js +30 -24
  467. package/script/lib/generators/services/k6-clients/models.d.ts +119 -0
  468. package/script/lib/generators/services/k6-clients/models.d.ts.map +1 -0
  469. package/script/lib/generators/services/k6-clients/models.js +87 -0
  470. package/script/lib/generators/services/k6-clients/refs.d.ts +21 -0
  471. package/script/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
  472. package/script/lib/generators/services/k6-clients/refs.js +12 -0
  473. package/script/lib/import-collection.d.ts +42 -0
  474. package/script/lib/import-collection.d.ts.map +1 -0
  475. package/{cjs → script}/lib/import-collection.js +43 -12
  476. package/script/lib/utils.d.ts +8 -0
  477. package/script/lib/utils.d.ts.map +1 -0
  478. package/{cjs → script}/lib/utils.js +6 -3
  479. package/script/package.json +3 -0
  480. package/cjs/index.js +0 -10
  481. package/cjs/lib/ast/_index.js +0 -108
  482. package/cjs/lib/ast/nodes/argument.js +0 -20
  483. package/cjs/lib/ast/nodes/call.js +0 -26
  484. package/cjs/lib/ast/nodes/indexer.js +0 -32
  485. package/cjs/lib/ast/nodes/type-alias.js +0 -38
  486. package/cjs/lib/ast/nodes/variable.js +0 -40
  487. package/cjs/lib/ast/references/angular.js +0 -13
  488. package/cjs/lib/ast/references/easy-network-stub.js +0 -10
  489. package/cjs/lib/ast/references/index.js +0 -9
  490. package/cjs/lib/ast/references/k6.js +0 -9
  491. package/cjs/lib/ast/references/rxjs.js +0 -9
  492. package/cjs/lib/ast/references/typescript.js +0 -34
  493. package/cjs/lib/ast/utils/to-ts-node.js +0 -23
  494. package/cjs/lib/ast/utils/write-ts-members.js +0 -17
  495. package/cjs/lib/generators/index.js +0 -9
  496. package/cjs/lib/generators/models/index.js +0 -6
  497. package/cjs/lib/generators/services/angular-services/index.js +0 -6
  498. package/cjs/lib/generators/services/angular-services/models.js +0 -30
  499. package/cjs/lib/generators/services/angular-services/refs.js +0 -28
  500. package/cjs/lib/generators/services/easy-network-stub/index.js +0 -6
  501. package/cjs/lib/generators/services/easy-network-stub/refs.js +0 -28
  502. package/cjs/lib/generators/services/fetch-clients/index.js +0 -6
  503. package/cjs/lib/generators/services/fetch-clients/refs.js +0 -16
  504. package/cjs/lib/generators/services/k6-clients/index.js +0 -6
  505. package/cjs/lib/generators/services/k6-clients/models.js +0 -28
  506. package/cjs/lib/generators/services/k6-clients/refs.js +0 -12
  507. package/cjs/package.json +0 -1
  508. package/types/index.d.ts +0 -7
  509. package/types/lib/ast/index.d.ts +0 -1
  510. package/types/lib/ast/nodes/types.d.ts +0 -18
  511. package/types/lib/ast/references/index.d.ts +0 -5
  512. package/types/lib/ast/utils/get-type-script-builder-options.d.ts +0 -3
  513. package/types/lib/ast/utils/write-ts-generic-parameters.d.ts +0 -3
  514. package/types/lib/ast/utils/write-ts-parameters.d.ts +0 -3
  515. package/types/lib/generators/index.d.ts +0 -6
  516. package/types/lib/generators/models/index.d.ts +0 -3
  517. package/types/lib/generators/services/angular-services/index.d.ts +0 -3
  518. package/types/lib/generators/services/easy-network-stub/index.d.ts +0 -3
  519. package/types/lib/generators/services/fetch-clients/index.d.ts +0 -3
  520. package/types/lib/generators/services/k6-clients/index.d.ts +0 -3
  521. /package/{cjs → script}/lib/ast/common.js +0 -0
  522. /package/{cjs → script}/lib/ast/node.js +0 -0
  523. /package/{cjs → script}/lib/ast/nodes/types.js +0 -0
  524. /package/{cjs → script}/lib/common-results.js +0 -0
  525. /package/{cjs → script}/lib/config.js +0 -0
@@ -3,23 +3,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeScriptFileBuilder = void 0;
4
4
  exports.isTypeScriptAppendValue = isTypeScriptAppendValue;
5
5
  const tslib_1 = require("tslib");
6
- const path_1 = require("path");
6
+ const node_path_1 = require("node:path");
7
7
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
8
8
  const core_1 = require("@goast/core");
9
- const node_1 = require("./ast/node");
10
- const config_1 = require("./config");
11
- const import_collection_1 = require("./import-collection");
9
+ const node_js_1 = require("./ast/node.js");
10
+ const config_js_1 = require("./config.js");
11
+ const import_collection_js_1 = require("./import-collection.js");
12
12
  function isTypeScriptAppendValue(value) {
13
- return (0, core_1.isAppendValue)(value) || value instanceof node_1.TsNode;
13
+ return (0, core_1.isAppendValue)(value) || value instanceof node_js_1.TsNode;
14
14
  }
15
15
  class TypeScriptFileBuilder extends core_1.SourceBuilder {
16
16
  get options() {
17
17
  return super.options;
18
18
  }
19
19
  constructor(filePath, options) {
20
- super(options !== null && options !== void 0 ? options : config_1.defaultTypeScriptGeneratorConfig);
20
+ super(options !== null && options !== void 0 ? options : config_js_1.defaultTypeScriptGeneratorConfig);
21
+ Object.defineProperty(this, "filePath", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "imports", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: void 0
32
+ });
21
33
  this.filePath = filePath;
22
- this.imports = new import_collection_1.ImportExportCollection({
34
+ this.imports = new import_collection_js_1.ImportExportCollection({
23
35
  filePath: filePath,
24
36
  importModuleTransformer: this.options.importModuleTransformer,
25
37
  useSingleQuotes: this.options.useSingleQuotes,
@@ -57,7 +69,7 @@ class TypeScriptFileBuilder extends core_1.SourceBuilder {
57
69
  }
58
70
  appendSingle(value) {
59
71
  super.appendSingle(value);
60
- if (value instanceof node_1.TsNode) {
72
+ if (value instanceof node_js_1.TsNode) {
61
73
  value.write(this);
62
74
  }
63
75
  }
@@ -73,7 +85,7 @@ class TypeScriptFileBuilder extends core_1.SourceBuilder {
73
85
  filePath = this.filePath;
74
86
  if (!filePath)
75
87
  throw new Error('File path is required');
76
- fs_extra_1.default.ensureDirSync((0, path_1.dirname)(filePath));
88
+ fs_extra_1.default.ensureDirSync((0, node_path_1.dirname)(filePath));
77
89
  fs_extra_1.default.writeFileSync(filePath, this.toString());
78
90
  }
79
91
  static generate(options) {
@@ -0,0 +1,8 @@
1
+ import type { OpenApiGenerationProviderContext, OpenApiGeneratorInput, SourceBuilder } from '@goast/core';
2
+ import { ts } from '../ast/index.js';
3
+ import type { TypeScriptGeneratorConfig } from '../config.js';
4
+ export declare abstract class TypeScriptFileGenerator<TContext extends OpenApiGenerationProviderContext<OpenApiGeneratorInput, TypeScriptGeneratorConfig>, TOutput> {
5
+ abstract generate(context: TContext): TOutput;
6
+ protected getAnyType(context: TContext): ts.Reference<SourceBuilder>;
7
+ }
8
+ //# sourceMappingURL=file-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-generator.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/file-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1G,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAE9D,8BAAsB,uBAAuB,CAC3C,QAAQ,SAAS,gCAAgC,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,EACnG,OAAO;aAES,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO;IAEpD,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;CAGrE"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeScriptFileGenerator = void 0;
4
- const ast_1 = require("../ast");
4
+ const index_js_1 = require("../ast/index.js");
5
5
  class TypeScriptFileGenerator {
6
6
  getAnyType(context) {
7
- return context.config.preferUnknown ? ast_1.ts.refs.unknown() : ast_1.ts.refs.any();
7
+ return context.config.preferUnknown ? index_js_1.ts.refs.unknown() : index_js_1.ts.refs.any();
8
8
  }
9
9
  }
10
10
  exports.TypeScriptFileGenerator = TypeScriptFileGenerator;
@@ -0,0 +1,7 @@
1
+ export * from './file-generator.js';
2
+ export * from './models/index.js';
3
+ export * from './services/angular-services/index.js';
4
+ export * from './services/easy-network-stub/index.js';
5
+ export * from './services/fetch-clients/index.js';
6
+ export * from './services/k6-clients/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./file-generator.js"), exports);
5
+ tslib_1.__exportStar(require("./models/index.js"), exports);
6
+ tslib_1.__exportStar(require("./services/angular-services/index.js"), exports);
7
+ tslib_1.__exportStar(require("./services/easy-network-stub/index.js"), exports);
8
+ tslib_1.__exportStar(require("./services/fetch-clients/index.js"), exports);
9
+ tslib_1.__exportStar(require("./services/k6-clients/index.js"), exports);
@@ -0,0 +1,4 @@
1
+ export * from './model-generator.js';
2
+ export * from './models.js';
3
+ export * from './models-generator.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/generators/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./model-generator.js"), exports);
5
+ tslib_1.__exportStar(require("./models.js"), exports);
6
+ tslib_1.__exportStar(require("./models-generator.js"), exports);
@@ -0,0 +1,46 @@
1
+ import { type ApiSchema, type AppendValueGroup, type ArrayLikeApiSchema, type CombinedLikeApiSchema, type Nullable, type ObjectLikeApiSchema, type StringLikeApiSchema } from '@goast/core';
2
+ import type { TypeScriptModelGeneratorContext, TypeScriptModelGeneratorOutput } from './models.js';
3
+ import { ts } from '../../ast/index.js';
4
+ import type { TypeScriptComponentOutputKind } from '../../common-results.js';
5
+ import { TypeScriptFileBuilder } from '../../file-builder.js';
6
+ import { TypeScriptFileGenerator } from '../file-generator.js';
7
+ type Context = TypeScriptModelGeneratorContext;
8
+ type Output = TypeScriptModelGeneratorOutput;
9
+ type Builder = TypeScriptFileBuilder;
10
+ export interface TypeScriptModelGenerator<TOutput extends Output = Output> {
11
+ generate(ctx: Context): TOutput;
12
+ }
13
+ export declare class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator<Context, Output> implements TypeScriptModelGenerator {
14
+ generate(ctx: Context): Output;
15
+ protected getNodeKind(node: unknown): TypeScriptComponentOutputKind | undefined;
16
+ protected getFileContent(ctx: Context): AppendValueGroup<Builder>;
17
+ protected getEnum(ctx: Context): ts.Enum<import("@goast/core").SourceBuilder<never>, never>;
18
+ protected getInterface(ctx: Context, schema: ObjectLikeApiSchema): ts.Interface<Builder, never>;
19
+ protected getTypeAlias(ctx: Context, schema: ApiSchema): ts.TypeAlias<Builder>;
20
+ protected getEnumValuesVariable(ctx: Context, schema: ApiSchema): ts.Variable<Builder>;
21
+ protected getIndexer(ctx: Context, schema: ObjectLikeApiSchema): ts.Indexer<Builder, never> | null;
22
+ protected getProperties(ctx: Context, schema: ObjectLikeApiSchema): (import("../../ast/nodes/property.js").TsAccessorProperty<Builder, ""> | import("../../ast/nodes/property.js").TsSimpleProperty<Builder, "">)[];
23
+ protected getType(ctx: Context, schema: Nullable<ApiSchema>, options?: {
24
+ skipSchemas?: boolean;
25
+ useBaseType?: boolean;
26
+ }): ts.Type<Builder> | null;
27
+ protected getStringType(ctx: Context, schema: StringLikeApiSchema): ts.Type<Builder>;
28
+ protected getArrayType(ctx: Context, schema: ArrayLikeApiSchema): ts.Type<Builder>;
29
+ protected getObjectType(ctx: Context, schema: ObjectLikeApiSchema): ts.Type<Builder>;
30
+ protected getDiscriminatorType(ctx: Context, schema: ApiSchema): ts.Type<Builder>;
31
+ protected getCombinedType(ctx: Context, schema: CombinedLikeApiSchema): ts.Type<Builder>;
32
+ protected getOneOfType(ctx: Context, schema: ApiSchema<'oneOf'>): ts.Type<Builder>;
33
+ protected getMultiType(ctx: Context, schema: ApiSchema<'multi-type'>): ts.Type<Builder>;
34
+ protected shouldGenerateTypeDeclaration(ctx: Context, schema: ApiSchema): boolean;
35
+ protected resolveInterfaceSchema(ctx: Context): ApiSchema<'object'> | undefined;
36
+ protected getDeclarationTypeName(ctx: Context, schema: ApiSchema): string;
37
+ protected getDiscriminatorGenericParamName(ctx: Context, schema: ApiSchema): string;
38
+ protected getDiscriminatorTypeName(ctx: Context, schema: ApiSchema): string;
39
+ protected getBaseTypeName(ctx: Context, schema: ApiSchema): string;
40
+ protected getInheritedSchemas(ctx: Context, schema: ApiSchema): (ApiSchema<import("@goast/core").ApiSchemaKind> & {
41
+ discriminator: NonNullable<ApiSchema["discriminator"]>;
42
+ })[];
43
+ protected getFilePath(ctx: Context, schema: ApiSchema): string;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=model-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-generator.d.ts","sourceRoot":"","sources":["../../../../src/lib/generators/models/model-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EAEd,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAG1B,KAAK,QAAQ,EACb,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EAEzB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,KAAK,OAAO,GAAG,+BAA+B,CAAC;AAC/C,KAAK,MAAM,GAAG,8BAA8B,CAAC;AAC7C,KAAK,OAAO,GAAG,qBAAqB,CAAC;AAErC,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACvE,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;CACjC;AAED,qBAAa,+BAAgC,SAAQ,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAC1F,YAAW,wBAAwB;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAgDrC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,6BAA6B,GAAG,SAAS;IAQ/E,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAkCjE,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO;IAa9B,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB;IAWhE,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;IAmD9E,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAatF,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB;IAW9D,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB;IAcjE,SAAS,CAAC,OAAO,CACf,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GACzD,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI;IAmD1B,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAOpF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAMlF,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAgBpF,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IA+BjF,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAWxF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAOlF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IA2BvF,SAAS,CAAC,6BAA6B,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO;IA+BjF,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS;IAU/E,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM;IAIzE,SAAS,CAAC,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM;IAInF,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM;IAI3E,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM;IAIlE,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;;;IAM7D,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM;CAO/D"}
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultTypeScriptModelGenerator = void 0;
4
- const path_1 = require("path");
4
+ const node_path_1 = require("node:path");
5
5
  const core_1 = require("@goast/core");
6
- const ast_1 = require("../../ast");
7
- const file_builder_1 = require("../../file-builder");
8
- const file_generator_1 = require("../file-generator");
9
- class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGenerator {
6
+ const index_js_1 = require("../../ast/index.js");
7
+ const file_builder_js_1 = require("../../file-builder.js");
8
+ const file_generator_js_1 = require("../file-generator.js");
9
+ class DefaultTypeScriptModelGenerator extends file_generator_js_1.TypeScriptFileGenerator {
10
10
  generate(ctx) {
11
11
  if (this.shouldGenerateTypeDeclaration(ctx, ctx.schema)) {
12
12
  const name = this.getDeclarationTypeName(ctx, ctx.schema);
13
13
  const filePath = this.getFilePath(ctx, ctx.schema);
14
14
  const fileContent = this.getFileContent(ctx);
15
- file_builder_1.TypeScriptFileBuilder.generate({
15
+ file_builder_js_1.TypeScriptFileBuilder.generate({
16
16
  logName: `model ${name}`,
17
17
  filePath,
18
18
  options: ctx.config,
@@ -28,20 +28,20 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
28
28
  kind: 'file',
29
29
  name,
30
30
  modulePath: filePath,
31
- type: node instanceof ast_1.ts.Interface || node instanceof ast_1.ts.TypeAlias ? 'type-import' : 'import',
31
+ type: node instanceof index_js_1.ts.Interface || node instanceof index_js_1.ts.TypeAlias ? 'type-import' : 'import',
32
32
  },
33
33
  ],
34
34
  additionalExports: exports
35
35
  .filter((x) => x.name !== name)
36
36
  .map((x) => ({
37
37
  name: x.name,
38
- type: x instanceof ast_1.ts.TypeAlias || x instanceof ast_1.ts.Interface ? 'type-export' : 'export',
38
+ type: x instanceof index_js_1.ts.TypeAlias || x instanceof index_js_1.ts.Interface ? 'type-export' : 'export',
39
39
  })),
40
40
  kind: this.getNodeKind(node),
41
41
  };
42
42
  }
43
43
  else {
44
- const builder = new file_builder_1.TypeScriptFileBuilder(undefined, ctx.config);
44
+ const builder = new file_builder_js_1.TypeScriptFileBuilder(undefined, ctx.config);
45
45
  builder.append(this.getType(ctx, ctx.schema));
46
46
  const imports = builder.imports.imports;
47
47
  builder.imports.clear();
@@ -49,13 +49,13 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
49
49
  }
50
50
  }
51
51
  getNodeKind(node) {
52
- if (node instanceof ast_1.ts.Interface)
52
+ if (node instanceof index_js_1.ts.Interface)
53
53
  return 'interface';
54
- if (node instanceof ast_1.ts.TypeAlias)
54
+ if (node instanceof index_js_1.ts.TypeAlias)
55
55
  return 'type';
56
- if (node instanceof ast_1.ts.Enum)
56
+ if (node instanceof index_js_1.ts.Enum)
57
57
  return 'enum';
58
- if (node instanceof ast_1.ts.Class)
58
+ if (node instanceof index_js_1.ts.Class)
59
59
  return 'class';
60
60
  return undefined;
61
61
  }
@@ -73,7 +73,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
73
73
  content.values.push(this.getEnum(ctx));
74
74
  }
75
75
  else if (ctx.schema.discriminator && Object.keys(ctx.schema.discriminator.mapping).length > 0) {
76
- content.values.push(ast_1.ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), ast_1.ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => ast_1.ts.string(x)))), ast_1.ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, { skipSchemas: true })) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
76
+ content.values.push(index_js_1.ts.typeAlias(this.getDiscriminatorTypeName(ctx, ctx.schema), index_js_1.ts.unionType(Object.keys(ctx.schema.discriminator.mapping).map((x) => index_js_1.ts.string(x)))), index_js_1.ts.typeAlias(this.getBaseTypeName(ctx, ctx.schema), (_a = this.getType(ctx, ctx.schema, { skipSchemas: true })) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { export: true }), this.getTypeAlias(ctx, ctx.schema));
77
77
  }
78
78
  else {
79
79
  content.values.push(this.getTypeAlias(ctx, ctx.schema));
@@ -85,21 +85,21 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
85
85
  }
86
86
  getEnum(ctx) {
87
87
  var _a, _b;
88
- return ast_1.ts.enum(this.getDeclarationTypeName(ctx, ctx.schema), {
89
- doc: ast_1.ts.doc({
88
+ return index_js_1.ts.enum(this.getDeclarationTypeName(ctx, ctx.schema), {
89
+ doc: index_js_1.ts.doc({
90
90
  description: ctx.schema.description,
91
- tags: [ctx.schema.deprecated ? ast_1.ts.docTag('deprecated') : null],
91
+ tags: [ctx.schema.deprecated ? index_js_1.ts.docTag('deprecated') : null],
92
92
  }),
93
93
  export: true,
94
- members: ((_b = (_a = ctx.schema.enum) === null || _a === void 0 ? void 0 : _a.map((x) => String(x))) !== null && _b !== void 0 ? _b : []).map((x) => ast_1.ts.enumValue((0, core_1.toCasing)(x, ctx.config.enumValueNameCasing), { value: ast_1.ts.string(x) })),
94
+ members: ((_b = (_a = ctx.schema.enum) === null || _a === void 0 ? void 0 : _a.map((x) => String(x))) !== null && _b !== void 0 ? _b : []).map((x) => index_js_1.ts.enumValue((0, core_1.toCasing)(x, ctx.config.enumValueNameCasing), { value: index_js_1.ts.string(x) })),
95
95
  });
96
96
  }
97
97
  getInterface(ctx, schema) {
98
- return ast_1.ts.interface(this.getDeclarationTypeName(ctx, ctx.schema), {
98
+ return index_js_1.ts.interface(this.getDeclarationTypeName(ctx, ctx.schema), {
99
99
  export: true,
100
- doc: ast_1.ts.doc({
100
+ doc: index_js_1.ts.doc({
101
101
  description: schema.description,
102
- tags: [ctx.schema.deprecated ? ast_1.ts.docTag('deprecated') : null],
102
+ tags: [ctx.schema.deprecated ? index_js_1.ts.docTag('deprecated') : null],
103
103
  }),
104
104
  members: [...this.getProperties(ctx, schema), this.getIndexer(ctx, schema)],
105
105
  });
@@ -107,16 +107,16 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
107
107
  getTypeAlias(ctx, schema) {
108
108
  var _a;
109
109
  const hasDiscriminator = schema.discriminator && Object.keys(schema.discriminator.mapping).length > 0;
110
- const result = ast_1.ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (hasDiscriminator ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, { skipSchemas: true }))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
110
+ const result = index_js_1.ts.typeAlias(this.getDeclarationTypeName(ctx, schema), (_a = (hasDiscriminator ? this.getDiscriminatorType(ctx, schema) : this.getType(ctx, schema, { skipSchemas: true }))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
111
111
  export: true,
112
- doc: ast_1.ts.doc({
112
+ doc: index_js_1.ts.doc({
113
113
  description: schema.description,
114
- tags: [ctx.schema.deprecated ? ast_1.ts.docTag('deprecated') : null],
114
+ tags: [ctx.schema.deprecated ? index_js_1.ts.docTag('deprecated') : null],
115
115
  }),
116
116
  });
117
117
  if (hasDiscriminator) {
118
118
  const propertyValue = this.getDiscriminatorTypeName(ctx, ctx.schema);
119
- result.generics.push(ast_1.ts.genericParameter(this.getDiscriminatorGenericParamName(ctx, schema), {
119
+ result.generics.push(index_js_1.ts.genericParameter(this.getDiscriminatorGenericParamName(ctx, schema), {
120
120
  constraint: propertyValue,
121
121
  default: propertyValue,
122
122
  }));
@@ -126,19 +126,19 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
126
126
  const fixedProperties = inheritedSchemas.reduce((p, c) => {
127
127
  const mappingValues = Object.entries(c.discriminator.mapping)
128
128
  .filter(([_, value]) => value.id === schema.id)
129
- .map(([key]) => ast_1.ts.string(key));
129
+ .map(([key]) => index_js_1.ts.string(key));
130
130
  if (c.discriminator.propertyName in p) {
131
131
  p[c.discriminator.propertyName].types.push(...mappingValues);
132
132
  }
133
133
  else {
134
- p[c.discriminator.propertyName] = ast_1.ts.unionType(mappingValues);
134
+ p[c.discriminator.propertyName] = index_js_1.ts.unionType(mappingValues);
135
135
  }
136
136
  return p;
137
137
  }, {});
138
- result.type = ast_1.ts.intersectionType([
139
- ast_1.ts.refs.omit([result.type, ast_1.ts.unionType(Object.keys(fixedProperties).map((x) => ast_1.ts.string(x)))]),
140
- ast_1.ts.objectType({
141
- members: Object.entries(fixedProperties).map(([key, value]) => ast_1.ts.property(key, { type: value, readonly: ctx.config.immutableTypes })),
138
+ result.type = index_js_1.ts.intersectionType([
139
+ index_js_1.ts.refs.omit([result.type, index_js_1.ts.unionType(Object.keys(fixedProperties).map((x) => index_js_1.ts.string(x)))]),
140
+ index_js_1.ts.objectType({
141
+ members: Object.entries(fixedProperties).map(([key, value]) => index_js_1.ts.property(key, { type: value, readonly: ctx.config.immutableTypes })),
142
142
  }),
143
143
  ]);
144
144
  }
@@ -147,32 +147,32 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
147
147
  getEnumValuesVariable(ctx, schema) {
148
148
  var _a, _b;
149
149
  const enumTypeName = this.getDeclarationTypeName(ctx, schema);
150
- const values = (_b = (_a = schema.enum) === null || _a === void 0 ? void 0 : _a.map((x) => ast_1.ts.toNode(x))) !== null && _b !== void 0 ? _b : [];
151
- return ast_1.ts.variable((0, core_1.toCasing)(`${enumTypeName}-Values`, ctx.config.constantNameCasing), {
152
- doc: ast_1.ts.doc({
150
+ const values = (_b = (_a = schema.enum) === null || _a === void 0 ? void 0 : _a.map((x) => index_js_1.ts.toNode(x))) !== null && _b !== void 0 ? _b : [];
151
+ return index_js_1.ts.variable((0, core_1.toCasing)(`${enumTypeName}-Values`, ctx.config.constantNameCasing), {
152
+ doc: index_js_1.ts.doc({
153
153
  description: `All possible values of the enum \`${enumTypeName}\`.`,
154
154
  }),
155
155
  export: true,
156
156
  readonly: true,
157
- value: ast_1.ts.tuple(values, { asConst: true }),
157
+ value: index_js_1.ts.tuple(values, { asConst: true }),
158
158
  });
159
159
  }
160
160
  getIndexer(ctx, schema) {
161
161
  var _a;
162
162
  return schema.additionalProperties
163
- ? ast_1.ts.indexer(ast_1.ts.refs.string(), (_a = (schema.additionalProperties === true ? null : this.getType(ctx, schema.additionalProperties))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { readonly: ctx.config.immutableTypes })
163
+ ? index_js_1.ts.indexer(index_js_1.ts.refs.string(), (_a = (schema.additionalProperties === true ? null : this.getType(ctx, schema.additionalProperties))) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), { readonly: ctx.config.immutableTypes })
164
164
  : null;
165
165
  }
166
166
  getProperties(ctx, schema) {
167
167
  return Array.from(schema.properties.values()).map((property) => {
168
- return ast_1.ts.property(property.name, {
169
- doc: ast_1.ts.doc({
168
+ return index_js_1.ts.property(property.name, {
169
+ doc: index_js_1.ts.doc({
170
170
  description: property.schema.description,
171
- tags: [property.schema.deprecated ? ast_1.ts.docTag('deprecated') : null],
171
+ tags: [property.schema.deprecated ? index_js_1.ts.docTag('deprecated') : null],
172
172
  }),
173
173
  readonly: ctx.config.immutableTypes,
174
174
  optional: !schema.required.has(property.name),
175
- type: ast_1.ts.unionType([this.getType(ctx, property.schema), property.schema.nullable ? 'null' : null]),
175
+ type: index_js_1.ts.unionType([this.getType(ctx, property.schema), property.schema.nullable ? 'null' : null]),
176
176
  });
177
177
  });
178
178
  }
@@ -181,7 +181,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
181
181
  return this.getAnyType(ctx);
182
182
  schema = (0, core_1.getSchemaReference)(schema, ['description']);
183
183
  if ((options === null || options === void 0 ? void 0 : options.useBaseType) && ctx.schema.inheritedSchemas.some((x) => x.id === schema.id)) {
184
- return ast_1.ts.reference(this.getBaseTypeName(ctx, schema), this.getFilePath(ctx, schema), {
184
+ return index_js_1.ts.reference(this.getBaseTypeName(ctx, schema), this.getFilePath(ctx, schema), {
185
185
  importType: 'type-import',
186
186
  });
187
187
  }
@@ -189,12 +189,12 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
189
189
  if (schema.id === ctx.schema.id) {
190
190
  return null;
191
191
  }
192
- return ast_1.ts.reference(this.getDeclarationTypeName(ctx, schema), this.getFilePath(ctx, schema), {
192
+ return index_js_1.ts.reference(this.getDeclarationTypeName(ctx, schema), this.getFilePath(ctx, schema), {
193
193
  importType: 'type-import',
194
194
  });
195
195
  }
196
196
  if (schema.enum) {
197
- return ast_1.ts.unionType(schema.enum.map((x) => ast_1.ts.toNode(x)));
197
+ return index_js_1.ts.unionType(schema.enum.map((x) => index_js_1.ts.toNode(x)));
198
198
  }
199
199
  switch (schema.kind) {
200
200
  case 'boolean':
@@ -224,41 +224,41 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
224
224
  }
225
225
  getStringType(ctx, schema) {
226
226
  if (schema.format === 'binary') {
227
- return ast_1.ts.refs.blob();
227
+ return index_js_1.ts.refs.blob();
228
228
  }
229
229
  return 'string';
230
230
  }
231
231
  getArrayType(ctx, schema) {
232
232
  var _a;
233
- return ast_1.ts.arrayType((_a = this.getType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
233
+ return index_js_1.ts.arrayType((_a = this.getType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
234
234
  readonly: ctx.config.immutableTypes,
235
235
  });
236
236
  }
237
237
  getObjectType(ctx, schema) {
238
238
  const parts = [
239
- schema.properties.size > 0 ? ast_1.ts.objectType({ members: this.getProperties(ctx, schema) }) : null,
240
- schema.additionalProperties ? ast_1.ts.objectType({ members: [this.getIndexer(ctx, schema)] }) : null,
239
+ schema.properties.size > 0 ? index_js_1.ts.objectType({ members: this.getProperties(ctx, schema) }) : null,
240
+ schema.additionalProperties ? index_js_1.ts.objectType({ members: [this.getIndexer(ctx, schema)] }) : null,
241
241
  schema.allOf.length > 0 || schema.anyOf.length > 0 ? this.getCombinedType(ctx, schema) : null,
242
242
  ].filter(core_1.notNullish);
243
243
  if (parts.length === 0) {
244
- parts.push(ast_1.ts.objectType({
245
- members: [ast_1.ts.indexer(ast_1.ts.refs.string(), ast_1.ts.refs.never(), { readonly: ctx.config.immutableTypes })],
244
+ parts.push(index_js_1.ts.objectType({
245
+ members: [index_js_1.ts.indexer(index_js_1.ts.refs.string(), index_js_1.ts.refs.never(), { readonly: ctx.config.immutableTypes })],
246
246
  }));
247
247
  }
248
- return ast_1.ts.intersectionType(parts);
248
+ return index_js_1.ts.intersectionType(parts);
249
249
  }
250
250
  getDiscriminatorType(ctx, schema) {
251
251
  if (schema.discriminator && Object.keys(schema.discriminator.mapping).length > 0) {
252
252
  const discriminator = schema.discriminator;
253
- return ast_1.ts.intersectionType([
253
+ return index_js_1.ts.intersectionType([
254
254
  this.getBaseTypeName(ctx, schema),
255
- ast_1.ts.lookupType(ast_1.ts.objectType({
256
- members: Object.entries(discriminator.mapping).map(([key, value]) => ast_1.ts.property(key, {
257
- type: ast_1.ts.intersectionType([
258
- ast_1.ts.objectType({
255
+ index_js_1.ts.lookupType(index_js_1.ts.objectType({
256
+ members: Object.entries(discriminator.mapping).map(([key, value]) => index_js_1.ts.property(key, {
257
+ type: index_js_1.ts.intersectionType([
258
+ index_js_1.ts.objectType({
259
259
  members: [
260
- ast_1.ts.property(discriminator.propertyName, {
261
- type: ast_1.ts.string(key),
260
+ index_js_1.ts.property(discriminator.propertyName, {
261
+ type: index_js_1.ts.string(key),
262
262
  readonly: ctx.config.immutableTypes,
263
263
  }),
264
264
  ],
@@ -270,7 +270,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
270
270
  ]);
271
271
  }
272
272
  else {
273
- return ast_1.ts.refs.unknown();
273
+ return index_js_1.ts.refs.unknown();
274
274
  }
275
275
  }
276
276
  getCombinedType(ctx, schema) {
@@ -278,22 +278,22 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
278
278
  return this.getAnyType(ctx);
279
279
  }
280
280
  const useBaseType = schema.id === ctx.schema.id;
281
- return ast_1.ts.intersectionType([
281
+ return index_js_1.ts.intersectionType([
282
282
  ...schema.allOf.map((x) => this.getType(ctx, x, { useBaseType })),
283
- ...schema.anyOf.map((x) => ast_1.ts.reference('Partial', null, { generics: [this.getType(ctx, x, { useBaseType })] })),
283
+ ...schema.anyOf.map((x) => index_js_1.ts.reference('Partial', null, { generics: [this.getType(ctx, x, { useBaseType })] })),
284
284
  ]);
285
285
  }
286
286
  getOneOfType(ctx, schema) {
287
287
  if (schema.oneOf.length === 0) {
288
288
  return this.getAnyType(ctx);
289
289
  }
290
- return ast_1.ts.unionType(schema.oneOf.map((x) => this.getType(ctx, x)));
290
+ return index_js_1.ts.unionType(schema.oneOf.map((x) => this.getType(ctx, x)));
291
291
  }
292
292
  getMultiType(ctx, schema) {
293
293
  if (schema.type.length === 0) {
294
294
  return this.getAnyType(ctx);
295
295
  }
296
- return ast_1.ts.unionType(schema.type.map((x) => {
296
+ return index_js_1.ts.unionType(schema.type.map((x) => {
297
297
  switch (x) {
298
298
  case 'string':
299
299
  return this.getStringType(ctx, schema);
@@ -364,7 +364,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
364
364
  }
365
365
  getFilePath(ctx, schema) {
366
366
  var _a;
367
- return (0, path_1.resolve)(ctx.config.outputDir, ctx.config.modelsDir, `${(0, core_1.toCasing)(schema.name, (_a = ctx.config.modelFileNameCasing) !== null && _a !== void 0 ? _a : ctx.config.fileNameCasing)}.ts`);
367
+ return (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.modelsDir, `${(0, core_1.toCasing)(schema.name, (_a = ctx.config.modelFileNameCasing) !== null && _a !== void 0 ? _a : ctx.config.fileNameCasing)}.ts`);
368
368
  }
369
369
  }
370
370
  exports.DefaultTypeScriptModelGenerator = DefaultTypeScriptModelGenerator;
@@ -0,0 +1,23 @@
1
+ import { type ApiSchema, type AppendValueGroup, Factory, type OpenApiGeneratorContext, OpenApiSchemasGenerationProviderBase } from '@goast/core';
2
+ import { type TypeScriptModelGenerator } from './model-generator.js';
3
+ import { type TypeScriptModelGeneratorOutput, type TypeScriptModelsGeneratorConfig, type TypeScriptModelsGeneratorContext, type TypeScriptModelsGeneratorInput, type TypeScriptModelsGeneratorOutput } from './models.js';
4
+ import { TypeScriptFileBuilder } from '../../file-builder.js';
5
+ type Input = TypeScriptModelsGeneratorInput;
6
+ type Output = TypeScriptModelsGeneratorOutput;
7
+ type Config = TypeScriptModelsGeneratorConfig;
8
+ type SchemaOutput = TypeScriptModelGeneratorOutput;
9
+ type Context = TypeScriptModelsGeneratorContext;
10
+ export declare class TypeScriptModelsGenerator extends OpenApiSchemasGenerationProviderBase<Input, Output, Config, SchemaOutput, Context> {
11
+ private readonly _modelGeneratorFactory;
12
+ constructor(modelGeneratorFactory?: Factory<TypeScriptModelGenerator, []>);
13
+ protected initResult(): Output;
14
+ protected buildContext(context: OpenApiGeneratorContext<TypeScriptModelsGeneratorInput>, config?: Partial<Config> | undefined): Context;
15
+ onGenerate(ctx: Context): Output;
16
+ protected generateSchema(ctx: Context, schema: ApiSchema): SchemaOutput;
17
+ protected addSchemaResult(ctx: Context, schema: ApiSchema, result: SchemaOutput): void;
18
+ protected generateIndexFile(ctx: Context): string | null;
19
+ protected getIndexFilePath(ctx: Context): string | null;
20
+ protected getIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=models-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-generator.d.ts","sourceRoot":"","sources":["../../../../src/lib/generators/models/models-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,gBAAgB,EAErB,OAAO,EACP,KAAK,uBAAuB,EAC5B,oCAAoC,EACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,KAAK,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACrC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,KAAK,KAAK,GAAG,8BAA8B,CAAC;AAC5C,KAAK,MAAM,GAAG,+BAA+B,CAAC;AAC9C,KAAK,MAAM,GAAG,+BAA+B,CAAC;AAC9C,KAAK,YAAY,GAAG,8BAA8B,CAAC;AACnD,KAAK,OAAO,GAAG,gCAAgC,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,oCAAoC,CACjF,KAAK,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,OAAO,CACR;IACC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAwC;gBAEnE,qBAAqB,CAAC,EAAE,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;cAKtD,UAAU,IAAI,MAAM;cASpB,YAAY,CAC7B,OAAO,EAAE,uBAAuB,CAAC,8BAA8B,CAAC,EAChE,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,GACnC,OAAO;IAIM,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;cAM7B,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,YAAY;cAQ7D,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAI/F,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAWxD,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAIvD,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;CAgBrF"}
@@ -1,16 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TypeScriptModelsGenerator = void 0;
4
- const path_1 = require("path");
4
+ const node_path_1 = require("node:path");
5
5
  const core_1 = require("@goast/core");
6
- const model_generator_1 = require("./model-generator");
7
- const models_1 = require("./models");
8
- const ast_1 = require("../../ast");
9
- const file_builder_1 = require("../../file-builder");
6
+ const model_generator_js_1 = require("./model-generator.js");
7
+ const models_js_1 = require("./models.js");
8
+ const index_js_1 = require("../../ast/index.js");
9
+ const file_builder_js_1 = require("../../file-builder.js");
10
10
  class TypeScriptModelsGenerator extends core_1.OpenApiSchemasGenerationProviderBase {
11
11
  constructor(modelGeneratorFactory) {
12
12
  super();
13
- this._modelGeneratorFactory = modelGeneratorFactory !== null && modelGeneratorFactory !== void 0 ? modelGeneratorFactory : core_1.Factory.fromValue(new model_generator_1.DefaultTypeScriptModelGenerator());
13
+ Object.defineProperty(this, "_modelGeneratorFactory", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ this._modelGeneratorFactory = modelGeneratorFactory !== null && modelGeneratorFactory !== void 0 ? modelGeneratorFactory : core_1.Factory.fromValue(new model_generator_js_1.DefaultTypeScriptModelGenerator());
14
20
  }
15
21
  initResult() {
16
22
  return {
@@ -21,7 +27,7 @@ class TypeScriptModelsGenerator extends core_1.OpenApiSchemasGenerationProviderB
21
27
  };
22
28
  }
23
29
  buildContext(context, config) {
24
- return this.getProviderContext(context, config, models_1.defaultTypeScriptModelsGeneratorConfig);
30
+ return this.getProviderContext(context, config, models_js_1.defaultTypeScriptModelsGeneratorConfig);
25
31
  }
26
32
  onGenerate(ctx) {
27
33
  const output = super.onGenerate(ctx);
@@ -40,7 +46,7 @@ class TypeScriptModelsGenerator extends core_1.OpenApiSchemasGenerationProviderB
40
46
  }
41
47
  generateIndexFile(ctx) {
42
48
  const filePath = this.getIndexFilePath(ctx);
43
- file_builder_1.TypeScriptFileBuilder.tryGenerate({
49
+ file_builder_js_1.TypeScriptFileBuilder.tryGenerate({
44
50
  logName: 'model index file',
45
51
  filePath,
46
52
  options: ctx.config,
@@ -49,7 +55,7 @@ class TypeScriptModelsGenerator extends core_1.OpenApiSchemasGenerationProviderB
49
55
  return filePath;
50
56
  }
51
57
  getIndexFilePath(ctx) {
52
- return ctx.config.modelsIndexFile ? (0, path_1.resolve)(ctx.config.outputDir, ctx.config.modelsIndexFile) : null;
58
+ return ctx.config.modelsIndexFile ? (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.modelsIndexFile) : null;
53
59
  }
54
60
  getIndexFileContent(ctx) {
55
61
  return (0, core_1.appendValueGroup)(Object.values(ctx.output.typescript.models).flatMap((x) => {
@@ -58,10 +64,10 @@ class TypeScriptModelsGenerator extends core_1.OpenApiSchemasGenerationProviderB
58
64
  if (!filePath)
59
65
  return [];
60
66
  return [
61
- ast_1.ts.export(x.component, filePath, {
67
+ index_js_1.ts.export(x.component, filePath, {
62
68
  kind: x.kind === 'type' || x.kind === 'interface' ? 'type-export' : 'export',
63
69
  }),
64
- ...((_b = (_a = x.additionalExports) === null || _a === void 0 ? void 0 : _a.map((e) => typeof e === 'string' ? ast_1.ts.export(e, filePath) : ast_1.ts.export(e.name, filePath, { kind: e.type }))) !== null && _b !== void 0 ? _b : []),
70
+ ...((_b = (_a = x.additionalExports) === null || _a === void 0 ? void 0 : _a.map((e) => typeof e === 'string' ? index_js_1.ts.export(e, filePath) : index_js_1.ts.export(e.name, filePath, { kind: e.type }))) !== null && _b !== void 0 ? _b : []),
65
71
  ];
66
72
  }));
67
73
  }