@goast/typescript 0.8.0 → 0.9.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +26 -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,305 +0,0 @@
1
- import { resolve } from 'node:path';
2
-
3
- import {
4
- type ApiComponent,
5
- type ApiEndpoint,
6
- type ApiSchema,
7
- type AppendValueGroup,
8
- appendValueGroup,
9
- type BasicAppendValue,
10
- builderTemplate as s,
11
- getSourceDisplayName,
12
- type MaybePromise,
13
- notNullish,
14
- toCasing,
15
- } from '@goast/core';
16
-
17
- import { ts } from '../../../ast/index.js';
18
- import { TypeScriptFileBuilder } from '../../../file-builder.js';
19
- import { getSourceDocLine } from '../../../utils.js';
20
- import { TypeScriptFileGenerator } from '../../file-generator.js';
21
- import type { TypeScriptFetchClientGeneratorContext, TypeScriptFetchClientGeneratorOutput } from './models.js';
22
-
23
- type Context = TypeScriptFetchClientGeneratorContext;
24
- type Output = TypeScriptFetchClientGeneratorOutput;
25
- type Builder = TypeScriptFileBuilder;
26
-
27
- export interface TypeScriptFetchClientGenerator<TOutput extends Output = Output> {
28
- generate(ctx: Context): MaybePromise<TOutput>;
29
- }
30
-
31
- export class DefaultTypeScriptFetchClientGenerator extends TypeScriptFileGenerator<Context, Output>
32
- implements TypeScriptFetchClientGenerator {
33
- public generate(ctx: Context): MaybePromise<Output> {
34
- const result: Output = {};
35
-
36
- if (this.shouldGenerateInterface(ctx)) {
37
- const filePath = this.getInterfaceFilePath(ctx);
38
- const name = this.getInterfaceName(ctx);
39
-
40
- TypeScriptFileBuilder.generate({
41
- logName: `interface ${name}`,
42
- filePath,
43
- options: ctx.config,
44
- generator: (b) => {
45
- ctx.service.endpoints.forEach((endpoint) => {
46
- console.log(
47
- ` ${getSourceDisplayName(ctx.data, endpoint)} [${
48
- toCasing(endpoint.name, ctx.config.functionNameCasing)
49
- }]`,
50
- );
51
- });
52
- b.append(this.getInterfaceFileContent(ctx));
53
- },
54
- });
55
-
56
- result.clientInterface = { filePath, component: name };
57
- }
58
-
59
- if (this.shouldGenerateClass(ctx)) {
60
- const filePath = this.getClassFilePath(ctx);
61
- const name = this.getClassName(ctx);
62
-
63
- TypeScriptFileBuilder.generate({
64
- logName: `class ${name}`,
65
- filePath,
66
- options: ctx.config,
67
- generator: (b) => b.append(this.getClassFileContent(ctx)),
68
- });
69
-
70
- result.client = { filePath, component: name };
71
- }
72
-
73
- return result;
74
- }
75
-
76
- // #region Interface
77
- protected getInterfaceFileContent(ctx: Context): AppendValueGroup<Builder> {
78
- return appendValueGroup([this.getInterface(ctx)], '\n');
79
- }
80
-
81
- protected getInterface(ctx: Context): ts.Interface<Builder> {
82
- return ts.interface(this.getInterfaceName(ctx), {
83
- doc: ts.doc({
84
- description: ctx.service.description,
85
- tags: [
86
- ctx.service.endpoints.length === 0 || ctx.service.endpoints.some((x) => !x.deprecated)
87
- ? null
88
- : ts.docTag('deprecated'),
89
- ],
90
- }),
91
- export: true,
92
- members: ctx.service.endpoints.map((endpoint) => this.getInterfaceEndpointMethod(ctx, endpoint)),
93
- });
94
- }
95
-
96
- protected getInterfaceEndpointMethod(ctx: Context, endpoint: ApiEndpoint): ts.Method<Builder> {
97
- const params = endpoint.parameters.filter((x) =>
98
- x.target === 'path' || x.target === 'query' || x.target === 'header'
99
- );
100
- const bodySchema = endpoint.requestBody?.content[0]?.schema;
101
- const responseSchema = this.getResponseSchema(ctx, endpoint);
102
- return ts.method(toCasing(endpoint.name, ctx.config.functionNameCasing), {
103
- doc: ts.doc({
104
- description: this.getDocDescription(ctx, endpoint),
105
- tags: [endpoint.deprecated ? ts.docTag('deprecated') : null],
106
- }),
107
- parameters: [
108
- params.length > 0
109
- ? ts.parameter('params', {
110
- description: 'Parameters for the endpoint.',
111
- type: ts.objectType({
112
- members: params.map((x) =>
113
- ts.property(toCasing(x.name, ctx.config.propertyNameCasing), {
114
- doc: ts.doc({ tags: [x.deprecated ? ts.docTag('deprecated') : null] }),
115
- type: this.getSchemaType(ctx, x.schema),
116
- optional: !x.required,
117
- })
118
- ),
119
- }),
120
- })
121
- : null,
122
- bodySchema &&
123
- ts.parameter('body', {
124
- description: 'Body for the endpoint.',
125
- type: this.getSchemaType(ctx, bodySchema),
126
- }),
127
- ],
128
- returnType: ts.refs.promise([ctx.refs.typedResponse([this.getSchemaType(ctx, responseSchema, ts.refs.void_())])]),
129
- });
130
- }
131
- // #endregion
132
-
133
- // #region Class
134
- protected getClassFileContent(ctx: Context): AppendValueGroup<Builder> {
135
- return appendValueGroup([this.getDefaultOptionsConstant(ctx), this.getClass(ctx)], '\n');
136
- }
137
-
138
- protected getDefaultOptionsConstant(ctx: Context): ts.Variable<Builder> {
139
- const baseUrl = ctx.service.endpoints.map((x) => x.$src?.document.servers?.find((x) => x.url)?.url).find((x) =>
140
- !!x
141
- );
142
- return ts.variable(this.getDefaultOptionsConstantName(ctx), {
143
- export: true,
144
- readonly: true,
145
- type: ctx.refs.fetchClientOptions(),
146
- value: ts.object({
147
- members: [baseUrl && ts.property('baseUrl', { value: ts.string(baseUrl) })],
148
- }),
149
- });
150
- }
151
-
152
- protected getClass(ctx: Context): ts.Class<Builder> {
153
- return ts.class(this.getClassName(ctx), {
154
- doc: ts.doc({
155
- description: ctx.service.description,
156
- tags: [
157
- ctx.service.endpoints.length === 0 || ctx.service.endpoints.some((x) => !x.deprecated)
158
- ? null
159
- : ts.docTag('deprecated'),
160
- ],
161
- }),
162
- export: true,
163
- implements: this.shouldGenerateInterface(ctx)
164
- ? [ts.reference(this.getInterfaceName(ctx), this.getInterfaceFilePath(ctx))]
165
- : undefined,
166
- members: [
167
- ts.property('options', {
168
- doc: ts.doc({ description: 'Options for the fetch client.' }),
169
- accessModifier: 'public',
170
- type: ctx.refs.fetchClientOptions(),
171
- }),
172
- ts.constructor({
173
- parameters: [
174
- ts.constructorParameter('options', {
175
- type: ts.refs.partial([ctx.refs.fetchClientOptions()]),
176
- optional: true,
177
- }),
178
- ],
179
- body: appendValueGroup(
180
- [s`this.options = { ...${this.getDefaultOptionsConstantName(ctx)}, ...options };`],
181
- '\n',
182
- ),
183
- }),
184
- ...ctx.service.endpoints.map((endpoint) => this.getServiceMethod(ctx, endpoint)),
185
- ],
186
- });
187
- }
188
-
189
- protected getServiceMethod(ctx: Context, endpoint: ApiEndpoint): ts.Method<Builder> {
190
- const method = this.getInterfaceEndpointMethod(ctx, endpoint);
191
- method.accessModifier = 'public';
192
- method.body = appendValueGroup(
193
- [
194
- s`const url = new ${ctx.refs.urlBuilder()}(this.options.baseUrl)${s.indent`
195
- .withPath(${ts.string(endpoint.path)})${(b) =>
196
- b.forEach(endpoint.parameters, (b, p) => {
197
- switch (p.target) {
198
- case 'path':
199
- b.append(
200
- s<Builder>`\n.withPathParam(${ts.string(p.name)}, params.${
201
- toCasing(p.name, ctx.config.paramNameCasing)
202
- })`,
203
- );
204
- break;
205
- case 'query':
206
- b.append(
207
- s<Builder>`\n.withQueryParam(${ts.string(p.name)}, params.${
208
- toCasing(p.name, ctx.config.paramNameCasing)
209
- })`,
210
- );
211
- break;
212
- }
213
- })}
214
- .build();`}`,
215
- 'const headers = { ...this.options.headers };',
216
- ...endpoint.parameters.filter((x) => x.target === 'header').map((p) =>
217
- s<Builder>`if (params && params.${toCasing(p.name, ctx.config.paramNameCasing)} !== undefined) {${s.indent`
218
- headers[${ts.string(p.name)}] = String(params.${toCasing(p.name, ctx.config.paramNameCasing)});`}
219
- }`
220
- ),
221
- s`const response = (this.options.fetch ?? fetch)(url, ${
222
- ts.object({
223
- members: [
224
- ts.property('method', { value: ts.string(toCasing(endpoint.method, 'all-upper')) }),
225
- ts.property('headers', { value: 'headers' }),
226
- endpoint.requestBody?.content[0]?.schema ? ts.property('body', { value: 'JSON.stringify(body)' }) : null,
227
- ],
228
- })
229
- });`,
230
- s`Object.defineProperty(response, 'isVoidResponse', { value: ${
231
- this.getResponseSchema(ctx, endpoint) ? 'false' : 'true'
232
- } });`,
233
- s`return response as unknown as ${method.returnType ?? 'unknown'};`,
234
- ],
235
- '\n',
236
- );
237
- return method;
238
- }
239
- // #endregion
240
-
241
- protected getDocDescription<T>(
242
- ctx: Context,
243
- component: ApiComponent<T> & { description?: string },
244
- ): BasicAppendValue<Builder> {
245
- const docSegments = [component.description?.trim()];
246
-
247
- if (ctx.config.includeSourceInDocs) {
248
- docSegments.push(getSourceDocLine(component));
249
- }
250
-
251
- return docSegments.filter(notNullish).join('\n\n');
252
- }
253
-
254
- protected getSchemaType(ctx: Context, schema: ApiSchema | undefined, fallback?: ts.Type<Builder>): ts.Type<Builder> {
255
- const output = schema && ctx.input.typescript.models[schema.id];
256
- if (!output) return fallback ?? this.getAnyType(ctx);
257
- return (b) => b.appendModelUsage(output);
258
- }
259
-
260
- protected shouldGenerateInterface(ctx: Context): boolean {
261
- return ctx.config.clientFileKind === 'interface' || ctx.config.clientFileKind === 'class-and-interface';
262
- }
263
-
264
- protected shouldGenerateClass(ctx: Context): boolean {
265
- return ctx.config.clientFileKind === 'class' || ctx.config.clientFileKind === 'class-and-interface';
266
- }
267
-
268
- protected getInterfaceName(ctx: Context): string {
269
- return toCasing(ctx.service.name, ctx.config.clientInterfaceNameCasing ?? ctx.config.typeNameCasing);
270
- }
271
-
272
- protected getClassName(ctx: Context): string {
273
- return toCasing(ctx.service.name, ctx.config.clientNameCasing ?? ctx.config.typeNameCasing);
274
- }
275
-
276
- protected getDefaultOptionsConstantName(ctx: Context): string {
277
- return toCasing(this.getClassName(ctx) + '-default-options', ctx.config.constantNameCasing);
278
- }
279
-
280
- protected getInterfaceFilePath(ctx: Context): string {
281
- return resolve(
282
- ctx.config.outputDir,
283
- ctx.config.clientInterfaceDir ?? ctx.config.clientDir,
284
- `${toCasing(ctx.service.name, ctx.config.clientInterfaceFileNameCasing ?? ctx.config.fileNameCasing)}.ts`,
285
- );
286
- }
287
-
288
- protected getClassFilePath(ctx: Context): string {
289
- return resolve(
290
- ctx.config.outputDir,
291
- ctx.config.clientDir,
292
- `${toCasing(ctx.service.name, ctx.config.clientFileNameCasing ?? ctx.config.fileNameCasing)}.ts`,
293
- );
294
- }
295
-
296
- protected getUtilPath(ctx: Context, fileName: string): string {
297
- return resolve(ctx.config.outputDir, ctx.config.utilsDir, fileName);
298
- }
299
-
300
- private getResponseSchema(_ctx: Context, endpoint: ApiEndpoint) {
301
- const successResponse = endpoint.responses.find((x) => x.statusCode === 200) ??
302
- endpoint.responses.find((x) => x.statusCode && x.statusCode > 200 && x.statusCode < 300);
303
- return successResponse?.contentOptions?.find((x) => x.schema !== undefined)?.schema;
304
- }
305
- }
@@ -1,163 +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
- notNullish,
13
- type OpenApiGeneratorContext,
14
- OpenApiServicesGenerationProviderBase,
15
- } from '@goast/core';
16
-
17
- import { copyAssetFile } from '../../../assets.js';
18
- import { ts } from '../../../ast/index.js';
19
- import { TypeScriptFileBuilder } from '../../../file-builder.js';
20
- import {
21
- DefaultTypeScriptFetchClientGenerator,
22
- type TypeScriptFetchClientGenerator,
23
- } from './fetch-client-generator.js';
24
- import {
25
- defaultTypeScriptFetchClientsGeneratorConfig,
26
- type TypeScriptFetchClientGeneratorOutput,
27
- type TypeScriptFetchClientsGeneratorConfig,
28
- type TypeScriptFetchClientsGeneratorContext,
29
- type TypeScriptFetchClientsGeneratorInput,
30
- type TypeScriptFetchClientsGeneratorOutput,
31
- } from './models.js';
32
- import { getReferenceFactories } from './refs.js';
33
-
34
- type Input = TypeScriptFetchClientsGeneratorInput;
35
- type Output = TypeScriptFetchClientsGeneratorOutput;
36
- type Config = TypeScriptFetchClientsGeneratorConfig;
37
- type ServiceOutput = TypeScriptFetchClientGeneratorOutput;
38
- type Context = TypeScriptFetchClientsGeneratorContext;
39
-
40
- export class TypeScriptFetchClientsGenerator extends OpenApiServicesGenerationProviderBase<
41
- Input,
42
- Output,
43
- Config,
44
- ServiceOutput,
45
- Context
46
- > {
47
- private readonly _clientGeneratorFactory: Factory<TypeScriptFetchClientGenerator, []>;
48
-
49
- constructor(clientGeneratorFactory?: Factory<TypeScriptFetchClientGenerator, []>) {
50
- super();
51
- this._clientGeneratorFactory = clientGeneratorFactory ??
52
- Factory.fromValue(new DefaultTypeScriptFetchClientGenerator());
53
- }
54
-
55
- protected override initResult(): Output {
56
- return {
57
- typescript: {
58
- clients: {},
59
- indexFiles: {
60
- clients: undefined,
61
- clientInterfaces: undefined,
62
- },
63
- },
64
- };
65
- }
66
-
67
- protected override buildContext(
68
- context: OpenApiGeneratorContext<Input>,
69
- config?: Partial<Config> | undefined,
70
- ): Context {
71
- const providerContext = this.getProviderContext(context, config, defaultTypeScriptFetchClientsGeneratorConfig);
72
- return Object.assign(providerContext, {
73
- refs: getReferenceFactories(providerContext.config),
74
- });
75
- }
76
-
77
- protected override async generateAdditionalFiles(ctx: TypeScriptFetchClientsGeneratorContext): Promise<void> {
78
- await this.copyUtilsFiles(ctx);
79
- ctx.output.typescript.indexFiles.clients = this.generateIndexFile(ctx);
80
- ctx.output.typescript.indexFiles.clientInterfaces = this.generateInterfaceIndexFile(ctx);
81
- }
82
-
83
- protected override generateService(ctx: Context, service: ApiService): MaybePromise<ServiceOutput> {
84
- const clientGenerator = this._clientGeneratorFactory.create();
85
- return clientGenerator.generate({
86
- ...ctx,
87
- service,
88
- });
89
- }
90
-
91
- protected override addServiceResult(ctx: Context, service: ApiService, result: ServiceOutput): void {
92
- ctx.output.typescript.clients[service.id] = result;
93
- }
94
-
95
- protected generateIndexFile(ctx: Context): string | null {
96
- const filePath = this.getIndexFilePath(ctx);
97
-
98
- TypeScriptFileBuilder.tryGenerate({
99
- logName: 'clients index file',
100
- filePath,
101
- options: ctx.config,
102
- generator: (b) => b.append(this.getIndexFileContent(ctx)),
103
- });
104
-
105
- return filePath;
106
- }
107
-
108
- protected generateInterfaceIndexFile(ctx: Context): string | null {
109
- const filePath = this.getInterfaceIndexFilePath(ctx);
110
- const clientsFilePath = this.getIndexFilePath(ctx);
111
-
112
- if (filePath && filePath === clientsFilePath) {
113
- return clientsFilePath;
114
- }
115
-
116
- TypeScriptFileBuilder.tryGenerate({
117
- logName: 'client interfaces index file',
118
- filePath,
119
- options: ctx.config,
120
- generator: (b) => b.append(this.getInterfaceIndexFileContent(ctx)),
121
- });
122
-
123
- return filePath;
124
- }
125
-
126
- protected getIndexFilePath(ctx: Context): string | null {
127
- return ctx.config.clientsIndexFile ? resolve(ctx.config.outputDir, ctx.config.clientsIndexFile) : null;
128
- }
129
-
130
- protected getInterfaceIndexFilePath(ctx: Context): string | null {
131
- return ctx.config.clientInterfacesIndexFile
132
- ? resolve(ctx.config.outputDir, ctx.config.clientInterfacesIndexFile)
133
- : null;
134
- }
135
-
136
- protected getIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder> {
137
- const cIndexPath = this.getIndexFilePath(ctx);
138
- const iIndexPath = this.getInterfaceIndexFilePath(ctx);
139
- return appendValueGroup(
140
- (iIndexPath && iIndexPath === cIndexPath
141
- ? Object.values(ctx.output.typescript.clients).flatMap((c) => [c.client, c.clientInterface])
142
- : Object.values(ctx.output.typescript.clients).map((c) => c.client))
143
- .filter(notNullish)
144
- .map((x) => ts.export(x.component, x.filePath)),
145
- );
146
- }
147
-
148
- protected getInterfaceIndexFileContent(ctx: Context): AppendValueGroup<TypeScriptFileBuilder> {
149
- return appendValueGroup(
150
- Object.values(ctx.output.typescript.clients)
151
- .map((c) => c.clientInterface)
152
- .filter(notNullish)
153
- .map((x) => ts.export(x.component, x.filePath)),
154
- );
155
- }
156
-
157
- private async copyUtilsFiles(ctx: Context): Promise<void> {
158
- const targetDir = resolve(ctx.config.outputDir, ctx.config.utilsDir);
159
- await fs.ensureDir(targetDir);
160
-
161
- await copyAssetFile('client/fetch/fetch-client.utils.ts', targetDir);
162
- }
163
- }
@@ -1,3 +0,0 @@
1
- export * from './fetch-client-generator.js';
2
- export * from './fetch-clients-generator.js';
3
- export * from './models.js';
@@ -1,130 +0,0 @@
1
- import type {
2
- ApiService,
3
- DefaultGenerationProviderConfig,
4
- ExtendedStringCasing,
5
- Nullable,
6
- OpenApiServicesGenerationProviderContext,
7
- } from '@goast/core';
8
-
9
- import type { TypeScriptExportOutput } from '../../../common-results.js';
10
- import { defaultTypeScriptGeneratorConfig, type TypeScriptGeneratorConfig } from '../../../config.js';
11
- import type { TypeScriptModelsGeneratorOutput } from '../../models/models.js';
12
- import type { getReferenceFactories } from './refs.js';
13
-
14
- export type TypeScriptFetchClientsGeneratorConfig = TypeScriptGeneratorConfig & {
15
- /**
16
- * The casing of the client file names. If nullish, the `fileNameCasing` is used.
17
- * @default { casing: 'kebab', suffix: '-client' }
18
- */
19
- clientFileNameCasing: Nullable<ExtendedStringCasing>;
20
-
21
- /**
22
- * The casing of the client interface file names. If nullish, the `fileNameCasing` is used.
23
- * @default { casing: 'kebab', suffix: '-client' }
24
- */
25
- clientInterfaceFileNameCasing: Nullable<ExtendedStringCasing>;
26
-
27
- /**
28
- * The casing of the client names. If nullish, the `typeNameCasing` is used.
29
- * @default { casing: 'pascal', suffix: 'Client' }
30
- */
31
- clientNameCasing: Nullable<ExtendedStringCasing>;
32
-
33
- /**
34
- * The casing of the client interface names. If nullish, the `typeNameCasing` is used.
35
- * @default { prefix: 'I', casing: 'pascal', suffix: 'Client' }
36
- */
37
- clientInterfaceNameCasing: Nullable<ExtendedStringCasing>;
38
-
39
- /**
40
- * Determines how the client files should be generated.
41
- * - `interface` - generates only the interface
42
- * - `class` - generates only the class
43
- * - `class-and-interface` - generates both the class and the interface
44
- * @default 'class'
45
- */
46
- clientFileKind: 'interface' | 'class' | 'class-and-interface';
47
-
48
- /**
49
- * The directory where the client files should be saved. The path is relative to the output directory.
50
- * @default 'clients'
51
- */
52
- clientDir: string;
53
-
54
- /**
55
- * The directory where the client interface files should be saved. The path is relative to the output directory.
56
- * @default 'clients/interfaces'
57
- */
58
- clientInterfaceDir: Nullable<string>;
59
-
60
- /**
61
- * The index file where all clients should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
62
- * @default 'clients.ts'
63
- */
64
- clientsIndexFile: Nullable<string>;
65
-
66
- /**
67
- * The index file where all client interfaces should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
68
- * @default 'clients.ts'
69
- */
70
- clientInterfacesIndexFile: Nullable<string>;
71
-
72
- /**
73
- * The directory where the utilies should be saved. The path is relative to the output directory.
74
- * @default 'utils'
75
- */
76
- utilsDir: string;
77
- };
78
-
79
- export const defaultTypeScriptFetchClientsGeneratorConfig: DefaultGenerationProviderConfig<
80
- TypeScriptFetchClientsGeneratorConfig
81
- > = {
82
- ...defaultTypeScriptGeneratorConfig,
83
-
84
- clientFileNameCasing: { casing: 'kebab', suffix: '-client' },
85
- clientInterfaceFileNameCasing: undefined,
86
-
87
- clientNameCasing: { casing: 'pascal', suffix: 'Client' },
88
- clientInterfaceNameCasing: { prefix: 'I', casing: 'pascal', suffix: 'Client' },
89
-
90
- clientFileKind: 'class',
91
- clientDir: 'clients',
92
- clientInterfaceDir: 'clients/interfaces',
93
- clientsIndexFile: 'clients.ts',
94
- clientInterfacesIndexFile: 'clients.ts',
95
- utilsDir: 'utils',
96
- };
97
-
98
- export type TypeScriptFetchClientsGeneratorInput = TypeScriptModelsGeneratorOutput;
99
-
100
- export type TypeScriptFetchClientsGeneratorOutput = {
101
- typescript: {
102
- clients: {
103
- [serviceId: string]: TypeScriptFetchClientGeneratorOutput;
104
- };
105
- indexFiles: {
106
- clients: Nullable<string>;
107
- clientInterfaces: Nullable<string>;
108
- };
109
- };
110
- };
111
-
112
- export type TypeScriptFetchClientGeneratorOutput = {
113
- client?: TypeScriptExportOutput;
114
- clientInterface?: TypeScriptExportOutput;
115
- };
116
-
117
- export type TypeScriptFetchClientsGeneratorContext =
118
- & OpenApiServicesGenerationProviderContext<
119
- TypeScriptFetchClientsGeneratorInput,
120
- TypeScriptFetchClientsGeneratorOutput,
121
- TypeScriptFetchClientsGeneratorConfig,
122
- TypeScriptFetchClientGeneratorOutput
123
- >
124
- & {
125
- refs: ReturnType<typeof getReferenceFactories>;
126
- };
127
-
128
- export type TypeScriptFetchClientGeneratorContext = TypeScriptFetchClientsGeneratorContext & {
129
- readonly service: ApiService;
130
- };
@@ -1,21 +0,0 @@
1
- import { resolve } from 'node:path';
2
-
3
- import { ts } from '../../../ast/index.js';
4
- import type { TypeScriptFetchClientsGeneratorConfig } from './models.js';
5
-
6
- // See packages/typescript/assets/client/fetch for reference
7
- export function getReferenceFactories(options: TypeScriptFetchClientsGeneratorConfig): {
8
- typedResponse: ts.GenericModuleReferenceFactory<1>;
9
- fetchClientOptions: ts.ModuleReferenceFactory;
10
- urlBuilder: ts.ModuleReferenceFactory;
11
- } {
12
- const utilsDirPath = resolve(options.outputDir, options.utilsDir);
13
- const fetchClientUtilsPath = resolve(utilsDirPath, 'fetch-client.utils.ts');
14
-
15
- return {
16
- // fetch-client.utils.ts
17
- typedResponse: ts.reference.genericFactory<1>('TypedResponse', fetchClientUtilsPath, { importType: 'type-import' }),
18
- fetchClientOptions: ts.reference.factory('FetchClientOptions', fetchClientUtilsPath, { importType: 'type-import' }),
19
- urlBuilder: ts.reference.factory('UrlBuilder', fetchClientUtilsPath),
20
- };
21
- }
@@ -1,3 +0,0 @@
1
- export * from './k6-client-generator.js';
2
- export * from './k6-clients-generator.js';
3
- export * from './models.js';