@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
package/CHANGELOG.md DELETED
@@ -1,56 +0,0 @@
1
- ## 6.0.0-beta.9 (2021-07-19)
2
-
3
- - [BugFix] Fixed the handling of non-string based sealed choices. Please refer [#1159](https://github.com/Azure/autorest.typescript/issues/1159) for more details.
4
- - [Feature] Comments for the operation groups have been updated. Please refer [#291](https://github.com/Azure/autorest.typescript/issues/291) for more details.
5
- - [BugFix] The `defaultValue` of the parameters has been fixed. Please refer [#1120](https://github.com/Azure/autorest.typescript/issues/1120) for more details.
6
- - [BugFix] Generated header interfaces. Please refer [#1145](https://github.com/Azure/autorest.typescript/pull/1145) for more details.
7
-
8
- ## 6.0.0-beta.8 (2021-07-19)
9
-
10
- - [BugFix] Added `SchemaType.SealedChoice` handling of the `valueType`. Please refer [#1103](https://github.com/Azure/autorest.typescript/pull/1103) for more details.
11
- - [Feature] LRO files are moved to `core-lro` package. Please refer [#1099](https://github.com/Azure/autorest.typescript/pull/1099) for more details.
12
-
13
- ## 6.0.0-beta.7 (2021-07-13)
14
-
15
- - [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.
16
-
17
- ## 6.0.0-beta.6 (2021-07-12)
18
-
19
- - [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.
20
- - [Feature] Refactored LRO operations. Please refer [#1043](https://github.com/Azure/autorest.typescript/pull/1043) for further details.
21
- - [BugFix] Changed the file name `LICENSE.txt` to `LICENSE`. Please refer [#1095](https://github.com/Azure/autorest.typescript/pull/1095) for further details.
22
- - [Feature] Created the `CONTRIBUTING.md` file. Please refer [#1096](https://github.com/Azure/autorest.typescript/pull/1096) for further details.
23
- - [BugFix] Changed the `const enum` declarations to `enum` declaration. Please refer [#1097](https://github.com/Azure/autorest.typescript/pull/1097) for further details.
24
- - [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.
25
-
26
- ## 6.0.0-beta.5 (2021-06-29)
27
-
28
- - [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.
29
- - [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.
30
- - [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.
31
- - [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.
32
-
33
- ## 6.0.0-beta.4 (2021-06-22)
34
-
35
- - [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.
36
- - [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.
37
-
38
- ## 1.0.0-beta.3 (2021-06-14)
39
-
40
- - [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.
41
- - [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.
42
-
43
- ## 1.0.0-beta.2 (2021-06-07)
44
-
45
- - [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.
46
- - [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.
47
- - [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.
48
- - [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.
49
-
50
- ## 1.0.0-beta.1 (2021-05-28)
51
-
52
- - 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.
53
- - This first preview includes:
54
- - Core v2 packages are supported by default.
55
- - Several new options such as `licenseHeader`, `generateMetadata`, `useCoreV2`, `hideClients`, etc are supported.
56
- - New and updated methods for Long Running operations.
@@ -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"}
@@ -1,263 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.generateClientContext = void 0;
6
- const nameUtils_1 = require("../utils/nameUtils");
7
- const codemodel_1 = require("@autorest/codemodel");
8
- const parameterUtils_1 = require("./utils/parameterUtils");
9
- const autorestSession_1 = require("../autorestSession");
10
- function generateClientContext(clientDetails, packageDetails, project) {
11
- const { useCoreV2, hideClients, addCredentials, srcPath } = autorestSession_1.getAutorestOptions();
12
- const importedModels = new Set();
13
- const clientParams = clientDetails.parameters.filter(param => param.implementationLocation === codemodel_1.ImplementationLocation.Client);
14
- const hasLro = clientDetails.operationGroups.some(og => og.operations.some(o => o.isLro));
15
- const clientContextClassName = `${clientDetails.className}Context`;
16
- const clientContextFileName = nameUtils_1.normalizeName(clientContextClassName, nameUtils_1.NameType.File);
17
- const sourceFile = project.createSourceFile(`${srcPath}/${clientContextFileName}.ts`, undefined, {
18
- overwrite: true
19
- });
20
- !useCoreV2 && writePackageInfo(sourceFile, packageDetails);
21
- const contextClass = buildClass(sourceFile, clientContextClassName);
22
- if (hideClients) {
23
- contextClass.addJsDoc({
24
- tags: [
25
- {
26
- tagName: "internal"
27
- }
28
- ]
29
- });
30
- }
31
- writeClassProperties(contextClass, clientParams, importedModels);
32
- const classConstructor = buildConstructor(contextClass, {
33
- clientContextClassName,
34
- clientClassName: clientDetails.className,
35
- clientParams,
36
- importedModels
37
- });
38
- writeConstructorBody(classConstructor, {
39
- clientParams,
40
- clientDetails
41
- }, hasLro);
42
- const hasCredentials = !!addCredentials;
43
- writeImports(sourceFile, hasLro, importedModels, hasCredentials);
44
- sourceFile.fixUnusedIdentifiers();
45
- }
46
- exports.generateClientContext = generateClientContext;
47
- function writeImports(sourceFile, hasLro, importedModels, hasCredentials) {
48
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
49
- if (!useCoreV2) {
50
- sourceFile.addImportDeclaration({
51
- namespaceImport: "coreHttp",
52
- moduleSpecifier: "@azure/core-http"
53
- });
54
- }
55
- else {
56
- sourceFile.addImportDeclaration({
57
- namespaceImport: "coreClient",
58
- moduleSpecifier: "@azure/core-client"
59
- });
60
- if (hasCredentials) {
61
- sourceFile.addImportDeclaration({
62
- namespaceImport: "coreAuth",
63
- moduleSpecifier: "@azure/core-auth"
64
- });
65
- }
66
- }
67
- if (importedModels.size) {
68
- sourceFile.addImportDeclaration({
69
- namedImports: [...importedModels],
70
- moduleSpecifier: "./models"
71
- });
72
- }
73
- }
74
- function writePackageInfo(sourceFile, packageDetails) {
75
- sourceFile.addStatements([
76
- `\n\n`,
77
- `const packageName = "${packageDetails.name || ""}";`,
78
- `const packageVersion = "${packageDetails.version || ""}";`
79
- ]);
80
- }
81
- function writeClassProperties(contextClass, clientParams, importedModels) {
82
- const params = clientParams.filter(p => !p.isSynthetic);
83
- params.forEach(({ typeDetails }) => typeDetails.usedModels.forEach(model => importedModels.add(model)));
84
- contextClass.addProperties(params.map(param => {
85
- return {
86
- name: param.name,
87
- type: param.typeDetails.typeName,
88
- hasQuestionToken: !param.required
89
- };
90
- }));
91
- }
92
- function writeConstructorBody(classConstructor, { clientParams, clientDetails }, hasLro) {
93
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
94
- const requiredParams = getRequiredParameters(clientParams);
95
- const addBlankLine = true;
96
- const requiredParameters = getRequiredParamAssignments(requiredParams);
97
- const constantParameters = getConstantClientParamAssignments(clientParams);
98
- classConstructor.addStatements([
99
- writeStatements(getRequiredParamChecks(requiredParams), addBlankLine),
100
- writeStatement(writeDefaultOptions(clientParams.some(p => p.name === "credentials"), hasLro, clientDetails))
101
- ]);
102
- !useCoreV2 &&
103
- classConstructor.addStatements([
104
- writeStatement(getEndpointStatement(clientDetails.endpoint), addBlankLine)
105
- ]);
106
- classConstructor.addStatements([
107
- requiredParameters.length ? "// Parameter assignments" : "",
108
- writeStatements(getRequiredParamAssignments(requiredParams), addBlankLine),
109
- constantParameters.length
110
- ? "// Assigning values to Constant parameters"
111
- : "",
112
- writeStatements(constantParameters, addBlankLine)
113
- ]);
114
- }
115
- const writeStatement = (content, shouldAddBlankLine = false) => (writer) => {
116
- if (content) {
117
- writer.writeLine(content);
118
- shouldAddBlankLine && writer.blankLine();
119
- }
120
- };
121
- const writeStatements = (lines, shouldAddBlankLine = false) => (writer) => {
122
- lines.forEach(line => writer.writeLine(line));
123
- shouldAddBlankLine && writer.blankLine();
124
- };
125
- function getCredentialScopesValue(credentialScopes) {
126
- if (Array.isArray(credentialScopes)) {
127
- return `[${credentialScopes.map(scope => `"${scope}"`).join()}]`;
128
- }
129
- else if (typeof credentialScopes === "string") {
130
- return `"${credentialScopes}"`;
131
- }
132
- return credentialScopes;
133
- }
134
- function writeDefaultOptions(hasCredentials, hasLro, clientDetails) {
135
- const { useCoreV2, credentialScopes, packageDetails } = autorestSession_1.getAutorestOptions();
136
- const credentialScopesValues = getCredentialScopesValue(credentialScopes);
137
- const addScopes = credentialScopes
138
- ? `if(!options.credentialScopes) {
139
- options.credentialScopes = ${credentialScopesValues}
140
- }`
141
- : "";
142
- const defaults = !hasCredentials
143
- ? `const defaults: ${clientDetails.className}OptionalParams = {
144
- requestContentType: "application/json; charset=utf-8"
145
- };`
146
- : `const defaults: ${clientDetails.className}OptionalParams = {
147
- requestContentType: "application/json; charset=utf-8",
148
- credential: credentials
149
- };`;
150
- return !useCoreV2
151
- ? `// Initializing default values for options
152
- if (!options) {
153
- options = {};
154
- }
155
-
156
- const defaultUserAgent = \`azsdk-js-\${packageName.replace("@azure/","")}/\${packageVersion} \${coreHttp.getDefaultUserAgentValue()}\`;
157
-
158
- ${addScopes}
159
-
160
- super(${hasCredentials ? "credentials" : `undefined`}, {
161
- ...options,
162
- userAgent: options.userAgent
163
- ? \`\${options.userAgent} \${defaultUserAgent}\`
164
- : \`\${defaultUserAgent}\`
165
- });
166
-
167
- this.requestContentType = "application/json; charset=utf-8";
168
-
169
- `
170
- : `// Initializing default values for options
171
- if (!options) {
172
- options = {};
173
- }
174
- ${defaults}
175
-
176
- const packageDetails = \`azsdk-js-${packageDetails.name.replace("@azure/", "")}/${packageDetails.version}\`;
177
- const userAgentPrefix =
178
- options.userAgentOptions && options.userAgentOptions.userAgentPrefix
179
- ? \`\${options.userAgentOptions.userAgentPrefix} \${packageDetails}\`
180
- : \`\${packageDetails}\`;
181
-
182
- ${addScopes}
183
- const optionsWithDefaults = {
184
- ...defaults,
185
- ...options,
186
- userAgentOptions: {
187
- userAgentPrefix
188
- },
189
- baseUri: ${getEndpoint(clientDetails.endpoint)}
190
- };
191
- super(optionsWithDefaults);
192
- `;
193
- }
194
- function buildClass(sourceFile, clientContextClassName) {
195
- const { useCoreV2 } = autorestSession_1.getAutorestOptions();
196
- return sourceFile.addClass({
197
- name: clientContextClassName,
198
- extends: !useCoreV2 ? "coreHttp.ServiceClient" : "coreClient.ServiceClient",
199
- isExported: true
200
- });
201
- }
202
- function buildConstructor(contextClass, { clientContextClassName, clientParams, clientClassName, importedModels }) {
203
- const requiredParams = getRequiredParameters(clientParams);
204
- const hasClientOptionalParams = clientParams.some(p => !p.required);
205
- const docs = [
206
- `Initializes a new instance of the ${clientContextClassName} class.`,
207
- ...parameterUtils_1.formatJsDocParam(requiredParams),
208
- `@param options The parameter options`
209
- ]
210
- .filter(d => !!d)
211
- .join("\n");
212
- let clientOptionsParameterType = "coreHttp.ServiceClientOptions";
213
- if (hasClientOptionalParams) {
214
- const typeName = `${clientClassName}OptionalParams`;
215
- importedModels.add(typeName);
216
- clientOptionsParameterType = typeName;
217
- }
218
- requiredParams.forEach(({ typeDetails }) => typeDetails.usedModels.forEach(model => importedModels.add(model)));
219
- return contextClass.addConstructor({
220
- docs: [docs],
221
- parameters: [
222
- ...requiredParams.map(p => ({
223
- name: p.name,
224
- type: p.typeDetails.typeName
225
- })),
226
- {
227
- name: "options",
228
- hasQuestionToken: true,
229
- type: clientOptionsParameterType
230
- }
231
- ]
232
- });
233
- }
234
- function getRequiredParameters(parameters) {
235
- /**
236
- * Getting parameters that are marked as required, and also don't have a defaultValue.
237
- * Constants are also exluded since they have defined value
238
- */
239
- return parameters.filter(p => p.required && p.schemaType !== codemodel_1.SchemaType.Constant && !p.defaultValue);
240
- }
241
- function getEndpointStatement({ endpoint }) {
242
- return `this.baseUri = options.endpoint ${endpoint ? ` || "${endpoint}"` : ""};`;
243
- }
244
- function getConstantClientParamAssignments(clientParameters) {
245
- return clientParameters
246
- .filter(p => !!p.defaultValue || p.schemaType === codemodel_1.SchemaType.Constant)
247
- .map(({ name, defaultValue }) => `this.${name} = options.${name} || ${defaultValue}`);
248
- }
249
- function getRequiredParamChecks(requiredParameters) {
250
- return requiredParameters.map(({ name }) => `if(${name} === undefined) {
251
- throw new Error("'${name}' cannot be null");
252
- }`);
253
- }
254
- function getRequiredParamAssignments(requiredParameters) {
255
- const disallowedClientParameters = ["credentials"];
256
- return requiredParameters
257
- .filter(({ name }) => !disallowedClientParameters.includes(name))
258
- .map(({ name }) => `this.${name} = ${name};`);
259
- }
260
- function getEndpoint({ endpoint }) {
261
- return `options.endpoint ${endpoint ? ` || "${endpoint}"` : ""}`;
262
- }
263
- //# sourceMappingURL=clientContextFileGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clientContextFileGenerator.js","sourceRoot":"","sources":["../../../src/generators/clientContextFileGenerator.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAUlC,kDAA6D;AAI7D,mDAAyE;AAEzE,2DAA0D;AAC1D,wDAAwD;AAExD,SAAgB,qBAAqB,CACnC,aAA4B,EAC5B,cAA8B,EAC9B,OAAgB;IAEhB,MAAM,EACJ,SAAS,EACT,WAAW,EACX,cAAc,EACd,OAAO,EACR,GAAG,oCAAkB,EAAE,CAAC;IAEzB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,YAAY,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAClD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,KAAK,kCAAsB,CAAC,MAAM,CACxE,CAAC;IAEF,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CACrD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,aAAa,CAAC,SAAS,SAAS,CAAC;IACnE,MAAM,qBAAqB,GAAG,yBAAa,CACzC,sBAAsB,EACtB,oBAAQ,CAAC,IAAI,CACd,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CACzC,GAAG,OAAO,IAAI,qBAAqB,KAAK,EACxC,SAAS,EACT;QACE,SAAS,EAAE,IAAI;KAChB,CACF,CAAC;IAEF,CAAC,SAAS,IAAI,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAEpE,IAAI,WAAW,EAAE;QACf,YAAY,CAAC,QAAQ,CAAC;YACpB,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,UAAU;iBACpB;aACF;SACF,CAAC,CAAC;KACJ;IAED,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEjE,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,EAAE;QACtD,sBAAsB;QACtB,eAAe,EAAE,aAAa,CAAC,SAAS;QACxC,YAAY;QACZ,cAAc;KACf,CAAC,CAAC;IAEH,oBAAoB,CAClB,gBAAgB,EAChB;QACE,YAAY;QACZ,aAAa;KACd,EACD,MAAM,CACP,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;IACxC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACjE,UAAU,CAAC,oBAAoB,EAAE,CAAC;AACpC,CAAC;AAtED,sDAsEC;AAOD,SAAS,YAAY,CACnB,UAAsB,EACtB,MAAe,EACf,cAA2B,EAC3B,cAAuB;IAEvB,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE3C,IAAI,CAAC,SAAS,EAAE;QACd,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,UAAU;YAC3B,eAAe,EAAE,kBAAkB;SACpC,CAAC,CAAC;KACJ;SAAM;QACL,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,YAAY;YAC7B,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QACH,IAAI,cAAc,EAAE;YAClB,UAAU,CAAC,oBAAoB,CAAC;gBAC9B,eAAe,EAAE,UAAU;gBAC3B,eAAe,EAAE,kBAAkB;aACpC,CAAC,CAAC;SACJ;KACF;IAED,IAAI,cAAc,CAAC,IAAI,EAAE;QACvB,UAAU,CAAC,oBAAoB,CAAC;YAC9B,YAAY,EAAE,CAAC,GAAG,cAAc,CAAC;YACjC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;KACJ;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAsB,EACtB,cAA8B;IAE9B,UAAU,CAAC,aAAa,CAAC;QACvB,MAAM;QACN,wBAAwB,cAAc,CAAC,IAAI,IAAI,EAAE,IAAI;QACrD,2BAA2B,cAAc,CAAC,OAAO,IAAI,EAAE,IAAI;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAA8B,EAC9B,YAAgC,EAChC,cAA2B;IAE3B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACjC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;IACF,YAAY,CAAC,aAAa,CACxB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACjB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ;YAChC,gBAAgB,EAAE,CAAC,KAAK,CAAC,QAAQ;SACF,CAAC;IACpC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,gBAAwC,EACxC,EAAE,YAAY,EAAE,aAAa,EAAkC,EAC/D,MAAe;IAEf,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE3C,MAAM,cAAc,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,kBAAkB,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IAC3E,gBAAgB,CAAC,aAAa,CAAC;QAC7B,eAAe,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;QACrE,cAAc,CACZ,mBAAmB,CACjB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAChD,MAAM,EACN,aAAa,CACd,CACF;KACF,CAAC,CAAC;IAEH,CAAC,SAAS;QACR,gBAAgB,CAAC,aAAa,CAAC;YAC7B,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;SAC3E,CAAC,CAAC;IAEL,gBAAgB,CAAC,aAAa,CAAC;QAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE;QAC3D,eAAe,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;QAC1E,kBAAkB,CAAC,MAAM;YACvB,CAAC,CAAC,4CAA4C;YAC9C,CAAC,CAAC,EAAE;QACN,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAE,CAAC,CACtE,MAAuB,EACvB,EAAE;IACF,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1B,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;KAC1C;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAe,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAE,CAAC,CACvE,MAAuB,EACvB,EAAE;IACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,kBAAkB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,SAAS,wBAAwB,CAAC,gBAAoC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACnC,OAAO,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;KAClE;SAAM,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QAC/C,OAAO,IAAI,gBAAgB,GAAG,CAAC;KAChC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,mBAAmB,CAC1B,cAAuB,EACvB,MAAe,EACf,aAA4B;IAE5B,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE7E,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,gBAAgB;QAChC,CAAC,CAAC;iCAC2B,sBAAsB;IACnD;QACA,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,QAAQ,GAAG,CAAC,cAAc;QAC9B,CAAC,CAAC,mBAAmB,aAAa,CAAC,SAAS;;KAE3C;QACD,CAAC,CAAC,mBAAmB,aAAa,CAAC,SAAS;;;KAG3C,CAAC;IAEJ,OAAO,CAAC,SAAS;QACf,CAAC,CAAC;;;;;;;IAOF,SAAS;;UAEH,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW;;;;;;;;;GASnD;QACC,CAAC,CAAC;;;;IAIF,QAAQ;;sCAE0B,cAAc,CAAC,IAAI,CAAC,OAAO,CAC7D,SAAS,EACT,EAAE,CACH,IAAI,cAAc,CAAC,OAAO;;;;;;IAMzB,SAAS;;;;;;;eAOE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC;;;GAG/C,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,UAAsB,EAAE,sBAA8B;IACxE,MAAM,EAAE,SAAS,EAAE,GAAG,oCAAkB,EAAE,CAAC;IAE3C,OAAO,UAAU,CAAC,QAAQ,CAAC;QACzB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B;QAC3E,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC;AASD,SAAS,gBAAgB,CACvB,YAA8B,EAC9B,EACE,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,cAAc,EACQ;IAExB,MAAM,cAAc,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,uBAAuB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG;QACX,qCAAqC,sBAAsB,SAAS;QACpE,GAAG,iCAAgB,CAAC,cAAc,CAAC;QACnC,sCAAsC;KACvC;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,IAAI,0BAA0B,GAAG,+BAA+B,CAAC;IAEjE,IAAI,uBAAuB,EAAE;QAC3B,MAAM,QAAQ,GAAG,GAAG,eAAe,gBAAgB,CAAC;QACpD,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,0BAA0B,GAAG,QAAQ,CAAC;KACvC;IAED,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACzC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;IAEF,OAAO,YAAY,CAAC,cAAc,CAAC;QACjC,IAAI,EAAE,CAAC,IAAI,CAAC;QACZ,UAAU,EAAE;YACV,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ;aAC7B,CAAC,CAAC;YACH;gBACE,IAAI,EAAE,SAAS;gBACf,gBAAgB,EAAE,IAAI;gBACtB,IAAI,EAAE,0BAA0B;aACjC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,UAA8B;IAC3D;;;OAGG;IACH,OAAO,UAAU,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,sBAAU,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAmB;IACzD,OAAO,mCACL,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC,EACnC,GAAG,CAAC;AACN,CAAC;AAED,SAAS,iCAAiC,CACxC,gBAAoC;IAEpC,OAAO,gBAAgB;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,UAAU,KAAK,sBAAU,CAAC,QAAQ,CAAC;SACrE,GAAG,CACF,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CACzB,QAAQ,IAAI,cAAc,IAAI,QAAQ,YAAY,EAAE,CACvD,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,kBAAsC;IACpE,OAAO,kBAAkB,CAAC,GAAG,CAC3B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI;wBACJ,IAAI;IACxB,CACD,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,kBAAsC;IACzE,MAAM,0BAA0B,GAAG,CAAC,aAAa,CAAC,CAAC;IACnD,OAAO,kBAAkB;SACtB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,QAAQ,EAAmB;IAChD,OAAO,oBAAoB,QAAQ,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACnE,CAAC"}