@goast/typescript 0.8.0 → 0.9.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 (617) hide show
  1. package/README.md +0 -1
  2. package/dist/mod.d.ts +7 -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 +38 -39
  6. package/{esm → dist}/src/ast/_index.js +2 -0
  7. package/dist/src/ast/index.d.ts +1 -0
  8. package/{esm → dist}/src/ast/node.d.ts +0 -1
  9. package/{esm → dist}/src/ast/nodes/argument.d.ts +4 -5
  10. package/{esm → dist}/src/ast/nodes/argument.js +1 -6
  11. package/{script → dist}/src/ast/nodes/array-type.d.ts +4 -5
  12. package/{esm → dist}/src/ast/nodes/array-type.js +3 -14
  13. package/{esm → dist}/src/ast/nodes/arrow-function.d.ts +5 -6
  14. package/dist/src/ast/nodes/arrow-function.js +52 -0
  15. package/{esm → dist}/src/ast/nodes/call.d.ts +5 -6
  16. package/{esm → dist}/src/ast/nodes/call.js +3 -14
  17. package/{esm → dist}/src/ast/nodes/class.d.ts +11 -12
  18. package/dist/src/ast/nodes/class.js +74 -0
  19. package/{script → dist}/src/ast/nodes/constructor-parameter.d.ts +4 -5
  20. package/{esm → dist}/src/ast/nodes/constructor-parameter.js +5 -17
  21. package/{esm → dist}/src/ast/nodes/constructor.d.ts +5 -6
  22. package/dist/src/ast/nodes/constructor.js +40 -0
  23. package/{esm → dist}/src/ast/nodes/decorator.d.ts +5 -6
  24. package/{esm → dist}/src/ast/nodes/decorator.js +4 -15
  25. package/{esm → dist}/src/ast/nodes/doc-tag.d.ts +3 -4
  26. package/{esm → dist}/src/ast/nodes/doc-tag.js +5 -22
  27. package/{script → dist}/src/ast/nodes/doc.d.ts +5 -6
  28. package/{esm → dist}/src/ast/nodes/doc.js +11 -19
  29. package/{script → dist}/src/ast/nodes/enum-value.d.ts +4 -5
  30. package/{esm → dist}/src/ast/nodes/enum-value.js +6 -23
  31. package/{script → dist}/src/ast/nodes/enum.d.ts +5 -6
  32. package/dist/src/ast/nodes/enum.js +45 -0
  33. package/{esm → dist}/src/ast/nodes/export.d.ts +4 -5
  34. package/{esm → dist}/src/ast/nodes/export.js +4 -20
  35. package/{script → dist}/src/ast/nodes/function-type.d.ts +5 -6
  36. package/dist/src/ast/nodes/function-type.js +32 -0
  37. package/{esm → dist}/src/ast/nodes/function.d.ts +8 -9
  38. package/dist/src/ast/nodes/function.js +63 -0
  39. package/{esm → dist}/src/ast/nodes/generic-parameter.d.ts +4 -5
  40. package/dist/src/ast/nodes/generic-parameter.js +40 -0
  41. package/{esm → dist}/src/ast/nodes/indexer.d.ts +4 -5
  42. package/dist/src/ast/nodes/indexer.js +31 -0
  43. package/{script → dist}/src/ast/nodes/interface.d.ts +10 -11
  44. package/{esm → dist}/src/ast/nodes/interface.js +13 -49
  45. package/{script → dist}/src/ast/nodes/intersection-type.d.ts +4 -5
  46. package/{esm → dist}/src/ast/nodes/intersection-type.js +1 -6
  47. package/{esm → dist}/src/ast/nodes/lookup-type.d.ts +4 -5
  48. package/{esm → dist}/src/ast/nodes/lookup-type.js +2 -12
  49. package/{script → dist}/src/ast/nodes/method.d.ts +9 -10
  50. package/dist/src/ast/nodes/method.js +92 -0
  51. package/{script → dist}/src/ast/nodes/object-type.d.ts +5 -6
  52. package/{esm → dist}/src/ast/nodes/object-type.js +3 -9
  53. package/{esm → dist}/src/ast/nodes/object.d.ts +4 -5
  54. package/{esm → dist}/src/ast/nodes/object.js +3 -9
  55. package/{script → dist}/src/ast/nodes/parameter.d.ts +5 -6
  56. package/dist/src/ast/nodes/parameter.js +46 -0
  57. package/{esm → dist}/src/ast/nodes/property-accessor.d.ts +6 -7
  58. package/dist/src/ast/nodes/property-accessor.js +124 -0
  59. package/{script → dist}/src/ast/nodes/property.d.ts +8 -9
  60. package/dist/src/ast/nodes/property.js +121 -0
  61. package/{esm → dist}/src/ast/nodes/reference.d.ts +5 -6
  62. package/{esm → dist}/src/ast/nodes/reference.js +17 -44
  63. package/{script → dist}/src/ast/nodes/string.d.ts +3 -4
  64. package/{esm → dist}/src/ast/nodes/string.js +3 -14
  65. package/{script → dist}/src/ast/nodes/tuple.d.ts +4 -5
  66. package/{esm → dist}/src/ast/nodes/tuple.js +3 -14
  67. package/{esm → dist}/src/ast/nodes/type-alias.d.ts +6 -7
  68. package/dist/src/ast/nodes/type-alias.js +38 -0
  69. package/{esm → dist}/src/ast/nodes/typeof.d.ts +4 -5
  70. package/{esm → dist}/src/ast/nodes/typeof.js +1 -6
  71. package/dist/src/ast/nodes/types.d.ts +18 -0
  72. package/{esm → dist}/src/ast/nodes/union-type.d.ts +4 -5
  73. package/{esm → dist}/src/ast/nodes/union-type.js +1 -6
  74. package/{script → dist}/src/ast/nodes/variable.d.ts +5 -6
  75. package/dist/src/ast/nodes/variable.js +41 -0
  76. package/{script → dist}/src/ast/references/angular.d.ts +1 -2
  77. package/{esm → dist}/src/ast/references/easy-network-stub.d.ts +1 -2
  78. package/dist/src/ast/references/index.d.ts +5 -0
  79. package/{esm → dist}/src/ast/references/k6.d.ts +1 -2
  80. package/{esm → dist}/src/ast/references/rxjs.d.ts +1 -2
  81. package/{esm → dist}/src/ast/references/typescript.d.ts +1 -2
  82. package/{esm → dist}/src/ast/utils/get-type-script-builder-options.d.ts +1 -2
  83. package/{esm → dist}/src/ast/utils/to-ts-node.d.ts +3 -4
  84. package/{esm → dist}/src/ast/utils/write-ts-generic-parameters.d.ts +1 -2
  85. package/{esm → dist}/src/ast/utils/write-ts-members.d.ts +1 -2
  86. package/{esm → dist}/src/ast/utils/write-ts-members.js +1 -1
  87. package/{esm → dist}/src/ast/utils/write-ts-nodes.d.ts +1 -2
  88. package/{esm → dist}/src/ast/utils/write-ts-nodes.js +1 -1
  89. package/{esm → dist}/src/ast/utils/write-ts-parameters.d.ts +1 -2
  90. package/{script → dist}/src/common-results.d.ts +1 -2
  91. package/{script → dist}/src/config.d.ts +1 -2
  92. package/{script → dist}/src/file-builder.d.ts +4 -5
  93. package/{esm → dist}/src/file-builder.js +5 -16
  94. package/{script → dist}/src/generators/file-generator.d.ts +2 -3
  95. package/dist/src/generators/index.d.ts +6 -0
  96. package/dist/src/generators/models/index.d.ts +3 -0
  97. package/{esm → dist}/src/generators/models/model-generator.d.ts +5 -6
  98. package/{esm → dist}/src/generators/models/model-generator.js +14 -22
  99. package/{esm → dist}/src/generators/models/models-generator.d.ts +3 -4
  100. package/{esm → dist}/src/generators/models/models-generator.js +3 -9
  101. package/{script → dist}/src/generators/models/models.d.ts +4 -5
  102. package/{script → dist}/src/generators/services/angular-services/angular-service-generator.d.ts +5 -6
  103. package/{esm → dist}/src/generators/services/angular-services/angular-service-generator.js +34 -46
  104. package/{script → dist}/src/generators/services/angular-services/angular-services-generator.d.ts +3 -4
  105. package/{esm → dist}/src/generators/services/angular-services/angular-services-generator.js +8 -16
  106. package/dist/src/generators/services/angular-services/index.d.ts +3 -0
  107. package/{esm → dist}/src/generators/services/angular-services/models.d.ts +6 -7
  108. package/{esm → dist}/src/generators/services/angular-services/models.js +3 -62
  109. package/{esm → dist}/src/generators/services/angular-services/refs.d.ts +2 -3
  110. package/{esm → dist}/src/generators/services/angular-services/refs.js +2 -3
  111. package/{esm → dist}/src/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +4 -5
  112. package/{esm → dist}/src/generators/services/easy-network-stub/easy-network-stub-generator.js +7 -11
  113. package/{script → dist}/src/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +5 -6
  114. package/{esm → dist}/src/generators/services/easy-network-stub/easy-network-stubs-generator.js +3 -9
  115. package/dist/src/generators/services/easy-network-stub/index.d.ts +3 -0
  116. package/{script → dist}/src/generators/services/easy-network-stub/models.d.ts +6 -7
  117. package/{esm → dist}/src/generators/services/easy-network-stub/refs.d.ts +2 -3
  118. package/{script → dist}/src/generators/services/fetch-clients/fetch-client-generator.d.ts +4 -5
  119. package/{esm → dist}/src/generators/services/fetch-clients/fetch-client-generator.js +18 -21
  120. package/{esm → dist}/src/generators/services/fetch-clients/fetch-clients-generator.d.ts +3 -4
  121. package/{esm → dist}/src/generators/services/fetch-clients/fetch-clients-generator.js +3 -7
  122. package/dist/src/generators/services/fetch-clients/index.d.ts +3 -0
  123. package/{script → dist}/src/generators/services/fetch-clients/models.d.ts +4 -5
  124. package/{esm → dist}/src/generators/services/fetch-clients/refs.d.ts +2 -3
  125. package/dist/src/generators/services/k6-clients/index.d.ts +3 -0
  126. package/{script → dist}/src/generators/services/k6-clients/k6-client-generator.d.ts +6 -7
  127. package/{esm → dist}/src/generators/services/k6-clients/k6-client-generator.js +61 -76
  128. package/{script → dist}/src/generators/services/k6-clients/k6-clients-generator.d.ts +3 -4
  129. package/{esm → dist}/src/generators/services/k6-clients/k6-clients-generator.js +3 -7
  130. package/{script → dist}/src/generators/services/k6-clients/models.d.ts +6 -7
  131. package/dist/src/generators/services/k6-clients/models.js +25 -0
  132. package/{esm → dist}/src/generators/services/k6-clients/refs.d.ts +2 -3
  133. package/{script → dist}/src/import-collection.d.ts +2 -3
  134. package/{esm → dist}/src/import-collection.js +8 -40
  135. package/{script → dist}/src/utils.d.ts +0 -1
  136. package/{esm → dist}/src/utils.js +1 -2
  137. package/package.json +24 -15
  138. package/esm/mod.d.ts +0 -8
  139. package/esm/mod.d.ts.map +0 -1
  140. package/esm/package.json +0 -3
  141. package/esm/src/assets.d.ts.map +0 -1
  142. package/esm/src/assets.js +0 -6
  143. package/esm/src/ast/_index.d.ts.map +0 -1
  144. package/esm/src/ast/common.d.ts +0 -2
  145. package/esm/src/ast/common.d.ts.map +0 -1
  146. package/esm/src/ast/index.d.ts +0 -2
  147. package/esm/src/ast/index.d.ts.map +0 -1
  148. package/esm/src/ast/node.d.ts.map +0 -1
  149. package/esm/src/ast/nodes/argument.d.ts.map +0 -1
  150. package/esm/src/ast/nodes/array-type.d.ts +0 -21
  151. package/esm/src/ast/nodes/array-type.d.ts.map +0 -1
  152. package/esm/src/ast/nodes/arrow-function.d.ts.map +0 -1
  153. package/esm/src/ast/nodes/arrow-function.js +0 -83
  154. package/esm/src/ast/nodes/call.d.ts.map +0 -1
  155. package/esm/src/ast/nodes/class.d.ts.map +0 -1
  156. package/esm/src/ast/nodes/class.js +0 -120
  157. package/esm/src/ast/nodes/constructor-parameter.d.ts +0 -21
  158. package/esm/src/ast/nodes/constructor-parameter.d.ts.map +0 -1
  159. package/esm/src/ast/nodes/constructor.d.ts.map +0 -1
  160. package/esm/src/ast/nodes/constructor.js +0 -62
  161. package/esm/src/ast/nodes/decorator.d.ts.map +0 -1
  162. package/esm/src/ast/nodes/doc-tag.d.ts.map +0 -1
  163. package/esm/src/ast/nodes/doc.d.ts +0 -30
  164. package/esm/src/ast/nodes/doc.d.ts.map +0 -1
  165. package/esm/src/ast/nodes/enum-value.d.ts +0 -24
  166. package/esm/src/ast/nodes/enum-value.d.ts.map +0 -1
  167. package/esm/src/ast/nodes/enum.d.ts +0 -28
  168. package/esm/src/ast/nodes/enum.d.ts.map +0 -1
  169. package/esm/src/ast/nodes/enum.js +0 -72
  170. package/esm/src/ast/nodes/export.d.ts.map +0 -1
  171. package/esm/src/ast/nodes/function-type.d.ts +0 -25
  172. package/esm/src/ast/nodes/function-type.d.ts.map +0 -1
  173. package/esm/src/ast/nodes/function-type.js +0 -49
  174. package/esm/src/ast/nodes/function.d.ts.map +0 -1
  175. package/esm/src/ast/nodes/function.js +0 -104
  176. package/esm/src/ast/nodes/generic-parameter.d.ts.map +0 -1
  177. package/esm/src/ast/nodes/generic-parameter.js +0 -67
  178. package/esm/src/ast/nodes/indexer.d.ts.map +0 -1
  179. package/esm/src/ast/nodes/indexer.js +0 -52
  180. package/esm/src/ast/nodes/interface.d.ts +0 -38
  181. package/esm/src/ast/nodes/interface.d.ts.map +0 -1
  182. package/esm/src/ast/nodes/intersection-type.d.ts +0 -19
  183. package/esm/src/ast/nodes/intersection-type.d.ts.map +0 -1
  184. package/esm/src/ast/nodes/lookup-type.d.ts.map +0 -1
  185. package/esm/src/ast/nodes/method.d.ts +0 -48
  186. package/esm/src/ast/nodes/method.d.ts.map +0 -1
  187. package/esm/src/ast/nodes/method.js +0 -158
  188. package/esm/src/ast/nodes/object-type.d.ts +0 -22
  189. package/esm/src/ast/nodes/object-type.d.ts.map +0 -1
  190. package/esm/src/ast/nodes/object.d.ts.map +0 -1
  191. package/esm/src/ast/nodes/parameter.d.ts +0 -30
  192. package/esm/src/ast/nodes/parameter.d.ts.map +0 -1
  193. package/esm/src/ast/nodes/parameter.js +0 -77
  194. package/esm/src/ast/nodes/property-accessor.d.ts.map +0 -1
  195. package/esm/src/ast/nodes/property-accessor.js +0 -181
  196. package/esm/src/ast/nodes/property.d.ts +0 -64
  197. package/esm/src/ast/nodes/property.d.ts.map +0 -1
  198. package/esm/src/ast/nodes/property.js +0 -189
  199. package/esm/src/ast/nodes/reference.d.ts.map +0 -1
  200. package/esm/src/ast/nodes/string.d.ts +0 -20
  201. package/esm/src/ast/nodes/string.d.ts.map +0 -1
  202. package/esm/src/ast/nodes/tuple.d.ts +0 -21
  203. package/esm/src/ast/nodes/tuple.d.ts.map +0 -1
  204. package/esm/src/ast/nodes/type-alias.d.ts.map +0 -1
  205. package/esm/src/ast/nodes/type-alias.js +0 -64
  206. package/esm/src/ast/nodes/typeof.d.ts.map +0 -1
  207. package/esm/src/ast/nodes/types.d.ts +0 -19
  208. package/esm/src/ast/nodes/types.d.ts.map +0 -1
  209. package/esm/src/ast/nodes/union-type.d.ts.map +0 -1
  210. package/esm/src/ast/nodes/variable.d.ts +0 -30
  211. package/esm/src/ast/nodes/variable.d.ts.map +0 -1
  212. package/esm/src/ast/nodes/variable.js +0 -72
  213. package/esm/src/ast/references/angular.d.ts +0 -9
  214. package/esm/src/ast/references/angular.d.ts.map +0 -1
  215. package/esm/src/ast/references/easy-network-stub.d.ts.map +0 -1
  216. package/esm/src/ast/references/index.d.ts +0 -6
  217. package/esm/src/ast/references/index.d.ts.map +0 -1
  218. package/esm/src/ast/references/k6.d.ts.map +0 -1
  219. package/esm/src/ast/references/rxjs.d.ts.map +0 -1
  220. package/esm/src/ast/references/typescript.d.ts.map +0 -1
  221. package/esm/src/ast/utils/get-type-script-builder-options.d.ts.map +0 -1
  222. package/esm/src/ast/utils/to-ts-node.d.ts.map +0 -1
  223. package/esm/src/ast/utils/write-ts-generic-parameters.d.ts.map +0 -1
  224. package/esm/src/ast/utils/write-ts-members.d.ts.map +0 -1
  225. package/esm/src/ast/utils/write-ts-nodes.d.ts.map +0 -1
  226. package/esm/src/ast/utils/write-ts-parameters.d.ts.map +0 -1
  227. package/esm/src/common-results.d.ts +0 -25
  228. package/esm/src/common-results.d.ts.map +0 -1
  229. package/esm/src/config.d.ts +0 -66
  230. package/esm/src/config.d.ts.map +0 -1
  231. package/esm/src/file-builder.d.ts +0 -34
  232. package/esm/src/file-builder.d.ts.map +0 -1
  233. package/esm/src/generators/file-generator.d.ts +0 -8
  234. package/esm/src/generators/file-generator.d.ts.map +0 -1
  235. package/esm/src/generators/index.d.ts +0 -7
  236. package/esm/src/generators/index.d.ts.map +0 -1
  237. package/esm/src/generators/models/index.d.ts +0 -4
  238. package/esm/src/generators/models/index.d.ts.map +0 -1
  239. package/esm/src/generators/models/model-generator.d.ts.map +0 -1
  240. package/esm/src/generators/models/models-generator.d.ts.map +0 -1
  241. package/esm/src/generators/models/models.d.ts +0 -77
  242. package/esm/src/generators/models/models.d.ts.map +0 -1
  243. package/esm/src/generators/services/angular-services/angular-service-generator.d.ts +0 -43
  244. package/esm/src/generators/services/angular-services/angular-service-generator.d.ts.map +0 -1
  245. package/esm/src/generators/services/angular-services/angular-services-generator.d.ts +0 -31
  246. package/esm/src/generators/services/angular-services/angular-services-generator.d.ts.map +0 -1
  247. package/esm/src/generators/services/angular-services/index.d.ts +0 -4
  248. package/esm/src/generators/services/angular-services/index.d.ts.map +0 -1
  249. package/esm/src/generators/services/angular-services/models.d.ts.map +0 -1
  250. package/esm/src/generators/services/angular-services/refs.d.ts.map +0 -1
  251. package/esm/src/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +0 -1
  252. package/esm/src/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +0 -28
  253. package/esm/src/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +0 -1
  254. package/esm/src/generators/services/easy-network-stub/index.d.ts +0 -4
  255. package/esm/src/generators/services/easy-network-stub/index.d.ts.map +0 -1
  256. package/esm/src/generators/services/easy-network-stub/models.d.ts +0 -78
  257. package/esm/src/generators/services/easy-network-stub/models.d.ts.map +0 -1
  258. package/esm/src/generators/services/easy-network-stub/refs.d.ts.map +0 -1
  259. package/esm/src/generators/services/fetch-clients/fetch-client-generator.d.ts +0 -36
  260. package/esm/src/generators/services/fetch-clients/fetch-client-generator.d.ts.map +0 -1
  261. package/esm/src/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +0 -1
  262. package/esm/src/generators/services/fetch-clients/index.d.ts +0 -4
  263. package/esm/src/generators/services/fetch-clients/index.d.ts.map +0 -1
  264. package/esm/src/generators/services/fetch-clients/models.d.ts +0 -84
  265. package/esm/src/generators/services/fetch-clients/models.d.ts.map +0 -1
  266. package/esm/src/generators/services/fetch-clients/refs.d.ts.map +0 -1
  267. package/esm/src/generators/services/k6-clients/index.d.ts +0 -4
  268. package/esm/src/generators/services/k6-clients/index.d.ts.map +0 -1
  269. package/esm/src/generators/services/k6-clients/k6-client-generator.d.ts +0 -43
  270. package/esm/src/generators/services/k6-clients/k6-client-generator.d.ts.map +0 -1
  271. package/esm/src/generators/services/k6-clients/k6-clients-generator.d.ts +0 -27
  272. package/esm/src/generators/services/k6-clients/k6-clients-generator.d.ts.map +0 -1
  273. package/esm/src/generators/services/k6-clients/models.d.ts +0 -124
  274. package/esm/src/generators/services/k6-clients/models.d.ts.map +0 -1
  275. package/esm/src/generators/services/k6-clients/models.js +0 -84
  276. package/esm/src/generators/services/k6-clients/refs.d.ts.map +0 -1
  277. package/esm/src/import-collection.d.ts +0 -42
  278. package/esm/src/import-collection.d.ts.map +0 -1
  279. package/esm/src/utils.d.ts +0 -9
  280. package/esm/src/utils.d.ts.map +0 -1
  281. package/script/mod.d.ts +0 -8
  282. package/script/mod.d.ts.map +0 -1
  283. package/script/mod.js +0 -10
  284. package/script/package.json +0 -3
  285. package/script/src/assets.d.ts +0 -3
  286. package/script/src/assets.d.ts.map +0 -1
  287. package/script/src/assets.js +0 -9
  288. package/script/src/ast/_index.d.ts +0 -39
  289. package/script/src/ast/_index.d.ts.map +0 -1
  290. package/script/src/ast/_index.js +0 -108
  291. package/script/src/ast/common.d.ts +0 -2
  292. package/script/src/ast/common.d.ts.map +0 -1
  293. package/script/src/ast/common.js +0 -2
  294. package/script/src/ast/index.d.ts +0 -2
  295. package/script/src/ast/index.d.ts.map +0 -1
  296. package/script/src/ast/index.js +0 -5
  297. package/script/src/ast/node.d.ts +0 -5
  298. package/script/src/ast/node.d.ts.map +0 -1
  299. package/script/src/ast/node.js +0 -10
  300. package/script/src/ast/nodes/argument.d.ts +0 -19
  301. package/script/src/ast/nodes/argument.d.ts.map +0 -1
  302. package/script/src/ast/nodes/argument.js +0 -26
  303. package/script/src/ast/nodes/array-type.d.ts.map +0 -1
  304. package/script/src/ast/nodes/array-type.js +0 -39
  305. package/script/src/ast/nodes/arrow-function.d.ts +0 -31
  306. package/script/src/ast/nodes/arrow-function.d.ts.map +0 -1
  307. package/script/src/ast/nodes/arrow-function.js +0 -87
  308. package/script/src/ast/nodes/call.d.ts +0 -22
  309. package/script/src/ast/nodes/call.d.ts.map +0 -1
  310. package/script/src/ast/nodes/call.js +0 -38
  311. package/script/src/ast/nodes/class.d.ts +0 -43
  312. package/script/src/ast/nodes/class.d.ts.map +0 -1
  313. package/script/src/ast/nodes/class.js +0 -124
  314. package/script/src/ast/nodes/constructor-parameter.d.ts.map +0 -1
  315. package/script/src/ast/nodes/constructor-parameter.js +0 -59
  316. package/script/src/ast/nodes/constructor.d.ts +0 -27
  317. package/script/src/ast/nodes/constructor.d.ts.map +0 -1
  318. package/script/src/ast/nodes/constructor.js +0 -66
  319. package/script/src/ast/nodes/decorator.d.ts +0 -25
  320. package/script/src/ast/nodes/decorator.d.ts.map +0 -1
  321. package/script/src/ast/nodes/decorator.js +0 -50
  322. package/script/src/ast/nodes/doc-tag.d.ts +0 -74
  323. package/script/src/ast/nodes/doc-tag.d.ts.map +0 -1
  324. package/script/src/ast/nodes/doc-tag.js +0 -83
  325. package/script/src/ast/nodes/doc.d.ts.map +0 -1
  326. package/script/src/ast/nodes/doc.js +0 -69
  327. package/script/src/ast/nodes/enum-value.d.ts.map +0 -1
  328. package/script/src/ast/nodes/enum-value.js +0 -53
  329. package/script/src/ast/nodes/enum.d.ts.map +0 -1
  330. package/script/src/ast/nodes/enum.js +0 -76
  331. package/script/src/ast/nodes/export.d.ts +0 -23
  332. package/script/src/ast/nodes/export.d.ts.map +0 -1
  333. package/script/src/ast/nodes/export.js +0 -47
  334. package/script/src/ast/nodes/function-type.d.ts.map +0 -1
  335. package/script/src/ast/nodes/function-type.js +0 -53
  336. package/script/src/ast/nodes/function.d.ts +0 -37
  337. package/script/src/ast/nodes/function.d.ts.map +0 -1
  338. package/script/src/ast/nodes/function.js +0 -108
  339. package/script/src/ast/nodes/generic-parameter.d.ts +0 -27
  340. package/script/src/ast/nodes/generic-parameter.d.ts.map +0 -1
  341. package/script/src/ast/nodes/generic-parameter.js +0 -71
  342. package/script/src/ast/nodes/indexer.d.ts +0 -25
  343. package/script/src/ast/nodes/indexer.d.ts.map +0 -1
  344. package/script/src/ast/nodes/indexer.js +0 -56
  345. package/script/src/ast/nodes/interface.d.ts.map +0 -1
  346. package/script/src/ast/nodes/interface.js +0 -102
  347. package/script/src/ast/nodes/intersection-type.d.ts.map +0 -1
  348. package/script/src/ast/nodes/intersection-type.js +0 -50
  349. package/script/src/ast/nodes/lookup-type.d.ts +0 -21
  350. package/script/src/ast/nodes/lookup-type.d.ts.map +0 -1
  351. package/script/src/ast/nodes/lookup-type.js +0 -42
  352. package/script/src/ast/nodes/method.d.ts.map +0 -1
  353. package/script/src/ast/nodes/method.js +0 -163
  354. package/script/src/ast/nodes/object-type.d.ts.map +0 -1
  355. package/script/src/ast/nodes/object-type.js +0 -30
  356. package/script/src/ast/nodes/object.d.ts +0 -21
  357. package/script/src/ast/nodes/object.d.ts.map +0 -1
  358. package/script/src/ast/nodes/object.js +0 -30
  359. package/script/src/ast/nodes/parameter.d.ts.map +0 -1
  360. package/script/src/ast/nodes/parameter.js +0 -81
  361. package/script/src/ast/nodes/property-accessor.d.ts +0 -54
  362. package/script/src/ast/nodes/property-accessor.d.ts.map +0 -1
  363. package/script/src/ast/nodes/property-accessor.js +0 -188
  364. package/script/src/ast/nodes/property.d.ts.map +0 -1
  365. package/script/src/ast/nodes/property.js +0 -195
  366. package/script/src/ast/nodes/reference.d.ts +0 -64
  367. package/script/src/ast/nodes/reference.d.ts.map +0 -1
  368. package/script/src/ast/nodes/reference.js +0 -97
  369. package/script/src/ast/nodes/string.d.ts.map +0 -1
  370. package/script/src/ast/nodes/string.js +0 -42
  371. package/script/src/ast/nodes/tuple.d.ts.map +0 -1
  372. package/script/src/ast/nodes/tuple.js +0 -45
  373. package/script/src/ast/nodes/type-alias.d.ts +0 -29
  374. package/script/src/ast/nodes/type-alias.d.ts.map +0 -1
  375. package/script/src/ast/nodes/type-alias.js +0 -68
  376. package/script/src/ast/nodes/typeof.d.ts +0 -19
  377. package/script/src/ast/nodes/typeof.d.ts.map +0 -1
  378. package/script/src/ast/nodes/typeof.js +0 -29
  379. package/script/src/ast/nodes/types.d.ts +0 -19
  380. package/script/src/ast/nodes/types.d.ts.map +0 -1
  381. package/script/src/ast/nodes/types.js +0 -2
  382. package/script/src/ast/nodes/union-type.d.ts +0 -19
  383. package/script/src/ast/nodes/union-type.d.ts.map +0 -1
  384. package/script/src/ast/nodes/union-type.js +0 -50
  385. package/script/src/ast/nodes/variable.d.ts.map +0 -1
  386. package/script/src/ast/nodes/variable.js +0 -76
  387. package/script/src/ast/references/angular.d.ts.map +0 -1
  388. package/script/src/ast/references/angular.js +0 -15
  389. package/script/src/ast/references/easy-network-stub.d.ts +0 -6
  390. package/script/src/ast/references/easy-network-stub.d.ts.map +0 -1
  391. package/script/src/ast/references/easy-network-stub.js +0 -12
  392. package/script/src/ast/references/index.d.ts +0 -6
  393. package/script/src/ast/references/index.d.ts.map +0 -1
  394. package/script/src/ast/references/index.js +0 -9
  395. package/script/src/ast/references/k6.d.ts +0 -5
  396. package/script/src/ast/references/k6.d.ts.map +0 -1
  397. package/script/src/ast/references/k6.js +0 -9
  398. package/script/src/ast/references/rxjs.d.ts +0 -7
  399. package/script/src/ast/references/rxjs.d.ts.map +0 -1
  400. package/script/src/ast/references/rxjs.js +0 -9
  401. package/script/src/ast/references/typescript.d.ts +0 -32
  402. package/script/src/ast/references/typescript.d.ts.map +0 -1
  403. package/script/src/ast/references/typescript.js +0 -34
  404. package/script/src/ast/utils/get-type-script-builder-options.d.ts +0 -4
  405. package/script/src/ast/utils/get-type-script-builder-options.d.ts.map +0 -1
  406. package/script/src/ast/utils/get-type-script-builder-options.js +0 -18
  407. package/script/src/ast/utils/to-ts-node.d.ts +0 -9
  408. package/script/src/ast/utils/to-ts-node.d.ts.map +0 -1
  409. package/script/src/ast/utils/to-ts-node.js +0 -23
  410. package/script/src/ast/utils/write-ts-generic-parameters.d.ts +0 -4
  411. package/script/src/ast/utils/write-ts-generic-parameters.d.ts.map +0 -1
  412. package/script/src/ast/utils/write-ts-generic-parameters.js +0 -10
  413. package/script/src/ast/utils/write-ts-members.d.ts +0 -6
  414. package/script/src/ast/utils/write-ts-members.d.ts.map +0 -1
  415. package/script/src/ast/utils/write-ts-members.js +0 -17
  416. package/script/src/ast/utils/write-ts-nodes.d.ts +0 -7
  417. package/script/src/ast/utils/write-ts-nodes.d.ts.map +0 -1
  418. package/script/src/ast/utils/write-ts-nodes.js +0 -23
  419. package/script/src/ast/utils/write-ts-parameters.d.ts +0 -4
  420. package/script/src/ast/utils/write-ts-parameters.d.ts.map +0 -1
  421. package/script/src/ast/utils/write-ts-parameters.js +0 -13
  422. package/script/src/common-results.d.ts.map +0 -1
  423. package/script/src/common-results.js +0 -2
  424. package/script/src/config.d.ts.map +0 -1
  425. package/script/src/config.js +0 -18
  426. package/script/src/file-builder.d.ts.map +0 -1
  427. package/script/src/file-builder.js +0 -101
  428. package/script/src/generators/file-generator.d.ts.map +0 -1
  429. package/script/src/generators/file-generator.js +0 -10
  430. package/script/src/generators/index.d.ts +0 -7
  431. package/script/src/generators/index.d.ts.map +0 -1
  432. package/script/src/generators/index.js +0 -9
  433. package/script/src/generators/models/index.d.ts +0 -4
  434. package/script/src/generators/models/index.d.ts.map +0 -1
  435. package/script/src/generators/models/index.js +0 -6
  436. package/script/src/generators/models/model-generator.d.ts +0 -67
  437. package/script/src/generators/models/model-generator.d.ts.map +0 -1
  438. package/script/src/generators/models/model-generator.js +0 -420
  439. package/script/src/generators/models/models-generator.d.ts +0 -23
  440. package/script/src/generators/models/models-generator.d.ts.map +0 -1
  441. package/script/src/generators/models/models-generator.js +0 -73
  442. package/script/src/generators/models/models.d.ts.map +0 -1
  443. package/script/src/generators/models/models.js +0 -20
  444. package/script/src/generators/services/angular-services/angular-service-generator.d.ts.map +0 -1
  445. package/script/src/generators/services/angular-services/angular-service-generator.js +0 -323
  446. package/script/src/generators/services/angular-services/angular-services-generator.d.ts.map +0 -1
  447. package/script/src/generators/services/angular-services/angular-services-generator.js +0 -218
  448. package/script/src/generators/services/angular-services/index.d.ts +0 -4
  449. package/script/src/generators/services/angular-services/index.d.ts.map +0 -1
  450. package/script/src/generators/services/angular-services/index.js +0 -6
  451. package/script/src/generators/services/angular-services/models.d.ts +0 -147
  452. package/script/src/generators/services/angular-services/models.d.ts.map +0 -1
  453. package/script/src/generators/services/angular-services/models.js +0 -90
  454. package/script/src/generators/services/angular-services/refs.d.ts +0 -12
  455. package/script/src/generators/services/angular-services/refs.d.ts.map +0 -1
  456. package/script/src/generators/services/angular-services/refs.js +0 -30
  457. package/script/src/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +0 -33
  458. package/script/src/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +0 -1
  459. package/script/src/generators/services/easy-network-stub/easy-network-stub-generator.js +0 -180
  460. package/script/src/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +0 -1
  461. package/script/src/generators/services/easy-network-stub/easy-network-stubs-generator.js +0 -137
  462. package/script/src/generators/services/easy-network-stub/index.d.ts +0 -4
  463. package/script/src/generators/services/easy-network-stub/index.d.ts.map +0 -1
  464. package/script/src/generators/services/easy-network-stub/index.js +0 -6
  465. package/script/src/generators/services/easy-network-stub/models.d.ts.map +0 -1
  466. package/script/src/generators/services/easy-network-stub/models.js +0 -18
  467. package/script/src/generators/services/easy-network-stub/refs.d.ts +0 -15
  468. package/script/src/generators/services/easy-network-stub/refs.d.ts.map +0 -1
  469. package/script/src/generators/services/easy-network-stub/refs.js +0 -31
  470. package/script/src/generators/services/fetch-clients/fetch-client-generator.d.ts.map +0 -1
  471. package/script/src/generators/services/fetch-clients/fetch-client-generator.js +0 -223
  472. package/script/src/generators/services/fetch-clients/fetch-clients-generator.d.ts +0 -27
  473. package/script/src/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +0 -1
  474. package/script/src/generators/services/fetch-clients/fetch-clients-generator.js +0 -110
  475. package/script/src/generators/services/fetch-clients/index.d.ts +0 -4
  476. package/script/src/generators/services/fetch-clients/index.d.ts.map +0 -1
  477. package/script/src/generators/services/fetch-clients/index.js +0 -6
  478. package/script/src/generators/services/fetch-clients/models.d.ts.map +0 -1
  479. package/script/src/generators/services/fetch-clients/models.js +0 -17
  480. package/script/src/generators/services/fetch-clients/refs.d.ts +0 -8
  481. package/script/src/generators/services/fetch-clients/refs.d.ts.map +0 -1
  482. package/script/src/generators/services/fetch-clients/refs.js +0 -16
  483. package/script/src/generators/services/k6-clients/index.d.ts +0 -4
  484. package/script/src/generators/services/k6-clients/index.d.ts.map +0 -1
  485. package/script/src/generators/services/k6-clients/index.js +0 -6
  486. package/script/src/generators/services/k6-clients/k6-client-generator.d.ts.map +0 -1
  487. package/script/src/generators/services/k6-clients/k6-client-generator.js +0 -401
  488. package/script/src/generators/services/k6-clients/k6-clients-generator.d.ts.map +0 -1
  489. package/script/src/generators/services/k6-clients/k6-clients-generator.js +0 -117
  490. package/script/src/generators/services/k6-clients/models.d.ts.map +0 -1
  491. package/script/src/generators/services/k6-clients/models.js +0 -87
  492. package/script/src/generators/services/k6-clients/refs.d.ts +0 -7
  493. package/script/src/generators/services/k6-clients/refs.d.ts.map +0 -1
  494. package/script/src/generators/services/k6-clients/refs.js +0 -13
  495. package/script/src/import-collection.d.ts.map +0 -1
  496. package/script/src/import-collection.js +0 -211
  497. package/script/src/utils.d.ts.map +0 -1
  498. package/script/src/utils.js +0 -66
  499. package/src/mod.ts +0 -7
  500. package/src/src/assets.ts +0 -9
  501. package/src/src/ast/_index.ts +0 -54
  502. package/src/src/ast/index.ts +0 -1
  503. package/src/src/ast/node.ts +0 -10
  504. package/src/src/ast/nodes/argument.ts +0 -40
  505. package/src/src/ast/nodes/array-type.ts +0 -49
  506. package/src/src/ast/nodes/arrow-function.ts +0 -91
  507. package/src/src/ast/nodes/call.ts +0 -55
  508. package/src/src/ast/nodes/class.ts +0 -133
  509. package/src/src/ast/nodes/constructor-parameter.ts +0 -70
  510. package/src/src/ast/nodes/constructor.ts +0 -77
  511. package/src/src/ast/nodes/decorator.ts +0 -76
  512. package/src/src/ast/nodes/doc-tag.ts +0 -291
  513. package/src/src/ast/nodes/doc.ts +0 -102
  514. package/src/src/ast/nodes/enum-value.ts +0 -72
  515. package/src/src/ast/nodes/enum.ts +0 -77
  516. package/src/src/ast/nodes/export.ts +0 -54
  517. package/src/src/ast/nodes/function-type.ts +0 -60
  518. package/src/src/ast/nodes/function.ts +0 -107
  519. package/src/src/ast/nodes/generic-parameter.ts +0 -71
  520. package/src/src/ast/nodes/indexer.ts +0 -60
  521. package/src/src/ast/nodes/interface.ts +0 -117
  522. package/src/src/ast/nodes/intersection-type.ts +0 -67
  523. package/src/src/ast/nodes/lookup-type.ts +0 -53
  524. package/src/src/ast/nodes/method.ts +0 -138
  525. package/src/src/ast/nodes/object-type.ts +0 -52
  526. package/src/src/ast/nodes/object.ts +0 -48
  527. package/src/src/ast/nodes/parameter.ts +0 -85
  528. package/src/src/ast/nodes/property-accessor.ts +0 -173
  529. package/src/src/ast/nodes/property.ts +0 -192
  530. package/src/src/ast/nodes/reference.ts +0 -194
  531. package/src/src/ast/nodes/string.ts +0 -49
  532. package/src/src/ast/nodes/tuple.ts +0 -53
  533. package/src/src/ast/nodes/type-alias.ts +0 -75
  534. package/src/src/ast/nodes/typeof.ts +0 -42
  535. package/src/src/ast/nodes/types.ts +0 -40
  536. package/src/src/ast/nodes/union-type.ts +0 -62
  537. package/src/src/ast/nodes/variable.ts +0 -73
  538. package/src/src/ast/references/angular.ts +0 -24
  539. package/src/src/ast/references/easy-network-stub.ts +0 -21
  540. package/src/src/ast/references/index.ts +0 -5
  541. package/src/src/ast/references/k6.ts +0 -8
  542. package/src/src/ast/references/rxjs.ts +0 -7
  543. package/src/src/ast/references/typescript.ts +0 -35
  544. package/src/src/ast/utils/get-type-script-builder-options.ts +0 -19
  545. package/src/src/ast/utils/to-ts-node.ts +0 -27
  546. package/src/src/ast/utils/write-ts-generic-parameters.ts +0 -25
  547. package/src/src/ast/utils/write-ts-members.ts +0 -28
  548. package/src/src/ast/utils/write-ts-nodes.ts +0 -35
  549. package/src/src/ast/utils/write-ts-parameters.ts +0 -25
  550. package/src/src/common-results.ts +0 -26
  551. package/src/src/config.ts +0 -96
  552. package/src/src/file-builder.ts +0 -137
  553. package/src/src/generators/file-generator.ts +0 -15
  554. package/src/src/generators/index.ts +0 -6
  555. package/src/src/generators/models/index.ts +0 -3
  556. package/src/src/generators/models/model-generator.ts +0 -530
  557. package/src/src/generators/models/models-generator.ts +0 -108
  558. package/src/src/generators/models/models.ts +0 -121
  559. package/src/src/generators/services/angular-services/angular-service-generator.ts +0 -431
  560. package/src/src/generators/services/angular-services/angular-services-generator.ts +0 -295
  561. package/src/src/generators/services/angular-services/index.ts +0 -3
  562. package/src/src/generators/services/angular-services/models.ts +0 -277
  563. package/src/src/generators/services/angular-services/refs.ts +0 -54
  564. package/src/src/generators/services/easy-network-stub/easy-network-stub-generator.ts +0 -250
  565. package/src/src/generators/services/easy-network-stub/easy-network-stubs-generator.ts +0 -211
  566. package/src/src/generators/services/easy-network-stub/index.ts +0 -3
  567. package/src/src/generators/services/easy-network-stub/models.ts +0 -124
  568. package/src/src/generators/services/easy-network-stub/refs.ts +0 -47
  569. package/src/src/generators/services/fetch-clients/fetch-client-generator.ts +0 -305
  570. package/src/src/generators/services/fetch-clients/fetch-clients-generator.ts +0 -163
  571. package/src/src/generators/services/fetch-clients/index.ts +0 -3
  572. package/src/src/generators/services/fetch-clients/models.ts +0 -130
  573. package/src/src/generators/services/fetch-clients/refs.ts +0 -21
  574. package/src/src/generators/services/k6-clients/index.ts +0 -3
  575. package/src/src/generators/services/k6-clients/k6-client-generator.ts +0 -515
  576. package/src/src/generators/services/k6-clients/k6-clients-generator.ts +0 -171
  577. package/src/src/generators/services/k6-clients/models.ts +0 -247
  578. package/src/src/generators/services/k6-clients/refs.ts +0 -16
  579. package/src/src/import-collection.ts +0 -236
  580. package/src/src/utils.ts +0 -79
  581. /package/{assets → dist/assets}/client/angular/angular-service.utils.ts +0 -0
  582. /package/{assets → dist/assets}/client/angular/request-builder.ts +0 -0
  583. /package/{assets → dist/assets}/client/fetch/fetch-client.utils.ts +0 -0
  584. /package/{assets → dist/assets}/client/k6/request-builder.js +0 -0
  585. /package/{assets → dist/assets}/client/k6/request-builder.ts +0 -0
  586. /package/{assets → dist/assets}/stubs/easy-network-stub/easy-network-stub.utils.ts +0 -0
  587. /package/{esm → dist}/mod.js +0 -0
  588. /package/{src/src/ast/common.ts → dist/src/ast/common.d.ts} +0 -0
  589. /package/{esm → dist}/src/ast/common.js +0 -0
  590. /package/{esm → dist}/src/ast/index.js +0 -0
  591. /package/{esm → dist}/src/ast/node.js +0 -0
  592. /package/{esm → dist}/src/ast/nodes/types.js +0 -0
  593. /package/{esm → dist}/src/ast/references/angular.js +0 -0
  594. /package/{esm → dist}/src/ast/references/easy-network-stub.js +0 -0
  595. /package/{esm → dist}/src/ast/references/index.js +0 -0
  596. /package/{esm → dist}/src/ast/references/k6.js +0 -0
  597. /package/{esm → dist}/src/ast/references/rxjs.js +0 -0
  598. /package/{esm → dist}/src/ast/references/typescript.js +0 -0
  599. /package/{esm → dist}/src/ast/utils/get-type-script-builder-options.js +0 -0
  600. /package/{esm → dist}/src/ast/utils/to-ts-node.js +0 -0
  601. /package/{esm → dist}/src/ast/utils/write-ts-generic-parameters.js +0 -0
  602. /package/{esm → dist}/src/ast/utils/write-ts-parameters.js +0 -0
  603. /package/{esm → dist}/src/common-results.js +0 -0
  604. /package/{esm → dist}/src/config.js +0 -0
  605. /package/{esm → dist}/src/generators/file-generator.js +0 -0
  606. /package/{esm → dist}/src/generators/index.js +0 -0
  607. /package/{esm → dist}/src/generators/models/index.js +0 -0
  608. /package/{esm → dist}/src/generators/models/models.js +0 -0
  609. /package/{esm → dist}/src/generators/services/angular-services/index.js +0 -0
  610. /package/{esm → dist}/src/generators/services/easy-network-stub/index.js +0 -0
  611. /package/{esm → dist}/src/generators/services/easy-network-stub/models.js +0 -0
  612. /package/{esm → dist}/src/generators/services/easy-network-stub/refs.js +0 -0
  613. /package/{esm → dist}/src/generators/services/fetch-clients/index.js +0 -0
  614. /package/{esm → dist}/src/generators/services/fetch-clients/models.js +0 -0
  615. /package/{esm → dist}/src/generators/services/fetch-clients/refs.js +0 -0
  616. /package/{esm → dist}/src/generators/services/k6-clients/index.js +0 -0
  617. /package/{esm → dist}/src/generators/services/k6-clients/refs.js +0 -0
