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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/README.md +0 -4
  2. package/dist/src/contextManager.d.ts +5 -5
  3. package/dist/src/contextManager.d.ts.map +1 -1
  4. package/dist/src/contextManager.js +3 -3
  5. package/dist/src/contextManager.js.map +1 -1
  6. package/dist/src/framework/declaration.d.ts +1 -1
  7. package/dist/src/framework/declaration.d.ts.map +1 -1
  8. package/dist/src/framework/declaration.js +2 -4
  9. package/dist/src/framework/declaration.js.map +1 -1
  10. package/dist/src/framework/dependency.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/binder.d.ts +1 -1
  12. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  13. package/dist/src/framework/hooks/binder.js +31 -40
  14. package/dist/src/framework/hooks/binder.js.map +1 -1
  15. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  16. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  17. package/dist/src/framework/hooks/sdkTypes.js +8 -12
  18. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  19. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  20. package/dist/src/framework/hooks/useDependencies.js +1 -1
  21. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  22. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  23. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  24. package/dist/src/framework/load-static-helpers.js +17 -31
  25. package/dist/src/framework/load-static-helpers.js.map +1 -1
  26. package/dist/src/framework/reference.d.ts.map +1 -1
  27. package/dist/src/framework/reference.js +2 -2
  28. package/dist/src/framework/reference.js.map +1 -1
  29. package/dist/src/framework/sample.js +8 -8
  30. package/dist/src/framework/sample.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +103 -92
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/lib.d.ts +1 -1
  36. package/dist/src/lib.d.ts.map +1 -1
  37. package/dist/src/lib.js +140 -140
  38. package/dist/src/lib.js.map +1 -1
  39. package/dist/src/metaTree.d.ts +1 -1
  40. package/dist/src/metaTree.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  42. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  43. package/dist/src/modular/buildClassicalClient.js +60 -74
  44. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  45. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  46. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  47. package/dist/src/modular/buildClassicalOperationGroups.js +8 -10
  48. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  49. package/dist/src/modular/buildClientContext.d.ts +2 -2
  50. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  51. package/dist/src/modular/buildClientContext.js +31 -38
  52. package/dist/src/modular/buildClientContext.js.map +1 -1
  53. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  54. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  55. package/dist/src/modular/buildModularOptions.js +5 -6
  56. package/dist/src/modular/buildModularOptions.js.map +1 -1
  57. package/dist/src/modular/buildOperations.d.ts +3 -3
  58. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  59. package/dist/src/modular/buildOperations.js +23 -25
  60. package/dist/src/modular/buildOperations.js.map +1 -1
  61. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  62. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  63. package/dist/src/modular/buildProjectFiles.js +8 -11
  64. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  65. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  66. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  67. package/dist/src/modular/buildRestorePoller.js +12 -13
  68. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  69. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  70. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  71. package/dist/src/modular/buildRootIndex.js +36 -50
  72. package/dist/src/modular/buildRootIndex.js.map +1 -1
  73. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  74. package/dist/src/modular/buildSubpathIndex.js +9 -18
  75. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  76. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  77. package/dist/src/modular/emitLoggerFile.js +4 -4
  78. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  79. package/dist/src/modular/emitModels.d.ts +1 -1
  80. package/dist/src/modular/emitModels.d.ts.map +1 -1
  81. package/dist/src/modular/emitModels.js +81 -113
  82. package/dist/src/modular/emitModels.js.map +1 -1
  83. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  84. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  85. package/dist/src/modular/emitModelsOptions.js +7 -8
  86. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  87. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  88. package/dist/src/modular/emitSamples.js +69 -77
  89. package/dist/src/modular/emitSamples.js.map +1 -1
  90. package/dist/src/modular/emitTests.d.ts.map +1 -1
  91. package/dist/src/modular/emitTests.js +13 -18
  92. package/dist/src/modular/emitTests.js.map +1 -1
  93. package/dist/src/modular/external-dependencies.js +54 -54
  94. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  95. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  96. package/dist/src/modular/helpers/classicalOperationHelpers.js +59 -68
  97. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  98. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  99. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  100. package/dist/src/modular/helpers/clientHelpers.js +31 -54
  101. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  102. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  103. package/dist/src/modular/helpers/clientOptionHelpers.js +1 -1
  104. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  105. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  106. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  107. package/dist/src/modular/helpers/exampleValueHelpers.js +72 -84
  108. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  109. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  110. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  111. package/dist/src/modular/helpers/namingHelpers.js +7 -10
  112. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  113. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  114. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  115. package/dist/src/modular/helpers/operationHelpers.js +204 -288
  116. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  117. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  118. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  119. package/dist/src/modular/helpers/typeHelpers.js +4 -6
  120. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  121. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  122. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  123. package/dist/src/modular/serialization/buildDeserializerFunction.js +58 -67
  124. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  125. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  126. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  127. package/dist/src/modular/serialization/buildSerializerFunction.js +65 -75
  128. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  129. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  130. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  131. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +73 -90
  132. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  133. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  134. package/dist/src/modular/serialization/serializeUtils.js +25 -33
  135. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  136. package/dist/src/modular/static-helpers-metadata.js +60 -60
  137. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  138. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  139. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  140. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  141. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -2
  142. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  143. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  144. package/dist/src/modular/type-expressions/get-model-expression.js +10 -13
  145. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  146. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  147. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  148. package/dist/src/modular/type-expressions/get-nullable-expression.js +2 -3
  149. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  150. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  151. package/dist/src/modular/type-expressions/get-type-expression.js +5 -11
  152. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  153. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  154. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  155. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  156. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  157. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  158. package/dist/src/rlc-common/buildClient.js +67 -89
  159. package/dist/src/rlc-common/buildClient.js.map +1 -1
  160. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  161. package/dist/src/rlc-common/buildClientDefinitions.js +28 -45
  162. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  163. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  164. package/dist/src/rlc-common/buildIndexFile.js +59 -60
  165. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  166. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  167. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +37 -38
  168. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  169. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  170. package/dist/src/rlc-common/buildLogger.js +4 -5
  171. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  172. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  173. package/dist/src/rlc-common/buildMethodShortcuts.js +4 -4
  174. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  175. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  176. package/dist/src/rlc-common/buildObjectTypes.js +57 -96
  177. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  178. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  179. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  180. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  181. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  182. package/dist/src/rlc-common/buildParameterTypes.js +71 -61
  183. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  184. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  185. package/dist/src/rlc-common/buildPollingHelper.js +9 -10
  186. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  187. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  188. package/dist/src/rlc-common/buildResponseTypes.js +23 -27
  189. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  190. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  191. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  192. package/dist/src/rlc-common/buildSamples.js +2 -2
  193. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  194. package/dist/src/rlc-common/buildSchemaType.js +31 -13
  195. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  196. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  197. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  198. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  199. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  200. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  201. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  202. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  203. package/dist/src/rlc-common/helpers/apiVersionUtil.js +6 -8
  204. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  205. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  206. package/dist/src/rlc-common/helpers/importsUtil.js +32 -37
  207. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  208. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  209. package/dist/src/rlc-common/helpers/nameConstructors.js +2 -4
  210. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  211. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  212. package/dist/src/rlc-common/helpers/nameUtils.js +17 -23
  213. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  214. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  215. package/dist/src/rlc-common/helpers/operationHelpers.js +16 -31
  216. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  217. package/dist/src/rlc-common/helpers/packageUtil.js +3 -6
  218. package/dist/src/rlc-common/helpers/packageUtil.js.map +1 -1
  219. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  220. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  221. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  222. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  223. package/dist/src/rlc-common/helpers/schemaHelpers.js +3 -7
  224. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  225. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  226. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  227. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  228. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  229. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  230. package/dist/src/rlc-common/helpers/typeUtil.js +4 -9
  231. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  232. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +7 -11
  233. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  234. package/dist/src/rlc-common/index.d.ts +28 -28
  235. package/dist/src/rlc-common/index.d.ts.map +1 -1
  236. package/dist/src/rlc-common/index.js +28 -28
  237. package/dist/src/rlc-common/index.js.map +1 -1
  238. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  239. package/dist/src/rlc-common/interfaces.js.map +1 -1
  240. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  241. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +14 -15
  242. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  243. package/dist/src/rlc-common/metadata/buildChangelogFile.js +2 -3
  244. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +1 -1
  245. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  246. package/dist/src/rlc-common/metadata/buildESLintConfig.js +5 -8
  247. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  248. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  249. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  250. package/dist/src/rlc-common/metadata/buildPackageFile.js +33 -37
  251. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  252. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildReadmeFile.js +31 -39
  254. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  255. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  256. package/dist/src/rlc-common/metadata/buildRollupConfig.js +4 -6
  257. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  258. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  259. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +3 -5
  260. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  261. package/dist/src/rlc-common/metadata/buildTestConfig.js +11 -12
  262. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +1 -1
  263. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  264. package/dist/src/rlc-common/metadata/buildTsConfig.js +28 -28
  265. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  266. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  267. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -5
  268. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  269. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  270. package/dist/src/rlc-common/metadata/buildWarpConfig.js +4 -5
  271. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  272. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  274. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +14 -14
  275. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  276. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  277. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +24 -29
  278. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  279. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  280. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  281. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  282. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  283. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  284. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  285. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +28 -31
  286. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  287. package/dist/src/rlc-common/metadata/utils.js +1 -2
  288. package/dist/src/rlc-common/metadata/utils.js.map +1 -1
  289. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  290. package/dist/src/rlc-common/test/buildRecordedClient.js +4 -5
  291. package/dist/src/rlc-common/test/buildRecordedClient.js.map +1 -1
  292. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  293. package/dist/src/rlc-common/test/buildSampleTest.js +3 -4
  294. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  295. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  296. package/dist/src/rlc-common/test/buildSnippets.js +7 -10
  297. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  298. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  299. package/dist/src/rlc-common/transformSampleGroups.js +41 -45
  300. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  301. package/dist/src/testing/index.d.ts.map +1 -1
  302. package/dist/src/testing/index.js +1 -1
  303. package/dist/src/testing/index.js.map +1 -1
  304. package/dist/src/transform/transform.d.ts +1 -1
  305. package/dist/src/transform/transform.d.ts.map +1 -1
  306. package/dist/src/transform/transform.js +28 -27
  307. package/dist/src/transform/transform.js.map +1 -1
  308. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  309. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  310. package/dist/src/transform/transformApiVersionInfo.js +12 -14
  311. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  312. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  313. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  314. package/dist/src/transform/transformHelperFunctionDetails.js +11 -14
  315. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  316. package/dist/src/transform/transformParameters.d.ts +2 -2
  317. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  318. package/dist/src/transform/transformParameters.js +32 -45
  319. package/dist/src/transform/transformParameters.js.map +1 -1
  320. package/dist/src/transform/transformPaths.d.ts +1 -1
  321. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  322. package/dist/src/transform/transformPaths.js +19 -23
  323. package/dist/src/transform/transformPaths.js.map +1 -1
  324. package/dist/src/transform/transformResponses.d.ts +1 -1
  325. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  326. package/dist/src/transform/transformResponses.js +21 -25
  327. package/dist/src/transform/transformResponses.js.map +1 -1
  328. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  329. package/dist/src/transform/transformSchemas.js +21 -32
  330. package/dist/src/transform/transformSchemas.js.map +1 -1
  331. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  332. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  333. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  334. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  335. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  336. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  337. package/dist/src/transform/transfromRLCOptions.js +28 -39
  338. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  339. package/dist/src/utils/clientUtils.d.ts +1 -1
  340. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  341. package/dist/src/utils/clientUtils.js +15 -23
  342. package/dist/src/utils/clientUtils.js.map +1 -1
  343. package/dist/src/utils/credentialUtils.d.ts +1 -1
  344. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  345. package/dist/src/utils/credentialUtils.js +4 -5
  346. package/dist/src/utils/credentialUtils.js.map +1 -1
  347. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  348. package/dist/src/utils/crossLanguageDef.js +11 -15
  349. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  350. package/dist/src/utils/emitUtil.d.ts +1 -1
  351. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  352. package/dist/src/utils/emitUtil.js +5 -7
  353. package/dist/src/utils/emitUtil.js.map +1 -1
  354. package/dist/src/utils/fileSystemUtils.d.ts +2 -0
  355. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  356. package/dist/src/utils/fileSystemUtils.js +26 -7
  357. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  358. package/dist/src/utils/importHelper.d.ts.map +1 -1
  359. package/dist/src/utils/importHelper.js +3 -6
  360. package/dist/src/utils/importHelper.js.map +1 -1
  361. package/dist/src/utils/interfaces.d.ts +1 -1
  362. package/dist/src/utils/interfaces.d.ts.map +1 -1
  363. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  364. package/dist/src/utils/mediaTypes.js +7 -19
  365. package/dist/src/utils/mediaTypes.js.map +1 -1
  366. package/dist/src/utils/modelUtils.d.ts +5 -5
  367. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  368. package/dist/src/utils/modelUtils.js +168 -257
  369. package/dist/src/utils/modelUtils.js.map +1 -1
  370. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  371. package/dist/src/utils/namespaceUtils.js +6 -7
  372. package/dist/src/utils/namespaceUtils.js.map +1 -1
  373. package/dist/src/utils/operationUtil.d.ts +1 -1
  374. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  375. package/dist/src/utils/operationUtil.js +60 -81
  376. package/dist/src/utils/operationUtil.js.map +1 -1
  377. package/dist/src/utils/parameterUtils.d.ts +1 -1
  378. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  379. package/dist/src/utils/parameterUtils.js +26 -33
  380. package/dist/src/utils/parameterUtils.js.map +1 -1
  381. package/dist/src/utils/resolve-project-root.js +2 -2
  382. package/dist/src/utils/resolve-project-root.js.map +1 -1
  383. package/dist/tsconfig.tsbuildinfo +1 -1
  384. package/package.json +38 -45
  385. package/src/contextManager.ts +6 -9
  386. package/src/framework/declaration.ts +18 -28
  387. package/src/framework/dependency.ts +1 -2
  388. package/src/framework/hooks/binder.ts +47 -120
  389. package/src/framework/hooks/sdkTypes.ts +27 -54
  390. package/src/framework/hooks/useDependencies.ts +2 -4
  391. package/src/framework/load-static-helpers.ts +28 -51
  392. package/src/framework/reference.ts +2 -5
  393. package/src/framework/sample.ts +9 -9
  394. package/src/index.ts +145 -185
  395. package/src/lib.ts +143 -158
  396. package/src/metaTree.ts +1 -1
  397. package/src/modular/buildClassicalClient.ts +83 -160
  398. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  399. package/src/modular/buildClientContext.ts +54 -83
  400. package/src/modular/buildModularOptions.ts +4 -5
  401. package/src/modular/buildOperations.ts +46 -73
  402. package/src/modular/buildProjectFiles.ts +18 -47
  403. package/src/modular/buildRestorePoller.ts +27 -46
  404. package/src/modular/buildRootIndex.ts +86 -160
  405. package/src/modular/buildSubpathIndex.ts +35 -58
  406. package/src/modular/emitLoggerFile.ts +4 -9
  407. package/src/modular/emitModels.ts +136 -266
  408. package/src/modular/emitModelsOptions.ts +10 -16
  409. package/src/modular/emitSamples.ts +92 -180
  410. package/src/modular/emitTests.ts +28 -61
  411. package/src/modular/external-dependencies.ts +54 -54
  412. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  413. package/src/modular/helpers/clientHelpers.ts +41 -88
  414. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  415. package/src/modular/helpers/exampleValueHelpers.ts +99 -215
  416. package/src/modular/helpers/namingHelpers.ts +12 -28
  417. package/src/modular/helpers/operationHelpers.ts +430 -757
  418. package/src/modular/helpers/typeHelpers.ts +11 -22
  419. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  420. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  421. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  422. package/src/modular/serialization/serializeUtils.ts +12 -22
  423. package/src/modular/static/rollup.test.config.js +11 -14
  424. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  425. package/src/modular/static-helpers-metadata.ts +60 -60
  426. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  427. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  428. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  429. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  430. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  431. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  432. package/src/modular/type-expressions/utils.ts +1 -1
  433. package/src/rlc-common/buildClient.ts +70 -141
  434. package/src/rlc-common/buildClientDefinitions.ts +44 -87
  435. package/src/rlc-common/buildIndexFile.ts +78 -78
  436. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  437. package/src/rlc-common/buildLogger.ts +7 -7
  438. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  439. package/src/rlc-common/buildObjectTypes.ts +79 -156
  440. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  441. package/src/rlc-common/buildParameterTypes.ts +116 -137
  442. package/src/rlc-common/buildPollingHelper.ts +7 -7
  443. package/src/rlc-common/buildResponseTypes.ts +34 -57
  444. package/src/rlc-common/buildSamples.ts +3 -3
  445. package/src/rlc-common/buildSchemaType.ts +37 -29
  446. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  447. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  448. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  449. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  450. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  451. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  452. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  453. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  454. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  455. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  456. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  457. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  458. package/src/rlc-common/index.ts +28 -28
  459. package/src/rlc-common/interfaces.ts +3 -11
  460. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  461. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  462. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  463. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  464. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  465. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  466. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  467. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  468. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  469. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  470. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  471. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  472. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  473. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  474. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  475. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  476. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  477. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  478. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  479. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  480. package/src/rlc-common/test/buildSnippets.ts +6 -12
  481. package/src/rlc-common/transformSampleGroups.ts +54 -105
  482. package/src/testing/index.ts +2 -5
  483. package/src/transform/transform.ts +22 -34
  484. package/src/transform/transformApiVersionInfo.ts +17 -30
  485. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  486. package/src/transform/transformParameters.ts +55 -105
  487. package/src/transform/transformPaths.ts +26 -43
  488. package/src/transform/transformResponses.ts +26 -33
  489. package/src/transform/transformSchemas.ts +15 -33
  490. package/src/transform/transformTelemetryInfo.ts +8 -14
  491. package/src/transform/transfromRLCOptions.ts +53 -116
  492. package/src/utils/clientUtils.ts +22 -41
  493. package/src/utils/credentialUtils.ts +8 -19
  494. package/src/utils/crossLanguageDef.ts +15 -34
  495. package/src/utils/emitUtil.ts +11 -17
  496. package/src/utils/fileSystemUtils.ts +30 -8
  497. package/src/utils/importHelper.ts +5 -10
  498. package/src/utils/interfaces.ts +1 -1
  499. package/src/utils/mediaTypes.ts +13 -34
  500. package/src/utils/modelUtils.ts +175 -384
  501. package/src/utils/namespaceUtils.ts +8 -24
  502. package/src/utils/operationUtil.ts +98 -190
  503. package/src/utils/parameterUtils.ts +31 -54
  504. package/src/utils/resolve-project-root.ts +3 -3
  505. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  506. package/static/static-helpers/multipartHelpers.ts +3 -3
  507. package/static/static-helpers/pagingHelpers.ts +28 -63
  508. package/static/static-helpers/pollingHelpers.ts +16 -29
  509. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  510. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  511. package/static/static-helpers/serialization/get-binary-response-browser.mts +3 -1
  512. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  513. package/static/static-helpers/serialization/get-binary-stream-response-browser.mts +1 -3
  514. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  515. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  516. package/static/static-helpers/serialization/serializers.ts +4 -7
  517. package/static/static-helpers/serialization/xml-helpers.ts +42 -90
  518. package/static/static-helpers/simplePollerHelpers.ts +10 -19
  519. package/static/static-helpers/storageCompatResponse.ts +10 -27
  520. package/static/static-helpers/urlTemplate.ts +4 -7
  521. package/static/test-helpers/recordedClient.ts +5 -10
