@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
package/CHANGELOG.md DELETED
@@ -1,44 +0,0 @@
1
- ## 6.0.0-beta.7 (2021-07-13)
2
-
3
- - [BugFix] Fixed the issue with the `HEAD` HTTP Requests and provided support for the `head-as-boolean` option. Please refer [#1037](https://github.com/Azure/autorest.typescript/issues/1037) for more details.
4
-
5
- ## 6.0.0-beta.6 (2021-07-12)
6
-
7
- - [BugFix] Changed `sdk-type` property in `package.json` file from `management` to `mgmt`. Please refer [#1090](https://github.com/Azure/autorest.typescript/pull/1090) for further details.
8
- - [Feature] Refactored LRO operations. Please refer [#1043](https://github.com/Azure/autorest.typescript/pull/1043) for further details.
9
- - [BugFix] Changed the file name `LICENSE.txt` to `LICENSE`. Please refer [#1095](https://github.com/Azure/autorest.typescript/pull/1095) for further details.
10
- - [Feature] Created the `CONTRIBUTING.md` file. Please refer [#1096](https://github.com/Azure/autorest.typescript/pull/1096) for further details.
11
- - [BugFix] Changed the `const enum` declarations to `enum` declaration. Please refer [#1097](https://github.com/Azure/autorest.typescript/pull/1097) for further details.
12
- - [BugFix] Fixed the samples URL in the readme file for the management SDKs. Please refer [#1098](https://github.com/Azure/autorest.typescript/pull/1098) for further details.
13
-
14
- ## 6.0.0-beta.5 (2021-06-29)
15
-
16
- - [Feature] `CHANGELOG.md` file is added to the published package. Please refer [#1052](https://github.com/Azure/autorest.typescript/pull/1052) and [#1028](https://github.com/Azure/autorest.typescript/issues/1028) for further details.
17
- - [Feature] Added ability to generate Rest level clients with the option `--rest-level-client`. Please refer [#1055](https://github.com/Azure/autorest.typescript/pull/1055) for further details.
18
- - [Feature] Added `sdk-type` and other default scripts to the generated `package.json` file. Please refer [#1074](https://github.com/Azure/autorest.typescript/pull/1074) and [#1049](https://github.com/Azure/autorest.typescript/issues/1049) for further details.
19
- - [BugFix] Added `@azure/core-auth` and `@azure/abort-controller` packages to the appropriate `package.json` file. Please refer [#1082](https://github.com/Azure/autorest.typescript/pull/1082) and [#1066](https://github.com/Azure/autorest.typescript/issues/1066) for further details.
20
-
21
- ## 6.0.0-beta.4 (2021-06-22)
22
-
23
- - [BugFix] Update LRO's `intervalInMs` from the `Retry-After` header. Please refer [#1036](https://github.com/Azure/autorest.typescript/pull/1036) and [#1034](https://github.com/Azure/autorest.typescript/issues/1034) for further details.
24
- - [BugFix] Stop mutating options bag in the client context constructor. Please refer [#1042](https://github.com/Azure/autorest.typescript/pull/1042) and [#1039](https://github.com/Azure/autorest.typescript/issues/1039) for further details.
25
-
26
- ## 1.0.0-beta.3 (2021-06-14)
27
-
28
- - [BugFix] Changed the target of the generated SDKs from `es5` to `es6`. Please refer [#1004](https://github.com/Azure/autorest.typescript/issues/1004) and [#1027](https://github.com/Azure/autorest.typescript/pull/1027) for further details.
29
- - [BugFix] Changed the default user agent of the generated SDKs to align with the SDK guidelines. Please refer [#1005](https://github.com/Azure/autorest.typescript/issues/1005) and [#1033](https://github.com/Azure/autorest.typescript/pull/1033) for further details. **Note**: The default-user agent will follow the format of `azsdk-js-<package-name>/<package-version> core-<package-name>/<core-package-version> ....`. If the user/custom code adds `azsdk-js-<package-name>/<package-version>` as custom user agent string, then it should be removed with this version update.
30
-
31
- ## 1.0.0-beta.2 (2021-06-07)
32
-
33
- - [BugFix] Removed the erroneous `@azure/core-util` package dependency and added the `delay` function inline in LRO methods. Please refer [#993](https://github.com/Azure/autorest.typescript/issues/993) and [#1007](https://github.com/Azure/autorest.typescript/pull/1007) for further details.
34
- - [Feature] Added the `review/*` files, generated by api-extractor, to the published packages. Please refer [#1003](https://github.com/Azure/autorest.typescript/issues/1003) and [#1007](https://github.com/Azure/autorest.typescript/pull/1007) for further details.
35
- - [BugFix] Added the `headerCollectionPrefix` value correctly to the `mappers` and `parameters` file. Please refer [#902](https://github.com/Azure/autorest.typescript/issues/902) and [#1007](https://github.com/Azure/autorest.typescript/pull/1007) for further details.
36
- - [BugFix] Fixed the incorrect handling of parameters with default constants. Please refer [#1012](https://github.com/Azure/autorest.typescript/issues/1012) and [#1010](https://github.com/Azure/autorest.typescript/pull/1010) for further details.
37
-
38
- ## 1.0.0-beta.1 (2021-05-28)
39
-
40
- - Initial preview release of the Autorest Typescript/Javascript SDK Generator. This package replaces the older [@microsoft.azure/autorest.typescript](https://www.npmjs.com/package/@microsoft.azure/autorest.typescript) package.
41
- - This first preview includes:
42
- - Core v2 packages are supported by default.
43
- - Several new options such as `licenseHeader`, `generateMetadata`, `useCoreV2`, `hideClients`, etc are supported.
44
- - New and updated methods for Long Running operations.
@@ -1,26 +0,0 @@
1
- import { OperationArguments, OperationSpec, FullOperationResponse } from "@azure/core-client";
2
- import { LroResourceLocationConfig, GetLroStatusFromResponse, LongRunningOperation, LroConfig, LroMode, LroResponse, LroStatus, RawResponse } from "./lro";
3
- export declare const successStates: string[];
4
- export declare const failureStates: string[];
5
- export declare const terminalStates: string[];
6
- export declare type SendOperationFn<T> = (args: OperationArguments, spec: OperationSpec) => Promise<LroResponse<T>>;
7
- export declare function createPollingMethod<TResult>(sendOperationFn: SendOperationFn<TResult>, GetLroStatusFromResponse: GetLroStatusFromResponse<TResult>, args: OperationArguments, spec: OperationSpec, mode?: LroMode): (path?: string) => Promise<LroStatus<TResult>>;
8
- /**
9
- * We need to selectively deserialize our responses, only deserializing if we
10
- * are in a final Lro response, not deserializing any polling non-terminal responses
11
- */
12
- export declare function shouldDeserializeLro(lroResourceLocationConfig?: string): (response: FullOperationResponse) => boolean;
13
- export declare function getSpecPath(spec: OperationSpec): string;
14
- export declare class CoreClientLro<T> implements LongRunningOperation<T> {
15
- private sendOperationFn;
16
- private args;
17
- private spec;
18
- private lroResourceLocationConfig?;
19
- requestPath: string;
20
- requestMethod: string;
21
- constructor(sendOperationFn: SendOperationFn<T>, args: OperationArguments, spec: OperationSpec, lroResourceLocationConfig?: LroResourceLocationConfig | undefined, requestPath?: string, requestMethod?: string);
22
- sendInitialRequest(initializeState: (rawResponse: RawResponse, flatResponse: unknown) => boolean): Promise<LroResponse<T>>;
23
- sendPollRequest(config: LroConfig, path: string): Promise<LroStatus<T>>;
24
- retrieveAzureAsyncResource(path?: string): Promise<LroResponse<T>>;
25
- }
26
- //# sourceMappingURL=coreClientLro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreClientLro.d.ts","sourceRoot":"","sources":["../../src/coreClientLro.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EAET,WAAW,EACZ,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,aAAa,UAAgB,CAAC;AAC3C,eAAO,MAAM,aAAa,UAAsC,CAAC;AACjE,eAAO,MAAM,cAAc,UAAsC,CAAC;AAElE,oBAAY,eAAe,CAAC,CAAC,IAAI,CAC/B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,KAChB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,OAAO,EACzC,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,EACzC,wBAAwB,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAC3D,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,OAAO,GACb,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAiFhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,cAInD,qBAAqB,aAmCxC;AAiED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAMvD;AAED,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAE5D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,yBAAyB,CAAC;IAC3B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;gBALpB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EACnC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,yBAAyB,CAAC,uCAA2B,EACtD,WAAW,GAAE,MAAmB,EAChC,aAAa,GAAE,MAAwB;IAEnC,kBAAkB,CAC7B,eAAe,EAAE,CACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,OAAO,KAClB,OAAO,GACX,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA6Bb,eAAe,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAeX,0BAA0B,CACrC,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAgB3B"}
@@ -1,207 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.CoreClientLro = exports.getSpecPath = exports.shouldDeserializeLro = exports.createPollingMethod = exports.terminalStates = exports.failureStates = exports.successStates = void 0;
26
- const lro_1 = require("./lro");
27
- exports.successStates = ["succeeded"];
28
- exports.failureStates = ["failed", "canceled", "cancelled"];
29
- exports.terminalStates = exports.successStates.concat(exports.failureStates);
30
- function createPollingMethod(sendOperationFn, GetLroStatusFromResponse, args, spec, mode) {
31
- var _a;
32
- /**
33
- * Polling calls will always return a status object i.e. {"status": "success"}
34
- * these intermediate responses are not described in the swagger so we need to
35
- * pass custom mappers at runtime.
36
- * This function replaces all the existing mappers to be able to deserialize a status object
37
- * @param responses Original set of responses defined in the operation
38
- */
39
- function getCompositeMappers(responses) {
40
- return Object.keys(responses).reduce((acc, statusCode) => {
41
- return Object.assign(Object.assign({}, acc), { [statusCode]: Object.assign(Object.assign({}, responses[statusCode]), { bodyMapper: {
42
- type: {
43
- name: "Composite",
44
- modelProperties: {
45
- status: {
46
- serializedName: "status",
47
- type: {
48
- name: "String"
49
- }
50
- }
51
- }
52
- }
53
- } }) });
54
- }, {});
55
- }
56
- let response = undefined;
57
- const customerCallback = (_a = args === null || args === void 0 ? void 0 : args.options) === null || _a === void 0 ? void 0 : _a.onResponse;
58
- const updatedArgs = Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { onResponse: (rawResponse, flatResponse) => {
59
- response = GetLroStatusFromResponse({
60
- statusCode: rawResponse.status,
61
- body: rawResponse.parsedBody,
62
- headers: rawResponse.headers.toJSON()
63
- }, flatResponse);
64
- if (response.done) {
65
- customerCallback === null || customerCallback === void 0 ? void 0 : customerCallback(rawResponse, flatResponse);
66
- }
67
- } }) });
68
- // Make sure we don't send any body to the get request
69
- const { requestBody, responses } = spec, restSpec = __rest(spec, ["requestBody", "responses"]);
70
- if (mode === "AzureAsync") {
71
- return (path) => __awaiter(this, void 0, void 0, function* () {
72
- yield sendOperationFn(updatedArgs, Object.assign(Object.assign(Object.assign({}, restSpec), { responses: getCompositeMappers(responses), httpMethod: "GET" }), (path && { path })));
73
- return response;
74
- });
75
- }
76
- return (path) => __awaiter(this, void 0, void 0, function* () {
77
- yield sendOperationFn(updatedArgs, Object.assign(Object.assign(Object.assign({}, restSpec), { responses: responses, httpMethod: "GET" }), (path && { path })));
78
- return response;
79
- });
80
- }
81
- exports.createPollingMethod = createPollingMethod;
82
- /**
83
- * We need to selectively deserialize our responses, only deserializing if we
84
- * are in a final Lro response, not deserializing any polling non-terminal responses
85
- */
86
- function shouldDeserializeLro(lroResourceLocationConfig) {
87
- let initialOperationInfo;
88
- let isInitialRequest = true;
89
- return (response) => {
90
- if (response.status < 200 || response.status >= 300) {
91
- return true;
92
- }
93
- if (!initialOperationInfo) {
94
- initialOperationInfo = getLroData(response);
95
- }
96
- else {
97
- isInitialRequest = false;
98
- }
99
- if (initialOperationInfo.azureAsyncOperation ||
100
- initialOperationInfo.operationLocation) {
101
- return (!isInitialRequest &&
102
- isAsyncOperationFinalResponse(response, initialOperationInfo, lroResourceLocationConfig));
103
- }
104
- if (initialOperationInfo.location) {
105
- return isLocationFinalResponse(response);
106
- }
107
- if (initialOperationInfo.requestMethod === "PUT") {
108
- return isBodyPollingFinalResponse(response);
109
- }
110
- return true;
111
- };
112
- }
113
- exports.shouldDeserializeLro = shouldDeserializeLro;
114
- function isAsyncOperationFinalResponse(response, initialOperationInfo, lroResourceLocationConfig) {
115
- var _a;
116
- const status = ((_a = response.parsedBody) === null || _a === void 0 ? void 0 : _a.status) || "Succeeded";
117
- if (!exports.terminalStates.includes(status.toLowerCase())) {
118
- return false;
119
- }
120
- if (initialOperationInfo.requestMethod === "DELETE") {
121
- return true;
122
- }
123
- if (initialOperationInfo.requestMethod === "PUT" &&
124
- lroResourceLocationConfig &&
125
- lroResourceLocationConfig.toLowerCase() === "azure-asyncoperation") {
126
- return true;
127
- }
128
- if (initialOperationInfo.requestMethod !== "PUT" &&
129
- !initialOperationInfo.location) {
130
- return true;
131
- }
132
- return false;
133
- }
134
- function isLocationFinalResponse(response) {
135
- return response.status !== 202;
136
- }
137
- function isBodyPollingFinalResponse(response) {
138
- var _a, _b;
139
- const provisioningState = ((_b = (_a = response.parsedBody) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.provisioningState) || "Succeeded";
140
- if (exports.terminalStates.includes(provisioningState.toLowerCase())) {
141
- return true;
142
- }
143
- return false;
144
- }
145
- function getLroData(result) {
146
- return {
147
- azureAsyncOperation: result.headers.get("azure-asyncoperation"),
148
- operationLocation: result.headers.get("operation-location"),
149
- location: result.headers.get("location"),
150
- requestMethod: result.request.method
151
- };
152
- }
153
- function getSpecPath(spec) {
154
- if (spec.path) {
155
- return spec.path;
156
- }
157
- else {
158
- throw Error("Bad spec: request path is not found!");
159
- }
160
- }
161
- exports.getSpecPath = getSpecPath;
162
- class CoreClientLro {
163
- constructor(sendOperationFn, args, spec, lroResourceLocationConfig, requestPath = spec.path, requestMethod = spec.httpMethod) {
164
- this.sendOperationFn = sendOperationFn;
165
- this.args = args;
166
- this.spec = spec;
167
- this.lroResourceLocationConfig = lroResourceLocationConfig;
168
- this.requestPath = requestPath;
169
- this.requestMethod = requestMethod;
170
- }
171
- sendInitialRequest(initializeState) {
172
- return __awaiter(this, void 0, void 0, function* () {
173
- const _a = this.args.options || {}, { onResponse } = _a, restOptions = __rest(_a, ["onResponse"]);
174
- return this.sendOperationFn(Object.assign(Object.assign({}, this.args), { options: Object.assign(Object.assign({}, restOptions), { onResponse: (rawResponse, flatResponse) => {
175
- const isCompleted = initializeState({
176
- statusCode: rawResponse.status,
177
- body: rawResponse.parsedBody,
178
- headers: rawResponse.headers.toJSON()
179
- }, flatResponse);
180
- if (isCompleted) {
181
- onResponse === null || onResponse === void 0 ? void 0 : onResponse(rawResponse, flatResponse);
182
- }
183
- } }) }), this.spec);
184
- });
185
- }
186
- sendPollRequest(config, path) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- const getLroStatusFromResponse = lro_1.createGetLroStatusFromResponse(this, config, this.lroResourceLocationConfig);
189
- return createPollingMethod(this.sendOperationFn, getLroStatusFromResponse, this.args, this.spec, config.mode)(path);
190
- });
191
- }
192
- retrieveAzureAsyncResource(path) {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- const updatedArgs = Object.assign({}, this.args);
195
- if (updatedArgs.options) {
196
- updatedArgs.options.shouldDeserialize = true;
197
- }
198
- return createPollingMethod(this.sendOperationFn, (rawResponse, flatResponse) => ({
199
- rawResponse,
200
- flatResponse,
201
- done: true
202
- }), updatedArgs, this.spec)(path);
203
- });
204
- }
205
- }
206
- exports.CoreClientLro = CoreClientLro;
207
- //# sourceMappingURL=coreClientLro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreClientLro.js","sourceRoot":"","sources":["../../src/coreClientLro.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { HttpOperationResponse, OperationArguments, OperationSpec } from "@azure/core-http";
2
- import { LroResourceLocationConfig, GetLroStatusFromResponse, LongRunningOperation, LroConfig, LroMode, LroResponse, LroStatus, RawResponse } from "./lro";
3
- export declare const successStates: string[];
4
- export declare const failureStates: string[];
5
- export declare const terminalStates: string[];
6
- export declare type SendOperationFn<T> = (args: OperationArguments, spec: OperationSpec) => Promise<LroResponse<T>>;
7
- export declare function createPollingMethod<TResult>(sendOperationFn: SendOperationFn<TResult>, getLroStatusFromResponse: GetLroStatusFromResponse<TResult>, args: OperationArguments, spec: OperationSpec, mode?: LroMode): (path?: string) => Promise<LroStatus<TResult>>;
8
- /**
9
- * We need to selectively deserialize our responses, only deserializing if we
10
- * are in a final Lro response, not deserializing any polling non-terminal responses
11
- */
12
- export declare function shouldDeserializeLro(lroResourceLocationConfig?: string): (response: HttpOperationResponse) => boolean;
13
- export declare function getSpecPath(spec: OperationSpec): string;
14
- export declare class CoreHttpLro<T> implements LongRunningOperation<T> {
15
- private sendOperationFn;
16
- private args;
17
- private spec;
18
- private lroResourceLocationConfig?;
19
- requestPath: string;
20
- requestMethod: string;
21
- constructor(sendOperationFn: SendOperationFn<T>, args: OperationArguments, spec: OperationSpec, lroResourceLocationConfig?: LroResourceLocationConfig | undefined, requestPath?: string, requestMethod?: string);
22
- sendInitialRequest(initializeState: (rawResponse: RawResponse, flatResponse: unknown) => boolean): Promise<LroResponse<T>>;
23
- sendPollRequest(config: LroConfig, path: string): Promise<LroStatus<T>>;
24
- retrieveAzureAsyncResource(path?: string): Promise<LroResponse<T>>;
25
- }
26
- //# sourceMappingURL=coreHttpLro.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreHttpLro.d.ts","sourceRoot":"","sources":["../../src/coreHttpLro.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAElB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EAET,WAAW,EACZ,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,aAAa,UAAgB,CAAC;AAC3C,eAAO,MAAM,aAAa,UAAsC,CAAC;AACjE,eAAO,MAAM,cAAc,UAAsC,CAAC;AAElE,oBAAY,eAAe,CAAC,CAAC,IAAI,CAC/B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,KAChB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,OAAO,EACzC,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,EACzC,wBAAwB,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAC3D,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,IAAI,CAAC,EAAE,OAAO,GACb,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAyDhD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,yBAAyB,CAAC,EAAE,MAAM,cAInD,qBAAqB,aAmCxC;AAiED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAMvD;AAED,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,oBAAoB,CAAC,CAAC,CAAC;IAE1D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,yBAAyB,CAAC;IAC3B,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;gBALpB,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,EACnC,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,yBAAyB,CAAC,uCAA2B,EACtD,WAAW,GAAE,MAAmB,EAChC,aAAa,GAAE,MAAwB;IAEnC,kBAAkB,CAC7B,eAAe,EAAE,CACf,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,OAAO,KAClB,OAAO,GACX,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAMb,eAAe,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAeX,0BAA0B,CACrC,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAgB3B"}
@@ -1,186 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __rest = (this && this.__rest) || function (s, e) {
14
- var t = {};
15
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
- t[p] = s[p];
17
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
- t[p[i]] = s[p[i]];
21
- }
22
- return t;
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.CoreHttpLro = exports.getSpecPath = exports.shouldDeserializeLro = exports.createPollingMethod = exports.terminalStates = exports.failureStates = exports.successStates = void 0;
26
- const lro_1 = require("./lro");
27
- exports.successStates = ["succeeded"];
28
- exports.failureStates = ["failed", "canceled", "cancelled"];
29
- exports.terminalStates = exports.successStates.concat(exports.failureStates);
30
- function createPollingMethod(sendOperationFn, getLroStatusFromResponse, args, spec, mode) {
31
- /**
32
- * Polling calls will always return a status object i.e. {"status": "success"}
33
- * these intermediate responses are not described in the swagger so we need to
34
- * pass custom mappers at runtime.
35
- * This function replaces all the existing mappers to be able to deserialize a status object
36
- * @param responses Original set of responses defined in the operation
37
- */
38
- function getCompositeMappers(responses) {
39
- return Object.keys(responses).reduce((acc, statusCode) => {
40
- return Object.assign(Object.assign({}, acc), { [statusCode]: Object.assign(Object.assign({}, responses[statusCode]), { bodyMapper: {
41
- type: {
42
- name: "Composite",
43
- modelProperties: {
44
- status: {
45
- serializedName: "status",
46
- type: {
47
- name: "String"
48
- }
49
- }
50
- }
51
- }
52
- } }) });
53
- }, {});
54
- }
55
- // Make sure we don't send any body to the get request
56
- const { requestBody, responses } = spec, restSpec = __rest(spec, ["requestBody", "responses"]);
57
- if (mode === "AzureAsync") {
58
- return (path) => __awaiter(this, void 0, void 0, function* () {
59
- const { flatResponse, rawResponse } = yield sendOperationFn(args, Object.assign(Object.assign(Object.assign({}, restSpec), { responses: getCompositeMappers(responses), httpMethod: "GET" }), (path && { path })));
60
- return getLroStatusFromResponse(rawResponse, flatResponse);
61
- });
62
- }
63
- return (path) => __awaiter(this, void 0, void 0, function* () {
64
- const { flatResponse, rawResponse } = yield sendOperationFn(args, Object.assign(Object.assign(Object.assign({}, restSpec), { responses: responses, httpMethod: "GET" }), (path && { path })));
65
- return getLroStatusFromResponse(rawResponse, flatResponse);
66
- });
67
- }
68
- exports.createPollingMethod = createPollingMethod;
69
- /**
70
- * We need to selectively deserialize our responses, only deserializing if we
71
- * are in a final Lro response, not deserializing any polling non-terminal responses
72
- */
73
- function shouldDeserializeLro(lroResourceLocationConfig) {
74
- let initialOperationInfo;
75
- let isInitialRequest = true;
76
- return (response) => {
77
- if (response.status < 200 || response.status >= 300) {
78
- return true;
79
- }
80
- if (!initialOperationInfo) {
81
- initialOperationInfo = getLroData(response);
82
- }
83
- else {
84
- isInitialRequest = false;
85
- }
86
- if (initialOperationInfo.azureAsyncOperation ||
87
- initialOperationInfo.operationLocation) {
88
- return (!isInitialRequest &&
89
- isAsyncOperationFinalResponse(response, initialOperationInfo, lroResourceLocationConfig));
90
- }
91
- if (initialOperationInfo.location) {
92
- return isLocationFinalResponse(response);
93
- }
94
- if (initialOperationInfo.requestMethod === "PUT") {
95
- return isBodyPollingFinalResponse(response);
96
- }
97
- return true;
98
- };
99
- }
100
- exports.shouldDeserializeLro = shouldDeserializeLro;
101
- function isAsyncOperationFinalResponse(response, initialOperationInfo, lroResourceLocationConfig) {
102
- var _a;
103
- const status = ((_a = response.parsedBody) === null || _a === void 0 ? void 0 : _a.status) || "Succeeded";
104
- if (!exports.terminalStates.includes(status.toLowerCase())) {
105
- return false;
106
- }
107
- if (initialOperationInfo.requestMethod === "DELETE") {
108
- return true;
109
- }
110
- if (initialOperationInfo.requestMethod === "PUT" &&
111
- lroResourceLocationConfig &&
112
- lroResourceLocationConfig.toLowerCase() === "azure-asyncoperation") {
113
- return true;
114
- }
115
- if (initialOperationInfo.requestMethod !== "PUT" &&
116
- !initialOperationInfo.location) {
117
- return true;
118
- }
119
- return false;
120
- }
121
- function isLocationFinalResponse(response) {
122
- return response.status !== 202;
123
- }
124
- function isBodyPollingFinalResponse(response) {
125
- var _a, _b;
126
- const provisioningState = ((_b = (_a = response.parsedBody) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.provisioningState) || "Succeeded";
127
- if (exports.terminalStates.includes(provisioningState.toLowerCase())) {
128
- return true;
129
- }
130
- return false;
131
- }
132
- function getLroData(result) {
133
- return {
134
- azureAsyncOperation: result.headers.get("azure-asyncoperation"),
135
- operationLocation: result.headers.get("operation-location"),
136
- location: result.headers.get("location"),
137
- requestMethod: result.request.method
138
- };
139
- }
140
- function getSpecPath(spec) {
141
- if (spec.path) {
142
- return spec.path;
143
- }
144
- else {
145
- throw Error("Bad spec: request path is not found!");
146
- }
147
- }
148
- exports.getSpecPath = getSpecPath;
149
- class CoreHttpLro {
150
- constructor(sendOperationFn, args, spec, lroResourceLocationConfig, requestPath = spec.path, requestMethod = spec.httpMethod) {
151
- this.sendOperationFn = sendOperationFn;
152
- this.args = args;
153
- this.spec = spec;
154
- this.lroResourceLocationConfig = lroResourceLocationConfig;
155
- this.requestPath = requestPath;
156
- this.requestMethod = requestMethod;
157
- }
158
- sendInitialRequest(initializeState) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- const response = yield this.sendOperationFn(this.args, this.spec);
161
- initializeState(response.rawResponse, response.flatResponse);
162
- return response;
163
- });
164
- }
165
- sendPollRequest(config, path) {
166
- return __awaiter(this, void 0, void 0, function* () {
167
- const getLroStatusFromResponse = lro_1.createGetLroStatusFromResponse(this, config, this.lroResourceLocationConfig);
168
- return createPollingMethod(this.sendOperationFn, getLroStatusFromResponse, this.args, this.spec, config.mode)(path);
169
- });
170
- }
171
- retrieveAzureAsyncResource(path) {
172
- return __awaiter(this, void 0, void 0, function* () {
173
- const updatedArgs = Object.assign({}, this.args);
174
- if (updatedArgs.options) {
175
- updatedArgs.options.shouldDeserialize = true;
176
- }
177
- return createPollingMethod(this.sendOperationFn, (rawResponse, flatResponse) => ({
178
- rawResponse,
179
- flatResponse,
180
- done: true
181
- }), updatedArgs, this.spec)(path);
182
- });
183
- }
184
- }
185
- exports.CoreHttpLro = CoreHttpLro;
186
- //# sourceMappingURL=coreHttpLro.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreHttpLro.js","sourceRoot":"","sources":["../../src/coreHttpLro.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { Project } from "ts-morph";
2
- import { ClientDetails } from "../models/clientDetails";
3
- import { PackageDetails } from "../models/packageDetails";
4
- export declare function generateClientContext(clientDetails: ClientDetails, packageDetails: PackageDetails, project: Project): void;
5
- //# sourceMappingURL=clientContextFileGenerator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientContextFileGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/clientContextFileGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EAMR,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,QAmEjB"}