@autorest/typescript 6.0.0-beta.7 → 6.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/README.md +42 -5
  2. package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +41 -5
  3. package/dist/hlcSamples.ts.hbs +49 -0
  4. package/dist/karma.conf.js.hbs +126 -0
  5. package/dist/paginateHelper.ts.hbs +208 -0
  6. package/dist/pollingHelper.ts.hbs +72 -0
  7. package/dist/rlcEnv.ts.hbs +3 -0
  8. package/dist/rlcREADME.md.hbs +71 -0
  9. package/dist/rlcRecordedClient.ts.hbs +26 -0
  10. package/dist/rlcSampleTest.spec.ts.hbs +20 -0
  11. package/dist/rlcSamples.ts.hbs +28 -0
  12. package/dist/sampleEnv.hbs +4 -0
  13. package/dist/sampleTest.ts.hbs +32 -0
  14. package/dist/samples.ts.hbs +0 -0
  15. package/dist/src/autorestSession.d.ts +18 -6
  16. package/dist/src/autorestSession.d.ts.map +1 -1
  17. package/dist/src/autorestSession.js +3 -9
  18. package/dist/src/autorestSession.js.map +1 -1
  19. package/dist/src/conflictResolver.d.ts +3 -0
  20. package/dist/src/conflictResolver.d.ts.map +1 -0
  21. package/dist/src/conflictResolver.js +43 -0
  22. package/dist/src/conflictResolver.js.map +1 -0
  23. package/dist/src/generators/LROGenerator.d.ts.map +1 -1
  24. package/dist/src/generators/LROGenerator.js +5 -13
  25. package/dist/src/generators/LROGenerator.js.map +1 -1
  26. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  27. package/dist/src/generators/clientFileGenerator.js +303 -61
  28. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  29. package/dist/src/generators/indexGenerator.d.ts +1 -1
  30. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  31. package/dist/src/generators/indexGenerator.js +143 -11
  32. package/dist/src/generators/indexGenerator.js.map +1 -1
  33. package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
  34. package/dist/src/generators/mappersGenerator.js +93 -19
  35. package/dist/src/generators/mappersGenerator.js.map +1 -1
  36. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  37. package/dist/src/generators/modelsGenerator.js +81 -82
  38. package/dist/src/generators/modelsGenerator.js.map +1 -1
  39. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  40. package/dist/src/generators/operationGenerator.js +92 -125
  41. package/dist/src/generators/operationGenerator.js.map +1 -1
  42. package/dist/src/generators/operationInterfaceGenerator.js +20 -20
  43. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  44. package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
  45. package/dist/src/generators/parametersGenerator.js +7 -8
  46. package/dist/src/generators/parametersGenerator.js.map +1 -1
  47. package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
  48. package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
  49. package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
  50. package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
  51. package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
  52. package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
  53. package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
  54. package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
  55. package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
  56. package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
  57. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  58. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  59. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  60. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  61. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  62. package/dist/src/generators/static/apiExtractorConfig.js +3 -3
  63. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  64. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  65. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  66. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  67. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  68. package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +41 -5
  69. package/dist/src/generators/static/karma.conf.js.hbs +126 -0
  70. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  71. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  72. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  73. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  74. package/dist/src/generators/static/licenseFileGenerator.js +1 -1
  75. package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
  76. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  77. package/dist/src/generators/static/packageFileGenerator.js +267 -79
  78. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  79. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  80. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  81. package/dist/src/generators/static/readmeFileGenerator.js +54 -26
  82. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  83. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  84. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  85. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  86. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  87. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  88. package/dist/src/generators/static/tsConfigFileGenerator.js +47 -20
  89. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  90. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  91. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  92. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  93. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  94. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  95. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  96. package/dist/src/generators/test/envFileGenerator.js +23 -0
  97. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  98. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  99. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  100. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  101. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  102. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  103. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  104. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  105. package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
  106. package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
  107. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
  108. package/dist/src/generators/test/sampleTestGenerator.js +34 -0
  109. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
  110. package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
  111. package/dist/src/generators/tracingFileGenerator.js +7 -21
  112. package/dist/src/generators/tracingFileGenerator.js.map +1 -1
  113. package/dist/src/generators/utils/docsUtils.js +2 -2
  114. package/dist/src/generators/utils/docsUtils.js.map +1 -1
  115. package/dist/src/generators/utils/operationsUtils.js +1 -1
  116. package/dist/src/generators/utils/operationsUtils.js.map +1 -1
  117. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  118. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  119. package/dist/src/generators/utils/pagingOperations.js +15 -15
  120. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  121. package/dist/src/generators/utils/parameterUtils.js +9 -9
  122. package/dist/src/generators/utils/parameterUtils.js.map +1 -1
  123. package/dist/src/generators/utils/responseTypeUtils.js +2 -2
  124. package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
  125. package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
  126. package/dist/src/generators/utils/tracingUtils.js +2 -6
  127. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  128. package/dist/src/lroImpl.d.ts +16 -0
  129. package/dist/src/lroImpl.d.ts.map +1 -0
  130. package/dist/src/lroImpl.js +45 -0
  131. package/dist/src/lroImpl.js.map +1 -0
  132. package/dist/src/main.d.ts +2 -2
  133. package/dist/src/main.d.ts.map +1 -1
  134. package/dist/src/main.js +8 -8
  135. package/dist/src/main.js.map +1 -1
  136. package/dist/src/models/clientDetails.d.ts +10 -1
  137. package/dist/src/models/clientDetails.d.ts.map +1 -1
  138. package/dist/src/models/modelDetails.d.ts +2 -2
  139. package/dist/src/models/modelDetails.d.ts.map +1 -1
  140. package/dist/src/models/operationDetails.d.ts +1 -0
  141. package/dist/src/models/operationDetails.d.ts.map +1 -1
  142. package/dist/src/models/sampleDetails.d.ts +22 -0
  143. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  144. package/dist/src/models/sampleDetails.js +3 -0
  145. package/dist/src/models/sampleDetails.js.map +1 -0
  146. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  147. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  148. package/dist/src/restLevelClient/generateClient.js +108 -167
  149. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  150. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  151. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  152. package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
  153. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  154. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
  155. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
  156. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
  157. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
  158. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  159. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  160. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  161. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  162. package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
  163. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  164. package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
  165. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  166. package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
  167. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
  168. package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
  169. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
  170. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  171. package/dist/src/restLevelClient/generateParameterTypes.js +247 -43
  172. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  173. package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
  174. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
  175. package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
  176. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
  177. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  178. package/dist/src/restLevelClient/generateResponseTypes.js +45 -29
  179. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  180. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  181. package/dist/src/restLevelClient/generateRestLevel.js +64 -15
  182. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  183. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  184. package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
  185. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  186. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  187. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  188. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  189. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  190. package/dist/src/restLevelClient/getPropertySignature.d.ts +3 -2
  191. package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
  192. package/dist/src/restLevelClient/getPropertySignature.js +23 -7
  193. package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
  194. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
  195. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
  196. package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
  197. package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
  198. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
  199. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
  200. package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
  201. package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
  202. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  203. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  204. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  205. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  206. package/dist/src/restLevelClient/interfaces.d.ts +33 -0
  207. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  208. package/dist/src/restLevelClient/interfaces.js +3 -0
  209. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  210. package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
  211. package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
  212. package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
  213. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  214. package/dist/src/restLevelClient/operationHelpers.js +21 -10
  215. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  216. package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  217. package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  218. package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
  219. package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
  220. package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
  221. package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
  222. package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
  223. package/dist/src/restLevelClient/schemaHelpers.d.ts +12 -2
  224. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  225. package/dist/src/restLevelClient/schemaHelpers.js +48 -14
  226. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  227. package/dist/src/transforms/extensions.js +10 -10
  228. package/dist/src/transforms/extensions.js.map +1 -1
  229. package/dist/src/transforms/groupTransforms.js +2 -2
  230. package/dist/src/transforms/groupTransforms.js.map +1 -1
  231. package/dist/src/transforms/mapperTransforms.d.ts +1 -1
  232. package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
  233. package/dist/src/transforms/mapperTransforms.js +30 -27
  234. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  235. package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
  236. package/dist/src/transforms/objectTransforms.js +42 -26
  237. package/dist/src/transforms/objectTransforms.js.map +1 -1
  238. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  239. package/dist/src/transforms/operationTransforms.js +29 -26
  240. package/dist/src/transforms/operationTransforms.js.map +1 -1
  241. package/dist/src/transforms/optionsTransforms.js +1 -1
  242. package/dist/src/transforms/optionsTransforms.js.map +1 -1
  243. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  244. package/dist/src/transforms/parameterTransforms.js +43 -27
  245. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  246. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  247. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  248. package/dist/src/transforms/samplesTransforms.js +293 -0
  249. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  250. package/dist/src/transforms/transforms.d.ts +1 -2
  251. package/dist/src/transforms/transforms.d.ts.map +1 -1
  252. package/dist/src/transforms/transforms.js +26 -24
  253. package/dist/src/transforms/transforms.js.map +1 -1
  254. package/dist/src/transforms/urlTransforms.js +3 -3
  255. package/dist/src/transforms/urlTransforms.js.map +1 -1
  256. package/dist/src/typescriptGenerator.d.ts +2 -2
  257. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  258. package/dist/src/typescriptGenerator.js +46 -40
  259. package/dist/src/typescriptGenerator.js.map +1 -1
  260. package/dist/src/utils/autorestOptions.d.ts +2 -2
  261. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  262. package/dist/src/utils/autorestOptions.js +148 -61
  263. package/dist/src/utils/autorestOptions.js.map +1 -1
  264. package/dist/src/utils/cloneOperation.js +2 -2
  265. package/dist/src/utils/cloneOperation.js.map +1 -1
  266. package/dist/src/utils/copyFiles.d.ts +2 -0
  267. package/dist/src/utils/copyFiles.d.ts.map +1 -0
  268. package/dist/src/utils/copyFiles.js +33 -0
  269. package/dist/src/utils/copyFiles.js.map +1 -0
  270. package/dist/src/utils/extractHeaders.js +4 -4
  271. package/dist/src/utils/extractHeaders.js.map +1 -1
  272. package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
  273. package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
  274. package/dist/src/utils/extractPaginationDetails.js +23 -10
  275. package/dist/src/utils/extractPaginationDetails.js.map +1 -1
  276. package/dist/src/utils/headersToSchema.js +1 -1
  277. package/dist/src/utils/headersToSchema.js.map +1 -1
  278. package/dist/src/utils/logger.js +1 -1
  279. package/dist/src/utils/logger.js.map +1 -1
  280. package/dist/src/utils/nameUtils.d.ts +6 -2
  281. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  282. package/dist/src/utils/nameUtils.js +13 -8
  283. package/dist/src/utils/nameUtils.js.map +1 -1
  284. package/dist/src/utils/schemaHelpers.d.ts +6 -1
  285. package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
  286. package/dist/src/utils/schemaHelpers.js +50 -7
  287. package/dist/src/utils/schemaHelpers.js.map +1 -1
  288. package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
  289. package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
  290. package/dist/src/utils/valueHelpers.d.ts.map +1 -1
  291. package/dist/src/utils/valueHelpers.js +2 -1
  292. package/dist/src/utils/valueHelpers.js.map +1 -1
  293. package/package.json +59 -39
  294. package/src/autorestSession.ts +26 -18
  295. package/src/conflictResolver.ts +61 -0
  296. package/src/generators/LROGenerator.ts +2 -16
  297. package/src/generators/clientFileGenerator.ts +400 -50
  298. package/src/generators/indexGenerator.ts +166 -14
  299. package/src/generators/mappersGenerator.ts +108 -8
  300. package/src/generators/modelsGenerator.ts +101 -98
  301. package/src/generators/operationGenerator.ts +63 -122
  302. package/src/generators/parametersGenerator.ts +2 -3
  303. package/src/generators/samples/hlcSampleGenerator.ts +50 -0
  304. package/src/generators/samples/hlcSamples.ts.hbs +49 -0
  305. package/src/generators/samples/rlcSampleGenerator.ts +72 -0
  306. package/src/generators/samples/rlcSamples.ts.hbs +28 -0
  307. package/src/generators/samples/sampleEnv.hbs +4 -0
  308. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  309. package/src/generators/static/apiExtractorConfig.ts +3 -3
  310. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  311. package/src/generators/static/hlcREADME.md.hbs +144 -0
  312. package/src/generators/static/karma.conf.js.hbs +126 -0
  313. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  314. package/src/generators/static/packageFileGenerator.ts +305 -82
  315. package/src/generators/static/readmeFileGenerator.ts +85 -42
  316. package/src/generators/static/rlcREADME.md.hbs +71 -0
  317. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  318. package/src/generators/static/tsConfigFileGenerator.ts +55 -21
  319. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  320. package/src/generators/test/envFileGenerator.ts +22 -0
  321. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  322. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  323. package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  324. package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  325. package/src/generators/test/sampleTest.ts.hbs +32 -0
  326. package/src/generators/test/sampleTestGenerator.ts +32 -0
  327. package/src/generators/tracingFileGenerator.ts +6 -24
  328. package/src/generators/utils/pagingOperations.ts +1 -2
  329. package/src/generators/utils/tracingUtils.ts +1 -5
  330. package/src/lroImpl.ts +26 -0
  331. package/src/main.ts +8 -5
  332. package/src/models/clientDetails.ts +11 -1
  333. package/src/models/modelDetails.ts +2 -2
  334. package/src/models/operationDetails.ts +1 -0
  335. package/src/models/sampleDetails.ts +22 -0
  336. package/src/restLevelClient/generateClient.ts +134 -244
  337. package/src/restLevelClient/generateClientDefinition.ts +386 -0
  338. package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
  339. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  340. package/src/restLevelClient/generateObjectTypes.ts +62 -21
  341. package/src/restLevelClient/generatePagingHelper.ts +69 -0
  342. package/src/restLevelClient/generateParameterTypes.ts +377 -55
  343. package/src/restLevelClient/generatePollingHelper.ts +19 -0
  344. package/src/restLevelClient/generateResponseTypes.ts +53 -22
  345. package/src/restLevelClient/generateRestLevel.ts +65 -8
  346. package/src/restLevelClient/generateSchemaTypes.ts +43 -8
  347. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  348. package/src/restLevelClient/getPropertySignature.ts +31 -6
  349. package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
  350. package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
  351. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  352. package/src/restLevelClient/interfaces.ts +39 -0
  353. package/src/restLevelClient/operationHelpers.ts +23 -9
  354. package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  355. package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  356. package/src/restLevelClient/samples/generateSamples.ts +23 -0
  357. package/src/restLevelClient/samples/samples.ts.hbs +0 -0
  358. package/src/restLevelClient/schemaHelpers.ts +51 -9
  359. package/src/transforms/mapperTransforms.ts +12 -6
  360. package/src/transforms/objectTransforms.ts +26 -6
  361. package/src/transforms/operationTransforms.ts +6 -1
  362. package/src/transforms/parameterTransforms.ts +26 -7
  363. package/src/transforms/samplesTransforms.ts +349 -0
  364. package/src/transforms/transforms.ts +14 -9
  365. package/src/typescriptGenerator.ts +41 -45
  366. package/src/utils/autorestOptions.ts +203 -86
  367. package/src/utils/copyFiles.ts +36 -0
  368. package/src/utils/extractPaginationDetails.ts +19 -1
  369. package/src/utils/nameUtils.ts +18 -9
  370. package/src/utils/schemaHelpers.ts +51 -4
  371. package/src/utils/valueHelpers.ts +1 -0
  372. package/CHANGELOG.md +0 -44
  373. package/dist/src/coreClientLro.d.ts +0 -26
  374. package/dist/src/coreClientLro.d.ts.map +0 -1
  375. package/dist/src/coreClientLro.js +0 -207
  376. package/dist/src/coreClientLro.js.map +0 -1
  377. package/dist/src/coreHttpLro.d.ts +0 -26
  378. package/dist/src/coreHttpLro.d.ts.map +0 -1
  379. package/dist/src/coreHttpLro.js +0 -186
  380. package/dist/src/coreHttpLro.js.map +0 -1
  381. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  382. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  383. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  384. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  385. package/dist/src/lro/azureAsyncPolling.d.ts +0 -3
  386. package/dist/src/lro/azureAsyncPolling.d.ts.map +0 -1
  387. package/dist/src/lro/azureAsyncPolling.js +0 -71
  388. package/dist/src/lro/azureAsyncPolling.js.map +0 -1
  389. package/dist/src/lro/bodyPolling.d.ts +0 -8
  390. package/dist/src/lro/bodyPolling.d.ts.map +0 -1
  391. package/dist/src/lro/bodyPolling.js +0 -34
  392. package/dist/src/lro/bodyPolling.js.map +0 -1
  393. package/dist/src/lro/index.d.ts +0 -4
  394. package/dist/src/lro/index.d.ts.map +0 -1
  395. package/dist/src/lro/index.js +0 -10
  396. package/dist/src/lro/index.js.map +0 -1
  397. package/dist/src/lro/locationPolling.d.ts +0 -3
  398. package/dist/src/lro/locationPolling.d.ts.map +0 -1
  399. package/dist/src/lro/locationPolling.js +0 -18
  400. package/dist/src/lro/locationPolling.js.map +0 -1
  401. package/dist/src/lro/lroEngine.d.ts +0 -14
  402. package/dist/src/lro/lroEngine.d.ts.map +0 -1
  403. package/dist/src/lro/lroEngine.js +0 -38
  404. package/dist/src/lro/lroEngine.js.map +0 -1
  405. package/dist/src/lro/models.d.ts +0 -138
  406. package/dist/src/lro/models.d.ts.map +0 -1
  407. package/dist/src/lro/models.js +0 -12
  408. package/dist/src/lro/models.js.map +0 -1
  409. package/dist/src/lro/operation.d.ts +0 -36
  410. package/dist/src/lro/operation.d.ts.map +0 -1
  411. package/dist/src/lro/operation.js +0 -89
  412. package/dist/src/lro/operation.js.map +0 -1
  413. package/dist/src/lro/passthrough.d.ts +0 -3
  414. package/dist/src/lro/passthrough.d.ts.map +0 -1
  415. package/dist/src/lro/passthrough.js +0 -14
  416. package/dist/src/lro/passthrough.js.map +0 -1
  417. package/dist/src/lro/requestUtils.d.ts +0 -16
  418. package/dist/src/lro/requestUtils.d.ts.map +0 -1
  419. package/dist/src/lro/requestUtils.js +0 -76
  420. package/dist/src/lro/requestUtils.js.map +0 -1
  421. package/dist/src/lro/stateMachine.d.ts +0 -18
  422. package/dist/src/lro/stateMachine.d.ts.map +0 -1
  423. package/dist/src/lro/stateMachine.js +0 -90
  424. package/dist/src/lro/stateMachine.js.map +0 -1
  425. package/src/coreClientLro.ts +0 -315
  426. package/src/coreHttpLro.ts +0 -268
  427. package/src/generators/clientContextFileGenerator.ts +0 -405
  428. package/src/lro/azureAsyncPolling.ts +0 -82
  429. package/src/lro/bodyPolling.ts +0 -34
  430. package/src/lro/index.ts +0 -18
  431. package/src/lro/locationPolling.ts +0 -20
  432. package/src/lro/lroEngine.ts +0 -53
  433. package/src/lro/models.ts +0 -165
  434. package/src/lro/operation.ts +0 -112
  435. package/src/lro/passthrough.ts +0 -15
  436. package/src/lro/requestUtils.ts +0 -94
  437. package/src/lro/stateMachine.ts +0 -108
