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

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 (506) hide show
  1. package/dist/src/contextManager.d.ts +5 -5
  2. package/dist/src/contextManager.d.ts.map +1 -1
  3. package/dist/src/contextManager.js.map +1 -1
  4. package/dist/src/framework/declaration.d.ts +1 -1
  5. package/dist/src/framework/declaration.d.ts.map +1 -1
  6. package/dist/src/framework/declaration.js +2 -4
  7. package/dist/src/framework/declaration.js.map +1 -1
  8. package/dist/src/framework/dependency.d.ts.map +1 -1
  9. package/dist/src/framework/hooks/binder.d.ts +1 -1
  10. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/binder.js +12 -20
  12. package/dist/src/framework/hooks/binder.js.map +1 -1
  13. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  14. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  15. package/dist/src/framework/hooks/sdkTypes.js +8 -11
  16. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  17. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  18. package/dist/src/framework/hooks/useDependencies.js +1 -1
  19. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  20. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  21. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  22. package/dist/src/framework/load-static-helpers.js +12 -25
  23. package/dist/src/framework/load-static-helpers.js.map +1 -1
  24. package/dist/src/framework/reference.d.ts.map +1 -1
  25. package/dist/src/framework/reference.js +1 -1
  26. package/dist/src/framework/reference.js.map +1 -1
  27. package/dist/src/framework/sample.js +8 -8
  28. package/dist/src/framework/sample.js.map +1 -1
  29. package/dist/src/index.d.ts +1 -1
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +70 -48
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/lib.d.ts +1 -1
  34. package/dist/src/lib.d.ts.map +1 -1
  35. package/dist/src/lib.js +140 -140
  36. package/dist/src/lib.js.map +1 -1
  37. package/dist/src/metaTree.d.ts +1 -1
  38. package/dist/src/metaTree.d.ts.map +1 -1
  39. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  40. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.js +49 -62
  42. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  43. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  44. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  45. package/dist/src/modular/buildClassicalOperationGroups.js +4 -7
  46. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  47. package/dist/src/modular/buildClientContext.d.ts +2 -2
  48. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  49. package/dist/src/modular/buildClientContext.js +30 -36
  50. package/dist/src/modular/buildClientContext.js.map +1 -1
  51. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  52. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  53. package/dist/src/modular/buildModularOptions.js +2 -2
  54. package/dist/src/modular/buildModularOptions.js.map +1 -1
  55. package/dist/src/modular/buildOperations.d.ts +3 -3
  56. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  57. package/dist/src/modular/buildOperations.js +22 -23
  58. package/dist/src/modular/buildOperations.js.map +1 -1
  59. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  60. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  61. package/dist/src/modular/buildProjectFiles.js +7 -9
  62. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  63. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  64. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  65. package/dist/src/modular/buildRestorePoller.js +11 -11
  66. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  67. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  68. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  69. package/dist/src/modular/buildRootIndex.js +30 -39
  70. package/dist/src/modular/buildRootIndex.js.map +1 -1
  71. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  72. package/dist/src/modular/buildSubpathIndex.js +9 -17
  73. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  74. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  75. package/dist/src/modular/emitLoggerFile.js +2 -2
  76. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  77. package/dist/src/modular/emitModels.d.ts +1 -1
  78. package/dist/src/modular/emitModels.d.ts.map +1 -1
  79. package/dist/src/modular/emitModels.js +54 -72
  80. package/dist/src/modular/emitModels.js.map +1 -1
  81. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  82. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  83. package/dist/src/modular/emitModelsOptions.js +6 -7
  84. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  85. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  86. package/dist/src/modular/emitSamples.js +40 -52
  87. package/dist/src/modular/emitSamples.js.map +1 -1
  88. package/dist/src/modular/emitTests.d.ts.map +1 -1
  89. package/dist/src/modular/emitTests.js +9 -12
  90. package/dist/src/modular/emitTests.js.map +1 -1
  91. package/dist/src/modular/external-dependencies.js +54 -54
  92. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  93. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  94. package/dist/src/modular/helpers/classicalOperationHelpers.js +27 -36
  95. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  96. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  97. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  98. package/dist/src/modular/helpers/clientHelpers.js +20 -38
  99. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  100. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  101. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  102. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  103. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  104. package/dist/src/modular/helpers/exampleValueHelpers.js +39 -58
  105. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  106. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  107. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  108. package/dist/src/modular/helpers/namingHelpers.js +4 -5
  109. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  110. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  111. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  112. package/dist/src/modular/helpers/operationHelpers.js +136 -196
  113. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  114. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  115. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  116. package/dist/src/modular/helpers/typeHelpers.js +1 -1
  117. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  118. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  119. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  120. package/dist/src/modular/serialization/buildDeserializerFunction.js +50 -56
  121. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  122. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  123. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  124. package/dist/src/modular/serialization/buildSerializerFunction.js +52 -59
  125. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  126. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  127. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  128. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +43 -51
  129. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  130. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  131. package/dist/src/modular/serialization/serializeUtils.js +4 -11
  132. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  133. package/dist/src/modular/static-helpers-metadata.js +60 -60
  134. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  135. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  136. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  137. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  138. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
  139. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  140. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  141. package/dist/src/modular/type-expressions/get-model-expression.js +7 -9
  142. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  143. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  144. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  145. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  146. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  147. package/dist/src/modular/type-expressions/get-type-expression.js +4 -8
  148. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  149. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  150. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  151. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  152. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  153. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  154. package/dist/src/rlc-common/buildClient.js +48 -66
  155. package/dist/src/rlc-common/buildClient.js.map +1 -1
  156. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  157. package/dist/src/rlc-common/buildClientDefinitions.js +24 -42
  158. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  159. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  160. package/dist/src/rlc-common/buildIndexFile.js +57 -57
  161. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  162. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  163. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +32 -35
  164. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  165. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  166. package/dist/src/rlc-common/buildLogger.js +3 -3
  167. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  168. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  169. package/dist/src/rlc-common/buildMethodShortcuts.js +3 -3
  170. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  171. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  172. package/dist/src/rlc-common/buildObjectTypes.js +31 -48
  173. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  174. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  175. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  176. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  177. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  178. package/dist/src/rlc-common/buildParameterTypes.js +63 -50
  179. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  180. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  181. package/dist/src/rlc-common/buildPollingHelper.js +5 -5
  182. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  183. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  184. package/dist/src/rlc-common/buildResponseTypes.js +19 -22
  185. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  186. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  187. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  188. package/dist/src/rlc-common/buildSamples.js +2 -2
  189. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  190. package/dist/src/rlc-common/buildSchemaType.js +31 -13
  191. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  192. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  193. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  194. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  195. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  196. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  197. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  198. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  199. package/dist/src/rlc-common/helpers/apiVersionUtil.js +2 -3
  200. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  201. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  202. package/dist/src/rlc-common/helpers/importsUtil.js +23 -25
  203. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  204. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  205. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  206. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  207. package/dist/src/rlc-common/helpers/nameUtils.js +8 -13
  208. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  209. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  210. package/dist/src/rlc-common/helpers/operationHelpers.js +8 -12
  211. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  212. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  213. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  214. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  215. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  216. package/dist/src/rlc-common/helpers/schemaHelpers.js +1 -1
  217. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  218. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  219. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  220. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  221. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  222. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  223. package/dist/src/rlc-common/helpers/typeUtil.js +1 -2
  224. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  225. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +3 -4
  226. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  227. package/dist/src/rlc-common/index.d.ts +28 -28
  228. package/dist/src/rlc-common/index.d.ts.map +1 -1
  229. package/dist/src/rlc-common/index.js +28 -28
  230. package/dist/src/rlc-common/index.js.map +1 -1
  231. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  232. package/dist/src/rlc-common/interfaces.js.map +1 -1
  233. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  234. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +13 -13
  235. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  236. package/dist/src/rlc-common/metadata/buildChangelogFile.js +1 -1
  237. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  238. package/dist/src/rlc-common/metadata/buildESLintConfig.js +3 -5
  239. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  240. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  241. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  242. package/dist/src/rlc-common/metadata/buildPackageFile.js +16 -16
  243. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  244. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  245. package/dist/src/rlc-common/metadata/buildReadmeFile.js +10 -18
  246. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  247. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  248. package/dist/src/rlc-common/metadata/buildRollupConfig.js +3 -4
  249. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  250. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  251. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +2 -3
  252. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildTestConfig.js +8 -8
  254. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  255. package/dist/src/rlc-common/metadata/buildTsConfig.js +23 -21
  256. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  257. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  258. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -4
  259. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  260. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  261. package/dist/src/rlc-common/metadata/buildWarpConfig.js +2 -2
  262. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  263. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  264. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  265. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +13 -13
  266. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  267. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  268. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +22 -26
  269. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  270. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  271. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  272. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  274. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  275. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  276. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +26 -29
  277. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  278. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  279. package/dist/src/rlc-common/test/buildRecordedClient.js +3 -3
  280. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  281. package/dist/src/rlc-common/test/buildSampleTest.js +2 -2
  282. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  283. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  284. package/dist/src/rlc-common/test/buildSnippets.js +4 -6
  285. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  286. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  287. package/dist/src/rlc-common/transformSampleGroups.js +19 -23
  288. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  289. package/dist/src/testing/index.d.ts.map +1 -1
  290. package/dist/src/testing/index.js +1 -1
  291. package/dist/src/testing/index.js.map +1 -1
  292. package/dist/src/transform/transform.d.ts +1 -1
  293. package/dist/src/transform/transform.d.ts.map +1 -1
  294. package/dist/src/transform/transform.js +10 -11
  295. package/dist/src/transform/transform.js.map +1 -1
  296. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  297. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  298. package/dist/src/transform/transformApiVersionInfo.js +8 -10
  299. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  300. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  301. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  302. package/dist/src/transform/transformHelperFunctionDetails.js +9 -11
  303. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  304. package/dist/src/transform/transformParameters.d.ts +2 -2
  305. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  306. package/dist/src/transform/transformParameters.js +22 -28
  307. package/dist/src/transform/transformParameters.js.map +1 -1
  308. package/dist/src/transform/transformPaths.d.ts +1 -1
  309. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  310. package/dist/src/transform/transformPaths.js +11 -12
  311. package/dist/src/transform/transformPaths.js.map +1 -1
  312. package/dist/src/transform/transformResponses.d.ts +1 -1
  313. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  314. package/dist/src/transform/transformResponses.js +12 -12
  315. package/dist/src/transform/transformResponses.js.map +1 -1
  316. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  317. package/dist/src/transform/transformSchemas.js +9 -15
  318. package/dist/src/transform/transformSchemas.js.map +1 -1
  319. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  320. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  321. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  322. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  323. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  324. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  325. package/dist/src/transform/transfromRLCOptions.js +14 -26
  326. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  327. package/dist/src/utils/clientUtils.d.ts +1 -1
  328. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  329. package/dist/src/utils/clientUtils.js +11 -14
  330. package/dist/src/utils/clientUtils.js.map +1 -1
  331. package/dist/src/utils/credentialUtils.d.ts +1 -1
  332. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  333. package/dist/src/utils/credentialUtils.js +3 -3
  334. package/dist/src/utils/credentialUtils.js.map +1 -1
  335. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  336. package/dist/src/utils/crossLanguageDef.js +8 -12
  337. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  338. package/dist/src/utils/emitUtil.d.ts +1 -1
  339. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  340. package/dist/src/utils/emitUtil.js +4 -6
  341. package/dist/src/utils/emitUtil.js.map +1 -1
  342. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  343. package/dist/src/utils/fileSystemUtils.js +2 -2
  344. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  345. package/dist/src/utils/importHelper.d.ts.map +1 -1
  346. package/dist/src/utils/importHelper.js +2 -4
  347. package/dist/src/utils/importHelper.js.map +1 -1
  348. package/dist/src/utils/interfaces.d.ts +1 -1
  349. package/dist/src/utils/interfaces.d.ts.map +1 -1
  350. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  351. package/dist/src/utils/mediaTypes.js +7 -19
  352. package/dist/src/utils/mediaTypes.js.map +1 -1
  353. package/dist/src/utils/modelUtils.d.ts +5 -5
  354. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  355. package/dist/src/utils/modelUtils.js +108 -171
  356. package/dist/src/utils/modelUtils.js.map +1 -1
  357. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  358. package/dist/src/utils/namespaceUtils.js +2 -2
  359. package/dist/src/utils/namespaceUtils.js.map +1 -1
  360. package/dist/src/utils/operationUtil.d.ts +1 -1
  361. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  362. package/dist/src/utils/operationUtil.js +29 -42
  363. package/dist/src/utils/operationUtil.js.map +1 -1
  364. package/dist/src/utils/parameterUtils.d.ts +1 -1
  365. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  366. package/dist/src/utils/parameterUtils.js +19 -22
  367. package/dist/src/utils/parameterUtils.js.map +1 -1
  368. package/dist/src/utils/resolve-project-root.js +2 -2
  369. package/dist/src/utils/resolve-project-root.js.map +1 -1
  370. package/dist/tsconfig.tsbuildinfo +1 -1
  371. package/package.json +1 -3
  372. package/src/contextManager.ts +6 -9
  373. package/src/framework/declaration.ts +18 -28
  374. package/src/framework/dependency.ts +1 -2
  375. package/src/framework/hooks/binder.ts +47 -120
  376. package/src/framework/hooks/sdkTypes.ts +27 -54
  377. package/src/framework/hooks/useDependencies.ts +2 -4
  378. package/src/framework/load-static-helpers.ts +28 -51
  379. package/src/framework/reference.ts +2 -5
  380. package/src/framework/sample.ts +9 -9
  381. package/src/index.ts +139 -180
  382. package/src/lib.ts +143 -158
  383. package/src/metaTree.ts +1 -1
  384. package/src/modular/buildClassicalClient.ts +83 -160
  385. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  386. package/src/modular/buildClientContext.ts +54 -83
  387. package/src/modular/buildModularOptions.ts +4 -5
  388. package/src/modular/buildOperations.ts +46 -73
  389. package/src/modular/buildProjectFiles.ts +18 -47
  390. package/src/modular/buildRestorePoller.ts +27 -46
  391. package/src/modular/buildRootIndex.ts +86 -159
  392. package/src/modular/buildSubpathIndex.ts +35 -58
  393. package/src/modular/emitLoggerFile.ts +4 -9
  394. package/src/modular/emitModels.ts +136 -266
  395. package/src/modular/emitModelsOptions.ts +10 -16
  396. package/src/modular/emitSamples.ts +91 -177
  397. package/src/modular/emitTests.ts +28 -61
  398. package/src/modular/external-dependencies.ts +54 -54
  399. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  400. package/src/modular/helpers/clientHelpers.ts +41 -88
  401. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  402. package/src/modular/helpers/exampleValueHelpers.ts +97 -209
  403. package/src/modular/helpers/namingHelpers.ts +12 -28
  404. package/src/modular/helpers/operationHelpers.ts +430 -757
  405. package/src/modular/helpers/typeHelpers.ts +11 -22
  406. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  407. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  408. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  409. package/src/modular/serialization/serializeUtils.ts +12 -21
  410. package/src/modular/static/rollup.test.config.js +11 -14
  411. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  412. package/src/modular/static-helpers-metadata.ts +60 -60
  413. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  414. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  415. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  416. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  417. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  418. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  419. package/src/modular/type-expressions/utils.ts +1 -1
  420. package/src/rlc-common/buildClient.ts +70 -141
  421. package/src/rlc-common/buildClientDefinitions.ts +43 -87
  422. package/src/rlc-common/buildIndexFile.ts +78 -78
  423. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  424. package/src/rlc-common/buildLogger.ts +7 -7
  425. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  426. package/src/rlc-common/buildObjectTypes.ts +79 -156
  427. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  428. package/src/rlc-common/buildParameterTypes.ts +116 -137
  429. package/src/rlc-common/buildPollingHelper.ts +7 -7
  430. package/src/rlc-common/buildResponseTypes.ts +34 -57
  431. package/src/rlc-common/buildSamples.ts +3 -3
  432. package/src/rlc-common/buildSchemaType.ts +37 -29
  433. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  434. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  435. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  436. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  437. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  438. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  439. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  440. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  441. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  442. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  443. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  444. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  445. package/src/rlc-common/index.ts +28 -28
  446. package/src/rlc-common/interfaces.ts +3 -11
  447. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  448. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  449. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  450. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  451. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  452. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  453. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  454. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  455. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  456. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  457. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  458. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  459. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  460. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  461. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  462. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  463. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  464. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  465. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  466. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  467. package/src/rlc-common/test/buildSnippets.ts +6 -12
  468. package/src/rlc-common/transformSampleGroups.ts +54 -105
  469. package/src/testing/index.ts +2 -5
  470. package/src/transform/transform.ts +22 -34
  471. package/src/transform/transformApiVersionInfo.ts +17 -30
  472. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  473. package/src/transform/transformParameters.ts +55 -105
  474. package/src/transform/transformPaths.ts +26 -43
  475. package/src/transform/transformResponses.ts +26 -33
  476. package/src/transform/transformSchemas.ts +15 -33
  477. package/src/transform/transformTelemetryInfo.ts +8 -14
  478. package/src/transform/transfromRLCOptions.ts +53 -115
  479. package/src/utils/clientUtils.ts +22 -41
  480. package/src/utils/credentialUtils.ts +8 -19
  481. package/src/utils/crossLanguageDef.ts +15 -34
  482. package/src/utils/emitUtil.ts +11 -17
  483. package/src/utils/fileSystemUtils.ts +4 -6
  484. package/src/utils/importHelper.ts +5 -10
  485. package/src/utils/interfaces.ts +1 -1
  486. package/src/utils/mediaTypes.ts +13 -34
  487. package/src/utils/modelUtils.ts +175 -384
  488. package/src/utils/namespaceUtils.ts +8 -24
  489. package/src/utils/operationUtil.ts +98 -190
  490. package/src/utils/parameterUtils.ts +31 -54
  491. package/src/utils/resolve-project-root.ts +3 -3
  492. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  493. package/static/static-helpers/multipartHelpers.ts +3 -3
  494. package/static/static-helpers/pagingHelpers.ts +28 -63
  495. package/static/static-helpers/pollingHelpers.ts +15 -28
  496. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  497. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  498. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  499. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  500. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  501. package/static/static-helpers/serialization/serializers.ts +4 -7
  502. package/static/static-helpers/serialization/xml-helpers.ts +41 -89
  503. package/static/static-helpers/simplePollerHelpers.ts +9 -18
  504. package/static/static-helpers/storageCompatResponse.ts +10 -27
  505. package/static/static-helpers/urlTemplate.ts +4 -7
  506. package/static/test-helpers/recordedClient.ts +5 -10
