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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/README.md +0 -4
  2. package/dist/src/contextManager.d.ts +5 -5
  3. package/dist/src/contextManager.d.ts.map +1 -1
  4. package/dist/src/contextManager.js +3 -3
  5. package/dist/src/contextManager.js.map +1 -1
  6. package/dist/src/framework/declaration.d.ts +1 -1
  7. package/dist/src/framework/declaration.d.ts.map +1 -1
  8. package/dist/src/framework/declaration.js +2 -4
  9. package/dist/src/framework/declaration.js.map +1 -1
  10. package/dist/src/framework/dependency.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/binder.d.ts +1 -1
  12. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  13. package/dist/src/framework/hooks/binder.js +31 -40
  14. package/dist/src/framework/hooks/binder.js.map +1 -1
  15. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  16. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  17. package/dist/src/framework/hooks/sdkTypes.js +8 -12
  18. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  19. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  20. package/dist/src/framework/hooks/useDependencies.js +1 -1
  21. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  22. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  23. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  24. package/dist/src/framework/load-static-helpers.js +17 -31
  25. package/dist/src/framework/load-static-helpers.js.map +1 -1
  26. package/dist/src/framework/reference.d.ts.map +1 -1
  27. package/dist/src/framework/reference.js +2 -2
  28. package/dist/src/framework/reference.js.map +1 -1
  29. package/dist/src/framework/sample.js +8 -8
  30. package/dist/src/framework/sample.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -1
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +103 -92
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/lib.d.ts +1 -1
  36. package/dist/src/lib.d.ts.map +1 -1
  37. package/dist/src/lib.js +140 -140
  38. package/dist/src/lib.js.map +1 -1
  39. package/dist/src/metaTree.d.ts +1 -1
  40. package/dist/src/metaTree.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  42. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  43. package/dist/src/modular/buildClassicalClient.js +60 -74
  44. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  45. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  46. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  47. package/dist/src/modular/buildClassicalOperationGroups.js +8 -10
  48. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  49. package/dist/src/modular/buildClientContext.d.ts +2 -2
  50. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  51. package/dist/src/modular/buildClientContext.js +31 -38
  52. package/dist/src/modular/buildClientContext.js.map +1 -1
  53. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  54. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  55. package/dist/src/modular/buildModularOptions.js +5 -6
  56. package/dist/src/modular/buildModularOptions.js.map +1 -1
  57. package/dist/src/modular/buildOperations.d.ts +3 -3
  58. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  59. package/dist/src/modular/buildOperations.js +23 -25
  60. package/dist/src/modular/buildOperations.js.map +1 -1
  61. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  62. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  63. package/dist/src/modular/buildProjectFiles.js +8 -11
  64. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  65. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  66. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  67. package/dist/src/modular/buildRestorePoller.js +12 -13
  68. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  69. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  70. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  71. package/dist/src/modular/buildRootIndex.js +36 -50
  72. package/dist/src/modular/buildRootIndex.js.map +1 -1
  73. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  74. package/dist/src/modular/buildSubpathIndex.js +9 -18
  75. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  76. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  77. package/dist/src/modular/emitLoggerFile.js +4 -4
  78. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  79. package/dist/src/modular/emitModels.d.ts +1 -1
  80. package/dist/src/modular/emitModels.d.ts.map +1 -1
  81. package/dist/src/modular/emitModels.js +81 -113
  82. package/dist/src/modular/emitModels.js.map +1 -1
  83. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  84. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  85. package/dist/src/modular/emitModelsOptions.js +7 -8
  86. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  87. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  88. package/dist/src/modular/emitSamples.js +69 -77
  89. package/dist/src/modular/emitSamples.js.map +1 -1
  90. package/dist/src/modular/emitTests.d.ts.map +1 -1
  91. package/dist/src/modular/emitTests.js +13 -18
  92. package/dist/src/modular/emitTests.js.map +1 -1
  93. package/dist/src/modular/external-dependencies.js +54 -54
  94. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  95. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  96. package/dist/src/modular/helpers/classicalOperationHelpers.js +59 -68
  97. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  98. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  99. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  100. package/dist/src/modular/helpers/clientHelpers.js +31 -54
  101. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  102. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  103. package/dist/src/modular/helpers/clientOptionHelpers.js +1 -1
  104. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  105. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  106. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  107. package/dist/src/modular/helpers/exampleValueHelpers.js +72 -84
  108. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  109. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  110. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  111. package/dist/src/modular/helpers/namingHelpers.js +7 -10
  112. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  113. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  114. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  115. package/dist/src/modular/helpers/operationHelpers.js +204 -288
  116. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  117. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  118. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  119. package/dist/src/modular/helpers/typeHelpers.js +4 -6
  120. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  121. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  122. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  123. package/dist/src/modular/serialization/buildDeserializerFunction.js +58 -67
  124. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  125. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  126. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  127. package/dist/src/modular/serialization/buildSerializerFunction.js +65 -75
  128. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  129. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  130. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  131. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +73 -90
  132. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  133. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  134. package/dist/src/modular/serialization/serializeUtils.js +25 -33
  135. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  136. package/dist/src/modular/static-helpers-metadata.js +60 -60
  137. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  138. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  139. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  140. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  141. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -2
  142. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  143. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  144. package/dist/src/modular/type-expressions/get-model-expression.js +10 -13
  145. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  146. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  147. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  148. package/dist/src/modular/type-expressions/get-nullable-expression.js +2 -3
  149. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  150. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  151. package/dist/src/modular/type-expressions/get-type-expression.js +5 -11
  152. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  153. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  154. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  155. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  156. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  157. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  158. package/dist/src/rlc-common/buildClient.js +67 -89
  159. package/dist/src/rlc-common/buildClient.js.map +1 -1
  160. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  161. package/dist/src/rlc-common/buildClientDefinitions.js +28 -45
  162. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  163. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  164. package/dist/src/rlc-common/buildIndexFile.js +59 -60
  165. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  166. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  167. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +37 -38
  168. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  169. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  170. package/dist/src/rlc-common/buildLogger.js +4 -5
  171. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  172. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  173. package/dist/src/rlc-common/buildMethodShortcuts.js +4 -4
  174. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  175. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  176. package/dist/src/rlc-common/buildObjectTypes.js +57 -96
  177. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  178. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  179. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  180. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  181. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  182. package/dist/src/rlc-common/buildParameterTypes.js +71 -61
  183. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  184. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  185. package/dist/src/rlc-common/buildPollingHelper.js +9 -10
  186. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  187. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  188. package/dist/src/rlc-common/buildResponseTypes.js +23 -27
  189. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  190. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  191. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  192. package/dist/src/rlc-common/buildSamples.js +2 -2
  193. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  194. package/dist/src/rlc-common/buildSchemaType.js +31 -13
  195. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  196. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  197. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  198. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  199. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  200. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  201. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  202. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  203. package/dist/src/rlc-common/helpers/apiVersionUtil.js +6 -8
  204. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  205. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  206. package/dist/src/rlc-common/helpers/importsUtil.js +32 -37
  207. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  208. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  209. package/dist/src/rlc-common/helpers/nameConstructors.js +2 -4
  210. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  211. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  212. package/dist/src/rlc-common/helpers/nameUtils.js +17 -23
  213. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  214. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  215. package/dist/src/rlc-common/helpers/operationHelpers.js +16 -31
  216. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  217. package/dist/src/rlc-common/helpers/packageUtil.js +3 -6
  218. package/dist/src/rlc-common/helpers/packageUtil.js.map +1 -1
  219. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  220. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  221. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  222. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  223. package/dist/src/rlc-common/helpers/schemaHelpers.js +3 -7
  224. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  225. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  226. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  227. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  228. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  229. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  230. package/dist/src/rlc-common/helpers/typeUtil.js +4 -9
  231. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  232. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +7 -11
  233. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  234. package/dist/src/rlc-common/index.d.ts +28 -28
  235. package/dist/src/rlc-common/index.d.ts.map +1 -1
  236. package/dist/src/rlc-common/index.js +28 -28
  237. package/dist/src/rlc-common/index.js.map +1 -1
  238. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  239. package/dist/src/rlc-common/interfaces.js.map +1 -1
  240. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  241. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +14 -15
  242. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  243. package/dist/src/rlc-common/metadata/buildChangelogFile.js +2 -3
  244. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +1 -1
  245. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  246. package/dist/src/rlc-common/metadata/buildESLintConfig.js +5 -8
  247. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  248. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  249. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  250. package/dist/src/rlc-common/metadata/buildPackageFile.js +33 -37
  251. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  252. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildReadmeFile.js +31 -39
  254. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  255. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  256. package/dist/src/rlc-common/metadata/buildRollupConfig.js +4 -6
  257. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  258. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  259. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +3 -5
  260. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  261. package/dist/src/rlc-common/metadata/buildTestConfig.js +11 -12
  262. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +1 -1
  263. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  264. package/dist/src/rlc-common/metadata/buildTsConfig.js +28 -28
  265. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  266. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  267. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -5
  268. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  269. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  270. package/dist/src/rlc-common/metadata/buildWarpConfig.js +4 -5
  271. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  272. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  274. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +14 -14
  275. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  276. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  277. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +24 -29
  278. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  279. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  280. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  281. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  282. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  283. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  284. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  285. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +28 -31
  286. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  287. package/dist/src/rlc-common/metadata/utils.js +1 -2
  288. package/dist/src/rlc-common/metadata/utils.js.map +1 -1
  289. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  290. package/dist/src/rlc-common/test/buildRecordedClient.js +4 -5
  291. package/dist/src/rlc-common/test/buildRecordedClient.js.map +1 -1
  292. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  293. package/dist/src/rlc-common/test/buildSampleTest.js +3 -4
  294. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  295. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  296. package/dist/src/rlc-common/test/buildSnippets.js +7 -10
  297. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  298. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  299. package/dist/src/rlc-common/transformSampleGroups.js +41 -45
  300. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  301. package/dist/src/testing/index.d.ts.map +1 -1
  302. package/dist/src/testing/index.js +1 -1
  303. package/dist/src/testing/index.js.map +1 -1
  304. package/dist/src/transform/transform.d.ts +1 -1
  305. package/dist/src/transform/transform.d.ts.map +1 -1
  306. package/dist/src/transform/transform.js +28 -27
  307. package/dist/src/transform/transform.js.map +1 -1
  308. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  309. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  310. package/dist/src/transform/transformApiVersionInfo.js +12 -14
  311. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  312. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  313. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  314. package/dist/src/transform/transformHelperFunctionDetails.js +11 -14
  315. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  316. package/dist/src/transform/transformParameters.d.ts +2 -2
  317. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  318. package/dist/src/transform/transformParameters.js +32 -45
  319. package/dist/src/transform/transformParameters.js.map +1 -1
  320. package/dist/src/transform/transformPaths.d.ts +1 -1
  321. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  322. package/dist/src/transform/transformPaths.js +19 -23
  323. package/dist/src/transform/transformPaths.js.map +1 -1
  324. package/dist/src/transform/transformResponses.d.ts +1 -1
  325. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  326. package/dist/src/transform/transformResponses.js +21 -25
  327. package/dist/src/transform/transformResponses.js.map +1 -1
  328. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  329. package/dist/src/transform/transformSchemas.js +21 -32
  330. package/dist/src/transform/transformSchemas.js.map +1 -1
  331. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  332. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  333. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  334. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  335. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  336. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  337. package/dist/src/transform/transfromRLCOptions.js +28 -39
  338. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  339. package/dist/src/utils/clientUtils.d.ts +1 -1
  340. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  341. package/dist/src/utils/clientUtils.js +15 -23
  342. package/dist/src/utils/clientUtils.js.map +1 -1
  343. package/dist/src/utils/credentialUtils.d.ts +1 -1
  344. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  345. package/dist/src/utils/credentialUtils.js +4 -5
  346. package/dist/src/utils/credentialUtils.js.map +1 -1
  347. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  348. package/dist/src/utils/crossLanguageDef.js +11 -15
  349. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  350. package/dist/src/utils/emitUtil.d.ts +1 -1
  351. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  352. package/dist/src/utils/emitUtil.js +5 -7
  353. package/dist/src/utils/emitUtil.js.map +1 -1
  354. package/dist/src/utils/fileSystemUtils.d.ts +2 -0
  355. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  356. package/dist/src/utils/fileSystemUtils.js +26 -7
  357. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  358. package/dist/src/utils/importHelper.d.ts.map +1 -1
  359. package/dist/src/utils/importHelper.js +3 -6
  360. package/dist/src/utils/importHelper.js.map +1 -1
  361. package/dist/src/utils/interfaces.d.ts +1 -1
  362. package/dist/src/utils/interfaces.d.ts.map +1 -1
  363. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  364. package/dist/src/utils/mediaTypes.js +7 -19
  365. package/dist/src/utils/mediaTypes.js.map +1 -1
  366. package/dist/src/utils/modelUtils.d.ts +5 -5
  367. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  368. package/dist/src/utils/modelUtils.js +168 -257
  369. package/dist/src/utils/modelUtils.js.map +1 -1
  370. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  371. package/dist/src/utils/namespaceUtils.js +6 -7
  372. package/dist/src/utils/namespaceUtils.js.map +1 -1
  373. package/dist/src/utils/operationUtil.d.ts +1 -1
  374. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  375. package/dist/src/utils/operationUtil.js +60 -81
  376. package/dist/src/utils/operationUtil.js.map +1 -1
  377. package/dist/src/utils/parameterUtils.d.ts +1 -1
  378. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  379. package/dist/src/utils/parameterUtils.js +26 -33
  380. package/dist/src/utils/parameterUtils.js.map +1 -1
  381. package/dist/src/utils/resolve-project-root.js +2 -2
  382. package/dist/src/utils/resolve-project-root.js.map +1 -1
  383. package/dist/tsconfig.tsbuildinfo +1 -1
  384. package/package.json +38 -45
  385. package/src/contextManager.ts +6 -9
  386. package/src/framework/declaration.ts +18 -28
  387. package/src/framework/dependency.ts +1 -2
  388. package/src/framework/hooks/binder.ts +47 -120
  389. package/src/framework/hooks/sdkTypes.ts +27 -54
  390. package/src/framework/hooks/useDependencies.ts +2 -4
  391. package/src/framework/load-static-helpers.ts +28 -51
  392. package/src/framework/reference.ts +2 -5
  393. package/src/framework/sample.ts +9 -9
  394. package/src/index.ts +145 -185
  395. package/src/lib.ts +143 -158
  396. package/src/metaTree.ts +1 -1
  397. package/src/modular/buildClassicalClient.ts +83 -160
  398. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  399. package/src/modular/buildClientContext.ts +54 -83
  400. package/src/modular/buildModularOptions.ts +4 -5
  401. package/src/modular/buildOperations.ts +46 -73
  402. package/src/modular/buildProjectFiles.ts +18 -47
  403. package/src/modular/buildRestorePoller.ts +27 -46
  404. package/src/modular/buildRootIndex.ts +86 -160
  405. package/src/modular/buildSubpathIndex.ts +35 -58
  406. package/src/modular/emitLoggerFile.ts +4 -9
  407. package/src/modular/emitModels.ts +136 -266
  408. package/src/modular/emitModelsOptions.ts +10 -16
  409. package/src/modular/emitSamples.ts +92 -180
  410. package/src/modular/emitTests.ts +28 -61
  411. package/src/modular/external-dependencies.ts +54 -54
  412. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  413. package/src/modular/helpers/clientHelpers.ts +41 -88
  414. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  415. package/src/modular/helpers/exampleValueHelpers.ts +99 -215
  416. package/src/modular/helpers/namingHelpers.ts +12 -28
  417. package/src/modular/helpers/operationHelpers.ts +430 -757
  418. package/src/modular/helpers/typeHelpers.ts +11 -22
  419. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  420. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  421. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  422. package/src/modular/serialization/serializeUtils.ts +12 -22
  423. package/src/modular/static/rollup.test.config.js +11 -14
  424. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  425. package/src/modular/static-helpers-metadata.ts +60 -60
  426. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  427. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  428. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  429. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  430. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  431. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  432. package/src/modular/type-expressions/utils.ts +1 -1
  433. package/src/rlc-common/buildClient.ts +70 -141
  434. package/src/rlc-common/buildClientDefinitions.ts +44 -87
  435. package/src/rlc-common/buildIndexFile.ts +78 -78
  436. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  437. package/src/rlc-common/buildLogger.ts +7 -7
  438. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  439. package/src/rlc-common/buildObjectTypes.ts +79 -156
  440. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  441. package/src/rlc-common/buildParameterTypes.ts +116 -137
  442. package/src/rlc-common/buildPollingHelper.ts +7 -7
  443. package/src/rlc-common/buildResponseTypes.ts +34 -57
  444. package/src/rlc-common/buildSamples.ts +3 -3
  445. package/src/rlc-common/buildSchemaType.ts +37 -29
  446. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  447. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  448. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  449. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  450. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  451. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  452. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  453. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  454. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  455. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  456. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  457. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  458. package/src/rlc-common/index.ts +28 -28
  459. package/src/rlc-common/interfaces.ts +3 -11
  460. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  461. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  462. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  463. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  464. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  465. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  466. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  467. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  468. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  469. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  470. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  471. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  472. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  473. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  474. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  475. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  476. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  477. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  478. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  479. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  480. package/src/rlc-common/test/buildSnippets.ts +6 -12
  481. package/src/rlc-common/transformSampleGroups.ts +54 -105
  482. package/src/testing/index.ts +2 -5
  483. package/src/transform/transform.ts +22 -34
  484. package/src/transform/transformApiVersionInfo.ts +17 -30
  485. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  486. package/src/transform/transformParameters.ts +55 -105
  487. package/src/transform/transformPaths.ts +26 -43
  488. package/src/transform/transformResponses.ts +26 -33
  489. package/src/transform/transformSchemas.ts +15 -33
  490. package/src/transform/transformTelemetryInfo.ts +8 -14
  491. package/src/transform/transfromRLCOptions.ts +53 -116
  492. package/src/utils/clientUtils.ts +22 -41
  493. package/src/utils/credentialUtils.ts +8 -19
  494. package/src/utils/crossLanguageDef.ts +15 -34
  495. package/src/utils/emitUtil.ts +11 -17
  496. package/src/utils/fileSystemUtils.ts +30 -8
  497. package/src/utils/importHelper.ts +5 -10
  498. package/src/utils/interfaces.ts +1 -1
  499. package/src/utils/mediaTypes.ts +13 -34
  500. package/src/utils/modelUtils.ts +175 -384
  501. package/src/utils/namespaceUtils.ts +8 -24
  502. package/src/utils/operationUtil.ts +98 -190
  503. package/src/utils/parameterUtils.ts +31 -54
  504. package/src/utils/resolve-project-root.ts +3 -3
  505. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  506. package/static/static-helpers/multipartHelpers.ts +3 -3
  507. package/static/static-helpers/pagingHelpers.ts +28 -63
  508. package/static/static-helpers/pollingHelpers.ts +16 -29
  509. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  510. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  511. package/static/static-helpers/serialization/get-binary-response-browser.mts +3 -1
  512. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  513. package/static/static-helpers/serialization/get-binary-stream-response-browser.mts +1 -3
  514. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  515. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  516. package/static/static-helpers/serialization/serializers.ts +4 -7
  517. package/static/static-helpers/serialization/xml-helpers.ts +42 -90
  518. package/static/static-helpers/simplePollerHelpers.ts +10 -19
  519. package/static/static-helpers/storageCompatResponse.ts +10 -27
  520. package/static/static-helpers/urlTemplate.ts +4 -7
  521. package/static/test-helpers/recordedClient.ts +5 -10