@@ -1,40 +1,91 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateParameterInterfaces = void 0;
4
+ const codemodel_1 = require("@autorest/codemodel");
4
5
  const ts_morph_1 = require("ts-morph");
6
+ const path = require("path");
5
7
  const languageHelpers_1 = require("../utils/languageHelpers");
6
8
  const nameUtils_1 = require("../utils/nameUtils");
7
9
  const getPropertySignature_1 = require("./getPropertySignature");
10
+ const schemaHelpers_1 = require("./schemaHelpers");
11
+ const operationHelpers_1 = require("./helpers/operationHelpers");
12
+ const modelHelpers_1 = require("./helpers/modelHelpers");
13
+ const autorestSession_1 = require("../autorestSession");
8
14
  /**
9
15
  * Generates the interfaces describing each operation parameters
10
16
  */
11
17
  function generateParameterInterfaces(model, project) {
12
- const parametersFile = project.createSourceFile(`src/parameters.ts`, undefined, {
18
+ var _a, _b;
19
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
20
+ const parametersFile = project.createSourceFile(path.join(srcPath, `parameters.ts`), undefined, {
13
21
  overwrite: true
14
22
  });
15
23
  // Tracks the models we need to import
16
24
  const importedModels = new Set();
17
25
  // Tracks the generated parameter types
18
26
  const operations = getAllOperations(model);
27
+ let hasHeaders = false;
19
28
  for (const operation of operations) {
20
- const internalReferences = new Set();
21
- const operationName = nameUtils_1.normalizeName(languageHelpers_1.getLanguageMetadata(operation.language).name, nameUtils_1.NameType.Interface);
22
- const parameterInterfaceName = `${operationName}Parameters`;
23
- const parameters = getOperationParameters(operation);
24
- const queryParameterDefinitions = buildQueryParameterDefinition(operationName, parameters, importedModels, internalReferences);
25
- const bodyParameterDefinition = buildBodyParametersDefinition(operationName, parameters, importedModels, internalReferences);
26
- // Add interfaces for body and query parameters
27
- parametersFile.addInterfaces([
28
- ...(bodyParameterDefinition ? [bodyParameterDefinition] : []),
29
- ...(queryParameterDefinitions !== null && queryParameterDefinitions !== void 0 ? queryParameterDefinitions : [])
30
- ]);
29
+ const operationName = (0, nameUtils_1.normalizeName)((0, languageHelpers_1.getLanguageMetadata)(operation.language).name, nameUtils_1.NameType.Interface);
30
+ const requestCount = (_b = (_a = operation === null || operation === void 0 ? void 0 : operation.requests) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
31
+ const topParamName = `${operationName}Parameters`;
32
+ const subParamNames = [];
33
+ // We need to loop the requests. An operation with multiple requests means that
34
+ // the operation can get different values for content-type and each value may
35
+ // have a different type associated to it.
36
+ for (let i = 0; i < requestCount; i++) {
37
+ const internalReferences = new Set();
38
+ // In case we have more than one request to model we need to add a suffix to differentiate
39
+ const nameSuffix = i > 0 ? `${i}` : "";
40
+ const parameterInterfaceName = requestCount > 1
41
+ ? `${operationName}RequestParameters${nameSuffix}`
42
+ : topParamName;
43
+ const parameters = (0, operationHelpers_1.getOperationParameters)(operation, i);
44
+ const queryParameterDefinitions = buildQueryParameterDefinition(operationName, parameters, [codemodel_1.SchemaContext.Input], importedModels, internalReferences, i);
45
+ const request = operation.requests ? operation.requests[i] : undefined;
46
+ const pathParameterDefinitions = buildPathParameterDefinitions(operationName, parameters, model, parametersFile, internalReferences, i);
47
+ const headerParameterDefinitions = buildHeaderParameterDefinitions(operationName, parameters, parametersFile, internalReferences, i);
48
+ const contentTypeParameterDefinition = buildContentTypeParametersDefinition(operationName, request, internalReferences, i);
49
+ const bodyParameterDefinition = buildBodyParametersDefinition(operationName, parameters, [codemodel_1.SchemaContext.Input], importedModels, internalReferences, i);
50
+ // Add interfaces for body and query parameters
51
+ parametersFile.addInterfaces([
52
+ ...(bodyParameterDefinition !== null && bodyParameterDefinition !== void 0 ? bodyParameterDefinition : []),
53
+ ...(queryParameterDefinitions !== null && queryParameterDefinitions !== void 0 ? queryParameterDefinitions : []),
54
+ ...(pathParameterDefinitions ? [pathParameterDefinitions] : []),
55
+ ...(headerParameterDefinitions ? [headerParameterDefinitions] : []),
56
+ ...(contentTypeParameterDefinition
57
+ ? [contentTypeParameterDefinition]
58
+ : [])
59
+ ]);
60
+ // Add Operation parameters type alias which is composed of the types we generated above
61
+ // plus the common type RequestParameters
62
+ parametersFile.addTypeAlias({
63
+ name: parameterInterfaceName,
64
+ isExported: true,
65
+ type: [...internalReferences, "RequestParameters"].join(" & ")
66
+ });
67
+ subParamNames.push(parameterInterfaceName);
68
+ if (headerParameterDefinitions !== undefined) {
69
+ hasHeaders = true;
70
+ }
71
+ }
31
72
  // Add Operation parameters type alias which is composed of the types we generated above
32
73
  // plus the common type RequestParameters
33
- parametersFile.addTypeAlias({
34
- name: parameterInterfaceName,
35
- isExported: true,
36
- type: [...internalReferences, "RequestParameters"].join(" & ")
37
- });
74
+ if (requestCount > 1) {
75
+ parametersFile.addTypeAlias({
76
+ name: topParamName,
77
+ isExported: true,
78
+ type: [...subParamNames].join(" | ")
79
+ });
80
+ }
81
+ }
82
+ if (hasHeaders) {
83
+ parametersFile.addImportDeclarations([
84
+ {
85
+ namedImports: ["RawHttpHeadersInput"],
86
+ moduleSpecifier: "@azure/core-rest-pipeline"
87
+ }
88
+ ]);
38
89
  }
39
90
  parametersFile.addImportDeclarations([
40
91
  {
@@ -42,35 +93,195 @@ function generateParameterInterfaces(model, project) {
42
93
  moduleSpecifier: "@azure-rest/core-client"
43
94
  }
44
95
  ]);
45
- parametersFile.addImportDeclarations([
46
- {
47
- namedImports: [...importedModels],
48
- moduleSpecifier: "./models"
49
- }
50
- ]);
96
+ if ((0, modelHelpers_1.hasInputModels)(model)) {
97
+ parametersFile.addImportDeclarations([
98
+ {
99
+ namedImports: [...importedModels],
100
+ moduleSpecifier: "./models"
101
+ }
102
+ ]);
103
+ }
51
104
  }
52
105
  exports.generateParameterInterfaces = generateParameterInterfaces;
106
+ function getRequestHeaderInterfaceDefinition(parameters, baseName) {
107
+ // Check if there are any required headers
108
+ const headerParameters = parameters.filter(p => { var _a; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === "header"; });
109
+ if (!headerParameters.length) {
110
+ return undefined;
111
+ }
112
+ const headersInterfaceName = `${baseName}Headers`;
113
+ return {
114
+ kind: ts_morph_1.StructureKind.Interface,
115
+ isExported: true,
116
+ name: headersInterfaceName,
117
+ properties: headerParameters.map((h) => {
118
+ const description = (0, languageHelpers_1.getLanguageMetadata)(h.language).description;
119
+ return Object.assign(Object.assign({ name: `"${(0, languageHelpers_1.getLanguageMetadata)(h.language).serializedName}"` }, (description && { docs: [{ description }] })), { type: (0, schemaHelpers_1.primitiveSchemaToType)(h.schema, [
120
+ codemodel_1.SchemaContext.Input,
121
+ codemodel_1.SchemaContext.Exception
122
+ ]), hasQuestionToken: !h.required });
123
+ })
124
+ };
125
+ }
126
+ function buildHeaderParameterDefinitions(operationName, parameters, parametersFile, internalReferences, requestIndex) {
127
+ const headerParameters = parameters.filter(p => { var _a; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === "header"; });
128
+ if (!headerParameters.length) {
129
+ return undefined;
130
+ }
131
+ const nameSuffix = requestIndex > 0 ? `${requestIndex}` : "";
132
+ const headerParameterInterfaceName = `${operationName}HeaderParam${nameSuffix}`;
133
+ const headersInterface = getRequestHeaderInterfaceDefinition(headerParameters, operationName);
134
+ if (headersInterface) {
135
+ parametersFile.addInterface(headersInterface);
136
+ }
137
+ internalReferences.add(headerParameterInterfaceName);
138
+ return {
139
+ isExported: true,
140
+ kind: ts_morph_1.StructureKind.Interface,
141
+ name: headerParameterInterfaceName,
142
+ properties: [
143
+ {
144
+ name: "headers",
145
+ type: `RawHttpHeadersInput & ${operationName}Headers`,
146
+ kind: ts_morph_1.StructureKind.PropertySignature
147
+ }
148
+ ]
149
+ };
150
+ }
151
+ function getPathInterfaceDefinition(parameters, baseName, model) {
152
+ // Check if there are any path parameters
153
+ const pathParameters = parameters.filter(p => { var _a, _b; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === codemodel_1.ParameterLocation.Uri && ((_b = model.globalParameters) === null || _b === void 0 ? void 0 : _b.indexOf(p)) === -1; });
154
+ if (!pathParameters.length) {
155
+ return undefined;
156
+ }
157
+ const pathInterfaceName = `${baseName}PathParameters`;
158
+ return {
159
+ kind: ts_morph_1.StructureKind.Interface,
160
+ isExported: true,
161
+ name: pathInterfaceName,
162
+ properties: pathParameters.map((h) => {
163
+ const description = (0, languageHelpers_1.getLanguageMetadata)(h.language).description;
164
+ return Object.assign(Object.assign({ name: `"${(0, languageHelpers_1.getLanguageMetadata)(h.language).serializedName}"` }, (description && { docs: [{ description }] })), { type: (0, schemaHelpers_1.primitiveSchemaToType)(h.schema, [
165
+ codemodel_1.SchemaContext.Input,
166
+ codemodel_1.SchemaContext.Exception
167
+ ]), hasQuestionToken: !h.required });
168
+ })
169
+ };
170
+ }
171
+ function buildPathParameterDefinitions(operationName, parameters, model, parametersFile, internalReferences, requestIndex) {
172
+ const pathParameters = parameters.filter(p => { var _a, _b; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === codemodel_1.ParameterLocation.Uri && ((_b = model.globalParameters) === null || _b === void 0 ? void 0 : _b.indexOf(p)) === -1; });
173
+ if (!pathParameters.length) {
174
+ return undefined;
175
+ }
176
+ const nameSuffix = requestIndex > 0 ? `${requestIndex}` : "";
177
+ const pathParameterInterfaceName = `${operationName}PathParam${nameSuffix}`;
178
+ const pathInterface = getPathInterfaceDefinition(pathParameters, operationName, model);
179
+ if (pathInterface) {
180
+ parametersFile.addInterface(pathInterface);
181
+ }
182
+ internalReferences.add(pathParameterInterfaceName);
183
+ return {
184
+ isExported: true,
185
+ kind: ts_morph_1.StructureKind.Interface,
186
+ name: pathParameterInterfaceName,
187
+ properties: [
188
+ {
189
+ name: "pathParameters",
190
+ type: `${operationName}PathParameters`,
191
+ kind: ts_morph_1.StructureKind.PropertySignature
192
+ }
193
+ ]
194
+ };
195
+ }
53
196
  /**
54
197
  * Gets the interface definition for an operation bodyParameters
55
198
  */
56
- function buildBodyParametersDefinition(operationName, parameters, importedModels, internalReferences) {
199
+ function buildBodyParametersDefinition(operationName, parameters, schemaUsage, importedModels, internalReferences, requestIndex) {
57
200
  const bodyParameters = parameters.filter(p => { var _a; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === "body"; });
58
201
  if (!bodyParameters.length) {
59
- return undefined;
202
+ return [];
60
203
  }
61
- const bodyParameterInterfaceName = `${operationName}BodyParam`;
62
- // There is only one body parameter can't be more than one so we can safely take the first
63
- const bodySignature = getPropertySignature_1.getPropertySignature(bodyParameters[0], importedModels);
204
+ const nameSuffix = requestIndex > 0 ? `${requestIndex}` : "";
205
+ const bodyParameterInterfaceName = `${operationName}BodyParam${nameSuffix}`;
64
206
  internalReferences.add(bodyParameterInterfaceName);
207
+ // In case of formData we'd get multiple properties in body marked as partialBody
208
+ if (bodyParameters.some(p => p.isPartialBody)) {
209
+ let allOptionalParts = true;
210
+ const propertiesDefinitions = [];
211
+ for (const param of bodyParameters) {
212
+ if (param.required) {
213
+ allOptionalParts = false;
214
+ }
215
+ propertiesDefinitions.push((0, getPropertySignature_1.getPropertySignature)(param, schemaUsage, importedModels));
216
+ }
217
+ const formBodyName = `${operationName}FormBody`;
218
+ const formBodyInterface = {
219
+ isExported: true,
220
+ kind: ts_morph_1.StructureKind.Interface,
221
+ name: formBodyName,
222
+ properties: propertiesDefinitions
223
+ };
224
+ return [
225
+ {
226
+ isExported: true,
227
+ kind: ts_morph_1.StructureKind.Interface,
228
+ name: bodyParameterInterfaceName,
229
+ properties: [
230
+ {
231
+ name: "body",
232
+ type: formBodyName,
233
+ hasQuestionToken: allOptionalParts
234
+ }
235
+ ]
236
+ },
237
+ formBodyInterface
238
+ ];
239
+ }
240
+ else {
241
+ const bodySignature = (0, getPropertySignature_1.getPropertySignature)(bodyParameters[0], schemaUsage, importedModels);
242
+ return [
243
+ {
244
+ isExported: true,
245
+ kind: ts_morph_1.StructureKind.Interface,
246
+ name: bodyParameterInterfaceName,
247
+ properties: [
248
+ {
249
+ docs: bodySignature.docs,
250
+ name: "body",
251
+ type: bodySignature.type,
252
+ hasQuestionToken: bodySignature.hasQuestionToken
253
+ }
254
+ ]
255
+ }
256
+ ];
257
+ }
258
+ }
259
+ /**
260
+ * Gets the interface definition for an operation bodyParameters
261
+ */
262
+ function buildContentTypeParametersDefinition(operationName, request, internalReferences, requestIndex) {
263
+ var _a, _b;
264
+ if (!request) {
265
+ return undefined;
266
+ }
267
+ const mediaTypes = (_b = (_a = request.protocol.http) === null || _a === void 0 ? void 0 : _a.mediaTypes) !== null && _b !== void 0 ? _b : [];
268
+ if (!mediaTypes.length) {
269
+ return undefined;
270
+ }
271
+ const nameSuffix = requestIndex > 0 ? `${requestIndex}` : "";
272
+ const mediaTypesParameterInterfaceName = `${operationName}MediaTypesParam${nameSuffix}`;
273
+ // Mark the queryParameter interface for importing
274
+ internalReferences.add(mediaTypesParameterInterfaceName);
65
275
  return {
66
276
  isExported: true,
67
277
  kind: ts_morph_1.StructureKind.Interface,
68
- name: bodyParameterInterfaceName,
278
+ name: mediaTypesParameterInterfaceName,
69
279
  properties: [
70
280
  {
71
- name: "body",
72
- type: bodySignature.type,
73
- hasQuestionToken: bodySignature.hasQuestionToken
281
+ docs: ["Request content type"],
282
+ name: "contentType",
283
+ type: mediaTypes.map(mt => `"${mt}"`).join(" | "),
284
+ hasQuestionToken: true
74
285
  }
75
286
  ]
76
287
  };
@@ -78,15 +289,16 @@ function buildBodyParametersDefinition(operationName, parameters, importedModels
78
289
  /**
79
290
  * Gets the interface definition for an operation queryParameters
80
291
  */
81
- function buildQueryParameterDefinition(operationName, parameters, importedModels, internalReferences) {
292
+ function buildQueryParameterDefinition(operationName, parameters, schemaUsage, importedModels, internalReferences, requestIndex) {
82
293
  const queryParameters = parameters.filter(p => { var _a; return ((_a = p.protocol.http) === null || _a === void 0 ? void 0 : _a.in) === "query"; });
83
294
  if (!queryParameters.length) {
84
295
  return undefined;
85
296
  }
86
- const queryParameterInterfaceName = `${operationName}QueryParam`;
297
+ const nameSuffix = requestIndex > 0 ? `${requestIndex}` : "";
298
+ const queryParameterInterfaceName = `${operationName}QueryParam${nameSuffix}`;
87
299
  const queryParameterPropertiesName = `${operationName}QueryParamProperties`;
88
300
  // Get the property signature for each query parameter
89
- const propertiesDefinition = queryParameters.map(qp => getPropertySignature_1.getPropertySignature(qp, importedModels));
301
+ const propertiesDefinition = queryParameters.map(qp => (0, getPropertySignature_1.getPropertySignature)(qp, schemaUsage, importedModels));
90
302
  const hasRequiredParameters = propertiesDefinition.some(p => !p.hasQuestionToken);
91
303
  const propertiesInterface = {
92
304
  kind: ts_morph_1.StructureKind.Interface,
@@ -121,12 +333,4 @@ function getAllOperations(model) {
121
333
  }
122
334
  return operations;
123
335
  }
124
- function getOperationParameters(operation) {
125
- var _a, _b;
126
- const signatureParameters = (_a = operation.signatureParameters) !== null && _a !== void 0 ? _a : [];
127
- // Extract parameters from the operation request
128
- const request = operation.requests ? operation.requests[0] : undefined;
129
- const requestParameters = (_b = request === null || request === void 0 ? void 0 : request.signatureParameters) !== null && _b !== void 0 ? _b : [];
130
- return [...signatureParameters, ...requestParameters];
131
- }
132
336
  //# sourceMappingURL=generateParameterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateParameterTypes.js","sourceRoot":"","sources":["../../../src/restLevelClient/generateParameterTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateParameterTypes.js","sourceRoot":"","sources":["../../../src/restLevelClient/generateParameterTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Project } from "ts-morph";
2
+ export declare function generatePollingHelper(project: Project): void;
3
+ //# sourceMappingURL=generatePollingHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePollingHelper.d.ts","sourceRoot":"","sources":["../../../src/restLevelClient/generatePollingHelper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAYrD"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePollingHelper = void 0;
4
+ const fs_1 = require("fs");
5
+ const path = require("path");
6
+ const hbs = require("handlebars");
7
+ const autorestSession_1 = require("../autorestSession");
8
+ function generatePollingHelper(project) {
9
+ let file = "";
10
+ file = (0, fs_1.readFileSync)(path.join(__dirname, "pollingHelper.ts.hbs"), {
11
+ encoding: "utf-8"
12
+ });
13
+ const readmeFileContents = hbs.compile(file, { noEscape: true });
14
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
15
+ project.createSourceFile(path.join(srcPath, "pollingHelper.ts"), readmeFileContents({}), {
16
+ overwrite: true
17
+ });
18
+ }
19
+ exports.generatePollingHelper = generatePollingHelper;
20
+ //# sourceMappingURL=generatePollingHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generatePollingHelper.js","sourceRoot":"","sources":["../../../src/restLevelClient/generatePollingHelper.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAClC,6BAA6B;AAC7B,kCAAkC;AAElC,wDAAwD;AAExD,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,IAAI,IAAI,GAAW,EAAE,CAAC;IAEtB,IAAI,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACzC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE;QACvF,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;AACL,CAAC;AAZD,sDAYC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateResponseTypes.d.ts","sourceRoot":"","sources":["../../../src/restLevelClient/generateResponseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAKV,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAGL,OAAO,EAER,MAAM,UAAU,CAAC;AAKlB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,QAgG5E"}
1
+ {"version":3,"file":"generateResponseTypes.d.ts","sourceRoot":"","sources":["../../../src/restLevelClient/generateResponseTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMV,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAGL,OAAO,EAGR,MAAM,UAAU,CAAC;AAYlB,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,QAuG5E"}
@@ -1,13 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateResponseInterfaces = void 0;
4
+ const codemodel_1 = require("@autorest/codemodel");
4
5
  const operationHelpers_1 = require("./operationHelpers");
5
6
  const ts_morph_1 = require("ts-morph");
6
7
  const nameUtils_1 = require("../utils/nameUtils");
7
8
  const schemaHelpers_1 = require("./schemaHelpers");
8
9
  const languageHelpers_1 = require("../utils/languageHelpers");
10
+ const modelHelpers_1 = require("./helpers/modelHelpers");
11
+ const autorestSession_1 = require("../autorestSession");
12
+ const path = require("path");
9
13
  function generateResponseInterfaces(model, project) {
10
- const responsesFile = project.createSourceFile(`src/responses.ts`, undefined, {
14
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
15
+ const responsesFile = project.createSourceFile(path.join(srcPath, `responses.ts`), undefined, {
11
16
  overwrite: true
12
17
  });
13
18
  // Set used to track down which models need to be imported
@@ -22,21 +27,23 @@ function generateResponseInterfaces(model, project) {
22
27
  if (!response.protocol.http) {
23
28
  continue;
24
29
  }
25
- let schemaResponse = operationHelpers_1.responseToSchemaResponse(response);
26
- const statusCode = operationHelpers_1.getStatusCode(schemaResponse);
27
- const operationLanguageMetadata = languageHelpers_1.getLanguageMetadata(operation.language);
30
+ let schemaResponse = (0, operationHelpers_1.responseToSchemaResponse)(response);
31
+ const statusCode = (0, operationHelpers_1.getStatusCode)(schemaResponse);
32
+ const operationLanguageMetadata = (0, languageHelpers_1.getLanguageMetadata)(operation.language);
28
33
  // Building the response type base name
29
- const baseResponseName = nameUtils_1.normalizeName(`${operationLanguageMetadata.name}${statusCode}`, nameUtils_1.NameType.Interface);
34
+ const baseResponseName = (0, nameUtils_1.normalizeName)(`${operationLanguageMetadata.name}${statusCode}`, nameUtils_1.NameType.Interface);
30
35
  // Build the response header
31
36
  const headersInterface = getResponseHeaderInterfaceDefinition(schemaResponse, baseResponseName);
32
37
  if (headersInterface) {
33
38
  hasHeaders = true;
39
+ responsesFile.addInterface(headersInterface);
34
40
  }
35
41
  const bodyType = getBodyTypeName(schemaResponse, importedModels);
42
+ const bodyDescription = (0, schemaHelpers_1.getFormatDocs)(schemaResponse.schema);
36
43
  // Get the information to build the Response Interface
37
- const responseTypeName = operationHelpers_1.getResponseTypeName(operation, schemaResponse);
44
+ const responseTypeName = (0, operationHelpers_1.getResponseTypeName)(operation, schemaResponse);
38
45
  const responseTypeDescription = operationLanguageMetadata.description;
39
- const responseProperties = getResponseInterfaceProperties(schemaResponse, bodyType, headersInterface === null || headersInterface === void 0 ? void 0 : headersInterface.name);
46
+ const responseProperties = getResponseInterfaceProperties(schemaResponse, bodyType, headersInterface === null || headersInterface === void 0 ? void 0 : headersInterface.name, bodyDescription);
40
47
  const responseInterfaceDefinition = {
41
48
  name: responseTypeName,
42
49
  properties: responseProperties,
@@ -54,44 +61,50 @@ function generateResponseInterfaces(model, project) {
54
61
  responsesFile.addInterface(responseInterfaceDefinition);
55
62
  }
56
63
  }
64
+ if (hasHeaders) {
65
+ responsesFile.addImportDeclarations([
66
+ {
67
+ namedImports: ["RawHttpHeaders"],
68
+ moduleSpecifier: "@azure/core-rest-pipeline"
69
+ }
70
+ ]);
71
+ }
57
72
  responsesFile.addImportDeclarations([
58
73
  {
59
74
  namedImports: ["HttpResponse"],
60
75
  moduleSpecifier: "@azure-rest/core-client"
61
76
  }
62
77
  ]);
63
- if (hasHeaders) {
64
- responsesFile.addImportDeclaration({
65
- namedImports: ["RawHttpHeaders"],
66
- moduleSpecifier: "@azure/core-rest-pipeline"
67
- });
78
+ if ((0, modelHelpers_1.hasOutputModels)(model)) {
79
+ responsesFile.addImportDeclarations([
80
+ {
81
+ namedImports: [...importedModels],
82
+ moduleSpecifier: "./outputModels"
83
+ }
84
+ ]);
68
85
  }
69
- responsesFile.addImportDeclarations([
70
- {
71
- namedImports: [...importedModels],
72
- moduleSpecifier: "./models"
73
- }
74
- ]);
75
86
  }
76
87
  exports.generateResponseInterfaces = generateResponseInterfaces;
77
88
  /**
78
89
  * Gets the properties that need to be part of the response interface
79
90
  */
80
- function getResponseInterfaceProperties(response, bodyTypeName, headersInterfaceName) {
81
- const statusCode = operationHelpers_1.getStatusCode(response);
91
+ function getResponseInterfaceProperties(response, bodyTypeName, headersInterfaceName, bodyDescription) {
92
+ const statusCode = (0, operationHelpers_1.getStatusCode)(response);
82
93
  const responseProperties = [
83
- { name: "status", type: statusCode === `"default"` ? `"500"` : statusCode }
94
+ {
95
+ name: "status",
96
+ type: statusCode === `"default"` ? `string` : statusCode,
97
+ kind: ts_morph_1.StructureKind.PropertySignature
98
+ }
84
99
  ];
85
100
  if (bodyTypeName) {
86
- responseProperties.push({
87
- name: "body",
88
- type: bodyTypeName
89
- });
101
+ responseProperties.push(Object.assign({ name: "body", type: bodyTypeName, kind: ts_morph_1.StructureKind.PropertySignature }, (bodyDescription && { docs: [{ description: bodyDescription }] })));
90
102
  }
91
103
  if (headersInterfaceName) {
92
104
  responseProperties.push({
93
105
  name: "headers",
94
- type: `RawHttpHeaders & ${headersInterfaceName}`
106
+ type: `RawHttpHeaders & ${headersInterfaceName}`,
107
+ kind: ts_morph_1.StructureKind.PropertySignature
95
108
  });
96
109
  }
97
110
  return responseProperties;
@@ -104,7 +117,7 @@ function getResponseInterfaceProperties(response, bodyTypeName, headersInterface
104
117
  * @param importedModels - track models to import
105
118
  */
106
119
  function getBodyTypeName(response, importedModels) {
107
- return schemaHelpers_1.getElementType(response.schema, importedModels);
120
+ return (0, schemaHelpers_1.getElementType)(response.schema, [codemodel_1.SchemaContext.Output, codemodel_1.SchemaContext.Exception], importedModels);
108
121
  }
109
122
  function getResponseHeaderInterfaceDefinition(response, baseName) {
110
123
  var _a, _b, _c;
@@ -118,8 +131,11 @@ function getResponseHeaderInterfaceDefinition(response, baseName) {
118
131
  isExported: true,
119
132
  name: headersInterfaceName,
120
133
  properties: (_c = response.protocol.http) === null || _c === void 0 ? void 0 : _c.headers.map((h) => {
121
- const description = languageHelpers_1.getLanguageMetadata(h.language).description;
122
- return Object.assign(Object.assign({ name: `"${h.header.toLowerCase()}"` }, (description && { docs: [{ description }] })), { type: "string", hasQuestionToken: true });
134
+ const description = (0, languageHelpers_1.getLanguageMetadata)(h.language).description;
135
+ return Object.assign(Object.assign({ name: `"${h.header.toLowerCase()}"` }, (description && { docs: [{ description }] })), { type: (0, schemaHelpers_1.primitiveSchemaToType)(h.schema, [
136
+ codemodel_1.SchemaContext.Output,
137
+ codemodel_1.SchemaContext.Exception
138
+ ]), hasQuestionToken: true });
123
139
  })
124
140
  };
125
141
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateResponseTypes.js","sourceRoot":"","sources":["../../../src/restLevelClient/generateResponseTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateResponseTypes.js","sourceRoot":"","sources":["../../../src/restLevelClient/generateResponseTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateRestLevel.d.ts","sourceRoot":"","sources":["../../../src/restLevelClient/generateRestLevel.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,wBAAsB,uBAAuB,kBAmD5C"}
1
+ {"version":3,"file":"generateRestLevel.d.ts","sourceRoot":"","sources":["../../../src/restLevelClient/generateRestLevel.ts"],"names":[],"mappings":"AAkCA;;GAEG;AACH,wBAAsB,uBAAuB,kBAuF5C"}