@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,121 +0,0 @@
1
- import type {
2
- ApiSchema,
3
- DefaultGenerationProviderConfig,
4
- ExtendedStringCasing,
5
- Nullable,
6
- OpenApiSchemasGenerationProviderContext,
7
- } from '@goast/core';
8
-
9
- import { ts } from '../../ast/index.js';
10
- import type { TypeScriptComponentOutput } from '../../common-results.js';
11
- import { defaultTypeScriptGeneratorConfig, type TypeScriptGeneratorConfig } from '../../config.js';
12
- import type { TypeScriptFileBuilder } from '../../file-builder.js';
13
-
14
- export type TypeScriptModelGeneratorConfig = TypeScriptGeneratorConfig & {
15
- /**
16
- * Determines how to generate enums.
17
- * - 'union': Generate enums as union types.
18
- * - 'prefer-enum': Generate enums as enums if possible, otherwise as union types.
19
- * @default 'union'
20
- */
21
- enumGeneration: 'union' | 'prefer-enum';
22
-
23
- /**
24
- * Whether to generate immutable types.
25
- * @default false
26
- */
27
- immutableTypes: boolean;
28
-
29
- /**
30
- * Whether to inline unnamed schemas. If false, unnamed schemas will be generated as separate types.
31
- * @default true
32
- */
33
- inlineUnnamedSchemas: boolean;
34
-
35
- /**
36
- * The directory where the models should be saved. The path is relative to the output directory.
37
- * @default 'models'
38
- */
39
- modelsDir: string;
40
-
41
- /**
42
- * The casing of the model file names. If nullish, the `fileNameCasing` is used.
43
- * @default undefined
44
- */
45
- modelFileNameCasing: Nullable<ExtendedStringCasing>;
46
-
47
- /**
48
- * Determines how to declare types.
49
- * - 'type': Always declare types as `type`.
50
- * - 'prefer-interface': Prefer `interface` over `type` if possible.
51
- * @default 'type'
52
- */
53
- typeDeclaration: 'type' | 'prefer-interface';
54
-
55
- /**
56
- * The casing to use for the base type of discriminator schemas.
57
- * @default `_<SchemaName>Base`
58
- */
59
- discriminatorBaseTypeCasing: ExtendedStringCasing;
60
-
61
- /**
62
- * The type to use for binary schemas.
63
- * @default `ts.refs.blob`
64
- */
65
- binarySchemaType: () => ts.Type<TypeScriptFileBuilder>;
66
- };
67
-
68
- export type TypeScriptModelsGeneratorConfig = TypeScriptModelGeneratorConfig & {
69
- /**
70
- * The path to the index file where all models should be exported. If nullish, no index file will be generated.
71
- * @default 'models.ts'
72
- */
73
- modelsIndexFile: Nullable<string>;
74
- };
75
-
76
- export const defaultTypeScriptModelGeneratorConfig: DefaultGenerationProviderConfig<TypeScriptModelGeneratorConfig> = {
77
- ...defaultTypeScriptGeneratorConfig,
78
-
79
- enumGeneration: 'union',
80
- immutableTypes: false,
81
- inlineUnnamedSchemas: true,
82
- modelsDir: 'models',
83
- modelFileNameCasing: undefined,
84
- typeDeclaration: 'type',
85
- discriminatorBaseTypeCasing: { casing: 'pascal', prefix: '_', suffix: 'Base' },
86
- binarySchemaType: ts.refs.blob,
87
- };
88
-
89
- export const defaultTypeScriptModelsGeneratorConfig: DefaultGenerationProviderConfig<TypeScriptModelsGeneratorConfig> =
90
- {
91
- ...defaultTypeScriptModelGeneratorConfig,
92
-
93
- modelsIndexFile: 'models.ts',
94
- };
95
-
96
- // deno-lint-ignore ban-types
97
- export type TypeScriptModelsGeneratorInput = {};
98
-
99
- export type TypeScriptModelsGeneratorOutput = {
100
- typescript: {
101
- models: {
102
- [schemaId: string]: TypeScriptModelGeneratorOutput;
103
- };
104
- indexFiles: {
105
- models: Nullable<string>;
106
- };
107
- };
108
- };
109
-
110
- export type TypeScriptModelGeneratorOutput = TypeScriptComponentOutput;
111
-
112
- export type TypeScriptModelsGeneratorContext = OpenApiSchemasGenerationProviderContext<
113
- TypeScriptModelsGeneratorInput,
114
- TypeScriptModelsGeneratorOutput,
115
- TypeScriptModelsGeneratorConfig,
116
- TypeScriptModelGeneratorOutput
117
- >;
118
-
119
- export type TypeScriptModelGeneratorContext = TypeScriptModelsGeneratorContext & {
120
- schema: ApiSchema;
121
- };
@@ -1,431 +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
- type Nullable,
16
- toCasing,
17
- } from '@goast/core';
18
-
19
- import { ts } from '../../../ast/index.js';
20
- import type { TypeScriptExportOutput } from '../../../common-results.js';
21
- import { TypeScriptFileBuilder } from '../../../file-builder.js';
22
- import { getSourceDocLine } from '../../../utils.js';
23
- import { TypeScriptFileGenerator } from '../../file-generator.js';
24
- import type { TypeScriptAngularServiceGeneratorContext, TypeScriptAngularServiceGeneratorOutput } from './models.js';
25
-
26
- type Context = TypeScriptAngularServiceGeneratorContext;
27
- type Output = TypeScriptAngularServiceGeneratorOutput;
28
- type Builder = TypeScriptFileBuilder;
29
-
30
- export interface TypeScriptAngularServiceGenerator<TOutput extends Output = Output> {
31
- generate(ctx: Context): MaybePromise<TOutput>;
32
- }
33
-
34
- export class DefaultTypeScriptAngularServiceGenerator extends TypeScriptFileGenerator<Context, Output>
35
- implements TypeScriptAngularServiceGenerator {
36
- public generate(ctx: Context): MaybePromise<Output> {
37
- const responseModels = this.generateResponseModels(ctx);
38
-
39
- const filePath = this.getServiceFilePath(ctx);
40
- const name = this.getServiceClassName(ctx);
41
-
42
- TypeScriptFileBuilder.generate({
43
- logName: `service ${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.getServiceFileContent(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
- const isSuccess = key.startsWith('2');
99
- return ts.intersectionType<Builder>([
100
- isSuccess
101
- ? ts.refs.angular.httpResponse([value.type])
102
- : ts.refs.omit([ts.refs.angular.httpErrorResponse(), ts.string('error')]),
103
- ts.objectType({
104
- members: [
105
- isSuccess ? null : ts.property('error', { type: ts.unionType([value.type, ts.refs.null_()]) }),
106
- ts.property('status', { type: key }),
107
- ts.property('ok', { type: isSuccess ? 'true' : 'false' }),
108
- ],
109
- }),
110
- ]);
111
- }),
112
- !ctx.config.strictResponseTypes
113
- ? ts.intersectionType([
114
- ts.refs.angular.httpResponse([this.getAnyType(ctx)]),
115
- ts.objectType({
116
- members: [
117
- ts.property('status', {
118
- type: ts.refs.exclude([ctx.refs.httpStatusCode(), ts.reference(statusCodesTypeName)]),
119
- }),
120
- ],
121
- }),
122
- ])
123
- : null,
124
- ]),
125
- ts.objectType({ members: [ts.property('status', { type: 'TStatus' })] }),
126
- ]),
127
- {
128
- doc: ts.doc({
129
- description: `Response model for operation ${this.getEndpointMethodName(ctx, endpoint)}`,
130
- tags: [endpoint.deprecated ? ts.docTag('deprecated') : null],
131
- }),
132
- export: true,
133
- generics: [
134
- ts.genericParameter('TStatus', {
135
- constraint: statusCodeType,
136
- default: statusCodeType,
137
- }),
138
- ],
139
- },
140
- ),
141
- );
142
-
143
- return result;
144
- }
145
-
146
- protected getEndpointStatusCodes(
147
- ctx: Context,
148
- endpoint: ApiEndpoint,
149
- ): Record<number, { parser: 'text' | 'json'; type: ts.Type<Builder> }> {
150
- return Object.fromEntries([
151
- ...Object.entries(ctx.config.defaultStatusCodeResponseTypes).map(([key, value]) => [
152
- key,
153
- {
154
- parser: value?.parser ?? 'text',
155
- type: typeof value?.type === 'function'
156
- ? this.getSchemaType(ctx, value.type(ctx.data.schemas))
157
- : value ?? this.getAnyType(ctx),
158
- },
159
- ]),
160
- ...endpoint.responses
161
- .filter((x) => x.statusCode)
162
- .map((x) => [
163
- x.statusCode,
164
- {
165
- parser: this.contentTypeToResponseType(x.contentOptions[0]?.type),
166
- type: this.getSchemaType(ctx, x.contentOptions[0]?.schema, this.getAnyType(ctx)),
167
- },
168
- ]),
169
- ]);
170
- }
171
- // #endregion
172
-
173
- protected getServiceFileContent(ctx: Context): AppendValueGroup<Builder> {
174
- const code = appendValueGroup<Builder>([], '\n');
175
- for (const endpoint of ctx.service.endpoints) {
176
- if (endpoint.parameters.length > 0 || endpoint.requestBody !== undefined) {
177
- code.values.push(this.getEndpointParamsType(ctx, endpoint));
178
- }
179
- }
180
- code.values.push(this.getClass(ctx));
181
- return code;
182
- }
183
-
184
- protected getEndpointParamsType(ctx: Context, endpoint: ApiEndpoint): ts.TypeAlias<Builder> {
185
- const type = ts.objectType<Builder>();
186
-
187
- for (const parameter of endpoint.parameters) {
188
- const schema = parameter.schema;
189
- type.members.push(
190
- ts.property(toCasing(parameter.name, ctx.config.propertyNameCasing), {
191
- doc: ts.doc({
192
- description: this.getDocDescription(ctx, parameter),
193
- tags: [parameter.deprecated ? ts.docTag('deprecated') : null],
194
- }),
195
- type: schema ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id]) : this.getAnyType(ctx),
196
- optional: !parameter.required,
197
- }),
198
- );
199
- }
200
-
201
- if (endpoint.requestBody !== undefined) {
202
- const body = endpoint.requestBody;
203
- const schema = body.content[0].schema;
204
- type.members.push(
205
- ts.property('body', {
206
- doc: ts.doc({ description: this.getDocDescription(ctx, body) }),
207
- type: schema ? (b) => b.appendModelUsage(ctx.input.typescript.models[schema.id]) : this.getAnyType(ctx),
208
- optional: !body.required,
209
- }),
210
- );
211
- }
212
-
213
- return ts.typeAlias(this.getEndpointParamsTypeName(ctx, endpoint), type, {
214
- doc: ts.doc({ description: `Parameters for operation ${this.getEndpointMethodName(ctx, endpoint)}` }),
215
- });
216
- }
217
-
218
- protected getClass(ctx: Context): ts.Class<Builder> {
219
- return ts.class<Builder>(this.getServiceClassName(ctx), {
220
- doc: ts.doc({
221
- description: ctx.service.description,
222
- tags: [
223
- ctx.service.endpoints.length === 0 || ctx.service.endpoints.some((x) => !x.deprecated)
224
- ? null
225
- : ts.docTag('deprecated'),
226
- ],
227
- }),
228
- decorators: [
229
- ts.decorator(
230
- ts.refs.angular.injectable(),
231
- ctx.config.provideKind === 'root' ? [ts.toNode({ providedIn: 'root' })] : [],
232
- ),
233
- ],
234
- export: true,
235
- extends: ctx.refs.apiBaseService(),
236
- members: [
237
- ...ctx.service.endpoints.map((e) =>
238
- ts.property(this.getEndpointPathPropertyName(ctx, e), {
239
- accessModifier: 'private',
240
- static: true,
241
- readonly: true,
242
- value: ts.string(e.path),
243
- })
244
- ),
245
- ...ctx.service.endpoints.map((e) => this.getEndpointMethod(ctx, e)),
246
- ],
247
- });
248
- }
249
-
250
- protected getEndpointMethod(ctx: Context, endpoint: ApiEndpoint): ts.Method<Builder> {
251
- const hasParams = this.hasEndpointParams(ctx, endpoint);
252
- const paramsOptional = !endpoint.parameters.some((p) => p.required) && !endpoint.requestBody?.required;
253
- const responseModelType = ts.reference(
254
- this.getResponseModelName(ctx, endpoint),
255
- this.getResponseModelFilePath(ctx),
256
- {
257
- importType: 'type-import',
258
- },
259
- );
260
- const returnType = ctx.refs.abortablePromise([responseModelType]);
261
- const accept = this.getEndpointSuccessResponseType(ctx, endpoint);
262
- const responseType = this.contentTypeToResponseType(accept);
263
- return ts.method<Builder>(this.getEndpointMethodName(ctx, endpoint), {
264
- accessModifier: 'public',
265
- parameters: [
266
- hasParams
267
- ? ts.parameter('params', {
268
- optional: paramsOptional,
269
- type: ts.reference(this.getEndpointParamsTypeName(ctx, endpoint)),
270
- })
271
- : null,
272
- ts.parameter('context', { optional: true, type: ts.refs.angular.httpContext() }),
273
- ],
274
- doc: ts.doc({
275
- description: this.getDocDescription(ctx, endpoint),
276
- tags: [endpoint.deprecated ? ts.docTag('deprecated') : null],
277
- }),
278
- returnType,
279
- body: appendValueGroup(
280
- [
281
- s`const rb = new ${ctx.refs.requestBuilder()}(this.rootUrl, ${
282
- this.getServiceClassName(
283
- ctx,
284
- )
285
- }.${this.getEndpointPathPropertyName(ctx, endpoint)}, '${endpoint.method}');`,
286
- hasParams
287
- ? (b) =>
288
- b.appendIf(paramsOptional, 'if (params) ').parenthesizeIf(
289
- paramsOptional,
290
- '{}',
291
- appendValueGroup(
292
- [
293
- ...endpoint.parameters
294
- .filter((p) => p.target === 'path' || p.target === 'query' || p.target === 'header')
295
- .map((p) => {
296
- const options = ts.object({
297
- members: [
298
- p.style !== undefined ? ts.property('style', { value: ts.string(p.style) }) : null,
299
- p.explode !== undefined ? ts.property('explode', { value: ts.toNode(p.explode) }) : null,
300
- ],
301
- });
302
- return s<Builder>`rb.${p.target}(${ts.string(p.name)}, params.${
303
- toCasing(
304
- p.name,
305
- ctx.config.propertyNameCasing,
306
- )
307
- }, ${options});`;
308
- }),
309
- endpoint.requestBody
310
- ? s`rb.body(params.body, ${ts.string(this.getEndpointRequestContentType(ctx, endpoint))});`
311
- : null,
312
- ],
313
- '\n',
314
- ),
315
- { multiline: true },
316
- )
317
- : null,
318
- '',
319
- s`return ${ctx.refs.waitForResponse([responseModelType])}(${s.indent`
320
- this.http.request(rb.build({${s.indent`
321
- responseType: ${ts.string(responseType)},
322
- accept: ${ts.string(accept)},
323
- context,`}
324
- })),
325
- {${s.indent`
326
- errorResponseTypes: ${
327
- ts.object({
328
- members: [
329
- ...Object.entries(this.getEndpointStatusCodes(ctx, endpoint))
330
- .filter(([key]) => !key.startsWith('2'))
331
- .map(([key, value]) => {
332
- return ts.property(key, { value: ts.string(value.parser) });
333
- }),
334
- ],
335
- })
336
- }`}
337
- }`}
338
- )`,
339
- ],
340
- '\n',
341
- ),
342
- });
343
- }
344
-
345
- protected getDocDescription<T>(
346
- ctx: Context,
347
- component: ApiComponent<T> & { description?: string },
348
- ): BasicAppendValue<Builder> {
349
- const docSegments = [component.description?.trim()];
350
-
351
- if (ctx.config.includeSourceInDocs) {
352
- docSegments.push(getSourceDocLine(component));
353
- }
354
-
355
- return docSegments.filter(notNullish).join('\n\n');
356
- }
357
-
358
- protected getEndpointRequestContentType(ctx: Context, endpoint: ApiEndpoint): string {
359
- return ctx.config.defaultRequestContentType ?? endpoint?.requestBody?.content[0].type ?? 'application/json';
360
- }
361
-
362
- protected getEndpointSuccessResponseType(ctx: Context, endpoint: ApiEndpoint): string {
363
- const response = this.getEndpointSuccessResponse(ctx, endpoint);
364
- if (!response) return '*/*';
365
-
366
- if (!ctx.config.defaultSuccessResponseContentType) return response.contentOptions[0]?.type ?? '*/*';
367
-
368
- return (
369
- response.contentOptions.find((x) => x.type === ctx.config.defaultSuccessResponseContentType)?.type ??
370
- response.contentOptions[0]?.type ??
371
- '*/*'
372
- );
373
- }
374
-
375
- protected getEndpointSuccessResponse(_ctx: Context, endpoint: ApiEndpoint): ApiResponse | undefined {
376
- return (
377
- endpoint.responses.find((x) => x.statusCode && x.statusCode >= 200 && x.statusCode < 300) ??
378
- endpoint.responses.find((x) => x.statusCode === undefined)
379
- );
380
- }
381
-
382
- protected getServiceClassName(ctx: Context): string {
383
- return toCasing(ctx.service.name + '_Service', ctx.config.typeNameCasing);
384
- }
385
-
386
- protected getResponseModelName(ctx: Context, endpoint: ApiEndpoint): string {
387
- return toCasing(`${this.getEndpointMethodName(ctx, endpoint)}ApiResponse`, ctx.config.typeNameCasing);
388
- }
389
-
390
- protected getEndpointParamsTypeName(ctx: Context, endpoint: ApiEndpoint): string {
391
- return toCasing(this.getEndpointMethodName(ctx, endpoint) + '_Params', ctx.config.typeNameCasing);
392
- }
393
-
394
- protected getEndpointPathPropertyName(ctx: Context, endpoint: ApiEndpoint): string {
395
- return toCasing(this.getEndpointMethodName(ctx, endpoint) + '_Path', ctx.config.constantNameCasing);
396
- }
397
-
398
- protected getEndpointMethodName(ctx: Context, endpoint: ApiEndpoint): string {
399
- return toCasing(endpoint.name, ctx.config.functionNameCasing);
400
- }
401
-
402
- protected getServiceFilePath(ctx: Context): string {
403
- return resolve(
404
- ctx.config.outputDir,
405
- ctx.config.servicesDir,
406
- `${toCasing(ctx.service.name, ctx.config.serviceFileNameCasing ?? ctx.config.fileNameCasing)}.ts`,
407
- );
408
- }
409
-
410
- protected getResponseModelFilePath(ctx: Context): string {
411
- return resolve(
412
- ctx.config.outputDir,
413
- ctx.config.responseModelsDir,
414
- `${toCasing(ctx.service.name, ctx.config.responseModelFileNameCasing ?? ctx.config.fileNameCasing)}.ts`,
415
- );
416
- }
417
-
418
- protected hasEndpointParams(_ctx: Context, endpoint: ApiEndpoint): boolean {
419
- return endpoint.parameters.length > 0 || endpoint.requestBody !== undefined;
420
- }
421
-
422
- protected getSchemaType(ctx: Context, schema: ApiSchema | undefined, fallback?: ts.Type<Builder>): ts.Type<Builder> {
423
- const output = schema && ctx.input.typescript.models[schema.id];
424
- if (!output) return fallback ?? this.getAnyType(ctx);
425
- return (b) => b.appendModelUsage(output);
426
- }
427
-
428
- private contentTypeToResponseType(contentType: Nullable<string>): 'text' | 'json' {
429
- return contentType?.includes('json') ? 'json' : 'text';
430
- }
431
- }