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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (506) hide show
  1. package/dist/src/contextManager.d.ts +5 -5
  2. package/dist/src/contextManager.d.ts.map +1 -1
  3. package/dist/src/contextManager.js.map +1 -1
  4. package/dist/src/framework/declaration.d.ts +1 -1
  5. package/dist/src/framework/declaration.d.ts.map +1 -1
  6. package/dist/src/framework/declaration.js +2 -4
  7. package/dist/src/framework/declaration.js.map +1 -1
  8. package/dist/src/framework/dependency.d.ts.map +1 -1
  9. package/dist/src/framework/hooks/binder.d.ts +1 -1
  10. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/binder.js +12 -20
  12. package/dist/src/framework/hooks/binder.js.map +1 -1
  13. package/dist/src/framework/hooks/sdkTypes.d.ts +1 -1
  14. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  15. package/dist/src/framework/hooks/sdkTypes.js +8 -11
  16. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  17. package/dist/src/framework/hooks/useDependencies.d.ts.map +1 -1
  18. package/dist/src/framework/hooks/useDependencies.js +1 -1
  19. package/dist/src/framework/hooks/useDependencies.js.map +1 -1
  20. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  21. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  22. package/dist/src/framework/load-static-helpers.js +12 -25
  23. package/dist/src/framework/load-static-helpers.js.map +1 -1
  24. package/dist/src/framework/reference.d.ts.map +1 -1
  25. package/dist/src/framework/reference.js +1 -1
  26. package/dist/src/framework/reference.js.map +1 -1
  27. package/dist/src/framework/sample.js +8 -8
  28. package/dist/src/framework/sample.js.map +1 -1
  29. package/dist/src/index.d.ts +1 -1
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +47 -48
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/lib.d.ts +1 -1
  34. package/dist/src/lib.d.ts.map +1 -1
  35. package/dist/src/lib.js +140 -140
  36. package/dist/src/lib.js.map +1 -1
  37. package/dist/src/metaTree.d.ts +1 -1
  38. package/dist/src/metaTree.d.ts.map +1 -1
  39. package/dist/src/modular/buildClassicalClient.d.ts +1 -1
  40. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.js +49 -62
  42. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  43. package/dist/src/modular/buildClassicalOperationGroups.d.ts +2 -2
  44. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  45. package/dist/src/modular/buildClassicalOperationGroups.js +4 -7
  46. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  47. package/dist/src/modular/buildClientContext.d.ts +2 -2
  48. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  49. package/dist/src/modular/buildClientContext.js +30 -36
  50. package/dist/src/modular/buildClientContext.js.map +1 -1
  51. package/dist/src/modular/buildModularOptions.d.ts +1 -1
  52. package/dist/src/modular/buildModularOptions.d.ts.map +1 -1
  53. package/dist/src/modular/buildModularOptions.js +2 -2
  54. package/dist/src/modular/buildModularOptions.js.map +1 -1
  55. package/dist/src/modular/buildOperations.d.ts +3 -3
  56. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  57. package/dist/src/modular/buildOperations.js +22 -23
  58. package/dist/src/modular/buildOperations.js.map +1 -1
  59. package/dist/src/modular/buildProjectFiles.d.ts +1 -1
  60. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  61. package/dist/src/modular/buildProjectFiles.js +7 -9
  62. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  63. package/dist/src/modular/buildRestorePoller.d.ts +1 -1
  64. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  65. package/dist/src/modular/buildRestorePoller.js +11 -11
  66. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  67. package/dist/src/modular/buildRootIndex.d.ts +2 -2
  68. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  69. package/dist/src/modular/buildRootIndex.js +30 -39
  70. package/dist/src/modular/buildRootIndex.js.map +1 -1
  71. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  72. package/dist/src/modular/buildSubpathIndex.js +9 -17
  73. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  74. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  75. package/dist/src/modular/emitLoggerFile.js +2 -2
  76. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  77. package/dist/src/modular/emitModels.d.ts +1 -1
  78. package/dist/src/modular/emitModels.d.ts.map +1 -1
  79. package/dist/src/modular/emitModels.js +54 -72
  80. package/dist/src/modular/emitModels.js.map +1 -1
  81. package/dist/src/modular/emitModelsOptions.d.ts +1 -1
  82. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  83. package/dist/src/modular/emitModelsOptions.js +6 -7
  84. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  85. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  86. package/dist/src/modular/emitSamples.js +40 -52
  87. package/dist/src/modular/emitSamples.js.map +1 -1
  88. package/dist/src/modular/emitTests.d.ts.map +1 -1
  89. package/dist/src/modular/emitTests.js +9 -12
  90. package/dist/src/modular/emitTests.js.map +1 -1
  91. package/dist/src/modular/external-dependencies.js +54 -54
  92. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +1 -1
  93. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  94. package/dist/src/modular/helpers/classicalOperationHelpers.js +27 -36
  95. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  96. package/dist/src/modular/helpers/clientHelpers.d.ts +2 -2
  97. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  98. package/dist/src/modular/helpers/clientHelpers.js +20 -38
  99. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  100. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +1 -1
  101. package/dist/src/modular/helpers/clientOptionHelpers.js.map +1 -1
  102. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +2 -2
  103. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +1 -1
  104. package/dist/src/modular/helpers/exampleValueHelpers.js +39 -58
  105. package/dist/src/modular/helpers/exampleValueHelpers.js.map +1 -1
  106. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -1
  107. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  108. package/dist/src/modular/helpers/namingHelpers.js +4 -5
  109. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  110. package/dist/src/modular/helpers/operationHelpers.d.ts +2 -2
  111. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  112. package/dist/src/modular/helpers/operationHelpers.js +136 -196
  113. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  114. package/dist/src/modular/helpers/typeHelpers.d.ts +1 -1
  115. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  116. package/dist/src/modular/helpers/typeHelpers.js +1 -1
  117. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  118. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +1 -1
  119. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  120. package/dist/src/modular/serialization/buildDeserializerFunction.js +50 -56
  121. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  122. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +1 -1
  123. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  124. package/dist/src/modular/serialization/buildSerializerFunction.js +52 -59
  125. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  126. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +1 -1
  127. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +1 -1
  128. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +43 -51
  129. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +1 -1
  130. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  131. package/dist/src/modular/serialization/serializeUtils.js +4 -11
  132. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  133. package/dist/src/modular/static-helpers-metadata.js +60 -60
  134. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  135. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  136. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  137. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  138. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
  139. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  140. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  141. package/dist/src/modular/type-expressions/get-model-expression.js +7 -9
  142. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  143. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  144. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  145. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  146. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  147. package/dist/src/modular/type-expressions/get-type-expression.js +4 -8
  148. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  149. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  150. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  151. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  152. package/dist/src/rlc-common/buildClient.d.ts +1 -1
  153. package/dist/src/rlc-common/buildClient.d.ts.map +1 -1
  154. package/dist/src/rlc-common/buildClient.js +48 -66
  155. package/dist/src/rlc-common/buildClient.js.map +1 -1
  156. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +1 -1
  157. package/dist/src/rlc-common/buildClientDefinitions.js +24 -42
  158. package/dist/src/rlc-common/buildClientDefinitions.js.map +1 -1
  159. package/dist/src/rlc-common/buildIndexFile.d.ts.map +1 -1
  160. package/dist/src/rlc-common/buildIndexFile.js +57 -57
  161. package/dist/src/rlc-common/buildIndexFile.js.map +1 -1
  162. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +1 -1
  163. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +32 -35
  164. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +1 -1
  165. package/dist/src/rlc-common/buildLogger.d.ts.map +1 -1
  166. package/dist/src/rlc-common/buildLogger.js +3 -3
  167. package/dist/src/rlc-common/buildLogger.js.map +1 -1
  168. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +1 -1
  169. package/dist/src/rlc-common/buildMethodShortcuts.js +3 -3
  170. package/dist/src/rlc-common/buildMethodShortcuts.js.map +1 -1
  171. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +1 -1
  172. package/dist/src/rlc-common/buildObjectTypes.js +29 -46
  173. package/dist/src/rlc-common/buildObjectTypes.js.map +1 -1
  174. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +1 -1
  175. package/dist/src/rlc-common/buildPaginateHelper.js +2 -2
  176. package/dist/src/rlc-common/buildPaginateHelper.js.map +1 -1
  177. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +1 -1
  178. package/dist/src/rlc-common/buildParameterTypes.js +42 -50
  179. package/dist/src/rlc-common/buildParameterTypes.js.map +1 -1
  180. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +1 -1
  181. package/dist/src/rlc-common/buildPollingHelper.js +5 -5
  182. package/dist/src/rlc-common/buildPollingHelper.js.map +1 -1
  183. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +1 -1
  184. package/dist/src/rlc-common/buildResponseTypes.js +19 -22
  185. package/dist/src/rlc-common/buildResponseTypes.js.map +1 -1
  186. package/dist/src/rlc-common/buildSamples.d.ts +1 -1
  187. package/dist/src/rlc-common/buildSamples.d.ts.map +1 -1
  188. package/dist/src/rlc-common/buildSamples.js +2 -2
  189. package/dist/src/rlc-common/buildSchemaType.d.ts.map +1 -1
  190. package/dist/src/rlc-common/buildSchemaType.js +9 -13
  191. package/dist/src/rlc-common/buildSchemaType.js.map +1 -1
  192. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +1 -1
  193. package/dist/src/rlc-common/buildSerializeHelper.js +4 -4
  194. package/dist/src/rlc-common/buildSerializeHelper.js.map +1 -1
  195. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +1 -1
  196. package/dist/src/rlc-common/buildTopLevelIndexFile.js +9 -13
  197. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +1 -1
  198. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +1 -1
  199. package/dist/src/rlc-common/helpers/apiVersionUtil.js +2 -3
  200. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +1 -1
  201. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +1 -1
  202. package/dist/src/rlc-common/helpers/importsUtil.js +23 -25
  203. package/dist/src/rlc-common/helpers/importsUtil.js.map +1 -1
  204. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +1 -1
  205. package/dist/src/rlc-common/helpers/nameConstructors.js.map +1 -1
  206. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +1 -1
  207. package/dist/src/rlc-common/helpers/nameUtils.js +8 -13
  208. package/dist/src/rlc-common/helpers/nameUtils.js.map +1 -1
  209. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +1 -1
  210. package/dist/src/rlc-common/helpers/operationHelpers.js +8 -12
  211. package/dist/src/rlc-common/helpers/operationHelpers.js.map +1 -1
  212. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +1 -1
  213. package/dist/src/rlc-common/helpers/pathUtils.js +1 -3
  214. package/dist/src/rlc-common/helpers/pathUtils.js.map +1 -1
  215. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +1 -1
  216. package/dist/src/rlc-common/helpers/schemaHelpers.js +1 -1
  217. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +1 -1
  218. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +1 -1
  219. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +1 -1
  220. package/dist/src/rlc-common/helpers/shortcutMethods.js +2 -2
  221. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +1 -1
  222. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +1 -1
  223. package/dist/src/rlc-common/helpers/typeUtil.js +1 -2
  224. package/dist/src/rlc-common/helpers/typeUtil.js.map +1 -1
  225. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +3 -4
  226. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +1 -1
  227. package/dist/src/rlc-common/index.d.ts +28 -28
  228. package/dist/src/rlc-common/index.d.ts.map +1 -1
  229. package/dist/src/rlc-common/index.js +28 -28
  230. package/dist/src/rlc-common/index.js.map +1 -1
  231. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  232. package/dist/src/rlc-common/interfaces.js.map +1 -1
  233. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +1 -1
  234. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +13 -13
  235. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +1 -1
  236. package/dist/src/rlc-common/metadata/buildChangelogFile.js +1 -1
  237. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +1 -1
  238. package/dist/src/rlc-common/metadata/buildESLintConfig.js +3 -5
  239. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +1 -1
  240. package/dist/src/rlc-common/metadata/buildLicenseFile.js +1 -1
  241. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +1 -1
  242. package/dist/src/rlc-common/metadata/buildPackageFile.js +16 -16
  243. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +1 -1
  244. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +1 -1
  245. package/dist/src/rlc-common/metadata/buildReadmeFile.js +10 -18
  246. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +1 -1
  247. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +1 -1
  248. package/dist/src/rlc-common/metadata/buildRollupConfig.js +3 -4
  249. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +1 -1
  250. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +1 -1
  251. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +2 -3
  252. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +1 -1
  253. package/dist/src/rlc-common/metadata/buildTestConfig.js +8 -8
  254. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +1 -1
  255. package/dist/src/rlc-common/metadata/buildTsConfig.js +23 -21
  256. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +1 -1
  257. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +1 -1
  258. package/dist/src/rlc-common/metadata/buildVitestConfig.js +3 -4
  259. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +1 -1
  260. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +1 -1
  261. package/dist/src/rlc-common/metadata/buildWarpConfig.js +2 -2
  262. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +1 -1
  263. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +1 -1
  264. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +1 -1
  265. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +13 -13
  266. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +1 -1
  267. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +1 -1
  268. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +22 -26
  269. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  270. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +1 -1
  271. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +15 -16
  272. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  273. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +8 -8
  274. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  275. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +1 -1
  276. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +26 -29
  277. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +1 -1
  278. package/dist/src/rlc-common/test/buildKarmaConfig.js +1 -1
  279. package/dist/src/rlc-common/test/buildRecordedClient.js +3 -3
  280. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +1 -1
  281. package/dist/src/rlc-common/test/buildSampleTest.js +2 -2
  282. package/dist/src/rlc-common/test/buildSampleTest.js.map +1 -1
  283. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +1 -1
  284. package/dist/src/rlc-common/test/buildSnippets.js +4 -6
  285. package/dist/src/rlc-common/test/buildSnippets.js.map +1 -1
  286. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +1 -1
  287. package/dist/src/rlc-common/transformSampleGroups.js +19 -23
  288. package/dist/src/rlc-common/transformSampleGroups.js.map +1 -1
  289. package/dist/src/testing/index.d.ts.map +1 -1
  290. package/dist/src/testing/index.js +1 -1
  291. package/dist/src/testing/index.js.map +1 -1
  292. package/dist/src/transform/transform.d.ts +1 -1
  293. package/dist/src/transform/transform.d.ts.map +1 -1
  294. package/dist/src/transform/transform.js +10 -11
  295. package/dist/src/transform/transform.js.map +1 -1
  296. package/dist/src/transform/transformApiVersionInfo.d.ts +1 -1
  297. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  298. package/dist/src/transform/transformApiVersionInfo.js +8 -10
  299. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  300. package/dist/src/transform/transformHelperFunctionDetails.d.ts +1 -1
  301. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  302. package/dist/src/transform/transformHelperFunctionDetails.js +9 -11
  303. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  304. package/dist/src/transform/transformParameters.d.ts +2 -2
  305. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  306. package/dist/src/transform/transformParameters.js +22 -28
  307. package/dist/src/transform/transformParameters.js.map +1 -1
  308. package/dist/src/transform/transformPaths.d.ts +1 -1
  309. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  310. package/dist/src/transform/transformPaths.js +11 -12
  311. package/dist/src/transform/transformPaths.js.map +1 -1
  312. package/dist/src/transform/transformResponses.d.ts +1 -1
  313. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  314. package/dist/src/transform/transformResponses.js +12 -12
  315. package/dist/src/transform/transformResponses.js.map +1 -1
  316. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  317. package/dist/src/transform/transformSchemas.js +9 -15
  318. package/dist/src/transform/transformSchemas.js.map +1 -1
  319. package/dist/src/transform/transformTelemetryInfo.d.ts +1 -1
  320. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  321. package/dist/src/transform/transformTelemetryInfo.js +3 -3
  322. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  323. package/dist/src/transform/transfromRLCOptions.d.ts +1 -1
  324. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  325. package/dist/src/transform/transfromRLCOptions.js +14 -26
  326. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  327. package/dist/src/utils/clientUtils.d.ts +1 -1
  328. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  329. package/dist/src/utils/clientUtils.js +11 -14
  330. package/dist/src/utils/clientUtils.js.map +1 -1
  331. package/dist/src/utils/credentialUtils.d.ts +1 -1
  332. package/dist/src/utils/credentialUtils.d.ts.map +1 -1
  333. package/dist/src/utils/credentialUtils.js +3 -3
  334. package/dist/src/utils/credentialUtils.js.map +1 -1
  335. package/dist/src/utils/crossLanguageDef.d.ts.map +1 -1
  336. package/dist/src/utils/crossLanguageDef.js +8 -12
  337. package/dist/src/utils/crossLanguageDef.js.map +1 -1
  338. package/dist/src/utils/emitUtil.d.ts +1 -1
  339. package/dist/src/utils/emitUtil.d.ts.map +1 -1
  340. package/dist/src/utils/emitUtil.js +4 -6
  341. package/dist/src/utils/emitUtil.js.map +1 -1
  342. package/dist/src/utils/fileSystemUtils.d.ts.map +1 -1
  343. package/dist/src/utils/fileSystemUtils.js +2 -2
  344. package/dist/src/utils/fileSystemUtils.js.map +1 -1
  345. package/dist/src/utils/importHelper.d.ts.map +1 -1
  346. package/dist/src/utils/importHelper.js +2 -4
  347. package/dist/src/utils/importHelper.js.map +1 -1
  348. package/dist/src/utils/interfaces.d.ts +1 -1
  349. package/dist/src/utils/interfaces.d.ts.map +1 -1
  350. package/dist/src/utils/mediaTypes.d.ts.map +1 -1
  351. package/dist/src/utils/mediaTypes.js +7 -19
  352. package/dist/src/utils/mediaTypes.js.map +1 -1
  353. package/dist/src/utils/modelUtils.d.ts +2 -2
  354. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  355. package/dist/src/utils/modelUtils.js +107 -170
  356. package/dist/src/utils/modelUtils.js.map +1 -1
  357. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  358. package/dist/src/utils/namespaceUtils.js +2 -2
  359. package/dist/src/utils/namespaceUtils.js.map +1 -1
  360. package/dist/src/utils/operationUtil.d.ts +1 -1
  361. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  362. package/dist/src/utils/operationUtil.js +29 -42
  363. package/dist/src/utils/operationUtil.js.map +1 -1
  364. package/dist/src/utils/parameterUtils.d.ts +1 -1
  365. package/dist/src/utils/parameterUtils.d.ts.map +1 -1
  366. package/dist/src/utils/parameterUtils.js +19 -22
  367. package/dist/src/utils/parameterUtils.js.map +1 -1
  368. package/dist/src/utils/resolve-project-root.js +2 -2
  369. package/dist/src/utils/resolve-project-root.js.map +1 -1
  370. package/dist/tsconfig.tsbuildinfo +1 -1
  371. package/package.json +1 -5
  372. package/src/contextManager.ts +6 -9
  373. package/src/framework/declaration.ts +18 -28
  374. package/src/framework/dependency.ts +1 -2
  375. package/src/framework/hooks/binder.ts +47 -120
  376. package/src/framework/hooks/sdkTypes.ts +27 -54
  377. package/src/framework/hooks/useDependencies.ts +2 -4
  378. package/src/framework/load-static-helpers.ts +28 -51
  379. package/src/framework/reference.ts +2 -5
  380. package/src/framework/sample.ts +9 -9
  381. package/src/index.ts +111 -180
  382. package/src/lib.ts +143 -158
  383. package/src/metaTree.ts +1 -1
  384. package/src/modular/buildClassicalClient.ts +83 -160
  385. package/src/modular/buildClassicalOperationGroups.ts +14 -39
  386. package/src/modular/buildClientContext.ts +54 -83
  387. package/src/modular/buildModularOptions.ts +4 -5
  388. package/src/modular/buildOperations.ts +46 -73
  389. package/src/modular/buildProjectFiles.ts +18 -47
  390. package/src/modular/buildRestorePoller.ts +27 -46
  391. package/src/modular/buildRootIndex.ts +86 -159
  392. package/src/modular/buildSubpathIndex.ts +35 -58
  393. package/src/modular/emitLoggerFile.ts +4 -9
  394. package/src/modular/emitModels.ts +136 -266
  395. package/src/modular/emitModelsOptions.ts +10 -16
  396. package/src/modular/emitSamples.ts +91 -177
  397. package/src/modular/emitTests.ts +28 -61
  398. package/src/modular/external-dependencies.ts +54 -54
  399. package/src/modular/helpers/classicalOperationHelpers.ts +73 -126
  400. package/src/modular/helpers/clientHelpers.ts +41 -88
  401. package/src/modular/helpers/clientOptionHelpers.ts +4 -11
  402. package/src/modular/helpers/exampleValueHelpers.ts +97 -209
  403. package/src/modular/helpers/namingHelpers.ts +12 -28
  404. package/src/modular/helpers/operationHelpers.ts +430 -757
  405. package/src/modular/helpers/typeHelpers.ts +11 -22
  406. package/src/modular/serialization/buildDeserializerFunction.ts +88 -122
  407. package/src/modular/serialization/buildSerializerFunction.ts +91 -129
  408. package/src/modular/serialization/buildXmlSerializerFunction.ts +104 -183
  409. package/src/modular/serialization/serializeUtils.ts +12 -21
  410. package/src/modular/static/rollup.test.config.js +11 -14
  411. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  412. package/src/modular/static-helpers-metadata.ts +60 -60
  413. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  414. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  415. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  416. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  417. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  418. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  419. package/src/modular/type-expressions/utils.ts +1 -1
  420. package/src/rlc-common/buildClient.ts +70 -141
  421. package/src/rlc-common/buildClientDefinitions.ts +43 -87
  422. package/src/rlc-common/buildIndexFile.ts +78 -78
  423. package/src/rlc-common/buildIsUnexpectedHelper.ts +34 -41
  424. package/src/rlc-common/buildLogger.ts +7 -7
  425. package/src/rlc-common/buildMethodShortcuts.ts +9 -21
  426. package/src/rlc-common/buildObjectTypes.ts +78 -155
  427. package/src/rlc-common/buildPaginateHelper.ts +9 -12
  428. package/src/rlc-common/buildParameterTypes.ts +92 -137
  429. package/src/rlc-common/buildPollingHelper.ts +7 -7
  430. package/src/rlc-common/buildResponseTypes.ts +34 -57
  431. package/src/rlc-common/buildSamples.ts +3 -3
  432. package/src/rlc-common/buildSchemaType.ts +12 -29
  433. package/src/rlc-common/buildSerializeHelper.ts +5 -5
  434. package/src/rlc-common/buildTopLevelIndexFile.ts +12 -19
  435. package/src/rlc-common/helpers/apiVersionUtil.ts +5 -10
  436. package/src/rlc-common/helpers/importsUtil.ts +27 -30
  437. package/src/rlc-common/helpers/nameConstructors.ts +16 -50
  438. package/src/rlc-common/helpers/nameUtils.ts +19 -42
  439. package/src/rlc-common/helpers/operationHelpers.ts +14 -31
  440. package/src/rlc-common/helpers/pathUtils.ts +2 -7
  441. package/src/rlc-common/helpers/schemaHelpers.ts +4 -15
  442. package/src/rlc-common/helpers/shortcutMethods.ts +6 -15
  443. package/src/rlc-common/helpers/typeUtil.ts +4 -11
  444. package/src/rlc-common/helpers/valueGenerationUtil.ts +16 -39
  445. package/src/rlc-common/index.ts +28 -28
  446. package/src/rlc-common/interfaces.ts +3 -11
  447. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +17 -24
  448. package/src/rlc-common/metadata/buildChangelogFile.ts +1 -1
  449. package/src/rlc-common/metadata/buildESLintConfig.ts +3 -5
  450. package/src/rlc-common/metadata/buildLicenseFile.ts +1 -1
  451. package/src/rlc-common/metadata/buildPackageFile.ts +27 -35
  452. package/src/rlc-common/metadata/buildReadmeFile.ts +16 -29
  453. package/src/rlc-common/metadata/buildRollupConfig.ts +5 -8
  454. package/src/rlc-common/metadata/buildSampleEnvFile.ts +2 -3
  455. package/src/rlc-common/metadata/buildTestConfig.ts +10 -10
  456. package/src/rlc-common/metadata/buildTsConfig.ts +32 -35
  457. package/src/rlc-common/metadata/buildVitestConfig.ts +4 -10
  458. package/src/rlc-common/metadata/buildWarpConfig.ts +3 -6
  459. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +16 -25
  460. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +29 -50
  461. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +20 -31
  462. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +11 -13
  463. package/src/rlc-common/metadata/packageJson/packageCommon.ts +32 -52
  464. package/src/rlc-common/test/buildKarmaConfig.ts +1 -1
  465. package/src/rlc-common/test/buildRecordedClient.ts +3 -3
  466. package/src/rlc-common/test/buildSampleTest.ts +3 -3
  467. package/src/rlc-common/test/buildSnippets.ts +6 -12
  468. package/src/rlc-common/transformSampleGroups.ts +54 -105
  469. package/src/testing/index.ts +2 -5
  470. package/src/transform/transform.ts +22 -34
  471. package/src/transform/transformApiVersionInfo.ts +17 -30
  472. package/src/transform/transformHelperFunctionDetails.ts +14 -26
  473. package/src/transform/transformParameters.ts +55 -105
  474. package/src/transform/transformPaths.ts +26 -43
  475. package/src/transform/transformResponses.ts +26 -33
  476. package/src/transform/transformSchemas.ts +15 -33
  477. package/src/transform/transformTelemetryInfo.ts +8 -14
  478. package/src/transform/transfromRLCOptions.ts +53 -116
  479. package/src/utils/clientUtils.ts +22 -41
  480. package/src/utils/credentialUtils.ts +8 -19
  481. package/src/utils/crossLanguageDef.ts +15 -34
  482. package/src/utils/emitUtil.ts +11 -17
  483. package/src/utils/fileSystemUtils.ts +4 -6
  484. package/src/utils/importHelper.ts +5 -10
  485. package/src/utils/interfaces.ts +1 -1
  486. package/src/utils/mediaTypes.ts +13 -34
  487. package/src/utils/modelUtils.ts +174 -383
  488. package/src/utils/namespaceUtils.ts +8 -24
  489. package/src/utils/operationUtil.ts +98 -190
  490. package/src/utils/parameterUtils.ts +31 -54
  491. package/src/utils/resolve-project-root.ts +3 -3
  492. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  493. package/static/static-helpers/multipartHelpers.ts +3 -3
  494. package/static/static-helpers/pagingHelpers.ts +28 -63
  495. package/static/static-helpers/pollingHelpers.ts +15 -28
  496. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  497. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  498. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  499. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  500. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  501. package/static/static-helpers/serialization/serializers.ts +4 -7
  502. package/static/static-helpers/serialization/xml-helpers.ts +41 -89
  503. package/static/static-helpers/simplePollerHelpers.ts +9 -18
  504. package/static/static-helpers/storageCompatResponse.ts +10 -27
  505. package/static/static-helpers/urlTemplate.ts +4 -7
  506. package/static/test-helpers/recordedClient.ts +5 -10
