@azure-tools/typespec-ts 0.13.0 → 0.13.1-alpha.20230609.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 (512) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +37 -1
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/modelUtils.d.ts +2 -0
  6. package/dist/src/modelUtils.d.ts.map +1 -1
  7. package/dist/src/modelUtils.js +82 -13
  8. package/dist/src/modelUtils.js.map +1 -1
  9. package/dist/src/modular/buildApiIndex.d.ts.map +1 -1
  10. package/dist/src/modular/buildApiIndex.js +1 -1
  11. package/dist/src/modular/buildApiIndex.js.map +1 -1
  12. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  13. package/dist/src/modular/buildClassicalClient.js +6 -6
  14. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  15. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  16. package/dist/src/modular/buildClientContext.js +9 -3
  17. package/dist/src/modular/buildClientContext.js.map +1 -1
  18. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  19. package/dist/src/modular/buildCodeModel.js +190 -169
  20. package/dist/src/modular/buildCodeModel.js.map +1 -1
  21. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  22. package/dist/src/modular/buildOperations.js +20 -2
  23. package/dist/src/modular/buildOperations.js.map +1 -1
  24. package/dist/src/modular/buildRootIndex.js +2 -2
  25. package/dist/src/modular/buildRootIndex.js.map +1 -1
  26. package/dist/src/modular/buildSharedTypes.d.ts.map +1 -1
  27. package/dist/src/modular/buildSharedTypes.js +8 -10
  28. package/dist/src/modular/buildSharedTypes.js.map +1 -1
  29. package/dist/src/modular/emitModels.d.ts.map +1 -1
  30. package/dist/src/modular/emitModels.js +19 -6
  31. package/dist/src/modular/emitModels.js.map +1 -1
  32. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  33. package/dist/src/modular/helpers/clientHelpers.js +2 -11
  34. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  35. package/dist/src/modular/helpers/credentialHelpers.js +1 -1
  36. package/dist/src/modular/helpers/credentialHelpers.js.map +1 -1
  37. package/dist/src/modular/helpers/fixmeHelpers.d.ts +2 -0
  38. package/dist/src/modular/helpers/fixmeHelpers.d.ts.map +1 -0
  39. package/dist/src/modular/helpers/fixmeHelpers.js +4 -0
  40. package/dist/src/modular/helpers/fixmeHelpers.js.map +1 -0
  41. package/dist/src/modular/helpers/namingHelpers.d.ts +10 -1
  42. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  43. package/dist/src/modular/helpers/namingHelpers.js +20 -0
  44. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  45. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -0
  46. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  47. package/dist/src/modular/helpers/operationHelpers.js +117 -35
  48. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  49. package/dist/src/modular/helpers/parameterHelpers.js +1 -1
  50. package/dist/src/modular/helpers/parameterHelpers.js.map +1 -1
  51. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  52. package/dist/src/modular/helpers/typeHelpers.js +31 -12
  53. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  54. package/dist/src/modular/modularCodeModel.d.ts +2 -1
  55. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  56. package/dist/src/operationUtil.d.ts +1 -1
  57. package/dist/src/operationUtil.d.ts.map +1 -1
  58. package/dist/src/operationUtil.js +21 -3
  59. package/dist/src/operationUtil.js.map +1 -1
  60. package/dist/src/transform/transform.d.ts.map +1 -1
  61. package/dist/src/transform/transform.js +2 -2
  62. package/dist/src/transform/transform.js.map +1 -1
  63. package/dist/src/transform/transformApiVersionInfo.js +9 -0
  64. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  65. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  66. package/dist/src/transform/transformHelperFunctionDetails.js +27 -1
  67. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  68. package/dist/src/transform/transformParameters.d.ts +1 -0
  69. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  70. package/dist/src/transform/transformParameters.js +36 -35
  71. package/dist/src/transform/transformParameters.js.map +1 -1
  72. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  73. package/dist/src/transform/transformPaths.js +9 -0
  74. package/dist/src/transform/transformPaths.js.map +1 -1
  75. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  76. package/dist/src/transform/transformResponses.js +10 -1
  77. package/dist/src/transform/transformResponses.js.map +1 -1
  78. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  79. package/dist/src/transform/transformSchemas.js +9 -0
  80. package/dist/src/transform/transformSchemas.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +20 -15
  83. package/src/index.ts +47 -2
  84. package/src/modelUtils.ts +90 -15
  85. package/src/modular/buildApiIndex.ts +3 -1
  86. package/src/modular/buildClassicalClient.ts +8 -6
  87. package/src/modular/buildClientContext.ts +11 -3
  88. package/src/modular/buildCodeModel.ts +221 -196
  89. package/src/modular/buildOperations.ts +23 -1
  90. package/src/modular/buildRootIndex.ts +2 -2
  91. package/src/modular/buildSharedTypes.ts +8 -10
  92. package/src/modular/emitModels.ts +14 -0
  93. package/src/modular/helpers/clientHelpers.ts +3 -13
  94. package/src/modular/helpers/credentialHelpers.ts +1 -1
  95. package/src/modular/helpers/fixmeHelpers.ts +3 -0
  96. package/src/modular/helpers/namingHelpers.ts +35 -1
  97. package/src/modular/helpers/operationHelpers.ts +173 -66
  98. package/src/modular/helpers/parameterHelpers.ts +1 -1
  99. package/src/modular/helpers/typeHelpers.ts +33 -12
  100. package/src/modular/modularCodeModel.ts +3 -1
  101. package/src/operationUtil.ts +24 -3
  102. package/src/transform/transform.ts +4 -1
  103. package/src/transform/transformApiVersionInfo.ts +8 -0
  104. package/src/transform/transformHelperFunctionDetails.ts +25 -1
  105. package/src/transform/transformParameters.ts +52 -41
  106. package/src/transform/transformPaths.ts +8 -0
  107. package/src/transform/transformResponses.ts +9 -1
  108. package/src/transform/transformSchemas.ts +8 -0
  109. package/.eslintrc.json +0 -23
  110. package/.prettierignore +0 -1
  111. package/.prettierrc +0 -7
  112. package/.rush/temp/operation/build/all.log +0 -1
  113. package/.rush/temp/operation/build/state.json +0 -3
  114. package/.rush/temp/package-deps_build.json +0 -442
  115. package/.rush/temp/shrinkwrap-deps.json +0 -490
  116. package/CONTRIBUTING.md +0 -137
  117. package/test/commands/cadl-ranch-list.ts +0 -116
  118. package/test/commands/check-clean-tree.ts +0 -55
  119. package/test/commands/childProcessOnExit.ts +0 -16
  120. package/test/commands/gen-cadl-ranch.ts +0 -25
  121. package/test/commands/run.ts +0 -31
  122. package/test/integration/arrayItemTypes.spec.ts +0 -96
  123. package/test/integration/authApiKey.spec.ts +0 -38
  124. package/test/integration/authOauth2.spec.ts +0 -65
  125. package/test/integration/authUnion.spec.ts +0 -72
  126. package/test/integration/azurecore.spec.ts +0 -170
  127. package/test/integration/collectionFormat.spec.ts +0 -118
  128. package/test/integration/dictionary.spec.ts +0 -106
  129. package/test/integration/extensibleEnums.spec.ts +0 -61
  130. package/test/integration/fixedEnums.spec.ts +0 -52
  131. package/test/integration/generated/arrays/itemTypes/src/arrayItemTypesClient.ts +0 -35
  132. package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +0 -165
  133. package/test/integration/generated/arrays/itemTypes/src/index.ts +0 -13
  134. package/test/integration/generated/arrays/itemTypes/src/logger.ts +0 -5
  135. package/test/integration/generated/arrays/itemTypes/src/models.ts +0 -9
  136. package/test/integration/generated/arrays/itemTypes/src/outputModels.ts +0 -9
  137. package/test/integration/generated/arrays/itemTypes/src/parameters.ts +0 -86
  138. package/test/integration/generated/arrays/itemTypes/src/responses.ts +0 -115
  139. package/test/integration/generated/arrays/itemTypes/tspconfig.yaml +0 -15
  140. package/test/integration/generated/authentication/apiKey/.eslintrc.json +0 -11
  141. package/test/integration/generated/authentication/apiKey/README.md +0 -56
  142. package/test/integration/generated/authentication/apiKey/api-extractor.json +0 -18
  143. package/test/integration/generated/authentication/apiKey/karma.conf.js +0 -133
  144. package/test/integration/generated/authentication/apiKey/package.json +0 -103
  145. package/test/integration/generated/authentication/apiKey/rollup.config.js +0 -118
  146. package/test/integration/generated/authentication/apiKey/src/authApiKeyClient.ts +0 -45
  147. package/test/integration/generated/authentication/apiKey/src/clientDefinitions.ts +0 -33
  148. package/test/integration/generated/authentication/apiKey/src/index.ts +0 -12
  149. package/test/integration/generated/authentication/apiKey/src/logger.ts +0 -5
  150. package/test/integration/generated/authentication/apiKey/src/outputModels.ts +0 -6
  151. package/test/integration/generated/authentication/apiKey/src/parameters.ts +0 -7
  152. package/test/integration/generated/authentication/apiKey/src/responses.ts +0 -21
  153. package/test/integration/generated/authentication/apiKey/test/public/sampleTest.spec.ts +0 -23
  154. package/test/integration/generated/authentication/apiKey/test/public/utils/env.browser.ts +0 -2
  155. package/test/integration/generated/authentication/apiKey/test/public/utils/env.ts +0 -6
  156. package/test/integration/generated/authentication/apiKey/test/public/utils/recordedClient.ts +0 -29
  157. package/test/integration/generated/authentication/apiKey/tsconfig.json +0 -25
  158. package/test/integration/generated/authentication/apiKey/tspconfig.yaml +0 -13
  159. package/test/integration/generated/authentication/oauth2/karma.conf.js +0 -133
  160. package/test/integration/generated/authentication/oauth2/src/authOauth2Client.ts +0 -45
  161. package/test/integration/generated/authentication/oauth2/src/clientDefinitions.ts +0 -33
  162. package/test/integration/generated/authentication/oauth2/src/index.ts +0 -12
  163. package/test/integration/generated/authentication/oauth2/src/logger.ts +0 -5
  164. package/test/integration/generated/authentication/oauth2/src/outputModels.ts +0 -6
  165. package/test/integration/generated/authentication/oauth2/src/parameters.ts +0 -7
  166. package/test/integration/generated/authentication/oauth2/src/responses.ts +0 -21
  167. package/test/integration/generated/authentication/oauth2/test/public/sampleTest.spec.ts +0 -23
  168. package/test/integration/generated/authentication/oauth2/test/public/utils/env.browser.ts +0 -2
  169. package/test/integration/generated/authentication/oauth2/test/public/utils/env.ts +0 -6
  170. package/test/integration/generated/authentication/oauth2/test/public/utils/recordedClient.ts +0 -29
  171. package/test/integration/generated/authentication/oauth2/tspconfig.yaml +0 -15
  172. package/test/integration/generated/authentication/union/karma.conf.js +0 -133
  173. package/test/integration/generated/authentication/union/src/authUnionClient.ts +0 -46
  174. package/test/integration/generated/authentication/union/src/clientDefinitions.ts +0 -27
  175. package/test/integration/generated/authentication/union/src/index.ts +0 -11
  176. package/test/integration/generated/authentication/union/src/logger.ts +0 -5
  177. package/test/integration/generated/authentication/union/src/parameters.ts +0 -7
  178. package/test/integration/generated/authentication/union/src/responses.ts +0 -14
  179. package/test/integration/generated/authentication/union/test/public/sampleTest.spec.ts +0 -23
  180. package/test/integration/generated/authentication/union/test/public/utils/env.browser.ts +0 -2
  181. package/test/integration/generated/authentication/union/test/public/utils/env.ts +0 -6
  182. package/test/integration/generated/authentication/union/test/public/utils/recordedClient.ts +0 -29
  183. package/test/integration/generated/authentication/union/tspconfig.yaml +0 -15
  184. package/test/integration/generated/azure/core/.eslintrc.json +0 -11
  185. package/test/integration/generated/azure/core/README.md +0 -56
  186. package/test/integration/generated/azure/core/api-extractor.json +0 -18
  187. package/test/integration/generated/azure/core/package.json +0 -81
  188. package/test/integration/generated/azure/core/rollup.config.js +0 -118
  189. package/test/integration/generated/azure/core/src/azureCoreClient.ts +0 -35
  190. package/test/integration/generated/azure/core/src/clientDefinitions.ts +0 -108
  191. package/test/integration/generated/azure/core/src/index.ts +0 -16
  192. package/test/integration/generated/azure/core/src/isUnexpected.ts +0 -178
  193. package/test/integration/generated/azure/core/src/logger.ts +0 -5
  194. package/test/integration/generated/azure/core/src/models.ts +0 -18
  195. package/test/integration/generated/azure/core/src/outputModels.ts +0 -38
  196. package/test/integration/generated/azure/core/src/paginateHelper.ts +0 -204
  197. package/test/integration/generated/azure/core/src/parameters.ts +0 -68
  198. package/test/integration/generated/azure/core/src/responses.ts +0 -158
  199. package/test/integration/generated/azure/core/src/serializeHelper.ts +0 -16
  200. package/test/integration/generated/azure/core/tsconfig.json +0 -25
  201. package/test/integration/generated/azure/core/tspconfig.yaml +0 -15
  202. package/test/integration/generated/azure/core-traits/.eslintrc.json +0 -11
  203. package/test/integration/generated/azure/core-traits/README.md +0 -56
  204. package/test/integration/generated/azure/core-traits/api-extractor.json +0 -18
  205. package/test/integration/generated/azure/core-traits/package.json +0 -80
  206. package/test/integration/generated/azure/core-traits/rollup.config.js +0 -118
  207. package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +0 -35
  208. package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +0 -22
  209. package/test/integration/generated/azure/core-traits/src/index.ts +0 -13
  210. package/test/integration/generated/azure/core-traits/src/isUnexpected.ts +0 -97
  211. package/test/integration/generated/azure/core-traits/src/logger.ts +0 -5
  212. package/test/integration/generated/azure/core-traits/src/outputModels.ts +0 -25
  213. package/test/integration/generated/azure/core-traits/src/parameters.ts +0 -26
  214. package/test/integration/generated/azure/core-traits/src/responses.ts +0 -32
  215. package/test/integration/generated/azure/core-traits/tsconfig.json +0 -25
  216. package/test/integration/generated/azure/core-traits/tspconfig.yaml +0 -15
  217. package/test/integration/generated/dictionary/.eslintrc.json +0 -11
  218. package/test/integration/generated/dictionary/README.md +0 -56
  219. package/test/integration/generated/dictionary/api-extractor.json +0 -18
  220. package/test/integration/generated/dictionary/package.json +0 -80
  221. package/test/integration/generated/dictionary/rollup.config.js +0 -118
  222. package/test/integration/generated/dictionary/src/clientDefinitions.ts +0 -180
  223. package/test/integration/generated/dictionary/src/dictClient.ts +0 -33
  224. package/test/integration/generated/dictionary/src/index.ts +0 -13
  225. package/test/integration/generated/dictionary/src/logger.ts +0 -5
  226. package/test/integration/generated/dictionary/src/models.ts +0 -9
  227. package/test/integration/generated/dictionary/src/outputModels.ts +0 -9
  228. package/test/integration/generated/dictionary/src/parameters.ts +0 -94
  229. package/test/integration/generated/dictionary/src/responses.ts +0 -126
  230. package/test/integration/generated/dictionary/tsconfig.json +0 -25
  231. package/test/integration/generated/dictionary/tspconfig.yaml +0 -15
  232. package/test/integration/generated/enums/extensible/.eslintrc.json +0 -11
  233. package/test/integration/generated/enums/extensible/README.md +0 -56
  234. package/test/integration/generated/enums/extensible/api-extractor.json +0 -18
  235. package/test/integration/generated/enums/extensible/package.json +0 -80
  236. package/test/integration/generated/enums/extensible/rollup.config.js +0 -118
  237. package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +0 -45
  238. package/test/integration/generated/enums/extensible/src/index.ts +0 -11
  239. package/test/integration/generated/enums/extensible/src/logger.ts +0 -5
  240. package/test/integration/generated/enums/extensible/src/parameters.ts +0 -23
  241. package/test/integration/generated/enums/extensible/src/responses.ts +0 -26
  242. package/test/integration/generated/enums/extensible/src/typeEnumExtensible.ts +0 -35
  243. package/test/integration/generated/enums/extensible/tsconfig.json +0 -25
  244. package/test/integration/generated/enums/extensible/tspconfig.yaml +0 -14
  245. package/test/integration/generated/enums/fixed/.eslintrc.json +0 -11
  246. package/test/integration/generated/enums/fixed/README.md +0 -56
  247. package/test/integration/generated/enums/fixed/api-extractor.json +0 -18
  248. package/test/integration/generated/enums/fixed/package.json +0 -80
  249. package/test/integration/generated/enums/fixed/rollup.config.js +0 -118
  250. package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +0 -43
  251. package/test/integration/generated/enums/fixed/src/index.ts +0 -11
  252. package/test/integration/generated/enums/fixed/src/logger.ts +0 -5
  253. package/test/integration/generated/enums/fixed/src/parameters.ts +0 -36
  254. package/test/integration/generated/enums/fixed/src/responses.ts +0 -27
  255. package/test/integration/generated/enums/fixed/src/typeEnumFixed.ts +0 -35
  256. package/test/integration/generated/enums/fixed/tsconfig.json +0 -25
  257. package/test/integration/generated/enums/fixed/tspconfig.yaml +0 -14
  258. package/test/integration/generated/hello/.eslintrc.json +0 -11
  259. package/test/integration/generated/hello/README.md +0 -56
  260. package/test/integration/generated/hello/api-extractor.json +0 -18
  261. package/test/integration/generated/hello/package.json +0 -80
  262. package/test/integration/generated/hello/rollup.config.js +0 -118
  263. package/test/integration/generated/hello/src/clientDefinitions.ts +0 -19
  264. package/test/integration/generated/hello/src/hello.ts +0 -29
  265. package/test/integration/generated/hello/src/index.ts +0 -11
  266. package/test/integration/generated/hello/src/parameters.ts +0 -6
  267. package/test/integration/generated/hello/src/responses.ts +0 -10
  268. package/test/integration/generated/hello/tsconfig.json +0 -25
  269. package/test/integration/generated/hello/tspconfig.yaml +0 -14
  270. package/test/integration/generated/internal/src/clientDefinitions.ts +0 -53
  271. package/test/integration/generated/internal/src/index.ts +0 -12
  272. package/test/integration/generated/internal/src/internalClient.ts +0 -35
  273. package/test/integration/generated/internal/src/logger.ts +0 -5
  274. package/test/integration/generated/internal/src/outputModels.ts +0 -17
  275. package/test/integration/generated/internal/src/parameters.ts +0 -45
  276. package/test/integration/generated/internal/src/responses.ts +0 -33
  277. package/test/integration/generated/internal/tspconfig.yaml +0 -14
  278. package/test/integration/generated/lro/lroCore/.eslintrc.json +0 -11
  279. package/test/integration/generated/lro/lroCore/README.md +0 -56
  280. package/test/integration/generated/lro/lroCore/api-extractor.json +0 -18
  281. package/test/integration/generated/lro/lroCore/package.json +0 -82
  282. package/test/integration/generated/lro/lroCore/rollup.config.js +0 -118
  283. package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +0 -54
  284. package/test/integration/generated/lro/lroCore/src/index.ts +0 -15
  285. package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +0 -135
  286. package/test/integration/generated/lro/lroCore/src/logger.ts +0 -5
  287. package/test/integration/generated/lro/lroCore/src/models.ts +0 -8
  288. package/test/integration/generated/lro/lroCore/src/outputModels.ts +0 -50
  289. package/test/integration/generated/lro/lroCore/src/parameters.ts +0 -25
  290. package/test/integration/generated/lro/lroCore/src/pollingHelper.ts +0 -113
  291. package/test/integration/generated/lro/lroCore/src/responses.ts +0 -109
  292. package/test/integration/generated/lro/lroCore/src/specsAzureCoreLroStandard.ts +0 -35
  293. package/test/integration/generated/lro/lroCore/tsconfig.json +0 -25
  294. package/test/integration/generated/lro/lroCore/tspconfig.yaml +0 -14
  295. package/test/integration/generated/lro/lroRPC/.eslintrc.json +0 -11
  296. package/test/integration/generated/lro/lroRPC/README.md +0 -56
  297. package/test/integration/generated/lro/lroRPC/api-extractor.json +0 -18
  298. package/test/integration/generated/lro/lroRPC/package.json +0 -82
  299. package/test/integration/generated/lro/lroRPC/rollup.config.js +0 -118
  300. package/test/integration/generated/lro/lroRPC/src/clientDefinitions.ts +0 -79
  301. package/test/integration/generated/lro/lroRPC/src/index.ts +0 -15
  302. package/test/integration/generated/lro/lroRPC/src/isUnexpected.ts +0 -153
  303. package/test/integration/generated/lro/lroRPC/src/logger.ts +0 -5
  304. package/test/integration/generated/lro/lroRPC/src/models.ts +0 -8
  305. package/test/integration/generated/lro/lroRPC/src/outputModels.ts +0 -40
  306. package/test/integration/generated/lro/lroRPC/src/parameters.ts +0 -20
  307. package/test/integration/generated/lro/lroRPC/src/pollingHelper.ts +0 -127
  308. package/test/integration/generated/lro/lroRPC/src/responses.ts +0 -124
  309. package/test/integration/generated/lro/lroRPC/src/specsAzureCoreLroRpc.ts +0 -35
  310. package/test/integration/generated/lro/lroRPC/tsconfig.json +0 -25
  311. package/test/integration/generated/lro/lroRPC/tspconfig.yaml +0 -14
  312. package/test/integration/generated/models/inheritance/.eslintrc.json +0 -11
  313. package/test/integration/generated/models/inheritance/README.md +0 -56
  314. package/test/integration/generated/models/inheritance/api-extractor.json +0 -18
  315. package/test/integration/generated/models/inheritance/package.json +0 -80
  316. package/test/integration/generated/models/inheritance/rollup.config.js +0 -118
  317. package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +0 -81
  318. package/test/integration/generated/models/inheritance/src/index.ts +0 -13
  319. package/test/integration/generated/models/inheritance/src/logger.ts +0 -5
  320. package/test/integration/generated/models/inheritance/src/models.ts +0 -52
  321. package/test/integration/generated/models/inheritance/src/outputModels.ts +0 -52
  322. package/test/integration/generated/models/inheritance/src/parameters.ts +0 -35
  323. package/test/integration/generated/models/inheritance/src/responses.ts +0 -56
  324. package/test/integration/generated/models/inheritance/src/typeModelInheritance.ts +0 -35
  325. package/test/integration/generated/models/inheritance/tsconfig.json +0 -25
  326. package/test/integration/generated/models/inheritance/tspconfig.yaml +0 -14
  327. package/test/integration/generated/models/propertyNullable/.eslintrc.json +0 -11
  328. package/test/integration/generated/models/propertyNullable/README.md +0 -56
  329. package/test/integration/generated/models/propertyNullable/api-extractor.json +0 -18
  330. package/test/integration/generated/models/propertyNullable/package.json +0 -80
  331. package/test/integration/generated/models/propertyNullable/rollup.config.js +0 -118
  332. package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +0 -227
  333. package/test/integration/generated/models/propertyNullable/src/index.ts +0 -13
  334. package/test/integration/generated/models/propertyNullable/src/logger.ts +0 -5
  335. package/test/integration/generated/models/propertyNullable/src/models.ts +0 -56
  336. package/test/integration/generated/models/propertyNullable/src/outputModels.ts +0 -56
  337. package/test/integration/generated/models/propertyNullable/src/parameters.ts +0 -197
  338. package/test/integration/generated/models/propertyNullable/src/responses.ts +0 -144
  339. package/test/integration/generated/models/propertyNullable/src/typePropertyNullable.ts +0 -35
  340. package/test/integration/generated/models/propertyNullable/tsconfig.json +0 -25
  341. package/test/integration/generated/models/propertyNullable/tspconfig.yaml +0 -14
  342. package/test/integration/generated/models/propertyOptional/.eslintrc.json +0 -11
  343. package/test/integration/generated/models/propertyOptional/README.md +0 -56
  344. package/test/integration/generated/models/propertyOptional/api-extractor.json +0 -18
  345. package/test/integration/generated/models/propertyOptional/package.json +0 -80
  346. package/test/integration/generated/models/propertyOptional/rollup.config.js +0 -118
  347. package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +0 -263
  348. package/test/integration/generated/models/propertyOptional/src/index.ts +0 -13
  349. package/test/integration/generated/models/propertyOptional/src/logger.ts +0 -5
  350. package/test/integration/generated/models/propertyOptional/src/models.ts +0 -46
  351. package/test/integration/generated/models/propertyOptional/src/outputModels.ts +0 -46
  352. package/test/integration/generated/models/propertyOptional/src/parameters.ts +0 -125
  353. package/test/integration/generated/models/propertyOptional/src/responses.ts +0 -169
  354. package/test/integration/generated/models/propertyOptional/src/typePropertyOptional.ts +0 -35
  355. package/test/integration/generated/models/propertyOptional/tsconfig.json +0 -25
  356. package/test/integration/generated/models/propertyOptional/tspconfig.yaml +0 -14
  357. package/test/integration/generated/models/propertyTypes/.eslintrc.json +0 -11
  358. package/test/integration/generated/models/propertyTypes/README.md +0 -56
  359. package/test/integration/generated/models/propertyTypes/api-extractor.json +0 -18
  360. package/test/integration/generated/models/propertyTypes/package.json +0 -80
  361. package/test/integration/generated/models/propertyTypes/rollup.config.js +0 -118
  362. package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +0 -310
  363. package/test/integration/generated/models/propertyTypes/src/index.ts +0 -13
  364. package/test/integration/generated/models/propertyTypes/src/logger.ts +0 -5
  365. package/test/integration/generated/models/propertyTypes/src/models.ts +0 -123
  366. package/test/integration/generated/models/propertyTypes/src/outputModels.ts +0 -123
  367. package/test/integration/generated/models/propertyTypes/src/parameters.ts +0 -189
  368. package/test/integration/generated/models/propertyTypes/src/responses.ts +0 -234
  369. package/test/integration/generated/models/propertyTypes/src/typePropertyValueTypes.ts +0 -35
  370. package/test/integration/generated/models/propertyTypes/tsconfig.json +0 -25
  371. package/test/integration/generated/models/propertyTypes/tspconfig.yaml +0 -14
  372. package/test/integration/generated/models/usage/.eslintrc.json +0 -11
  373. package/test/integration/generated/models/usage/README.md +0 -56
  374. package/test/integration/generated/models/usage/api-extractor.json +0 -18
  375. package/test/integration/generated/models/usage/package.json +0 -80
  376. package/test/integration/generated/models/usage/rollup.config.js +0 -118
  377. package/test/integration/generated/models/usage/src/clientDefinitions.ts +0 -41
  378. package/test/integration/generated/models/usage/src/index.ts +0 -13
  379. package/test/integration/generated/models/usage/src/logger.ts +0 -5
  380. package/test/integration/generated/models/usage/src/models.ts +0 -12
  381. package/test/integration/generated/models/usage/src/outputModels.ts +0 -12
  382. package/test/integration/generated/models/usage/src/parameters.ts +0 -19
  383. package/test/integration/generated/models/usage/src/responses.ts +0 -22
  384. package/test/integration/generated/models/usage/src/typeModelUsage.ts +0 -35
  385. package/test/integration/generated/models/usage/tsconfig.json +0 -25
  386. package/test/integration/generated/models/usage/tspconfig.yaml +0 -14
  387. package/test/integration/generated/models/visibility/.eslintrc.json +0 -11
  388. package/test/integration/generated/models/visibility/README.md +0 -56
  389. package/test/integration/generated/models/visibility/api-extractor.json +0 -18
  390. package/test/integration/generated/models/visibility/package.json +0 -80
  391. package/test/integration/generated/models/visibility/rollup.config.js +0 -118
  392. package/test/integration/generated/models/visibility/src/clientDefinitions.ts +0 -40
  393. package/test/integration/generated/models/visibility/src/index.ts +0 -13
  394. package/test/integration/generated/models/visibility/src/logger.ts +0 -5
  395. package/test/integration/generated/models/visibility/src/models.ts +0 -14
  396. package/test/integration/generated/models/visibility/src/outputModels.ts +0 -16
  397. package/test/integration/generated/models/visibility/src/parameters.ts +0 -41
  398. package/test/integration/generated/models/visibility/src/responses.ts +0 -36
  399. package/test/integration/generated/models/visibility/src/typeModelVisibility.ts +0 -35
  400. package/test/integration/generated/models/visibility/tsconfig.json +0 -25
  401. package/test/integration/generated/models/visibility/tspconfig.yaml +0 -14
  402. package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +0 -63
  403. package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +0 -35
  404. package/test/integration/generated/parameters/collection-format/src/index.ts +0 -12
  405. package/test/integration/generated/parameters/collection-format/src/logger.ts +0 -5
  406. package/test/integration/generated/parameters/collection-format/src/parameters.ts +0 -71
  407. package/test/integration/generated/parameters/collection-format/src/responses.ts +0 -34
  408. package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +0 -28
  409. package/test/integration/generated/parameters/collection-format/tspconfig.yaml +0 -14
  410. package/test/integration/generated/parameters/spread/src/clientDefinitions.ts +0 -61
  411. package/test/integration/generated/parameters/spread/src/index.ts +0 -12
  412. package/test/integration/generated/parameters/spread/src/logger.ts +0 -5
  413. package/test/integration/generated/parameters/spread/src/models.ts +0 -7
  414. package/test/integration/generated/parameters/spread/src/parameters.ts +0 -61
  415. package/test/integration/generated/parameters/spread/src/parametersSpread.ts +0 -35
  416. package/test/integration/generated/parameters/spread/src/responses.ts +0 -25
  417. package/test/integration/generated/parameters/spread/tspconfig.yaml +0 -12
  418. package/test/integration/generated/projection/src/clientDefinitions.ts +0 -71
  419. package/test/integration/generated/projection/src/index.ts +0 -12
  420. package/test/integration/generated/projection/src/logger.ts +0 -5
  421. package/test/integration/generated/projection/src/models.ts +0 -22
  422. package/test/integration/generated/projection/src/parameters.ts +0 -48
  423. package/test/integration/generated/projection/src/projectionClient.ts +0 -35
  424. package/test/integration/generated/projection/src/responses.ts +0 -34
  425. package/test/integration/generated/projection/tspconfig.yaml +0 -14
  426. package/test/integration/generated/resiliency/srvDriven1/.eslintrc.json +0 -11
  427. package/test/integration/generated/resiliency/srvDriven1/README.md +0 -56
  428. package/test/integration/generated/resiliency/srvDriven1/api-extractor.json +0 -18
  429. package/test/integration/generated/resiliency/srvDriven1/package.json +0 -80
  430. package/test/integration/generated/resiliency/srvDriven1/rollup.config.js +0 -118
  431. package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +0 -46
  432. package/test/integration/generated/resiliency/srvDriven1/src/index.ts +0 -11
  433. package/test/integration/generated/resiliency/srvDriven1/src/logger.ts +0 -5
  434. package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +0 -30
  435. package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +0 -19
  436. package/test/integration/generated/resiliency/srvDriven1/src/serviceDrivenOldClient.ts +0 -43
  437. package/test/integration/generated/resiliency/srvDriven1/tsconfig.json +0 -25
  438. package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +0 -15
  439. package/test/integration/generated/resiliency/srvDriven2/.eslintrc.json +0 -11
  440. package/test/integration/generated/resiliency/srvDriven2/README.md +0 -65
  441. package/test/integration/generated/resiliency/srvDriven2/api-extractor.json +0 -18
  442. package/test/integration/generated/resiliency/srvDriven2/package.json +0 -80
  443. package/test/integration/generated/resiliency/srvDriven2/rollup.config.js +0 -118
  444. package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +0 -57
  445. package/test/integration/generated/resiliency/srvDriven2/src/index.ts +0 -11
  446. package/test/integration/generated/resiliency/srvDriven2/src/logger.ts +0 -5
  447. package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +0 -45
  448. package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +0 -24
  449. package/test/integration/generated/resiliency/srvDriven2/src/serviceDrivenNewClient.ts +0 -43
  450. package/test/integration/generated/resiliency/srvDriven2/tsconfig.json +0 -25
  451. package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +0 -15
  452. package/test/integration/generated/server/path/multiple/src/clientDefinitions.ts +0 -35
  453. package/test/integration/generated/server/path/multiple/src/index.ts +0 -11
  454. package/test/integration/generated/server/path/multiple/src/logger.ts +0 -5
  455. package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +0 -43
  456. package/test/integration/generated/server/path/multiple/src/parameters.ts +0 -7
  457. package/test/integration/generated/server/path/multiple/src/responses.ts +0 -14
  458. package/test/integration/generated/server/path/multiple/tspconfig.yaml +0 -14
  459. package/test/integration/generated/server/path/single/src/clientDefinitions.ts +0 -19
  460. package/test/integration/generated/server/path/single/src/index.ts +0 -11
  461. package/test/integration/generated/server/path/single/src/logger.ts +0 -5
  462. package/test/integration/generated/server/path/single/src/parameters.ts +0 -6
  463. package/test/integration/generated/server/path/single/src/responses.ts +0 -9
  464. package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +0 -38
  465. package/test/integration/generated/server/path/single/tspconfig.yaml +0 -14
  466. package/test/integration/generated/specialWords/src/clientDefinitions.ts +0 -61
  467. package/test/integration/generated/specialWords/src/index.ts +0 -13
  468. package/test/integration/generated/specialWords/src/logger.ts +0 -5
  469. package/test/integration/generated/specialWords/src/models.ts +0 -17
  470. package/test/integration/generated/specialWords/src/outputModels.ts +0 -17
  471. package/test/integration/generated/specialWords/src/parameters.ts +0 -37
  472. package/test/integration/generated/specialWords/src/responses.ts +0 -31
  473. package/test/integration/generated/specialWords/src/specialWordsClient.ts +0 -35
  474. package/test/integration/generated/specialWords/tspconfig.yaml +0 -14
  475. package/test/integration/generated/unions/src/clientDefinitions.ts +0 -53
  476. package/test/integration/generated/unions/src/index.ts +0 -12
  477. package/test/integration/generated/unions/src/logger.ts +0 -5
  478. package/test/integration/generated/unions/src/models.ts +0 -27
  479. package/test/integration/generated/unions/src/parameters.ts +0 -34
  480. package/test/integration/generated/unions/src/responses.ts +0 -24
  481. package/test/integration/generated/unions/src/unionsClient.ts +0 -35
  482. package/test/integration/generated/unions/tspconfig.yaml +0 -14
  483. package/test/integration/internal.spec.ts +0 -76
  484. package/test/integration/lroCore.spec.ts +0 -89
  485. package/test/integration/modelInheritance.spec.ts +0 -192
  486. package/test/integration/modelPropertyNullable.spec.ts +0 -115
  487. package/test/integration/modelPropertyOptional.spec.ts +0 -362
  488. package/test/integration/modelPropertyType.spec.ts +0 -135
  489. package/test/integration/modelUsage.spec.ts +0 -47
  490. package/test/integration/projection.spec.ts +0 -102
  491. package/test/integration/resiliencyDpgCustomization.spec.ts +0 -147
  492. package/test/integration/server.spec.ts +0 -59
  493. package/test/integration/specialWords.spec.ts +0 -73
  494. package/test/integration/spreadParameters.spec.ts +0 -82
  495. package/test/integration/unions.spec.ts +0 -69
  496. package/test/tsconfig.json +0 -4
  497. package/test/unit/apiVersion.spec.ts +0 -400
  498. package/test/unit/azureCoreOperationsGenerator.spec.ts +0 -71
  499. package/test/unit/clientDefinitionGenerator.spec.ts +0 -73
  500. package/test/unit/clientFactoryGenerator.spec.ts +0 -404
  501. package/test/unit/docsGenerator.spec.ts +0 -201
  502. package/test/unit/modelsGenerator.spec.ts +0 -1529
  503. package/test/unit/parametersGenerator.spec.ts +0 -561
  504. package/test/unit/responsesGenerator.spec.ts +0 -462
  505. package/test/unit/spreadAndAlias.spec.ts +0 -200
  506. package/test/unit/util/emitUtil.ts +0 -166
  507. package/test/unit/util/testUtil.ts +0 -88
  508. package/test/util/customBearerTokenTestingPolicy.ts +0 -78
  509. package/test/util/matrix.ts +0 -48
  510. package/tsconfig.json +0 -36
  511. package/tsconfig.test.json +0 -7
  512. package/typespec-ts.build.log +0 -1
