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

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 +47 -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 +29 -46
  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 +42 -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 +9 -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 +2 -2
  354. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  355. package/dist/src/utils/modelUtils.js +107 -170
  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 +111 -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 +78 -155
  427. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  428. package/src/rlc-common/buildParameterTypes.ts +92 -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 +12 -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 +174 -383
  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,32 +1,25 @@
1
- import { NameType, normalizeName } from "../../rlc-common/index.js";
2
1
  import {
3
2
  SdkBodyParameter,
4
3
  SdkCredentialParameter,
5
4
  SdkEndpointParameter,
6
5
  SdkMethodParameter,
7
6
  SdkModelType,
8
- SdkType
7
+ SdkType,
9
8
  } from "@azure-tools/typespec-client-generator-core";
10
- import {
11
- getPropertyWithOverrides,
12
- ModelOverrideOptions
13
- } from "../serialization/serializeUtils.js";
14
- import { getAllAncestors, getAllProperties } from "./operationHelpers.js";
9
+ import { NameType, normalizeName } from "../../rlc-common/index.js";
15
10
  import { SdkContext } from "../../utils/interfaces.js";
11
+ import { getPropertyWithOverrides, ModelOverrideOptions } from "../serialization/serializeUtils.js";
12
+ import { getAllAncestors, getAllProperties } from "./operationHelpers.js";
16
13
 
17
14
  export function getDirectSubtypes(type: SdkModelType) {
18
15
  if (!type.discriminatedSubtypes) {
19
16
  return [];
20
17
  }
21
18
  // Filter out subtypes that extend from other discriminated subtypes (hierarchical inheritance)
22
- return Object.values(type.discriminatedSubtypes).filter(
23
- (subtype) => subtype.baseModel === type
24
- );
19
+ return Object.values(type.discriminatedSubtypes).filter((subtype) => subtype.baseModel === type);
25
20
  }
26
21
 
