@autorest/typescript 6.0.0-beta.9 → 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 (366) hide show
  1. package/README.md +42 -5
  2. package/dist/{src/generators/static/README.md.hbs → hlcREADME.md.hbs} +35 -3
  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 +17 -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.js +4 -4
  24. package/dist/src/generators/LROGenerator.js.map +1 -1
  25. package/dist/src/generators/clientFileGenerator.d.ts.map +1 -1
  26. package/dist/src/generators/clientFileGenerator.js +300 -46
  27. package/dist/src/generators/clientFileGenerator.js.map +1 -1
  28. package/dist/src/generators/indexGenerator.d.ts.map +1 -1
  29. package/dist/src/generators/indexGenerator.js +106 -14
  30. package/dist/src/generators/indexGenerator.js.map +1 -1
  31. package/dist/src/generators/mappersGenerator.d.ts.map +1 -1
  32. package/dist/src/generators/mappersGenerator.js +93 -19
  33. package/dist/src/generators/mappersGenerator.js.map +1 -1
  34. package/dist/src/generators/modelsGenerator.d.ts.map +1 -1
  35. package/dist/src/generators/modelsGenerator.js +80 -81
  36. package/dist/src/generators/modelsGenerator.js.map +1 -1
  37. package/dist/src/generators/operationGenerator.d.ts.map +1 -1
  38. package/dist/src/generators/operationGenerator.js +85 -96
  39. package/dist/src/generators/operationGenerator.js.map +1 -1
  40. package/dist/src/generators/operationInterfaceGenerator.js +20 -20
  41. package/dist/src/generators/operationInterfaceGenerator.js.map +1 -1
  42. package/dist/src/generators/parametersGenerator.d.ts.map +1 -1
  43. package/dist/src/generators/parametersGenerator.js +7 -8
  44. package/dist/src/generators/parametersGenerator.js.map +1 -1
  45. package/dist/src/generators/samples/hlcSampleGenerator.d.ts +13 -0
  46. package/dist/src/generators/samples/hlcSampleGenerator.d.ts.map +1 -0
  47. package/dist/src/generators/samples/hlcSampleGenerator.js +43 -0
  48. package/dist/src/generators/samples/hlcSampleGenerator.js.map +1 -0
  49. package/dist/src/generators/samples/hlcSamples.ts.hbs +49 -0
  50. package/dist/src/generators/samples/rlcSampleGenerator.d.ts +4 -0
  51. package/dist/src/generators/samples/rlcSampleGenerator.d.ts.map +1 -0
  52. package/dist/src/generators/samples/rlcSampleGenerator.js +64 -0
  53. package/dist/src/generators/samples/rlcSampleGenerator.js.map +1 -0
  54. package/dist/src/generators/samples/rlcSamples.ts.hbs +28 -0
  55. package/dist/src/generators/samples/sampleEnv.hbs +4 -0
  56. package/dist/src/generators/samples/sampleEnvGenerator.d.ts +3 -0
  57. package/dist/src/generators/samples/sampleEnvGenerator.d.ts.map +1 -0
  58. package/dist/src/generators/samples/sampleEnvGenerator.js +17 -0
  59. package/dist/src/generators/samples/sampleEnvGenerator.js.map +1 -0
  60. package/dist/src/generators/static/apiExtractorConfig.js +2 -2
  61. package/dist/src/generators/static/apiExtractorConfig.js.map +1 -1
  62. package/dist/src/generators/static/esLintConfigGenerator.d.ts +3 -0
  63. package/dist/src/generators/static/esLintConfigGenerator.d.ts.map +1 -0
  64. package/dist/src/generators/static/esLintConfigGenerator.js +26 -0
  65. package/dist/src/generators/static/esLintConfigGenerator.js.map +1 -0
  66. package/{src/generators/static/README.md.hbs → dist/src/generators/static/hlcREADME.md.hbs} +35 -3
  67. package/dist/src/generators/static/karma.conf.js.hbs +126 -0
  68. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts +3 -0
  69. package/dist/src/generators/static/karmaConfigFileGenerator.d.ts.map +1 -0
  70. package/dist/src/generators/static/karmaConfigFileGenerator.js +23 -0
  71. package/dist/src/generators/static/karmaConfigFileGenerator.js.map +1 -0
  72. package/dist/src/generators/static/licenseFileGenerator.js +1 -1
  73. package/dist/src/generators/static/licenseFileGenerator.js.map +1 -1
  74. package/dist/src/generators/static/packageFileGenerator.d.ts.map +1 -1
  75. package/dist/src/generators/static/packageFileGenerator.js +255 -67
  76. package/dist/src/generators/static/packageFileGenerator.js.map +1 -1
  77. package/dist/src/generators/static/readmeFileGenerator.d.ts +2 -2
  78. package/dist/src/generators/static/readmeFileGenerator.d.ts.map +1 -1
  79. package/dist/src/generators/static/readmeFileGenerator.js +50 -23
  80. package/dist/src/generators/static/readmeFileGenerator.js.map +1 -1
  81. package/dist/src/generators/static/rlcREADME.md.hbs +71 -0
  82. package/dist/src/generators/static/rollupConfigFileGenerator.d.ts.map +1 -1
  83. package/dist/src/generators/static/rollupConfigFileGenerator.js +12 -71
  84. package/dist/src/generators/static/rollupConfigFileGenerator.js.map +1 -1
  85. package/dist/src/generators/static/tsConfigFileGenerator.d.ts.map +1 -1
  86. package/dist/src/generators/static/tsConfigFileGenerator.js +46 -18
  87. package/dist/src/generators/static/tsConfigFileGenerator.js.map +1 -1
  88. package/dist/src/generators/test/envBrowserFileGenerator.d.ts +3 -0
  89. package/dist/src/generators/test/envBrowserFileGenerator.d.ts.map +1 -0
  90. package/dist/src/generators/test/envBrowserFileGenerator.js +15 -0
  91. package/dist/src/generators/test/envBrowserFileGenerator.js.map +1 -0
  92. package/dist/src/generators/test/envFileGenerator.d.ts +3 -0
  93. package/dist/src/generators/test/envFileGenerator.d.ts.map +1 -0
  94. package/dist/src/generators/test/envFileGenerator.js +23 -0
  95. package/dist/src/generators/test/envFileGenerator.js.map +1 -0
  96. package/dist/src/generators/test/recordedClientFileGenerator.d.ts +3 -0
  97. package/dist/src/generators/test/recordedClientFileGenerator.d.ts.map +1 -0
  98. package/dist/src/generators/test/recordedClientFileGenerator.js +23 -0
  99. package/dist/src/generators/test/recordedClientFileGenerator.js.map +1 -0
  100. package/dist/src/generators/test/rlcEnv.ts.hbs +3 -0
  101. package/dist/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  102. package/dist/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  103. package/dist/src/generators/test/sampleTest.ts.hbs +32 -0
  104. package/dist/src/generators/test/sampleTestGenerator.d.ts +3 -0
  105. package/dist/src/generators/test/sampleTestGenerator.d.ts.map +1 -0
  106. package/dist/src/generators/test/sampleTestGenerator.js +34 -0
  107. package/dist/src/generators/test/sampleTestGenerator.js.map +1 -0
  108. package/dist/src/generators/tracingFileGenerator.d.ts.map +1 -1
  109. package/dist/src/generators/tracingFileGenerator.js +7 -21
  110. package/dist/src/generators/tracingFileGenerator.js.map +1 -1
  111. package/dist/src/generators/utils/docsUtils.js +2 -2
  112. package/dist/src/generators/utils/docsUtils.js.map +1 -1
  113. package/dist/src/generators/utils/operationsUtils.js +1 -1
  114. package/dist/src/generators/utils/operationsUtils.js.map +1 -1
  115. package/dist/src/generators/utils/pagingOperations.d.ts +5 -0
  116. package/dist/src/generators/utils/pagingOperations.d.ts.map +1 -1
  117. package/dist/src/generators/utils/pagingOperations.js +15 -15
  118. package/dist/src/generators/utils/pagingOperations.js.map +1 -1
  119. package/dist/src/generators/utils/parameterUtils.js +9 -9
  120. package/dist/src/generators/utils/parameterUtils.js.map +1 -1
  121. package/dist/src/generators/utils/responseTypeUtils.js +2 -2
  122. package/dist/src/generators/utils/responseTypeUtils.js.map +1 -1
  123. package/dist/src/generators/utils/tracingUtils.d.ts.map +1 -1
  124. package/dist/src/generators/utils/tracingUtils.js +2 -6
  125. package/dist/src/generators/utils/tracingUtils.js.map +1 -1
  126. package/dist/src/main.d.ts +2 -2
  127. package/dist/src/main.d.ts.map +1 -1
  128. package/dist/src/main.js +8 -8
  129. package/dist/src/main.js.map +1 -1
  130. package/dist/src/models/clientDetails.d.ts +10 -1
  131. package/dist/src/models/clientDetails.d.ts.map +1 -1
  132. package/dist/src/models/modelDetails.d.ts +2 -2
  133. package/dist/src/models/modelDetails.d.ts.map +1 -1
  134. package/dist/src/models/operationDetails.d.ts +1 -0
  135. package/dist/src/models/operationDetails.d.ts.map +1 -1
  136. package/dist/src/models/sampleDetails.d.ts +22 -0
  137. package/dist/src/models/sampleDetails.d.ts.map +1 -0
  138. package/dist/src/models/sampleDetails.js +3 -0
  139. package/dist/src/models/sampleDetails.js.map +1 -0
  140. package/dist/src/restLevelClient/generateClient.d.ts +1 -1
  141. package/dist/src/restLevelClient/generateClient.d.ts.map +1 -1
  142. package/dist/src/restLevelClient/generateClient.js +108 -167
  143. package/dist/src/restLevelClient/generateClient.js.map +1 -1
  144. package/dist/src/restLevelClient/generateClientDefinition.d.ts +6 -0
  145. package/dist/src/restLevelClient/generateClientDefinition.d.ts.map +1 -0
  146. package/dist/src/restLevelClient/generateClientDefinition.js +261 -0
  147. package/dist/src/restLevelClient/generateClientDefinition.js.map +1 -0
  148. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts +8 -0
  149. package/dist/src/restLevelClient/generateIsUnexpectedHelper.d.ts.map +1 -0
  150. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js +204 -0
  151. package/dist/src/restLevelClient/generateIsUnexpectedHelper.js.map +1 -0
  152. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts +8 -0
  153. package/dist/src/restLevelClient/generateMethodShortcuts.d.ts.map +1 -0
  154. package/dist/src/restLevelClient/generateMethodShortcuts.js +70 -0
  155. package/dist/src/restLevelClient/generateMethodShortcuts.js.map +1 -0
  156. package/dist/src/restLevelClient/generateObjectTypes.d.ts +3 -3
  157. package/dist/src/restLevelClient/generateObjectTypes.d.ts.map +1 -1
  158. package/dist/src/restLevelClient/generateObjectTypes.js +43 -31
  159. package/dist/src/restLevelClient/generateObjectTypes.js.map +1 -1
  160. package/dist/src/restLevelClient/generatePagingHelper.d.ts +3 -0
  161. package/dist/src/restLevelClient/generatePagingHelper.d.ts.map +1 -0
  162. package/dist/src/restLevelClient/generatePagingHelper.js +54 -0
  163. package/dist/src/restLevelClient/generatePagingHelper.js.map +1 -0
  164. package/dist/src/restLevelClient/generateParameterTypes.d.ts.map +1 -1
  165. package/dist/src/restLevelClient/generateParameterTypes.js +247 -44
  166. package/dist/src/restLevelClient/generateParameterTypes.js.map +1 -1
  167. package/dist/src/restLevelClient/generatePollingHelper.d.ts +3 -0
  168. package/dist/src/restLevelClient/generatePollingHelper.d.ts.map +1 -0
  169. package/dist/src/restLevelClient/generatePollingHelper.js +20 -0
  170. package/dist/src/restLevelClient/generatePollingHelper.js.map +1 -0
  171. package/dist/src/restLevelClient/generateResponseTypes.d.ts.map +1 -1
  172. package/dist/src/restLevelClient/generateResponseTypes.js +35 -23
  173. package/dist/src/restLevelClient/generateResponseTypes.js.map +1 -1
  174. package/dist/src/restLevelClient/generateRestLevel.d.ts.map +1 -1
  175. package/dist/src/restLevelClient/generateRestLevel.js +63 -16
  176. package/dist/src/restLevelClient/generateRestLevel.js.map +1 -1
  177. package/dist/src/restLevelClient/generateSchemaTypes.d.ts.map +1 -1
  178. package/dist/src/restLevelClient/generateSchemaTypes.js +29 -7
  179. package/dist/src/restLevelClient/generateSchemaTypes.js.map +1 -1
  180. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts +4 -0
  181. package/dist/src/restLevelClient/generateTopLevelIndexFile.d.ts.map +1 -0
  182. package/dist/src/restLevelClient/generateTopLevelIndexFile.js +37 -0
  183. package/dist/src/restLevelClient/generateTopLevelIndexFile.js.map +1 -0
  184. package/dist/src/restLevelClient/getPropertySignature.d.ts +2 -2
  185. package/dist/src/restLevelClient/getPropertySignature.d.ts.map +1 -1
  186. package/dist/src/restLevelClient/getPropertySignature.js +10 -7
  187. package/dist/src/restLevelClient/getPropertySignature.js.map +1 -1
  188. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts +4 -0
  189. package/dist/src/restLevelClient/helpers/hasPollingOperations.d.ts.map +1 -0
  190. package/dist/src/restLevelClient/helpers/hasPollingOperations.js +12 -0
  191. package/dist/src/restLevelClient/helpers/hasPollingOperations.js.map +1 -0
  192. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts +4 -0
  193. package/dist/src/restLevelClient/helpers/modelHelpers.d.ts.map +1 -0
  194. package/dist/src/restLevelClient/helpers/modelHelpers.js +19 -0
  195. package/dist/src/restLevelClient/helpers/modelHelpers.js.map +1 -0
  196. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts +10 -0
  197. package/dist/src/restLevelClient/helpers/operationHelpers.d.ts.map +1 -0
  198. package/dist/src/restLevelClient/helpers/operationHelpers.js +64 -0
  199. package/dist/src/restLevelClient/helpers/operationHelpers.js.map +1 -0
  200. package/dist/src/restLevelClient/interfaces.d.ts +33 -0
  201. package/dist/src/restLevelClient/interfaces.d.ts.map +1 -0
  202. package/dist/src/restLevelClient/interfaces.js +3 -0
  203. package/dist/src/restLevelClient/interfaces.js.map +1 -0
  204. package/dist/src/restLevelClient/mutateCodeModel.js +2 -2
  205. package/dist/src/restLevelClient/mutateCodeModel.js.map +1 -1
  206. package/dist/src/restLevelClient/operationHelpers.d.ts +4 -0
  207. package/dist/src/restLevelClient/operationHelpers.d.ts.map +1 -1
  208. package/dist/src/restLevelClient/operationHelpers.js +21 -10
  209. package/dist/src/restLevelClient/operationHelpers.js.map +1 -1
  210. package/dist/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  211. package/dist/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  212. package/dist/src/restLevelClient/samples/generateSamples.d.ts +23 -0
  213. package/dist/src/restLevelClient/samples/generateSamples.d.ts.map +1 -0
  214. package/dist/src/restLevelClient/samples/generateSamples.js +3 -0
  215. package/dist/src/restLevelClient/samples/generateSamples.js.map +1 -0
  216. package/dist/src/restLevelClient/samples/samples.ts.hbs +0 -0
  217. package/dist/src/restLevelClient/schemaHelpers.d.ts +8 -2
  218. package/dist/src/restLevelClient/schemaHelpers.d.ts.map +1 -1
  219. package/dist/src/restLevelClient/schemaHelpers.js +27 -12
  220. package/dist/src/restLevelClient/schemaHelpers.js.map +1 -1
  221. package/dist/src/transforms/extensions.js +10 -10
  222. package/dist/src/transforms/extensions.js.map +1 -1
  223. package/dist/src/transforms/groupTransforms.js +2 -2
  224. package/dist/src/transforms/groupTransforms.js.map +1 -1
  225. package/dist/src/transforms/mapperTransforms.d.ts.map +1 -1
  226. package/dist/src/transforms/mapperTransforms.js +29 -26
  227. package/dist/src/transforms/mapperTransforms.js.map +1 -1
  228. package/dist/src/transforms/objectTransforms.d.ts.map +1 -1
  229. package/dist/src/transforms/objectTransforms.js +42 -26
  230. package/dist/src/transforms/objectTransforms.js.map +1 -1
  231. package/dist/src/transforms/operationTransforms.d.ts.map +1 -1
  232. package/dist/src/transforms/operationTransforms.js +29 -26
  233. package/dist/src/transforms/operationTransforms.js.map +1 -1
  234. package/dist/src/transforms/optionsTransforms.js +1 -1
  235. package/dist/src/transforms/optionsTransforms.js.map +1 -1
  236. package/dist/src/transforms/parameterTransforms.d.ts.map +1 -1
  237. package/dist/src/transforms/parameterTransforms.js +43 -27
  238. package/dist/src/transforms/parameterTransforms.js.map +1 -1
  239. package/dist/src/transforms/samplesTransforms.d.ts +7 -0
  240. package/dist/src/transforms/samplesTransforms.d.ts.map +1 -0
  241. package/dist/src/transforms/samplesTransforms.js +293 -0
  242. package/dist/src/transforms/samplesTransforms.js.map +1 -0
  243. package/dist/src/transforms/transforms.d.ts +1 -2
  244. package/dist/src/transforms/transforms.d.ts.map +1 -1
  245. package/dist/src/transforms/transforms.js +26 -24
  246. package/dist/src/transforms/transforms.js.map +1 -1
  247. package/dist/src/transforms/urlTransforms.js +3 -3
  248. package/dist/src/transforms/urlTransforms.js.map +1 -1
  249. package/dist/src/typescriptGenerator.d.ts +2 -2
  250. package/dist/src/typescriptGenerator.d.ts.map +1 -1
  251. package/dist/src/typescriptGenerator.js +46 -46
  252. package/dist/src/typescriptGenerator.js.map +1 -1
  253. package/dist/src/utils/autorestOptions.d.ts +2 -2
  254. package/dist/src/utils/autorestOptions.d.ts.map +1 -1
  255. package/dist/src/utils/autorestOptions.js +141 -62
  256. package/dist/src/utils/autorestOptions.js.map +1 -1
  257. package/dist/src/utils/cloneOperation.js +2 -2
  258. package/dist/src/utils/cloneOperation.js.map +1 -1
  259. package/dist/src/utils/copyFiles.d.ts +2 -0
  260. package/dist/src/utils/copyFiles.d.ts.map +1 -0
  261. package/dist/src/utils/copyFiles.js +33 -0
  262. package/dist/src/utils/copyFiles.js.map +1 -0
  263. package/dist/src/utils/extractHeaders.js +4 -4
  264. package/dist/src/utils/extractHeaders.js.map +1 -1
  265. package/dist/src/utils/extractPaginationDetails.d.ts +5 -1
  266. package/dist/src/utils/extractPaginationDetails.d.ts.map +1 -1
  267. package/dist/src/utils/extractPaginationDetails.js +23 -10
  268. package/dist/src/utils/extractPaginationDetails.js.map +1 -1
  269. package/dist/src/utils/headersToSchema.js +1 -1
  270. package/dist/src/utils/headersToSchema.js.map +1 -1
  271. package/dist/src/utils/logger.js +1 -1
  272. package/dist/src/utils/logger.js.map +1 -1
  273. package/dist/src/utils/nameUtils.d.ts +6 -2
  274. package/dist/src/utils/nameUtils.d.ts.map +1 -1
  275. package/dist/src/utils/nameUtils.js +13 -8
  276. package/dist/src/utils/nameUtils.js.map +1 -1
  277. package/dist/src/utils/schemaHelpers.d.ts +6 -1
  278. package/dist/src/utils/schemaHelpers.d.ts.map +1 -1
  279. package/dist/src/utils/schemaHelpers.js +50 -7
  280. package/dist/src/utils/schemaHelpers.js.map +1 -1
  281. package/dist/src/utils/sortObjectSchemasHierarchically.js +1 -1
  282. package/dist/src/utils/sortObjectSchemasHierarchically.js.map +1 -1
  283. package/dist/src/utils/valueHelpers.js +1 -1
  284. package/dist/src/utils/valueHelpers.js.map +1 -1
  285. package/package.json +58 -39
  286. package/src/autorestSession.ts +25 -18
  287. package/src/conflictResolver.ts +61 -0
  288. package/src/generators/clientFileGenerator.ts +397 -36
  289. package/src/generators/indexGenerator.ts +118 -12
  290. package/src/generators/mappersGenerator.ts +108 -8
  291. package/src/generators/modelsGenerator.ts +98 -97
  292. package/src/generators/operationGenerator.ts +54 -93
  293. package/src/generators/parametersGenerator.ts +2 -3
  294. package/src/generators/samples/hlcSampleGenerator.ts +50 -0
  295. package/src/generators/samples/hlcSamples.ts.hbs +49 -0
  296. package/src/generators/samples/rlcSampleGenerator.ts +72 -0
  297. package/src/generators/samples/rlcSamples.ts.hbs +28 -0
  298. package/src/generators/samples/sampleEnv.hbs +4 -0
  299. package/src/generators/samples/sampleEnvGenerator.ts +14 -0
  300. package/src/generators/static/apiExtractorConfig.ts +2 -2
  301. package/src/generators/static/esLintConfigGenerator.ts +24 -0
  302. package/src/generators/static/hlcREADME.md.hbs +144 -0
  303. package/src/generators/static/karma.conf.js.hbs +126 -0
  304. package/src/generators/static/karmaConfigFileGenerator.ts +20 -0
  305. package/src/generators/static/packageFileGenerator.ts +292 -71
  306. package/src/generators/static/readmeFileGenerator.ts +79 -42
  307. package/src/generators/static/rlcREADME.md.hbs +71 -0
  308. package/src/generators/static/rollupConfigFileGenerator.ts +13 -71
  309. package/src/generators/static/tsConfigFileGenerator.ts +54 -19
  310. package/src/generators/test/envBrowserFileGenerator.ts +14 -0
  311. package/src/generators/test/envFileGenerator.ts +22 -0
  312. package/src/generators/test/recordedClientFileGenerator.ts +22 -0
  313. package/src/generators/test/rlcEnv.ts.hbs +3 -0
  314. package/src/generators/test/rlcRecordedClient.ts.hbs +26 -0
  315. package/src/generators/test/rlcSampleTest.spec.ts.hbs +20 -0
  316. package/src/generators/test/sampleTest.ts.hbs +32 -0
  317. package/src/generators/test/sampleTestGenerator.ts +32 -0
  318. package/src/generators/tracingFileGenerator.ts +6 -24
  319. package/src/generators/utils/pagingOperations.ts +1 -2
  320. package/src/generators/utils/tracingUtils.ts +1 -5
  321. package/src/main.ts +8 -5
  322. package/src/models/clientDetails.ts +11 -1
  323. package/src/models/modelDetails.ts +2 -2
  324. package/src/models/operationDetails.ts +1 -0
  325. package/src/models/sampleDetails.ts +22 -0
  326. package/src/restLevelClient/generateClient.ts +134 -244
  327. package/src/restLevelClient/generateClientDefinition.ts +386 -0
  328. package/src/restLevelClient/generateIsUnexpectedHelper.ts +224 -0
  329. package/src/restLevelClient/generateMethodShortcuts.ts +121 -0
  330. package/src/restLevelClient/generateObjectTypes.ts +62 -21
  331. package/src/restLevelClient/generatePagingHelper.ts +69 -0
  332. package/src/restLevelClient/generateParameterTypes.ts +377 -56
  333. package/src/restLevelClient/generatePollingHelper.ts +19 -0
  334. package/src/restLevelClient/generateResponseTypes.ts +36 -17
  335. package/src/restLevelClient/generateRestLevel.ts +63 -8
  336. package/src/restLevelClient/generateSchemaTypes.ts +43 -8
  337. package/src/restLevelClient/generateTopLevelIndexFile.ts +37 -0
  338. package/src/restLevelClient/getPropertySignature.ts +12 -4
  339. package/src/restLevelClient/helpers/hasPollingOperations.ts +15 -0
  340. package/src/restLevelClient/helpers/modelHelpers.ts +15 -0
  341. package/src/restLevelClient/helpers/operationHelpers.ts +93 -0
  342. package/src/restLevelClient/interfaces.ts +39 -0
  343. package/src/restLevelClient/operationHelpers.ts +23 -9
  344. package/src/restLevelClient/paginateHelper.ts.hbs +208 -0
  345. package/src/restLevelClient/pollingHelper.ts.hbs +72 -0
  346. package/src/restLevelClient/samples/generateSamples.ts +23 -0
  347. package/src/restLevelClient/samples/samples.ts.hbs +0 -0
  348. package/src/restLevelClient/schemaHelpers.ts +30 -8
  349. package/src/transforms/mapperTransforms.ts +11 -5
  350. package/src/transforms/objectTransforms.ts +26 -6
  351. package/src/transforms/operationTransforms.ts +6 -1
  352. package/src/transforms/parameterTransforms.ts +26 -7
  353. package/src/transforms/samplesTransforms.ts +349 -0
  354. package/src/transforms/transforms.ts +14 -9
  355. package/src/typescriptGenerator.ts +40 -53
  356. package/src/utils/autorestOptions.ts +198 -88
  357. package/src/utils/copyFiles.ts +36 -0
  358. package/src/utils/extractPaginationDetails.ts +19 -1
  359. package/src/utils/nameUtils.ts +18 -9
  360. package/src/utils/schemaHelpers.ts +51 -4
  361. package/CHANGELOG.md +0 -56
  362. package/dist/src/generators/clientContextFileGenerator.d.ts +0 -5
  363. package/dist/src/generators/clientContextFileGenerator.d.ts.map +0 -1
  364. package/dist/src/generators/clientContextFileGenerator.js +0 -263
  365. package/dist/src/generators/clientContextFileGenerator.js.map +0 -1
  366. package/src/generators/clientContextFileGenerator.ts +0 -405
