@azure-tools/typespec-ts 0.54.0 → 0.55.0-dev.6

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 (521) hide show
  1. package/README.md +0 -4
  2. package/dist/src/contextManager.d.ts +5 -5
  3. package/dist/src/contextManager.d.ts.map +1 -1
  4. package/dist/src/contextManager.js +3 -3
  5. package/dist/src/contextManager.js.map +1 -1
  6. package/dist/src/framework/declaration.d.ts +1 -1
  7. package/dist/src/framework/declaration.d.ts.map +1 -1
  8. package/dist/src/framework/declaration.js +2 -4
  9. package/dist/src/framework/declaration.js.map +1 -1
  10. package/dist/src/framework/dependency.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/binder.d.ts +1 -1
  12. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  13. package/dist/src/framework/hooks/binder.js +31 -40
  14. package/dist/src/framework/hooks/binder.js.map +1 -1
  15. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  16. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  17. package/dist/src/framework/hooks/sdkTypes.js +8 -12
  18. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  19. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  20. package/dist/src/framework/hooks/useDependencies.js +1 -1
  21. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  22. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  23. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  24. package/dist/src/framework/load-static-helpers.js +17 -31
  25. package/dist/src/framework/load-static-helpers.js.map +1 -1
  26. package/dist/src/framework/reference.d.ts.map +1 -1
  27. package/dist/src/framework/reference.js +2 -2
  28. package/dist/src/framework/reference.js.map +1 -1
  29. package/dist/src/framework/sample.js +8 -8
  30. package/dist/src/framework/sample.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +103 -92
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/lib.d.ts +1 -1
  36. package/dist/src/lib.d.ts.map +1 -1
  37. package/dist/src/lib.js +140 -140
  38. package/dist/src/lib.js.map +1 -1
  39. package/dist/src/metaTree.d.ts +1 -1
  40. package/dist/src/metaTree.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  42. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  43. package/dist/src/modular/buildClassicalClient.js +60 -74
  44. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  45. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  46. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  47. package/dist/src/modular/buildClassicalOperationGroups.js +8 -10
  48. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  49. package/dist/src/modular/buildClientContext.d.ts +2 -2
  50. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  51. package/dist/src/modular/buildClientContext.js +31 -38
  52. package/dist/src/modular/buildClientContext.js.map +1 -1
  53. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  54. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  55. package/dist/src/modular/buildModularOptions.js +5 -6
  56. package/dist/src/modular/buildModularOptions.js.map +1 -1
  57. package/dist/src/modular/buildOperations.d.ts +3 -3
  58. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  59. package/dist/src/modular/buildOperations.js +23 -25
  60. package/dist/src/modular/buildOperations.js.map +1 -1
  61. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  62. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  63. package/dist/src/modular/buildProjectFiles.js +8 -11
  64. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  65. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  66. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  67. package/dist/src/modular/buildRestorePoller.js +12 -13
  68. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  69. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  70. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  71. package/dist/src/modular/buildRootIndex.js +36 -50
  72. package/dist/src/modular/buildRootIndex.js.map +1 -1
  73. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  74. package/dist/src/modular/buildSubpathIndex.js +9 -18
  75. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  76. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  77. package/dist/src/modular/emitLoggerFile.js +4 -4
  78. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  79. package/dist/src/modular/emitModels.d.ts +1 -1
  80. package/dist/src/modular/emitModels.d.ts.map +1 -1
  81. package/dist/src/modular/emitModels.js +81 -113
  82. package/dist/src/modular/emitModels.js.map +1 -1
  83. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  84. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  85. package/dist/src/modular/emitModelsOptions.js +7 -8
  86. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  87. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  88. package/dist/src/modular/emitSamples.js +69 -77
  89. package/dist/src/modular/emitSamples.js.map +1 -1
  90. package/dist/src/modular/emitTests.d.ts.map +1 -1
  91. package/dist/src/modular/emitTests.js +13 -18
  92. package/dist/src/modular/emitTests.js.map +1 -1
  93. package/dist/src/modular/external-dependencies.js +54 -54
  94. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  95. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  96. package/dist/src/modular/helpers/classicalOperationHelpers.js +59 -68
  97. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  98. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  99. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  100. package/dist/src/modular/helpers/clientHelpers.js +31 -54
  101. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  102. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  103. package/dist/src/modular/helpers/clientOptionHelpers.js +1 -1
  104. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  105. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  106. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  107. package/dist/src/modular/helpers/exampleValueHelpers.js +72 -84
  108. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  109. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  110. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  111. package/dist/src/modular/helpers/namingHelpers.js +7 -10
  112. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  113. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  114. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  115. package/dist/src/modular/helpers/operationHelpers.js +204 -288
  116. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  117. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  118. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  119. package/dist/src/modular/helpers/typeHelpers.js +4 -6
  120. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  121. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  122. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  123. package/dist/src/modular/serialization/buildDeserializerFunction.js +58 -67
  124. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  125. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  126. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  127. package/dist/src/modular/serialization/buildSerializerFunction.js +65 -75
  128. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  129. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  130. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  131. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +73 -90
  132. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  133. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  134. package/dist/src/modular/serialization/serializeUtils.js +25 -33
  135. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  136. package/dist/src/modular/static-helpers-metadata.js +60 -60
  137. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  138. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  139. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  140. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  141. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -2
  142. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  143. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  144. package/dist/src/modular/type-expressions/get-model-expression.js +10 -13
  145. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  146. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  147. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  148. package/dist/src/modular/type-expressions/get-nullable-expression.js +2 -3
  149. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  150. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  151. package/dist/src/modular/type-expressions/get-type-expression.js +5 -11
  152. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  153. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  154. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  155. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  156. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  157. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  158. package/dist/src/rlc-common/buildClient.js +67 -89
  159. package/dist/src/rlc-common/buildClient.js.map +1 -1
  160. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  161. package/dist/src/rlc-common/buildClientDefinitions.js +28 -45
  162. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  163. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  164. package/dist/src/rlc-common/buildIndexFile.js +59 -60
  165. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  166. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  167. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +37 -38
  168. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  169. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  170. package/dist/src/rlc-common/buildLogger.js +4 -5
  171. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  172. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  173. package/dist/src/rlc-common/buildMethodShortcuts.js +4 -4
  174. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  175. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  176. package/dist/src/rlc-common/buildObjectTypes.js +57 -96
  177. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  178. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  179. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  180. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  181. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  182. package/dist/src/rlc-common/buildParameterTypes.js +71 -61
  183. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  184. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  185. package/dist/src/rlc-common/buildPollingHelper.js +9 -10
  186. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  187. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  188. package/dist/src/rlc-common/buildResponseTypes.js +23 -27
  189. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  190. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  191. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  192. package/dist/src/rlc-common/buildSamples.js +2 -2
  193. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  194. package/dist/src/rlc-common/buildSchemaType.js +31 -13
  195. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  196. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  197. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  198. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  199. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  200. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  201. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  202. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  203. package/dist/src/rlc-common/helpers/apiVersionUtil.js +6 -8
  204. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  205. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  206. package/dist/src/rlc-common/helpers/importsUtil.js +32 -37
  207. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  208. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  209. package/dist/src/rlc-common/helpers/nameConstructors.js +2 -4
  210. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  211. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  212. package/dist/src/rlc-common/helpers/nameUtils.js +17 -23
  213. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  214. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  215. package/dist/src/rlc-common/helpers/operationHelpers.js +16 -31
  216. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  217. package/dist/src/rlc-common/helpers/packageUtil.js +3 -6
  218. package/dist/src/rlc-common/helpers/packageUtil.js.map +1 -1
  219. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  220. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  221. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  222. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  223. package/dist/src/rlc-common/helpers/schemaHelpers.js +3 -7
  224. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  225. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  226. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  227. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  228. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  229. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  230. package/dist/src/rlc-common/helpers/typeUtil.js +4 -9
  231. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  232. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +7 -11
  233. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  234. package/dist/src/rlc-common/index.d.ts +28 -28
  235. package/dist/src/rlc-common/index.d.ts.map +1 -1
  236. package/dist/src/rlc-common/index.js +28 -28
  237. package/dist/src/rlc-common/index.js.map +1 -1
  238. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  239. package/dist/src/rlc-common/interfaces.js.map +1 -1
  240. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  241. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +14 -15
  242. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  243. package/dist/src/rlc-common/metadata/buildChangelogFile.js +2 -3
  244. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +1 -1
  245. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  246. package/dist/src/rlc-common/metadata/buildESLintConfig.js +5 -8
  247. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  248. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  249. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  250. package/dist/src/rlc-common/metadata/buildPackageFile.js +33 -37
  251. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  252. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildReadmeFile.js +31 -39
  254. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  255. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  256. package/dist/src/rlc-common/metadata/buildRollupConfig.js +4 -6
  257. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  258. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  259. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +3 -5
  260. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  261. package/dist/src/rlc-common/metadata/buildTestConfig.js +11 -12
  262. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +1 -1
  263. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  264. package/dist/src/rlc-common/metadata/buildTsConfig.js +28 -28
  265. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  266. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  267. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -5
  268. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  269. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  270. package/dist/src/rlc-common/metadata/buildWarpConfig.js +4 -5
  271. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  272. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  274. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +14 -14
  275. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  276. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  277. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +24 -29
  278. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  279. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  280. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  281. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  282. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  283. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  284. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  285. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +28 -31
  286. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  287. package/dist/src/rlc-common/metadata/utils.js +1 -2
  288. package/dist/src/rlc-common/metadata/utils.js.map +1 -1
  289. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  290. package/dist/src/rlc-common/test/buildRecordedClient.js +4 -5
  291. package/dist/src/rlc-common/test/buildRecordedClient.js.map +1 -1
  292. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  293. package/dist/src/rlc-common/test/buildSampleTest.js +3 -4
  294. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  295. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  296. package/dist/src/rlc-common/test/buildSnippets.js +7 -10
  297. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  298. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  299. package/dist/src/rlc-common/transformSampleGroups.js +41 -45
  300. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  301. package/dist/src/testing/index.d.ts.map +1 -1
  302. package/dist/src/testing/index.js +1 -1
  303. package/dist/src/testing/index.js.map +1 -1
  304. package/dist/src/transform/transform.d.ts +1 -1
  305. package/dist/src/transform/transform.d.ts.map +1 -1
  306. package/dist/src/transform/transform.js +28 -27
  307. package/dist/src/transform/transform.js.map +1 -1
  308. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  309. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  310. package/dist/src/transform/transformApiVersionInfo.js +12 -14
  311. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  312. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  313. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  314. package/dist/src/transform/transformHelperFunctionDetails.js +11 -14
  315. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  316. package/dist/src/transform/transformParameters.d.ts +2 -2
  317. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  318. package/dist/src/transform/transformParameters.js +32 -45
  319. package/dist/src/transform/transformParameters.js.map +1 -1
  320. package/dist/src/transform/transformPaths.d.ts +1 -1
  321. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  322. package/dist/src/transform/transformPaths.js +19 -23
  323. package/dist/src/transform/transformPaths.js.map +1 -1
  324. package/dist/src/transform/transformResponses.d.ts +1 -1
  325. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  326. package/dist/src/transform/transformResponses.js +21 -25
  327. package/dist/src/transform/transformResponses.js.map +1 -1
  328. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  329. package/dist/src/transform/transformSchemas.js +21 -32
  330. package/dist/src/transform/transformSchemas.js.map +1 -1
  331. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  332. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  333. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  334. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  335. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  336. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  337. package/dist/src/transform/transfromRLCOptions.js +28 -39
  338. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  339. package/dist/src/utils/clientUtils.d.ts +1 -1
  340. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  341. package/dist/src/utils/clientUtils.js +15 -23
  342. package/dist/src/utils/clientUtils.js.map +1 -1
  343. package/dist/src/utils/credentialUtils.d.ts +1 -1
  344. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  345. package/dist/src/utils/credentialUtils.js +4 -5
  346. package/dist/src/utils/credentialUtils.js.map +1 -1
  347. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  348. package/dist/src/utils/crossLanguageDef.js +11 -15
  349. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  350. package/dist/src/utils/emitUtil.d.ts +1 -1
  351. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  352. package/dist/src/utils/emitUtil.js +5 -7
  353. package/dist/src/utils/emitUtil.js.map +1 -1
  354. package/dist/src/utils/fileSystemUtils.d.ts +2 -0
  355. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  356. package/dist/src/utils/fileSystemUtils.js +26 -7
  357. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  358. package/dist/src/utils/importHelper.d.ts.map +1 -1
  359. package/dist/src/utils/importHelper.js +3 -6
  360. package/dist/src/utils/importHelper.js.map +1 -1
  361. package/dist/src/utils/interfaces.d.ts +1 -1
  362. package/dist/src/utils/interfaces.d.ts.map +1 -1
  363. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  364. package/dist/src/utils/mediaTypes.js +7 -19
  365. package/dist/src/utils/mediaTypes.js.map +1 -1
  366. package/dist/src/utils/modelUtils.d.ts +5 -5
  367. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  368. package/dist/src/utils/modelUtils.js +168 -257
  369. package/dist/src/utils/modelUtils.js.map +1 -1
  370. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  371. package/dist/src/utils/namespaceUtils.js +6 -7
  372. package/dist/src/utils/namespaceUtils.js.map +1 -1
  373. package/dist/src/utils/operationUtil.d.ts +1 -1
  374. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  375. package/dist/src/utils/operationUtil.js +60 -81
  376. package/dist/src/utils/operationUtil.js.map +1 -1
  377. package/dist/src/utils/parameterUtils.d.ts +1 -1
  378. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  379. package/dist/src/utils/parameterUtils.js +26 -33
  380. package/dist/src/utils/parameterUtils.js.map +1 -1
  381. package/dist/src/utils/resolve-project-root.js +2 -2
  382. package/dist/src/utils/resolve-project-root.js.map +1 -1
  383. package/dist/tsconfig.tsbuildinfo +1 -1
  384. package/package.json +38 -45
  385. package/src/contextManager.ts +6 -9
  386. package/src/framework/declaration.ts +18 -28
  387. package/src/framework/dependency.ts +1 -2
  388. package/src/framework/hooks/binder.ts +47 -120
  389. package/src/framework/hooks/sdkTypes.ts +27 -54
  390. package/src/framework/hooks/useDependencies.ts +2 -4
  391. package/src/framework/load-static-helpers.ts +28 -51
  392. package/src/framework/reference.ts +2 -5
  393. package/src/framework/sample.ts +9 -9
  394. package/src/index.ts +145 -185
  395. package/src/lib.ts +143 -158
  396. package/src/metaTree.ts +1 -1
  397. package/src/modular/buildClassicalClient.ts +83 -160
  398. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  399. package/src/modular/buildClientContext.ts +54 -83
  400. package/src/modular/buildModularOptions.ts +4 -5
  401. package/src/modular/buildOperations.ts +46 -73
  402. package/src/modular/buildProjectFiles.ts +18 -47
  403. package/src/modular/buildRestorePoller.ts +27 -46
  404. package/src/modular/buildRootIndex.ts +86 -160
  405. package/src/modular/buildSubpathIndex.ts +35 -58
  406. package/src/modular/emitLoggerFile.ts +4 -9
  407. package/src/modular/emitModels.ts +136 -266
  408. package/src/modular/emitModelsOptions.ts +10 -16
  409. package/src/modular/emitSamples.ts +92 -180
  410. package/src/modular/emitTests.ts +28 -61
  411. package/src/modular/external-dependencies.ts +54 -54
  412. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  413. package/src/modular/helpers/clientHelpers.ts +41 -88
  414. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  415. package/src/modular/helpers/exampleValueHelpers.ts +99 -215
  416. package/src/modular/helpers/namingHelpers.ts +12 -28
  417. package/src/modular/helpers/operationHelpers.ts +430 -757
  418. package/src/modular/helpers/typeHelpers.ts +11 -22
  419. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  420. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  421. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  422. package/src/modular/serialization/serializeUtils.ts +12 -22
  423. package/src/modular/static/rollup.test.config.js +11 -14
  424. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  425. package/src/modular/static-helpers-metadata.ts +60 -60
  426. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  427. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  428. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  429. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  430. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  431. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  432. package/src/modular/type-expressions/utils.ts +1 -1
  433. package/src/rlc-common/buildClient.ts +70 -141
  434. package/src/rlc-common/buildClientDefinitions.ts +44 -87
  435. package/src/rlc-common/buildIndexFile.ts +78 -78
  436. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  437. package/src/rlc-common/buildLogger.ts +7 -7
  438. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  439. package/src/rlc-common/buildObjectTypes.ts +79 -156
  440. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  441. package/src/rlc-common/buildParameterTypes.ts +116 -137
  442. package/src/rlc-common/buildPollingHelper.ts +7 -7
  443. package/src/rlc-common/buildResponseTypes.ts +34 -57
  444. package/src/rlc-common/buildSamples.ts +3 -3
  445. package/src/rlc-common/buildSchemaType.ts +37 -29
  446. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  447. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  448. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  449. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  450. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  451. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  452. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  453. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  454. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  455. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  456. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  457. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  458. package/src/rlc-common/index.ts +28 -28
  459. package/src/rlc-common/interfaces.ts +3 -11
  460. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  461. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  462. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  463. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  464. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  465. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  466. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  467. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  468. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  469. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  470. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  471. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  472. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  473. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  474. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  475. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  476. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  477. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  478. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  479. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  480. package/src/rlc-common/test/buildSnippets.ts +6 -12
  481. package/src/rlc-common/transformSampleGroups.ts +54 -105
  482. package/src/testing/index.ts +2 -5
  483. package/src/transform/transform.ts +22 -34
  484. package/src/transform/transformApiVersionInfo.ts +17 -30
  485. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  486. package/src/transform/transformParameters.ts +55 -105
  487. package/src/transform/transformPaths.ts +26 -43
  488. package/src/transform/transformResponses.ts +26 -33
  489. package/src/transform/transformSchemas.ts +15 -33
  490. package/src/transform/transformTelemetryInfo.ts +8 -14
  491. package/src/transform/transfromRLCOptions.ts +53 -116
  492. package/src/utils/clientUtils.ts +22 -41
  493. package/src/utils/credentialUtils.ts +8 -19
  494. package/src/utils/crossLanguageDef.ts +15 -34
  495. package/src/utils/emitUtil.ts +11 -17
  496. package/src/utils/fileSystemUtils.ts +30 -8
  497. package/src/utils/importHelper.ts +5 -10
  498. package/src/utils/interfaces.ts +1 -1
  499. package/src/utils/mediaTypes.ts +13 -34
  500. package/src/utils/modelUtils.ts +175 -384
  501. package/src/utils/namespaceUtils.ts +8 -24
  502. package/src/utils/operationUtil.ts +98 -190
  503. package/src/utils/parameterUtils.ts +31 -54
  504. package/src/utils/resolve-project-root.ts +3 -3
  505. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  506. package/static/static-helpers/multipartHelpers.ts +3 -3
  507. package/static/static-helpers/pagingHelpers.ts +28 -63
  508. package/static/static-helpers/pollingHelpers.ts +16 -29
  509. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  510. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  511. package/static/static-helpers/serialization/get-binary-response-browser.mts +3 -1
  512. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  513. package/static/static-helpers/serialization/get-binary-stream-response-browser.mts +1 -3
  514. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  515. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  516. package/static/static-helpers/serialization/serializers.ts +4 -7
  517. package/static/static-helpers/serialization/xml-helpers.ts +42 -90
  518. package/static/static-helpers/simplePollerHelpers.ts +10 -19
  519. package/static/static-helpers/storageCompatResponse.ts +10 -27
  520. package/static/static-helpers/urlTemplate.ts +4 -7
  521. package/static/test-helpers/recordedClient.ts +5 -10
