@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,36 +1,33 @@
1
+ import { getHttpOperationWithCache } from "@azure-tools/typespec-client-generator-core";
2
+ import { getDoc, NoTarget, Program } from "@typespec/compiler";
3
+ import { getAuthentication } from "@typespec/http";
4
+ import { EmitterOptions, reportDiagnostic } from "../lib.js";
5
+ import { getClientParameters } from "../modular/helpers/clientHelpers.js";
1
6
  import {
2
- pascalCase,
3
7
  NameType,
4
8
  normalizeName,
5
9
  PackageDetails,
6
10
  PackageFlavor,
11
+ pascalCase,
7
12
  RLCOptions,
8
- ServiceInfo
13
+ ServiceInfo,
9
14
  } from "../rlc-common/index.js";
10
- import { getHttpOperationWithCache } from "@azure-tools/typespec-client-generator-core";
11
- import { getDoc, NoTarget, Program } from "@typespec/compiler";
12
- import { getAuthentication } from "@typespec/http";
13
- import { EmitterOptions, reportDiagnostic } from "../lib.js";
14
- import {
15
- getRLCClients,
16
- listOperationsUnderRLCClient
17
- } from "../utils/clientUtils.js";
15
+ import { getRLCClients, listOperationsUnderRLCClient } from "../utils/clientUtils.js";
16
+ import { getSupportedHttpAuth } from "../utils/credentialUtils.js";
18
17
  import { SdkContext } from "../utils/interfaces.js";
19
18
  import { getDefaultService } from "../utils/modelUtils.js";
20
19
  import { detectModelConflicts } from "../utils/namespaceUtils.js";
21
20
  import { getOperationName } from "../utils/operationUtil.js";
22
- import { getSupportedHttpAuth } from "../utils/credentialUtils.js";
23
- import { getClientParameters } from "../modular/helpers/clientHelpers.js";
24
21
 