@@ -1,4 +1,3 @@
1
- import { FunctionDeclarationStructure, StructureKind } from "ts-morph";
2
1
  import {
3
2
  SdkArrayType,
4
3
  SdkDictionaryType,
@@ -6,53 +5,44 @@ import {
6
5
  SdkModelType,
7
6
  SdkType,
8
7
  SdkUnionType,
9
- UsageFlags
8
+ UsageFlags,
10
9
  } from "@azure-tools/typespec-client-generator-core";
10
+ import { NoTarget } from "@typespec/compiler";
11
+ import { isOrExtendsHttpFile } from "@typespec/http";
12
+ import { FunctionDeclarationStructure, StructureKind } from "ts-morph";
13
+ import { useContext } from "../../contextManager.js";
14
+ import { resolveReference } from "../../framework/reference.js";
15
+ import { refkey } from "../../framework/refkey.js";
16
+ import { reportDiagnostic } from "../../lib.js";
17
+ import { NameType, normalizeName } from "../../rlc-common/index.js";
11
18
  import { SdkContext } from "../../utils/interfaces.js";
19
+ import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
20
+ import { getAdditionalPropertiesName, normalizeModelName } from "../emitModels.js";
12
21
  import {
13
22
  getAllAncestors,
14
23
  getAllProperties,
15
24
  getPropertyFullName,
16
25
  getRequestModelMapping,
17
- getSerializationExpression
26
+ getSerializationExpression,
18
27
  } from "../helpers/operationHelpers.js";
19
- import {
20
- getAdditionalPropertiesName,
21
- normalizeModelName
22
- } from "../emitModels.js";
23
- import { NameType, normalizeName } from "../../rlc-common/index.js";
24
- import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
28
+ import { getAdditionalPropertiesType, getDirectSubtypes } from "../helpers/typeHelpers.js";
29
+ import { MultipartHelpers, SerializationHelpers } from "../static-helpers-metadata.js";
25
30
  import {
26
31
  getAllDiscriminatedValues,
27
32
  isDiscriminatedUnion,
28
33
  isSupportedSerializeType,
29
- ModelSerializeOptions
34
+ ModelSerializeOptions,
30
35
  } from "./serializeUtils.js";
31
- import {
32
- MultipartHelpers,
33
- SerializationHelpers
34
- } from "../static-helpers-metadata.js";
35
- import { resolveReference } from "../../framework/reference.js";
36
- import { isOrExtendsHttpFile } from "@typespec/http";
37
- import { refkey } from "../../framework/refkey.js";
38
- import {
39
- getAdditionalPropertiesType,
40
- getDirectSubtypes
41
- } from "../helpers/typeHelpers.js";
42
- import { reportDiagnostic } from "../../lib.js";
43
- import { NoTarget } from "@typespec/compiler";
44
- import { useContext } from "../../contextManager.js";
45
36
 
46
37
  export function buildPropertySerializer(
47
38
  context: SdkContext,
48
39
  property: SdkModelPropertyType,
49
40
  options: ModelSerializeOptions = {
50
41
  nameOnly: false,
51
- skipDiscriminatedUnionSuffix: false
52
- }
42
+ skipDiscriminatedUnionSuffix: false,
43
+ },
53
44
  ) {
54
- const propertyContext =
55
- useContext("sdkTypes").flattenProperties.get(property);
45
+ const propertyContext = useContext("sdkTypes").flattenProperties.get(property);
56
46
  // only build de-serializer for flatten property
57
47
  if (property.flatten !== true || !propertyContext) {
58
48
  return undefined;
@@ -60,19 +50,19 @@ export function buildPropertySerializer(
60
50
  const predefinedName = `_${normalizeName(
61
51
  `${propertyContext.baseModel.name}_${property.name}`,
62
52
  NameType.Method,
63
- true
53
+ true,
64
54
  )}Serializer`;
65
55
  return buildModelSerializer(context, property.type, {
66
56
  ...options,
67
57
  flatten: {
68
58
  baseModel: propertyContext.baseModel,
69
- property
59
+ property,
70
60
  },
71
61
  overrides: {
72
62
  allOptional: property.optional,
73
- propertyRenames: propertyContext.conflictMap
63
+ propertyRenames: propertyContext.conflictMap,
74
64
  },
75
- predefinedName
65
+ predefinedName,
76
66
  });
77
67
  }
78
68
 
@@ -81,8 +71,8 @@ export function buildModelSerializer(
81
71
  type: SdkType,
82
72
  options: ModelSerializeOptions = {
83
73
  nameOnly: false,
84
- skipDiscriminatedUnionSuffix: false
85
- }
74
+ skipDiscriminatedUnionSuffix: false,
75
+ },
86
76
  ): FunctionDeclarationStructure | undefined | string {
87
77
  if (!isSupportedSerializeType(type)) {
88
78
  return undefined;
@@ -91,8 +81,7 @@ export function buildModelSerializer(
91
81
  if (type.kind === "model" || type.kind === "union" || type.kind === "enum") {
92
82
  if (
93
83
  !type.usage ||
94
- (type.usage !== undefined &&
95
- (type.usage & UsageFlags.Input) !== UsageFlags.Input)
84
+ (type.usage !== undefined && (type.usage & UsageFlags.Input) !== UsageFlags.Input)
96
85
  ) {
97
86
  return undefined;
98
87
  }
@@ -109,11 +98,7 @@ export function buildModelSerializer(
109
98
  }
110
99
  }
111
100
 
112
- if (
113
- !isDiscriminatedUnion(type) &&
114
- type.kind === "model" &&
115
- type.discriminatorProperty
116
- ) {
101
+ if (!isDiscriminatedUnion(type) && type.kind === "model" && type.discriminatorProperty) {
117
102
  return buildPolymorphicSerializer(context, type, nameOnly);
118
103
  }
119
104
 
@@ -138,28 +123,28 @@ export function buildModelSerializer(
138
123
  function buildPolymorphicSerializer(
139
124
  context: SdkContext,
140
125
  type: SdkModelType,
141
- nameOnly: boolean
126
+ nameOnly: boolean,
142
127
  ): string;
143
128
  function buildPolymorphicSerializer(
144
129
  context: SdkContext,
145
- type: SdkModelType
130
+ type: SdkModelType,
146
131
  ): FunctionDeclarationStructure | undefined;
147
132
  function buildPolymorphicSerializer(
148
133
  context: SdkContext,
149
134
  type: SdkModelType,
150
- nameOnly = false
135
+ nameOnly = false,
151
136
  ): FunctionDeclarationStructure | undefined | string {
152
137
  if (!type.name) {
153
138
  reportDiagnostic(context.program, {
154
139
  code: "anonymous-type-serialization",
155
- target: type.__raw || NoTarget
140
+ target: type.__raw || NoTarget,
156
141
  });
157
142
  return undefined; // Return undefined to skip this serialization
158
143
  }
159
144
  const serializeFunctionName = `${normalizeModelName(
160
145
  context,
161
146
  type,
162
- NameType.Operation
147
+ NameType.Operation,
163
148
  )}Serializer`;
164
149
  if (nameOnly) {
165
150
  return resolveReference(refkey(type, "serializer"));
@@ -171,11 +156,11 @@ function buildPolymorphicSerializer(
171
156
  parameters: [
172
157
  {
173
158
  name: "item",
174
- type: resolveReference(refkey(type, "polymorphicType"))
175
- }
159
+ type: resolveReference(refkey(type, "polymorphicType")),
160
+ },
176
161
  ],
177
162
  returnType: "any",
178
- statements: []
163
+ statements: [],
179
164
  };
180
165
  if (!type.discriminatorProperty) {
181
166
  return;
@@ -187,7 +172,7 @@ function buildPolymorphicSerializer(
187
172
  // No subtypes - treat as a regular model and generate simple serializer
188
173
  return buildModelTypeSerializer(context, type, {
189
174
  nameOnly,
190
- skipDiscriminatedUnionSuffix: false
175
+ skipDiscriminatedUnionSuffix: false,
191
176
  });
192
177
  }
193
178
 
@@ -196,8 +181,7 @@ function buildPolymorphicSerializer(
196
181
  const subType = subTypes[discriminatedValue];
197
182
  if (
198
183
  !subType?.usage ||
199
- (subType?.usage !== undefined &&
200
- (subType.usage & UsageFlags.Input) !== UsageFlags.Input)
184
+ (subType?.usage !== undefined && (subType.usage & UsageFlags.Input) !== UsageFlags.Input)
201
185
  ) {
202
186
  return;
203
187
  }
@@ -205,7 +189,7 @@ function buildPolymorphicSerializer(
205
189
  if (!subType || !subType?.name) {
206
190
  reportDiagnostic(context.program, {
207
191
  code: "anonymous-type-serialization",
208
- target: subType?.__raw || NoTarget
192
+ target: subType?.__raw || NoTarget,
209
193
  });
210
194
  return; // Skip this subtype
211
195
  }
@@ -214,7 +198,7 @@ function buildPolymorphicSerializer(
214
198
  const subtypeSerializerName = normalizeName(
215
199
  `${rawSubTypeName}_Serializer`,
216
200
  NameType.Method,
217
- true
201
+ true,
218
202
  );
219
203
 
220
204
  cases.push(`
@@ -237,21 +221,21 @@ function buildPolymorphicSerializer(
237
221
  function buildDiscriminatedUnionSerializer(
238
222
  context: SdkContext,
239
223
  type: SdkModelType,
240
- nameOnly: boolean
224
+ nameOnly: boolean,
241
225
  ): string;
242
226
  function buildDiscriminatedUnionSerializer(
243
227
  context: SdkContext,
244
- type: SdkModelType
228
+ type: SdkModelType,
245
229
  ): FunctionDeclarationStructure | undefined;
246
230
  function buildDiscriminatedUnionSerializer(
247
231
  context: SdkContext,
248
232
  type: SdkModelType,
249
- nameOnly = false
233
+ nameOnly = false,
250
234
  ): FunctionDeclarationStructure | undefined | string {
251
235
  if (!type.name) {
252
236
  reportDiagnostic(context.program, {
253
237
  code: "anonymous-type-serialization",
254
- target: type.__raw || NoTarget
238
+ target: type.__raw || NoTarget,
255
239
  });
256
240
  return undefined; // Return undefined to skip this serialization
257
241
  }
@@ -260,7 +244,7 @@ function buildDiscriminatedUnionSerializer(
260
244
  const serializeFunctionName = `${normalizeModelName(
261
245
  context,
262
246
  type,
263
- NameType.Operation
247
+ NameType.Operation,
264
248
  )}Serializer`;
265
249
  if (nameOnly) {
266
250
  return resolveReference(refkey(type, "serializer"));
@@ -270,33 +254,24 @@ function buildDiscriminatedUnionSerializer(
270
254
  context,
271
255
  type,
272
256
  NameType.Operation,
273
- true
257
+ true,
274
258
  )}Serializer`;
275
259
  const directSubtypes = getDirectSubtypes(type);
276
260
  for (const subType of directSubtypes) {
277
261
  if (
278
262
  !subType.usage ||
279
- (subType.usage !== undefined &&
280
- (subType.usage & UsageFlags.Input) !== UsageFlags.Input)
263
+ (subType.usage !== undefined && (subType.usage & UsageFlags.Input) !== UsageFlags.Input)
281
264
  ) {
282
265
  continue;
283
266
  }
284
267
  // get all discriminated values that is linked by this discriminator property
285
- const discriminatedValues = getAllDiscriminatedValues(
286
- subType,
287
- type.discriminatorProperty
288
- );
268
+ const discriminatedValues = getAllDiscriminatedValues(subType, type.discriminatorProperty);
289
269
  const union = subType.discriminatedSubtypes ? "Union" : "";
290
- const subTypeName = normalizeModelName(
291
- context,
292
- subType,
293
- NameType.Interface,
294
- !union
295
- );
270
+ const subTypeName = normalizeModelName(context, subType, NameType.Interface, !union);
296
271
  // Get the serializer name and ensure reference tracking
297
272
  const subtypeSerializerName = buildModelSerializer(context, subType, {
298
273
  nameOnly: true,
299
- skipDiscriminatedUnionSuffix: false
274
+ skipDiscriminatedUnionSuffix: false,
300
275
  }) as string;
301
276
 
302
277
  const caseLabels = discriminatedValues.map((value) => `case "${value}":`);
@@ -320,40 +295,36 @@ function buildDiscriminatedUnionSerializer(
320
295
  parameters: [
321
296
  {
322
297
  name: "item",
323
- type: resolveReference(refkey(type, "polymorphicType"))
324
- }
298
+ type: resolveReference(refkey(type, "polymorphicType")),
299
+ },
325
300
  ],
326
301
  returnType: "any",
327
- statements: output.join("\n")
302
+ statements: output.join("\n"),
328
303
  };
329
304
  return serializerFunction;
330
305
  }
331
306
 
307
+ function buildUnionSerializer(context: SdkContext, type: SdkUnionType, nameOnly: boolean): string;
332
308
  function buildUnionSerializer(
333
309
  context: SdkContext,
334
310
  type: SdkUnionType,
335
- nameOnly: boolean
336
- ): string;
337
- function buildUnionSerializer(
338
- context: SdkContext,
339
- type: SdkUnionType
340
311
  ): FunctionDeclarationStructure;
341
312
  function buildUnionSerializer(
342
313
  context: SdkContext,
343
314
  type: SdkUnionType,
344
- nameOnly = false
315
+ nameOnly = false,
345
316
  ): FunctionDeclarationStructure | string {
346
317
  if (!type.name) {
347
318
  reportDiagnostic(context.program, {
348
319
  code: "anonymous-type-serialization",
349
- target: type.__raw || NoTarget
320
+ target: type.__raw || NoTarget,
350
321
  });
351
322
  return ""; // Return empty string to continue processing
352
323
  }
353
324
  const serializerFunctionName = `${normalizeModelName(
354
325
  context,
355
326
  type,
356
- NameType.Operation
327
+ NameType.Operation,
357
328
  )}Serializer`;
358
329
  if (nameOnly) {
359
330
  return resolveReference(refkey(type, "serializer"));
@@ -365,11 +336,11 @@ function buildUnionSerializer(
365
336
  parameters: [
366
337
  {
367
338
  name: "item",
368
- type: resolveReference(refkey(type))
369
- }
339
+ type: resolveReference(refkey(type)),
340
+ },
370
341
  ],
371
342
  returnType: "any",
372
- statements: ["return item;"]
343
+ statements: ["return item;"],
373
344
  };
374
345
  return serializerFunction;
375
346
  }
@@ -379,13 +350,13 @@ function buildModelTypeSerializer(
379
350
  type: SdkModelType,
380
351
  options: ModelSerializeOptions = {
381
352
  nameOnly: false,
382
- skipDiscriminatedUnionSuffix: false
383
- }
353
+ skipDiscriminatedUnionSuffix: false,
354
+ },
384
355
  ): FunctionDeclarationStructure | string {
385
356
  if (!type.name) {
386
357
  reportDiagnostic(context.program, {
387
358
  code: "anonymous-type-deserialization",
388
- target: type.__raw || NoTarget
359
+ target: type.__raw || NoTarget,
389
360
  });
390
361
  return ""; // Return empty string to continue processing
391
362
  }
@@ -395,7 +366,7 @@ function buildModelTypeSerializer(
395
366
  context,
396
367
  type,
397
368
  NameType.Operation,
398
- options.skipDiscriminatedUnionSuffix
369
+ options.skipDiscriminatedUnionSuffix,
399
370
  )}Serializer`;
400
371
  if (options.nameOnly) {
401
372
  return options.flatten
@@ -411,11 +382,11 @@ function buildModelTypeSerializer(
411
382
  name: "item",
412
383
  type: options.flatten
413
384
  ? resolveReference(refkey(options.flatten.baseModel))
414
- : resolveReference(refkey(type))
415
- }
385
+ : resolveReference(refkey(type)),
386
+ },
416
387
  ],
417
388
  returnType: "any",
418
- statements: ["return item;"]
389
+ statements: ["return item;"],
419
390
  };
420
391
 
421
392
  if (
@@ -437,11 +408,9 @@ function buildModelTypeSerializer(
437
408
  const multipart = property.serializationOptions.multipart;
438
409
  if (multipart?.isFilePart) {
439
410
  const createFilePartDescriptorDefinition = resolveReference(
440
- MultipartHelpers.createFilePartDescriptor
411
+ MultipartHelpers.createFilePartDescriptor,
441
412
  );
442
- const itemPath = multipart.isMulti
443
- ? "x"
444
- : getPropertyFullName(context, property, "item");
413
+ const itemPath = multipart.isMulti ? "x" : getPropertyFullName(context, property, "item");
445
414
  partDefinition = `${createFilePartDescriptorDefinition}("${multipart.name}", ${itemPath}, )`;
446
415
 
447
416
  // If the TypeSpec doesn't specify a default content type, TCGC will infer a default of "*/*".
@@ -465,7 +434,7 @@ function buildModelTypeSerializer(
465
434
  }
466
435
  if (property.optional) {
467
436
  parts.push(
468
- `...(${getPropertyFullName(context, property, "item")} === undefined ? [] : [${partDefinition}])`
437
+ `...(${getPropertyFullName(context, property, "item")} === undefined ? [] : [${partDefinition}])`,
469
438
  );
470
439
  } else {
471
440
  parts.push(partDefinition);
@@ -476,17 +445,14 @@ function buildModelTypeSerializer(
476
445
 
477
446
  serializerFunction.statements = [`return [${parts.join(",")}]`];
478
447
  } else {
479
- const additionalPropertiesSpread = getAdditionalPropertiesStatement(
480
- context,
481
- type
482
- );
448
+ const additionalPropertiesSpread = getAdditionalPropertiesStatement(context, type);
483
449
 
484
450
  const propertiesStr = getRequestModelMapping(
485
451
  context,
486
452
  type,
487
453
  "item",
488
454
  options.overrides,
489
- !options.flatten
455
+ !options.flatten,
490
456
  );
491
457
 
492
458
  if (additionalPropertiesSpread) {
@@ -519,20 +485,16 @@ function buildModelTypeSerializer(
519
485
 
520
486
  function getAdditionalPropertiesStatement(
521
487
  context: SdkContext,
522
- type: SdkModelType
488
+ type: SdkModelType,
523
489
  ): string | undefined {
524
490
  const additionalPropertyType = getAdditionalPropertiesType(type);
525
491
  if (!additionalPropertyType) {
526
492
  return undefined;
527
493
  }
528
- const deserializerFunction = buildModelSerializer(
529
- context,
530
- additionalPropertyType,
531
- {
532
- nameOnly: true,
533
- skipDiscriminatedUnionSuffix: false
534
- }
535
- );
494
+ const deserializerFunction = buildModelSerializer(context, additionalPropertyType, {
495
+ nameOnly: true,
496
+ skipDiscriminatedUnionSuffix: false,
497
+ });
536
498
  const params = [`item.${getAdditionalPropertiesName(context, type)} ?? {}`];
537
499
  if (typeof deserializerFunction === "string") {
538
500
  params.push("undefined");
@@ -546,20 +508,20 @@ function getAdditionalPropertiesStatement(
546
508
  function buildDictTypeSerializer(
547
509
  context: SdkContext,
548
510
  type: SdkDictionaryType,
549
- nameOnly: boolean
511
+ nameOnly: boolean,
550
512
  ): string;
551
513
  function buildDictTypeSerializer(
552
514
  context: SdkContext,
553
- type: SdkDictionaryType
515
+ type: SdkDictionaryType,
554
516
  ): FunctionDeclarationStructure | undefined;
555
517
  function buildDictTypeSerializer(
556
518
  context: SdkContext,
557
519
  type: SdkDictionaryType,
558
- nameOnly = false
520
+ nameOnly = false,
559
521
  ): FunctionDeclarationStructure | undefined | string {
560
522
  const valueSerializer = buildModelSerializer(context, type.valueType, {
561
523
  nameOnly: true,
562
- skipDiscriminatedUnionSuffix: false
524
+ skipDiscriminatedUnionSuffix: false,
563
525
  });
564
526
  if (!valueSerializer) {
565
527
  return undefined;
@@ -582,8 +544,8 @@ function buildDictTypeSerializer(
582
544
  parameters: [
583
545
  {
584
546
  name: "item",
585
- type: `Record<string, ${resolveReference(type.valueType) ?? "any"}>`
586
- }
547
+ type: `Record<string, ${resolveReference(type.valueType) ?? "any"}>`,
548
+ },
587
549
  ],
588
550
  returnType: "Record<string, any>",
589
551
  statements: [
@@ -593,8 +555,8 @@ function buildDictTypeSerializer(
593
555
  result[key] = !item[key]? item[key]: ${valueSerializer}(item[key])
594
556
  });
595
557
  return result;
596
- `
597
- ]
558
+ `,
559
+ ],
598
560
  };
599
561
  return serializerFunction;
600
562
  }
@@ -602,20 +564,20 @@ function buildDictTypeSerializer(
602
564
  function buildArrayTypeSerializer(
603
565
  context: SdkContext,
604
566
  type: SdkArrayType,
605
- nameOnly: boolean
567
+ nameOnly: boolean,
606
568
  ): string;
607
569
  function buildArrayTypeSerializer(
608
570
  context: SdkContext,
609
- type: SdkArrayType
571
+ type: SdkArrayType,
610
572
  ): FunctionDeclarationStructure | undefined;
611
573
  function buildArrayTypeSerializer(
612
574
  context: SdkContext,
613
575
  type: SdkArrayType,
614
- nameOnly = false
576
+ nameOnly = false,
615
577
  ): FunctionDeclarationStructure | undefined | string {
616
578
  const valueSerializer = buildModelSerializer(context, type.valueType, {
617
579
  nameOnly: true,
618
- skipDiscriminatedUnionSuffix: false
580
+ skipDiscriminatedUnionSuffix: false,
619
581
  });
620
582
  if (!valueSerializer) {
621
583
  return undefined;
@@ -638,8 +600,8 @@ function buildArrayTypeSerializer(
638
600
  parameters: [
639
601
  {
640
602
  name: "result",
641
- type: `Array<${normalizeModelName(context, type.valueType as any) ?? "any"}>`
642
- }
603
+ type: `Array<${normalizeModelName(context, type.valueType as any) ?? "any"}>`,
604
+ },
643
605
  ],
644
606
  returnType: "any[]",
645
607
  statements: [
@@ -647,8 +609,8 @@ function buildArrayTypeSerializer(
647
609
  return result.map((item) => {
648
610
  return ${valueSerializer}(item)
649
611
  });
650
- `
651
- ]
612
+ `,
613
+ ],
652
614
  };
653
615
  return serializerFunction;
654
616
  }