@@ -1,4 +1,3 @@
1
- import { Operation, Type, getNamespaceFullName } from "@typespec/compiler";
2
1
  import {
3
2
  SdkClientType,
4
3
  SdkHttpOperation,
@@ -6,23 +5,23 @@ import {
6
5
  SdkModelType,
7
6
  SdkServiceMethod,
8
7
  SdkType,
9
- getClientType
8
+ getClientType,
10
9
  } from "@azure-tools/typespec-client-generator-core";
10
+ import { Operation, Type, getNamespaceFullName } from "@typespec/compiler";
11
11
  import { provideContext, useContext } from "../../contextManager.js";
12
12
 
13
+ import { reportDiagnostic } from "../../lib.js";
13
14
  import { visitPackageTypes } from "../../modular/emitModels.js";
14
- import { SdkContext } from "../../utils/interfaces.js";
15
- import {
16
- getAllAncestors,
17
- getAllProperties
18
- } from "../../modular/helpers/operationHelpers.js";
15
+ import { getAllAncestors, getAllProperties } from "../../modular/helpers/operationHelpers.js";
19
16
  import { normalizeModelPropertyName } from "../../modular/type-expressions/get-type-expression.js";
20
- import { reportDiagnostic } from "../../lib.js";
21
17
  import { NameType, normalizeName } from "../../rlc-common/index.js";
18
+ import { SdkContext } from "../../utils/interfaces.js";
22
19
 
23
20
  export const emitQueue: Set<SdkType> = new Set<SdkType>();
24
- export const flattenPropertyModelMap: Map<SdkModelPropertyType, SdkModelType> =
25
- new Map<SdkModelPropertyType, SdkModelType>();
21
+ export const flattenPropertyModelMap: Map<SdkModelPropertyType, SdkModelType> = new Map<
22
+ SdkModelPropertyType,
23
+ SdkModelType
24
+ >();
26
25
  /**
27
26
  * Set of paged result models that are also used in non-paging operations.
28
27
  * Precomputed during visitPackageTypes for O(1) lookups in normalizeModelName.
@@ -46,16 +45,13 @@ export function useSdkTypes() {
46
45
 
47
46
  function getSdkType(type: Operation): SdkServiceMethod<SdkHttpOperation>;
48
47
  function getSdkType(type: Type): SdkType;
49
- function getSdkType(
50
- type: Type | Operation
51
- ): SdkType | SdkServiceMethod<SdkHttpOperation> {
48
+ function getSdkType(type: Type | Operation): SdkType | SdkServiceMethod<SdkHttpOperation> {
52
49
  let sdkType: SdkType | SdkServiceMethod<SdkHttpOperation> | undefined;
53
50
 
54
51
  if (type.kind === "Operation") {
55
52
  sdkType = sdkTypesContext.operations.get(type);
56
53
  } else {
57
- sdkType =
58
- sdkTypesContext.types.get(type) ?? getClientType(tcgcContext, type);
54
+ sdkType = sdkTypesContext.types.get(type) ?? getClientType(tcgcContext, type);
59
55
  }
60
56
 
61
57
  if (!sdkType) {
@@ -63,10 +59,8 @@ export function useSdkTypes() {
63
59
  `SdkType not found for type: ${type.kind} ${
64
60
  "name" in type && typeof type.name == "string" ? type.name : ""
65
61
  } ${
66
- "namespace" in type && type.namespace
67
- ? ` in ${getNamespaceFullName(type.namespace)}`
68
- : ""
69
- }`
62
+ "namespace" in type && type.namespace ? ` in ${getNamespaceFullName(type.namespace)}` : ""
63
+ }`,
70
64
  );
71
65
  }
72
66
 
@@ -81,17 +75,10 @@ export function provideSdkTypes(context: SdkContext) {
81
75
  const sdkTypesContext: SdkTypeContext = {
82
76
  operations: new Map<Type, SdkServiceMethod<SdkHttpOperation>>(),
83
77
  types: new Map<Type, SdkType>(),
84
- flattenProperties: new Map<
85
- SdkModelPropertyType,
86
- SdkFlattenPropertyContext
87
- >()
78
+ flattenProperties: new Map<SdkModelPropertyType, SdkFlattenPropertyContext>(),
88
79
  };
89
80
  visitPackageTypes(context);
90
- enrichFlattenProperties(
91
- context,
92
- sdkTypesContext.flattenProperties,
93
- flattenPropertyModelMap
94
- );
81
+ enrichFlattenProperties(context, sdkTypesContext.flattenProperties, flattenPropertyModelMap);
95
82
  for (const sdkModel of emitQueue) {
96
83
  switch (sdkModel.kind) {
97
84
  case "model":
@@ -117,16 +104,10 @@ export function provideSdkTypes(context: SdkContext) {
117
104
  });
118
105
  break;
119
106
  case "array":
120
- sdkTypesContext.types.set(
121
- sdkModel.valueType.__raw!,
122
- sdkModel.valueType
123
- );
107
+ sdkTypesContext.types.set(sdkModel.valueType.__raw!, sdkModel.valueType);
124
108
  break;
125
109
  case "dict":
126
- sdkTypesContext.types.set(
127
- sdkModel.valueType.__raw!,
128
- sdkModel.valueType
129
- );
110
+ sdkTypesContext.types.set(sdkModel.valueType.__raw!, sdkModel.valueType);
130
111
  break;
131
112
  case "nullable":
132
113
  sdkTypesContext.types.set(sdkModel.__raw!, sdkModel);
@@ -161,7 +142,7 @@ export function provideSdkTypes(context: SdkContext) {
161
142
  function enrichFlattenProperties(
162
143
  context: SdkContext,
163
144
  propertyContextMap: Map<SdkModelPropertyType, SdkFlattenPropertyContext>,
164
- propertyModelMap: Map<SdkModelPropertyType, SdkModelType>
145
+ propertyModelMap: Map<SdkModelPropertyType, SdkModelType>,
165
146
  ) {
166
147
  // Build a map of base model to its existing properties excluding flatten properties
167
148
  // To check for conflicts later
@@ -171,19 +152,16 @@ function enrichFlattenProperties(
171
152
  const propertiesExcludedFlatten = getAllProperties(
172
153
  context,
173
154
  baseModel,
174
- getAllAncestors(baseModel)
155
+ getAllAncestors(baseModel),
175
156
  )
176
157
  .filter((p) => !(p.flatten && p.type.kind === "model"))
177
158
  .map((p) => normalizeModelPropertyName(context, p));
178
- baseModelProperties.set(
179
- baseModel,
180
- new Set<string>(propertiesExcludedFlatten)
181
- );
159
+ baseModelProperties.set(baseModel, new Set<string>(propertiesExcludedFlatten));
182
160
  }
183
161
  });
184
162
  for (const [flattenProperty, baseModel] of propertyModelMap) {
185
163
  const flattenContext: SdkFlattenPropertyContext = {
186
- baseModel: baseModel
164
+ baseModel: baseModel,
187
165
  };
188
166
  propertyContextMap.set(flattenProperty, flattenContext);
189
167
  const existingProperties = baseModelProperties.get(baseModel)!;
@@ -197,25 +175,22 @@ function enrichFlattenProperties(
197
175
  code: "unsupported-flatten-transition",
198
176
  format: {
199
177
  propertyName: flattenProperty.name,
200
- modelName: baseModel.name
178
+ modelName: baseModel.name,
201
179
  },
202
- target: flattenProperty.__raw!
180
+ target: flattenProperty.__raw!,
203
181
  });
204
182
  }
205
183
  const allFlattenProperties = getAllProperties(
206
184
  context,
207
185
  flattenModel,
208
- getAllAncestors(flattenModel)
186
+ getAllAncestors(flattenModel),
209
187
  );
210
188
  for (const flattenChildProperty of allFlattenProperties) {
211
- let childPropertyName = normalizeModelPropertyName(
212
- context,
213
- flattenChildProperty
214
- );
189
+ let childPropertyName = normalizeModelPropertyName(context, flattenChildProperty);
215
190
  if (existingProperties.has(childPropertyName)) {
216
191
  childPropertyName = normalizeName(
217
192
  `${childPropertyName}_${flattenProperty.name}_${childPropertyName}`,
218
- NameType.Property
193
+ NameType.Property,
219
194
  );
220
195
  conflictMap.set(flattenChildProperty, childPropertyName);
221
196
  }
@@ -228,9 +203,7 @@ function enrichFlattenProperties(
228
203
  }
229
204
  }
230
205
 
231
- export function getAllOperationsFromClient(
232
- client: SdkClientType<SdkHttpOperation>
233
- ) {
206
+ export function getAllOperationsFromClient(client: SdkClientType<SdkHttpOperation>) {
234
207
  const clientQueue = [client];
235
208
  const operations: SdkServiceMethod<SdkHttpOperation>[] = [];
236
209
  while (clientQueue.length > 0) {
@@ -2,12 +2,10 @@ import { provideContext, useContext } from "../../contextManager.js";
2
2
  import { DefaultCoreDependencies } from "../../modular/external-dependencies.js";
3
3
  import { ExternalDependencies } from "../dependency.js";
4
4
 
5
- export function provideDependencies(
6
- customDependencies: Partial<ExternalDependencies> = {}
7
- ) {
5
+ export function provideDependencies(customDependencies: Partial<ExternalDependencies> = {}) {
8
6
  const dependencies = {
9
7
  ...DefaultCoreDependencies,
10
- ...customDependencies
8
+ ...customDependencies,
11
9
  } as ExternalDependencies;
12
10
 
13
11
  provideContext("dependencies", dependencies);
@@ -1,4 +1,5 @@
1
- import { readdir, stat, readFile } from "fs/promises";
1
+ import { NoTarget, Program } from "@typespec/compiler";
2
+ import { readdir, readFile, stat } from "fs/promises";
2
3
  import * as path from "path";
3
4
  import {
4
5
  ClassDeclaration,
@@ -7,14 +8,13 @@ import {
7
8
  InterfaceDeclaration,
8
9
  Project,
9
10
  SourceFile,
10
- TypeAliasDeclaration
11
+ TypeAliasDeclaration,
11
12
  } from "ts-morph";
12
- import { refkey } from "./refkey.js";
13
- import { resolveProjectRoot } from "../utils/resolve-project-root.js";
14
- import { isAzurePackage } from "../rlc-common/index.js";
15
- import { ModularEmitterOptions } from "../modular/interfaces.js";
16
- import { NoTarget, Program } from "@typespec/compiler";
17
13
  import { reportDiagnostic } from "../lib.js";
14
+ import { ModularEmitterOptions } from "../modular/interfaces.js";
15
+ import { isAzurePackage } from "../rlc-common/index.js";
16
+ import { resolveProjectRoot } from "../utils/resolve-project-root.js";
17
+ import { refkey } from "./refkey.js";
18
18
  export const SourceFileSymbol = Symbol("SourceFile");
19
19
  export interface StaticHelperMetadata {
20
20
  name: string;
@@ -23,15 +23,9 @@ export interface StaticHelperMetadata {
23
23
  [SourceFileSymbol]?: SourceFile;
24
24
  }
25
25
 
26
- export function isStaticHelperMetadata(
27
- metadata: any
28
- ): metadata is StaticHelperMetadata {
26
+ export function isStaticHelperMetadata(metadata: any): metadata is StaticHelperMetadata {
29
27
  return Boolean(
30
- metadata &&
31
- metadata.name &&
32
- metadata.kind &&
33
- metadata.location &&
34
- metadata[SourceFileSymbol]
28
+ metadata && metadata.name && metadata.kind && metadata.location && metadata[SourceFileSymbol],
35
29
  );
36
30
  }
37
31
 
@@ -57,35 +51,34 @@ interface FileMetadata {
57
51
  export async function loadStaticHelpers(
58
52
  project: Project,
59
53
  helpers: StaticHelpers,
60
- options: LoadStaticHelpersOptions = {}
54
+ options: LoadStaticHelpersOptions = {},
61
55
  ): Promise<Map<string, StaticHelperMetadata>> {
62
56
  const helpersMap = new Map<string, StaticHelperMetadata>();
63
57
  // Load static helpers used in sources code
64
58
  const defaultStaticHelpersPath = path.join(
65
59
  resolveProjectRoot(),
66
- DEFAULT_SOURCES_STATIC_HELPERS_PATH
60
+ DEFAULT_SOURCES_STATIC_HELPERS_PATH,
67
61
  );
68
62
  const filesInSources = await traverseDirectory(
69
63
  options.helpersAssetDirectory ?? defaultStaticHelpersPath,
70
- options.program
64
+ options.program,
71
65
  );
72
66
  await loadFiles(filesInSources, options.sourcesDir ?? "");
73
67
  // Load static helpers used in testing code (only when loadTestHelpers is enabled)
74
68
  if (
75
69
  options.loadTestHelpers ??
76
- (options.options?.generateTest &&
77
- isAzurePackage({ options: options.options }))
70
+ (options.options?.generateTest && isAzurePackage({ options: options.options }))
78
71
  ) {
79
72
  const defaultTestingHelpersPath = path.join(
80
73
  resolveProjectRoot(),
81
- DEFAULT_SOURCES_TESTING_HELPERS_PATH
74
+ DEFAULT_SOURCES_TESTING_HELPERS_PATH,
82
75
  );
83
76
  const filesInTestings = await traverseDirectory(
84
77
  defaultTestingHelpersPath,
85
78
  options.program,
86
79
  [],
87
80
  "",
88
- "test/generated/util"
81
+ "test/generated/util",
89
82
  );
90
83
  await loadFiles(filesInTestings, options.rootDir ?? "");
91
84
  }
@@ -96,24 +89,14 @@ export async function loadStaticHelpers(
96
89
  const targetPath = path.join(generateDir, file.target);
97
90
  const contents = await readFile(file.source, "utf-8");
98
91
  const addedFile = project.createSourceFile(targetPath, contents, {
99
- overwrite: true
92
+ overwrite: true,
100
93
  });
101
94
  addedFile.getImportDeclarations().map((i) => {
102
95
  if (!isAzurePackage({ options: options.options })) {
103
- if (
104
- i
105
- .getModuleSpecifier()
106
- .getFullText()
107
- .includes("@azure/core-rest-pipeline")
108
- ) {
96
+ if (i.getModuleSpecifier().getFullText().includes("@azure/core-rest-pipeline")) {
109
97
  i.setModuleSpecifier("@typespec/ts-http-runtime");
110
98
  }
111
- if (
112
- i
113
- .getModuleSpecifier()
114
- .getFullText()
115
- .includes("@azure-rest/core-client")
116
- ) {
99
+ if (i.getModuleSpecifier().getFullText().includes("@azure-rest/core-client")) {
117
100
  i.setModuleSpecifier("@typespec/ts-http-runtime");
118
101
  }
119
102
  }
@@ -144,7 +127,7 @@ export async function loadStaticHelpers(
144
127
  throw new Error(
145
128
  `Declaration ${
146
129
  entry.name
147
- } not found in file ${addedFile.getFilePath()}\n This is an Emitter bug, make sure that the map of static helpers passed to loadStaticHelpers matches what is in the file.`
130
+ } not found in file ${addedFile.getFilePath()}\n This is an Emitter bug, make sure that the map of static helpers passed to loadStaticHelpers matches what is in the file.`,
148
131
  );
149
132
  }
150
133
 
@@ -155,9 +138,7 @@ export async function loadStaticHelpers(
155
138
  }
156
139
  }
157
140
 
158
- function assertAllHelpersLoadedPresent(
159
- helpers: Map<string, StaticHelperMetadata>
160
- ) {
141
+ function assertAllHelpersLoadedPresent(helpers: Map<string, StaticHelperMetadata>) {
161
142
  const missingHelpers = [];
162
143
  for (const helper of helpers.values()) {
163
144
  if (!helper[SourceFileSymbol]) {
@@ -171,7 +152,7 @@ function assertAllHelpersLoadedPresent(
171
152
  .join("\n");
172
153
 
173
154
  throw new Error(
174
- `The following helpers were not found in the project, make sure they are defined in the expected static helper file: ${missingHelpersString}`
155
+ `The following helpers were not found in the project, make sure they are defined in the expected static helper file: ${missingHelpersString}`,
175
156
  );
176
157
  }
177
158
 
@@ -180,7 +161,7 @@ function assertAllHelpersLoadedPresent(
180
161
 
181
162
  function getDeclarationByMetadata(
182
163
  file: SourceFile,
183
- declaration: StaticHelperMetadata
164
+ declaration: StaticHelperMetadata,
184
165
  ):
185
166
  | ClassDeclaration
186
167
  | FunctionDeclaration
@@ -201,7 +182,7 @@ function getDeclarationByMetadata(
201
182
  return file.getEnum(declaration.name);
202
183
  default:
203
184
  throw new Error(
204
- `invalid helper kind ${declaration.kind}\nAll helpers provided to loadStaticHelpers are of kind: function, interface, typeAlias, class`
185
+ `invalid helper kind ${declaration.kind}\nAll helpers provided to loadStaticHelpers are of kind: function, interface, typeAlias, class`,
205
186
  );
206
187
  }
207
188
  }
@@ -212,7 +193,7 @@ async function traverseDirectory(
212
193
  program?: Program,
213
194
  result: { source: string; target: string }[] = [],
214
195
  relativePath: string = "",
215
- targetBaseDir: string = _targetStaticHelpersBaseDir
196
+ targetBaseDir: string = _targetStaticHelpersBaseDir,
216
197
  ): Promise<{ source: string; target: string }[]> {
217
198
  try {
218
199
  const files = await readdir(directory);
@@ -228,17 +209,13 @@ async function traverseDirectory(
228
209
  program,
229
210
  result,
230
211
  path.join(relativePath, file),
231
- targetBaseDir
212
+ targetBaseDir,
232
213
  );
233
- } else if (
234
- fileStat.isFile() &&
235
- !file.endsWith(".d.ts") &&
236
- /.*\..?ts$/.test(file)
237
- ) {
214
+ } else if (fileStat.isFile() && !file.endsWith(".d.ts") && /.*\..?ts$/.test(file)) {
238
215
  const target = path.join(targetBaseDir, relativePath, file);
239
216
  result.push({ source: filePath, target });
240
217
  }
241
- })
218
+ }),
242
219
  );
243
220
 
244
221
  return result;
@@ -247,7 +224,7 @@ async function traverseDirectory(
247
224
  reportDiagnostic(program, {
248
225
  code: "directory-traversal-error",
249
226
  format: { directory, error: String(error) },
250
- target: NoTarget
227
+ target: NoTarget,
251
228
  });
252
229
  }
253
230
  throw error;
@@ -1,10 +1,7 @@
1
+ import { ReferenceableSymbol } from "./dependency.js";
1
2
  import { useBinder } from "./hooks/binder.js";
3
+ import { SourceFileSymbol, StaticHelperMetadata } from "./load-static-helpers.js";
2
4
  import { refkey as getRefkey } from "./refkey.js";
3
- import { ReferenceableSymbol } from "./dependency.js";
4
- import {
5
- SourceFileSymbol,
6
- StaticHelperMetadata
7
- } from "./load-static-helpers.js";
8
5
 
9
6
  export function resolveReference(refkey: unknown): string {
10
7
  const binder = useBinder();
@@ -1,11 +1,11 @@
1
1
  import {
2
+ FunctionDeclarationStructure,
3
+ InterfaceDeclarationStructure,
2
4
  Project,
3
5
  StructureKind,
4
- InterfaceDeclarationStructure,
5
- FunctionDeclarationStructure
6
6
  } from "ts-morph";
7
- import { useBinder } from "./hooks/binder.js";
8
7
  import { addDeclaration } from "./declaration.js";
8
+ import { useBinder } from "./hooks/binder.js";
9
9
  import { resolveReference } from "./reference.js";
10
10
 
11
11
  // Create a new ts-morph project
@@ -21,14 +21,14 @@ const binder = useBinder();
21
21
  // At this framework level, we're just using a simple object, there is no coupling with the actual type system, but this is flexible so any object can be used.
22
22
  const modelType = {
23
23
  name: "MyInterface",
24
- properties: [{ name: "id", type: "number" }]
24
+ properties: [{ name: "id", type: "number" }],
25
25
  };
26
26
 
27
27
  // Define a function model
28
28
  const functionType = {
29
29
  name: "MyFunction",
30
30
  returnType: "void",
31
- body: `console.log("Hello World");`
31
+ body: `console.log("Hello World");`,
32
32
  };
33
33
 
34
34
  // Create an interface declaration structure. This illustrates a similar pattern to the one used in the emitter. Transorming a model into a structure for ts-morph.
@@ -37,8 +37,8 @@ const interfaceDeclaration: InterfaceDeclarationStructure = {
37
37
  name: modelType.name,
38
38
  properties: modelType.properties.map((p) => ({
39
39
  name: p.name,
40
- type: p.type
41
- }))
40
+ type: p.type,
41
+ })),
42
42
  };
43
43
 
44
44
  // Create a function declaration structure
@@ -46,7 +46,7 @@ const functionDeclaration: FunctionDeclarationStructure = {
46
46
  kind: StructureKind.Function,
47
47
  name: functionType.name,
48
48
  returnType: functionType.returnType,
49
- statements: functionType.body
49
+ statements: functionType.body,
50
50
  };
51
51
 
52
52
  // Helper functions to add the declarations to the source file. These are needed to be able to leverage the binder to track the declarations.
@@ -56,7 +56,7 @@ addDeclaration(sourceFile, functionDeclaration, functionType);
56
56
 
57
57
  // Create another source file
58
58
  const sourceFile2 = project.createSourceFile("test2.ts", "", {
59
- overwrite: true
59
+ overwrite: true,
60
60
  });
61
61
 
62
62
  // Add statements referencing the tracked declarations