@azure-tools/typespec-ts 0.54.0 → 0.54.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/CHANGELOG.md +25 -10
  2. package/README.md +0 -4
  3. package/dist/src/contextManager.d.ts +5 -5
  4. package/dist/src/contextManager.d.ts.map +1 -1
  5. package/dist/src/contextManager.js +3 -3
  6. package/dist/src/contextManager.js.map +1 -1
  7. package/dist/src/framework/declaration.d.ts +1 -1
  8. package/dist/src/framework/declaration.d.ts.map +1 -1
  9. package/dist/src/framework/declaration.js +2 -4
  10. package/dist/src/framework/declaration.js.map +1 -1
  11. package/dist/src/framework/dependency.d.ts.map +1 -1
  12. package/dist/src/framework/hooks/binder.d.ts +1 -1
  13. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  14. package/dist/src/framework/hooks/binder.js +31 -40
  15. package/dist/src/framework/hooks/binder.js.map +1 -1
  16. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  17. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  18. package/dist/src/framework/hooks/sdkTypes.js +8 -12
  19. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  20. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  21. package/dist/src/framework/hooks/useDependencies.js +1 -1
  22. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  23. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  24. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  25. package/dist/src/framework/load-static-helpers.js +17 -31
  26. package/dist/src/framework/load-static-helpers.js.map +1 -1
  27. package/dist/src/framework/reference.d.ts.map +1 -1
  28. package/dist/src/framework/reference.js +2 -2
  29. package/dist/src/framework/reference.js.map +1 -1
  30. package/dist/src/framework/sample.js +8 -8
  31. package/dist/src/framework/sample.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -1
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +103 -92
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/lib.d.ts +1 -1
  37. package/dist/src/lib.d.ts.map +1 -1
  38. package/dist/src/lib.js +140 -140
  39. package/dist/src/lib.js.map +1 -1
  40. package/dist/src/metaTree.d.ts +1 -1
  41. package/dist/src/metaTree.d.ts.map +1 -1
  42. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  43. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  44. package/dist/src/modular/buildClassicalClient.js +60 -74
  45. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  46. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  47. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  48. package/dist/src/modular/buildClassicalOperationGroups.js +8 -10
  49. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  50. package/dist/src/modular/buildClientContext.d.ts +2 -2
  51. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  52. package/dist/src/modular/buildClientContext.js +31 -38
  53. package/dist/src/modular/buildClientContext.js.map +1 -1
  54. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  55. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  56. package/dist/src/modular/buildModularOptions.js +5 -6
  57. package/dist/src/modular/buildModularOptions.js.map +1 -1
  58. package/dist/src/modular/buildOperations.d.ts +3 -3
  59. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  60. package/dist/src/modular/buildOperations.js +23 -25
  61. package/dist/src/modular/buildOperations.js.map +1 -1
  62. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  63. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  64. package/dist/src/modular/buildProjectFiles.js +8 -11
  65. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  66. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  67. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  68. package/dist/src/modular/buildRestorePoller.js +12 -13
  69. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  70. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  71. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  72. package/dist/src/modular/buildRootIndex.js +36 -50
  73. package/dist/src/modular/buildRootIndex.js.map +1 -1
  74. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  75. package/dist/src/modular/buildSubpathIndex.js +9 -18
  76. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  77. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  78. package/dist/src/modular/emitLoggerFile.js +4 -4
  79. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  80. package/dist/src/modular/emitModels.d.ts +1 -1
  81. package/dist/src/modular/emitModels.d.ts.map +1 -1
  82. package/dist/src/modular/emitModels.js +81 -113
  83. package/dist/src/modular/emitModels.js.map +1 -1
  84. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  85. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  86. package/dist/src/modular/emitModelsOptions.js +7 -8
  87. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  88. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  89. package/dist/src/modular/emitSamples.js +69 -77
  90. package/dist/src/modular/emitSamples.js.map +1 -1
  91. package/dist/src/modular/emitTests.d.ts.map +1 -1
  92. package/dist/src/modular/emitTests.js +13 -18
  93. package/dist/src/modular/emitTests.js.map +1 -1
  94. package/dist/src/modular/external-dependencies.js +54 -54
  95. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  96. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  97. package/dist/src/modular/helpers/classicalOperationHelpers.js +59 -68
  98. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  99. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  100. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  101. package/dist/src/modular/helpers/clientHelpers.js +31 -54
  102. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  103. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  104. package/dist/src/modular/helpers/clientOptionHelpers.js +1 -1
  105. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  106. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  107. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  108. package/dist/src/modular/helpers/exampleValueHelpers.js +72 -84
  109. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  110. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  111. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  112. package/dist/src/modular/helpers/namingHelpers.js +7 -10
  113. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  114. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  115. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  116. package/dist/src/modular/helpers/operationHelpers.js +204 -288
  117. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  118. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  119. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  120. package/dist/src/modular/helpers/typeHelpers.js +4 -6
  121. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  122. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  123. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  124. package/dist/src/modular/serialization/buildDeserializerFunction.js +58 -67
  125. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  126. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  127. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  128. package/dist/src/modular/serialization/buildSerializerFunction.js +65 -75
  129. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  130. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  131. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  132. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +73 -90
  133. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  134. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  135. package/dist/src/modular/serialization/serializeUtils.js +25 -33
  136. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  137. package/dist/src/modular/static-helpers-metadata.js +60 -60
  138. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  139. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  140. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  141. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  142. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -2
  143. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  144. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  145. package/dist/src/modular/type-expressions/get-model-expression.js +10 -13
  146. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  147. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  148. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  149. package/dist/src/modular/type-expressions/get-nullable-expression.js +2 -3
  150. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  151. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  152. package/dist/src/modular/type-expressions/get-type-expression.js +5 -11
  153. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  154. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  155. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  156. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  157. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  158. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  159. package/dist/src/rlc-common/buildClient.js +67 -89
  160. package/dist/src/rlc-common/buildClient.js.map +1 -1
  161. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  162. package/dist/src/rlc-common/buildClientDefinitions.js +28 -45
  163. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  164. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  165. package/dist/src/rlc-common/buildIndexFile.js +59 -60
  166. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  167. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  168. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +37 -38
  169. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  170. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  171. package/dist/src/rlc-common/buildLogger.js +4 -5
  172. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  173. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  174. package/dist/src/rlc-common/buildMethodShortcuts.js +4 -4
  175. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  176. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  177. package/dist/src/rlc-common/buildObjectTypes.js +57 -96
  178. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  179. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  180. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  181. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  182. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  183. package/dist/src/rlc-common/buildParameterTypes.js +71 -61
  184. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  185. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  186. package/dist/src/rlc-common/buildPollingHelper.js +9 -10
  187. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  188. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  189. package/dist/src/rlc-common/buildResponseTypes.js +23 -27
  190. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  191. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  192. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  193. package/dist/src/rlc-common/buildSamples.js +2 -2
  194. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  195. package/dist/src/rlc-common/buildSchemaType.js +31 -13
  196. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  197. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  198. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  199. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  200. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  201. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  202. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  203. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  204. package/dist/src/rlc-common/helpers/apiVersionUtil.js +6 -8
  205. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  206. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  207. package/dist/src/rlc-common/helpers/importsUtil.js +32 -37
  208. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  209. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  210. package/dist/src/rlc-common/helpers/nameConstructors.js +2 -4
  211. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  212. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  213. package/dist/src/rlc-common/helpers/nameUtils.js +17 -23
  214. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  215. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  216. package/dist/src/rlc-common/helpers/operationHelpers.js +16 -31
  217. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  218. package/dist/src/rlc-common/helpers/packageUtil.js +3 -6
  219. package/dist/src/rlc-common/helpers/packageUtil.js.map +1 -1
  220. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  221. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  222. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  223. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  224. package/dist/src/rlc-common/helpers/schemaHelpers.js +3 -7
  225. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  226. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  227. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  228. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  229. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  230. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  231. package/dist/src/rlc-common/helpers/typeUtil.js +4 -9
  232. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  233. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +7 -11
  234. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  235. package/dist/src/rlc-common/index.d.ts +28 -28
  236. package/dist/src/rlc-common/index.d.ts.map +1 -1
  237. package/dist/src/rlc-common/index.js +28 -28
  238. package/dist/src/rlc-common/index.js.map +1 -1
  239. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  240. package/dist/src/rlc-common/interfaces.js.map +1 -1
  241. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  242. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +14 -15
  243. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  244. package/dist/src/rlc-common/metadata/buildChangelogFile.js +2 -3
  245. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +1 -1
  246. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  247. package/dist/src/rlc-common/metadata/buildESLintConfig.js +5 -8
  248. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  249. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  250. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  251. package/dist/src/rlc-common/metadata/buildPackageFile.js +33 -37
  252. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  254. package/dist/src/rlc-common/metadata/buildReadmeFile.js +31 -39
  255. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  256. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  257. package/dist/src/rlc-common/metadata/buildRollupConfig.js +4 -6
  258. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  259. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  260. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +3 -5
  261. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  262. package/dist/src/rlc-common/metadata/buildTestConfig.js +11 -12
  263. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +1 -1
  264. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  265. package/dist/src/rlc-common/metadata/buildTsConfig.js +28 -28
  266. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  267. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  268. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -5
  269. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  270. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  271. package/dist/src/rlc-common/metadata/buildWarpConfig.js +4 -5
  272. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  274. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  275. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +14 -14
  276. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  277. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  278. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +24 -29
  279. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  280. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  281. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  282. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  283. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  284. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  285. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  286. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +28 -31
  287. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  288. package/dist/src/rlc-common/metadata/utils.js +1 -2
  289. package/dist/src/rlc-common/metadata/utils.js.map +1 -1
  290. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  291. package/dist/src/rlc-common/test/buildRecordedClient.js +4 -5
  292. package/dist/src/rlc-common/test/buildRecordedClient.js.map +1 -1
  293. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  294. package/dist/src/rlc-common/test/buildSampleTest.js +3 -4
  295. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  296. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  297. package/dist/src/rlc-common/test/buildSnippets.js +7 -10
  298. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  299. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  300. package/dist/src/rlc-common/transformSampleGroups.js +41 -45
  301. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  302. package/dist/src/testing/index.d.ts.map +1 -1
  303. package/dist/src/testing/index.js +1 -1
  304. package/dist/src/testing/index.js.map +1 -1
  305. package/dist/src/transform/transform.d.ts +1 -1
  306. package/dist/src/transform/transform.d.ts.map +1 -1
  307. package/dist/src/transform/transform.js +28 -27
  308. package/dist/src/transform/transform.js.map +1 -1
  309. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  310. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  311. package/dist/src/transform/transformApiVersionInfo.js +12 -14
  312. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  313. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  314. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  315. package/dist/src/transform/transformHelperFunctionDetails.js +11 -14
  316. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  317. package/dist/src/transform/transformParameters.d.ts +2 -2
  318. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  319. package/dist/src/transform/transformParameters.js +32 -45
  320. package/dist/src/transform/transformParameters.js.map +1 -1
  321. package/dist/src/transform/transformPaths.d.ts +1 -1
  322. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  323. package/dist/src/transform/transformPaths.js +19 -23
  324. package/dist/src/transform/transformPaths.js.map +1 -1
  325. package/dist/src/transform/transformResponses.d.ts +1 -1
  326. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  327. package/dist/src/transform/transformResponses.js +21 -25
  328. package/dist/src/transform/transformResponses.js.map +1 -1
  329. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  330. package/dist/src/transform/transformSchemas.js +21 -32
  331. package/dist/src/transform/transformSchemas.js.map +1 -1
  332. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  333. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  334. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  335. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  336. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  337. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  338. package/dist/src/transform/transfromRLCOptions.js +28 -39
  339. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  340. package/dist/src/utils/clientUtils.d.ts +1 -1
  341. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  342. package/dist/src/utils/clientUtils.js +15 -23
  343. package/dist/src/utils/clientUtils.js.map +1 -1
  344. package/dist/src/utils/credentialUtils.d.ts +1 -1
  345. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  346. package/dist/src/utils/credentialUtils.js +4 -5
  347. package/dist/src/utils/credentialUtils.js.map +1 -1
  348. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  349. package/dist/src/utils/crossLanguageDef.js +11 -15
  350. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  351. package/dist/src/utils/emitUtil.d.ts +1 -1
  352. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  353. package/dist/src/utils/emitUtil.js +5 -7
  354. package/dist/src/utils/emitUtil.js.map +1 -1
  355. package/dist/src/utils/fileSystemUtils.d.ts +2 -0
  356. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  357. package/dist/src/utils/fileSystemUtils.js +26 -7
  358. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  359. package/dist/src/utils/importHelper.d.ts.map +1 -1
  360. package/dist/src/utils/importHelper.js +3 -6
  361. package/dist/src/utils/importHelper.js.map +1 -1
  362. package/dist/src/utils/interfaces.d.ts +1 -1
  363. package/dist/src/utils/interfaces.d.ts.map +1 -1
  364. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  365. package/dist/src/utils/mediaTypes.js +7 -19
  366. package/dist/src/utils/mediaTypes.js.map +1 -1
  367. package/dist/src/utils/modelUtils.d.ts +5 -5
  368. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  369. package/dist/src/utils/modelUtils.js +168 -257
  370. package/dist/src/utils/modelUtils.js.map +1 -1
  371. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  372. package/dist/src/utils/namespaceUtils.js +6 -7
  373. package/dist/src/utils/namespaceUtils.js.map +1 -1
  374. package/dist/src/utils/operationUtil.d.ts +1 -1
  375. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  376. package/dist/src/utils/operationUtil.js +60 -81
  377. package/dist/src/utils/operationUtil.js.map +1 -1
  378. package/dist/src/utils/parameterUtils.d.ts +1 -1
  379. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  380. package/dist/src/utils/parameterUtils.js +26 -33
  381. package/dist/src/utils/parameterUtils.js.map +1 -1
  382. package/dist/src/utils/resolve-project-root.js +2 -2
  383. package/dist/src/utils/resolve-project-root.js.map +1 -1
  384. package/dist/tsconfig.tsbuildinfo +1 -1
  385. package/package.json +36 -43
  386. package/src/contextManager.ts +6 -9
  387. package/src/framework/declaration.ts +18 -28
  388. package/src/framework/dependency.ts +1 -2
  389. package/src/framework/hooks/binder.ts +47 -120
  390. package/src/framework/hooks/sdkTypes.ts +27 -54
  391. package/src/framework/hooks/useDependencies.ts +2 -4
  392. package/src/framework/load-static-helpers.ts +28 -51
  393. package/src/framework/reference.ts +2 -5
  394. package/src/framework/sample.ts +9 -9
  395. package/src/index.ts +145 -185
  396. package/src/lib.ts +143 -158
  397. package/src/metaTree.ts +1 -1
  398. package/src/modular/buildClassicalClient.ts +83 -160
  399. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  400. package/src/modular/buildClientContext.ts +54 -83
  401. package/src/modular/buildModularOptions.ts +4 -5
  402. package/src/modular/buildOperations.ts +46 -73
  403. package/src/modular/buildProjectFiles.ts +18 -47
  404. package/src/modular/buildRestorePoller.ts +27 -46
  405. package/src/modular/buildRootIndex.ts +86 -160
  406. package/src/modular/buildSubpathIndex.ts +35 -58
  407. package/src/modular/emitLoggerFile.ts +4 -9
  408. package/src/modular/emitModels.ts +136 -266
  409. package/src/modular/emitModelsOptions.ts +10 -16
  410. package/src/modular/emitSamples.ts +92 -180
  411. package/src/modular/emitTests.ts +28 -61
  412. package/src/modular/external-dependencies.ts +54 -54
  413. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  414. package/src/modular/helpers/clientHelpers.ts +41 -88
  415. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  416. package/src/modular/helpers/exampleValueHelpers.ts +99 -215
  417. package/src/modular/helpers/namingHelpers.ts +12 -28
  418. package/src/modular/helpers/operationHelpers.ts +430 -757
  419. package/src/modular/helpers/typeHelpers.ts +11 -22
  420. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  421. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  422. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  423. package/src/modular/serialization/serializeUtils.ts +12 -22
  424. package/src/modular/static/rollup.test.config.js +11 -14
  425. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  426. package/src/modular/static-helpers-metadata.ts +60 -60
  427. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  428. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  429. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  430. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  431. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  432. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  433. package/src/modular/type-expressions/utils.ts +1 -1
  434. package/src/rlc-common/buildClient.ts +70 -141
  435. package/src/rlc-common/buildClientDefinitions.ts +44 -87
  436. package/src/rlc-common/buildIndexFile.ts +78 -78
  437. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  438. package/src/rlc-common/buildLogger.ts +7 -7
  439. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  440. package/src/rlc-common/buildObjectTypes.ts +79 -156
  441. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  442. package/src/rlc-common/buildParameterTypes.ts +116 -137
  443. package/src/rlc-common/buildPollingHelper.ts +7 -7
  444. package/src/rlc-common/buildResponseTypes.ts +34 -57
  445. package/src/rlc-common/buildSamples.ts +3 -3
  446. package/src/rlc-common/buildSchemaType.ts +37 -29
  447. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  448. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  449. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  450. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  451. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  452. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  453. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  454. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  455. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  456. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  457. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  458. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  459. package/src/rlc-common/index.ts +28 -28
  460. package/src/rlc-common/interfaces.ts +3 -11
  461. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  462. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  463. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  464. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  465. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  466. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  467. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  468. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  469. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  470. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  471. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  472. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  473. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  474. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  475. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  476. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  477. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  478. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  479. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  480. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  481. package/src/rlc-common/test/buildSnippets.ts +6 -12
  482. package/src/rlc-common/transformSampleGroups.ts +54 -105
  483. package/src/testing/index.ts +2 -5
  484. package/src/transform/transform.ts +22 -34
  485. package/src/transform/transformApiVersionInfo.ts +17 -30
  486. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  487. package/src/transform/transformParameters.ts +55 -105
  488. package/src/transform/transformPaths.ts +26 -43
  489. package/src/transform/transformResponses.ts +26 -33
  490. package/src/transform/transformSchemas.ts +15 -33
  491. package/src/transform/transformTelemetryInfo.ts +8 -14
  492. package/src/transform/transfromRLCOptions.ts +53 -116
  493. package/src/utils/clientUtils.ts +22 -41
  494. package/src/utils/credentialUtils.ts +8 -19
  495. package/src/utils/crossLanguageDef.ts +15 -34
  496. package/src/utils/emitUtil.ts +11 -17
  497. package/src/utils/fileSystemUtils.ts +30 -8
  498. package/src/utils/importHelper.ts +5 -10
  499. package/src/utils/interfaces.ts +1 -1
  500. package/src/utils/mediaTypes.ts +13 -34
  501. package/src/utils/modelUtils.ts +175 -384
  502. package/src/utils/namespaceUtils.ts +8 -24
  503. package/src/utils/operationUtil.ts +98 -190
  504. package/src/utils/parameterUtils.ts +31 -54
  505. package/src/utils/resolve-project-root.ts +3 -3
  506. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  507. package/static/static-helpers/multipartHelpers.ts +3 -3
  508. package/static/static-helpers/pagingHelpers.ts +28 -63
  509. package/static/static-helpers/pollingHelpers.ts +16 -29
  510. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  511. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  512. package/static/static-helpers/serialization/get-binary-response-browser.mts +3 -1
  513. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  514. package/static/static-helpers/serialization/get-binary-stream-response-browser.mts +1 -3
  515. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  516. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  517. package/static/static-helpers/serialization/serializers.ts +4 -7
  518. package/static/static-helpers/serialization/xml-helpers.ts +42 -90
  519. package/static/static-helpers/simplePollerHelpers.ts +10 -19
  520. package/static/static-helpers/storageCompatResponse.ts +10 -27
  521. package/static/static-helpers/urlTemplate.ts +4 -7
  522. package/static/test-helpers/recordedClient.ts +5 -10