package/src/index.ts CHANGED
@@ -1,17 +1,16 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
- import * as fsextra from "fs-extra";
4
+ import { EmitContext, Program } from "@typespec/compiler";
5
+ import { provideContext, useContext } from "./contextManager.js";
6
+ import { buildRootIndex, buildSubClientIndexFile } from "./modular/buildRootIndex.js";
5
7
  import {
6
8
  AzureCoreDependencies,
7
9
  AzureIdentityDependencies,
8
10
  AzurePollingDependencies,
11
+ AzureTestDependencies,
9
12
  DefaultCoreDependencies,
10
- AzureTestDependencies
11
13
  } from "./modular/external-dependencies.js";
12
- import { clearDirectory } from "./utils/fileSystemUtils.js";
13
- import { EmitContext, Program } from "@typespec/compiler";
14
- import { GenerationDirDetail, SdkContext } from "./utils/interfaces.js";
15
14
  import {
16
15
  CloudSettingHelpers,
17
16
  CreateRecorderHelpers,
@@ -23,100 +22,94 @@ import {
23
22
  SimplePollerHelpers,
24
23
  StorageCompatHelpers,
25
24
  UrlTemplateHelpers,
26
- XmlHelpers
25
+ XmlHelpers,
27
26
  } from "./modular/static-helpers-metadata.js";
28
27
  import {
29
28
  RLCModel,
30
29
  RLCOptions,
31
30
  buildApiExtractorConfig,
31
+ buildChangelogFile,
32
32
  buildClient,
33
33
  buildClientDefinitions,
34
34
  buildEsLintConfig,
35
35
  buildIndexFile,
36
36
  buildIsUnexpectedHelper,
37
37
  buildLicenseFile,
38
- buildChangelogFile,
39
38
  buildLogger,
40
39
  buildPackageFile,
41
40
  buildParameterTypes,
42
41
  buildPollingHelper,
43
42
  buildPaginateHelper as buildRLCPaginateHelper,
44
43
  buildReadmeFile,
45
- hasClientNameChanged,
46
- updateReadmeFile,
47
44
  buildRecordedClientFile,
48
45
  buildResponseTypes,
49
46
  buildRollupConfig,
47
+ buildSampleEnvFile,
50
48
  buildSampleTest,
51
49
  buildSamples,
52
50
  buildSerializeHelper,
51
+ buildSnippets,
52
+ buildTestBrowserTsConfig,
53
+ buildTestNodeTsConfig,
53
54
  buildTopLevelIndex,
54
55
  buildTsConfig,
56
+ buildTsLintConfig,
57
+ buildTsSampleConfig,
55
58
  buildTsSnippetsConfig,
56
- buildTsSrcEsmConfig,
57
59
  buildTsSrcBrowserConfig,
58
- buildTsSrcReactNativeConfig,
59
60
  buildTsSrcCjsConfig,
60
- buildTsLintConfig,
61
- buildTestBrowserTsConfig,
62
- buildTestNodeTsConfig,
61
+ buildTsSrcEsmConfig,
62
+ buildTsSrcReactNativeConfig,
63
63
  buildVitestConfig,
64
64
  buildWarpConfig,
65
65
  getClientName,
66
+ hasClientNameChanged,
66
67
  hasUnexpectedHelper,
67
68
  isAzurePackage,
68
69
  updatePackageFile,
69
- buildSampleEnvFile,
70
- buildSnippets,
71
- buildTsSampleConfig
70
+ updateReadmeFile,
72
71
  } from "./rlc-common/index.js";
73
- import {
74
- buildRootIndex,
75
- buildSubClientIndexFile
76
- } from "./modular/buildRootIndex.js";
77
72
  import { emitContentByBuilder, emitModels } from "./utils/emitUtil.js";
78
- import { provideContext, useContext } from "./contextManager.js";
73
+ import { clearDirectory, emptyDir, pathExists } from "./utils/fileSystemUtils.js";
74
+ import { GenerationDirDetail, SdkContext } from "./utils/interfaces.js";
79
75
 
80
- import { EmitterOptions } from "./lib.js";
81
- import { ModularEmitterOptions } from "./modular/interfaces.js";
82
- import { Project } from "ts-morph";
83
- import { buildClassicOperationFiles } from "./modular/buildClassicalOperationGroups.js";
84
- import { buildClassicalClient } from "./modular/buildClassicalClient.js";
85
- import {
86
- getClientContextPath,
87
- buildClientContext
88
- } from "./modular/buildClientContext.js";
89
- import { buildApiOptions } from "./modular/emitModelsOptions.js";
90
- import { buildOperationFiles } from "./modular/buildOperations.js";
91
- import { buildRestorePoller } from "./modular/buildRestorePoller.js";
92
- import { buildSubpathIndexFile } from "./modular/buildSubpathIndex.js";
93
76
  import {
77
+ SdkClientType,
78
+ SdkServiceOperation,
94
79
  createSdkContext,
95
80
  listAllServiceNamespaces,
96
- SdkClientType,
97
- SdkServiceOperation
98
81
  } from "@azure-tools/typespec-client-generator-core";
99
- import { transformModularEmitterOptions } from "./modular/buildModularOptions.js";
100
- import { emitLoggerFile } from "./modular/emitLoggerFile.js";
101
- import { emitTypes, emitNonModelResponseTypes } from "./modular/emitModels.js";
102
82
  import { existsSync } from "fs";
103
- import { getModuleExports } from "./modular/buildProjectFiles.js";
104
- import {
105
- getClientHierarchyMap,
106
- getRLCClients,
107
- getModularClientOptions
108
- } from "./utils/clientUtils.js";
109
83
  import { basename, join } from "path";
110
- import { loadStaticHelpers } from "./framework/load-static-helpers.js";
111
- import { packageUsesXmlSerialization } from "./modular/serialization/buildXmlSerializerFunction.js";
84
+ import { Project } from "ts-morph";
112
85
  import { provideBinder } from "./framework/hooks/binder.js";
113
86
  import { provideSdkTypes } from "./framework/hooks/sdkTypes.js";
114
- import { transformRLCModel } from "./transform/transform.js";
115
- import { transformRLCOptions } from "./transform/transfromRLCOptions.js";
87
+ import { loadStaticHelpers } from "./framework/load-static-helpers.js";
88
+ import { EmitterOptions } from "./lib.js";
89
+ import { buildClassicalClient } from "./modular/buildClassicalClient.js";
90
+ import { buildClassicOperationFiles } from "./modular/buildClassicalOperationGroups.js";
91
+ import { buildClientContext, getClientContextPath } from "./modular/buildClientContext.js";
92
+ import { transformModularEmitterOptions } from "./modular/buildModularOptions.js";
93
+ import { buildOperationFiles } from "./modular/buildOperations.js";
94
+ import { getModuleExports } from "./modular/buildProjectFiles.js";
95
+ import { buildRestorePoller } from "./modular/buildRestorePoller.js";
96
+ import { buildSubpathIndexFile } from "./modular/buildSubpathIndex.js";
97
+ import { emitLoggerFile } from "./modular/emitLoggerFile.js";
98
+ import { emitNonModelResponseTypes, emitTypes } from "./modular/emitModels.js";
99
+ import { buildApiOptions } from "./modular/emitModelsOptions.js";
116
100
  import { emitSamples } from "./modular/emitSamples.js";
117
101
  import { emitTests } from "./modular/emitTests.js";
118
- import { generateCrossLanguageDefinitionFile } from "./utils/crossLanguageDef.js";
119
102
  import { getClassicalClientName } from "./modular/helpers/namingHelpers.js";
103
+ import { ModularEmitterOptions } from "./modular/interfaces.js";
104
+ import { packageUsesXmlSerialization } from "./modular/serialization/buildXmlSerializerFunction.js";
105
+ import { transformRLCModel } from "./transform/transform.js";
106
+ import { transformRLCOptions } from "./transform/transfromRLCOptions.js";
107
+ import {
108
+ getClientHierarchyMap,
109
+ getModularClientOptions,
110
+ getRLCClients,
111
+ } from "./utils/clientUtils.js";
112
+ import { generateCrossLanguageDefinitionFile } from "./utils/crossLanguageDef.js";
120
113
 
121
114
  export * from "./lib.js";
122
115
 
@@ -140,16 +133,13 @@ export async function $onEmit(context: EmitContext) {
140
133
  const rlcOptions = dpgContext.rlcOptions ?? {};
141
134
 
142
135
  const needUnexpectedHelper: Map<string, boolean> = new Map<string, boolean>();
143
- const serviceNameToRlcModelsMap: Map<string, RLCModel> = new Map<
144
- string,
145
- RLCModel
146
- >();
136
+ const serviceNameToRlcModelsMap: Map<string, RLCModel> = new Map<string, RLCModel>();
147
137
  provideContext("rlcMetaTree", new Map());
148
138
  provideContext("symbolMap", new Map());
149
139
  provideContext("outputProject", outputProject);
150
140
  provideContext("emitContext", {
151
141
  compilerContext: context,
152
- tcgcContext: dpgContext
142
+ tcgcContext: dpgContext,
153
143
  });
154
144
  const staticHelpers = await loadStaticHelpers(
155
145
  outputProject,
@@ -164,29 +154,29 @@ export async function $onEmit(context: EmitContext) {
164
154
  ...CloudSettingHelpers,
165
155
  ...XmlHelpers,
166
156
  ...(rlcOptions.generateTest ? CreateRecorderHelpers : {}),
167
- ...(rlcOptions.enableStorageCompat ? StorageCompatHelpers : {})
157
+ ...(rlcOptions.enableStorageCompat ? StorageCompatHelpers : {}),
168
158
  },
169
159
  {
170
160
  sourcesDir: dpgContext.generationPathDetail?.modularSourcesDir,
171
161
  rootDir: dpgContext.generationPathDetail?.rootDir,
172
162
  options: rlcOptions,
173
- program
174
- }
163
+ program,
164
+ },
175
165
  );
176
166
  const extraDependencies = isAzurePackage({ options: rlcOptions })
177
167
  ? {
178
168
  ...AzurePollingDependencies,
179
169
  ...AzureCoreDependencies,
180
170
  ...AzureIdentityDependencies,
181
- ...AzureTestDependencies
171
+ ...AzureTestDependencies,
182
172
  }
183
173
  : { ...DefaultCoreDependencies };
184
174
  const binder = provideBinder(outputProject, {
185
175
  staticHelpers,
186
176
  dependencies: {
187
- ...extraDependencies
177
+ ...extraDependencies,
188
178
  },
189
- useSubpathImports: rlcOptions.azureSdkForJs === true
179
+ useSubpathImports: rlcOptions.azureSdkForJs === true,
190
180
  });
191
181
  provideSdkTypes(dpgContext);
192
182
 
@@ -210,7 +200,7 @@ export async function $onEmit(context: EmitContext) {
210
200
  // 5. Generate metadata and test files
211
201
  function getTypespecTsVersion(context: EmitContext): string | undefined {
212
202
  const emitterMetadata = context.program.emitters.find(
213
- (emitter) => emitter.metadata.name === "@azure-tools/typespec-ts"
203
+ (emitter) => emitter.metadata.name === "@azure-tools/typespec-ts",
214
204
  );
215
205
  return emitterMetadata?.metadata.version;
216
206
  }
@@ -218,8 +208,7 @@ export async function $onEmit(context: EmitContext) {
218
208
  await generateMetadataAndTest(dpgContext);
219
209
 
220
210
  async function enrichDpgContext() {
221
- const generationPathDetail: GenerationDirDetail =
222
- await calculateGenerationDir();
211
+ const generationPathDetail: GenerationDirDetail = await calculateGenerationDir();
223
212
  dpgContext.generationPathDetail = generationPathDetail;
224
213
  dpgContext.allServiceNamespaces = listAllServiceNamespaces(dpgContext);
225
214
  const options: RLCOptions = transformRLCOptions(emitterOptions, dpgContext);
@@ -228,14 +217,10 @@ export async function $onEmit(context: EmitContext) {
228
217
  // clear output folder if needed
229
218
  if (options.clearOutputFolder) {
230
219
  // Clear output directory while preserving TempTypeSpecFiles
231
- await clearDirectory(
232
- context.emitterOutputDir,
233
- ["TempTypeSpecFiles"],
234
- program
235
- );
220
+ await clearDirectory(context.emitterOutputDir, ["TempTypeSpecFiles"], program);
236
221
  }
237
- const hasTestFolder = await fsextra.pathExists(
238
- join(dpgContext.generationPathDetail?.metadataDir ?? "", "test")
222
+ const hasTestFolder = await pathExists(
223
+ join(dpgContext.generationPathDetail?.metadataDir ?? "", "test"),
239
224
  );
240
225
  options.generateTest =
241
226
  options.generateTest === true ||
@@ -250,38 +235,33 @@ export async function $onEmit(context: EmitContext) {
250
235
  const customizationFolder = join(projectRoot, "generated");
251
236
  const srcGeneratedFolder = join(projectRoot, "src", "generated");
252
237
  // if customization folder exists, use it as sources root
253
- const finalCustomizationFolder = (await fsextra.pathExists(
254
- srcGeneratedFolder
255
- ))
238
+ const finalCustomizationFolder = (await pathExists(srcGeneratedFolder))
256
239
  ? srcGeneratedFolder
257
240
  : customizationFolder;
258
- const sourcesRoot = (await fsextra.pathExists(finalCustomizationFolder))
241
+ const sourcesRoot = (await pathExists(finalCustomizationFolder))
259
242
  ? finalCustomizationFolder
260
243
  : join(projectRoot, "src");
261
244
  return {
262
245
  rootDir: projectRoot,
263
246
  metadataDir: projectRoot,
264
247
  rlcSourcesDir: sourcesRoot,
265
- modularSourcesDir: sourcesRoot
248
+ modularSourcesDir: sourcesRoot,
266
249
  };
267
250
  }
268
251
 
269
252
  async function clearSrcFolder() {
270
- await fsextra.emptyDir(
253
+ await emptyDir(
271
254
  dpgContext.generationPathDetail?.modularSourcesDir ??
272
255
  dpgContext.generationPathDetail?.rlcSourcesDir ??
273
- ""
256
+ "",
274
257
  );
275
258
  }
276
259
 
277
260
  async function clearSamplesDevFolder() {
278
261
  if (emitterOptions["generate-sample"] === true) {
279
- const samplesDevPath = join(
280
- dpgContext.generationPathDetail?.rootDir ?? "",
281
- "samples-dev"
282
- );
283
- if (await fsextra.pathExists(samplesDevPath)) {
284
- await fsextra.emptyDir(samplesDevPath);
262
+ const samplesDevPath = join(dpgContext.generationPathDetail?.rootDir ?? "", "samples-dev");
263
+ if (await pathExists(samplesDevPath)) {
264
+ await emptyDir(samplesDevPath);
285
265
  }
286
266
  }
287
267
  }
@@ -293,10 +273,7 @@ export async function $onEmit(context: EmitContext) {
293
273
  rlcCodeModels.push(rlcModels);
294
274
  const serviceName = client.services[0]?.name ?? "Unknown";
295
275
  serviceNameToRlcModelsMap.set(serviceName, rlcModels);
296
- needUnexpectedHelper.set(
297
- getClientName(rlcModels),
298
- hasUnexpectedHelper(rlcModels)
299
- );
276
+ needUnexpectedHelper.set(getClientName(rlcModels), hasUnexpectedHelper(rlcModels));
300
277
  }
301
278
  }
302
279
 
@@ -318,37 +295,56 @@ export async function $onEmit(context: EmitContext) {
318
295
  program,
319
296
  buildSamples,
320
297
  rlcModels,
321
- dpgContext.generationPathDetail?.metadataDir
298
+ dpgContext.generationPathDetail?.metadataDir,
322
299
  );
323
300
  }
301
+ // The binder is only resolved in the modular path, so static helper files
302
+ // loaded into the outputProject are never written to disk in the RLC path.
303
+ // The RLC builders reference the platform-types helper (NodeReadableStream),
304
+ // so emit those files here.
305
+ await emitRLCStaticHelpers();
324
306
  }
325
307
 
326
- async function generateModularSources() {
327
- const modularSourcesRoot =
328
- dpgContext.generationPathDetail?.modularSourcesDir ?? "src";
308
+ async function emitRLCStaticHelpers() {
309
+ if (program.compilerOptions.noEmit || program.hasError() || !rlcCodeModels[0]) {
310
+ return;
311
+ }
329
312
  const project = useContext("outputProject");
330
- modularEmitterOptions = transformModularEmitterOptions(
331
- dpgContext,
332
- modularSourcesRoot,
333
- {
334
- casing: "camel"
313
+ for (const helperFile of project.getSourceFiles()) {
314
+ const filePath = helperFile.getFilePath();
315
+ // RLC builders (buildParameterTypes / buildSchemaType) only reference
316
+ // platform-types (and its browser/react-native variants); emit those
317
+ // files directly under src/ (strip the static-helpers/ segment) to match
318
+ // the RLC design where all generated output lives in src/.
319
+ if (!basename(filePath).startsWith("platform-types")) {
320
+ continue;
335
321
  }
336
- );
322
+ const outputPath = filePath.replace(/\/static-helpers\//g, "/");
323
+ await emitContentByBuilder(
324
+ program,
325
+ () => ({ content: helperFile.getFullText(), path: outputPath }),
326
+ rlcCodeModels[0],
327
+ );
328
+ }
329
+ }
330
+
331
+ async function generateModularSources() {
332
+ const modularSourcesRoot = dpgContext.generationPathDetail?.modularSourcesDir ?? "src";
333
+ const project = useContext("outputProject");
334
+ modularEmitterOptions = transformModularEmitterOptions(dpgContext, modularSourcesRoot, {
335
+ casing: "camel",
336
+ });
337
337
 
338
338
  emitLoggerFile(modularEmitterOptions, modularSourcesRoot);
339
339
 
340
- const rootIndexFile = project.createSourceFile(
341
- `${modularSourcesRoot}/index.ts`,
342
- "",
343
- {
344
- overwrite: true
345
- }
346
- );
340
+ const rootIndexFile = project.createSourceFile(`${modularSourcesRoot}/index.ts`, "", {
341
+ overwrite: true,
342
+ });
347
343
 
348
344
  emitTypes(dpgContext, { sourceRoot: modularSourcesRoot });
349
345
  emitNonModelResponseTypes(dpgContext, { sourceRoot: modularSourcesRoot });
350
346
  buildSubpathIndexFile(modularEmitterOptions, "models", undefined, {
351
- recursive: true
347
+ recursive: true,
352
348
  });
353
349
  const clientMap = getClientHierarchyMap(dpgContext);
354
350
  if (clientMap.length === 0) {
@@ -364,12 +360,12 @@ export async function $onEmit(context: EmitContext) {
364
360
  if (dpgContext.rlcOptions?.hierarchyClient) {
365
361
  buildSubpathIndexFile(modularEmitterOptions, "api", subClient, {
366
362
  exportIndex: false,
367
- recursive: true
363
+ recursive: true,
368
364
  });
369
365
  } else {
370
366
  buildSubpathIndexFile(modularEmitterOptions, "api", subClient, {
371
367
  recursive: true,
372
- exportIndex: true
368
+ exportIndex: true,
373
369
  });
374
370
  }
375
371
 
@@ -377,19 +373,14 @@ export async function $onEmit(context: EmitContext) {
377
373
  buildClassicOperationFiles(dpgContext, subClient, modularEmitterOptions);
378
374
  buildSubpathIndexFile(modularEmitterOptions, "classic", subClient, {
379
375
  exportIndex: true,
380
- interfaceOnly: true
376
+ interfaceOnly: true,
381
377
  });
382
378
  const { subfolder } = getModularClientOptions(subClient);
383
379
  // Generate index file for clients with subfolders (multi-client scenarios and nested clients)
384
380
  if (subfolder) {
385
381
  buildSubClientIndexFile(dpgContext, subClient, modularEmitterOptions);
386
382
  }
387
- buildRootIndex(
388
- dpgContext,
389
- modularEmitterOptions,
390
- rootIndexFile,
391
- subClient
392
- );
383
+ buildRootIndex(dpgContext, modularEmitterOptions, rootIndexFile, subClient);
393
384
  }
394
385
  // Enable modular sample generation when explicitly set to true or MPG
395
386
  if (emitterOptions["generate-sample"] === true) {
@@ -401,10 +392,7 @@ export async function $onEmit(context: EmitContext) {
401
392
  }
402
393
  }
403
394
 
404
- binder.resolveAllReferences(
405
- modularSourcesRoot,
406
- dpgContext.generationPathDetail?.rootDir
407
- );
395
+ binder.resolveAllReferences(modularSourcesRoot, dpgContext.generationPathDetail?.rootDir);
408
396
  if (program.compilerOptions.noEmit || program.hasError()) {
409
397
  return;
410
398
  }
@@ -413,7 +401,7 @@ export async function $onEmit(context: EmitContext) {
413
401
  await emitContentByBuilder(
414
402
  program,
415
403
  () => ({ content: file.getFullText(), path: file.getFilePath() }),
416
- modularEmitterOptions as any
404
+ modularEmitterOptions as any,
417
405
  );
418
406
  }
419
407
  }
@@ -441,12 +429,11 @@ export async function $onEmit(context: EmitContext) {
441
429
  content.emitterVersion = emitterVersion;
442
430
  }
443
431
  if (dpgContext.rlcOptions?.isModularLibrary) {
444
- content.crossLanguageDefinitions =
445
- generateCrossLanguageDefinitionFile(dpgContext);
432
+ content.crossLanguageDefinitions = generateCrossLanguageDefinitionFile(dpgContext);
446
433
  }
447
434
  return {
448
435
  path: "metadata.json",
449
- content: JSON.stringify(content, null, 2)
436
+ content: JSON.stringify(content, null, 2),
450
437
  };
451
438
  }
452
439
 
@@ -468,25 +455,21 @@ export async function $onEmit(context: EmitContext) {
468
455
  // Generate metadata
469
456
  const existingPackageFilePath = join(
470
457
  dpgContext.generationPathDetail?.metadataDir ?? "",
471
- "package.json"
458
+ "package.json",
472
459
  );
473
460
  const hasPackageFile = await existsSync(existingPackageFilePath);
474
461
  const existingReadmeFilePath = join(
475
462
  dpgContext.generationPathDetail?.metadataDir ?? "",
476
- "README.md"
463
+ "README.md",
477
464
  );
478
465
  const hasReadmeFile = await existsSync(existingReadmeFilePath);
479
466
  const existingChangelogFilePath = join(
480
467
  dpgContext.generationPathDetail?.metadataDir ?? "",
481
- "CHANGELOG.md"
468
+ "CHANGELOG.md",
482
469
  );
483
470
  const hasChangelogFile = await existsSync(existingChangelogFilePath);
484
- const shouldGenerateMetadata =
485
- option.generateMetadata === true || !hasPackageFile;
486
- const existingTestFolderPath = join(
487
- dpgContext.generationPathDetail?.metadataDir ?? "",
488
- "test"
489
- );
471
+ const shouldGenerateMetadata = option.generateMetadata === true || !hasPackageFile;
472
+ const existingTestFolderPath = join(dpgContext.generationPathDetail?.metadataDir ?? "", "test");
490
473
  const hasTestFolder = await existsSync(existingTestFolderPath);
491
474
  if (option.generateTest === undefined) {
492
475
  if (hasTestFolder) {
@@ -509,7 +492,7 @@ export async function $onEmit(context: EmitContext) {
509
492
  buildApiExtractorConfig,
510
493
  buildReadmeFile,
511
494
  buildLicenseFile,
512
- buildSampleEnvFile
495
+ buildSampleEnvFile,
513
496
  ];
514
497
  if (option.generateTest) {
515
498
  commonBuilders.push((model) => buildVitestConfig(model, "node"));
@@ -533,7 +516,7 @@ export async function $onEmit(context: EmitContext) {
533
516
  let modularPackageInfo = {};
534
517
  if (option.isModularLibrary) {
535
518
  modularPackageInfo = {
536
- exports: getModuleExports(context, modularEmitterOptions)
519
+ exports: getModuleExports(context, modularEmitterOptions),
537
520
  };
538
521
  // Build dependencies
539
522
  const dependencies: Record<string, string> = {};
@@ -548,26 +531,19 @@ export async function $onEmit(context: EmitContext) {
548
531
  modularPackageInfo = {
549
532
  ...modularPackageInfo,
550
533
  dependencies,
551
- clientContextPaths: getRelativeContextPaths(
552
- context,
553
- modularEmitterOptions
554
- )
534
+ clientContextPaths: getRelativeContextPaths(context, modularEmitterOptions),
555
535
  };
556
536
  } else if (Object.keys(dependencies).length > 0) {
557
537
  modularPackageInfo = {
558
538
  ...modularPackageInfo,
559
- dependencies
539
+ dependencies,
560
540
  };
561
541
  }
562
542
  }
563
- commonBuilders.push((model) =>
564
- buildPackageFile(model, modularPackageInfo)
565
- );
543
+ commonBuilders.push((model) => buildPackageFile(model, modularPackageInfo));
566
544
  // Generate warp.config.yml for Azure monorepo ESM packages
567
545
  if (option.azureSdkForJs) {
568
- commonBuilders.push((model) =>
569
- buildWarpConfig(model, modularPackageInfo)
570
- );
546
+ commonBuilders.push((model) => buildWarpConfig(model, modularPackageInfo));
571
547
  }
572
548
  commonBuilders.push(buildTsConfig);
573
549
  if (option.azureSdkForJs) {
@@ -589,7 +565,7 @@ export async function $onEmit(context: EmitContext) {
589
565
  if (option.generateTest) {
590
566
  for (const subClient of dpgContext.sdkPackage.clients) {
591
567
  commonBuilders.push((model) =>
592
- buildSnippets(model, subClient.name, option.azureSdkForJs)
568
+ buildSnippets(model, subClient.name, option.azureSdkForJs),
593
569
  );
594
570
  }
595
571
  commonBuilders.push(buildTsSnippetsConfig);
@@ -600,7 +576,7 @@ export async function $onEmit(context: EmitContext) {
600
576
  program,
601
577
  commonBuilders,
602
578
  rlcClient,
603
- dpgContext.generationPathDetail?.metadataDir
579
+ dpgContext.generationPathDetail?.metadataDir,
604
580
  );
605
581
 
606
582
  if (option.isModularLibrary) {
@@ -608,7 +584,7 @@ export async function $onEmit(context: EmitContext) {
608
584
  await emitContentByBuilder(
609
585
  program,
610
586
  () => ({ content: file.getFullText(), path: file.getFilePath() }),
611
- modularEmitterOptions as any
587
+ modularEmitterOptions as any,
612
588
  );
613
589
  }
614
590
  }
@@ -626,13 +602,10 @@ export async function $onEmit(context: EmitContext) {
626
602
  }
627
603
  modularPackageInfo = {
628
604
  exports: getModuleExports(context, modularEmitterOptions),
629
- clientContextPaths: getRelativeContextPaths(
630
- context,
631
- modularEmitterOptions
632
- ),
605
+ clientContextPaths: getRelativeContextPaths(context, modularEmitterOptions),
633
606
  ...(Object.keys(additionalDependencies).length > 0 && {
634
- dependencies: additionalDependencies
635
- })
607
+ dependencies: additionalDependencies,
608
+ }),
636
609
  };
637
610
  }
638
611
 
@@ -640,40 +613,30 @@ export async function $onEmit(context: EmitContext) {
640
613
  // and for modular packages (adds exports, clientContextPaths, LRO deps)
641
614
  if (option.isModularLibrary || option.azureSdkForJs) {
642
615
  updateBuilders.push((model: RLCModel) =>
643
- updatePackageFile(model, existingPackageFilePath, modularPackageInfo)
616
+ updatePackageFile(model, existingPackageFilePath, modularPackageInfo),
644
617
  );
645
618
  }
646
619
 
647
620
  // Update warp.config.yml for Azure monorepo packages
648
621
  if (option.azureSdkForJs) {
649
- updateBuilders.push((model: RLCModel) =>
650
- buildWarpConfig(model, modularPackageInfo)
651
- );
622
+ updateBuilders.push((model: RLCModel) => buildWarpConfig(model, modularPackageInfo));
652
623
  }
653
624
 
654
625
  // If the client name changed, regenerate the README and snippets completely;
655
626
  // otherwise update only the API reference link in-place.
656
627
  if (hasReadmeFile) {
657
- const clientNameChanged = hasClientNameChanged(
658
- rlcClient,
659
- existingReadmeFilePath
660
- );
628
+ const clientNameChanged = hasClientNameChanged(rlcClient, existingReadmeFilePath);
661
629
  updateBuilders.push(
662
630
  clientNameChanged
663
631
  ? buildReadmeFile
664
- : (model: RLCModel) =>
665
- updateReadmeFile(model, existingReadmeFilePath)
632
+ : (model: RLCModel) => updateReadmeFile(model, existingReadmeFilePath),
666
633
  );
667
634
 
668
635
  // Regenerate snippets.spec.ts only when the client name changed
669
636
  if (clientNameChanged && option.azureSdkForJs) {
670
637
  for (const subClient of dpgContext.sdkPackage.clients) {
671
638
  updateBuilders.push((model: RLCModel) =>
672
- buildSnippets(
673
- model,
674
- getClassicalClientName(subClient),
675
- option.azureSdkForJs
676
- )
639
+ buildSnippets(model, getClassicalClientName(subClient), option.azureSdkForJs),
677
640
  );
678
641
  }
679
642
  }
@@ -684,7 +647,7 @@ export async function $onEmit(context: EmitContext) {
684
647
  program,
685
648
  updateBuilders,
686
649
  rlcClient,
687
- dpgContext.generationPathDetail?.metadataDir
650
+ dpgContext.generationPathDetail?.metadataDir,
688
651
  );
689
652
  }
690
653
  if (isAzureFlavor) {
@@ -692,7 +655,7 @@ export async function $onEmit(context: EmitContext) {
692
655
  program,
693
656
  buildMetadataJson,
694
657
  rlcClient,
695
- dpgContext.generationPathDetail?.metadataDir
658
+ dpgContext.generationPathDetail?.metadataDir,
696
659
  );
697
660
  }
698
661
 
@@ -702,15 +665,12 @@ export async function $onEmit(context: EmitContext) {
702
665
  program,
703
666
  [buildRecordedClientFile, buildSampleTest],
704
667
  rlcClient,
705
- dpgContext.generationPathDetail?.metadataDir
668
+ dpgContext.generationPathDetail?.metadataDir,
706
669
  );
707
670
  }
708
671
  }
709
672
 
710
- function getRelativeContextPaths(
711
- context: SdkContext,
712
- options: ModularEmitterOptions
713
- ) {
673
+ function getRelativeContextPaths(context: SdkContext, options: ModularEmitterOptions) {
714
674
  const clientMap = getClientHierarchyMap(context);
715
675
  return Array.from(clientMap)
716
676
  .map((subClient) => getClientContextPath(subClient, options))
@@ -719,7 +679,7 @@ export async function $onEmit(context: EmitContext) {
719
679
  }
720
680
 
721
681
  export async function createContextWithDefaultOptions(
722
- context: EmitContext<Record<string, any>>
682
+ context: EmitContext<Record<string, any>>,
723
683
  ): Promise<SdkContext> {
724
684
  const flattenUnionAsEnum =
725
685
  context.options["experimental-extensible-enums"] === undefined
@@ -731,21 +691,21 @@ export async function createContextWithDefaultOptions(
731
691
  emitters: [
732
692
  {
733
693
  main: "@azure-tools/typespec-ts",
734
- metadata: { name: "@azure-tools/typespec-ts" }
735
- }
736
- ]
694
+ metadata: { name: "@azure-tools/typespec-ts" },
695
+ },
696
+ ],
737
697
  };
738
698
  context.options = {
739
699
  ...context.options,
740
- ...tcgcSettings
700
+ ...tcgcSettings,
741
701
  };
742
702
 
743
703
  return (await createSdkContext(
744
704
  context,
745
705
  context.program.emitters[0]?.metadata.name ?? "@azure-tools/typespec-ts",
746
706
  {
747
- flattenUnionAsEnum
748
- }
707
+ flattenUnionAsEnum,
708
+ },
749
709
  )) as SdkContext;
750
710
  }
751
711
 
@@ -757,7 +717,7 @@ function isArm(context: EmitContext<Record<string, any>>) {
757
717
 
758
718
  export async function renameClientName(
759
719
  client: SdkClientType<SdkServiceOperation>,
760
- emitterOptions: ModularEmitterOptions
720
+ emitterOptions: ModularEmitterOptions,
761
721
  ) {
762
722
  if (
763
723
  emitterOptions.options.typespecTitleMap &&