@@ -1,515 +0,0 @@
1
- import { resolve } from 'node:path';
2
-
3
- import {
4
- type ApiComponent,
5
- type ApiEndpoint,
6
- type ApiResponse,
7
- type ApiSchema,
8
- type AppendValueGroup,
9
- appendValueGroup,
10
- type BasicAppendValue,
11
- builderTemplate as s,
12
- getSourceDisplayName,
13
- type MaybePromise,
14
- notNullish,
15
- toCasing,
16
- } from '@goast/core';
17
-
18
- import { ts } from '../../../ast/index.js';
19
- import type { TypeScriptExportOutput } from '../../../common-results.js';
20
- import { TypeScriptFileBuilder } from '../../../file-builder.js';
21
- import type { TypeScriptImportOptions } from '../../../import-collection.js';
22
- import { getSourceDocLine } from '../../../utils.js';
23
- import { TypeScriptFileGenerator } from '../../file-generator.js';
24
- import type { TypeScriptK6ClientGeneratorContext, TypeScriptK6ClientGeneratorOutput } from './models.js';
25
-
26
- type Context = TypeScriptK6ClientGeneratorContext;
27
- type Output = TypeScriptK6ClientGeneratorOutput;
28
- type Builder = TypeScriptFileBuilder;
29
-
30
- export interface TypeScriptK6ClientGenerator<TOutput extends Output = Output> {
31
- generate(context: Context): MaybePromise<TOutput>;
32
- }
33
-
34
- export class DefaultTypeScriptK6ClientGenerator extends TypeScriptFileGenerator<Context, Output>
35
- implements TypeScriptK6ClientGenerator {
36
- public override generate(ctx: TypeScriptK6ClientGeneratorContext): MaybePromise<TypeScriptK6ClientGeneratorOutput> {
37
- const responseModels = this.generateResponseModels(ctx);
38
-
39
- const filePath = this.getFilePath(ctx);
40
- const name = this.getClassName(ctx);
41
-
42
- TypeScriptFileBuilder.generate({
43
- logName: `k6 client ${name}`,
44
- filePath,
45
- options: ctx.config,
46
- generator: (b) => {
47
- ctx.service.endpoints.forEach((endpoint) => {
48
- console.log(
49
- ` ${getSourceDisplayName(ctx.data, endpoint)} [${toCasing(endpoint.name, ctx.config.functionNameCasing)}]`,
50
- );
51
- });
52
- b.append(this.getClientFileContent(ctx));
53
- },
54
- });
55
-
56
- return {
57
- filePath,
58
- component: name,
59
- responseModels,
60
- };
61
- }
62
-
63
- // #region Response Model
64
- protected generateResponseModels(ctx: Context): Record<string, TypeScriptExportOutput> {
65
- const result: Record<string, TypeScriptExportOutput> = {};
66
- const filePath = this.getResponseModelFilePath(ctx);
67
- const builder = new TypeScriptFileBuilder(filePath, ctx.config);
68
-
69
- for (const endpoint of ctx.service.endpoints) {
70
- const name = this.getResponseModelName(ctx, endpoint);
71
- builder.appendLine(this.getResponseModelFileContent(ctx, endpoint));
72
- result[endpoint.id] = { component: name, filePath };
73
- }
74
-
75
- builder.writeToFile();
76
- return result;
77
- }
78
-
79
- protected getResponseModelFileContent(ctx: Context, endpoint: ApiEndpoint): AppendValueGroup<Builder> {
80
- const result = appendValueGroup<Builder>([]);
81
- const statusCodes = this.getEndpointStatusCodes(ctx, endpoint);
82
- let statusCodeType: ts.Reference<Builder>;
83
-
84
- const statusCodesTypeName = toCasing(`${endpoint.name}_StatusCodes`, ctx.config.typeNameCasing);
85
- result.values.push(ts.typeAlias(statusCodesTypeName, ts.unionType(Object.keys(statusCodes))));
86
- if (ctx.config.strictResponseTypes) {
87
- statusCodeType = ts.reference(statusCodesTypeName);
88
- } else {
89
- statusCodeType = ctx.refs.httpStatusCode();
90
- }
91
-
92
- result.values.push(
93
- ts.typeAlias(
94
- this.getResponseModelName(ctx, endpoint),
95
- ts.intersectionType([
96
- ts.unionType([
97
- ...Object.entries(statusCodes).map(([key, value]) => {
98
- return ts.intersectionType<Builder>([
99
- ts.refs.omit([ts.refs.k6.response(), ts.string('json')]),
100
- ts.objectType({
101
- members: [
102
- ts.property('status', { type: key }),
103
- ts.method('json', {
104
- returnType: value.type,
105
- }),
106
- ts.method('json', {
107
- parameters: [ts.parameter('selector', { type: ts.refs.string() })],
108
- returnType: ts.refs.k6.jsonValue(),
109
- }),
110
- ],
111
- }),
112
- ]);
113
- }),
114
- !ctx.config.strictResponseTypes
115
- ? ts.intersectionType([
116
- ts.refs.k6.response(),
117
- ts.objectType({
118
- members: [
119
- ts.property('status', {
120
- type: ts.refs.exclude([ctx.refs.httpStatusCode(), ts.reference(statusCodesTypeName)]),
121
- }),
122
- ],
123
- }),
124
- ])
125
- : null,
126
- ]),
127
- ts.objectType({ members: [ts.property('status', { type: 'TStatus' })] }),
128
- ]),
129
- {
130
- doc: ts.doc({
131
- description: `Response model for operation ${this.getEndpointMethodName(ctx, endpoint)}`,
132
- tags: [endpoint.deprecated ? ts.docTag('deprecated') : null],
133
- }),
134
- export: true,
135
- generics: [
136
- ts.genericParameter('TStatus', {
137
- constraint: statusCodeType,
138
- default: statusCodeType,
139
- }),
140
- ],
141
- },
142
- ),
143
- );
144
-
145
- return result;
146
- }
147
-
148
- protected getEndpointStatusCodes(ctx: Context, endpoint: ApiEndpoint): Record<number, { type: ts.Type<Builder> }> {
149
- return Object.fromEntries([
150
- ...Object.entries(ctx.config.defaultStatusCodeResponseTypes).map(([key, value]) => [
151
- key,
152
- {
153
- parser: value?.parser ?? 'text',
154
- type: typeof value?.type === 'function'
155
- ? this.getSchemaType(ctx, value.type(ctx.data.schemas))
156
- : value ?? ts.refs.never(),
157
- },
158
- ]),
159
- ...endpoint.responses
160
- .filter((x) => x.statusCode)
161
- .map((x) => [
162
- x.statusCode,
163
- {
164
- type: this.getSchemaType(ctx, x.contentOptions[0]?.schema, { fallback: ts.refs.never() }),
165
- },
166
- ]),
167
- ]);
168
- }
169
- // #endregion
170
-
171
- protected getClientFileContent(ctx: Context): AppendValueGroup<Builder> {
172
- const code = appendValueGroup<Builder>([], '\n');
173
- for (const endpoint of ctx.service.endpoints) {
174
- if (endpoint.parameters.length > 0 || endpoint.requestBody !== undefined) {
175
- code.values.push(this.getEndpointParamsType(ctx, endpoint));
176
- }
177
- }
178
- code.values.push(
179
- appendValueGroup<Builder>(
180
- ctx.service.endpoints.map((e) =>
181
- ts.variable(this.getEndpointPathPropertyName(ctx, e), {
182
- readonly: true,
183
- value: ts.string(e.path),
184
- })
185
- ),
186
- ),
187
- );
188
- code.values.push(this.getClass(ctx));
189
- return code;
190
- }
191
-
192
- protected getEndpointParamsType(ctx: Context, endpoint: ApiEndpoint): ts.Doc<Builder> | ts.TypeAlias<Builder> {
193
- const importOptions: TypeScriptImportOptions = ctx.config.language === 'javascript' ? { type: 'js-doc' } : {};
194
- const description = `Parameters for operation ${this.getEndpointMethodName(ctx, endpoint)}`;
195
- const typeName = this.getEndpointParamsTypeName(ctx, endpoint);
196
- const properties: {
197
- schema?: ApiSchema;
198
- name: string;
199
- type: ts.Type<Builder>;
200
- description: string | undefined;
201
- required: boolean;
202
- }[] = endpoint.parameters
203
- .map((parameter) => {
204
- const schema = parameter.schema;
205
- return {
206
- schema,
207
- name: toCasing(parameter.name, ctx.config.propertyNameCasing),
208
- type: schema
209
- ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], importOptions)
210
- : this.getAnyType(ctx),
211
- description: parameter.description
212
- ? (parameter.deprecated ? 'Deprecated: ' : '') + parameter.description
213
- : parameter.deprecated
214
- ? 'Deprecated'
215
- : undefined,
216
- required: parameter.required,
217
- };
218
- });
219
-
220
- if (endpoint.requestBody !== undefined) {
221
- const body = endpoint.requestBody;
222
- const schema = body.content[0].schema;
223
- properties.push({
224
- schema,
225
- name: 'body',
226
- type: schema
227
- ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id], importOptions)
228
- : this.getAnyType(ctx),
229
- description: body.description,
230
- required: body.required,
231
- });
232
- }
233
-
234
- if (ctx.config.language === 'javascript') {
235
- return ts.doc<Builder>({
236
- description,
237
- tags: [
238
- ts.docTag('typedef', typeName),
239
- ...properties.map((p) =>
240
- ts.docTag<'property', Builder>('property', p.required ? p.name : `[${p.name}]`, {
241
- type: p.type,
242
- text: p.description,
243
- })
244
- ),
245
- ],
246
- });
247
- } else {
248
- return ts.typeAlias<Builder>(
249
- typeName,
250
- ts.objectType({
251
- members: properties.map((p) =>
252
- ts.property(p.name, {
253
- type: p.type,
254
- optional: !p.required,
255
- doc: p.description
256
- ? ts.doc({
257
- description: [
258
- p.description,
259
- p.schema ? getSourceDocLine(p.schema) : null,
260
- ].filter(notNullish).join('\n\n'),
261
- })
262
- : undefined,
263
- })
264
- ),
265
- }),
266
- );
267
- }
268
- }
269
-
270
- protected getClass(ctx: Context): ts.Class<Builder> {
271
- const isJs = ctx.config.language === 'javascript';
272
- const rootUrlType = ts.refs.string();
273
- const paramType = ts.functionType({
274
- returnType: ts.refs.k6.params({ importType: isJs ? 'js-doc' : 'type-import' }),
275
- });
276
- return ts.class<Builder>(this.getClassName(ctx), {
277
- doc: ts.doc({
278
- description: ctx.service.description,
279
- tags: [
280
- isJs ? ts.docTag('property', 'rootUrl', 'The root URL for this client.', { type: ts.refs.string() }) : null,
281
- ctx.service.endpoints.length === 0 || ctx.service.endpoints.some((x) => !x.deprecated)
282
- ? null
283
- : ts.docTag('deprecated'),
284
- ],
285
- }),
286
- export: true,
287
- members: [
288
- ...(isJs ? [] : [
289
- ts.property('rootUrl', {
290
- type: rootUrlType,
291
- readonly: true,
292
- accessModifier: 'public',
293
- doc: ts.doc({ description: 'The root URL for this client.' }),
294
- }),
295
- ts.property('_defaultK6ParamsFactory', {
296
- type: paramType,
297
- optional: true,
298
- readonly: true,
299
- accessModifier: 'private',
300
- doc: ts.doc({ description: 'A factory function that returns the default K6 parameters.' }),
301
- }),
302
- ]),
303
- ts.constructor({
304
- doc: ts.doc({
305
- description: 'Creates a new instance of the client.',
306
- tags: [
307
- ts.docTag('param', 'rootUrl', 'The root URL for this client.', { type: isJs ? rootUrlType : undefined }),
308
- ts.docTag(
309
- 'param',
310
- '[defaultK6ParamsFactory]',
311
- 'A factory function that returns the default K6 parameters.',
312
- { type: isJs ? paramType : undefined },
313
- ),
314
- ],
315
- }),
316
- parameters: [
317
- ts.constructorParameter('rootUrl', { type: isJs ? undefined : rootUrlType }),
318
- // `optional` renders a TypeScript `?`, which is a syntax error in a `.js` file. JavaScript
319
- // parameters are optional anyway, and the JSDoc `@param [defaultK6ParamsFactory]` above
320
- // already records it.
321
- ts.constructorParameter('defaultK6ParamsFactory', {
322
- type: isJs ? undefined : paramType,
323
- optional: isJs ? undefined : true,
324
- }),
325
- ],
326
- body: s`this.rootUrl = rootUrl;
327
- this._defaultK6ParamsFactory = defaultK6ParamsFactory;`,
328
- }),
329
- ...ctx.service.endpoints.map((e) => this.getEndpointMethod(ctx, e)),
330
- this.getGetK6ParamsMethod(ctx),
331
- ],
332
- });
333
- }
334
-
335
- protected getEndpointMethod(ctx: Context, endpoint: ApiEndpoint): ts.Method<Builder> {
336
- const isJs = ctx.config.language === 'javascript';
337
- const hasParams = this.hasEndpointParams(ctx, endpoint);
338
- const paramsOptional = !endpoint.parameters.some((p) => p.required) && !endpoint.requestBody?.required;
339
- const responseModelType = ts.reference(
340
- this.getResponseModelName(ctx, endpoint),
341
- this.getResponseModelFilePath(ctx),
342
- { importType: ctx.config.language === 'javascript' ? 'js-doc' : 'type-import' },
343
- );
344
- const returnType = responseModelType;
345
- const accept = this.getEndpointSuccessResponse(ctx, endpoint)?.contentOptions[0]?.type ?? '*/*';
346
- const paramsType = hasParams ? ts.reference(this.getEndpointParamsTypeName(ctx, endpoint)) : null;
347
- const returnTypeWithPromise = ctx.config.async ? ts.refs.promise([returnType]) : returnType;
348
-
349
- return ts.method<Builder>(this.getEndpointMethodName(ctx, endpoint), {
350
- async: ctx.config.async,
351
- parameters: [
352
- hasParams ? ts.parameter('params', { type: isJs ? null : paramsType }) : null,
353
- ts.parameter('k6Params', { type: isJs ? null : ts.refs.k6.params({ importType: 'type-import' }) }),
354
- ],
355
- returnType: isJs ? null : returnTypeWithPromise,
356
- doc: ts.doc({
357
- description: this.getDocDescription(ctx, endpoint),
358
- tags: isJs
359
- ? [
360
- hasParams ? ts.docTag('param', paramsOptional ? '[params]' : 'params', { type: paramsType }) : null,
361
- ts.docTag('param', '[k6Params]', { type: ts.refs.k6.params({ importType: 'js-doc' }) }),
362
- ts.docTag('returns', { type: returnTypeWithPromise }),
363
- endpoint.deprecated ? ts.docTag('deprecated') : null,
364
- ]
365
- : [],
366
- }),
367
- accessModifier: isJs ? null : 'public',
368
- body: appendValueGroup(
369
- [
370
- s`const rb = new ${ctx.refs.requestBuilder()}(this.rootUrl, ${
371
- this.getEndpointPathPropertyName(ctx, endpoint)
372
- }, '${endpoint.method}');`,
373
- hasParams
374
- ? (b) =>
375
- b.appendIf(paramsOptional, 'if (params) ').parenthesizeIf(
376
- paramsOptional,
377
- '{}',
378
- appendValueGroup(
379
- [
380
- ...endpoint.parameters
381
- .filter((p) => p.target === 'path' || p.target === 'query' || p.target === 'header')
382
- .map((p) => {
383
- const options = ts.object({
384
- members: [
385
- p.style !== undefined ? ts.property('style', { value: ts.string(p.style) }) : null,
386
- p.explode !== undefined ? ts.property('explode', { value: ts.toNode(p.explode) }) : null,
387
- ],
388
- });
389
- return s<Builder>`rb.${p.target}(${ts.string(p.name)}, params.${
390
- toCasing(
391
- p.name,
392
- ctx.config.propertyNameCasing,
393
- )
394
- }, ${options});`;
395
- }),
396
- endpoint.requestBody
397
- ? s`rb.body(params.body, ${
398
- ts.string(endpoint.requestBody.content[0].type ?? 'application/json')
399
- });`
400
- : null,
401
- ],
402
- '\n',
403
- ),
404
- { multiline: true },
405
- )
406
- : null,
407
- '',
408
- ctx.config.language === 'javascript'
409
- ? s`return /** @type {${returnType}} */ (${s.indent`
410
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent`
411
- accept: ${ts.string(accept)},
412
- params: this.getK6Params(k6Params),`}
413
- })`}
414
- );`
415
- : s`return (${s.indent`
416
- ${ctx.config.async ? 'await rb.buildAsync' : 'rb.build'}({${s.indent`
417
- accept: ${ts.string(accept)},
418
- params: this.getK6Params(k6Params),`}
419
- })`}
420
- ) as unknown as ${returnType};`,
421
- ],
422
- '\n',
423
- ),
424
- });
425
- }
426
-
427
- protected getGetK6ParamsMethod(ctx: Context): ts.Method<Builder> {
428
- const isJs = ctx.config.language === 'javascript';
429
- return ts.method('getK6Params', {
430
- accessModifier: isJs ? null : 'private',
431
- doc: isJs
432
- ? ts.doc({
433
- tags: [
434
- ts.docTag('private'),
435
- ts.docTag('param', '[k6Params]', { type: ts.refs.k6.params({ importType: 'js-doc' }) }),
436
- ],
437
- })
438
- : null,
439
- parameters: [ts.parameter('k6Params', { type: isJs ? null : ts.refs.k6.params({ importType: 'type-import' }) })],
440
- body: s`return Object.assign({}, this._defaultK6ParamsFactory ? this._defaultK6ParamsFactory() : {}, k6Params);`,
441
- });
442
- }
443
-
444
- protected getEndpointSuccessResponse(_ctx: Context, endpoint: ApiEndpoint): ApiResponse | undefined {
445
- return (
446
- endpoint.responses.find((x) => x.statusCode && x.statusCode >= 200 && x.statusCode < 300) ??
447
- endpoint.responses.find((x) => x.statusCode === undefined)
448
- );
449
- }
450
-
451
- protected getDocDescription<T>(
452
- ctx: Context,
453
- component: ApiComponent<T> & { description?: string },
454
- ): BasicAppendValue<Builder> {
455
- const docSegments = [component.description?.trim()];
456
-
457
- if (ctx.config.includeSourceInDocs) {
458
- docSegments.push(getSourceDocLine(component));
459
- }
460
-
461
- return docSegments.filter(notNullish).join('\n\n');
462
- }
463
-
464
- protected getSchemaType(
465
- ctx: Context,
466
- schema: ApiSchema | undefined,
467
- options?: TypeScriptImportOptions & { fallback?: ts.Type<Builder> },
468
- ): ts.Type<Builder> {
469
- const output = schema && ctx.input.typescript.models[schema.id];
470
- if (!output) return options?.fallback ?? this.getAnyType(ctx);
471
- return (b) => b.appendModelUsage(output, options);
472
- }
473
-
474
- protected getClassName(ctx: Context): string {
475
- return toCasing(ctx.service.name, ctx.config.clientNameCasing ?? ctx.config.typeNameCasing);
476
- }
477
-
478
- protected getResponseModelName(ctx: Context, endpoint: ApiEndpoint): string {
479
- return toCasing(`${this.getEndpointMethodName(ctx, endpoint)}ApiResponse`, ctx.config.typeNameCasing);
480
- }
481
-
482
- protected getEndpointParamsTypeName(ctx: Context, endpoint: ApiEndpoint): string {
483
- return toCasing(this.getEndpointMethodName(ctx, endpoint) + '_Params', ctx.config.typeNameCasing);
484
- }
485
-
486
- protected getEndpointPathPropertyName(ctx: Context, endpoint: ApiEndpoint): string {
487
- return toCasing(this.getEndpointMethodName(ctx, endpoint) + '_Path', ctx.config.constantNameCasing);
488
- }
489
-
490
- protected getEndpointMethodName(ctx: Context, endpoint: ApiEndpoint): string {
491
- return toCasing(endpoint.name, ctx.config.functionNameCasing);
492
- }
493
-
494
- protected getFilePath(ctx: Context): string {
495
- return resolve(
496
- ctx.config.outputDir,
497
- ctx.config.clientDir,
498
- `${toCasing(ctx.service.name, ctx.config.clientFileNameCasing ?? ctx.config.fileNameCasing)}.${
499
- ctx.config.language === 'typescript' ? 'ts' : 'js'
500
- }`,
501
- );
502
- }
503
-
504
- protected getResponseModelFilePath(ctx: Context): string {
505
- return resolve(
506
- ctx.config.outputDir,
507
- ctx.config.responseModelsDir,
508
- `${toCasing(ctx.service.name, ctx.config.responseModelFileNameCasing ?? ctx.config.fileNameCasing)}.ts`,
509
- );
510
- }
511
-
512
- protected hasEndpointParams(_ctx: Context, endpoint: ApiEndpoint): boolean {
513
- return endpoint.parameters.length > 0 || endpoint.requestBody !== undefined;
514
- }
515
- }
@@ -1,171 +0,0 @@
1
- import { resolve } from 'node:path';
2
-
3
-
4
- import fs from 'fs-extra';
5
-
6
- import {
7
- type ApiService,
8
- type AppendValueGroup,
9
- appendValueGroup,
10
- Factory,
11
- type MaybePromise,
12
- type OpenApiGeneratorContext,
13
- OpenApiServicesGenerationProviderBase,
14
- } from '@goast/core';
15
-
16
- import { copyAssetFile } from '../../../assets.js';
17
- import { ts } from '../../../ast/index.js';
18
- import { TypeScriptFileBuilder } from '../../../file-builder.js';
19
- import { DefaultTypeScriptK6ClientGenerator, type TypeScriptK6ClientGenerator } from './k6-client-generator.js';
20
- import {
21
- defaultTypeScriptK6ClientsGeneratorConfig,
22
- type TypeScriptK6ClientGeneratorOutput,
23
- type TypeScriptK6ClientsGeneratorConfig,
24
- type TypeScriptK6ClientsGeneratorContext,
25
- type TypeScriptK6ClientsGeneratorInput,
26
- type TypeScriptK6ClientsGeneratorOutput,
27
- } from './models.js';
28
- import { getReferenceFactories } from './refs.js';
29
-
30
- type Input = TypeScriptK6ClientsGeneratorInput;
31
- type Output = TypeScriptK6ClientsGeneratorOutput;
32
- type Config = TypeScriptK6ClientsGeneratorConfig;
33
- type ServiceOutput = TypeScriptK6ClientGeneratorOutput;
34
- type Context = TypeScriptK6ClientsGeneratorContext;
35
-
36
- export class TypeScriptK6ClientsGenerator extends OpenApiServicesGenerationProviderBase<
37
- Input,
38
- Output,
39
- Config,
40
- ServiceOutput,
41
- Context
42
- > {
43
- private readonly _clientGeneratorFactory: Factory<TypeScriptK6ClientGenerator, []>;
44
-
45
- constructor(clientGeneratorFactory?: Factory<TypeScriptK6ClientGenerator, []>) {
46
- super();
47
- this._clientGeneratorFactory = clientGeneratorFactory ??
48
- Factory.fromValue(new DefaultTypeScriptK6ClientGenerator());
49
- }
50
-
51
- protected override initResult(): Output {
52
- return {
53
- typescript: {
54
- k6Clients: {},
55
- indexFiles: {
56
- k6Clients: undefined,
57
- k6ResponseModels: undefined,
58
- },
59
- },
60
- };
61
- }
62
-
63
- protected override buildContext(
64
- context: OpenApiGeneratorContext<Input>,
65
- config?: Partial<Config> | undefined,
66
- ): Context {
67
- const providerContext = this.getProviderContext(context, config, defaultTypeScriptK6ClientsGeneratorConfig);
68
- return Object.assign(providerContext, {
69
- refs: getReferenceFactories(providerContext.config),
70
- });
71
- }
72
-
73
- protected override async generateAdditionalFiles(ctx: TypeScriptK6ClientsGeneratorContext): Promise<void> {
74
- await this.generateUtilsFiles(ctx);
75
- ctx.output.typescript.indexFiles = this.generateIndexFiles(ctx);
76
- }
77
-
78
- protected override generateService(ctx: Context, service: ApiService): MaybePromise<ServiceOutput> {
79
- const clientGenerator = this._clientGeneratorFactory.create();
80
- return clientGenerator.generate({
81
- ...ctx,
82
- service,
83
- });
84
- }
85
-
86
- protected override addServiceResult(ctx: Context, service: ApiService, result: ServiceOutput): void {
87
- ctx.output.typescript.k6Clients[service.id] = result;
88
- }
89
-
90
- protected async generateUtilsFiles(ctx: Context): Promise<void> {
91
- const targetDir = resolve(ctx.config.outputDir, ctx.config.utilsDir);
92
- await fs.ensureDir(targetDir);
93
-
94
- const ext = ctx.config.language === 'javascript' ? '.js' : '.ts';
95
- await copyAssetFile(`client/k6/request-builder${ext}`, targetDir, 'Request Builder');
96
-
97
- if (!ctx.config.strictResponseTypes) {
98
- TypeScriptFileBuilder.generate({
99
- logName: 'http status codes',
100
- filePath: resolve(targetDir, 'http-status-code.ts'),
101
- options: ctx.config,
102
- generator: (b) => b.append(this.getHttpStatusCodeFileContent(ctx)),
103
- });
104
- }
105
- }
106
-
107
- protected getHttpStatusCodeFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder> {
108
- return appendValueGroup(
109
- [
110
- ts.typeAlias('HttpStatusCode', ts.unionType(ctx.config.possibleStatusCodes), {
111
- doc: ts.doc({ description: 'The possible status codes that any API endpoint can return.' }),
112
- export: true,
113
- }),
114
- ],
115
- '\n',
116
- );
117
- }
118
-
119
- protected generateIndexFiles(ctx: Context): Output['typescript']['indexFiles'] {
120
- const clientsIndexFilePath = this.getIndexFilePath(ctx);
121
- const responseModelsIndexFilePath = this.getResponseModelsIndexFilePath(ctx);
122
-
123
- TypeScriptFileBuilder.tryGenerate({
124
- logName: 'clients index file',
125
- filePath: clientsIndexFilePath,
126
- options: ctx.config,
127
- generator: (b) => b.append(this.getIndexFileContent(ctx)),
128
- });
129
-
130
- TypeScriptFileBuilder.tryGenerate({
131
- logName: 'response models index file',
132
- filePath: responseModelsIndexFilePath,
133
- options: ctx.config,
134
- generator: (b) => b.append(this.getResponseModelsIndexFileContent(ctx)),
135
- });
136
-
137
- return {
138
- k6Clients: clientsIndexFilePath,
139
- k6ResponseModels: responseModelsIndexFilePath,
140
- };
141
- }
142
-
143
- protected getIndexFilePath(ctx: Context): string | null {
144
- return ctx.config.clientsIndexFile
145
- ? resolve(
146
- ctx.config.outputDir,
147
- ctx.config.clientsIndexFile.replace(/\.[jt]s$/, ctx.config.language === 'javascript' ? '.js' : '.ts'),
148
- )
149
- : null;
150
- }
151
-
152
- protected getResponseModelsIndexFilePath(ctx: Context): string | null {
153
- return ctx.config.responseModelsIndexFile
154
- ? resolve(ctx.config.outputDir, ctx.config.responseModelsIndexFile)
155
- : null;
156
- }
157
-
158
- protected getIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder> {
159
- return appendValueGroup(
160
- Object.values(ctx.output.typescript.k6Clients).map((x) => ts.export(x.component, x.filePath)),
161
- );
162
- }
163
-
164
- protected getResponseModelsIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder> {
165
- return appendValueGroup(
166
- Object.values(ctx.output.typescript.k6Clients)
167
- .flatMap((x) => Object.values(x.responseModels))
168
- .map((x) => ts.export(x.component, x.filePath)),
169
- );
170
- }
171
- }