27
- export function getAdditionalPropertiesType(
28
- type: SdkType | undefined
29
- ): SdkType | undefined {
22
+ export function getAdditionalPropertiesType(type: SdkType | undefined): SdkType | undefined {
30
23
  if (
31
24
  !type ||
32
25
  !(
@@ -75,7 +68,7 @@ const NumericTypeKinds = [
75
68
  "float32",
76
69
  "float64",
77
70
  "decimal",
78
- "decimal128"
71
+ "decimal128",
79
72
  ];
80
73
 
81
74
  const DateTimeTypeKinds = ["plainTime"];
@@ -90,7 +83,7 @@ export function isDateTimeTypeKind(kind: string): boolean {
90
83
  }
91
84
 
92
85
  export function isCredentialType(
93
- type: SdkEndpointParameter | SdkCredentialParameter | SdkMethodParameter
86
+ type: SdkEndpointParameter | SdkCredentialParameter | SdkMethodParameter,
94
87
  ): boolean {
95
88
  return type.kind === "credential";
96
89
  }
@@ -102,17 +95,13 @@ export function isCredentialType(
102
95
  export function buildPropertyNameMapper(
103
96
  context: SdkContext,
104
97
  model: SdkType,
105
- overrides?: ModelOverrideOptions
98
+ overrides?: ModelOverrideOptions,
106
99
  ) {
107
100
  const mapper = new Map<string, string>();
108
101
  if (model.kind !== "model") {
109
102
  return mapper;
110
103
  }
111
- const allProperties = getAllProperties(
112
- context,
113
- model,
114
- getAllAncestors(model)
115
- );
104
+ const allProperties = getAllProperties(context, model, getAllAncestors(model));
116
105
  for (const p of allProperties) {
117
106
  if (p.kind !== "property") {
118
107
  continue;
@@ -120,7 +109,7 @@ export function buildPropertyNameMapper(
120
109
  const prop = getPropertyWithOverrides(p, overrides);
121
110
  mapper.set(
122
111
  prop.serializationOptions.json?.name || prop.name,
123
- normalizeName(prop.name, NameType.Property)
112
+ normalizeName(prop.name, NameType.Property),
124
113
  );
125
114
  }
126
115
  return mapper;
@@ -1,4 +1,3 @@
1
- import { FunctionDeclarationStructure, StructureKind } from "ts-morph";
2
1
  import {
3
2
  SdkArrayType,
4
3
  SdkDictionaryType,
@@ -6,48 +5,42 @@ 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 { FunctionDeclarationStructure, StructureKind } from "ts-morph";
12
+ import { useContext } from "../../contextManager.js";
13
+ import { resolveReference } from "../../framework/reference.js";
14
+ import { refkey } from "../../framework/refkey.js";
15
+ import { reportDiagnostic } from "../../lib.js";
16
+ import { NameType, normalizeName } from "../../rlc-common/index.js";
11
17
  import { SdkContext } from "../../utils/interfaces.js";
18
+ import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
19
+ import { getAdditionalPropertiesName, normalizeModelName } from "../emitModels.js";
12
20
  import {
13
21
  getAllAncestors,
14
22
  getAllProperties,
15
23
  getPropertySerializedName,
16
- getResponseMapping
24
+ getResponseMapping,
17
25
  } from "../helpers/operationHelpers.js";
18
- import {
19
- getAdditionalPropertiesName,
20
- normalizeModelName
21
- } from "../emitModels.js";
22
- import { NameType, normalizeName } from "../../rlc-common/index.js";
23
- import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
26
+ import { getAdditionalPropertiesType, getDirectSubtypes } from "../helpers/typeHelpers.js";
27
+ import { SerializationHelpers } from "../static-helpers-metadata.js";
24
28
  import {
25
29
  getAllDiscriminatedValues,
26
30
  isDiscriminatedUnion,
27
31
  isSupportedSerializeType,
28
- ModelSerializeOptions
32
+ ModelSerializeOptions,
29
33
  } from "./serializeUtils.js";
30
- import { SerializationHelpers } from "../static-helpers-metadata.js";
31
- import { refkey } from "../../framework/refkey.js";
32
- import { resolveReference } from "../../framework/reference.js";
33
- import {
34
- getAdditionalPropertiesType,
35
- getDirectSubtypes
36
- } from "../helpers/typeHelpers.js";
37
- import { reportDiagnostic } from "../../lib.js";
38
- import { NoTarget } from "@typespec/compiler";
39
- import { useContext } from "../../contextManager.js";
40
34
 
41
35
  export function buildPropertyDeserializer(
42
36
  context: SdkContext,
43
37
  property: SdkModelPropertyType,
44
38
  options: ModelSerializeOptions = {
45
39
  nameOnly: false,
46
- skipDiscriminatedUnionSuffix: false
47
- }
40
+ skipDiscriminatedUnionSuffix: false,
41
+ },
48
42
  ) {
49
- const propertyContext =
50
- useContext("sdkTypes").flattenProperties.get(property);
43
+ const propertyContext = useContext("sdkTypes").flattenProperties.get(property);
51
44
  // only build de-serializer for flatten property
52
45
  if (property.flatten !== true || !propertyContext) {
53
46
  return undefined;
@@ -56,19 +49,19 @@ export function buildPropertyDeserializer(
56
49
  const predefinedName = `_${normalizeName(
57
50
  `${propertyContext.baseModel.name}_${property.name}`,
58
51
  NameType.Method,
59
- true
52
+ true,
60
53
  )}Deserializer`;
61
54
  return buildModelDeserializer(context, property.type, {
62
55
  ...options,
63
56
  flatten: {
64
57
  baseModel: propertyContext.baseModel,
65
- property
58
+ property,
66
59
  },
67
60
  overrides: {
68
61
  allOptional: property.optional,
69
- propertyRenames: propertyContext.conflictMap
62
+ propertyRenames: propertyContext.conflictMap,
70
63
  },
71
- predefinedName
64
+ predefinedName,
72
65
  });
73
66
  }
74
67
 
@@ -77,8 +70,8 @@ export function buildModelDeserializer(
77
70
  type: SdkType,
78
71
  options: ModelSerializeOptions = {
79
72
  nameOnly: false,
80
- skipDiscriminatedUnionSuffix: false
81
- }
73
+ skipDiscriminatedUnionSuffix: false,
74
+ },
82
75
  ): FunctionDeclarationStructure | undefined | string {
83
76
  // const modelTcgcType = getTcgcType(type) as SdkModelType;
84
77
  if (!isSupportedSerializeType(type)) {
@@ -104,11 +97,7 @@ export function buildModelDeserializer(
104
97
  }
105
98
  }
106
99
 
107
- if (
108
- !isDiscriminatedUnion(type) &&
109
- type.kind === "model" &&
110
- type.discriminatorProperty
111
- ) {
100
+ if (!isDiscriminatedUnion(type) && type.kind === "model" && type.discriminatorProperty) {
112
101
  return buildPolymorphicDeserializer(context, type, nameOnly);
113
102
  }
114
103
 
@@ -133,28 +122,28 @@ export function buildModelDeserializer(
133
122
  function buildPolymorphicDeserializer(
134
123
  context: SdkContext,
135
124
  type: SdkModelType,
136
- nameOnly: boolean
125
+ nameOnly: boolean,
137
126
  ): string;
138
127
  function buildPolymorphicDeserializer(
139
128
  context: SdkContext,
140
- type: SdkModelType
129
+ type: SdkModelType,
141
130
  ): FunctionDeclarationStructure | undefined;
142
131
  function buildPolymorphicDeserializer(
143
132
  context: SdkContext,
144
133
  type: SdkModelType,
145
- nameOnly = false
134
+ nameOnly = false,
146
135
  ): FunctionDeclarationStructure | undefined | string {
147
136
  if (!type.name) {
148
137
  reportDiagnostic(context.program, {
149
138
  code: "anonymous-type-deserialization",
150
- target: type.__raw || NoTarget
139
+ target: type.__raw || NoTarget,
151
140
  });
152
141
  return undefined; // Return undefined to skip this deserialization
153
142
  }
154
143
  const deserializeFunctionName = `${normalizeModelName(
155
144
  context,
156
145
  type,
157
- NameType.Operation
146
+ NameType.Operation,
158
147
  )}Deserializer`;
159
148
  if (nameOnly) {
160
149
  return resolveReference(refkey(type, "deserializer"));
@@ -166,11 +155,11 @@ function buildPolymorphicDeserializer(
166
155
  parameters: [
167
156
  {
168
157
  name: "item",
169
- type: "any"
170
- }
158
+ type: "any",
159
+ },
171
160
  ],
172
161
  returnType: resolveReference(refkey(type, "polymorphicType")),
173
- statements: []
162
+ statements: [],
174
163
  };
175
164
  if (!type.discriminatorProperty) {
176
165
  return;
@@ -182,7 +171,7 @@ function buildPolymorphicDeserializer(
182
171
  // No subtypes - treat as a regular model and generate simple deserializer
183
172
  return buildModelTypeDeserializer(context, type, {
184
173
  nameOnly,
185
- skipDiscriminatedUnionSuffix: false
174
+ skipDiscriminatedUnionSuffix: false,
186
175
  });
187
176
  }
188
177
 
@@ -191,8 +180,7 @@ function buildPolymorphicDeserializer(
191
180
  const subType = subTypes[discriminatedValue];
192
181
  if (
193
182
  !subType?.usage ||
194
- (subType?.usage !== undefined &&
195
- (subType.usage & UsageFlags.Output) !== UsageFlags.Output)
183
+ (subType?.usage !== undefined && (subType.usage & UsageFlags.Output) !== UsageFlags.Output)
196
184
  ) {
197
185
  return;
198
186
  }
@@ -200,7 +188,7 @@ function buildPolymorphicDeserializer(
200
188
  if (!subType || !subType?.name) {
201
189
  reportDiagnostic(context.program, {
202
190
  code: "anonymous-type-deserialization",
203
- target: subType?.__raw || NoTarget
191
+ target: subType?.__raw || NoTarget,
204
192
  });
205
193
  return; // Skip this subtype
206
194
  }
@@ -210,7 +198,7 @@ function buildPolymorphicDeserializer(
210
198
  const subtypeDeserializerName = normalizeName(
211
199
  `${subTypeName}Deserializer`,
212
200
  NameType.Operation,
213
- true
201
+ true,
214
202
  );
215
203
 
216
204
  cases.push(`
@@ -220,9 +208,7 @@ function buildPolymorphicDeserializer(
220
208
  });
221
209
 
222
210
  // Use wire format name for the switch since item is raw JSON from the service
223
- const discriminatorWireName = getPropertySerializedName(
224
- type.discriminatorProperty
225
- );
211
+ const discriminatorWireName = getPropertySerializedName(type.discriminatorProperty);
226
212
  statements.push(`
227
213
  switch (item["${discriminatorWireName}"]) {
228
214
  ${cases.join("\n")}
@@ -237,21 +223,21 @@ function buildPolymorphicDeserializer(
237
223
  function buildDiscriminatedUnionDeserializer(
238
224
  context: SdkContext,
239
225
  type: SdkModelType,
240
- nameOnly: boolean
226
+ nameOnly: boolean,
241
227
  ): string;
242
228
  function buildDiscriminatedUnionDeserializer(
243
229
  context: SdkContext,
244
- type: SdkModelType
230
+ type: SdkModelType,
245
231
  ): FunctionDeclarationStructure | undefined;
246
232
  function buildDiscriminatedUnionDeserializer(
247
233
  context: SdkContext,
248
234
  type: SdkModelType,
249
- nameOnly = false
235
+ nameOnly = false,
250
236
  ): FunctionDeclarationStructure | undefined | string {
251
237
  if (!type.name) {
252
238
  reportDiagnostic(context.program, {
253
239
  code: "anonymous-type-deserialization",
254
- target: type.__raw || NoTarget
240
+ target: type.__raw || NoTarget,
255
241
  });
256
242
  return undefined; // Return undefined to skip this deserialization
257
243
  }
@@ -260,7 +246,7 @@ function buildDiscriminatedUnionDeserializer(
260
246
  const deserializeFunctionName = `${normalizeModelName(
261
247
  context,
262
248
  type,
263
- NameType.Operation
249
+ NameType.Operation,
264
250
  )}Deserializer`;
265
251
  if (nameOnly) {
266
252
  return resolveReference(refkey(type, "deserializer"));
@@ -270,33 +256,24 @@ function buildDiscriminatedUnionDeserializer(
270
256
  context,
271
257
  type,
272
258
  NameType.Operation,
273
- true
259
+ true,
274
260
  )}Deserializer`;
275
261
  const directSubtypes = getDirectSubtypes(type);
276
262
  for (const subType of directSubtypes) {
277
263
  if (
278
264
  !subType.usage ||
279
- (subType.usage !== undefined &&
280
- (subType.usage & UsageFlags.Output) !== UsageFlags.Output)
265
+ (subType.usage !== undefined && (subType.usage & UsageFlags.Output) !== UsageFlags.Output)
281
266
  ) {
282
267
  continue;
283
268
  }
284
269
  // get all discriminated values that is linked by this discriminator property
285
- const discriminatedValues = getAllDiscriminatedValues(
286
- subType,
287
- type.discriminatorProperty
288
- );
270
+ const discriminatedValues = getAllDiscriminatedValues(subType, type.discriminatorProperty);
289
271
  const union = subType.discriminatedSubtypes ? "Union" : "";
290
- const subTypeName = normalizeModelName(
291
- context,
292
- subType,
293
- NameType.Interface,
294
- !union
295
- );
272
+ const subTypeName = normalizeModelName(context, subType, NameType.Interface, !union);
296
273
  // Get the deserializer name and ensure reference tracking
297
274
  const subtypeDeserializerName = buildModelDeserializer(context, subType, {
298
275
  nameOnly: true,
299
- skipDiscriminatedUnionSuffix: false
276
+ skipDiscriminatedUnionSuffix: false,
300
277
  }) as string;
301
278
 
302
279
  const caseLabels = discriminatedValues.map((value) => `case "${value}":`);
@@ -324,40 +301,36 @@ function buildDiscriminatedUnionDeserializer(
324
301
  parameters: [
325
302
  {
326
303
  name: "item",
327
- type: "any"
328
- }
304
+ type: "any",
305
+ },
329
306
  ],
330
307
  returnType: resolveReference(refkey(type, "polymorphicType")),
331
- statements: output.join("\n")
308
+ statements: output.join("\n"),
332
309
  };
333
310
  return deserializerFunction;
334
311
  }
335
312
 
313
+ function buildUnionDeserializer(context: SdkContext, type: SdkUnionType, nameOnly: boolean): string;
336
314
  function buildUnionDeserializer(
337
315
  context: SdkContext,
338
316
  type: SdkUnionType,
339
- nameOnly: boolean
340
- ): string;
341
- function buildUnionDeserializer(
342
- context: SdkContext,
343
- type: SdkUnionType
344
317
  ): FunctionDeclarationStructure;
345
318
  function buildUnionDeserializer(
346
319
  context: SdkContext,
347
320
  type: SdkUnionType,
348
- nameOnly = false
321
+ nameOnly = false,
349
322
  ): FunctionDeclarationStructure | string | undefined {
350
323
  if (!type.name) {
351
324
  reportDiagnostic(context.program, {
352
325
  code: "anonymous-type-deserialization",
353
- target: type.__raw || NoTarget
326
+ target: type.__raw || NoTarget,
354
327
  });
355
328
  return ""; // Return empty string to continue processing
356
329
  }
357
330
  const deserializerFunctionName = `${normalizeModelName(
358
331
  context,
359
332
  type,
360
- NameType.Operation
333
+ NameType.Operation,
361
334
  )}Deserializer`;
362
335
  if (nameOnly) {
363
336
  return resolveReference(refkey(type, "deserializer"));
@@ -369,11 +342,11 @@ function buildUnionDeserializer(
369
342
  parameters: [
370
343
  {
371
344
  name: "item",
372
- type: "any"
373
- }
345
+ type: "any",
346
+ },
374
347
  ],
375
348
  returnType: resolveReference(refkey(type)),
376
- statements: ["return item;"]
349
+ statements: ["return item;"],
377
350
  };
378
351
  return deserializerFunction;
379
352
  }
@@ -383,13 +356,13 @@ function buildModelTypeDeserializer(
383
356
  type: SdkModelType,
384
357
  options: ModelSerializeOptions = {
385
358
  nameOnly: false,
386
- skipDiscriminatedUnionSuffix: false
387
- }
359
+ skipDiscriminatedUnionSuffix: false,
360
+ },
388
361
  ): FunctionDeclarationStructure | string | undefined {
389
362
  if (!type.name) {
390
363
  reportDiagnostic(context.program, {
391
364
  code: "anonymous-type-deserialization",
392
- target: type.__raw || NoTarget
365
+ target: type.__raw || NoTarget,
393
366
  });
394
367
  return ""; // Return empty string to continue processing
395
368
  }
@@ -399,7 +372,7 @@ function buildModelTypeDeserializer(
399
372
  context,
400
373
  type,
401
374
  NameType.Operation,
402
- options.skipDiscriminatedUnionSuffix
375
+ options.skipDiscriminatedUnionSuffix,
403
376
  )}Deserializer`;
404
377
  if (options.nameOnly) {
405
378
  return options.flatten
@@ -413,25 +386,24 @@ function buildModelTypeDeserializer(
413
386
  parameters: [
414
387
  {
415
388
  name: "item",
416
- type: "any"
417
- }
389
+ type: "any",
390
+ },
418
391
  ],
419
392
  returnType: options.flatten
420
393
  ? undefined // not set return type for flattened property deserializer and type system will infer correct one
421
394
  : resolveReference(refkey(type)),
422
- statements: ["return item;"]
395
+ statements: ["return item;"],
423
396
  };
424
397
  const nullabilityPrefix = "";
425
398
 
426
- const additionalPropertiesSpread =
427
- getAdditionalPropertiesStatement(context, type) ?? "";
399
+ const additionalPropertiesSpread = getAdditionalPropertiesStatement(context, type) ?? "";
428
400
 
429
401
  const propertiesStr = getResponseMapping(
430
402
  context,
431
403
  type,
432
404
  "item",
433
405
  options.overrides,
434
- !options.flatten
406
+ !options.flatten,
435
407
  );
436
408
  const propertiesDeserialization = propertiesStr.filter((p) => p.trim());
437
409
 
@@ -457,7 +429,7 @@ function buildModelTypeDeserializer(
457
429
 
458
430
  function getAdditionalPropertiesStatement(
459
431
  context: SdkContext,
460
- type: SdkModelType
432
+ type: SdkModelType,
461
433
  ): string | undefined {
462
434
  const additionalPropertyType = getAdditionalPropertiesType(type);
463
435
  if (!additionalPropertyType) {
@@ -465,19 +437,13 @@ function getAdditionalPropertiesStatement(
465
437
  }
466
438
  const allParents = getAllAncestors(type);
467
439
  const properties = getAllProperties(context, type, allParents);
468
- const excludeProperties = properties
469
- .filter((p) => !!p.name)
470
- .map((p) => `"${p.name}"`);
440
+ const excludeProperties = properties.filter((p) => !!p.name).map((p) => `"${p.name}"`);
471
441
  const params = ["item"];
472
442
  params.push(`[${excludeProperties.join(",")}]`);
473
- const deserializerFunction = buildModelDeserializer(
474
- context,
475
- additionalPropertyType,
476
- {
477
- nameOnly: true,
478
- skipDiscriminatedUnionSuffix: false
479
- }
480
- );
443
+ const deserializerFunction = buildModelDeserializer(context, additionalPropertyType, {
444
+ nameOnly: true,
445
+ skipDiscriminatedUnionSuffix: false,
446
+ });
481
447
  if (typeof deserializerFunction === "string") {
482
448
  params.push(deserializerFunction);
483
449
  }
@@ -489,20 +455,20 @@ function getAdditionalPropertiesStatement(
489
455
  function buildDictTypeDeserializer(
490
456
  context: SdkContext,
491
457
  type: SdkDictionaryType,
492
- nameOnly: boolean
458
+ nameOnly: boolean,
493
459
  ): string;
494
460
  function buildDictTypeDeserializer(
495
461
  context: SdkContext,
496
- type: SdkDictionaryType
462
+ type: SdkDictionaryType,
497
463
  ): FunctionDeclarationStructure | undefined;
498
464
  function buildDictTypeDeserializer(
499
465
  context: SdkContext,
500
466
  type: SdkDictionaryType,
501
- nameOnly = false
467
+ nameOnly = false,
502
468
  ): FunctionDeclarationStructure | undefined | string {
503
469
  const valueDeserializer = buildModelDeserializer(context, type.valueType, {
504
470
  nameOnly: true,
505
- skipDiscriminatedUnionSuffix: false
471
+ skipDiscriminatedUnionSuffix: false,
506
472
  });
507
473
  if (!valueDeserializer) {
508
474
  return undefined;
@@ -526,8 +492,8 @@ function buildDictTypeDeserializer(
526
492
  parameters: [
527
493
  {
528
494
  name: "item",
529
- type: "Record<string, any>"
530
- }
495
+ type: "Record<string, any>",
496
+ },
531
497
  ],
532
498
  returnType: `Record<string, ${resolveReference(refkey(type.valueType)) ?? "any"}>`,
533
499
  statements: [
@@ -537,8 +503,8 @@ function buildDictTypeDeserializer(
537
503
  result[key] = !item[key]? item[key]: ${valueDeserializer}(item[key])
538
504
  });
539
505
  return result;
540
- `
541
- ]
506
+ `,
507
+ ],
542
508
  };
543
509
  return deserializerFunction;
544
510
  }
@@ -546,20 +512,20 @@ function buildDictTypeDeserializer(
546
512
  function buildArrayTypeDeserializer(
547
513
  context: SdkContext,
548
514
  type: SdkArrayType,
549
- nameOnly: boolean
515
+ nameOnly: boolean,
550
516
  ): string;
551
517
  function buildArrayTypeDeserializer(
552
518
  context: SdkContext,
553
- type: SdkArrayType
519
+ type: SdkArrayType,
554
520
  ): FunctionDeclarationStructure | undefined;
555
521
  function buildArrayTypeDeserializer(
556
522
  context: SdkContext,
557
523
  type: SdkArrayType,
558
- nameOnly = false
524
+ nameOnly = false,
559
525
  ): FunctionDeclarationStructure | undefined | string {
560
526
  const valueDeserializer = buildModelDeserializer(context, type.valueType, {
561
527
  nameOnly: true,
562
- skipDiscriminatedUnionSuffix: false
528
+ skipDiscriminatedUnionSuffix: false,
563
529
  });
564
530
  if (!valueDeserializer) {
565
531
  return undefined;
@@ -582,8 +548,8 @@ function buildArrayTypeDeserializer(
582
548
  parameters: [
583
549
  {
584
550
  name: "result",
585
- type: `Array<${normalizeModelName(context, type.valueType as any) ?? "any"}>`
586
- }
551
+ type: `Array<${normalizeModelName(context, type.valueType as any) ?? "any"}>`,
552
+ },
587
553
  ],
588
554
  returnType: "any[]",
589
555
  statements: [
@@ -591,8 +557,8 @@ function buildArrayTypeDeserializer(
591
557
  return result.map((item) => {
592
558
  return ${valueDeserializer}(item)
593
559
  });
594
- `
595
- ]
560
+ `,
561
+ ],
596
562
  };
597
563
  return serializerFunction;
598
564
  }