@@ -2,15 +2,15 @@ import {
2
2
  SdkHttpParameter,
3
3
  SdkModelPropertyType,
4
4
  SdkServiceResponseHeader,
5
- SdkType
5
+ SdkType,
6
6
  } from "@azure-tools/typespec-client-generator-core";
7
+ import { NameType, normalizeName } from "../../rlc-common/index.js";
8
+ import { SdkContext } from "../../utils/interfaces.js";
7
9
  import { getCredentialExpression } from "./get-credential-expression.js";
8
10
  import { getEnumExpression } from "./get-enum-expression.js";
9
11
  import { getModelExpression } from "./get-model-expression.js";
10
- import { getUnionExpression } from "./get-union-expression.js";
11
- import { NameType, normalizeName } from "../../rlc-common/index.js";
12
- import { SdkContext } from "../../utils/interfaces.js";
13
12
  import { getNullableExpression } from "./get-nullable-expression.js";
13
+ import { getUnionExpression } from "./get-union-expression.js";
14
14
 
15
15
  export interface EmitTypeOptions {
16
16
  emitInline?: boolean;
@@ -19,7 +19,7 @@ export interface EmitTypeOptions {
19
19
 
20
20
  export function normalizeModelPropertyName(
21
21
  context: SdkContext,
22
- property: SdkModelPropertyType | SdkHttpParameter | SdkServiceResponseHeader
22
+ property: SdkModelPropertyType | SdkHttpParameter | SdkServiceResponseHeader,
23
23
  ): string {
24
24
  const normalizedPropName = normalizeName(property.name, NameType.Property);
25
25
  return context.rlcOptions?.ignorePropertyNameNormalize
@@ -30,7 +30,7 @@ export function normalizeModelPropertyName(
30
30
  export function getTypeExpression(
31
31
  context: SdkContext,
32
32
  type: SdkType,
33
- options?: EmitTypeOptions
33
+ options?: EmitTypeOptions,
34
34
  ): string {
35
35
  switch (type.kind) {
36
36
  case "array": {
@@ -40,9 +40,7 @@ export function getTypeExpression(
40
40
  case "enum":
41
41
  return getEnumExpression(context, type);
42
42
  case "unknown":
43
- return context.rlcOptions?.treatUnknownAsRecord
44
- ? "Record<string, unknown>"
45
- : "any";
43
+ return context.rlcOptions?.treatUnknownAsRecord ? "Record<string, unknown>" : "any";
46
44
  case "boolean":
47
45
  return "boolean";
48
46
  case "decimal":
@@ -98,9 +96,7 @@ export function getTypeExpression(
98
96
  case "offsetDateTime":
99
97
  return "string";
100
98
  case "tuple": {
101
- const types = type.valueTypes
102
- .map((v) => getTypeExpression(context, v, options))
103
- .join(", ");
99
+ const types = type.valueTypes.map((v) => getTypeExpression(context, v, options)).join(", ");
104
100
  return `[${types}]`;
105
101
  }
106
102
  case "union":
@@ -1,17 +1,17 @@
1
1
  import { SdkUnionType } from "@azure-tools/typespec-client-generator-core";
2
2
  import { resolveReference } from "../../framework/reference.js";
3
- import { getTypeExpression, EmitTypeOptions } from "./get-type-expression.js";
4
- import { shouldEmitInline } from "./utils.js";
5
3
  import { SdkContext } from "../../utils/interfaces.js";
4
+ import { EmitTypeOptions, getTypeExpression } from "./get-type-expression.js";
5
+ import { shouldEmitInline } from "./utils.js";
6
6
 
7
7
  export function getUnionExpression(
8
8
  context: SdkContext,
9
9
  type: SdkUnionType,
10
- options: EmitTypeOptions = {}
10
+ options: EmitTypeOptions = {},
11
11
  ): string {
12
12
  if (shouldEmitInline(type, options)) {
13
13
  const variantTypes = new Set(
14
- type.variantTypes.map((v) => `${getTypeExpression(context, v, options)}`)
14
+ type.variantTypes.map((v) => `${getTypeExpression(context, v, options)}`),
15
15
  );
16
16
  return `(${[...variantTypes].join(" | ")})`;
17
17
  } else {
@@ -2,7 +2,7 @@ import { EmitTypeOptions } from "./get-type-expression.js";
2
2
 
3
3
  export function shouldEmitInline(
4
4
  type: { isGeneratedName?: boolean },
5
- options: EmitTypeOptions = {}
5
+ options: EmitTypeOptions = {},
6
6
  ): boolean {
7
7
  const emitInline = options.emitInline;
8
8
 
@@ -1,6 +1,7 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
+ import * as path from "path";
4
5
  import {
5
6
  InterfaceDeclarationStructure,
6
7
  OptionalKind,
@@ -9,28 +10,21 @@ import {
9
10
  StructureKind,
10
11
  VariableDeclarationKind,
11
12
  VariableStatementStructure,
12
- WriterFunction
13
+ WriterFunction,
13
14
  } from "ts-morph";
14
- import * as path from "path";
15
- import { NameType, normalizeName } from "./helpers/nameUtils.js";
16
15
  import { buildMethodShortcutImplementation } from "./buildMethodShortcuts.js";
17
- import { RLCModel, File, PathParameter } from "./interfaces.js";
18
- import {
19
- getClientName,
20
- getImportModuleName
21
- } from "./helpers/nameConstructors.js";
22
16
  import { getImportSpecifier } from "./helpers/importsUtil.js";
17
+ import { getClientName, getImportModuleName } from "./helpers/nameConstructors.js";
18
+ import { NameType, normalizeName } from "./helpers/nameUtils.js";
23
19
  import { isAzurePackage } from "./helpers/packageUtil.js";
20
+ import { File, PathParameter, RLCModel } from "./interfaces.js";
24
21
 
25
22
  function getClientOptionsInterface(
26
23
  model: RLCModel,
27
24
  clientName: string,
28
- optionalUrlParameters?: PathParameter[]
25
+ optionalUrlParameters?: PathParameter[],
29
26
  ): OptionalKind<InterfaceDeclarationStructure> | undefined {
30
- if (
31
- (!optionalUrlParameters || optionalUrlParameters.length === 0) &&
32
- !model.apiVersionInfo
33
- ) {
27
+ if ((!optionalUrlParameters || optionalUrlParameters.length === 0) && !model.apiVersionInfo) {
34
28
  return undefined;
35
29
  }
36
30
 
@@ -40,9 +34,7 @@ function getClientOptionsInterface(
40
34
  name: param.name,
41
35
  type: param.type,
42
36
  hasQuestionToken: true,
43
- docs: [
44
- param.description ?? "client level optional parameter " + param.name
45
- ]
37
+ docs: [param.description ?? "client level optional parameter " + param.name],
46
38
  };
47
39
  }) ?? [];
48
40
 
@@ -55,7 +47,7 @@ function getClientOptionsInterface(
55
47
  name: "apiVersion",
56
48
  type: "string",
57
49
  hasQuestionToken: true,
58
- docs: ["The api version option of the client"]
50
+ docs: ["The api version option of the client"],
59
51
  });
60
52
  }
61
53
  return {
@@ -63,7 +55,7 @@ function getClientOptionsInterface(
63
55
  extends: ["ClientOptions"],
64
56
  isExported: true,
65
57
  properties,
66
- docs: ["The optional parameters for the client"]
58
+ docs: ["The optional parameters for the client"],
67
59
  };
68
60
  }
69
61
 
@@ -73,7 +65,7 @@ export function buildClient(model: RLCModel): File | undefined {
73
65
  const project = new Project();
74
66
  const filePath = path.join(srcPath, `${name}.ts`);
75
67
  const clientFile = project.createSourceFile(filePath, undefined, {
76
- overwrite: true
68
+ overwrite: true,
77
69
  });
78
70
 
79
71
  // Get all paths
@@ -82,18 +74,18 @@ export function buildClient(model: RLCModel): File | undefined {
82
74
  normalizeUrlInfo(model);
83
75
  const urlParameters = model?.urlInfo?.urlParameters?.filter(
84
76
  // Do not include parameters with constant values in the signature, these should go in the options bag
85
- (p) => p.value === undefined
77
+ (p) => p.value === undefined,
86
78
  );
87
79
 
88
80
  const optionalUrlParameters = model?.urlInfo?.urlParameters?.filter(
89
81
  // Do not include parameters with constant values in the signature, these should go in the options bag
90
- (p) => Boolean(p.value)
82
+ (p) => Boolean(p.value),
91
83
  );
92
84
 
93
85
  const clientOptionsInterface = getClientOptionsInterface(
94
86
  model,
95
87
  clientInterfaceName,
96
- optionalUrlParameters
88
+ optionalUrlParameters,
97
89
  );
98
90
 
99
91
  if (clientOptionsInterface) {
@@ -109,7 +101,7 @@ export function buildClient(model: RLCModel): File | undefined {
109
101
  credentialScopes,
110
102
  credentialKeyHeaderName,
111
103
  customHttpAuthHeaderName,
112
- customHttpAuthSharedKeyPrefix
104
+ customHttpAuthSharedKeyPrefix,
113
105
  } = model.options;
114
106
  const credentialTypes = credentialScopes ? ["TokenCredential"] : [];
115
107
 
@@ -120,33 +112,23 @@ export function buildClient(model: RLCModel): File | undefined {
120
112
  const commonClientParams = [
121
113
  ...(urlParameters ?? []),
122
114
  ...(addCredentials === false ||
123
- !isSecurityInfoDefined(
124
- credentialScopes,
125
- credentialKeyHeaderName,
126
- customHttpAuthHeaderName
127
- )
115
+ !isSecurityInfoDefined(credentialScopes, credentialKeyHeaderName, customHttpAuthHeaderName)
128
116
  ? []
129
117
  : [
130
118
  {
131
119
  name: "credentials",
132
120
  type: credentialTypes.join(" | "),
133
- description: `uniquely identify client credential`
134
- }
135
- ])
121
+ description: `uniquely identify client credential`,
122
+ },
123
+ ]),
136
124
  ];
137
125
 
138
126
  let apiVersionStatement: string = "";
139
127
  // Set the default api-version when we have a default AND its position is query
140
- if (
141
- model.apiVersionInfo?.isCrossedVersion === false &&
142
- !!model.apiVersionInfo?.defaultValue
143
- ) {
128
+ if (model.apiVersionInfo?.isCrossedVersion === false && !!model.apiVersionInfo?.defaultValue) {
144
129
  apiVersionStatement = `
145
130
  apiVersion = "${model.apiVersionInfo?.defaultValue}"`;
146
- } else if (
147
- model.apiVersionInfo?.isCrossedVersion === false &&
148
- !model.apiVersionInfo.required
149
- ) {
131
+ } else if (model.apiVersionInfo?.isCrossedVersion === false && !model.apiVersionInfo.required) {
150
132
  apiVersionStatement = `
151
133
  apiVersion`;
152
134
  }
@@ -154,14 +136,11 @@ export function buildClient(model: RLCModel): File | undefined {
154
136
  const allClientParams = [
155
137
  ...commonClientParams,
156
138
  {
157
- name:
158
- apiVersionStatement === ""
159
- ? "options"
160
- : `{${apiVersionStatement}, ...options}`,
139
+ name: apiVersionStatement === "" ? "options" : `{${apiVersionStatement}, ...options}`,
161
140
  documentName: "options",
162
141
  type: `${clientOptionsInterface?.name ?? "ClientOptions"} = {}`,
163
- description: "the parameter for all optional parameters"
164
- }
142
+ description: "the parameter for all optional parameters",
143
+ },
165
144
  ];
166
145
  const functionStatement = {
167
146
  isExported: true,
@@ -177,14 +156,14 @@ export function buildClient(model: RLCModel): File | undefined {
177
156
  param.description ?? "The parameter " + param.name
178
157
  }`;
179
158
  })
180
- .join("\n")
181
- }
159
+ .join("\n"),
160
+ },
182
161
  ],
183
162
  returnType: clientInterfaceName,
184
163
  isDefaultExport: false,
185
164
  statements: getClientFactoryBody(model, clientInterfaceName, {
186
- isMultipleCredential: credentialTypes.length > 1
187
- })
165
+ isMultipleCredential: credentialTypes.length > 1,
166
+ }),
188
167
  };
189
168
 
190
169
  if (!multiClient || !batch || batch.length === 1) {
@@ -197,31 +176,21 @@ export function buildClient(model: RLCModel): File | undefined {
197
176
  paths.pop();
198
177
  }
199
178
  const parentPath =
200
- paths.lastIndexOf("src") > -1
201
- ? paths.length - 1 - paths.lastIndexOf("src")
202
- : 0;
179
+ paths.lastIndexOf("src") > -1 ? paths.length - 1 - paths.lastIndexOf("src") : 0;
203
180
 
204
- const loggerPath = `${
205
- parentPath > 0 ? "../".repeat(parentPath) : "./"
206
- }logger`;
181
+ const loggerPath = `${parentPath > 0 ? "../".repeat(parentPath) : "./"}logger`;
207
182
  clientFile.addImportDeclarations([
208
183
  {
209
184
  isTypeOnly: true,
210
185
  namedImports: ["ClientOptions"],
211
- moduleSpecifier: getImportSpecifier(
212
- "restClient",
213
- model.importInfo.runtimeImports
214
- )
215
- }
186
+ moduleSpecifier: getImportSpecifier("restClient", model.importInfo.runtimeImports),
187
+ },
216
188
  ]);
217
189
  clientFile.addImportDeclarations([
218
190
  {
219
191
  namedImports: ["getClient"],
220
- moduleSpecifier: getImportSpecifier(
221
- "restClient",
222
- model.importInfo.runtimeImports
223
- )
224
- }
192
+ moduleSpecifier: getImportSpecifier("restClient", model.importInfo.runtimeImports),
193
+ },
225
194
  ]);
226
195
  if (isAzurePackage(model)) {
227
196
  clientFile.addImportDeclarations([
@@ -230,11 +199,11 @@ export function buildClient(model: RLCModel): File | undefined {
230
199
  moduleSpecifier: getImportModuleName(
231
200
  {
232
201
  cjsName: loggerPath,
233
- esModulesName: `${loggerPath}.js`
202
+ esModulesName: `${loggerPath}.js`,
234
203
  },
235
- model
236
- )
237
- }
204
+ model,
205
+ ),
206
+ },
238
207
  ]);
239
208
  }
240
209
 
@@ -245,31 +214,21 @@ export function buildClient(model: RLCModel): File | undefined {
245
214
  credentialTypes.includes("KeyCredential");
246
215
  if (
247
216
  addCredentials &&
248
- isSecurityInfoDefined(
249
- credentialScopes,
250
- credentialKeyHeaderName,
251
- customHttpAuthHeaderName
252
- )
217
+ isSecurityInfoDefined(credentialScopes, credentialKeyHeaderName, customHttpAuthHeaderName)
253
218
  ) {
254
219
  clientFile.addImportDeclarations([
255
220
  {
256
221
  isTypeOnly: true,
257
222
  namedImports: credentialTypes,
258
- moduleSpecifier: getImportSpecifier(
259
- "coreAuth",
260
- model.importInfo.runtimeImports
261
- )
262
- }
223
+ moduleSpecifier: getImportSpecifier("coreAuth", model.importInfo.runtimeImports),
224
+ },
263
225
  ]);
264
226
  if (includeKeyCredentialHelper) {
265
227
  clientFile.addImportDeclarations([
266
228
  {
267
229
  namedImports: ["isKeyCredential"],
268
- moduleSpecifier: getImportSpecifier(
269
- "coreAuth",
270
- model.importInfo.runtimeImports
271
- )
272
- }
230
+ moduleSpecifier: getImportSpecifier("coreAuth", model.importInfo.runtimeImports),
231
+ },
273
232
  ]);
274
233
  }
275
234
  }
@@ -280,30 +239,25 @@ export function buildClient(model: RLCModel): File | undefined {
280
239
  moduleSpecifier: getImportModuleName(
281
240
  {
282
241
  cjsName: "./clientDefinitions",
283
- esModulesName: "./clientDefinitions.js"
242
+ esModulesName: "./clientDefinitions.js",
284
243
  },
285
- model
286
- )
287
- }
244
+ model,
245
+ ),
246
+ },
288
247
  ]);
289
- if (
290
- (model.importInfo.internalImports?.rlcClientFactory?.importsSet?.size ??
291
- 0) > 0
292
- ) {
248
+ if ((model.importInfo.internalImports?.rlcClientFactory?.importsSet?.size ?? 0) > 0) {
293
249
  clientFile.addImportDeclarations([
294
250
  {
295
251
  isTypeOnly: true,
296
- namedImports: Array.from(
297
- model.importInfo.internalImports.rlcClientFactory.importsSet!
298
- ),
252
+ namedImports: Array.from(model.importInfo.internalImports.rlcClientFactory.importsSet!),
299
253
  moduleSpecifier: getImportModuleName(
300
254
  {
301
255
  cjsName: `./models`,
302
- esModulesName: `./models.js`
256
+ esModulesName: `./models.js`,
303
257
  },
304
- model
305
- )
306
- }
258
+ model,
259
+ ),
260
+ },
307
261
  ]);
308
262
  }
309
263
  return { path: filePath, content: clientFile.getFullText() };
@@ -312,11 +266,9 @@ export function buildClient(model: RLCModel): File | undefined {
312
266
  function isSecurityInfoDefined(
313
267
  credentialScopes?: string[],
314
268
  credentialKeyHeaderName?: string,
315
- customHttpAuthHeaderName?: string
269
+ customHttpAuthHeaderName?: string,
316
270
  ) {
317
- return (
318
- credentialScopes || credentialKeyHeaderName || customHttpAuthHeaderName
319
- );
271
+ return credentialScopes || credentialKeyHeaderName || customHttpAuthHeaderName;
320
272
  }
321
273
 
322
274
  interface GetClientFactoryOptions {
@@ -326,14 +278,13 @@ interface GetClientFactoryOptions {
326
278
  export function getClientFactoryBody(
327
279
  model: RLCModel,
328
280
  clientTypeName: string,
329
- options: GetClientFactoryOptions = { isMultipleCredential: false }
281
+ options: GetClientFactoryOptions = { isMultipleCredential: false },
330
282
  ): string | WriterFunction | (string | WriterFunction | StatementStructures)[] {
331
283
  if (!model.options || !model.options.packageDetails || !model.urlInfo) {
332
284
  return "";
333
285
  }
334
286
  const { includeShortcuts, packageDetails, addCredentials } = model.options;
335
- let clientPackageName =
336
- packageDetails!.nameWithoutScope ?? packageDetails?.name ?? "";
287
+ let clientPackageName = packageDetails!.nameWithoutScope ?? packageDetails?.name ?? "";
337
288
  const packageVersion = packageDetails.version;
338
289
  const { endpoint, urlParameters } = model.urlInfo;
339
290
 
@@ -344,11 +295,8 @@ export function getClientFactoryBody(
344
295
  continue;
345
296
  }
346
297
  if (param.value) {
347
- const value =
348
- typeof param.value === "string" ? `"${param.value}"` : param.value;
349
- optionalUrlParameters.push(
350
- `const ${param.name} = options.${param.name} ?? ${value};`
351
- );
298
+ const value = typeof param.value === "string" ? `"${param.value}"` : param.value;
299
+ optionalUrlParameters.push(`const ${param.name} = options.${param.name} ?? ${value};`);
352
300
  }
353
301
  }
354
302
 
@@ -356,10 +304,7 @@ export function getClientFactoryBody(
356
304
  if (urlParameters && endpoint) {
357
305
  let parsedEndpoint = endpoint;
358
306
  urlParameters.forEach((urlParameter) => {
359
- parsedEndpoint = parsedEndpoint.replace(
360
- `{${urlParameter.name}}`,
361
- `\${${urlParameter.name}}`
362
- );
307
+ parsedEndpoint = parsedEndpoint.replace(`{${urlParameter.name}}`, `\${${urlParameter.name}}`);
363
308
  });
364
309
  endpointUrl = `options.endpoint ?? \`${parsedEndpoint}\``;
365
310
  } else {
@@ -371,17 +316,13 @@ export function getClientFactoryBody(
371
316
  }
372
317
 
373
318
  const userAgentInfoStatement =
374
- "const userAgentInfo = `azsdk-js-" +
375
- clientPackageName +
376
- "/" +
377
- packageVersion +
378
- "`;";
319
+ "const userAgentInfo = `azsdk-js-" + clientPackageName + "/" + packageVersion + "`;";
379
320
  const userAgentPrefix =
380
321
  "options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`: `${userAgentInfo}`;";
381
322
  const userAgentStatement: VariableStatementStructure = {
382
323
  kind: StructureKind.VariableStatement,
383
324
  declarationKind: VariableDeclarationKind.Const,
384
- declarations: [{ name: "userAgentPrefix", initializer: userAgentPrefix }]
325
+ declarations: [{ name: "userAgentPrefix", initializer: userAgentPrefix }],
385
326
  };
386
327
 
387
328
  const customHeaderOptions = model.telemetryOptions?.customRequestIdHeaderName
@@ -396,17 +337,14 @@ export function getClientFactoryBody(
396
337
  const endpointUrlStatement: VariableStatementStructure = {
397
338
  kind: StructureKind.VariableStatement,
398
339
  declarationKind: VariableDeclarationKind.Const,
399
- declarations: [{ name: "endpointUrl", initializer: endpointUrl }]
340
+ declarations: [{ name: "endpointUrl", initializer: endpointUrl }],
400
341
  };
401
342
 
402
343
  const { credentialScopes, credentialKeyHeaderName } = model.options;
403
344
  const scopesString = credentialScopes
404
- ? credentialScopes.map((cs) => `"${cs}"`).join(", ") ||
405
- "`${endpointUrl}/.default`"
406
- : "";
407
- const scopes = scopesString
408
- ? `scopes: options.credentials?.scopes ?? [${scopesString}],`
345
+ ? credentialScopes.map((cs) => `"${cs}"`).join(", ") || "`${endpointUrl}/.default`"
409
346
  : "";
347
+ const scopes = scopesString ? `scopes: options.credentials?.scopes ?? [${scopesString}],` : "";
410
348
 
411
349
  const apiKeyHeaderName = credentialKeyHeaderName
412
350
  ? `apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? "${credentialKeyHeaderName}",`
@@ -436,8 +374,7 @@ export function getClientFactoryBody(
436
374
  endpointUrl, ${credentialsOptions ? "credentials," : ""} options
437
375
  ) as ${clientTypeName};
438
376
  `;
439
- const { customHttpAuthHeaderName, customHttpAuthSharedKeyPrefix } =
440
- model.options;
377
+ const { customHttpAuthHeaderName, customHttpAuthSharedKeyPrefix } = model.options;
441
378
  let customHttpAuthStatement = "";
442
379
  if (customHttpAuthHeaderName && customHttpAuthSharedKeyPrefix) {
443
380
  if (options.isMultipleCredential) {
@@ -463,10 +400,7 @@ export function getClientFactoryBody(
463
400
  }
464
401
 
465
402
  let apiVersionPolicyStatement = `client.pipeline.removePolicy({ name: "ApiVersionPolicy" });`;
466
- if (
467
- isAzurePackage(model) &&
468
- model.apiVersionInfo?.isCrossedVersion !== false
469
- ) {
403
+ if (isAzurePackage(model) && model.apiVersionInfo?.isCrossedVersion !== false) {
470
404
  apiVersionPolicyStatement += `
471
405
  if (options.apiVersion) {
472
406
  logger.warning("This client does not support client api-version, please change it at the operation level");
@@ -505,9 +439,7 @@ export function getClientFactoryBody(
505
439
  let returnStatement = `return client;`;
506
440
 
507
441
  if (includeShortcuts) {
508
- const shortcutImplementations = buildMethodShortcutImplementation(
509
- model.paths
510
- );
442
+ const shortcutImplementations = buildMethodShortcutImplementation(model.paths);
511
443
  const shortcutBody = Object.keys(shortcutImplementations).map((key) => {
512
444
  // If the operation group has an empty name, it means its operations are client
513
445
  // level operations so we need to spread the definitions. Otherwise they are
@@ -529,7 +461,7 @@ export function getClientFactoryBody(
529
461
  getClient,
530
462
  apiVersionPolicyStatement,
531
463
  customHttpAuthStatement,
532
- returnStatement
464
+ returnStatement,
533
465
  ];
534
466
  }
535
467
 
@@ -551,10 +483,7 @@ function normalizeUrlInfo(model: RLCModel) {
551
483
  const normalizedName = normalizeName(name, NameType.Parameter);
552
484
  if (name !== normalizedName) {
553
485
  urlParameter.name = normalizedName;
554
- parsedEndpoint = parsedEndpoint.replace(
555
- `{${name}}`,
556
- `{${normalizedName}}`
557
- );
486
+ parsedEndpoint = parsedEndpoint.replace(`{${name}}`, `{${normalizedName}}`);
558
487
  }
559
488
  });
560
489
  model.urlInfo.endpoint = parsedEndpoint;