@@ -33,6 +33,7 @@ import {
33
33
  OPERATION_LRO_LOW_PRIORITY,
34
34
  OPERATION_LRO_HIGH_PRIORITY
35
35
  } from "@azure-tools/rlc-common";
36
+ import { isByteOrByteUnion } from "./modelUtils.js";
36
37
 
37
38
  export function getNormalizedOperationName(
38
39
  route: HttpOperation,
@@ -74,11 +75,15 @@ export function isDefinedStatusCode(statusCode: StatusCode) {
74
75
  return statusCode !== "*";
75
76
  }
76
77
 
77
- export function isBinaryPayload(body: Type, contentType: string) {
78
+ export function isBinaryPayload(
79
+ program: Program,
80
+ dpgContext: SdkContext,
81
+ body: Type,
82
+ contentType: string
83
+ ) {
78
84
  contentType = `"${contentType}"`;
79
85
  if (
80
- body.kind === "Scalar" &&
81
- body.name === "bytes" &&
86
+ isByteOrByteUnion(program, dpgContext, body) &&
82
87
  contentType !== `"application/json"` &&
83
88
  contentType !== `"text/plain"` &&
84
89
  contentType !== `"application/json" | "text/plain"` &&
@@ -207,6 +212,10 @@ export function hasPollingOperations(
207
212
  );
208
213
  for (const op of operations) {
209
214
  const route = ignoreDiagnostics(getHttpOperation(program, op));
215
+ // ignore overload base operation
216
+ if (route.overloads && route.overloads?.length > 0) {
217
+ continue;
218
+ }
210
219
  if (isLongRunningOperation(program, route)) {
211
220
  return true;
212
221
  }
@@ -215,6 +224,10 @@ export function hasPollingOperations(
215
224
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
216
225
  for (const clientOp of clientOperations) {
217
226
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
227
+ // ignore overload base operation
228
+ if (route.overloads && route.overloads?.length > 0) {
229
+ continue;
230
+ }
218
231
  if (isLongRunningOperation(program, route)) {
219
232
  return true;
220
233
  }
@@ -246,6 +259,10 @@ export function hasPagingOperations(
246
259
  );
247
260
  for (const op of operations) {
248
261
  const route = ignoreDiagnostics(getHttpOperation(program, op));
262
+ // ignore overload base operation
263
+ if (route.overloads && route.overloads?.length > 0) {
264
+ continue;
265
+ }
249
266
  if (isPagingOperation(program, route)) {
250
267
  return true;
251
268
  }
@@ -254,6 +271,10 @@ export function hasPagingOperations(
254
271
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
255
272
  for (const clientOp of clientOperations) {
256
273
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
274
+ // ignore overload base operation
275
+ if (route.overloads && route.overloads?.length > 0) {
276
+ continue;
277
+ }
257
278
  if (isPagingOperation(program, route)) {
258
279
  return true;
259
280
  }
@@ -63,7 +63,10 @@ export async function transformRLCModel(
63
63
  const libraryName = normalizeName(
64
64
  options.batch && (options.isModularLibrary || options.batch.length > 1)
65
65
  ? client.name
66
- : options?.title ?? getDefaultService(program)?.title ?? "",
66
+ : options?.title ??
67
+ client.name ??
68
+ getDefaultService(program)?.title ??
69
+ "",
67
70
  NameType.Class
68
71
  );
69
72
  const importSet = new Map<ImportKind, Set<string>>();
@@ -68,6 +68,10 @@ function getOperationQueryApiVersion(
68
68
  );
69
69
  for (const op of operations) {
70
70
  const route = ignoreDiagnostics(getHttpOperation(program, op));
71
+ // ignore overload base operation
72
+ if (route.overloads && route.overloads?.length > 0) {
73
+ continue;
74
+ }
71
75
  const params = route.parameters.parameters.filter(
72
76
  (p) => p.type === "query" && isApiVersion(dpgContext, p)
73
77
  );
@@ -91,6 +95,10 @@ function getOperationQueryApiVersion(
91
95
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
92
96
  for (const clientOp of clientOperations) {
93
97
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
98
+ // ignore overload base operation
99
+ if (route.overloads && route.overloads?.length > 0) {
100
+ continue;
101
+ }
94
102
  const params = route.parameters.parameters.filter(
95
103
  (p) => p.type === "query" && isApiVersion(dpgContext, p)
96
104
  );
@@ -47,6 +47,10 @@ export function transformHelperFunctionDetails(
47
47
  );
48
48
  for (const op of operations) {
49
49
  const route = ignoreDiagnostics(getHttpOperation(program, op));
50
+ // ignore overload base operation
51
+ if (route.overloads && route.overloads?.length > 0) {
52
+ continue;
53
+ }
50
54
  if (getPageable(program, route.operation)) {
51
55
  const nextLinkName =
52
56
  getPageable(program, route.operation) || "nextLink";
@@ -59,6 +63,10 @@ export function transformHelperFunctionDetails(
59
63
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
60
64
  for (const clientOp of clientOperations) {
61
65
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
66
+ // ignore overload base operation
67
+ if (route.overloads && route.overloads?.length > 0) {
68
+ continue;
69
+ }
62
70
  if (getPageable(program, route.operation)) {
63
71
  const nextLinkName = getPageable(program, route.operation) || "nextLink";
64
72
  if (nextLinkName) {
@@ -112,12 +120,20 @@ function extractPageDetailFromCore(
112
120
  );
113
121
  for (const op of operations) {
114
122
  const route = ignoreDiagnostics(getHttpOperation(program, op));
123
+ // ignore overload base operation
124
+ if (route.overloads && route.overloads?.length > 0) {
125
+ continue;
126
+ }
115
127
  extractPageDetailFromCoreForRoute(route);
116
128
  }
117
129
  }
118
130
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
119
131
  for (const clientOp of clientOperations) {
120
132
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
133
+ // ignore overload base operation
134
+ if (route.overloads && route.overloads?.length > 0) {
135
+ continue;
136
+ }
121
137
  extractPageDetailFromCoreForRoute(route);
122
138
  }
123
139
 
@@ -178,6 +194,7 @@ function extractSpecialSerializeInfo(
178
194
  let hasPipeCollection = false;
179
195
  let hasTsvCollection = false;
180
196
  let hasSsvCollection = false;
197
+ let hasCsvCollection = false;
181
198
  const operationGroups = listOperationGroups(dpgContext, client);
182
199
  for (const operationGroup of operationGroups) {
183
200
  const operations = listOperationsInOperationGroup(
@@ -200,6 +217,9 @@ function extractSpecialSerializeInfo(
200
217
  hasSsvCollection = hasSsvCollection
201
218
  ? hasSsvCollection
202
219
  : serializeInfo.hasSsvCollection;
220
+ hasCsvCollection = hasCsvCollection
221
+ ? hasCsvCollection
222
+ : serializeInfo.hasCsvCollection;
203
223
  });
204
224
  }
205
225
  }
@@ -220,12 +240,16 @@ function extractSpecialSerializeInfo(
220
240
  hasSsvCollection = hasSsvCollection
221
241
  ? hasSsvCollection
222
242
  : serializeInfo.hasSsvCollection;
243
+ hasCsvCollection = hasCsvCollection
244
+ ? hasCsvCollection
245
+ : serializeInfo.hasCsvCollection;
223
246
  });
224
247
  }
225
248
  return {
226
249
  hasMultiCollection,
227
250
  hasPipeCollection,
228
251
  hasTsvCollection,
229
- hasSsvCollection
252
+ hasSsvCollection,
253
+ hasCsvCollection
230
254
  };
231
255
  }
@@ -21,10 +21,11 @@ import {
21
21
  getImportedModelName,
22
22
  getTypeName,
23
23
  getSchemaForType,
24
- getBinaryType,
25
24
  getFormattedPropertyDoc,
26
25
  getBodyType,
27
- predictDefaultValue
26
+ predictDefaultValue,
27
+ getBinaryType,
28
+ enrichBinaryTypeInBody
28
29
  } from "../modelUtils.js";
29
30
 
30
31
  import { getOperationGroupName, isBinaryPayload } from "../operationUtil.js";
@@ -53,12 +54,20 @@ export function transformToParameterTypes(
53
54
  );
54
55
  for (const op of operations) {
55
56
  const route = ignoreDiagnostics(getHttpOperation(program, op));
57
+ // ignore overload base operation
58
+ if (route.overloads && route.overloads?.length > 0) {
59
+ continue;
60
+ }
56
61
  transformToParameterTypesForRoute(program, route, operationGroup);
57
62
  }
58
63
  }
59
64
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
60
65
  for (const clientOp of clientOperations) {
61
66
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
67
+ // ignore overload base operation
68
+ if (route.overloads && route.overloads?.length > 0) {
69
+ continue;
70
+ }
62
71
  transformToParameterTypesForRoute(program, route);
63
72
  }
64
73
  if (outputImportedSet.size > 0) {
@@ -135,7 +144,8 @@ function getParameterMetadata(
135
144
  serializeInfo.hasMultiCollection ||
136
145
  serializeInfo.hasPipeCollection ||
137
146
  serializeInfo.hasSsvCollection ||
138
- serializeInfo.hasTsvCollection
147
+ serializeInfo.hasTsvCollection ||
148
+ serializeInfo.hasCsvCollection
139
149
  ) {
140
150
  type = "string";
141
151
  description += ` This parameter needs to be formatted as ${serializeInfo.collectionInfo.join(
@@ -230,21 +240,25 @@ function transformBodyParameters(
230
240
  if (!bodyType) {
231
241
  return;
232
242
  }
233
- const { hasBinaryContent, hasFormContent } = getBodyDetail(bodyType, headers);
243
+ const { hasBinaryContent, hasFormContent } = getBodyDetail(
244
+ program,
245
+ dpgContext,
246
+ bodyType,
247
+ headers
248
+ );
234
249
 
235
- if (!hasBinaryContent && !hasFormContent) {
250
+ if (!hasFormContent) {
236
251
  // Case 1: Handle the normal case without binary or form data
252
+ // Case 2: Handle the binary body
237
253
  return transformNormalBody(
238
254
  program,
239
255
  dpgContext,
240
256
  bodyType,
241
257
  parameters,
242
258
  importedModels,
243
- headers
259
+ headers,
260
+ hasBinaryContent
244
261
  );
245
- } else if (hasBinaryContent) {
246
- // Case 2: Handle the binary body
247
- return transformBinaryBody(program, parameters);
248
262
  } else {
249
263
  // Case 3: Handle the form data
250
264
  return transformMultiFormBody(
@@ -263,14 +277,18 @@ function transformNormalBody(
263
277
  bodyType: Type,
264
278
  parameters: HttpOperationParameters,
265
279
  importedModels: Set<string>,
266
- headers: ParameterMetadata[]
280
+ headers: ParameterMetadata[],
281
+ hasBinaryContent: boolean
267
282
  ) {
268
- const description = extractDescriptionsFromBody(
283
+ const descriptions = extractDescriptionsFromBody(
269
284
  program,
270
285
  dpgContext,
271
286
  bodyType,
272
287
  parameters
273
- ).join("\n\n");
288
+ );
289
+ if (hasBinaryContent) {
290
+ descriptions.push("Value may contain any sequence of octets");
291
+ }
274
292
  const type = extractNameFromCadlType(
275
293
  program,
276
294
  dpgContext,
@@ -278,7 +296,12 @@ function transformNormalBody(
278
296
  importedModels,
279
297
  headers
280
298
  );
281
- const schema = getSchemaForType(program, dpgContext, bodyType);
299
+ let schema = getSchemaForType(program, dpgContext, bodyType);
300
+ let overrideType = undefined;
301
+ if (hasBinaryContent) {
302
+ schema = enrichBinaryTypeInBody(schema);
303
+ overrideType = schema.typeName;
304
+ }
282
305
  return {
283
306
  isPartialBody: false,
284
307
  body: [
@@ -286,32 +309,7 @@ function transformNormalBody(
286
309
  properties: schema.properties,
287
310
  typeName: schema.name,
288
311
  name: "body",
289
- type,
290
- required: parameters?.bodyParameter?.optional === false,
291
- description
292
- }
293
- ]
294
- };
295
- }
296
-
297
- function transformBinaryBody(
298
- program: Program,
299
- parameters: HttpOperationParameters
300
- ) {
301
- const descriptions: string[] = [];
302
- const description =
303
- parameters.bodyParameter &&
304
- getFormattedPropertyDoc(program, parameters.bodyParameter, {});
305
- if (description) {
306
- descriptions.push(description!);
307
- }
308
- descriptions.push("Value may contain any sequence of octets");
309
- return {
310
- isPartialBody: false,
311
- body: [
312
- {
313
- name: "body",
314
- type: getBinaryType([SchemaContext.Input, SchemaContext.Exception]),
312
+ type: overrideType ?? type,
315
313
  required: parameters?.bodyParameter?.optional === false,
316
314
  description: descriptions.join("\n\n")
317
315
  }
@@ -395,12 +393,17 @@ function transformMultiFormBody(
395
393
  return bodyParameters;
396
394
  }
397
395
 
398
- function getBodyDetail(bodyType: Type, headers: ParameterMetadata[]) {
396
+ function getBodyDetail(
397
+ program: Program,
398
+ dpgContext: SdkContext,
399
+ bodyType: Type,
400
+ headers: ParameterMetadata[]
401
+ ) {
399
402
  const contentTypes: string[] = headers
400
403
  .filter((h) => h.name === "contentType")
401
404
  .map((h) => h.param.type);
402
405
  const hasBinaryContent = contentTypes.some((c) =>
403
- isBinaryPayload(bodyType, c)
406
+ isBinaryPayload(program, dpgContext, bodyType, c)
404
407
  );
405
408
  const hasFormContent = contentTypes.includes(`"multipart/form-data"`);
406
409
  return { hasBinaryContent, hasFormContent };
@@ -493,6 +496,7 @@ export function getSpecialSerializeInfo(parameter: HttpOperationParameter) {
493
496
  let hasPipeCollection = false;
494
497
  let hasSsvCollection = false;
495
498
  let hasTsvCollection = false;
499
+ let hasCsvCollection = false;
496
500
  const descriptions = [];
497
501
  const collectionInfo = [];
498
502
  if (
@@ -520,11 +524,18 @@ export function getSpecialSerializeInfo(parameter: HttpOperationParameter) {
520
524
  descriptions.push("buildPipeCollection");
521
525
  collectionInfo.push("pipe");
522
526
  }
527
+
528
+ if (parameter.type === "header" && (parameter as any).format === "csv") {
529
+ hasCsvCollection = true;
530
+ descriptions.push("buildCsvCollection");
531
+ collectionInfo.push("csv");
532
+ }
523
533
  return {
524
534
  hasMultiCollection,
525
535
  hasPipeCollection,
526
536
  hasSsvCollection,
527
537
  hasTsvCollection,
538
+ hasCsvCollection,
528
539
  descriptions,
529
540
  collectionInfo
530
541
  };
@@ -48,12 +48,20 @@ export function transformPaths(
48
48
  );
49
49
  for (const op of operations) {
50
50
  const route = ignoreDiagnostics(getHttpOperation(program, op));
51
+ // ignore overload base operation
52
+ if (route.overloads && route.overloads?.length > 0) {
53
+ continue;
54
+ }
51
55
  transformOperation(program, dpgContext, route, paths, operationGroup);
52
56
  }
53
57
  }
54
58
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
55
59
  for (const clientOp of clientOperations) {
56
60
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
61
+ // ignore overload base operation
62
+ if (route.overloads && route.overloads?.length > 0) {
63
+ continue;
64
+ }
57
65
  transformOperation(program, dpgContext, route, paths);
58
66
  }
59
67
  return paths;
@@ -52,12 +52,20 @@ export function transformToResponseTypes(
52
52
  );
53
53
  for (const op of operations) {
54
54
  const route = ignoreDiagnostics(getHttpOperation(program, op));
55
+ // ignore overload base operation
56
+ if (route.overloads && route.overloads?.length > 0) {
57
+ continue;
58
+ }
55
59
  transformToResponseTypesForRoute(route, operationGroup);
56
60
  }
57
61
  }
58
62
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
59
63
  for (const clientOp of clientOperations) {
60
64
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
65
+ // ignore overload base operation
66
+ if (route.overloads && route.overloads?.length > 0) {
67
+ continue;
68
+ }
61
69
  transformToResponseTypesForRoute(route);
62
70
  }
63
71
  if (inputImportedSet.size > 0) {
@@ -169,7 +177,7 @@ function transformBody(
169
177
  continue;
170
178
  }
171
179
  const hasBinaryContent = body.contentTypes.some((contentType) =>
172
- isBinaryPayload(body.type, contentType)
180
+ isBinaryPayload(program, dpgContext, body.type, contentType)
173
181
  );
174
182
  if (hasBinaryContent) {
175
183
  typeSet.add(getBinaryType([SchemaContext.Output]));
@@ -36,12 +36,20 @@ export function transformSchemas(
36
36
  );
37
37
  for (const op of operations) {
38
38
  const route = ignoreDiagnostics(getHttpOperation(program, op));
39
+ // ignore overload base operation
40
+ if (route.overloads && route.overloads?.length > 0) {
41
+ continue;
42
+ }
39
43
  transformSchemaForRoute(route);
40
44
  }
41
45
  }
42
46
  const clientOperations = listOperationsInOperationGroup(dpgContext, client);
43
47
  for (const clientOp of clientOperations) {
44
48
  const route = ignoreDiagnostics(getHttpOperation(program, clientOp));
49
+ // ignore overload base operation
50
+ if (route.overloads && route.overloads?.length > 0) {
51
+ continue;
52
+ }
45
53
  transformSchemaForRoute(route);
46
54
  }
47
55
  function transformSchemaForRoute(route: HttpOperation) {
package/.eslintrc.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "parser": "@typescript-eslint/parser",
3
- "parserOptions": { "project": "./tsconfig.json" },
4
- "plugins": ["@typescript-eslint"],
5
- "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
6
- "rules": {
7
- "@typescript-eslint/no-non-null-assertion": "off",
8
- "@typescript-eslint/no-explicit-any": "off",
9
- "@typescript-eslint/no-inferrable-types": "off",
10
- "@typescript-eslint/no-empty-function": "off",
11
- "@typescript-eslint/no-empty-interface": "off",
12
- "@typescript-eslint/no-unused-vars": [
13
- "warn",
14
- {
15
- "varsIgnorePattern": "^_",
16
- "argsIgnorePattern": ".*",
17
- "ignoreRestSiblings": true
18
- }
19
- ],
20
- "@typescript-eslint/no-floating-promises": "error",
21
- "@typescript-eslint/no-misused-promises": "error"
22
- }
23
- }
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- ./dist
package/.prettierrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "trailingComma": "none",
3
- "semi": true,
4
- "tabWidth": 2,
5
- "printWidth": 80,
6
- "endOfLine": "auto"
7
- }
@@ -1 +0,0 @@
1
- Invoking: tsc -p .
@@ -1,3 +0,0 @@
1
- {
2
- "nonCachedDurationMs": 8820.703389000002
3
- }