@goast/typescript 0.3.13 → 0.4.0-beta2

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 (527) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -8
  3. package/assets/client/angular/angular-service.utils.ts +1 -1
  4. package/assets/client/angular/request-builder.ts +6 -3
  5. package/assets/client/k6/request-builder.js +13 -6
  6. package/assets/stubs/easy-network-stub/easy-network-stub.utils.ts +4 -5
  7. package/esm/index.d.ts +8 -0
  8. package/esm/index.d.ts.map +1 -0
  9. package/esm/lib/assets.d.ts +3 -0
  10. package/esm/lib/assets.d.ts.map +1 -0
  11. package/esm/lib/assets.js +6 -0
  12. package/{types → esm}/lib/ast/_index.d.ts +39 -38
  13. package/esm/lib/ast/_index.d.ts.map +1 -0
  14. package/esm/lib/ast/_index.js +1 -2
  15. package/{types → esm}/lib/ast/common.d.ts +1 -0
  16. package/esm/lib/ast/common.d.ts.map +1 -0
  17. package/esm/lib/ast/index.d.ts +2 -0
  18. package/esm/lib/ast/index.d.ts.map +1 -0
  19. package/esm/lib/ast/index.js +1 -2
  20. package/{types → esm}/lib/ast/node.d.ts +2 -1
  21. package/esm/lib/ast/node.d.ts.map +1 -0
  22. package/{types → esm}/lib/ast/nodes/argument.d.ts +5 -4
  23. package/esm/lib/ast/nodes/argument.d.ts.map +1 -0
  24. package/esm/lib/ast/nodes/argument.js +6 -0
  25. package/{types → esm}/lib/ast/nodes/array-type.d.ts +5 -4
  26. package/esm/lib/ast/nodes/array-type.d.ts.map +1 -0
  27. package/esm/lib/ast/nodes/array-type.js +12 -0
  28. package/{types → esm}/lib/ast/nodes/arrow-function.d.ts +7 -6
  29. package/esm/lib/ast/nodes/arrow-function.d.ts.map +1 -0
  30. package/esm/lib/ast/nodes/arrow-function.js +37 -1
  31. package/{types → esm}/lib/ast/nodes/call.d.ts +6 -5
  32. package/esm/lib/ast/nodes/call.d.ts.map +1 -0
  33. package/esm/lib/ast/nodes/call.js +13 -1
  34. package/{types → esm}/lib/ast/nodes/class.d.ts +12 -11
  35. package/esm/lib/ast/nodes/class.d.ts.map +1 -0
  36. package/esm/lib/ast/nodes/class.js +55 -1
  37. package/{types → esm}/lib/ast/nodes/constructor-parameter.d.ts +5 -4
  38. package/esm/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
  39. package/esm/lib/ast/nodes/constructor-parameter.js +12 -0
  40. package/{types → esm}/lib/ast/nodes/constructor.d.ts +7 -6
  41. package/esm/lib/ast/nodes/constructor.d.ts.map +1 -0
  42. package/esm/lib/ast/nodes/constructor.js +25 -1
  43. package/{types → esm}/lib/ast/nodes/decorator.d.ts +6 -5
  44. package/esm/lib/ast/nodes/decorator.d.ts.map +1 -0
  45. package/esm/lib/ast/nodes/decorator.js +12 -0
  46. package/{types → esm}/lib/ast/nodes/doc-tag.d.ts +5 -4
  47. package/esm/lib/ast/nodes/doc-tag.d.ts.map +1 -0
  48. package/esm/lib/ast/nodes/doc-tag.js +18 -0
  49. package/{types → esm}/lib/ast/nodes/doc.d.ts +7 -6
  50. package/esm/lib/ast/nodes/doc.d.ts.map +1 -0
  51. package/esm/lib/ast/nodes/doc.js +12 -0
  52. package/{types → esm}/lib/ast/nodes/enum-value.d.ts +5 -4
  53. package/esm/lib/ast/nodes/enum-value.d.ts.map +1 -0
  54. package/esm/lib/ast/nodes/enum-value.js +18 -0
  55. package/{types → esm}/lib/ast/nodes/enum.d.ts +6 -5
  56. package/esm/lib/ast/nodes/enum.d.ts.map +1 -0
  57. package/esm/lib/ast/nodes/enum.js +30 -0
  58. package/{types → esm}/lib/ast/nodes/export.d.ts +5 -4
  59. package/esm/lib/ast/nodes/export.d.ts.map +1 -0
  60. package/esm/lib/ast/nodes/export.js +18 -0
  61. package/{types → esm}/lib/ast/nodes/function-type.d.ts +7 -6
  62. package/esm/lib/ast/nodes/function-type.d.ts.map +1 -0
  63. package/esm/lib/ast/nodes/function-type.js +18 -0
  64. package/{types → esm}/lib/ast/nodes/function.d.ts +9 -8
  65. package/esm/lib/ast/nodes/function.d.ts.map +1 -0
  66. package/esm/lib/ast/nodes/function.js +49 -1
  67. package/{types → esm}/lib/ast/nodes/generic-parameter.d.ts +5 -4
  68. package/esm/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
  69. package/esm/lib/ast/nodes/generic-parameter.js +30 -0
  70. package/{types → esm}/lib/ast/nodes/indexer.d.ts +5 -4
  71. package/esm/lib/ast/nodes/indexer.d.ts.map +1 -0
  72. package/esm/lib/ast/nodes/indexer.js +24 -0
  73. package/{types → esm}/lib/ast/nodes/interface.d.ts +11 -10
  74. package/esm/lib/ast/nodes/interface.d.ts.map +1 -0
  75. package/esm/lib/ast/nodes/interface.js +43 -1
  76. package/{types → esm}/lib/ast/nodes/intersection-type.d.ts +5 -4
  77. package/esm/lib/ast/nodes/intersection-type.d.ts.map +1 -0
  78. package/esm/lib/ast/nodes/intersection-type.js +6 -0
  79. package/{types → esm}/lib/ast/nodes/lookup-type.d.ts +5 -4
  80. package/esm/lib/ast/nodes/lookup-type.d.ts.map +1 -0
  81. package/esm/lib/ast/nodes/lookup-type.js +12 -0
  82. package/{types → esm}/lib/ast/nodes/method.d.ts +10 -9
  83. package/esm/lib/ast/nodes/method.d.ts.map +1 -0
  84. package/esm/lib/ast/nodes/method.js +78 -0
  85. package/{types → esm}/lib/ast/nodes/object-type.d.ts +7 -6
  86. package/esm/lib/ast/nodes/object-type.d.ts.map +1 -0
  87. package/esm/lib/ast/nodes/object-type.js +6 -0
  88. package/{types → esm}/lib/ast/nodes/object.d.ts +6 -5
  89. package/esm/lib/ast/nodes/object.d.ts.map +1 -0
  90. package/esm/lib/ast/nodes/object.js +6 -0
  91. package/{types → esm}/lib/ast/nodes/parameter.d.ts +6 -5
  92. package/esm/lib/ast/nodes/parameter.d.ts.map +1 -0
  93. package/esm/lib/ast/nodes/parameter.js +37 -1
  94. package/{types → esm}/lib/ast/nodes/property-accessor.d.ts +8 -7
  95. package/esm/lib/ast/nodes/property-accessor.d.ts.map +1 -0
  96. package/esm/lib/ast/nodes/property-accessor.js +60 -0
  97. package/{types → esm}/lib/ast/nodes/property.d.ts +9 -8
  98. package/esm/lib/ast/nodes/property.d.ts.map +1 -0
  99. package/esm/lib/ast/nodes/property.js +79 -3
  100. package/{types → esm}/lib/ast/nodes/reference.d.ts +6 -5
  101. package/esm/lib/ast/nodes/reference.d.ts.map +1 -0
  102. package/esm/lib/ast/nodes/reference.js +39 -10
  103. package/{types → esm}/lib/ast/nodes/string.d.ts +4 -3
  104. package/esm/lib/ast/nodes/string.d.ts.map +1 -0
  105. package/esm/lib/ast/nodes/string.js +12 -0
  106. package/{types → esm}/lib/ast/nodes/tuple.d.ts +5 -4
  107. package/esm/lib/ast/nodes/tuple.d.ts.map +1 -0
  108. package/esm/lib/ast/nodes/tuple.js +12 -0
  109. package/{types → esm}/lib/ast/nodes/type-alias.d.ts +7 -6
  110. package/esm/lib/ast/nodes/type-alias.d.ts.map +1 -0
  111. package/esm/lib/ast/nodes/type-alias.js +31 -1
  112. package/{types → esm}/lib/ast/nodes/typeof.d.ts +5 -4
  113. package/esm/lib/ast/nodes/typeof.d.ts.map +1 -0
  114. package/esm/lib/ast/nodes/typeof.js +6 -0
  115. package/esm/lib/ast/nodes/types.d.ts +19 -0
  116. package/esm/lib/ast/nodes/types.d.ts.map +1 -0
  117. package/{types → esm}/lib/ast/nodes/union-type.d.ts +5 -4
  118. package/esm/lib/ast/nodes/union-type.d.ts.map +1 -0
  119. package/esm/lib/ast/nodes/union-type.js +6 -0
  120. package/{types → esm}/lib/ast/nodes/variable.d.ts +6 -5
  121. package/esm/lib/ast/nodes/variable.d.ts.map +1 -0
  122. package/esm/lib/ast/nodes/variable.js +36 -0
  123. package/{types → esm}/lib/ast/references/angular.d.ts +17 -16
  124. package/esm/lib/ast/references/angular.d.ts.map +1 -0
  125. package/{types → esm}/lib/ast/references/easy-network-stub.d.ts +13 -12
  126. package/esm/lib/ast/references/easy-network-stub.d.ts.map +1 -0
  127. package/esm/lib/ast/references/index.d.ts +6 -0
  128. package/esm/lib/ast/references/index.d.ts.map +1 -0
  129. package/esm/lib/ast/references/index.js +4 -8
  130. package/{types → esm}/lib/ast/references/k6.d.ts +7 -6
  131. package/esm/lib/ast/references/k6.d.ts.map +1 -0
  132. package/{types → esm}/lib/ast/references/rxjs.d.ts +11 -10
  133. package/esm/lib/ast/references/rxjs.d.ts.map +1 -0
  134. package/{types → esm}/lib/ast/references/typescript.d.ts +95 -94
  135. package/esm/lib/ast/references/typescript.d.ts.map +1 -0
  136. package/esm/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
  137. package/esm/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
  138. package/{types → esm}/lib/ast/utils/to-ts-node.d.ts +5 -4
  139. package/esm/lib/ast/utils/to-ts-node.d.ts.map +1 -0
  140. package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
  141. package/esm/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
  142. package/esm/lib/ast/utils/write-ts-generic-parameters.js +1 -1
  143. package/{types → esm}/lib/ast/utils/write-ts-members.d.ts +3 -2
  144. package/esm/lib/ast/utils/write-ts-members.d.ts.map +1 -0
  145. package/esm/lib/ast/utils/write-ts-members.js +1 -1
  146. package/{types → esm}/lib/ast/utils/write-ts-nodes.d.ts +3 -2
  147. package/esm/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
  148. package/esm/lib/ast/utils/write-ts-nodes.js +1 -1
  149. package/esm/lib/ast/utils/write-ts-parameters.d.ts +4 -0
  150. package/esm/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
  151. package/esm/lib/ast/utils/write-ts-parameters.js +1 -1
  152. package/{types → esm}/lib/common-results.d.ts +2 -1
  153. package/esm/lib/common-results.d.ts.map +1 -0
  154. package/{types → esm}/lib/config.d.ts +3 -2
  155. package/esm/lib/config.d.ts.map +1 -0
  156. package/{types → esm}/lib/file-builder.d.ts +6 -5
  157. package/esm/lib/file-builder.d.ts.map +1 -0
  158. package/esm/lib/file-builder.js +15 -3
  159. package/esm/lib/generators/file-generator.d.ts +8 -0
  160. package/esm/lib/generators/file-generator.d.ts.map +1 -0
  161. package/esm/lib/generators/index.d.ts +7 -0
  162. package/esm/lib/generators/index.d.ts.map +1 -0
  163. package/esm/lib/generators/models/index.d.ts +4 -0
  164. package/esm/lib/generators/models/index.d.ts.map +1 -0
  165. package/{types → esm}/lib/generators/models/model-generator.d.ts +10 -9
  166. package/esm/lib/generators/models/model-generator.d.ts.map +1 -0
  167. package/esm/lib/generators/models/model-generator.js +1 -1
  168. package/{types → esm}/lib/generators/models/models-generator.d.ts +7 -6
  169. package/esm/lib/generators/models/models-generator.d.ts.map +1 -0
  170. package/esm/lib/generators/models/models-generator.js +10 -6
  171. package/{types → esm}/lib/generators/models/models.d.ts +4 -3
  172. package/esm/lib/generators/models/models.d.ts.map +1 -0
  173. package/{types → esm}/lib/generators/services/angular-services/angular-service-generator.d.ts +9 -8
  174. package/esm/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
  175. package/esm/lib/generators/services/angular-services/angular-service-generator.js +5 -3
  176. package/{types → esm}/lib/generators/services/angular-services/angular-services-generator.d.ts +8 -8
  177. package/esm/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
  178. package/esm/lib/generators/services/angular-services/angular-services-generator.js +19 -22
  179. package/esm/lib/generators/services/angular-services/index.d.ts +4 -0
  180. package/esm/lib/generators/services/angular-services/index.d.ts.map +1 -0
  181. package/{types → esm}/lib/generators/services/angular-services/models.d.ts +8 -7
  182. package/esm/lib/generators/services/angular-services/models.d.ts.map +1 -0
  183. package/esm/lib/generators/services/angular-services/models.js +62 -3
  184. package/{types → esm}/lib/generators/services/angular-services/refs.d.ts +10 -9
  185. package/esm/lib/generators/services/angular-services/refs.d.ts.map +1 -0
  186. package/esm/lib/generators/services/angular-services/refs.js +4 -2
  187. package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +8 -7
  188. package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
  189. package/esm/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +3 -2
  190. package/{types → esm}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +10 -10
  191. package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
  192. package/esm/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +15 -17
  193. package/esm/lib/generators/services/easy-network-stub/index.d.ts +4 -0
  194. package/esm/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
  195. package/{types → esm}/lib/generators/services/easy-network-stub/models.d.ts +8 -7
  196. package/esm/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
  197. package/{types → esm}/lib/generators/services/easy-network-stub/refs.d.ts +12 -11
  198. package/esm/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
  199. package/esm/lib/generators/services/easy-network-stub/refs.js +4 -2
  200. package/{types → esm}/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +8 -7
  201. package/esm/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
  202. package/esm/lib/generators/services/fetch-clients/fetch-client-generator.js +3 -5
  203. package/{types → esm}/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +7 -6
  204. package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
  205. package/esm/lib/generators/services/fetch-clients/fetch-clients-generator.js +18 -18
  206. package/esm/lib/generators/services/fetch-clients/index.d.ts +4 -0
  207. package/esm/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
  208. package/{types → esm}/lib/generators/services/fetch-clients/models.d.ts +6 -5
  209. package/esm/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
  210. package/{types → esm}/lib/generators/services/fetch-clients/refs.d.ts +6 -5
  211. package/esm/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
  212. package/esm/lib/generators/services/fetch-clients/refs.js +1 -1
  213. package/esm/lib/generators/services/k6-clients/index.d.ts +4 -0
  214. package/esm/lib/generators/services/k6-clients/index.d.ts.map +1 -0
  215. package/{types → esm}/lib/generators/services/k6-clients/k6-client-generator.d.ts +11 -10
  216. package/esm/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
  217. package/esm/lib/generators/services/k6-clients/k6-client-generator.js +10 -6
  218. package/{types → esm}/lib/generators/services/k6-clients/k6-clients-generator.d.ts +8 -8
  219. package/esm/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
  220. package/esm/lib/generators/services/k6-clients/k6-clients-generator.js +16 -19
  221. package/{types → esm}/lib/generators/services/k6-clients/models.d.ts +8 -7
  222. package/esm/lib/generators/services/k6-clients/models.d.ts.map +1 -0
  223. package/esm/lib/generators/services/k6-clients/models.js +62 -3
  224. package/{types → esm}/lib/generators/services/k6-clients/refs.d.ts +5 -4
  225. package/esm/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
  226. package/esm/lib/generators/services/k6-clients/refs.js +1 -1
  227. package/{types → esm}/lib/import-collection.d.ts +4 -3
  228. package/esm/lib/import-collection.d.ts.map +1 -0
  229. package/esm/lib/import-collection.js +37 -6
  230. package/{types → esm}/lib/utils.d.ts +3 -2
  231. package/esm/lib/utils.d.ts.map +1 -0
  232. package/esm/lib/utils.js +4 -1
  233. package/esm/package.json +3 -0
  234. package/package.json +22 -32
  235. package/script/index.d.ts +8 -0
  236. package/script/index.d.ts.map +1 -0
  237. package/script/index.js +10 -0
  238. package/script/lib/assets.d.ts +3 -0
  239. package/script/lib/assets.d.ts.map +1 -0
  240. package/script/lib/assets.js +9 -0
  241. package/script/lib/ast/_index.d.ts +39 -0
  242. package/script/lib/ast/_index.d.ts.map +1 -0
  243. package/script/lib/ast/_index.js +108 -0
  244. package/script/lib/ast/common.d.ts +2 -0
  245. package/script/lib/ast/common.d.ts.map +1 -0
  246. package/script/lib/ast/index.d.ts +2 -0
  247. package/script/lib/ast/index.d.ts.map +1 -0
  248. package/{cjs → script}/lib/ast/index.js +1 -1
  249. package/script/lib/ast/node.d.ts +5 -0
  250. package/script/lib/ast/node.d.ts.map +1 -0
  251. package/script/lib/ast/nodes/argument.d.ts +18 -0
  252. package/script/lib/ast/nodes/argument.d.ts.map +1 -0
  253. package/script/lib/ast/nodes/argument.js +26 -0
  254. package/script/lib/ast/nodes/array-type.d.ts +20 -0
  255. package/script/lib/ast/nodes/array-type.d.ts.map +1 -0
  256. package/{cjs → script}/lib/ast/nodes/array-type.js +17 -5
  257. package/script/lib/ast/nodes/arrow-function.d.ts +30 -0
  258. package/script/lib/ast/nodes/arrow-function.d.ts.map +1 -0
  259. package/{cjs → script}/lib/ast/nodes/arrow-function.js +45 -9
  260. package/script/lib/ast/nodes/call.d.ts +21 -0
  261. package/script/lib/ast/nodes/call.d.ts.map +1 -0
  262. package/script/lib/ast/nodes/call.js +38 -0
  263. package/script/lib/ast/nodes/class.d.ts +42 -0
  264. package/script/lib/ast/nodes/class.d.ts.map +1 -0
  265. package/{cjs → script}/lib/ast/nodes/class.js +68 -14
  266. package/script/lib/ast/nodes/constructor-parameter.d.ts +20 -0
  267. package/script/lib/ast/nodes/constructor-parameter.d.ts.map +1 -0
  268. package/{cjs → script}/lib/ast/nodes/constructor-parameter.js +21 -9
  269. package/script/lib/ast/nodes/constructor.d.ts +26 -0
  270. package/script/lib/ast/nodes/constructor.d.ts.map +1 -0
  271. package/{cjs → script}/lib/ast/nodes/constructor.js +34 -10
  272. package/script/lib/ast/nodes/decorator.d.ts +23 -0
  273. package/script/lib/ast/nodes/decorator.d.ts.map +1 -0
  274. package/{cjs → script}/lib/ast/nodes/decorator.js +19 -7
  275. package/script/lib/ast/nodes/doc-tag.d.ts +74 -0
  276. package/script/lib/ast/nodes/doc-tag.d.ts.map +1 -0
  277. package/{cjs → script}/lib/ast/nodes/doc-tag.js +26 -8
  278. package/script/lib/ast/nodes/doc.d.ts +29 -0
  279. package/script/lib/ast/nodes/doc.d.ts.map +1 -0
  280. package/{cjs → script}/lib/ast/nodes/doc.js +24 -12
  281. package/script/lib/ast/nodes/enum-value.d.ts +22 -0
  282. package/script/lib/ast/nodes/enum-value.d.ts.map +1 -0
  283. package/{cjs → script}/lib/ast/nodes/enum-value.js +23 -5
  284. package/script/lib/ast/nodes/enum.d.ts +27 -0
  285. package/script/lib/ast/nodes/enum.d.ts.map +1 -0
  286. package/{cjs → script}/lib/ast/nodes/enum.js +36 -6
  287. package/script/lib/ast/nodes/export.d.ts +23 -0
  288. package/script/lib/ast/nodes/export.d.ts.map +1 -0
  289. package/{cjs → script}/lib/ast/nodes/export.js +24 -6
  290. package/script/lib/ast/nodes/function-type.d.ts +24 -0
  291. package/script/lib/ast/nodes/function-type.d.ts.map +1 -0
  292. package/{cjs → script}/lib/ast/nodes/function-type.js +27 -9
  293. package/script/lib/ast/nodes/function.d.ts +36 -0
  294. package/script/lib/ast/nodes/function.d.ts.map +1 -0
  295. package/{cjs → script}/lib/ast/nodes/function.js +61 -13
  296. package/script/lib/ast/nodes/generic-parameter.d.ts +26 -0
  297. package/script/lib/ast/nodes/generic-parameter.d.ts.map +1 -0
  298. package/{cjs → script}/lib/ast/nodes/generic-parameter.js +37 -7
  299. package/script/lib/ast/nodes/indexer.d.ts +24 -0
  300. package/script/lib/ast/nodes/indexer.d.ts.map +1 -0
  301. package/script/lib/ast/nodes/indexer.js +56 -0
  302. package/script/lib/ast/nodes/interface.d.ts +37 -0
  303. package/script/lib/ast/nodes/interface.d.ts.map +1 -0
  304. package/{cjs → script}/lib/ast/nodes/interface.js +55 -13
  305. package/script/lib/ast/nodes/intersection-type.d.ts +18 -0
  306. package/script/lib/ast/nodes/intersection-type.d.ts.map +1 -0
  307. package/{cjs → script}/lib/ast/nodes/intersection-type.js +12 -6
  308. package/script/lib/ast/nodes/lookup-type.d.ts +20 -0
  309. package/script/lib/ast/nodes/lookup-type.d.ts.map +1 -0
  310. package/{cjs → script}/lib/ast/nodes/lookup-type.js +18 -6
  311. package/script/lib/ast/nodes/method.d.ts +48 -0
  312. package/script/lib/ast/nodes/method.d.ts.map +1 -0
  313. package/{cjs → script}/lib/ast/nodes/method.js +93 -15
  314. package/script/lib/ast/nodes/object-type.d.ts +21 -0
  315. package/script/lib/ast/nodes/object-type.d.ts.map +1 -0
  316. package/{cjs → script}/lib/ast/nodes/object-type.js +12 -6
  317. package/script/lib/ast/nodes/object.d.ts +20 -0
  318. package/script/lib/ast/nodes/object.d.ts.map +1 -0
  319. package/{cjs → script}/lib/ast/nodes/object.js +12 -6
  320. package/script/lib/ast/nodes/parameter.d.ts +29 -0
  321. package/script/lib/ast/nodes/parameter.d.ts.map +1 -0
  322. package/{cjs → script}/lib/ast/nodes/parameter.js +45 -9
  323. package/script/lib/ast/nodes/property-accessor.d.ts +54 -0
  324. package/script/lib/ast/nodes/property-accessor.d.ts.map +1 -0
  325. package/{cjs → script}/lib/ast/nodes/property-accessor.js +71 -11
  326. package/script/lib/ast/nodes/property.d.ts +85 -0
  327. package/script/lib/ast/nodes/property.d.ts.map +1 -0
  328. package/{cjs → script}/lib/ast/nodes/property.js +96 -20
  329. package/script/lib/ast/nodes/reference.d.ts +65 -0
  330. package/script/lib/ast/nodes/reference.d.ts.map +1 -0
  331. package/{cjs → script}/lib/ast/nodes/reference.js +45 -16
  332. package/script/lib/ast/nodes/string.d.ts +19 -0
  333. package/script/lib/ast/nodes/string.d.ts.map +1 -0
  334. package/{cjs → script}/lib/ast/nodes/string.js +18 -6
  335. package/script/lib/ast/nodes/tuple.d.ts +20 -0
  336. package/script/lib/ast/nodes/tuple.d.ts.map +1 -0
  337. package/{cjs → script}/lib/ast/nodes/tuple.js +17 -5
  338. package/script/lib/ast/nodes/type-alias.d.ts +28 -0
  339. package/script/lib/ast/nodes/type-alias.d.ts.map +1 -0
  340. package/script/lib/ast/nodes/type-alias.js +68 -0
  341. package/script/lib/ast/nodes/typeof.d.ts +19 -0
  342. package/script/lib/ast/nodes/typeof.d.ts.map +1 -0
  343. package/{cjs → script}/lib/ast/nodes/typeof.js +11 -5
  344. package/script/lib/ast/nodes/types.d.ts +19 -0
  345. package/script/lib/ast/nodes/types.d.ts.map +1 -0
  346. package/script/lib/ast/nodes/union-type.d.ts +18 -0
  347. package/script/lib/ast/nodes/union-type.d.ts.map +1 -0
  348. package/{cjs → script}/lib/ast/nodes/union-type.js +12 -6
  349. package/script/lib/ast/nodes/variable.d.ts +29 -0
  350. package/script/lib/ast/nodes/variable.d.ts.map +1 -0
  351. package/script/lib/ast/nodes/variable.js +76 -0
  352. package/script/lib/ast/references/angular.d.ts +58 -0
  353. package/script/lib/ast/references/angular.d.ts.map +1 -0
  354. package/script/lib/ast/references/angular.js +13 -0
  355. package/script/lib/ast/references/easy-network-stub.d.ts +35 -0
  356. package/script/lib/ast/references/easy-network-stub.d.ts.map +1 -0
  357. package/script/lib/ast/references/easy-network-stub.js +10 -0
  358. package/script/lib/ast/references/index.d.ts +6 -0
  359. package/script/lib/ast/references/index.d.ts.map +1 -0
  360. package/script/lib/ast/references/index.js +9 -0
  361. package/script/lib/ast/references/k6.d.ts +25 -0
  362. package/script/lib/ast/references/k6.d.ts.map +1 -0
  363. package/script/lib/ast/references/k6.js +9 -0
  364. package/script/lib/ast/references/rxjs.d.ts +41 -0
  365. package/script/lib/ast/references/rxjs.d.ts.map +1 -0
  366. package/script/lib/ast/references/rxjs.js +9 -0
  367. package/script/lib/ast/references/typescript.d.ts +198 -0
  368. package/script/lib/ast/references/typescript.d.ts.map +1 -0
  369. package/script/lib/ast/references/typescript.js +34 -0
  370. package/script/lib/ast/utils/get-type-script-builder-options.d.ts +4 -0
  371. package/script/lib/ast/utils/get-type-script-builder-options.d.ts.map +1 -0
  372. package/{cjs → script}/lib/ast/utils/get-type-script-builder-options.js +4 -4
  373. package/script/lib/ast/utils/to-ts-node.d.ts +9 -0
  374. package/script/lib/ast/utils/to-ts-node.d.ts.map +1 -0
  375. package/script/lib/ast/utils/to-ts-node.js +23 -0
  376. package/script/lib/ast/utils/write-ts-generic-parameters.d.ts +4 -0
  377. package/script/lib/ast/utils/write-ts-generic-parameters.d.ts.map +1 -0
  378. package/{cjs → script}/lib/ast/utils/write-ts-generic-parameters.js +2 -2
  379. package/script/lib/ast/utils/write-ts-members.d.ts +6 -0
  380. package/script/lib/ast/utils/write-ts-members.d.ts.map +1 -0
  381. package/script/lib/ast/utils/write-ts-members.js +17 -0
  382. package/script/lib/ast/utils/write-ts-nodes.d.ts +7 -0
  383. package/script/lib/ast/utils/write-ts-nodes.d.ts.map +1 -0
  384. package/{cjs → script}/lib/ast/utils/write-ts-nodes.js +2 -2
  385. package/script/lib/ast/utils/write-ts-parameters.d.ts +4 -0
  386. package/script/lib/ast/utils/write-ts-parameters.d.ts.map +1 -0
  387. package/{cjs → script}/lib/ast/utils/write-ts-parameters.js +2 -2
  388. package/script/lib/common-results.d.ts +25 -0
  389. package/script/lib/common-results.d.ts.map +1 -0
  390. package/script/lib/config.d.ts +61 -0
  391. package/script/lib/config.d.ts.map +1 -0
  392. package/script/lib/file-builder.d.ts +34 -0
  393. package/script/lib/file-builder.d.ts.map +1 -0
  394. package/{cjs → script}/lib/file-builder.js +21 -9
  395. package/script/lib/generators/file-generator.d.ts +8 -0
  396. package/script/lib/generators/file-generator.d.ts.map +1 -0
  397. package/{cjs → script}/lib/generators/file-generator.js +2 -2
  398. package/script/lib/generators/index.d.ts +7 -0
  399. package/script/lib/generators/index.d.ts.map +1 -0
  400. package/script/lib/generators/index.js +9 -0
  401. package/script/lib/generators/models/index.d.ts +4 -0
  402. package/script/lib/generators/models/index.d.ts.map +1 -0
  403. package/script/lib/generators/models/index.js +6 -0
  404. package/script/lib/generators/models/model-generator.d.ts +46 -0
  405. package/script/lib/generators/models/model-generator.d.ts.map +1 -0
  406. package/{cjs → script}/lib/generators/models/model-generator.js +63 -63
  407. package/script/lib/generators/models/models-generator.d.ts +23 -0
  408. package/script/lib/generators/models/models-generator.d.ts.map +1 -0
  409. package/{cjs → script}/lib/generators/models/models-generator.js +19 -15
  410. package/script/lib/generators/models/models.d.ts +65 -0
  411. package/script/lib/generators/models/models.d.ts.map +1 -0
  412. package/{cjs → script}/lib/generators/models/models.js +2 -2
  413. package/script/lib/generators/services/angular-services/angular-service-generator.d.ts +39 -0
  414. package/script/lib/generators/services/angular-services/angular-service-generator.d.ts.map +1 -0
  415. package/{cjs → script}/lib/generators/services/angular-services/angular-service-generator.js +62 -60
  416. package/script/lib/generators/services/angular-services/angular-services-generator.d.ts +31 -0
  417. package/script/lib/generators/services/angular-services/angular-services-generator.d.ts.map +1 -0
  418. package/script/lib/generators/services/angular-services/angular-services-generator.js +218 -0
  419. package/script/lib/generators/services/angular-services/index.d.ts +4 -0
  420. package/script/lib/generators/services/angular-services/index.d.ts.map +1 -0
  421. package/script/lib/generators/services/angular-services/index.js +6 -0
  422. package/script/lib/generators/services/angular-services/models.d.ts +142 -0
  423. package/script/lib/generators/services/angular-services/models.d.ts.map +1 -0
  424. package/script/lib/generators/services/angular-services/models.js +89 -0
  425. package/script/lib/generators/services/angular-services/refs.d.ts +63 -0
  426. package/script/lib/generators/services/angular-services/refs.d.ts.map +1 -0
  427. package/script/lib/generators/services/angular-services/refs.js +30 -0
  428. package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts +33 -0
  429. package/script/lib/generators/services/easy-network-stub/easy-network-stub-generator.d.ts.map +1 -0
  430. package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stub-generator.js +30 -29
  431. package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts +28 -0
  432. package/script/lib/generators/services/easy-network-stub/easy-network-stubs-generator.d.ts.map +1 -0
  433. package/{cjs → script}/lib/generators/services/easy-network-stub/easy-network-stubs-generator.js +42 -44
  434. package/script/lib/generators/services/easy-network-stub/index.d.ts +4 -0
  435. package/script/lib/generators/services/easy-network-stub/index.d.ts.map +1 -0
  436. package/script/lib/generators/services/easy-network-stub/index.js +6 -0
  437. package/script/lib/generators/services/easy-network-stub/models.d.ts +78 -0
  438. package/script/lib/generators/services/easy-network-stub/models.d.ts.map +1 -0
  439. package/{cjs → script}/lib/generators/services/easy-network-stub/models.js +6 -6
  440. package/script/lib/generators/services/easy-network-stub/refs.d.ts +82 -0
  441. package/script/lib/generators/services/easy-network-stub/refs.d.ts.map +1 -0
  442. package/script/lib/generators/services/easy-network-stub/refs.js +30 -0
  443. package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts +33 -0
  444. package/script/lib/generators/services/fetch-clients/fetch-client-generator.d.ts.map +1 -0
  445. package/{cjs → script}/lib/generators/services/fetch-clients/fetch-client-generator.js +41 -43
  446. package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts +27 -0
  447. package/script/lib/generators/services/fetch-clients/fetch-clients-generator.d.ts.map +1 -0
  448. package/{cjs → script}/lib/generators/services/fetch-clients/fetch-clients-generator.js +30 -30
  449. package/script/lib/generators/services/fetch-clients/index.d.ts +4 -0
  450. package/script/lib/generators/services/fetch-clients/index.d.ts.map +1 -0
  451. package/script/lib/generators/services/fetch-clients/index.js +6 -0
  452. package/script/lib/generators/services/fetch-clients/models.d.ts +84 -0
  453. package/script/lib/generators/services/fetch-clients/models.d.ts.map +1 -0
  454. package/{cjs → script}/lib/generators/services/fetch-clients/models.js +2 -2
  455. package/script/lib/generators/services/fetch-clients/refs.d.ts +30 -0
  456. package/script/lib/generators/services/fetch-clients/refs.d.ts.map +1 -0
  457. package/script/lib/generators/services/fetch-clients/refs.js +16 -0
  458. package/script/lib/generators/services/k6-clients/index.d.ts +4 -0
  459. package/script/lib/generators/services/k6-clients/index.d.ts.map +1 -0
  460. package/script/lib/generators/services/k6-clients/index.js +6 -0
  461. package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts +40 -0
  462. package/script/lib/generators/services/k6-clients/k6-client-generator.d.ts.map +1 -0
  463. package/{cjs → script}/lib/generators/services/k6-clients/k6-client-generator.js +75 -71
  464. package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts +27 -0
  465. package/script/lib/generators/services/k6-clients/k6-clients-generator.d.ts.map +1 -0
  466. package/{cjs → script}/lib/generators/services/k6-clients/k6-clients-generator.js +33 -36
  467. package/script/lib/generators/services/k6-clients/models.d.ts +119 -0
  468. package/script/lib/generators/services/k6-clients/models.d.ts.map +1 -0
  469. package/script/lib/generators/services/k6-clients/models.js +87 -0
  470. package/script/lib/generators/services/k6-clients/refs.d.ts +21 -0
  471. package/script/lib/generators/services/k6-clients/refs.d.ts.map +1 -0
  472. package/script/lib/generators/services/k6-clients/refs.js +12 -0
  473. package/script/lib/import-collection.d.ts +42 -0
  474. package/script/lib/import-collection.d.ts.map +1 -0
  475. package/{cjs → script}/lib/import-collection.js +43 -12
  476. package/script/lib/utils.d.ts +8 -0
  477. package/script/lib/utils.d.ts.map +1 -0
  478. package/{cjs → script}/lib/utils.js +6 -3
  479. package/script/package.json +3 -0
  480. package/cjs/index.js +0 -10
  481. package/cjs/lib/ast/_index.js +0 -108
  482. package/cjs/lib/ast/nodes/argument.js +0 -20
  483. package/cjs/lib/ast/nodes/call.js +0 -26
  484. package/cjs/lib/ast/nodes/indexer.js +0 -32
  485. package/cjs/lib/ast/nodes/type-alias.js +0 -38
  486. package/cjs/lib/ast/nodes/variable.js +0 -40
  487. package/cjs/lib/ast/references/angular.js +0 -13
  488. package/cjs/lib/ast/references/easy-network-stub.js +0 -10
  489. package/cjs/lib/ast/references/index.js +0 -9
  490. package/cjs/lib/ast/references/k6.js +0 -9
  491. package/cjs/lib/ast/references/rxjs.js +0 -9
  492. package/cjs/lib/ast/references/typescript.js +0 -34
  493. package/cjs/lib/ast/utils/to-ts-node.js +0 -23
  494. package/cjs/lib/ast/utils/write-ts-members.js +0 -17
  495. package/cjs/lib/generators/index.js +0 -9
  496. package/cjs/lib/generators/models/index.js +0 -6
  497. package/cjs/lib/generators/services/angular-services/angular-services-generator.js +0 -221
  498. package/cjs/lib/generators/services/angular-services/index.js +0 -6
  499. package/cjs/lib/generators/services/angular-services/models.js +0 -30
  500. package/cjs/lib/generators/services/angular-services/refs.js +0 -28
  501. package/cjs/lib/generators/services/easy-network-stub/index.js +0 -6
  502. package/cjs/lib/generators/services/easy-network-stub/refs.js +0 -28
  503. package/cjs/lib/generators/services/fetch-clients/index.js +0 -6
  504. package/cjs/lib/generators/services/fetch-clients/refs.js +0 -16
  505. package/cjs/lib/generators/services/k6-clients/index.js +0 -6
  506. package/cjs/lib/generators/services/k6-clients/models.js +0 -28
  507. package/cjs/lib/generators/services/k6-clients/refs.js +0 -12
  508. package/cjs/package.json +0 -1
  509. package/types/index.d.ts +0 -7
  510. package/types/lib/ast/index.d.ts +0 -1
  511. package/types/lib/ast/nodes/types.d.ts +0 -18
  512. package/types/lib/ast/references/index.d.ts +0 -5
  513. package/types/lib/ast/utils/get-type-script-builder-options.d.ts +0 -3
  514. package/types/lib/ast/utils/write-ts-generic-parameters.d.ts +0 -3
  515. package/types/lib/ast/utils/write-ts-parameters.d.ts +0 -3
  516. package/types/lib/generators/file-generator.d.ts +0 -7
  517. package/types/lib/generators/index.d.ts +0 -6
  518. package/types/lib/generators/models/index.d.ts +0 -3
  519. package/types/lib/generators/services/angular-services/index.d.ts +0 -3
  520. package/types/lib/generators/services/easy-network-stub/index.d.ts +0 -3
  521. package/types/lib/generators/services/fetch-clients/index.d.ts +0 -3
  522. package/types/lib/generators/services/k6-clients/index.d.ts +0 -3
  523. /package/{cjs → script}/lib/ast/common.js +0 -0
  524. /package/{cjs → script}/lib/ast/node.js +0 -0
  525. /package/{cjs → script}/lib/ast/nodes/types.js +0 -0
  526. /package/{cjs → script}/lib/common-results.js +0 -0
  527. /package/{cjs → script}/lib/config.js +0 -0
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeScriptAngularServicesGenerator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const node_path_1 = require("node:path");
6
+ const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
7
+ const core_1 = require("@goast/core");
8
+ const angular_service_generator_js_1 = require("./angular-service-generator.js");
9
+ const models_js_1 = require("./models.js");
10
+ const refs_js_1 = require("./refs.js");
11
+ const index_js_1 = require("../../../ast/index.js");
12
+ const file_builder_js_1 = require("../../../file-builder.js");
13
+ const utils_js_1 = require("../../../utils.js");
14
+ const assets_js_1 = require("../../../assets.js");
15
+ class TypeScriptAngularServicesGenerator extends core_1.OpenApiServicesGenerationProviderBase {
16
+ constructor(clientGeneratorFactory) {
17
+ super();
18
+ Object.defineProperty(this, "_clientGeneratorFactory", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: void 0
23
+ });
24
+ this._clientGeneratorFactory = clientGeneratorFactory !== null && clientGeneratorFactory !== void 0 ? clientGeneratorFactory : core_1.Factory.fromValue(new angular_service_generator_js_1.DefaultTypeScriptAngularServiceGenerator());
25
+ }
26
+ initResult() {
27
+ return {
28
+ typescript: {
29
+ services: {},
30
+ indexFiles: { services: undefined, responseModels: undefined },
31
+ },
32
+ };
33
+ }
34
+ buildContext(context, config) {
35
+ const providerContext = this.getProviderContext(context, config, models_js_1.defaultTypeScriptAngularServicesGeneratorConfig);
36
+ return Object.assign(providerContext, {
37
+ refs: (0, refs_js_1.getReferenceFactories)(providerContext.config),
38
+ });
39
+ }
40
+ async generateAdditionalFiles(ctx) {
41
+ await this.generateUtilsFiles(ctx);
42
+ ctx.output.typescript.indexFiles = this.generateIndexFiles(ctx);
43
+ }
44
+ generateService(ctx, service) {
45
+ const clientGenerator = this._clientGeneratorFactory.create();
46
+ return clientGenerator.generate({
47
+ ...ctx,
48
+ service,
49
+ });
50
+ }
51
+ addServiceResult(ctx, service, result) {
52
+ ctx.output.typescript.services[service.id] = result;
53
+ }
54
+ // #region Utils
55
+ async generateUtilsFiles(ctx) {
56
+ const targetDir = (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.utilsDir);
57
+ await fs_extra_1.default.ensureDir(targetDir);
58
+ await (0, assets_js_1.copyAssetFile)('client/angular/request-builder.ts', targetDir, 'Request Builder');
59
+ await (0, assets_js_1.copyAssetFile)('client/angular/angular-service.utils.ts', targetDir, 'Angular Service Utils');
60
+ file_builder_js_1.TypeScriptFileBuilder.generate({
61
+ logName: 'api configuration',
62
+ filePath: (0, node_path_1.resolve)(targetDir, 'api-configuration.ts'),
63
+ options: ctx.config,
64
+ generator: (b) => b.append(this.getApiConfigurationFileContent(ctx)),
65
+ });
66
+ file_builder_js_1.TypeScriptFileBuilder.generate({
67
+ logName: 'api base service',
68
+ filePath: (0, node_path_1.resolve)(targetDir, 'api-base-service.ts'),
69
+ options: ctx.config,
70
+ generator: (b) => b.append(this.getApiBaseServiceFileContent(ctx)),
71
+ });
72
+ if (!ctx.config.strictResponseTypes) {
73
+ file_builder_js_1.TypeScriptFileBuilder.generate({
74
+ logName: 'http status codes',
75
+ filePath: (0, node_path_1.resolve)(targetDir, 'http-status-code.ts'),
76
+ options: ctx.config,
77
+ generator: (b) => b.append(this.getHttpStatusCodeFileContent(ctx)),
78
+ });
79
+ }
80
+ if (ctx.config.provideKind === 'provide-fn') {
81
+ file_builder_js_1.TypeScriptFileBuilder.generate({
82
+ logName: 'providers',
83
+ filePath: (0, node_path_1.resolve)(targetDir, 'provide.ts'),
84
+ options: ctx.config,
85
+ generator: (b) => b.append(this.getProvideFnFileContent(ctx)),
86
+ });
87
+ }
88
+ }
89
+ getApiConfigurationFileContent(ctx) {
90
+ var _a, _b;
91
+ return (0, core_1.appendValueGroup)([
92
+ index_js_1.ts.class((0, core_1.toCasing)(`${(_a = ctx.config.domainName) !== null && _a !== void 0 ? _a : ''}ApiConfiguration`, ctx.config.typeNameCasing), {
93
+ doc: index_js_1.ts.doc({ description: `${(_b = ctx.config.domainName) !== null && _b !== void 0 ? _b : 'Global'} API Configuration.` }),
94
+ decorators: [
95
+ index_js_1.ts.decorator(index_js_1.ts.refs.angular.injectable(), [
96
+ ctx.config.provideKind === 'root' ? index_js_1.ts.toNode({ providedIn: 'root' }) : null,
97
+ ]),
98
+ ],
99
+ export: true,
100
+ members: [
101
+ index_js_1.ts.property('rootUrl', {
102
+ accessModifier: 'public',
103
+ type: index_js_1.ts.refs.string(),
104
+ value: index_js_1.ts.string(this.getRootUrl(ctx)),
105
+ }),
106
+ ],
107
+ }),
108
+ ], '\n');
109
+ }
110
+ getApiBaseServiceFileContent(ctx) {
111
+ return (0, core_1.appendValueGroup)([
112
+ index_js_1.ts.class('ApiBaseService', {
113
+ doc: index_js_1.ts.doc({ description: 'Base class for API services.' }),
114
+ export: true,
115
+ abstract: true,
116
+ members: [
117
+ index_js_1.ts.property('config', {
118
+ accessModifier: 'protected',
119
+ value: (b) => b.append(index_js_1.ts.refs.angular.inject(), '(', ctx.refs.apiConfiguration(), ')'),
120
+ }),
121
+ index_js_1.ts.property('http', {
122
+ accessModifier: 'protected',
123
+ value: (b) => b.append(index_js_1.ts.refs.angular.inject(), '(', index_js_1.ts.refs.angular.httpClient(), ')'),
124
+ }),
125
+ index_js_1.ts.property('_rootUrl', { accessModifier: 'private', type: index_js_1.ts.refs.string(), value: index_js_1.ts.string('') }),
126
+ index_js_1.ts.property('rootUrl', {
127
+ doc: index_js_1.ts.doc({
128
+ description: `Gets or sets the root URL for API operations provided by this service.\nFalls back to \`${ctx.refs.apiConfiguration.refName}.rootUrl\` if not set in this service.`,
129
+ }),
130
+ accessModifier: 'public',
131
+ type: index_js_1.ts.refs.string(),
132
+ get: index_js_1.ts.property.getter({ body: 'return this._rootUrl || this.config.rootUrl;' }),
133
+ set: index_js_1.ts.property.setter({ body: 'this._rootUrl = value;' }),
134
+ }),
135
+ ],
136
+ }),
137
+ ], '\n');
138
+ }
139
+ getHttpStatusCodeFileContent(ctx) {
140
+ return (0, core_1.appendValueGroup)([
141
+ index_js_1.ts.typeAlias('HttpStatusCode', index_js_1.ts.unionType(ctx.config.possibleStatusCodes), {
142
+ doc: index_js_1.ts.doc({ description: 'The possible status codes that any API endpoint can return.' }),
143
+ export: true,
144
+ }),
145
+ ], '\n');
146
+ }
147
+ getProvideFnFileContent(ctx) {
148
+ var _a;
149
+ return (0, core_1.appendValueGroup)([
150
+ index_js_1.ts.function((0, core_1.toCasing)(`provide_${(_a = ctx.config.domainName) !== null && _a !== void 0 ? _a : ''}_Api`, ctx.config.functionNameCasing), {
151
+ doc: index_js_1.ts.doc({
152
+ description: 'Provides all the API services' +
153
+ (ctx.config.domainName ? ` for ${ctx.config.domainName}` : '') + '.',
154
+ }),
155
+ export: true,
156
+ parameters: [index_js_1.ts.parameter('config', { type: ctx.refs.apiConfiguration(), optional: true })],
157
+ returnType: index_js_1.ts.refs.angular.provider(),
158
+ body: (0, core_1.appendValueGroup)([
159
+ 'return ',
160
+ index_js_1.ts.tuple([
161
+ (b) => b.append('config ? { provide: ', ctx.refs.apiConfiguration(), ', useValue: config } : ', ctx.refs.apiConfiguration()),
162
+ ...Object.values(ctx.output.typescript.services).map((x) => index_js_1.ts.reference(x.component, x.filePath)),
163
+ ]),
164
+ ';',
165
+ ]),
166
+ }),
167
+ ], '\n');
168
+ }
169
+ getRootUrl(ctx) {
170
+ var _a, _b, _c, _d, _e, _f;
171
+ return (0, utils_js_1.modifyString)((_f = (_e = (_d = (_c = ((_a = ctx.data.services[0].$src) !== null && _a !== void 0 ? _a : (_b = ctx.data.services[0].endpoints[0]) === null || _b === void 0 ? void 0 : _b.$src)) === null || _c === void 0 ? void 0 : _c.document.servers) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.url) !== null && _f !== void 0 ? _f : '/', ctx.config.rootUrl);
172
+ }
173
+ // #endregion
174
+ // #region Index
175
+ generateIndexFiles(ctx) {
176
+ const servicesIndexFilePath = this.getServicesIndexFilePath(ctx);
177
+ const responseModelsIndexFilePath = this.getResponseModelsIndexFilePath(ctx);
178
+ file_builder_js_1.TypeScriptFileBuilder.tryGenerate({
179
+ logName: 'services index file',
180
+ filePath: servicesIndexFilePath,
181
+ options: ctx.config,
182
+ generator: (b) => b.append(this.getServicesIndexFileContent(ctx)),
183
+ });
184
+ file_builder_js_1.TypeScriptFileBuilder.tryGenerate({
185
+ logName: 'response models index file',
186
+ filePath: responseModelsIndexFilePath,
187
+ options: ctx.config,
188
+ generator: (b) => b.append(this.getResponseModelsIndexFileContent(ctx)),
189
+ });
190
+ return {
191
+ services: servicesIndexFilePath,
192
+ responseModels: responseModelsIndexFilePath,
193
+ };
194
+ }
195
+ getServicesIndexFileContent(ctx) {
196
+ return (0, core_1.appendValueGroup)([
197
+ index_js_1.ts.export(ctx.refs.apiConfiguration.refName, ctx.refs.apiConfiguration.moduleNameOrfilePath),
198
+ ctx.config.provideKind === 'provide-fn'
199
+ ? index_js_1.ts.export(ctx.refs.provide.refName, ctx.refs.provide.moduleNameOrfilePath)
200
+ : null,
201
+ ...Object.values(ctx.output.typescript.services).map((x) => index_js_1.ts.export(x.component, x.filePath)),
202
+ ]);
203
+ }
204
+ getResponseModelsIndexFileContent(ctx) {
205
+ return (0, core_1.appendValueGroup)(Object.values(ctx.output.typescript.services)
206
+ .flatMap((x) => Object.values(x.responseModels))
207
+ .map((x) => index_js_1.ts.export(x.component, x.filePath, { kind: 'type-export' })));
208
+ }
209
+ getServicesIndexFilePath(ctx) {
210
+ return ctx.config.servicesIndexFile ? (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.servicesIndexFile) : null;
211
+ }
212
+ getResponseModelsIndexFilePath(ctx) {
213
+ return ctx.config.responseModelsIndexFile
214
+ ? (0, node_path_1.resolve)(ctx.config.outputDir, ctx.config.responseModelsIndexFile)
215
+ : null;
216
+ }
217
+ }
218
+ exports.TypeScriptAngularServicesGenerator = TypeScriptAngularServicesGenerator;
@@ -0,0 +1,4 @@
1
+ export * from './angular-service-generator.js';
2
+ export * from './angular-services-generator.js';
3
+ export * from './models.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/angular-services/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./angular-service-generator.js"), exports);
5
+ tslib_1.__exportStar(require("./angular-services-generator.js"), exports);
6
+ tslib_1.__exportStar(require("./models.js"), exports);
@@ -0,0 +1,142 @@
1
+ import type { ApiEndpoint, ApiSchema, ApiService, DefaultGenerationProviderConfig, ExtendedStringCasing, Nullable, OpenApiServicesGenerationProviderContext } from '@goast/core';
2
+ import type { getReferenceFactories } from './refs.js';
3
+ import type { ts } from '../../../ast/index.js';
4
+ import type { TypeScriptExportOutput } from '../../../common-results.js';
5
+ import { type TypeScriptGeneratorConfig } from '../../../config.js';
6
+ import type { TypeScriptFileBuilder } from '../../../file-builder.js';
7
+ import type { TypeScriptModelGeneratorOutput } from '../../models/index.js';
8
+ export type TypeScriptAngularServicesGeneratorConfig = TypeScriptGeneratorConfig & {
9
+ /**
10
+ * How the services should be provided in the Angular application.
11
+ * - `root` - provides all the services using `Injectable({ providedIn: 'root' })`
12
+ * - `provide-fn` - generates a function `provideApiClients` that provides the services
13
+ * @default 'root'
14
+ */
15
+ provideKind: 'root' | 'provide-fn';
16
+ /**
17
+ * The domain name of the API. Used as a prefix for exported components (e.g. `ApiConfiguration`).
18
+ * @default undefined
19
+ */
20
+ domainName: Nullable<string>;
21
+ /**
22
+ * Whether to use strict response types for the services.
23
+ * If enabled only the status codes are included that are defined in the OpenAPI specification or the `defaultStatusCodeResponseTypes` option.
24
+ * @default true
25
+ */
26
+ strictResponseTypes: boolean;
27
+ /**
28
+ * The default response types for status codes that are not defined in the OpenAPI specification.
29
+ * @example
30
+ * {
31
+ * 400: {
32
+ * parser: 'json',
33
+ * type: schemas =>
34
+ * schemas.find(s => s.name === 'BadRequestResponse')
35
+ * ?? throwExp('BadRequestResponse not found'),
36
+ * },
37
+ * 404: null,
38
+ * 500: {
39
+ * parser: 'json',
40
+ * type: ts.refs.any(),
41
+ * },
42
+ * }
43
+ * @default
44
+ * {
45
+ * 401: null,
46
+ * 403: null,
47
+ * 500: null,
48
+ * }
49
+ */
50
+ defaultStatusCodeResponseTypes: Record<number, {
51
+ parser: 'text' | 'json';
52
+ type: Exclude<ts.Type<TypeScriptFileBuilder>, Function> | ((schemas: readonly ApiSchema[]) => ApiSchema);
53
+ } | null>;
54
+ /**
55
+ * The default content type which is used for the success response. If not defined the first one defined in the OpenApi specification is used.
56
+ * @default undefined
57
+ */
58
+ defaultSuccessResponseType: Nullable<string>;
59
+ /**
60
+ * The possible status codes that any API endpoint can return.
61
+ * This is only used when `strictResponseTypes` is set to `false`.
62
+ * @default
63
+ * [100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206, 207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 421, 422, 423, 424, 425, 426, 428, 429, 431, 451, 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511]
64
+ */
65
+ possibleStatusCodes: number[];
66
+ /**
67
+ * Explicitly set the root URL of the API. If `undefined`, the root URL is taken from the first `server` in the OpenAPI specification.
68
+ * @default undefined
69
+ */
70
+ rootUrl: Nullable<string | RegExp | ((rootUrl: string) => string)>;
71
+ /**
72
+ * Modifier that is applied to the path of each endpoint.
73
+ * @default undefined
74
+ */
75
+ pathModifier: Nullable<RegExp | ((path: string, endpoint: ApiEndpoint) => string)>;
76
+ /**
77
+ * The directory where the services should be saved. The path is relative to the output directory.
78
+ * @default 'services'
79
+ */
80
+ servicesDir: string;
81
+ /**
82
+ * The casing of the file names for the services. If nullish, the `fileNameCasing` is used.
83
+ * @default { casing: 'kebab', suffix: '.service' }
84
+ */
85
+ serviceFileNameCasing: Nullable<ExtendedStringCasing>;
86
+ /**
87
+ * The path to the index file where all services should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
88
+ * @default 'services.ts'
89
+ */
90
+ servicesIndexFile: Nullable<string>;
91
+ /**
92
+ * The directory where the response models should be saved. The path is relative to the output directory.
93
+ * @default 'models/responses'
94
+ */
95
+ responseModelsDir: string;
96
+ /**
97
+ * The casing of the file names for the response models. If nullish, the `fileNameCasing` is used.
98
+ * @default { casing: 'kebab', suffix: '-responses.model' }
99
+ */
100
+ responseModelFileNameCasing: Nullable<ExtendedStringCasing>;
101
+ /**
102
+ * The path to the index file where all response models should be exported. The path is relative to the output directory. If nullish, no index file will be generated.
103
+ * @default 'responses.ts'
104
+ */
105
+ responseModelsIndexFile: Nullable<string>;
106
+ /**
107
+ * The directory where the utilies should be saved. The path is relative to the output directory.
108
+ * @default 'utils'
109
+ */
110
+ utilsDir: string;
111
+ };
112
+ export declare const defaultTypeScriptAngularServicesGeneratorConfig: DefaultGenerationProviderConfig<TypeScriptAngularServicesGeneratorConfig>;
113
+ export type TypeScriptAngularServicesGeneratorInput = {
114
+ typescript: {
115
+ models: {
116
+ [schemaId: string]: TypeScriptModelGeneratorOutput;
117
+ };
118
+ };
119
+ };
120
+ export type TypeScriptAngularServicesGeneratorOutput = {
121
+ typescript: {
122
+ services: {
123
+ [serviceId: string]: TypeScriptAngularServiceGeneratorOutput;
124
+ };
125
+ indexFiles: {
126
+ services: Nullable<string>;
127
+ responseModels: Nullable<string>;
128
+ };
129
+ };
130
+ };
131
+ export type TypeScriptAngularServiceGeneratorOutput = TypeScriptExportOutput & {
132
+ responseModels: {
133
+ [operationId: string]: TypeScriptExportOutput;
134
+ };
135
+ };
136
+ export type TypeScriptAngularServicesGeneratorContext = OpenApiServicesGenerationProviderContext<TypeScriptAngularServicesGeneratorInput, TypeScriptAngularServicesGeneratorOutput, TypeScriptAngularServicesGeneratorConfig, TypeScriptAngularServiceGeneratorOutput> & {
137
+ refs: ReturnType<typeof getReferenceFactories>;
138
+ };
139
+ export type TypeScriptAngularServiceGeneratorContext = TypeScriptAngularServicesGeneratorContext & {
140
+ readonly service: ApiService;
141
+ };
142
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/angular-services/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,+BAA+B,EAC/B,oBAAoB,EACpB,QAAQ,EACR,wCAAwC,EACzC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAoC,KAAK,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,MAAM,wCAAwC,GAAG,yBAAyB,GAAG;IACjF;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,YAAY,CAAC;IAEnC;;;OAGG;IACH,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE7B;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,8BAA8B,EAAE,MAAM,CACpC,MAAM,EACN;QACE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QAExB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;KAC1G,GAAG,IAAI,CACT,CAAC;IAEF;;;OAGG;IACH,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,OAAO,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;IAEnE;;;OAGG;IACH,YAAY,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC;IAEnF;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,qBAAqB,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAEtD;;;OAGG;IACH,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,2BAA2B,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE5D;;;OAGG;IACH,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1C;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,+CAA+C,EAAE,+BAA+B,CAC3F,wCAAwC,CAuFzC,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD,UAAU,EAAE;QACV,MAAM,EAAE;YACN,CAAC,QAAQ,EAAE,MAAM,GAAG,8BAA8B,CAAC;SACpD,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,UAAU,EAAE;QACV,QAAQ,EAAE;YACR,CAAC,SAAS,EAAE,MAAM,GAAG,uCAAuC,CAAC;SAC9D,CAAC;QACF,UAAU,EAAE;YACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3B,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;SAClC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG,sBAAsB,GAAG;IAC7E,cAAc,EAAE;QACd,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,CAAC;KAC/C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yCAAyC,GACjD,wCAAwC,CACxC,uCAAuC,EACvC,wCAAwC,EACxC,wCAAwC,EACxC,uCAAuC,CACxC,GACC;IACA,IAAI,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;CAChD,CAAC;AAEJ,MAAM,MAAM,wCAAwC,GAAG,yCAAyC,GAAG;IACjG,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B,CAAC"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultTypeScriptAngularServicesGeneratorConfig = void 0;
4
+ const config_js_1 = require("../../../config.js");
5
+ exports.defaultTypeScriptAngularServicesGeneratorConfig = {
6
+ ...config_js_1.defaultTypeScriptGeneratorConfig,
7
+ provideKind: 'provide-fn',
8
+ domainName: undefined,
9
+ strictResponseTypes: true,
10
+ defaultStatusCodeResponseTypes: {
11
+ 401: null,
12
+ 403: null,
13
+ 500: null,
14
+ },
15
+ defaultSuccessResponseType: undefined,
16
+ possibleStatusCodes: [
17
+ 100,
18
+ 101,
19
+ 102,
20
+ 103,
21
+ 200,
22
+ 201,
23
+ 202,
24
+ 203,
25
+ 204,
26
+ 205,
27
+ 206,
28
+ 207,
29
+ 208,
30
+ 226,
31
+ 300,
32
+ 301,
33
+ 302,
34
+ 303,
35
+ 304,
36
+ 305,
37
+ 306,
38
+ 307,
39
+ 308,
40
+ 400,
41
+ 401,
42
+ 402,
43
+ 403,
44
+ 404,
45
+ 405,
46
+ 406,
47
+ 407,
48
+ 408,
49
+ 409,
50
+ 410,
51
+ 411,
52
+ 412,
53
+ 413,
54
+ 414,
55
+ 415,
56
+ 416,
57
+ 417,
58
+ 421,
59
+ 422,
60
+ 423,
61
+ 424,
62
+ 425,
63
+ 426,
64
+ 428,
65
+ 429,
66
+ 431,
67
+ 451,
68
+ 500,
69
+ 501,
70
+ 502,
71
+ 503,
72
+ 504,
73
+ 505,
74
+ 506,
75
+ 507,
76
+ 508,
77
+ 510,
78
+ 511,
79
+ ],
80
+ rootUrl: undefined,
81
+ pathModifier: undefined,
82
+ servicesDir: 'services',
83
+ serviceFileNameCasing: { casing: 'kebab', suffix: '.service' },
84
+ servicesIndexFile: 'services.ts',
85
+ responseModelsDir: 'models/responses',
86
+ responseModelFileNameCasing: { casing: 'kebab', suffix: '-responses.model' },
87
+ responseModelsIndexFile: 'responses.ts',
88
+ utilsDir: 'utils',
89
+ };
@@ -0,0 +1,63 @@
1
+ import { ts } from '../../../ast/index.js';
2
+ import type { TypeScriptAngularServicesGeneratorConfig } from './models.js';
3
+ export declare function getReferenceFactories(options: TypeScriptAngularServicesGeneratorConfig): {
4
+ abortablePromise: (<TBuilder extends import("@goast/core").SourceBuilder>(generics: [ts.Type<TBuilder>], options?: {
5
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
6
+ } | undefined) => ts.Reference<TBuilder, never>) & {
7
+ refName: string;
8
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
9
+ infer: <TBuilder extends import("@goast/core").SourceBuilder>() => ts.Reference<TBuilder, never>;
10
+ } & {
11
+ moduleNameOrfilePath: string;
12
+ };
13
+ waitForResponse: (<TBuilder extends import("@goast/core").SourceBuilder>(generics: [ts.Type<TBuilder>], options?: {
14
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
15
+ } | undefined) => ts.Reference<TBuilder, never>) & {
16
+ refName: string;
17
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
18
+ infer: <TBuilder extends import("@goast/core").SourceBuilder>() => ts.Reference<TBuilder, never>;
19
+ } & {
20
+ moduleNameOrfilePath: string;
21
+ };
22
+ requestBuilder: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
23
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
24
+ }) => ts.Reference<TBuilder, never>) & {
25
+ refName: string;
26
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
27
+ } & {
28
+ moduleNameOrfilePath: string;
29
+ };
30
+ apiConfiguration: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
31
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
32
+ }) => ts.Reference<TBuilder, never>) & {
33
+ refName: string;
34
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
35
+ } & {
36
+ moduleNameOrfilePath: string;
37
+ };
38
+ apiBaseService: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
39
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
40
+ }) => ts.Reference<TBuilder, never>) & {
41
+ refName: string;
42
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
43
+ } & {
44
+ moduleNameOrfilePath: string;
45
+ };
46
+ httpStatusCode: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
47
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
48
+ }) => ts.Reference<TBuilder, never>) & {
49
+ refName: string;
50
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
51
+ } & {
52
+ moduleNameOrfilePath: string;
53
+ };
54
+ provide: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
55
+ importType?: import("@goast/core").Nullable<import("../../../common-results.js").TypeScriptImportType>;
56
+ }) => ts.Reference<TBuilder, never>) & {
57
+ refName: string;
58
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
59
+ } & {
60
+ moduleNameOrfilePath: string;
61
+ };
62
+ };
63
+ //# sourceMappingURL=refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/angular-services/refs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,aAAa,CAAC;AAG5E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCtF"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReferenceFactories = getReferenceFactories;
4
+ const node_path_1 = require("node:path");
5
+ const core_1 = require("@goast/core");
6
+ const index_js_1 = require("../../../ast/index.js");
7
+ // See packages/typescript/assets/client/angular for reference
8
+ function getReferenceFactories(options) {
9
+ var _a, _b;
10
+ const utilsDirPath = (0, node_path_1.resolve)(options.outputDir, options.utilsDir);
11
+ return {
12
+ // angular-service.utils.ts
13
+ abortablePromise: index_js_1.ts.reference.genericFactory('AbortablePromise', (0, node_path_1.join)(utilsDirPath, 'angular-service.utils.ts'), {
14
+ importType: 'type-import',
15
+ }),
16
+ waitForResponse: index_js_1.ts.reference.genericFactory('waitForResponse', (0, node_path_1.join)(utilsDirPath, 'angular-service.utils.ts')),
17
+ // request-builder.ts
18
+ requestBuilder: index_js_1.ts.reference.factory('RequestBuilder', (0, node_path_1.join)(utilsDirPath, 'request-builder.ts')),
19
+ // api-configuration.ts - generated in angular-services-generator.ts
20
+ apiConfiguration: index_js_1.ts.reference.factory((0, core_1.toCasing)(`${(_a = options.domainName) !== null && _a !== void 0 ? _a : ''}ApiConfiguration`, options.typeNameCasing), (0, node_path_1.join)(utilsDirPath, 'api-configuration.ts')),
21
+ // api-base-service.ts - generated in angular-service-generator.ts
22
+ apiBaseService: index_js_1.ts.reference.factory('ApiBaseService', (0, node_path_1.join)(utilsDirPath, 'api-base-service.ts')),
23
+ // http-status-code.ts - generated in angular-services-generator.ts
24
+ httpStatusCode: index_js_1.ts.reference.factory('HttpStatusCode', (0, node_path_1.join)(utilsDirPath, 'http-status-code.ts'), {
25
+ importType: 'type-import',
26
+ }),
27
+ // provide.ts - generated in angular-services-generator.ts
28
+ provide: index_js_1.ts.reference.factory((0, core_1.toCasing)(`provide_${(_b = options.domainName) !== null && _b !== void 0 ? _b : ''}_Api`, options.functionNameCasing), (0, node_path_1.join)(utilsDirPath, 'provide.ts')),
29
+ };
30
+ }
@@ -0,0 +1,33 @@
1
+ import { type ApiEndpoint, type ApiSchema, type AppendValueGroup, type MaybePromise } from '@goast/core';
2
+ import type { TypeScriptEasyNetworkStubGeneratorContext, TypeScriptEasyNetworkStubGeneratorOutput } from './models.js';
3
+ import { ts } from '../../../ast/index.js';
4
+ import { TypeScriptFileBuilder } from '../../../file-builder.js';
5
+ import { TypeScriptFileGenerator } from '../../file-generator.js';
6
+ type Context = TypeScriptEasyNetworkStubGeneratorContext;
7
+ type Output = TypeScriptEasyNetworkStubGeneratorOutput;
8
+ type Builder = TypeScriptFileBuilder;
9
+ export interface TypeScriptEasyNetworkStubGenerator<TOutput extends Output = Output> {
10
+ generate(ctx: Context): MaybePromise<TOutput>;
11
+ }
12
+ export declare class DefaultTypeScriptEasyNetworkStubGenerator extends TypeScriptFileGenerator<Context, Output> implements TypeScriptEasyNetworkStubGenerator {
13
+ generate(ctx: Context): MaybePromise<Output>;
14
+ protected getStubFileContent(ctx: Context): AppendValueGroup<Builder>;
15
+ protected getResponderVariable(ctx: Context, endpoint: ApiEndpoint): ts.Variable<Builder>;
16
+ protected getStubClass(ctx: Context): ts.Class<Builder>;
17
+ protected getEndpointRequestsType(ctx: Context, endpoint: ApiEndpoint, options?: {
18
+ readonly?: boolean;
19
+ }): ts.Type<Builder>;
20
+ protected getEndpointStubMethod(ctx: Context, endpoint: ApiEndpoint): ts.Method<Builder>;
21
+ protected getStubFilePath(ctx: Context): string;
22
+ protected getResponderVariableName(ctx: Context, endpoint: ApiEndpoint): string;
23
+ protected getStubClassName(ctx: Context): string;
24
+ protected getEndpointPathPropertyName(ctx: Context, endpoint: ApiEndpoint): string;
25
+ protected getEndpointRequestsFieldName(ctx: Context, endpoint: ApiEndpoint): string;
26
+ protected getEndpointRequestsPropertyName(ctx: Context, endpoint: ApiEndpoint): string;
27
+ protected getEndpointStubMethodName(ctx: Context, endpoint: ApiEndpoint): string;
28
+ protected getStubRoute(ctx: Context, endpoint: ApiEndpoint): string;
29
+ protected getEndpointStatusCodes(ctx: Context, endpoint: ApiEndpoint): Record<number, ts.Type<Builder>>;
30
+ protected getSchemaType(ctx: Context, schema: ApiSchema | undefined, fallback?: ts.Type<Builder>): ts.Type<Builder>;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=easy-network-stub-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easy-network-stub-generator.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generators/services/easy-network-stub/easy-network-stub-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,gBAAgB,EAGrB,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,yCAAyC,EAAE,wCAAwC,EAAE,MAAM,aAAa,CAAC;AACvH,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,OAAO,GAAG,yCAAyC,CAAC;AACzD,KAAK,MAAM,GAAG,wCAAwC,CAAC;AACvD,KAAK,OAAO,GAAG,qBAAqB,CAAC;AAErC,MAAM,WAAW,kCAAkC,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACjF,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;CAC/C;AAED,qBAAa,yCAA0C,SAAQ,uBAAuB,CAAC,OAAO,EAAE,MAAM,CACpG,YAAW,kCAAkC;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;IAiBnD,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAOrE,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;IAgBzF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAoDvD,SAAS,CAAC,uBAAuB,CAC/B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,WAAW,EACrB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;IAUnB,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;IAiCxF,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAQ/C,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAI/E,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAIhD,SAAS,CAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAIlF,SAAS,CAAC,4BAA4B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAInF,SAAS,CAAC,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAItF,SAAS,CAAC,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAIhF,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM;IAyBnE,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAYvG,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;CAKpH"}