@@ -1,37 +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 _ from "lodash";
24
- import { getClientParameters } from "../modular/helpers/clientHelpers.js";
25
21
 
26
22
  export function transformRLCOptions(
27
23
  emitterOptions: EmitterOptions,
28
- dpgContext: SdkContext
24
+ dpgContext: SdkContext,
29
25
  ): RLCOptions {
30
26
  // Extract the options from emitter option
31
27
  const options = extractRLCOptions(
32
28
  dpgContext,
33
29
  emitterOptions,
34
- dpgContext.generationPathDetail?.rootDir ?? ""
30
+ dpgContext.generationPathDetail?.rootDir ?? "",
35
31
  );
36
32
  const batch = getRLCClients(dpgContext, options.isModularLibrary);
37
33
  options.batch = batch;
@@ -40,41 +36,29 @@ export function transformRLCOptions(
40
36
  function extractRLCOptions(
41
37
  dpgContext: SdkContext,
42
38
  emitterOptions: EmitterOptions,
43
- generationRootDir: string
39
+ generationRootDir: string,
44
40
  ): RLCOptions {
45
41
  const program = dpgContext.program;
46
42
  // Compute isModularLibrary early - defaults to true unless explicitly set to false
47
43
  const isModularLibrary = emitterOptions["is-modular-library"] !== false;
48
44
  const includeShortcuts = getIncludeShortcuts(emitterOptions);
49
- const packageDetails = getPackageDetails(
50
- program,
51
- emitterOptions,
52
- isModularLibrary
53
- );
45
+ const packageDetails = getPackageDetails(program, emitterOptions, isModularLibrary);
54
46
  const flavor = getFlavor(emitterOptions, packageDetails);
55
47
  const moduleKind = getModuleKind(emitterOptions);
56
48
  const serviceInfo = getServiceInfo(program, isModularLibrary);
57
- const includeHeadersInResponse =
58
- emitterOptions["include-headers-in-response"] === true;
49
+ const includeHeadersInResponse = emitterOptions["include-headers-in-response"] === true;
59
50
  const azureSdkForJs = getAzureSdkForJs(emitterOptions, flavor);
60
51
  const generateMetadata = getGenerateMetadata(emitterOptions);
61
52
  const generateTest = getGenerateTest(emitterOptions, flavor);
62
53
  const generateSample = getGenerateSample(dpgContext, emitterOptions);
63
- const credentialInfo = getCredentialInfo(
64
- program,
65
- emitterOptions,
66
- isModularLibrary
67
- );
54
+ const credentialInfo = getCredentialInfo(program, emitterOptions, isModularLibrary);
68
55
  const azureOutputDirectory = getAzureOutputDirectory(generationRootDir);
69
56
  const enableOperationGroup = getEnableOperationGroup(
70
57
  dpgContext,
71
58
  emitterOptions,
72
- isModularLibrary
73
- );
74
- const enableModelNamespace = getEnableModelNamespace(
75
- dpgContext,
76
- emitterOptions
59
+ isModularLibrary,
77
60
  );
61
+ const enableModelNamespace = getEnableModelNamespace(dpgContext, emitterOptions);
78
62
  const hierarchyClient = getHierarchyClient(emitterOptions);
79
63
  const clearOutputFolder = getClearOutputFolder(emitterOptions);
80
64
  const multiClient = emitterOptions["multi-client"];
@@ -84,25 +68,16 @@ function extractRLCOptions(
84
68
  const productDocLink = emitterOptions["product-doc-link"];
85
69
  const compatibilityMode = emitterOptions["compatibility-mode"];
86
70
  const compatibilityLro = emitterOptions["compatibility-lro"];
87
- const experimentalExtensibleEnums =
88
- emitterOptions["experimental-extensible-enums"];
89
- const ignorePropertyNameNormalize =
90
- emitterOptions["ignore-property-name-normalize"];
91
- const ignoreEnumMemberNameNormalize =
92
- emitterOptions["ignore-enum-member-name-normalize"];
93
- const compatibilityQueryMultiFormat =
94
- 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"];
95
75
  const enableStorageCompat = emitterOptions["enable-storage-compat"] === true;
96
- const treatUnknownAsRecord =
97
- emitterOptions["treat-unknown-as-record"] === true;
76
+ const treatUnknownAsRecord = emitterOptions["treat-unknown-as-record"] === true;
98
77
  const typespecTitleMap = emitterOptions["typespec-title-map"];
99
- const generateReactNativeTarget =
100
- emitterOptions["generate-react-native-target"] === true;
78
+ const generateReactNativeTarget = emitterOptions["generate-react-native-target"] === true;
101
79
  const hasSubscriptionId = getSubscriptionId(dpgContext);
102
- const ignoreNullableOnOptional = getIgnoreNullableOnOptional(
103
- emitterOptions,
104
- flavor
105
- );
80
+ const ignoreNullableOnOptional = getIgnoreNullableOnOptional(emitterOptions, flavor);
106
81
  const wrapNonModelReturn = getWrapNonModelReturn(emitterOptions, flavor);
107
82
  const isMultiService = (dpgContext.allServiceNamespaces?.length ?? 0) > 1;
108
83
 
@@ -144,7 +119,7 @@ function extractRLCOptions(
144
119
  isMultiService,
145
120
  enableStorageCompat,
146
121
  treatUnknownAsRecord,
147
- generateReactNativeTarget
122
+ generateReactNativeTarget,
148
123
  };
149
124
  }
150
125
 
@@ -164,10 +139,9 @@ function processAuth(program: Program, isModularLibrary: boolean) {
164
139
  securityInfo.addCredentials = true;
165
140
  securityInfo.customHttpAuthHeaderName = "Authorization";
166
141
  // If it is basic or bearer auth we should generate it as Basic or Bearer
167
- securityInfo.customHttpAuthSharedKeyPrefix = [
168
- "basic",
169
- "bearer"
170
- ].includes(auth.scheme.toLowerCase())
142
+ securityInfo.customHttpAuthSharedKeyPrefix = ["basic", "bearer"].includes(
143
+ auth.scheme.toLowerCase(),
144
+ )
171
145
  ? pascalCase(auth.scheme)
172
146
  : auth.scheme;
173
147
  break;
@@ -190,7 +164,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
190
164
  if (flow.scopes.length === 0) {
191
165
  reportDiagnostic(program, {
192
166
  code: "no-credential-scopes",
193
- target: NoTarget
167
+ target: NoTarget,
194
168
  });
195
169
  }
196
170
  // ignore the user_impersonation scope
@@ -204,7 +178,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
204
178
  securityInfo.credentialScopes.push(
205
179
  ...flow.scopes.map((item) => {
206
180
  return item.value;
207
- })
181
+ }),
208
182
  );
209
183
  break;
210
184
  }
@@ -218,7 +192,7 @@ function processAuth(program: Program, isModularLibrary: boolean) {
218
192
  function getEnableOperationGroup(
219
193
  dpgContext: SdkContext,
220
194
  emitterOptions: EmitterOptions,
221
- isModularLibrary: boolean
195
+ isModularLibrary: boolean,
222
196
  ) {
223
197
  if (
224
198
  emitterOptions["enable-operation-group"] === true ||
@@ -230,10 +204,7 @@ function getEnableOperationGroup(
230
204
  return detectIfNameConflicts(dpgContext, isModularLibrary);
231
205
  }
232
206
 
233
- function getEnableModelNamespace(
234
- dpgContext: SdkContext,
235
- emitterOptions: EmitterOptions
236
- ) {
207
+ function getEnableModelNamespace(dpgContext: SdkContext, emitterOptions: EmitterOptions) {
237
208
  if (
238
209
  emitterOptions["enable-model-namespace"] === true ||
239
210
  emitterOptions["enable-model-namespace"] === false
@@ -245,10 +216,7 @@ function getEnableModelNamespace(
245
216
  }
246
217
 
247
218
  function getHierarchyClient(emitterOptions: EmitterOptions) {
248
- if (
249
- emitterOptions["hierarchy-client"] === true ||
250
- emitterOptions["hierarchy-client"] === false
251
- ) {
219
+ if (emitterOptions["hierarchy-client"] === true || emitterOptions["hierarchy-client"] === false) {
252
220
  return emitterOptions["hierarchy-client"];
253
221
  }
254
222
  // enable hierarchy client by default if customers didn't set the option explicitly
@@ -259,10 +227,7 @@ function getClearOutputFolder(emitterOptions: EmitterOptions) {
259
227
  return emitterOptions["clear-output-folder"] ? true : false;
260
228
  }
261
229
 
262
- function detectIfNameConflicts(
263
- dpgContext: SdkContext,
264
- isModularLibrary: boolean
265
- ) {
230
+ function detectIfNameConflicts(dpgContext: SdkContext, isModularLibrary: boolean) {
266
231
  const clients = getRLCClients(dpgContext, isModularLibrary);
267
232
  for (const client of clients) {
268
233
  // only consider it's conflict when there are conflicts in the same client
@@ -284,7 +249,7 @@ function detectIfNameConflicts(
284
249
 
285
250
  function getIgnoreNullableOnOptional(
286
251
  emitterOptions: EmitterOptions,
287
- flavor: PackageFlavor
252
+ flavor: PackageFlavor,
288
253
  ): boolean {
289
254
  // If explicitly set in options, use that value
290
255
  if (emitterOptions["ignore-nullable-on-optional"] !== undefined) {
@@ -294,10 +259,7 @@ function getIgnoreNullableOnOptional(
294
259
  return flavor === "azure";
295
260
  }
296
261
 
297
- function getWrapNonModelReturn(
298
- emitterOptions: EmitterOptions,
299
- flavor: PackageFlavor
300
- ): boolean {
262
+ function getWrapNonModelReturn(emitterOptions: EmitterOptions, flavor: PackageFlavor): boolean {
301
263
  // If explicitly set in options, use that value
302
264
  if (emitterOptions["wrap-non-model-return"] !== undefined) {
303
265
  return Boolean(emitterOptions["wrap-non-model-return"]);
@@ -314,10 +276,7 @@ function getModuleKind(emitterOptions: EmitterOptions) {
314
276
  return emitterOptions["module-kind"] ?? "esm";
315
277
  }
316
278
 
317
- function getFlavor(
318
- emitterOptions: EmitterOptions,
319
- packageDetails?: PackageDetails
320
- ): PackageFlavor {
279
+ function getFlavor(emitterOptions: EmitterOptions, packageDetails?: PackageDetails): PackageFlavor {
321
280
  const flavor = emitterOptions.flavor;
322
281
 
323
282
  if (flavor !== undefined) {
@@ -346,28 +305,24 @@ function getFlavor(
346
305
  function buildPackageDetails(
347
306
  program: Program,
348
307
  emitterOptions: EmitterOptions,
349
- isModularLibrary: boolean
308
+ isModularLibrary: boolean,
350
309
  ): PackageDetails {
351
310
  const defaultDetail = {
352
311
  name: "@msinternal/unamedpackage",
353
312
  nameWithoutScope: "unamedpackage",
354
- version: "1.0.0-beta.1"
313
+ version: "1.0.0-beta.1",
355
314
  };
356
- const isVersionUserProvided = Boolean(
357
- emitterOptions["package-details"]?.version
358
- );
315
+ const isVersionUserProvided = Boolean(emitterOptions["package-details"]?.version);
359
316
  const packageDetails: PackageDetails = {
360
317
  ...emitterOptions["package-details"],
361
318
  name:
362
319
  emitterOptions["package-details"]?.name ??
363
320
  normalizeName(
364
- emitterOptions?.title ??
365
- getDefaultService(program, isModularLibrary)?.title ??
366
- "",
367
- NameType.Class
321
+ emitterOptions?.title ?? getDefaultService(program, isModularLibrary)?.title ?? "",
322
+ NameType.Class,
368
323
  ),
369
324
  version: emitterOptions["package-details"]?.version ?? "1.0.0-beta.1",
370
- isVersionUserProvided
325
+ isVersionUserProvided,
371
326
  };
372
327
  if (emitterOptions["package-details"]?.name) {
373
328
  const nameParts = emitterOptions["package-details"]?.name.split("/");
@@ -382,26 +337,20 @@ function buildPackageDetails(
382
337
  function getPackageDetails(
383
338
  program: Program,
384
339
  emitterOptions: EmitterOptions,
385
- isModularLibrary: boolean
340
+ isModularLibrary: boolean,
386
341
  ): PackageDetails {
387
342
  return buildPackageDetails(program, emitterOptions, isModularLibrary);
388
343
  }
389
344
 
390
- function getServiceInfo(
391
- program: Program,
392
- isModularLibrary: boolean
393
- ): ServiceInfo {
345
+ function getServiceInfo(program: Program, isModularLibrary: boolean): ServiceInfo {
394
346
  const defaultService = getDefaultService(program, isModularLibrary);
395
347
  return {
396
348
  title: defaultService?.title,
397
- description: defaultService && getDoc(program, defaultService.type)
349
+ description: defaultService && getDoc(program, defaultService.type),
398
350
  };
399
351
  }
400
352
 
401
- function getAzureSdkForJs(
402
- emitterOptions: EmitterOptions,
403
- flavor: PackageFlavor
404
- ) {
353
+ function getAzureSdkForJs(emitterOptions: EmitterOptions, flavor: PackageFlavor) {
405
354
  return flavor !== "azure"
406
355
  ? false
407
356
  : emitterOptions["azure-sdk-for-js"] === undefined ||
@@ -425,10 +374,7 @@ function getGenerateMetadata(emitterOptions: EmitterOptions) {
425
374
  * @param emitterOptions
426
375
  * @returns
427
376
  */
428
- function getGenerateTest(
429
- emitterOptions: EmitterOptions,
430
- flavor: PackageFlavor
431
- ) {
377
+ function getGenerateTest(emitterOptions: EmitterOptions, flavor: PackageFlavor) {
432
378
  // Disable generateTest if azureSdkForJS is false
433
379
  if (!getAzureSdkForJs(emitterOptions, flavor)) {
434
380
  return false;
@@ -441,10 +387,7 @@ function getGenerateTest(
441
387
  * @param emitterOptions
442
388
  * @returns
443
389
  */
444
- function getGenerateSample(
445
- dpgContext: SdkContext,
446
- emitterOptions: EmitterOptions
447
- ) {
390
+ function getGenerateSample(dpgContext: SdkContext, emitterOptions: EmitterOptions) {
448
391
  if (dpgContext.arm && emitterOptions["generate-sample"] === undefined) {
449
392
  return true;
450
393
  }
@@ -460,7 +403,7 @@ function getGenerateSample(
460
403
  export function getCredentialInfo(
461
404
  program: Program,
462
405
  emitterOptions: EmitterOptions,
463
- isModularLibrary: boolean = true
406
+ isModularLibrary: boolean = true,
464
407
  ) {
465
408
  const securityInfo = processAuth(program, isModularLibrary);
466
409
  const addCredentials =
@@ -490,20 +433,14 @@ export function getCredentialInfo(
490
433
  credentialScopes,
491
434
  credentialKeyHeaderName,
492
435
  customHttpAuthHeaderName,
493
- customHttpAuthSharedKeyPrefix
436
+ customHttpAuthSharedKeyPrefix,
494
437
  };
495
438
  }
496
439
 
497
440
  function getAzureOutputDirectory(emitterOutputDir: string): string | undefined {
498
441
  const sdkFolder = emitterOutputDir;
499
- const sdkReletivePath = sdkFolder
500
- ?.replace(/\/$/, "")
501
- .split("/")
502
- .slice(-3)
503
- .join("/");
504
- return sdkReletivePath?.substring(0, 3) === "sdk"
505
- ? sdkReletivePath
506
- : undefined;
442
+ const sdkReletivePath = sdkFolder?.replace(/\/$/, "").split("/").slice(-3).join("/");
443
+ return sdkReletivePath?.substring(0, 3) === "sdk" ? sdkReletivePath : undefined;
507
444
  }
508
445
 
509
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
  }