@@ -1,22 +1,19 @@
1
+ import { getHttpOperationWithCache, SdkClient } from "@azure-tools/typespec-client-generator-core";
1
2
  import { HelperFunctionDetails, PackageFlavor } from "../rlc-common/index.js";
2
- import {
3
- getHttpOperationWithCache,
4
- SdkClient
5
- } from "@azure-tools/typespec-client-generator-core";
3
+ import { listOperationsUnderRLCClient } from "../utils/clientUtils.js";
6
4
  import { SdkContext } from "../utils/interfaces.js";
5
+ import { getCollectionFormat } from "../utils/modelUtils.js";
7
6
  import {
8
7
  extractPageDetails,
9
8
  getSpecialSerializeInfo,
10
9
  hasPagingOperations,
11
- hasPollingOperations
10
+ hasPollingOperations,
12
11
  } from "../utils/operationUtil.js";
13
- import { getCollectionFormat } from "../utils/modelUtils.js";
14
- import { listOperationsUnderRLCClient } from "../utils/clientUtils.js";
15
12
 
16
13
  export function transformHelperFunctionDetails(
17
14
  client: SdkClient,
18
15
  dpgContext: SdkContext,
19
- flavor?: PackageFlavor
16
+ flavor?: PackageFlavor,
20
17
  ): HelperFunctionDetails {
21
18
  const serializeInfo = extractSpecialSerializeInfo(client, dpgContext);
22
19
  // Disable paging and long running for non-Azure clients.
@@ -24,18 +21,18 @@ export function transformHelperFunctionDetails(
24
21
  return {
25
22
  hasLongRunning: false,
26
23
  hasPaging: false,
27
- ...serializeInfo
24
+ ...serializeInfo,
28
25
  };
29
26
  }
30
27
 
31
28
  const annotationDetails = {
32
- hasLongRunning: hasPollingOperations(client, dpgContext)
29
+ hasLongRunning: hasPollingOperations(client, dpgContext),
33
30
  };
34
31
  const details = extractClientPageDetails(client, dpgContext);
35
32
  return {
36
33
  ...(details ?? {}),
37
34
  ...annotationDetails,
38
- ...serializeInfo
35
+ ...serializeInfo,
39
36
  };
40
37
  }