@@ -1,6 +1,17 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
+ var __rest = (this && this.__rest) || function (s, e) {
5
+ var t = {};
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
7
+ t[p] = s[p];
8
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
9
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
10
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
11
+ t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
4
15
  Object.defineProperty(exports, "__esModule", { value: true });
5
16
  exports.hasLroOperation = exports.addOperationSpecs = exports.writeOperations = exports.writeGetOperationOptions = exports.generateOperations = void 0;
6
17
  const ts_morph_1 = require("ts-morph");
@@ -27,12 +38,12 @@ const autorestSession_1 = require("../autorestSession");
27
38
  * @param project project for code generation
28
39
  */
29
40
  function generateOperations(clientDetails, project) {
30
- const { srcPath } = autorestSession_1.getAutorestOptions();
41
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
31
42
  let fileNames = [];
32
43
  // Toplevel operations are inlined in the client
33
44
  const operationGroups = clientDetails.operationGroups.filter(og => !og.isTopLevel);
34
45
  operationGroups.forEach(operationDetails => {
35
- fileNames.push(nameUtils_1.normalizeName(operationDetails.name, nameUtils_1.NameType.File));
46
+ fileNames.push((0, nameUtils_1.normalizeName)(operationDetails.name, nameUtils_1.NameType.File));
36
47
  generateOperation(operationDetails, clientDetails, project);
37
48
  });
38
49
  if (operationGroups.length) {
@@ -49,8 +60,8 @@ exports.generateOperations = generateOperations;
49
60
  * This function creates a file for a given Operation Group
50
61
  */
51
62
  function generateOperation(operationGroupDetails, clientDetails, project) {
52
- const { srcPath } = autorestSession_1.getAutorestOptions();
53
- const name = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.File);
63
+ const { srcPath } = (0, autorestSession_1.getAutorestOptions)();
64
+ const name = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.File);
54
65
  const hasMappers = !!clientDetails.mappers.length;
55
66
  const operationGroupFile = project.createSourceFile(`${srcPath}/operations/${name}.ts`, undefined, { overwrite: true });
56
67
  addImports(operationGroupDetails, operationGroupFile, clientDetails);
@@ -59,7 +70,7 @@ function generateOperation(operationGroupDetails, clientDetails, project) {
59
70
  operationGroupFile.fixUnusedIdentifiers();
60
71
  }
61
72
  function writeGetOperationOptions(operationGroupClass) {
62
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
73
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
63
74
  operationGroupClass.addMethod({
64
75
  scope: ts_morph_1.Scope.Private,
65
76
  name: !useCoreV2
@@ -237,7 +248,7 @@ function buildRequestBody({ requestBody, httpMethod }) {
237
248
  // path would be ["groupName", "parameterName"] to tell the serialized to get it from groupName.parameterName.
238
249
  // If it is a regular parameter the path would be its name.
239
250
  const sourcePath = curr.parameter.groupedBy
240
- ? [languageHelpers_1.getLanguageMetadata(curr.parameter.groupedBy.language).name, name]
251
+ ? [(0, languageHelpers_1.getLanguageMetadata)(curr.parameter.groupedBy.language).name, name]
241
252
  : [name];
242
253
  const isRequired = curr.required || ((_a = curr.parameter.groupedBy) === null || _a === void 0 ? void 0 : _a.required);
243
254
  let parameterPath;
@@ -290,12 +301,19 @@ function buildMapper(mapper, mapperName) {
290
301
  if (!mapper) {
291
302
  return "";
292
303
  }
293
- // When mapper is a reference (string) we don't need to stringify the object
294
- let mapperString = typeof mapper === "string" ? mapper : JSON.stringify(mapper);
304
+ let mapperString = "";
305
+ if (typeof mapper === "string") {
306
+ // When mapper is a reference (string) we don't need to stringify the object
307
+ mapperString = mapper;
308
+ }
309
+ else {
310
+ const { constraints } = mapper, restMapper = __rest(mapper, ["constraints"]);
311
+ mapperString = JSON.stringify(restMapper);
312
+ }
295
313
  return `${mapperName}: ${mapperString},`;
296
314
  }
297
315
  function getReturnType(operation, importedModels, modelNames) {
298
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
316
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
299
317
  return operation.isLro
300
318
  ? `Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`
301
319
  : `Promise<${responseName}>`;
@@ -305,8 +323,8 @@ function getReturnType(operation, importedModels, modelNames) {
305
323
  */
306
324
  function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
307
325
  let importedModels = new Set();
308
- let allModelsNames = responseTypeUtils_1.getAllModelsNames(clientDetails);
309
- const className = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
326
+ let allModelsNames = (0, responseTypeUtils_1.getAllModelsNames)(clientDetails);
327
+ const className = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
310
328
  const operationGroupClass = operationGroupFile.addClass({
311
329
  name: `${className}Impl`,
312
330
  docs: [`Class containing ${className} operations.`],
@@ -317,7 +335,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
317
335
  name: "client",
318
336
  isReadonly: true,
319
337
  scope: ts_morph_1.Scope.Private,
320
- type: `${clientDetails.className}Context`
338
+ type: `${clientDetails.className}`
321
339
  });
322
340
  const constructorDefinition = operationGroupClass.addConstructor({
323
341
  docs: [
@@ -329,7 +347,7 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
329
347
  {
330
348
  name: "client",
331
349
  hasQuestionToken: false,
332
- type: `${clientDetails.className}Context`
350
+ type: `${clientDetails.className}`
333
351
  }
334
352
  ]
335
353
  });
@@ -357,21 +375,21 @@ function addClass(operationGroupFile, operationGroupDetails, clientDetails) {
357
375
  * Write operations implementation, extracted from OperationGroupDetails, to the generated file
358
376
  */
359
377
  function writeOperations(operationGroupDetails, operationGroupClass, importedModels, modelNames, clientDetails, isInline = false) {
360
- const { tracingInfo } = autorestSession_1.getAutorestOptions();
361
- pagingOperations_1.preparePageableOperations(operationGroupDetails);
362
- pagingOperations_1.writeAsyncIterators(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
378
+ const { tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
379
+ (0, pagingOperations_1.preparePageableOperations)(operationGroupDetails);
380
+ (0, pagingOperations_1.writeAsyncIterators)(operationGroupDetails, clientDetails, operationGroupClass, importedModels);
363
381
  operationGroupDetails.operations.forEach(operation => {
364
382
  var _a;
365
- const { baseMethodParameters, overloadParameterDeclarations } = parameterUtils_1.getOperationParameterSignatures(operation, clientDetails.parameters, importedModels, operationGroupClass);
366
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
383
+ const { baseMethodParameters, overloadParameterDeclarations } = (0, parameterUtils_1.getOperationParameterSignatures)(operation, clientDetails.parameters, importedModels, operationGroupClass);
384
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
367
385
  const returnType = getReturnType(operation, importedModels, modelNames);
368
386
  const operationMethod = operationGroupClass.addMethod({
369
- name: operationsUtils_1.calculateMethodName(operation),
387
+ name: (0, operationsUtils_1.calculateMethodName)(operation),
370
388
  parameters: baseMethodParameters,
371
389
  scope: operation.scope,
372
390
  returnType,
373
391
  docs: [
374
- docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
392
+ (0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
375
393
  ],
376
394
  isAsync: operation.isLro || Boolean(tracingInfo)
377
395
  });
@@ -381,15 +399,15 @@ function writeOperations(operationGroupDetails, operationGroupClass, importedMod
381
399
  * Create a simple method that blocks and waits for the result
382
400
  */
383
401
  if (operation.isLro && operation.pagination === undefined) {
384
- const responseName = responseTypeUtils_1.getOperationResponseType(operation, importedModels, modelNames);
385
- const methodName = operationsUtils_1.calculateMethodName(operation);
402
+ const responseName = (0, responseTypeUtils_1.getOperationResponseType)(operation, importedModels, modelNames);
403
+ const methodName = (0, operationsUtils_1.calculateMethodName)(operation);
386
404
  const operationMethod = operationGroupClass.addMethod({
387
405
  name: `${methodName}AndWait`,
388
406
  parameters: baseMethodParameters,
389
407
  scope: operation.scope,
390
408
  returnType: `Promise<${responseName}>`,
391
409
  docs: [
392
- docsUtils_1.generateOperationJSDoc(baseMethodParameters, operation.description)
410
+ (0, docsUtils_1.generateOperationJSDoc)(baseMethodParameters, operation.description)
393
411
  ],
394
412
  isAsync: true
395
413
  });
@@ -457,7 +475,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
457
475
  generatedOperation.addOverload({
458
476
  parameters: overload,
459
477
  returnType,
460
- docs: [docsUtils_1.generateOperationJSDoc(overload, operationDetails.description)]
478
+ docs: [(0, docsUtils_1.generateOperationJSDoc)(overload, operationDetails.description)]
461
479
  });
462
480
  }
463
481
  }
@@ -467,7 +485,7 @@ function addOperationOverloads(generatedOperation, operationDetails, overloadDec
467
485
  * @param isLro whether the operation is an Lro.
468
486
  */
469
487
  function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResourceLocationConfig) {
470
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
488
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
471
489
  // In Lro we have a couple extra properties to add that's why we use
472
490
  // the private getOperationOptions function instead of the one in core-http
473
491
  return isLro
@@ -479,21 +497,13 @@ function compileOperationOptionsToRequestOptionsBase(options, isLro, lroResource
479
497
  : `options || {}`;
480
498
  }
481
499
  function writeNoOverloadsOperationBody(operation, responseName, operationMethod, parameterDeclarations, clientDetails, isInline) {
482
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
500
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
483
501
  const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
484
502
  const operationSpecName = `${operation.name}OperationSpec`;
485
503
  const vanillaOptionsName = "options";
486
504
  let options = vanillaOptionsName;
487
- if (tracingInfo) {
488
- const operationName = operationMethod.getName();
489
- const { outputOptionsVarName: updatedOptionsName, statement: tracingStatement } = getTracingSpanStatement(clientDetails, operationName, `${options} || {}`);
490
- operationMethod.addStatements([tracingStatement]);
491
- // Options from createSpan should be used as operation options, updating
492
- options = compileOperationOptionsToRequestOptionsBase(updatedOptionsName, operation.isLro, lroResourceLocationConfig);
493
- }
494
- else {
495
- options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
496
- }
505
+ // Options from createSpan should be used as operation options, updating
506
+ options = compileOperationOptionsToRequestOptionsBase(vanillaOptionsName, operation.isLro, lroResourceLocationConfig);
497
507
  const sendParams = parameterDeclarations
498
508
  .map(p => p.name === "options"
499
509
  ? !useCoreV2
@@ -507,51 +517,37 @@ function writeNoOverloadsOperationBody(operation, responseName, operationMethod,
507
517
  }
508
518
  if (operation.isLro) {
509
519
  if (!useCoreV2) {
510
- writeLroOperationBody("operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
520
+ writeLroOperationBody(clientDetails, "operationArguments", responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
511
521
  }
512
522
  else {
513
- writeLroOperationBody(`{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
523
+ writeLroOperationBody(clientDetails, `{${sendParams}}`, responseName, operationSpecName, operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
514
524
  }
515
525
  }
516
526
  else {
517
527
  writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline, `{${sendParams}}`);
518
528
  }
519
529
  }
520
- function getTracingSpanStatement(clientDetails, operationName, options) {
521
- const outputOptionsVarName = "updatedOptions";
522
- return {
523
- statement: `const { span, ${outputOptionsVarName} } = createSpan("${clientDetails.className}-${operationName}", ${options});`,
524
- outputOptionsVarName: outputOptionsVarName
525
- };
526
- }
527
530
  function writeSendOperationRequest(responseName, operationMethod, operationSpecName, clientDetails, isInline = false, sendParams) {
528
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
531
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
532
+ const operationName = operationMethod.getName();
529
533
  const client = isInline ? "" : ".client";
530
534
  const sendRequestStatement = !useCoreV2
531
535
  ? `this${client}.sendOperationRequest(operationArguments, ${operationSpecName})`
532
536
  : `this${client}.sendOperationRequest(${sendParams}, ${operationSpecName})`;
533
537
  // When tracing is enabled we want to report success and failures through OpenTelemetry
534
538
  // so we create a span and mark it as succeeded or failed
535
- operationMethod.addStatements(getTracingTryCatchStatement(sendRequestStatement, responseName, !!tracingInfo));
539
+ operationMethod.addStatements(getTracingClientWithSpanStatement(sendRequestStatement, responseName, !!tracingInfo, `${clientDetails.className}.${operationName}`));
536
540
  }
537
541
  function getSpanStatusCode() {
538
542
  return "coreTracing.SpanStatusCode.UNSET";
539
543
  }
540
- function getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled) {
541
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
544
+ function getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName) {
545
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
542
546
  if (isTracingEnabled) {
543
- return `try {
544
- const result = await ${sendRequestStatement}
545
- return result as ${responseName};
546
- } catch(error) {
547
- span.setStatus({
548
- code: ${getSpanStatusCode()},
549
- message: error.message
550
- });
551
- throw error;
552
- } finally {
553
- span.end();
554
- }`;
547
+ return `
548
+ return tracingClient.withSpan("${spanName}", options ?? {}, async options => {
549
+ return ${sendRequestStatement} as Promise<${responseName}>;
550
+ });`;
555
551
  }
556
552
  else {
557
553
  return !useCoreV2
@@ -559,13 +555,14 @@ function getTracingTryCatchStatement(sendRequestStatement, responseName, isTraci
559
555
  : `return ${sendRequestStatement}`;
560
556
  }
561
557
  }
562
- function writeLroOperationBody(operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
563
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
558
+ function writeLroOperationBody(clientDetails, operationParamsName, responseName, operationSpecName, methodDeclaration, lroResourceLocationConfig, isInline, isTracingEnabled = false) {
559
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
560
+ const spanName = `${clientDetails.className}.${methodDeclaration.getName()}`;
564
561
  const client = isInline ? "" : ".client";
565
562
  const sendRequestStatement = `this${client}.sendOperationRequest(args, spec)`;
566
563
  const sendOperationStatement = !useCoreV2
567
564
  ? `const directSendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec): Promise<${responseName}> => {
568
- ${getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled)}
565
+ ${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
569
566
  };
570
567
  const sendOperation = async (args: coreHttp.OperationArguments, spec: coreHttp.OperationSpec) => {
571
568
  const response = await directSendOperation(args, spec);
@@ -576,7 +573,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
576
573
  }};
577
574
  }`
578
575
  : `const directSendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec): Promise<${responseName}> => {
579
- ${getTracingTryCatchStatement(sendRequestStatement, responseName, isTracingEnabled)}
576
+ ${getTracingClientWithSpanStatement(sendRequestStatement, responseName, isTracingEnabled, spanName)}
580
577
  };
581
578
  const sendOperation = async (args: coreClient.OperationArguments, spec: coreClient.OperationSpec) => {
582
579
  let currentRawResponse: coreClient.FullOperationResponse | undefined = undefined;
@@ -605,9 +602,11 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
605
602
  sendOperationStatement,
606
603
  `const lro = new LroImpl(sendOperation,${operationParamsName},
607
604
  ${operationSpecName})`,
608
- `return new LroEngine(lro,{ resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs${lroResourceLocationConfig
605
+ `const poller = new LroEngine(lro,{ resumeFrom: options?.resumeFrom, intervalInMs: options?.updateIntervalInMs${lroResourceLocationConfig
609
606
  ? `, lroResourceLocationConfig: "${lroResourceLocationConfig.toLowerCase()}"`
610
- : ""} });`
607
+ : ""} });`,
608
+ "await poller.poll();",
609
+ "return poller;"
611
610
  ]);
612
611
  methodDeclaration.setReturnType(`Promise<PollerLike<PollOperationState<${responseName}>,${responseName}>>`);
613
612
  }
@@ -617,7 +616,7 @@ function writeLroOperationBody(operationParamsName, responseName, operationSpecN
617
616
  * to determine which OperationSpec to use when sending the request.
618
617
  */
619
618
  function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadParameterDeclarations, responseName, clientDetails, isInline = false) {
620
- const { useCoreV2, tracingInfo } = autorestSession_1.getAutorestOptions();
619
+ const { useCoreV2, tracingInfo } = (0, autorestSession_1.getAutorestOptions)();
621
620
  const coreImport = !useCoreV2 ? "coreHttp" : "coreClient";
622
621
  operationMethod.addStatements([
623
622
  `let operationSpec: ${coreImport}.OperationSpec;`,
@@ -677,24 +676,14 @@ function writeMultiMediaTypeOperationBody(operationMethod, operation, overloadPa
677
676
  }`
678
677
  ]);
679
678
  const lroResourceLocationConfig = operation.lroOptions && operation.lroOptions["final-state-via"];
680
- if (tracingInfo) {
681
- const operationName = operationMethod.getName();
682
- const { outputOptionsVarName, statement: tracingStatement } = getTracingSpanStatement(clientDetails, operationName, optionsVarName);
683
- operationMethod.addStatements([
684
- tracingStatement,
685
- `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(outputOptionsVarName, operation.isLro, lroResourceLocationConfig)};`
686
- ]);
687
- }
688
- else {
689
- operationMethod.addStatements([
690
- `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
691
- ]);
692
- }
679
+ operationMethod.addStatements([
680
+ `operationArguments.options = ${compileOperationOptionsToRequestOptionsBase(optionsVarName, operation.isLro, lroResourceLocationConfig)};`
681
+ ]);
693
682
  if (!operation.isLro) {
694
683
  writeSendOperationRequest(responseName, operationMethod, "operationSpec", clientDetails, isInline, "operationArguments");
695
684
  }
696
685
  else {
697
- writeLroOperationBody("operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
686
+ writeLroOperationBody(clientDetails, "operationArguments", responseName, "operationSpec", operationMethod, lroResourceLocationConfig, isInline, !!tracingInfo);
698
687
  }
699
688
  }
700
689
  function getContentTypeInfo(request) {
@@ -702,7 +691,7 @@ function getContentTypeInfo(request) {
702
691
  const parameters = (_a = request.parameters) !== null && _a !== void 0 ? _a : [];
703
692
  for (let i = 0; i < parameters.length; i++) {
704
693
  const parameter = parameters[i];
705
- const parameterMetadata = languageHelpers_1.getLanguageMetadata(parameter.language);
694
+ const parameterMetadata = (0, languageHelpers_1.getLanguageMetadata)(parameter.language);
706
695
  const paramLowerSerializedName = (_b = parameterMetadata.serializedName) === null || _b === void 0 ? void 0 : _b.toLowerCase();
707
696
  const parameterInHeader = ((_c = parameter.protocol.http) === null || _c === void 0 ? void 0 : _c.in) === codemodel_1.ParameterLocation.Header;
708
697
  const schema = parameter.schema;
@@ -728,7 +717,7 @@ function hasMediaType(operationDetails, mediaType) {
728
717
  * for a given operation group
729
718
  */
730
719
  function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers) {
731
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
720
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
732
721
  const hasXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Xml));
733
722
  const hasNonXml = operationGroupDetails.operations.some(operation => hasMediaType(operation, codegen_1.KnownMediaType.Json) ||
734
723
  hasMediaType(operation, codegen_1.KnownMediaType.Form) ||
@@ -744,7 +733,7 @@ function addOperationSpecs(operationGroupDetails, file, parameters, hasMappers)
744
733
  writeSerializer(hasMappers, file, SerializerKind.Json);
745
734
  }
746
735
  operationGroupDetails.operations.forEach(operation => {
747
- const operationSpecs = operationTransforms_1.transformOperationSpec(operation, parameters);
736
+ const operationSpecs = (0, operationTransforms_1.transformOperationSpec)(operation, parameters);
748
737
  for (const operationSpec of operationSpecs) {
749
738
  file.addVariableStatement({
750
739
  declarationKind: ts_morph_1.VariableDeclarationKind.Const,
@@ -768,7 +757,7 @@ var SerializerKind;
768
757
  SerializerKind[SerializerKind["Xml"] = 1] = "Xml";
769
758
  })(SerializerKind || (SerializerKind = {}));
770
759
  function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
771
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
760
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
772
761
  const isXml = kind === SerializerKind.Xml;
773
762
  const mappers = hasMappers ? "Mappers" : "{}";
774
763
  const name = isXml ? "xmlSerializer" : "serializer";
@@ -788,12 +777,12 @@ function writeSerializer(hasMappers, file, kind = SerializerKind.Json) {
788
777
  * Adds required imports at the top of the file
789
778
  */
790
779
  function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
791
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
780
+ const { useCoreV2 } = (0, autorestSession_1.getAutorestOptions)();
792
781
  const { className, mappers } = clientDetails;
793
- pagingOperations_1.addPagingEsNextRef(operationGroupDetails.operations, operationGroupFile);
794
- tracingUtils_1.addTracingOperationImports(operationGroupFile);
795
- pagingOperations_1.addPagingImports(operationGroupDetails.operations, operationGroupFile);
796
- const operationGroupInterfaceName = nameUtils_1.normalizeName(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
782
+ (0, pagingOperations_1.addPagingEsNextRef)(operationGroupDetails.operations, operationGroupFile);
783
+ (0, tracingUtils_1.addTracingOperationImports)(operationGroupFile);
784
+ (0, pagingOperations_1.addPagingImports)(operationGroupDetails.operations, operationGroupFile);
785
+ const operationGroupInterfaceName = (0, nameUtils_1.normalizeName)(operationGroupDetails.name, nameUtils_1.NameType.OperationGroup, true /** shouldGuard */);
797
786
  operationGroupFile.addImportDeclaration({
798
787
  namedImports: [`${operationGroupInterfaceName}`],
799
788
  moduleSpecifier: "../operationsInterfaces"
@@ -828,17 +817,17 @@ function addImports(operationGroupDetails, operationGroupFile, clientDetails) {
828
817
  moduleSpecifier: "../models/mappers"
829
818
  });
830
819
  }
831
- if (importUtils_1.shouldImportParameters(clientDetails)) {
820
+ if ((0, importUtils_1.shouldImportParameters)(clientDetails)) {
832
821
  operationGroupFile.addImportDeclaration({
833
822
  namespaceImport: "Parameters",
834
823
  moduleSpecifier: "../models/parameters"
835
824
  });
836
825
  }
837
- const clientContextClassName = `${className}Context`;
838
- const clientContextFileName = nameUtils_1.normalizeName(clientContextClassName, nameUtils_1.NameType.File);
826
+ const clientClassName = `${className}`;
827
+ const clientFileName = (0, nameUtils_1.normalizeName)(clientClassName, nameUtils_1.NameType.File);
839
828
  operationGroupFile.addImportDeclaration({
840
- namedImports: [`${clientContextClassName}`],
841
- moduleSpecifier: `../${clientContextFileName}`
829
+ namedImports: [`${clientClassName}`],
830
+ moduleSpecifier: `../${clientFileName}`
842
831
  });
843
832
  if (hasLroOperation(operationGroupDetails)) {
844
833
  operationGroupFile.addImportDeclaration({
@@ -1 +1 @@
1
- {"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationGenerator.js","sourceRoot":"","sources":["../../../src/generators/operationGenerator.ts"],"names":[],"mappings":"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"}