25
22
  export function transformRLCOptions(
26
23
  emitterOptions: EmitterOptions,
27
- dpgContext: SdkContext
24
+ dpgContext: SdkContext,
28
25
  ): RLCOptions {
29
26
  // Extract the options from emitter option
30
27
  const options = extractRLCOptions(
31
28
  dpgContext,
32
29
  emitterOptions,
33
- dpgContext.generationPathDetail?.rootDir ?? ""
30
+ dpgContext.generationPathDetail?.rootDir ?? "",
34
31
  );
35
32
  const batch = getRLCClients(dpgContext, options.isModularLibrary);
36
33
  options.batch = batch;
@@ -39,41 +36,29 @@ export function transformRLCOptions(
39
36
  function extractRLCOptions(
40
37
  dpgContext: SdkContext,
41
38
  emitterOptions: EmitterOptions,
42
- generationRootDir: string
39
+ generationRootDir: string,
43
40
  ): RLCOptions {
44
41
  const program = dpgContext.program;
45
42
  // Compute isModularLibrary early - defaults to true unless explicitly set to false
46
43
  const isModularLibrary = emitterOptions["is-modular-library"] !== false;
47
44
  const includeShortcuts = getIncludeShortcuts(emitterOptions);
48
- const packageDetails = getPackageDetails(
49
- program,
50
- emitterOptions,
51
- isModularLibrary
52
- );
45
+ const packageDetails = getPackageDetails(program, emitterOptions, isModularLibrary);
53
46
  const flavor = getFlavor(emitterOptions, packageDetails);
54
47
  const moduleKind = getModuleKind(emitterOptions);
55
48
  const serviceInfo = getServiceInfo(program, isModularLibrary);
56
- const includeHeadersInResponse =
57
- emitterOptions["include-headers-in-response"] === true;
49
+ const includeHeadersInResponse = emitterOptions["include-headers-in-response"] === true;
58
50
  const azureSdkForJs = getAzureSdkForJs(emitterOptions, flavor);
59
51
  const generateMetadata = getGenerateMetadata(emitterOptions);
60
52
  const generateTest = getGenerateTest(emitterOptions, flavor);
61
53
  const generateSample = getGenerateSample(dpgContext, emitterOptions);
62
- const credentialInfo = getCredentialInfo(
63
- program,
64
- emitterOptions,
65
- isModularLibrary
66
- );
54
+ const credentialInfo = getCredentialInfo(program, emitterOptions, isModularLibrary);
67
55
  const azureOutputDirectory = getAzureOutputDirectory(generationRootDir);
68
56
  const enableOperationGroup = getEnableOperationGroup(
69
57
  dpgContext,
70
58
  emitterOptions,
71
- isModularLibrary
72
- );
73
- const enableModelNamespace = getEnableModelNamespace(
74
- dpgContext,
75
- emitterOptions
59
+ isModularLibrary,
76
60
  );
61
+ const enableModelNamespace = getEnableModelNamespace(dpgContext, emitterOptions);
77
62
  const hierarchyClient = getHierarchyClient(emitterOptions);
78
63
  const clearOutputFolder = getClearOutputFolder(emitterOptions);
79
64
  const multiClient = emitterOptions["multi-client"];
@@ -83,25 +68,16 @@ function extractRLCOptions(
83
68
  const productDocLink = emitterOptions["product-doc-link"];
84
69
  const compatibilityMode = emitterOptions["compatibility-mode"];
85
70
  const compatibilityLro = emitterOptions["compatibility-lro"];
86
- const experimentalExtensibleEnums =
87
- emitterOptions["experimental-extensible-enums"];
88
- const ignorePropertyNameNormalize =
89
- emitterOptions["ignore-property-name-normalize"];
90
- const ignoreEnumMemberNameNormalize =
91
- emitterOptions["ignore-enum-member-name-normalize"];
92
- const compatibilityQueryMultiFormat =
93
- emitterOptions["compatibility-query-multi-format"];
71
+ const experimentalExtensibleEnums = emitterOptions["experimental-extensible-enums"];
72
+ const ignorePropertyNameNormalize = emitterOptions["ignore-property-name-normalize"];
73
+ const ignoreEnumMemberNameNormalize = emitterOptions["ignore-enum-member-name-normalize"];
74
+ const compatibilityQueryMultiFormat = emitterOptions["compatibility-query-multi-format"];
94
75
  const enableStorageCompat = emitterOptions["enable-storage-compat"] === true;
95
- const treatUnknownAsRecord =
96
- emitterOptions["treat-unknown-as-record"] === true;
76
+ const treatUnknownAsRecord = emitterOptions["treat-unknown-as-record"] === true;
97
77
  const typespecTitleMap = emitterOptions["typespec-title-map"];
98
- const generateReactNativeTarget =
99
- emitterOptions["generate-react-native-target"] === true;
78
+ const generateReactNativeTarget = emitterOptions["generate-react-native-target"] === true;
100
79
  const hasSubscriptionId = getSubscriptionId(dpgContext);
101
- const ignoreNullableOnOptional = getIgnoreNullableOnOptional(
102
- emitterOptions,
103
- flavor
104
- );
80
+ const ignoreNullableOnOptional = getIgnoreNullableOnOptional(emitterOptions, flavor);
105
81
  const wrapNonModelReturn = getWrapNonModelReturn(emitterOptions, flavor);
106
82
  const isMultiService = (dpgContext.allServiceNamespaces?.length ?? 0) > 1;
107
83
 
@@ -143,7 +119,7 @@ function extractRLCOptions(
143
119
  isMultiService,
144
120
  enableStorageCompat,
145
121
  treatUnknownAsRecord,
146
- generateReactNativeTarget
122
+ generateReactNativeTarget,
147
123
  };
148
124
  }
149
125
 
@@ -163,10 +139,9 @@ function processAuth(program: Program, isModularLibrary: boolean) {
163
139
  securityInfo.addCredentials = true;
164
140
  securityInfo.customHttpAuthHeaderName = "Authorization";
165
141
  // If it is basic or bearer auth we should generate it as Basic or Bearer
166
- securityInfo.customHttpAuthSharedKeyPrefix = [
167
- "basic",
168
- "bearer"
169
- ].includes(auth.scheme.toLowerCase())
142
+ securityInfo.customHttpAuthSharedKeyPrefix = ["basic", "bearer"].includes(
143
+ auth.scheme.toLowerCase(),
144
+ )
170
145
  ? pascalCase(auth.scheme)
171
146
  : auth.scheme;
172
147
  break;
@@ -189,7 +164,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
189
164
  if (flow.scopes.length === 0) {
190
165
  reportDiagnostic(program, {
191
166
  code: "no-credential-scopes",
192
- target: NoTarget
167
+ target: NoTarget,
193
168
  });
194
169
  }
195
170
  // ignore the user_impersonation scope
@@ -203,7 +178,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
203
178
  securityInfo.credentialScopes.push(
204
179
  ...flow.scopes.map((item) => {
205
180
  return item.value;
206
- })
181
+ }),
207
182
  );
208
183
  break;
209
184
  }
@@ -217,7 +192,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
217
192
  function getEnableOperationGroup(
218
193
  dpgContext: SdkContext,
219
194
  emitterOptions: EmitterOptions,
220
- isModularLibrary: boolean
195
+ isModularLibrary: boolean,
221
196
  ) {
222
197
  if (
223
198
  emitterOptions["enable-operation-group"] === true ||
@@ -229,10 +204,7 @@ function getEnableOperationGroup(
229
204
  return detectIfNameConflicts(dpgContext, isModularLibrary);
230
205
  }
231
206
 
232
- function getEnableModelNamespace(
233
- dpgContext: SdkContext,
234
- emitterOptions: EmitterOptions
235
- ) {
207
+ function getEnableModelNamespace(dpgContext: SdkContext, emitterOptions: EmitterOptions) {
236
208
  if (
237
209
  emitterOptions["enable-model-namespace"] === true ||
238
210
  emitterOptions["enable-model-namespace"] === false
@@ -244,10 +216,7 @@ function getEnableModelNamespace(
244
216
  }
245
217
 
246
218
  function getHierarchyClient(emitterOptions: EmitterOptions) {
247
- if (
248
- emitterOptions["hierarchy-client"] === true ||
249
- emitterOptions["hierarchy-client"] === false
250
- ) {
219
+ if (emitterOptions["hierarchy-client"] === true || emitterOptions["hierarchy-client"] === false) {
251
220
  return emitterOptions["hierarchy-client"];
252
221
  }
253
222
  // enable hierarchy client by default if customers didn't set the option explicitly
@@ -258,10 +227,7 @@ function getClearOutputFolder(emitterOptions: EmitterOptions) {
258
227
  return emitterOptions["clear-output-folder"] ? true : false;
259
228
  }
260
229
 
261
- function detectIfNameConflicts(
262
- dpgContext: SdkContext,
263
- isModularLibrary: boolean
264
- ) {
230
+ function detectIfNameConflicts(dpgContext: SdkContext, isModularLibrary: boolean) {
265
231
  const clients = getRLCClients(dpgContext, isModularLibrary);
266
232
  for (const client of clients) {
267
233
  // only consider it's conflict when there are conflicts in the same client
@@ -283,7 +249,7 @@ function detectIfNameConflicts(
283
249
 
284
250
  function getIgnoreNullableOnOptional(
285
251
  emitterOptions: EmitterOptions,
286
- flavor: PackageFlavor
252
+ flavor: PackageFlavor,
287
253
  ): boolean {
288
254
  // If explicitly set in options, use that value
289
255
  if (emitterOptions["ignore-nullable-on-optional"] !== undefined) {
@@ -293,10 +259,7 @@ function getIgnoreNullableOnOptional(
293
259
  return flavor === "azure";
294
260
  }
295
261
 
296
- function getWrapNonModelReturn(
297
- emitterOptions: EmitterOptions,
298
- flavor: PackageFlavor
299
- ): boolean {
262
+ function getWrapNonModelReturn(emitterOptions: EmitterOptions, flavor: PackageFlavor): boolean {
300
263
  // If explicitly set in options, use that value
301
264
  if (emitterOptions["wrap-non-model-return"] !== undefined) {
302
265
  return Boolean(emitterOptions["wrap-non-model-return"]);
@@ -313,10 +276,7 @@ function getModuleKind(emitterOptions: EmitterOptions) {
313
276
  return emitterOptions["module-kind"] ?? "esm";
314
277
  }
315
278
 
316
- function getFlavor(
317
- emitterOptions: EmitterOptions,
318
- packageDetails?: PackageDetails
319
- ): PackageFlavor {
279
+ function getFlavor(emitterOptions: EmitterOptions, packageDetails?: PackageDetails): PackageFlavor {
320
280
  const flavor = emitterOptions.flavor;
321
281
 
322
282
  if (flavor !== undefined) {
@@ -345,28 +305,24 @@ function getFlavor(
345
305
  function buildPackageDetails(
346
306
  program: Program,
347
307
  emitterOptions: EmitterOptions,
348
- isModularLibrary: boolean
308
+ isModularLibrary: boolean,
349
309
  ): PackageDetails {
350
310
  const defaultDetail = {
351
311
  name: "@msinternal/unamedpackage",
352
312
  nameWithoutScope: "unamedpackage",
353
- version: "1.0.0-beta.1"
313
+ version: "1.0.0-beta.1",
354
314
  };
355
- const isVersionUserProvided = Boolean(
356
- emitterOptions["package-details"]?.version
357
- );
315
+ const isVersionUserProvided = Boolean(emitterOptions["package-details"]?.version);
358
316
  const packageDetails: PackageDetails = {
359
317
  ...emitterOptions["package-details"],
360
318
  name:
361
319
  emitterOptions["package-details"]?.name ??
362
320
  normalizeName(
363
- emitterOptions?.title ??
364
- getDefaultService(program, isModularLibrary)?.title ??
365
- "",
366
- NameType.Class
321
+ emitterOptions?.title ?? getDefaultService(program, isModularLibrary)?.title ?? "",
322
+ NameType.Class,
367
323
  ),
368
324
  version: emitterOptions["package-details"]?.version ?? "1.0.0-beta.1",
369
- isVersionUserProvided
325
+ isVersionUserProvided,
370
326
  };
371
327
  if (emitterOptions["package-details"]?.name) {
372
328
  const nameParts = emitterOptions["package-details"]?.name.split("/");
@@ -381,26 +337,20 @@ function buildPackageDetails(
381
337
  function getPackageDetails(
382
338
  program: Program,
383
339
  emitterOptions: EmitterOptions,
384
- isModularLibrary: boolean
340
+ isModularLibrary: boolean,
385
341
  ): PackageDetails {
386
342
  return buildPackageDetails(program, emitterOptions, isModularLibrary);
387
343
  }
388
344
 
389
- function getServiceInfo(
390
- program: Program,
391
- isModularLibrary: boolean
392
- ): ServiceInfo {
345
+ function getServiceInfo(program: Program, isModularLibrary: boolean): ServiceInfo {
393
346
  const defaultService = getDefaultService(program, isModularLibrary);
394
347
  return {
395
348
  title: defaultService?.title,
396
- description: defaultService && getDoc(program, defaultService.type)
349
+ description: defaultService && getDoc(program, defaultService.type),
397
350
  };
398
351
  }
399
352
 
400
- function getAzureSdkForJs(
401
- emitterOptions: EmitterOptions,
402
- flavor: PackageFlavor
403
- ) {
353
+ function getAzureSdkForJs(emitterOptions: EmitterOptions, flavor: PackageFlavor) {
404
354
  return flavor !== "azure"
405
355
  ? false
406
356
  : emitterOptions["azure-sdk-for-js"] === undefined ||
@@ -424,10 +374,7 @@ function getGenerateMetadata(emitterOptions: EmitterOptions) {
424
374
  * @param emitterOptions
425
375
  * @returns
426
376
  */
427
- function getGenerateTest(
428
- emitterOptions: EmitterOptions,
429
- flavor: PackageFlavor
430
- ) {
377
+ function getGenerateTest(emitterOptions: EmitterOptions, flavor: PackageFlavor) {
431
378
  // Disable generateTest if azureSdkForJS is false
432
379
  if (!getAzureSdkForJs(emitterOptions, flavor)) {
433
380
  return false;
@@ -440,10 +387,7 @@ function getGenerateTest(
440
387
  * @param emitterOptions
441
388
  * @returns
442
389
  */
443
- function getGenerateSample(
444
- dpgContext: SdkContext,
445
- emitterOptions: EmitterOptions
446
- ) {
390
+ function getGenerateSample(dpgContext: SdkContext, emitterOptions: EmitterOptions) {
447
391
  if (dpgContext.arm && emitterOptions["generate-sample"] === undefined) {
448
392
  return true;
449
393
  }
@@ -459,7 +403,7 @@ function getGenerateSample(
459
403
  export function getCredentialInfo(
460
404
  program: Program,
461
405
  emitterOptions: EmitterOptions,
462
- isModularLibrary: boolean = true
406
+ isModularLibrary: boolean = true,
463
407
  ) {
464
408
  const securityInfo = processAuth(program, isModularLibrary);
465
409
  const addCredentials =
@@ -489,20 +433,14 @@ export function getCredentialInfo(
489
433
  credentialScopes,
490
434
  credentialKeyHeaderName,
491
435
  customHttpAuthHeaderName,
492
- customHttpAuthSharedKeyPrefix
436
+ customHttpAuthSharedKeyPrefix,
493
437
  };
494
438
  }
495
439
 
496
440
  function getAzureOutputDirectory(emitterOutputDir: string): string | undefined {
497
441
  const sdkFolder = emitterOutputDir;
498
- const sdkReletivePath = sdkFolder
499
- ?.replace(/\/$/, "")
500
- .split("/")
501
- .slice(-3)
502
- .join("/");
503
- return sdkReletivePath?.substring(0, 3) === "sdk"
504
- ? sdkReletivePath
505
- : undefined;
442
+ const sdkReletivePath = sdkFolder?.replace(/\/$/, "").split("/").slice(-3).join("/");
443
+ return sdkReletivePath?.substring(0, 3) === "sdk" ? sdkReletivePath : undefined;
506
444
  }
507
445
 
508
446
  export function getSubscriptionId(dpgContext: SdkContext) {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  InitializedByFlags,
3
+ listAllServiceNamespaces,
4
+ listClients,
3
5
  SdkClient,
4
6
  SdkClientType,
5
7
  SdkServiceOperation,
6
- listAllServiceNamespaces,
7
- listClients
8
8
  } from "@azure-tools/typespec-client-generator-core";
9
9
  import {
10
10
  getNamespaceFullName,
@@ -12,18 +12,14 @@ import {
12
12
  isTemplateDeclaration,
13
13
  isTemplateDeclarationOrInstance,
14
14
  Namespace,
15
- Operation
15
+ Operation,
16
16
  } from "@typespec/compiler";
17
- import { SdkContext } from "./interfaces.js";
18
17
  import { ModularClientOptions } from "../modular/interfaces.js";
19
18
  import { NameType, normalizeName } from "../rlc-common/index.js";
19
+ import { SdkContext } from "./interfaces.js";
20
20
 
21
- export function getRLCClients(
22
- dpgContext: SdkContext,
23
- isModularLibrary?: boolean
24
- ): SdkClient[] {
25
- const modular =
26
- isModularLibrary ?? dpgContext.rlcOptions?.isModularLibrary ?? false;
21
+ export function getRLCClients(dpgContext: SdkContext, isModularLibrary?: boolean): SdkClient[] {
22
+ const modular = isModularLibrary ?? dpgContext.rlcOptions?.isModularLibrary ?? false;
27
23
  const clients = listClients(dpgContext);
28
24
  const rawServiceNamespaces =
29
25
  dpgContext.allServiceNamespaces ?? listAllServiceNamespaces(dpgContext);
@@ -35,9 +31,7 @@ export function getRLCClients(
35
31
  return {
36
32
  ...client,
37
33
  services: services,
38
- crossLanguageDefinitionId: `${getNamespaceFullName(
39
- services[0]!
40
- )}.${client.name}`
34
+ crossLanguageDefinitionId: `${getNamespaceFullName(services[0]!)}.${client.name}`,
41
35
  };
42
36
  });
43
37
  } else {
@@ -61,10 +55,8 @@ export function getRLCClients(
61
55
  subClients: [],
62
56
  clientPath: clientName,
63
57
  arm: Boolean(dpgContext.arm),
64
- crossLanguageDefinitionId: `${getNamespaceFullName(
65
- service
66
- )}.${clientName}`,
67
- subOperationGroups: []
58
+ crossLanguageDefinitionId: `${getNamespaceFullName(service)}.${clientName}`,
59
+ subOperationGroups: [],
68
60
  };
69
61
  });
70
62
  }
@@ -82,10 +74,8 @@ export function getRLCClients(
82
74
  subClients: [],
83
75
  clientPath: clientName,
84
76
  arm: Boolean(dpgContext.arm),
85
- crossLanguageDefinitionId: `${getNamespaceFullName(
86
- service
87
- )}.${clientName}`,
88
- subOperationGroups: []
77
+ crossLanguageDefinitionId: `${getNamespaceFullName(service)}.${clientName}`,
78
+ subOperationGroups: [],
89
79
  };
90
80
  });
91
81
  }
@@ -100,8 +90,7 @@ export function listOperationsUnderRLCClient(client: SdkClient): Operation[] {
100
90
  current.decorators.some(
101
91
  (d) =>
102
92
  d.definition?.name === "@client" &&
103
- getNamespaceFullName(d.definition?.namespace) ===
104
- "Azure.ClientGenerator.Core"
93
+ getNamespaceFullName(d.definition?.namespace) === "Azure.ClientGenerator.Core",
105
94
  ) &&
106
95
  !serviceArray.includes(current as Namespace)
107
96
  ) {
@@ -109,15 +98,13 @@ export function listOperationsUnderRLCClient(client: SdkClient): Operation[] {
109
98
  }
110
99
  operations.push(
111
100
  ...[...current.operations.values()].filter(
112
- (op) => isTemplateDeclarationOrInstance(op) === false
113
- )
101
+ (op) => isTemplateDeclarationOrInstance(op) === false,
102
+ ),
114
103
  );
115
104
  if (current.kind === "Namespace") {
116
105
  queue.push(...current.namespaces.values());
117
106
  queue.push(
118
- ...[...current.interfaces.values()].filter(
119
- (i) => isTemplateDeclaration(i) === false
120
- )
107
+ ...[...current.interfaces.values()].filter((i) => isTemplateDeclaration(i) === false),
121
108
  );
122
109
  }
123
110
  }
@@ -128,33 +115,28 @@ export function isRLCMultiEndpoint(dpgContext: SdkContext): boolean {
128
115
  return getRLCClients(dpgContext).length > 1;
129
116
  }
130
117
 
131
- export function getModularClientOptions(
132
- clientMap: [string[], SdkClientType<SdkServiceOperation>]
133
- ) {
118
+ export function getModularClientOptions(clientMap: [string[], SdkClientType<SdkServiceOperation>]) {
134
119
  const [hierarchy, client] = clientMap;
135
120
  const clientOptions: ModularClientOptions = {
136
- rlcClientName: `${client.name.replace(/Client$/, "")}Context`
121
+ rlcClientName: `${client.name.replace(/Client$/, "")}Context`,
137
122
  };
138
123
  clientOptions.subfolder = hierarchy.join("/");
139
124
  return clientOptions;
140
125
  }
141
126
 
142
127
  export function getClientHierarchyMap(
143
- context: SdkContext
128
+ context: SdkContext,
144
129
  ): [string[], SdkClientType<SdkServiceOperation>][] {
145
130
  const clientMap: [string[], SdkClientType<SdkServiceOperation>][] = [];
146
131
  const individualClients = context.sdkPackage.clients.filter((client) => {
147
- return (
148
- client.clientInitialization.initializedBy &
149
- InitializedByFlags.Individually
150
- );
132
+ return client.clientInitialization.initializedBy & InitializedByFlags.Individually;
151
133
  });
152
134
  const clients = individualClients.map((client) => {
153
135
  return [
154
136
  context.sdkPackage.clients.length > 1
155
137
  ? [normalizeName(client.name.replace("Client", ""), NameType.File)]
156
138
  : [],
157
- client
139
+ client,
158
140
  ];
159
141
  }) as [string[], SdkClientType<SdkServiceOperation>][];
160
142
  for (let i = 0; i < clients.length; i++) {
@@ -162,8 +144,7 @@ export function getClientHierarchyMap(
162
144
  clientMap.push([hierarchy, client]);
163
145
  const childClientsToGenerate = client.children?.filter((child) => {
164
146
  return (
165
- child.clientInitialization.initializedBy &
166
- InitializedByFlags.Individually ||
147
+ child.clientInitialization.initializedBy & InitializedByFlags.Individually ||
167
148
  child.clientInitialization.initializedBy & InitializedByFlags.Parent
168
149
  );
169
150
  });
@@ -171,7 +152,7 @@ export function getClientHierarchyMap(
171
152
  childClientsToGenerate.forEach((child) => {
172
153
  const childHierarchy = [
173
154
  ...hierarchy,
174
- normalizeName(child.name.replace("Client", ""), NameType.File)
155
+ normalizeName(child.name.replace("Client", ""), NameType.File),
175
156
  ];
176
157
  clients.push([childHierarchy, child]);
177
158
  });
@@ -1,7 +1,7 @@
1
+ import { SdkClientInitializationType } from "@azure-tools/typespec-client-generator-core";
1
2
  import { NoTarget, Program } from "@typespec/compiler";
2
3
  import { Authentication, HttpAuth } from "@typespec/http";
3
4
  import { reportDiagnostic } from "../lib.js";
4
- import { SdkClientInitializationType } from "@azure-tools/typespec-client-generator-core";
5
5
 
6
6
  /**
7
7
  * Get supported HTTP authentication schemes and filter out unsupported ones.
@@ -9,10 +9,7 @@ import { SdkClientInitializationType } from "@azure-tools/typespec-client-genera
9
9
  * @param authorization authentication object
10
10
  * @returns supported HTTP authentication schemes
11
11
  */
12
- export function getSupportedHttpAuth(
13
- program: Program,
14
- authorization: Authentication
15
- ): HttpAuth[] {
12
+ export function getSupportedHttpAuth(program: Program, authorization: Authentication): HttpAuth[] {
16
13
  const authList = [];
17
14
  for (const option of authorization.options) {
18
15
  for (const auth of option.schemes) {
@@ -25,9 +22,9 @@ export function getSupportedHttpAuth(
25
22
  reportDiagnostic(program, {
26
23
  code: "un-supported-credential",
27
24
  format: {
28
- credentialType: `${auth.type} ${auth.in}`
25
+ credentialType: `${auth.type} ${auth.in}`,
29
26
  },
30
- target: NoTarget
27
+ target: NoTarget,
31
28
  });
32
29
  }
33
30
  break;
@@ -42,9 +39,7 @@ export function getSupportedHttpAuth(
42
39
  }
43
40
 
44
41
  export function isSupportedKeyCredential(auth: HttpAuth): boolean {
45
- return (
46
- (auth.type === "apiKey" && auth.in === "header") || auth.type === "http"
47
- );
42
+ return (auth.type === "apiKey" && auth.in === "header") || auth.type === "http";
48
43
  }
49
44
 
50
45
  export function isSupportedTokenCredential(auth: HttpAuth): boolean {
@@ -56,19 +51,13 @@ export function hasKeyCredential(initialization: SdkClientInitializationType) {
56
51
  return authScheme.some((auth) => isSupportedKeyCredential(auth));
57
52
  }
58
53
 
59
- export function hasTokenCredential(
60
- initialization: SdkClientInitializationType
61
- ) {
54
+ export function hasTokenCredential(initialization: SdkClientInitializationType) {
62
55
  const authScheme = getAuthScheme(initialization);
63
56
  return authScheme.some((auth) => isSupportedTokenCredential(auth));
64
57
  }
65
58
 
66
- function getAuthScheme(
67
- initialization: SdkClientInitializationType
68
- ): HttpAuth[] {
69
- const credentialParams = initialization.parameters?.find(
70
- (param) => param.kind === "credential"
71
- );
59
+ function getAuthScheme(initialization: SdkClientInitializationType): HttpAuth[] {
60
+ const credentialParams = initialization.parameters?.find((param) => param.kind === "credential");
72
61
  if (!credentialParams) {
73
62
  return [];
74
63
  }
@@ -1,27 +1,21 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
- import { SdkContext } from "./interfaces.js";
4
+ import { UsageFlags } from "@azure-tools/typespec-client-generator-core";
5
5
  import { transformModularEmitterOptions } from "../modular/buildModularOptions.js";
6
- import { getMethodHierarchiesMap } from "./operationUtil.js";
7
6
  import { NameType, normalizeName } from "../rlc-common/index.js";
8
- import { UsageFlags } from "@azure-tools/typespec-client-generator-core";
7
+ import { SdkContext } from "./interfaces.js";
8
+ import { getMethodHierarchiesMap } from "./operationUtil.js";
9
9
 
10
10
  export function generateCrossLanguageDefinitionFile(dpgContext: SdkContext): {
11
11
  CrossLanguagePackageId: string;
12
12
  CrossLanguageDefinitionId: Record<string, string>;
13
13
  } {
14
- const modularSourcesRoot =
15
- dpgContext.generationPathDetail?.modularSourcesDir ?? "src";
16
- const emitterOptions = transformModularEmitterOptions(
17
- dpgContext,
18
- modularSourcesRoot,
19
- {
20
- casing: "camel"
21
- }
22
- );
23
- const packageName =
24
- emitterOptions.options?.packageDetails?.name ?? "package-name";
14
+ const modularSourcesRoot = dpgContext.generationPathDetail?.modularSourcesDir ?? "src";
15
+ const emitterOptions = transformModularEmitterOptions(dpgContext, modularSourcesRoot, {
16
+ casing: "camel",
17
+ });
18
+ const packageName = emitterOptions.options?.packageDetails?.name ?? "package-name";
25
19
  const CrossLanguageDefinitionId: Record<string, string> = {};
26
20
 
27
21
  for (const model of dpgContext.sdkPackage.models) {
@@ -30,10 +24,7 @@ export function generateCrossLanguageDefinitionFile(dpgContext: SdkContext): {
30
24
  }
31
25
  for (const enm of dpgContext.sdkPackage.enums) {
32
26
  // Skip api version enum for multi-service scenarios since each service may have different versions
33
- if (
34
- dpgContext.rlcOptions?.isMultiService &&
35
- enm.usage === UsageFlags.ApiVersionEnum
36
- ) {
27
+ if (dpgContext.rlcOptions?.isMultiService && enm.usage === UsageFlags.ApiVersionEnum) {
37
28
  continue;
38
29
  }
39
30
  CrossLanguageDefinitionId[`${packageName}!Known${enm.name}:enum`] =
@@ -45,9 +36,7 @@ export function generateCrossLanguageDefinitionFile(dpgContext: SdkContext): {
45
36
  }
46
37
 
47
38
  for (const subClient of dpgContext.sdkPackage.clients) {
48
- const clientName =
49
- emitterOptions.options?.typespecTitleMap?.[subClient.name] ??
50
- subClient.name;
39
+ const clientName = emitterOptions.options?.typespecTitleMap?.[subClient.name] ?? subClient.name;
51
40
  const methodMap = getMethodHierarchiesMap(dpgContext, subClient);
52
41
  for (const [prefixKey, operations] of methodMap) {
53
42
  const prefixes = prefixKey.split("/");
@@ -55,24 +44,16 @@ export function generateCrossLanguageDefinitionFile(dpgContext: SdkContext): {
55
44
  for (const operation of operations) {
56
45
  const { name } = operation;
57
46
  const operationName = `${packageName}!${clientName}#${name}:member(1)`;
58
- CrossLanguageDefinitionId[operationName] =
59
- operation.crossLanguageDefinitionId;
47
+ CrossLanguageDefinitionId[operationName] = operation.crossLanguageDefinitionId;
60
48
  }
61
49
  } else {
62
50
  // e,g., @azure/ai-client!ConnectionsOperations#getConnectionWithSecrets:member": "Azure.AI.Projects.Connections.getConnectionWithSecrets"
63
- const rawGroupName = normalizeName(
64
- prefixes[0] ?? "",
65
- NameType.Interface
66
- );
67
- const propertyType = `${normalizeName(
68
- rawGroupName,
69
- NameType.OperationGroup
70
- )}Operations`;
51
+ const rawGroupName = normalizeName(prefixes[0] ?? "", NameType.Interface);
52
+ const propertyType = `${normalizeName(rawGroupName, NameType.OperationGroup)}Operations`;
71
53
  for (const operation of operations) {
72
54
  const { name } = operation;
73
55
  const operationName = `${packageName}!${propertyType}#${name}:member`;
74
- CrossLanguageDefinitionId[operationName] =
75
- operation.crossLanguageDefinitionId;
56
+ CrossLanguageDefinitionId[operationName] = operation.crossLanguageDefinitionId;
76
57
  }
77
58
  }
78
59
  }
@@ -80,6 +61,6 @@ export function generateCrossLanguageDefinitionFile(dpgContext: SdkContext): {
80
61
 
81
62
  return {
82
63
  CrossLanguagePackageId: dpgContext.sdkPackage.crossLanguagePackageId,
83
- CrossLanguageDefinitionId
64
+ CrossLanguageDefinitionId,
84
65
  };
85
66
  }