41
38
 
@@ -65,36 +62,27 @@ function extractClientPageDetails(client: SdkClient, dpgContext: SdkContext) {
65
62
  pageDetails: {
66
63
  itemNames: [...itemNames],
67
64
  nextLinkNames: [...nextLinks],
68
- isComplexPaging: nextLinks.size > 1 || itemNames.size > 1
69
- }
65
+ isComplexPaging: nextLinks.size > 1 || itemNames.size > 1,
66
+ },
70
67
  };
71
68
  }
72
69
 
73
- function extractSpecialSerializeInfo(
74
- client: SdkClient,
75
- dpgContext: SdkContext
76
- ) {
70
+ function extractSpecialSerializeInfo(client: SdkClient, dpgContext: SdkContext) {
77
71
  let hasMultiCollection = false;
78
72
  let hasCsvCollection = false;
79
73
  for (const op of listOperationsUnderRLCClient(client)) {
80
74
  const route = getHttpOperationWithCache(dpgContext, op);
81
75
  route.parameters.parameters.forEach((parameter) => {
82
76
  const format = getCollectionFormat(dpgContext, parameter as any);
83
- const serializeInfo = getSpecialSerializeInfo(
84
- dpgContext,
85
- parameter.type,
86
- format!
87
- );
77
+ const serializeInfo = getSpecialSerializeInfo(dpgContext, parameter.type, format!);
88
78
  hasMultiCollection = hasMultiCollection
89
79
  ? hasMultiCollection
90
80
  : serializeInfo.hasMultiCollection;
91
- hasCsvCollection = hasCsvCollection
92
- ? hasCsvCollection
93
- : serializeInfo.hasCsvCollection;
81
+ hasCsvCollection = hasCsvCollection ? hasCsvCollection : serializeInfo.hasCsvCollection;
94
82
  });
95
83
  }
96
84
  return {
97
85
  hasMultiCollection,
98
- hasCsvCollection
86
+ hasCsvCollection,
99
87
  };
100
88
  }
@@ -1,6 +1,14 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
+ import {
5
+ SdkClient,
6
+ getHttpOperationWithCache,
7
+ isApiVersion,
8
+ } from "@azure-tools/typespec-client-generator-core";
9
+ import { NoTarget, Type, isVoidType } from "@typespec/compiler";
10
+ import { HttpOperation, HttpOperationParameter, HttpOperationParameters } from "@typespec/http";
11
+ import { reportDiagnostic } from "../lib.js";
4
12
  import {
5
13
  ApiVersionInfo,
6
14
  Imports,
@@ -9,25 +17,16 @@ import {
9
17
  ParameterBodyMetadata,
10
18
  ParameterMetadata,
11
19
  Schema,
12
- SchemaContext
20
+ SchemaContext,
13
21
  } from "../rlc-common/index.js";
14
- import {
15
- HttpOperation,
16
- HttpOperationParameter,
17
- HttpOperationParameters
18
- } from "@typespec/http";
22
+ import { listOperationsUnderRLCClient } from "../utils/clientUtils.js";
23
+ import { SdkContext } from "../utils/interfaces.js";
19
24
  import {
20
25
  KnownMediaType,
21
26
  extractMediaTypes,
22
27
  hasMediaType,
23
- isMediaTypeJsonMergePatch
28
+ isMediaTypeJsonMergePatch,
24
29
  } from "../utils/mediaTypes.js";
25
- import {
26
- SdkClient,
27
- getHttpOperationWithCache,
28
- isApiVersion
29
- } from "@azure-tools/typespec-client-generator-core";
30
- import { NoTarget, Type, isVoidType } from "@typespec/compiler";
31
30
  import {
32
31
  getBodyType,
33
32
  getCollectionFormat,
@@ -36,17 +35,14 @@ import {
36
35
  getSchemaForType,
37
36
  getTypeName,
38
37
  isArrayType,
39
- isBodyRequired
38
+ isBodyRequired,
40
39
  } from "../utils/modelUtils.js";
41
40
  import {
42
41
  getOperationGroupName,
43
42
  getOperationName,
44
- getSpecialSerializeInfo
43
+ getSpecialSerializeInfo,
45
44
  } from "../utils/operationUtil.js";
46
- import { SdkContext } from "../utils/interfaces.js";
47
45
  import { getParameterSerializationInfo } from "../utils/parameterUtils.js";
48
- import { reportDiagnostic } from "../lib.js";
49
- import { listOperationsUnderRLCClient } from "../utils/clientUtils.js";
50
46
 
51
47
  interface ParameterTransformationOptions {
52
48
  apiVersionInfo?: ApiVersionInfo;
@@ -59,7 +55,7 @@ export function transformToParameterTypes(
59
55
  client: SdkClient,
60
56
  dpgContext: SdkContext,
61
57
  importDetails: Imports,
62
- apiVersionInfo?: ApiVersionInfo
58
+ apiVersionInfo?: ApiVersionInfo,
63
59
  ): OperationParameter[] {
64
60
  const rlcParameters: OperationParameter[] = [];
65
61
  const outputImportedSet = new Set<string>();
@@ -80,30 +76,22 @@ export function transformToParameterTypes(
80
76
  const rlcParameter: OperationParameter = {
81
77
  operationGroup: getOperationGroupName(dpgContext, route),
82
78
  operationName: getOperationName(dpgContext, route.operation),
83
- parameters: []
79
+ parameters: [],
84
80
  };
85
81
  const options = {
86
82
  apiVersionInfo,
87
83
  operationGroupName: rlcParameter.operationGroup,
88
84
  operationName: rlcParameter.operationName,
89
- importModels: outputImportedSet
85
+ importModels: outputImportedSet,
90
86
  };
91
87
  // transform query param
92
- const queryParams = transformQueryParameters(
93
- dpgContext,
94
- parameters,
95
- options
96
- );
88
+ const queryParams = transformQueryParameters(dpgContext, parameters, options);
97
89
  // transform path param
98
90
  const pathParams = transformPathParameters(dpgContext, parameters, options);
99
91
  // TODO: support cookie parameters, https://github.com/Azure/autorest.typescript/issues/2898
100
92
  transformCookieParameters(dpgContext, parameters);
101
93
  // transform header param including content-type
102
- const headerParams = transformHeaderParameters(
103
- dpgContext,
104
- parameters,
105
- options
106
- );
94
+ const headerParams = transformHeaderParameters(dpgContext, parameters, options);
107
95
  // transform body
108
96
  const bodyType = getBodyType(route);
109
97
  let bodyParameter = undefined;
@@ -113,12 +101,12 @@ export function transformToParameterTypes(
113
101
  parameters,
114
102
  headerParams,
115
103
  outputImportedSet,
116
- bodyType
104
+ bodyType,
117
105
  );
118
106
  }
119
107
  rlcParameter.parameters.push({
120
108
  parameters: [...queryParams, ...pathParams, ...headerParams],
121
- body: bodyParameter
109
+ body: bodyParameter,
122
110
  });
123
111
  rlcParameters.push(rlcParameter);
124
112
  }
@@ -129,7 +117,7 @@ function getParameterMetadata(
129
117
  dpgContext: SdkContext,
130
118
  paramType: "query" | "path" | "header",
131
119
  parameter: HttpOperationParameter,
132
- options: ParameterTransformationOptions
120
+ options: ParameterTransformationOptions,
133
121
  ): ParameterMetadata {
134
122
  const program = dpgContext.program;
135
123
  const importedModels = options.importModels ?? new Set<string>();
@@ -137,23 +125,18 @@ function getParameterMetadata(
137
125
  const schema = getSchemaForType(dpgContext, parameter.param.type, {
138
126
  usage: schemaContext,
139
127
  needRef: false,
140
- relevantProperty: parameter.param
128
+ relevantProperty: parameter.param,
141
129
  }) as Schema;
142
130
  const name = getParameterName(parameter.name);
143
- let description =
144
- getFormattedPropertyDoc(program, parameter.param, schema) ?? "";
131
+ let description = getFormattedPropertyDoc(program, parameter.param, schema) ?? "";
145
132
  const format = getCollectionFormat(dpgContext, parameter as any);
146
133
  if (isArrayType(schema) && format) {
147
- const serializeInfo = getSpecialSerializeInfo(
148
- dpgContext,
149
- parameter.type,
150
- format
151
- );
134
+ const serializeInfo = getSpecialSerializeInfo(dpgContext, parameter.type, format);
152
135
  if (serializeInfo.hasMultiCollection || serializeInfo.hasCsvCollection) {
153
136
  description += `${description ? "\n" : ""}This parameter could be formatted as ${serializeInfo.collectionInfo.join(
154
- ", "
137
+ ", ",
155
138
  )} collection string, we provide ${serializeInfo.descriptions.join(
156
- ", "
139
+ ", ",
157
140
  )} from serializeHelper.ts to help${
158
141
  serializeInfo.hasMultiCollection
159
142
  ? ", you will probably need to set skipUrlEncoding as true when sending the request"
@@ -165,16 +148,13 @@ function getParameterMetadata(
165
148
  }
166
149
  }
167
150
 
168
- getImportedModelName(schema, schemaContext)?.forEach(
169
- importedModels.add,
170
- importedModels
171
- );
151
+ getImportedModelName(schema, schemaContext)?.forEach(importedModels.add, importedModels);
172
152
  const serializationType = getParameterSerializationInfo(
173
153
  dpgContext,
174
154
  parameter,
175
155
  schema,
176
156
  options.operationGroupName,
177
- options.operationName
157
+ options.operationName,
178
158
  );
179
159
  return {
180
160
  type: paramType,
@@ -185,8 +165,8 @@ function getParameterMetadata(
185
165
  typeName: serializationType.typeName,
186
166
  required: !parameter.param.optional,
187
167
  description,
188
- wrapperType: serializationType.wrapperType
189
- }
168
+ wrapperType: serializationType.wrapperType,
169
+ },
190
170
  };
191
171
  }
192
172
 
@@ -197,10 +177,7 @@ function getParameterName(name: string) {
197
177
  return `"${name}"`;
198
178
  }
199
179
 
200
- function transformCookieParameters(
201
- dpgContext: SdkContext,
202
- parameters: HttpOperationParameters
203
- ) {
180
+ function transformCookieParameters(dpgContext: SdkContext, parameters: HttpOperationParameters) {
204
181
  // TODO: support cookie parameters, https://github.com/Azure/autorest.typescript/issues/2898
205
182
  parameters.parameters
206
183
  .filter((p) => p.type === "cookie")
@@ -209,9 +186,9 @@ function transformCookieParameters(
209
186
  code: "parameter-type-not-supported",
210
187
  format: {
211
188
  paramName: p.name,
212
- paramType: p.type
189
+ paramType: p.type,
213
190
  },
214
- target: NoTarget
191
+ target: NoTarget,
215
192
  });
216
193
  });
217
194
  }
@@ -219,22 +196,17 @@ function transformCookieParameters(
219
196
  function transformQueryParameters(
220
197
  dpgContext: SdkContext,
221
198
  parameters: HttpOperationParameters,
222
- options: ParameterTransformationOptions
199
+ options: ParameterTransformationOptions,
223
200
  ): ParameterMetadata[] {
224
201
  const queryParameters = parameters.parameters.filter(
225
202
  (p) =>
226
203
  p.type === "query" &&
227
- !(
228
- isApiVersion(dpgContext, p.param) &&
229
- options.apiVersionInfo?.definedPosition === "query"
230
- )
204
+ !(isApiVersion(dpgContext, p.param) && options.apiVersionInfo?.definedPosition === "query"),
231
205
  );
232
206
  if (!queryParameters.length) {
233
207
  return [];
234
208
  }
235
- return queryParameters.map((qp) =>
236
- getParameterMetadata(dpgContext, "query", qp, options)
237
- );
209
+ return queryParameters.map((qp) => getParameterMetadata(dpgContext, "query", qp, options));
238
210
  }
239
211
 
240
212
  /**
@@ -244,7 +216,7 @@ function transformQueryParameters(
244
216
  function transformPathParameters(
245
217
  dpgContext: SdkContext,
246
218
  parameters: HttpOperationParameters,
247
- options: ParameterTransformationOptions
219
+ options: ParameterTransformationOptions,
248
220
  ) {
249
221
  // build wrapper path parameters
250
222
  const pathParameters = parameters.parameters.filter((p) => p.type === "path");
@@ -261,17 +233,13 @@ function transformPathParameters(
261
233
  export function transformHeaderParameters(
262
234
  dpgContext: SdkContext,
263
235
  parameters: HttpOperationParameters,
264
- options: ParameterTransformationOptions
236
+ options: ParameterTransformationOptions,
265
237
  ): ParameterMetadata[] {
266
- const headerParameters = parameters.parameters.filter(
267
- (p) => p.type === "header"
268
- );
238
+ const headerParameters = parameters.parameters.filter((p) => p.type === "header");
269
239
  if (!headerParameters.length) {
270
240
  return [];
271
241
  }
272
- return headerParameters.map((qp) =>
273
- getParameterMetadata(dpgContext, "header", qp, options)
274
- );
242
+ return headerParameters.map((qp) => getParameterMetadata(dpgContext, "header", qp, options));
275
243
  }
276
244
 
277
245
  function transformBodyParameters(
@@ -279,20 +247,13 @@ function transformBodyParameters(
279
247
  parameters: HttpOperationParameters,
280
248
  headers: ParameterMetadata[],
281
249
  importedModels: Set<string>,
282
- inputBodyType?: Type
250
+ inputBodyType?: Type,
283
251
  ): ParameterBodyMetadata | undefined {
284
- const bodyType =
285
- parameters.body && inputBodyType ? inputBodyType : parameters.body?.type;
252
+ const bodyType = parameters.body && inputBodyType ? inputBodyType : parameters.body?.type;
286
253
  if (!bodyType || isVoidType(bodyType)) {
287
254
  return;
288
255
  }
289
- return transformRequestBody(
290
- dpgContext,
291
- bodyType,
292
- parameters,
293
- importedModels,
294
- headers
295
- );
256
+ return transformRequestBody(dpgContext, bodyType, parameters, importedModels, headers);
296
257
  }
297
258
 
298
259
  function transformRequestBody(
@@ -300,13 +261,13 @@ function transformRequestBody(
300
261
  bodyType: Type,
301
262
  parameters: HttpOperationParameters,
302
263
  importedModels: Set<string>,
303
- headers: ParameterMetadata[]
264
+ headers: ParameterMetadata[],
304
265
  ) {
305
266
  const contentTypes = extractMediaTypes(parameters.body?.contentTypes ?? []);
306
267
  const schema = getSchemaForType(dpgContext, bodyType, {
307
268
  mediaTypes: contentTypes,
308
269
  isRequestBody: true,
309
- usage: [SchemaContext.Input, SchemaContext.Exception]
270
+ usage: [SchemaContext.Input, SchemaContext.Exception],
310
271
  });
311
272
 
312
273
  const descriptions = getBodyDescriptions(dpgContext, schema, parameters);
@@ -323,33 +284,26 @@ function transformRequestBody(
323
284
  required: isBodyRequired(parameters),
324
285
  description: descriptions.join("\n\n"),
325
286
  isMultipartBody:
326
- hasMediaType(KnownMediaType.MultipartFormData, contentTypes) &&
327
- contentTypes.length === 1,
328
- oriSchema: schema
329
- }
330
- ]
287
+ hasMediaType(KnownMediaType.MultipartFormData, contentTypes) && contentTypes.length === 1,
288
+ oriSchema: schema,
289
+ },
290
+ ],
331
291
  };
332
292
  }
333
293
 
334
294
  function getRequestBodyType(
335
295
  bodySchema: Schema,
336
296
  importedModels: Set<string>,
337
- headers?: ParameterMetadata[]
297
+ headers?: ParameterMetadata[],
338
298
  ) {
339
299
  const schemaUsage = [SchemaContext.Input, SchemaContext.Exception];
340
300
  const importedNames = getImportedModelName(bodySchema, schemaUsage) ?? [];
341
301
  importedNames.forEach(importedModels.add, importedModels);
342
302
 
343
303
  let typeName = getTypeName(bodySchema, schemaUsage);
344
- const contentTypes = headers
345
- ?.filter((h) => h.name === "contentType")
346
- .map((h) => h.param.type);
304
+ const contentTypes = headers?.filter((h) => h.name === "contentType").map((h) => h.param.type);
347
305
  const hasMergeAndPatchType = isMediaTypeJsonMergePatch(contentTypes ?? []);
348
- if (
349
- hasMergeAndPatchType &&
350
- Boolean(bodySchema.name) &&
351
- (bodySchema as ObjectSchema).properties
352
- ) {
306
+ if (hasMergeAndPatchType && Boolean(bodySchema.name) && (bodySchema as ObjectSchema).properties) {
353
307
  typeName = `${typeName}ResourceMergeAndPatch`;
354
308
  }
355
309
  return typeName;
@@ -358,14 +312,10 @@ function getRequestBodyType(
358
312
  function getBodyDescriptions(
359
313
  dpgContext: SdkContext,
360
314
  bodySchema: Schema,
361
- parameters: HttpOperationParameters
315
+ parameters: HttpOperationParameters,
362
316
  ) {
363
317
  const description = parameters.body?.property
364
- ? getFormattedPropertyDoc(
365
- dpgContext.program,
366
- parameters.body.property,
367
- bodySchema
368
- )
318
+ ? getFormattedPropertyDoc(dpgContext.program, parameters.body.property, bodySchema)
369
319
  : "";
370
320
  return description ? [description] : [];
371
321
  }
@@ -1,6 +1,11 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
+ import {
5
+ SdkClient,
6
+ getHttpOperationWithCache,
7
+ isApiVersion,
8
+ } from "@azure-tools/typespec-client-generator-core";
4
9
  import { HttpOperation, HttpOperationParameters } from "@typespec/http";
5
10
  import {
6
11
  Imports,
@@ -9,13 +14,9 @@ import {
9
14
  Paths,
10
15
  SchemaContext,
11
16
  getParameterTypeName,
12
- getResponseTypeName
17
+ getResponseTypeName,
13
18
  } from "../rlc-common/index.js";
14
- import {
15
- SdkClient,
16
- getHttpOperationWithCache,
17
- isApiVersion
18
- } from "@azure-tools/typespec-client-generator-core";
19
+ import { getImportedModelName, getSchemaForType, isBodyRequired } from "../utils/modelUtils.js";
19
20
  import {
20
21
  extractOperationLroDetail,
21
22
  getOperationGroupName,
@@ -24,23 +25,18 @@ import {
24
25
  getOperationStatuscode,
25
26
  getOperationSuccessStatus,
26
27
  isPagingOperation,
27
- sortedOperationResponses
28
+ sortedOperationResponses,
28
29
  } from "../utils/operationUtil.js";
29
- import {
30
- getImportedModelName,
31
- getSchemaForType,
32
- isBodyRequired
33
- } from "../utils/modelUtils.js";
34
30
 
35
- import { SdkContext } from "../utils/interfaces.js";
36
31
  import { getDoc } from "@typespec/compiler";
37
- import { getParameterSerializationInfo } from "../utils/parameterUtils.js";
38
32
  import { listOperationsUnderRLCClient } from "../utils/clientUtils.js";
33
+ import { SdkContext } from "../utils/interfaces.js";
34
+ import { getParameterSerializationInfo } from "../utils/parameterUtils.js";
39
35
 
40
36
  export function transformPaths(
41
37
  client: SdkClient,
42
38
  dpgContext: SdkContext,
43
- importDetails: Imports
39
+ importDetails: Imports,
44
40
  ): Paths {
45
41
  const pathParamsImportedSet = new Set<string>();
46
42
  const paths: Paths = {};
@@ -64,7 +60,7 @@ function transformOperation(
64
60
  dpgContext: SdkContext,
65
61
  route: HttpOperation,
66
62
  paths: Paths,
67
- importSet: Set<string>
63
+ importSet: Set<string>,
68
64
  ) {
69
65
  const program = dpgContext.program;
70
66
  const respNames = [];
@@ -73,7 +69,7 @@ function transformOperation(
73
69
  const respName = getResponseTypeName(
74
70
  operationGroupName,
75
71
  getOperationName(dpgContext, route.operation),
76
- getOperationStatuscode(resp)
72
+ getOperationStatuscode(resp),
77
73
  );
78
74
  respNames.push(respName);
79
75
  }
@@ -83,35 +79,25 @@ function transformOperation(
83
79
  hasOptionalOptions: !hasRequiredOptions(dpgContext, route.parameters),
84
80
  optionsName: getParameterTypeName(
85
81
  operationGroupName,
86
- getOperationName(dpgContext, route.operation)
82
+ getOperationName(dpgContext, route.operation),
87
83
  ),
88
84
  responseTypes,
89
85
  returnType: respNames.join(" | "),
90
86
  successStatus: getOperationSuccessStatus(route),
91
87
  operationName: getOperationName(dpgContext, route.operation),
92
88
  operationHelperDetail: {
93
- lroDetails: extractOperationLroDetail(
94
- dpgContext,
95
- route,
96
- responseTypes,
97
- operationGroupName
98
- ),
99
- isPaging: isPagingOperation(dpgContext, route)
100
- }
89
+ lroDetails: extractOperationLroDetail(dpgContext, route, responseTypes, operationGroupName),
90
+ isPaging: isPagingOperation(dpgContext, route),
91
+ },
101
92
  };
102
- if (
103
- paths[route.path] !== undefined &&
104
- !paths[route.path]?.methods[route.verb]
105
- ) {
93
+ if (paths[route.path] !== undefined && !paths[route.path]?.methods[route.verb]) {
106
94
  (paths[route.path] as PathMetadata).methods[route.verb] = [method];
107
95
  } else if (paths[route.path]?.methods[route.verb]) {
108
96
  paths[route.path]?.methods[route.verb]?.push(method);
109
97
  } else {
110
98
  paths[route.path] = {
111
99
  description: getDoc(program, route.operation) ?? "",
112
- name: escapeCoreName(
113
- getOperationName(dpgContext, route.operation) || "Client"
114
- ),
100
+ name: escapeCoreName(getOperationName(dpgContext, route.operation) || "Client"),
115
101
  pathParameters: route.parameters.parameters
116
102
  .filter((p) => p.type === "path")
117
103
  .map((p) => {
@@ -119,14 +105,14 @@ function transformOperation(
119
105
  const options = {
120
106
  usage: schemaUsage,
121
107
  needRef: false,
122
- relevantProperty: p.param
108
+ relevantProperty: p.param,
123
109
  };
124
110
  const schema = p.param.sourceProperty
125
111
  ? getSchemaForType(
126
112
  dpgContext,
127
113
  p.param.sourceProperty?.type,
128
114
 
129
- options
115
+ options,
130
116
  )
131
117
  : getSchemaForType(dpgContext, p.param.type, options);
132
118
  const importedNames = getImportedModelName(schema, schemaUsage) ?? [];
@@ -136,19 +122,19 @@ function transformOperation(
136
122
  p,
137
123
  schema,
138
124
  operationGroupName,
139
- method.operationName
125
+ method.operationName,
140
126
  );
141
127
  return {
142
128
  name: p.name,
143
129
  type: serializationType.typeName,
144
130
  description: getDoc(program, p.param) ?? "",
145
- wrapperType: serializationType.wrapperType
131
+ wrapperType: serializationType.wrapperType,
146
132
  };
147
133
  }),
148
134
  operationGroupName: getOperationGroupName(dpgContext, route),
149
135
  methods: {
150
- [route.verb]: [method]
151
- }
136
+ [route.verb]: [method],
137
+ },
152
138
  };
153
139
  }
154
140
  }
@@ -159,10 +145,7 @@ function escapeCoreName(name: string) {
159
145
  }
160
146
  return name;
161
147
  }
162
- function hasRequiredOptions(
163
- dpgContext: SdkContext,
164
- routeParameters: HttpOperationParameters
165
- ) {
148
+ function hasRequiredOptions(dpgContext: SdkContext, routeParameters: HttpOperationParameters) {
166
149
  const isRequiredBodyParam = isBodyRequired(routeParameters);
167
150
 
168
151
  const containsRequiredNonBodyParam = routeParameters.parameters