@azure-tools/typespec-ts 0.55.0-dev.9 → 0.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +24 -19
  3. package/dist/src/context-manager.d.ts +19 -2
  4. package/dist/src/context-manager.d.ts.map +1 -1
  5. package/dist/src/context-manager.js +21 -0
  6. package/dist/src/context-manager.js.map +1 -1
  7. package/dist/src/framework/declaration.d.ts.map +1 -1
  8. package/dist/src/framework/declaration.js +6 -20
  9. package/dist/src/framework/declaration.js.map +1 -1
  10. package/dist/src/framework/hooks/sdk-types.d.ts +12 -2
  11. package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -1
  12. package/dist/src/framework/hooks/sdk-types.js +17 -3
  13. package/dist/src/framework/hooks/sdk-types.js.map +1 -1
  14. package/dist/src/framework/source-file-batch.d.ts +35 -0
  15. package/dist/src/framework/source-file-batch.d.ts.map +1 -0
  16. package/dist/src/framework/source-file-batch.js +128 -0
  17. package/dist/src/framework/source-file-batch.js.map +1 -0
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +73 -62
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/{rlc-common/interfaces.d.ts → interfaces.d.ts} +12 -14
  22. package/dist/src/interfaces.d.ts.map +1 -0
  23. package/dist/src/interfaces.js.map +1 -0
  24. package/dist/src/lib.d.ts +17 -5
  25. package/dist/src/lib.d.ts.map +1 -1
  26. package/dist/src/lib.js +24 -17
  27. package/dist/src/lib.js.map +1 -1
  28. package/dist/src/meta-tree.d.ts +4 -4
  29. package/dist/src/meta-tree.d.ts.map +1 -1
  30. package/dist/src/metadata/build-api-extractor-config.d.ts +6 -0
  31. package/dist/src/metadata/build-api-extractor-config.d.ts.map +1 -0
  32. package/dist/src/metadata/build-api-extractor-config.js.map +1 -0
  33. package/dist/src/metadata/build-changelog-file.d.ts +6 -0
  34. package/dist/src/metadata/build-changelog-file.d.ts.map +1 -0
  35. package/dist/src/metadata/build-changelog-file.js.map +1 -0
  36. package/dist/src/metadata/build-es-lint-config.d.ts +6 -0
  37. package/dist/src/metadata/build-es-lint-config.d.ts.map +1 -0
  38. package/dist/src/metadata/build-es-lint-config.js.map +1 -0
  39. package/dist/src/metadata/build-license-file.d.ts.map +1 -0
  40. package/dist/src/metadata/build-license-file.js.map +1 -0
  41. package/dist/src/{rlc-common/metadata → metadata}/build-package-file.d.ts +3 -3
  42. package/dist/src/metadata/build-package-file.d.ts.map +1 -0
  43. package/dist/src/{rlc-common/metadata → metadata}/build-package-file.js +1 -1
  44. package/dist/src/metadata/build-package-file.js.map +1 -0
  45. package/dist/src/metadata/build-readme-file.d.ts +11 -0
  46. package/dist/src/metadata/build-readme-file.d.ts.map +1 -0
  47. package/dist/src/{rlc-common/metadata → metadata}/build-readme-file.js +16 -69
  48. package/dist/src/metadata/build-readme-file.js.map +1 -0
  49. package/dist/src/metadata/build-sample-env-file.d.ts +6 -0
  50. package/dist/src/metadata/build-sample-env-file.d.ts.map +1 -0
  51. package/dist/src/metadata/build-sample-env-file.js.map +1 -0
  52. package/dist/src/{rlc-common/metadata → metadata}/build-test-config.d.ts +3 -3
  53. package/dist/src/metadata/build-test-config.d.ts.map +1 -0
  54. package/dist/src/metadata/build-test-config.js.map +1 -0
  55. package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.d.ts +3 -3
  56. package/dist/src/metadata/build-ts-config.d.ts.map +1 -0
  57. package/dist/src/metadata/build-ts-config.js.map +1 -0
  58. package/dist/src/metadata/build-vitest-config.d.ts +6 -0
  59. package/dist/src/metadata/build-vitest-config.d.ts.map +1 -0
  60. package/dist/src/metadata/build-vitest-config.js.map +1 -0
  61. package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.d.ts +2 -2
  62. package/dist/src/metadata/build-warp-config.d.ts.map +1 -0
  63. package/dist/src/metadata/build-warp-config.js.map +1 -0
  64. package/dist/src/metadata/package-json/azure-package-common.d.ts.map +1 -0
  65. package/dist/src/metadata/package-json/azure-package-common.js.map +1 -0
  66. package/dist/src/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
  67. package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.js +1 -1
  68. package/dist/src/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
  69. package/dist/src/metadata/package-json/package-common.d.ts.map +1 -0
  70. package/dist/src/metadata/package-json/package-common.js.map +1 -0
  71. package/dist/src/metadata/render-template.d.ts +24 -0
  72. package/dist/src/metadata/render-template.d.ts.map +1 -0
  73. package/dist/src/metadata/render-template.js +148 -0
  74. package/dist/src/metadata/render-template.js.map +1 -0
  75. package/dist/src/metadata/test/build-recorded-client.d.ts +6 -0
  76. package/dist/src/metadata/test/build-recorded-client.d.ts.map +1 -0
  77. package/dist/src/metadata/test/build-recorded-client.js +8 -0
  78. package/dist/src/metadata/test/build-recorded-client.js.map +1 -0
  79. package/dist/src/metadata/test/build-sample-test.d.ts +6 -0
  80. package/dist/src/metadata/test/build-sample-test.d.ts.map +1 -0
  81. package/dist/src/metadata/test/build-sample-test.js +8 -0
  82. package/dist/src/metadata/test/build-sample-test.js.map +1 -0
  83. package/dist/src/metadata/test/build-snippets.d.ts +6 -0
  84. package/dist/src/metadata/test/build-snippets.d.ts.map +1 -0
  85. package/dist/src/{rlc-common → metadata}/test/build-snippets.js +3 -5
  86. package/dist/src/metadata/test/build-snippets.js.map +1 -0
  87. package/dist/src/metadata/test/template.d.ts +4 -0
  88. package/dist/src/metadata/test/template.d.ts.map +1 -0
  89. package/dist/src/metadata/test/template.js +100 -0
  90. package/dist/src/metadata/test/template.js.map +1 -0
  91. package/dist/src/metadata/utils.d.ts +3 -0
  92. package/dist/src/metadata/utils.d.ts.map +1 -0
  93. package/dist/src/metadata/utils.js.map +1 -0
  94. package/dist/src/modular/build-classical-client.d.ts.map +1 -1
  95. package/dist/src/modular/build-classical-client.js +13 -13
  96. package/dist/src/modular/build-classical-client.js.map +1 -1
  97. package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -1
  98. package/dist/src/modular/build-classical-operation-groups.js +3 -3
  99. package/dist/src/modular/build-classical-operation-groups.js.map +1 -1
  100. package/dist/src/modular/build-client-context.d.ts.map +1 -1
  101. package/dist/src/modular/build-client-context.js +7 -7
  102. package/dist/src/modular/build-client-context.js.map +1 -1
  103. package/dist/src/modular/build-modular-options.js +3 -3
  104. package/dist/src/modular/build-modular-options.js.map +1 -1
  105. package/dist/src/modular/build-operations.d.ts.map +1 -1
  106. package/dist/src/modular/build-operations.js +6 -6
  107. package/dist/src/modular/build-operations.js.map +1 -1
  108. package/dist/src/modular/build-project-files.d.ts.map +1 -1
  109. package/dist/src/modular/build-project-files.js +4 -4
  110. package/dist/src/modular/build-project-files.js.map +1 -1
  111. package/dist/src/modular/build-restore-poller.d.ts.map +1 -1
  112. package/dist/src/modular/build-restore-poller.js +3 -3
  113. package/dist/src/modular/build-restore-poller.js.map +1 -1
  114. package/dist/src/modular/build-root-index.d.ts.map +1 -1
  115. package/dist/src/modular/build-root-index.js +42 -14
  116. package/dist/src/modular/build-root-index.js.map +1 -1
  117. package/dist/src/modular/build-subpath-index.d.ts.map +1 -1
  118. package/dist/src/modular/build-subpath-index.js +17 -4
  119. package/dist/src/modular/build-subpath-index.js.map +1 -1
  120. package/dist/src/modular/emit-models-options.d.ts.map +1 -1
  121. package/dist/src/modular/emit-models-options.js +3 -3
  122. package/dist/src/modular/emit-models-options.js.map +1 -1
  123. package/dist/src/modular/emit-models.d.ts +1 -1
  124. package/dist/src/modular/emit-models.d.ts.map +1 -1
  125. package/dist/src/modular/emit-models.js +51 -30
  126. package/dist/src/modular/emit-models.js.map +1 -1
  127. package/dist/src/modular/emit-samples.d.ts.map +1 -1
  128. package/dist/src/modular/emit-samples.js +97 -24
  129. package/dist/src/modular/emit-samples.js.map +1 -1
  130. package/dist/src/modular/emit-tests.d.ts.map +1 -1
  131. package/dist/src/modular/emit-tests.js +1 -1
  132. package/dist/src/modular/emit-tests.js.map +1 -1
  133. package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -1
  134. package/dist/src/modular/helpers/classical-operation-helpers.js +11 -11
  135. package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -1
  136. package/dist/src/modular/helpers/client-helpers.d.ts +6 -1
  137. package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -1
  138. package/dist/src/modular/helpers/client-helpers.js +18 -14
  139. package/dist/src/modular/helpers/client-helpers.js.map +1 -1
  140. package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -1
  141. package/dist/src/modular/helpers/example-value-helpers.js +2 -2
  142. package/dist/src/modular/helpers/example-value-helpers.js.map +1 -1
  143. package/dist/src/modular/helpers/naming-helpers.d.ts +1 -1
  144. package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -1
  145. package/dist/src/modular/helpers/naming-helpers.js +2 -2
  146. package/dist/src/modular/helpers/naming-helpers.js.map +1 -1
  147. package/dist/src/modular/helpers/operation-helpers.d.ts +4 -4
  148. package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -1
  149. package/dist/src/modular/helpers/operation-helpers.js +25 -26
  150. package/dist/src/modular/helpers/operation-helpers.js.map +1 -1
  151. package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -1
  152. package/dist/src/modular/helpers/type-helpers.js +1 -1
  153. package/dist/src/modular/helpers/type-helpers.js.map +1 -1
  154. package/dist/src/modular/interfaces.d.ts +4 -4
  155. package/dist/src/modular/interfaces.d.ts.map +1 -1
  156. package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -1
  157. package/dist/src/modular/serialization/build-deserializer-function.js +2 -2
  158. package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -1
  159. package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -1
  160. package/dist/src/modular/serialization/build-serializer-function.js +2 -2
  161. package/dist/src/modular/serialization/build-serializer-function.js.map +1 -1
  162. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -1
  163. package/dist/src/modular/serialization/build-xml-serializer-function.js +1 -1
  164. package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -1
  165. package/dist/src/modular/serialization/serialize-utils.js +2 -2
  166. package/dist/src/modular/serialization/serialize-utils.js.map +1 -1
  167. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
  168. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  169. package/dist/src/modular/type-expressions/get-nullable-expression.js +1 -1
  170. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  171. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  172. package/dist/src/modular/type-expressions/get-type-expression.js +3 -3
  173. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  174. package/dist/src/transform/transform-api-version-info.d.ts +1 -1
  175. package/dist/src/transform/transform-api-version-info.d.ts.map +1 -1
  176. package/dist/src/transform/transform-api-version-info.js +4 -3
  177. package/dist/src/transform/transform-api-version-info.js.map +1 -1
  178. package/dist/src/transform/{transfrom-rlc-options.d.ts → transform-client-options.d.ts} +3 -3
  179. package/dist/src/transform/transform-client-options.d.ts.map +1 -0
  180. package/dist/src/transform/{transfrom-rlc-options.js → transform-client-options.js} +9 -13
  181. package/dist/src/transform/transform-client-options.js.map +1 -0
  182. package/dist/src/transform/transform-helper-function-details.d.ts +1 -1
  183. package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -1
  184. package/dist/src/transform/transform-helper-function-details.js +4 -4
  185. package/dist/src/transform/transform-helper-function-details.js.map +1 -1
  186. package/dist/src/transform/transform-parameters.d.ts +1 -1
  187. package/dist/src/transform/transform-parameters.d.ts.map +1 -1
  188. package/dist/src/transform/transform-parameters.js +11 -11
  189. package/dist/src/transform/transform-parameters.js.map +1 -1
  190. package/dist/src/transform/transform-paths.d.ts +1 -1
  191. package/dist/src/transform/transform-paths.d.ts.map +1 -1
  192. package/dist/src/transform/transform-paths.js +5 -4
  193. package/dist/src/transform/transform-paths.js.map +1 -1
  194. package/dist/src/transform/transform-responses.d.ts +1 -1
  195. package/dist/src/transform/transform-responses.d.ts.map +1 -1
  196. package/dist/src/transform/transform-responses.js +19 -18
  197. package/dist/src/transform/transform-responses.js.map +1 -1
  198. package/dist/src/transform/transform-schemas.js +5 -5
  199. package/dist/src/transform/transform-schemas.js.map +1 -1
  200. package/dist/src/transform/transform-telemetry-info.d.ts +1 -1
  201. package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -1
  202. package/dist/src/transform/transform-telemetry-info.js +2 -2
  203. package/dist/src/transform/transform-telemetry-info.js.map +1 -1
  204. package/dist/src/transform/transform.d.ts +2 -2
  205. package/dist/src/transform/transform.d.ts.map +1 -1
  206. package/dist/src/transform/transform.js +9 -10
  207. package/dist/src/transform/transform.js.map +1 -1
  208. package/dist/src/utils/api-version-util.d.ts.map +1 -0
  209. package/dist/src/utils/api-version-util.js.map +1 -0
  210. package/dist/src/utils/client-utils.d.ts +5 -5
  211. package/dist/src/utils/client-utils.d.ts.map +1 -1
  212. package/dist/src/utils/client-utils.js +10 -10
  213. package/dist/src/utils/client-utils.js.map +1 -1
  214. package/dist/src/utils/cross-language-def.d.ts.map +1 -1
  215. package/dist/src/utils/cross-language-def.js +3 -3
  216. package/dist/src/utils/cross-language-def.js.map +1 -1
  217. package/dist/src/utils/emit-util.d.ts +2 -2
  218. package/dist/src/utils/emit-util.d.ts.map +1 -1
  219. package/dist/src/utils/emit-util.js +2 -2
  220. package/dist/src/utils/emit-util.js.map +1 -1
  221. package/dist/src/utils/imports-util.d.ts.map +1 -0
  222. package/dist/src/{rlc-common/helpers → utils}/imports-util.js +6 -6
  223. package/dist/src/utils/imports-util.js.map +1 -0
  224. package/dist/src/utils/interfaces.d.ts +3 -4
  225. package/dist/src/utils/interfaces.d.ts.map +1 -1
  226. package/dist/src/utils/model-utils.d.ts +1 -1
  227. package/dist/src/utils/model-utils.d.ts.map +1 -1
  228. package/dist/src/utils/model-utils.js +4 -2
  229. package/dist/src/utils/model-utils.js.map +1 -1
  230. package/dist/src/{rlc-common/helpers → utils}/name-constructors.d.ts +2 -2
  231. package/dist/src/utils/name-constructors.d.ts.map +1 -0
  232. package/dist/src/utils/name-constructors.js.map +1 -0
  233. package/dist/src/utils/name-utils.d.ts.map +1 -0
  234. package/dist/src/utils/name-utils.js.map +1 -0
  235. package/dist/src/utils/namespace-utils.js +4 -4
  236. package/dist/src/utils/namespace-utils.js.map +1 -1
  237. package/dist/src/utils/operation-helpers.d.ts +16 -0
  238. package/dist/src/utils/operation-helpers.d.ts.map +1 -0
  239. package/dist/src/utils/operation-helpers.js.map +1 -0
  240. package/dist/src/utils/operation-util.d.ts +2 -2
  241. package/dist/src/utils/operation-util.d.ts.map +1 -1
  242. package/dist/src/utils/operation-util.js +17 -18
  243. package/dist/src/utils/operation-util.js.map +1 -1
  244. package/dist/src/utils/parameter-utils.d.ts +1 -1
  245. package/dist/src/utils/parameter-utils.d.ts.map +1 -1
  246. package/dist/src/utils/parameter-utils.js +2 -4
  247. package/dist/src/utils/parameter-utils.js.map +1 -1
  248. package/dist/src/{rlc-common/helpers → utils}/schema-helpers.d.ts +2 -2
  249. package/dist/src/utils/schema-helpers.d.ts.map +1 -0
  250. package/dist/src/utils/schema-helpers.js.map +1 -0
  251. package/dist/src/utils/type-util.d.ts.map +1 -0
  252. package/dist/src/utils/type-util.js.map +1 -0
  253. package/dist/tsconfig.tsbuildinfo +1 -1
  254. package/package.json +41 -49
  255. package/src/context-manager.ts +25 -2
  256. package/src/framework/declaration.ts +8 -20
  257. package/src/framework/hooks/sdk-types.ts +18 -3
  258. package/src/framework/source-file-batch.ts +140 -0
  259. package/src/index.ts +92 -103
  260. package/src/{rlc-common/interfaces.ts → interfaces.ts} +14 -16
  261. package/src/lib.ts +43 -23
  262. package/src/meta-tree.ts +4 -4
  263. package/src/{rlc-common/metadata → metadata}/build-api-extractor-config.ts +2 -2
  264. package/src/{rlc-common/metadata → metadata}/build-changelog-file.ts +3 -3
  265. package/src/{rlc-common/metadata → metadata}/build-es-lint-config.ts +2 -2
  266. package/src/{rlc-common/metadata → metadata}/build-package-file.ts +6 -6
  267. package/src/{rlc-common/metadata → metadata}/build-readme-file.ts +25 -99
  268. package/src/{rlc-common/metadata → metadata}/build-sample-env-file.ts +2 -2
  269. package/src/{rlc-common/metadata → metadata}/build-test-config.ts +4 -4
  270. package/src/{rlc-common/metadata → metadata}/build-ts-config.ts +3 -3
  271. package/src/{rlc-common/metadata → metadata}/build-vitest-config.ts +2 -2
  272. package/src/{rlc-common/metadata → metadata}/build-warp-config.ts +2 -2
  273. package/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.ts +1 -1
  274. package/src/metadata/render-template.ts +202 -0
  275. package/src/metadata/test/build-recorded-client.ts +9 -0
  276. package/src/metadata/test/build-sample-test.ts +9 -0
  277. package/src/{rlc-common → metadata}/test/build-snippets.ts +5 -7
  278. package/src/metadata/test/template.ts +101 -0
  279. package/src/{rlc-common/metadata → metadata}/utils.ts +2 -2
  280. package/src/modular/build-classical-client.ts +13 -17
  281. package/src/modular/build-classical-operation-groups.ts +3 -3
  282. package/src/modular/build-client-context.ts +7 -7
  283. package/src/modular/build-modular-options.ts +3 -3
  284. package/src/modular/build-operations.ts +6 -6
  285. package/src/modular/build-project-files.ts +4 -5
  286. package/src/modular/build-restore-poller.ts +3 -3
  287. package/src/modular/build-root-index.ts +57 -19
  288. package/src/modular/build-subpath-index.ts +26 -5
  289. package/src/modular/emit-models-options.ts +3 -3
  290. package/src/modular/emit-models.ts +52 -31
  291. package/src/modular/emit-samples.ts +124 -43
  292. package/src/modular/emit-tests.ts +1 -1
  293. package/src/modular/helpers/classical-operation-helpers.ts +11 -11
  294. package/src/modular/helpers/client-helpers.ts +19 -16
  295. package/src/modular/helpers/example-value-helpers.ts +2 -2
  296. package/src/modular/helpers/naming-helpers.ts +2 -2
  297. package/src/modular/helpers/operation-helpers.ts +27 -27
  298. package/src/modular/helpers/type-helpers.ts +1 -1
  299. package/src/modular/interfaces.ts +4 -4
  300. package/src/modular/serialization/build-deserializer-function.ts +2 -2
  301. package/src/modular/serialization/build-serializer-function.ts +2 -2
  302. package/src/modular/serialization/build-xml-serializer-function.ts +1 -1
  303. package/src/modular/serialization/serialize-utils.ts +2 -2
  304. package/src/modular/type-expressions/get-enum-expression.ts +1 -1
  305. package/src/modular/type-expressions/get-nullable-expression.ts +1 -1
  306. package/src/modular/type-expressions/get-type-expression.ts +3 -3
  307. package/src/transform/transform-api-version-info.ts +4 -10
  308. package/src/transform/{transfrom-rlc-options.ts → transform-client-options.ts} +12 -22
  309. package/src/transform/transform-helper-function-details.ts +5 -5
  310. package/src/transform/transform-parameters.ts +12 -12
  311. package/src/transform/transform-paths.ts +5 -12
  312. package/src/transform/transform-responses.ts +19 -19
  313. package/src/transform/transform-schemas.ts +5 -5
  314. package/src/transform/transform-telemetry-info.ts +3 -3
  315. package/src/transform/transform.ts +13 -18
  316. package/src/utils/client-utils.ts +11 -11
  317. package/src/utils/cross-language-def.ts +3 -3
  318. package/src/utils/emit-util.ts +3 -3
  319. package/src/{rlc-common/helpers → utils}/imports-util.ts +6 -6
  320. package/src/utils/interfaces.ts +3 -4
  321. package/src/utils/model-utils.ts +7 -8
  322. package/src/{rlc-common/helpers → utils}/name-constructors.ts +2 -2
  323. package/src/utils/namespace-utils.ts +4 -4
  324. package/src/{rlc-common/helpers → utils}/operation-helpers.ts +12 -12
  325. package/src/utils/operation-util.ts +19 -33
  326. package/src/utils/parameter-utils.ts +2 -4
  327. package/src/{rlc-common/helpers → utils}/schema-helpers.ts +2 -2
  328. package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +0 -1
  329. package/dist/src/rlc-common/helpers/api-version-util.js.map +0 -1
  330. package/dist/src/rlc-common/helpers/imports-util.d.ts.map +0 -1
  331. package/dist/src/rlc-common/helpers/imports-util.js.map +0 -1
  332. package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +0 -1
  333. package/dist/src/rlc-common/helpers/name-constructors.js.map +0 -1
  334. package/dist/src/rlc-common/helpers/name-utils.d.ts.map +0 -1
  335. package/dist/src/rlc-common/helpers/name-utils.js.map +0 -1
  336. package/dist/src/rlc-common/helpers/operation-helpers.d.ts +0 -16
  337. package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +0 -1
  338. package/dist/src/rlc-common/helpers/operation-helpers.js.map +0 -1
  339. package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +0 -1
  340. package/dist/src/rlc-common/helpers/schema-helpers.js.map +0 -1
  341. package/dist/src/rlc-common/helpers/type-util.d.ts.map +0 -1
  342. package/dist/src/rlc-common/helpers/type-util.js.map +0 -1
  343. package/dist/src/rlc-common/index.d.ts +0 -23
  344. package/dist/src/rlc-common/index.d.ts.map +0 -1
  345. package/dist/src/rlc-common/index.js +0 -25
  346. package/dist/src/rlc-common/index.js.map +0 -1
  347. package/dist/src/rlc-common/interfaces.d.ts.map +0 -1
  348. package/dist/src/rlc-common/interfaces.js.map +0 -1
  349. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +0 -6
  350. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +0 -1
  351. package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +0 -1
  352. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +0 -6
  353. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +0 -1
  354. package/dist/src/rlc-common/metadata/build-changelog-file.js.map +0 -1
  355. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +0 -6
  356. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +0 -1
  357. package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +0 -1
  358. package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +0 -1
  359. package/dist/src/rlc-common/metadata/build-license-file.js.map +0 -1
  360. package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +0 -1
  361. package/dist/src/rlc-common/metadata/build-package-file.js.map +0 -1
  362. package/dist/src/rlc-common/metadata/build-readme-file.d.ts +0 -11
  363. package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +0 -1
  364. package/dist/src/rlc-common/metadata/build-readme-file.js.map +0 -1
  365. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +0 -6
  366. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +0 -1
  367. package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +0 -1
  368. package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +0 -1
  369. package/dist/src/rlc-common/metadata/build-test-config.js.map +0 -1
  370. package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +0 -1
  371. package/dist/src/rlc-common/metadata/build-ts-config.js.map +0 -1
  372. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +0 -6
  373. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +0 -1
  374. package/dist/src/rlc-common/metadata/build-vitest-config.js.map +0 -1
  375. package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +0 -1
  376. package/dist/src/rlc-common/metadata/build-warp-config.js.map +0 -1
  377. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +0 -1
  378. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +0 -1
  379. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +0 -1
  380. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +0 -1
  381. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +0 -1
  382. package/dist/src/rlc-common/metadata/package-json/package-common.js.map +0 -1
  383. package/dist/src/rlc-common/metadata/utils.d.ts +0 -3
  384. package/dist/src/rlc-common/metadata/utils.d.ts.map +0 -1
  385. package/dist/src/rlc-common/metadata/utils.js.map +0 -1
  386. package/dist/src/rlc-common/static/paginate-content.d.ts +0 -2
  387. package/dist/src/rlc-common/static/paginate-content.d.ts.map +0 -1
  388. package/dist/src/rlc-common/static/paginate-content.js +0 -345
  389. package/dist/src/rlc-common/static/paginate-content.js.map +0 -1
  390. package/dist/src/rlc-common/static/polling-content.d.ts +0 -2
  391. package/dist/src/rlc-common/static/polling-content.d.ts.map +0 -1
  392. package/dist/src/rlc-common/static/polling-content.js +0 -225
  393. package/dist/src/rlc-common/static/polling-content.js.map +0 -1
  394. package/dist/src/rlc-common/static/sample-template.d.ts +0 -2
  395. package/dist/src/rlc-common/static/sample-template.d.ts.map +0 -1
  396. package/dist/src/rlc-common/static/sample-template.js +0 -56
  397. package/dist/src/rlc-common/static/sample-template.js.map +0 -1
  398. package/dist/src/rlc-common/static/serialize-helper.d.ts +0 -6
  399. package/dist/src/rlc-common/static/serialize-helper.d.ts.map +0 -1
  400. package/dist/src/rlc-common/static/serialize-helper.js +0 -31
  401. package/dist/src/rlc-common/static/serialize-helper.js.map +0 -1
  402. package/dist/src/rlc-common/test/build-karma-config.d.ts +0 -6
  403. package/dist/src/rlc-common/test/build-karma-config.d.ts.map +0 -1
  404. package/dist/src/rlc-common/test/build-karma-config.js +0 -11
  405. package/dist/src/rlc-common/test/build-karma-config.js.map +0 -1
  406. package/dist/src/rlc-common/test/build-recorded-client.d.ts +0 -6
  407. package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +0 -1
  408. package/dist/src/rlc-common/test/build-recorded-client.js +0 -14
  409. package/dist/src/rlc-common/test/build-recorded-client.js.map +0 -1
  410. package/dist/src/rlc-common/test/build-sample-test.d.ts +0 -6
  411. package/dist/src/rlc-common/test/build-sample-test.d.ts.map +0 -1
  412. package/dist/src/rlc-common/test/build-sample-test.js +0 -11
  413. package/dist/src/rlc-common/test/build-sample-test.js.map +0 -1
  414. package/dist/src/rlc-common/test/build-snippets.d.ts +0 -6
  415. package/dist/src/rlc-common/test/build-snippets.d.ts.map +0 -1
  416. package/dist/src/rlc-common/test/build-snippets.js.map +0 -1
  417. package/dist/src/rlc-common/test/template.d.ts +0 -5
  418. package/dist/src/rlc-common/test/template.d.ts.map +0 -1
  419. package/dist/src/rlc-common/test/template.js +0 -227
  420. package/dist/src/rlc-common/test/template.js.map +0 -1
  421. package/dist/src/transform/transfrom-rlc-options.d.ts.map +0 -1
  422. package/dist/src/transform/transfrom-rlc-options.js.map +0 -1
  423. package/src/rlc-common/index.ts +0 -25
  424. package/src/rlc-common/static/paginate-content.ts +0 -345
  425. package/src/rlc-common/static/polling-content.ts +0 -225
  426. package/src/rlc-common/static/sample-template.ts +0 -56
  427. package/src/rlc-common/static/serialize-helper.ts +0 -34
  428. package/src/rlc-common/test/build-karma-config.ts +0 -12
  429. package/src/rlc-common/test/build-recorded-client.ts +0 -15
  430. package/src/rlc-common/test/build-sample-test.ts +0 -12
  431. package/src/rlc-common/test/template.ts +0 -229
  432. /package/dist/src/{rlc-common/interfaces.js → interfaces.js} +0 -0
  433. /package/dist/src/{rlc-common/metadata → metadata}/build-api-extractor-config.js +0 -0
  434. /package/dist/src/{rlc-common/metadata → metadata}/build-changelog-file.js +0 -0
  435. /package/dist/src/{rlc-common/metadata → metadata}/build-es-lint-config.js +0 -0
  436. /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.d.ts +0 -0
  437. /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.js +0 -0
  438. /package/dist/src/{rlc-common/metadata → metadata}/build-sample-env-file.js +0 -0
  439. /package/dist/src/{rlc-common/metadata → metadata}/build-test-config.js +0 -0
  440. /package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.js +0 -0
  441. /package/dist/src/{rlc-common/metadata → metadata}/build-vitest-config.js +0 -0
  442. /package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.js +0 -0
  443. /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.d.ts +0 -0
  444. /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.js +0 -0
  445. /package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.d.ts +0 -0
  446. /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.d.ts +0 -0
  447. /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.js +0 -0
  448. /package/dist/src/{rlc-common/metadata → metadata}/utils.js +0 -0
  449. /package/dist/src/{rlc-common/helpers → utils}/api-version-util.d.ts +0 -0
  450. /package/dist/src/{rlc-common/helpers → utils}/api-version-util.js +0 -0
  451. /package/dist/src/{rlc-common/helpers → utils}/imports-util.d.ts +0 -0
  452. /package/dist/src/{rlc-common/helpers → utils}/name-constructors.js +0 -0
  453. /package/dist/src/{rlc-common/helpers → utils}/name-utils.d.ts +0 -0
  454. /package/dist/src/{rlc-common/helpers → utils}/name-utils.js +0 -0
  455. /package/dist/src/{rlc-common/helpers → utils}/operation-helpers.js +0 -0
  456. /package/dist/src/{rlc-common/helpers → utils}/schema-helpers.js +0 -0
  457. /package/dist/src/{rlc-common/helpers → utils}/type-util.d.ts +0 -0
  458. /package/dist/src/{rlc-common/helpers → utils}/type-util.js +0 -0
  459. /package/src/{rlc-common/metadata → metadata}/build-license-file.ts +0 -0
  460. /package/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.ts +0 -0
  461. /package/src/{rlc-common/metadata → metadata}/package-json/package-common.ts +0 -0
  462. /package/src/{rlc-common/helpers → utils}/api-version-util.ts +0 -0
  463. /package/src/{rlc-common/helpers → utils}/name-utils.ts +0 -0
  464. /package/src/{rlc-common/helpers → utils}/type-util.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import { joinPaths } from "@typespec/compiler";
2
2
  import { useContext } from "../context-manager.js";
3
- import { NameType, normalizeName } from "../rlc-common/index.js";
4
- import { getModularClientOptions } from "../utils/client-utils.js";
3
+ import { getClientModuleInfo } from "../utils/client-utils.js";
4
+ import { NameType, normalizeName } from "../utils/name-utils.js";
5
5
  import { getMethodHierarchiesMap } from "../utils/operation-util.js";
6
6
  import { buildOperationOptions } from "./build-operations.js";
7
7
  // ====== UTILITIES ======
@@ -9,7 +9,7 @@ export function buildApiOptions(context, clientMap, emitterOptions) {
9
9
  const project = useContext("outputProject");
10
10
  const [_, client] = clientMap;
11
11
  const modelOptionsFiles = [];
12
- const { subfolder } = getModularClientOptions(clientMap);
12
+ const { subfolder } = getClientModuleInfo(clientMap);
13
13
  const methodMap = getMethodHierarchiesMap(context, client);
14
14
  for (const [prefixKey, operations] of methodMap) {
15
15
  const prefixes = prefixKey.split("/");
@@ -1 +1 @@
1
- {"version":3,"file":"emit-models-options.js","sourceRoot":"","sources":["../../../src/modular/emit-models-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,0BAA0B;AAE1B,MAAM,UAAU,eAAe,CAC7B,OAAmB,EACnB,SAAyD,EACzD,cAAqC;IAErC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9B,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAC/C,SAAS,CACP,cAAc,CAAC,cAAc,CAAC,UAAU,EACxC,SAAS,IAAI,EAAE,EACf,KAAK,EACL,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EACvD,YAAY,CACb,EACD,SAAS,EACT;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QACF,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,qBAAqB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,gBAAgB;aACb,qBAAqB,EAAE;aACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzF,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACL,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"emit-models-options.js","sourceRoot":"","sources":["../../../src/modular/emit-models-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,0BAA0B;AAE1B,MAAM,UAAU,eAAe,CAC7B,OAAmB,EACnB,SAAyD,EACzD,cAAqC;IAErC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9B,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAC/C,SAAS,CACP,cAAc,CAAC,cAAc,CAAC,UAAU,EACxC,SAAS,IAAI,EAAE,EACf,KAAK,EACL,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EACvD,YAAY,CACb,EACD,SAAS,EACT;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QACF,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,qBAAqB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,gBAAgB;aACb,qBAAqB,EAAE;aACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzF,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACL,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { SdkArrayType, SdkDictionaryType, SdkEnumType, SdkModelType, SdkNullableType, SdkType, SdkUnionType } from "@azure-tools/typespec-client-generator-core";
2
2
  import { EnumDeclarationStructure, SourceFile, TypeAliasDeclarationStructure } from "ts-morph";
3
- import { NameType } from "../rlc-common/index.js";
4
3
  import { SdkContext } from "../utils/interfaces.js";
4
+ import { NameType } from "../utils/name-utils.js";
5
5
  export declare function emitTypes(context: SdkContext, { sourceRoot }: {
6
6
  sourceRoot: string;
7
7
  }): SourceFile[];
@@ -1 +1 @@
1
- {"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAKX,YAAY,EACZ,eAAe,EAGf,OAAO,EACP,YAAY,EAEb,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,wBAAwB,EAKxB,UAAU,EAEV,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAoB,QAAQ,EAAiB,MAAM,wBAAwB,CAAC;AAqBnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA+DpD,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,gBAgDpF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,QA0BvC;AA6FD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,2BAYpD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,CASvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAiChF;AA0KD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,EACjB,0BAA0B,UAAQ,GACjC,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,CA8B3D;AAkPD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAK5F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,IAAI,EACA,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,eAAe,EACnB,QAAQ,GAAE,QAA6B,EACvC,0BAA0B,UAAQ,EAClC,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CAmCR;AAkFD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,QAwBpD"}
1
+ {"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAKX,YAAY,EACZ,eAAe,EAGf,OAAO,EACP,YAAY,EAEb,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,wBAAwB,EAKxB,UAAU,EAEV,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAsBlB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAoB,QAAQ,EAAiB,MAAM,wBAAwB,CAAC;AA8DnF,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,gBAqDpF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,QA0BvC;AA6FD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,2BAYpD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,CASvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAiChF;AA0KD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,EACjB,0BAA0B,UAAQ,GACjC,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,CA8B3D;AAkPD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAK5F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,IAAI,EACA,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,eAAe,EACnB,QAAQ,GAAE,QAA6B,EACvC,0BAA0B,UAAQ,EAClC,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CAkCR;AAkFD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,QAwBpD"}
@@ -1,17 +1,18 @@
1
1
  import { isPagedResultModel, isReadOnly, listAllServiceNamespaces, UsageFlags, } from "@azure-tools/typespec-client-generator-core";
2
2
  import { StructureKind, } from "ts-morph";
3
- import { fixLeadingNumber, NameType, normalizeName } from "../rlc-common/index.js";
4
3
  // import { isKey } from "@typespec/compiler";
5
4
  import { getExternalModel, getModelExpression, getMultipartFileTypeExpression, } from "./type-expressions/get-model-expression.js";
6
5
  import { getNamespaceFullName, joinPaths, NoTarget } from "@typespec/compiler";
7
6
  import { isMetadata, isOrExtendsHttpFile, Visibility } from "@typespec/http";
8
7
  import { useContext } from "../context-manager.js";
9
8
  import { addDeclaration } from "../framework/declaration.js";
10
- import { emitQueue, flattenPropertyModelMap, getAllOperationsFromClient, pagedModelsUsedInNonPagingOps, } from "../framework/hooks/sdk-types.js";
9
+ import { emitQueue, flattenPropertyModelMap, getAllOperationsFromClient, pagedModelsKeptPublic, } from "../framework/hooks/sdk-types.js";
11
10
  import { refkey } from "../framework/refkey.js";
11
+ import { beginSourceFileBatch, flushSourceFileBatch } from "../framework/source-file-batch.js";
12
12
  import { reportDiagnostic } from "../lib.js";
13
13
  import { getClientHierarchyMap } from "../utils/client-utils.js";
14
14
  import { isAzureCoreErrorType } from "../utils/model-utils.js";
15
+ import { fixLeadingNumber, NameType, normalizeName } from "../utils/name-utils.js";
15
16
  import { getMethodHierarchiesMap } from "../utils/operation-util.js";
16
17
  import { getHeaderClientOptions } from "./helpers/client-option-helpers.js";
17
18
  import { buildNonModelResponseTypeDeclaration, checkWrapNonModelReturn, getAllAncestors, getAllProperties, } from "./helpers/operation-helpers.js";
@@ -36,30 +37,36 @@ function isGenerableType(type) {
36
37
  export function emitTypes(context, { sourceRoot }) {
37
38
  const outputProject = useContext("outputProject");
38
39
  let sourceFile;
39
- for (const type of emitQueue) {
40
- if (!isGenerableType(type)) {
41
- continue;
42
- }
43
- const namespaces = getModelNamespaces(context, type);
44
- const filepath = getModelsPath(sourceRoot, namespaces);
45
- sourceFile = outputProject.getSourceFile(filepath);
46
- if (!sourceFile) {
47
- sourceFile = outputProject.createSourceFile(filepath);
48
- sourceFile.addStatements(`/**
40
+ beginSourceFileBatch();
41
+ try {
42
+ for (const type of emitQueue) {
43
+ if (!isGenerableType(type)) {
44
+ continue;
45
+ }
46
+ const namespaces = getModelNamespaces(context, type);
47
+ const filepath = getModelsPath(sourceRoot, namespaces);
48
+ sourceFile = outputProject.getSourceFile(filepath);
49
+ if (!sourceFile) {
50
+ sourceFile = outputProject.createSourceFile(filepath);
51
+ sourceFile.addStatements(`/*
49
52
  * This file contains only generated model types and their (de)serializers.
50
53
  * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
51
54
  */
52
55
  /* eslint-disable @typescript-eslint/naming-convention */
53
56
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
57
+ }
58
+ emitType(context, type, sourceFile);
59
+ }
60
+ // Emit serialization/deserialization functions for flattened properties
61
+ for (const [property, _] of flattenPropertyModelMap) {
62
+ const namespaces = getModelNamespaces(context, property.type);
63
+ const filepath = getModelsPath(sourceRoot, namespaces);
64
+ sourceFile = outputProject.getSourceFile(filepath);
65
+ addSerializationFunctions(context, property, sourceFile);
54
66
  }
55
- emitType(context, type, sourceFile);
56
67
  }
57
- // Emit serialization/deserialization functions for flattened properties
58
- for (const [property, _] of flattenPropertyModelMap) {
59
- const namespaces = getModelNamespaces(context, property.type);
60
- const filepath = getModelsPath(sourceRoot, namespaces);
61
- sourceFile = outputProject.getSourceFile(filepath);
62
- addSerializationFunctions(context, property, sourceFile);
68
+ finally {
69
+ flushSourceFileBatch();
63
70
  }
64
71
  const modelFiles = outputProject.getSourceFiles(sourceRoot + "/models/**/*.ts");
65
72
  const result = [];
@@ -148,7 +155,7 @@ function emitType(context, type, sourceFile) {
148
155
  }
149
156
  const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
150
157
  // Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
151
- if (apiVersionEnumOnly && context.rlcOptions?.isMultiService) {
158
+ if (apiVersionEnumOnly && context.emitterOptions?.isMultiService) {
152
159
  return;
153
160
  }
154
161
  const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
@@ -193,7 +200,7 @@ function emitType(context, type, sourceFile) {
193
200
  }
194
201
  export function getApiVersionEnum(context) {
195
202
  // Skip api version enum for multi-service scenarios since each service may have different versions
196
- if (context.rlcOptions?.isMultiService) {
203
+ if (context.emitterOptions?.isMultiService) {
197
204
  return;
198
205
  }
199
206
  const apiVersionEnum = context.sdkPackage.enums.find((e) => e.usage === UsageFlags.ApiVersionEnum);
@@ -221,7 +228,7 @@ export function getModelNamespaces(context, model) {
221
228
  }
222
229
  const segments = model.namespace.split(".");
223
230
  // Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
224
- if (context.rlcOptions?.isMultiService) {
231
+ if (context.emitterOptions?.isMultiService) {
225
232
  return segments;
226
233
  }
227
234
  const allServiceNamespaces = context.allServiceNamespaces ?? listAllServiceNamespaces(context);
@@ -438,7 +445,7 @@ function deduplicateEnumMemberNames(members) {
438
445
  function emitEnumMember(context, member, reportMemberNameDiagnostic = false) {
439
446
  const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
440
447
  const enumTypeName = normalizeName(member.enumType.name, NameType.Interface, true);
441
- let normalizedMemberName = context.rlcOptions?.ignoreEnumMemberNameNormalize
448
+ let normalizedMemberName = context.emitterOptions?.ignoreEnumMemberNameNormalize
442
449
  ? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
443
450
  : normalizeName(member.name, NameType.EnumMemberName, true);
444
451
  // If the member name starts with _ due to a leading digit (not because the original has _),
@@ -555,7 +562,7 @@ function addExtendedDictInfo(context, model, modelInterface) {
555
562
  const additionalPropertiesType = model.additionalProperties
556
563
  ? getTypeExpression(context, model.additionalProperties)
557
564
  : undefined;
558
- if (context.rlcOptions?.compatibilityMode) {
565
+ if (context.emitterOptions?.compatibilityMode) {
559
566
  const ancestors = getAllAncestors(model);
560
567
  const properties = getAllProperties(context, model, ancestors);
561
568
  let anyType;
@@ -637,9 +644,8 @@ export function normalizeModelName(context, type, nameType = NameType.Interface,
637
644
  unionSuffix = "Union";
638
645
  }
639
646
  }
640
- const namespacePrefix = context.rlcOptions?.enableModelNamespace ? segments.join("") : "";
641
- const internalModelPrefix = (isPagedResultModel(context, type) && !pagedModelsUsedInNonPagingOps.has(type)) ||
642
- type.isGeneratedName
647
+ const namespacePrefix = context.emitterOptions?.enableModelNamespace ? segments.join("") : "";
648
+ const internalModelPrefix = (isPagedResultModel(context, type) && !pagedModelsKeptPublic.has(type)) || type.isGeneratedName
643
649
  ? "_"
644
650
  : "";
645
651
  return `${internalModelPrefix}${normalizeName(namespacePrefix + type.name, nameType, true)}${unionSuffix}`;
@@ -671,7 +677,7 @@ function buildModelPolymorphicType(context, type) {
671
677
  }
672
678
  function buildModelProperty(context, property, model) {
673
679
  const normalizedPropName = normalizeModelPropertyName(context, property);
674
- if (!context.rlcOptions?.ignorePropertyNameNormalize &&
680
+ if (!context.emitterOptions?.ignorePropertyNameNormalize &&
675
681
  normalizedPropName !== `"${property.name}"`) {
676
682
  reportDiagnostic(context.program, {
677
683
  code: "property-name-normalized",
@@ -714,7 +720,7 @@ export function visitPackageTypes(context) {
714
720
  const { sdkPackage } = context;
715
721
  emitQueue.clear();
716
722
  flattenPropertyModelMap.clear();
717
- pagedModelsUsedInNonPagingOps.clear();
723
+ pagedModelsKeptPublic.clear();
718
724
  // Add all models in the package to the emit queue
719
725
  for (const model of sdkPackage.models) {
720
726
  visitType(context, model);
@@ -786,7 +792,18 @@ function trackPagedModelInNonPagingMethod(context, method) {
786
792
  return;
787
793
  const respType = method.response.type;
788
794
  if (respType && isPagedResultModel(context, respType)) {
789
- pagedModelsUsedInNonPagingOps.add(respType);
795
+ pagedModelsKeptPublic.add(respType);
796
+ }
797
+ }
798
+ /**
799
+ * If a paged result model is used as a model property type, mark it so that
800
+ * normalizeModelName keeps it public (no "_" prefix).
801
+ */
802
+ function trackPagedModelUsedAsProperty(context, type) {
803
+ // Unwrap array types to check the element type
804
+ const resolved = type.kind === "array" ? type.valueType : type;
805
+ if (resolved && isPagedResultModel(context, resolved)) {
806
+ pagedModelsKeptPublic.add(resolved);
790
807
  }
791
808
  }
792
809
  function visitType(context, type) {
@@ -812,6 +829,10 @@ function visitType(context, type) {
812
829
  if (property.flatten && property.type.kind === "model") {
813
830
  flattenPropertyModelMap.set(property, type);
814
831
  }
832
+ // If a paged result model is used as a model property (not as a paging
833
+ // operation response), it must stay public (no "_" prefix) because users
834
+ // interact with it directly through the property.
835
+ trackPagedModelUsedAsProperty(context, property.type);
815
836
  }
816
837
  if (type.discriminatedSubtypes) {
817
838
  for (const subType of Object.values(type.discriminatedSubtypes)) {
@@ -1 +1 @@
1
- {"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"emit-samples.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-samples.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgC,UAAU,EAAiB,MAAM,UAAU,CAAC;AAQnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAkCpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAchE"}
1
+ {"version":3,"file":"emit-samples.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-samples.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgC,UAAU,EAAiB,MAAM,UAAU,CAAC;AAOnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmCpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAchE"}
@@ -5,9 +5,9 @@ import { useContext } from "../context-manager.js";
5
5
  import { resolveReference } from "../framework/reference.js";
6
6
  import { reportDiagnostic } from "../index.js";
7
7
  import { AzureIdentityDependencies } from "../modular/external-dependencies.js";
8
- import { NameType, normalizeName } from "../rlc-common/index.js";
9
- import { getSubscriptionId } from "../transform/transfrom-rlc-options.js";
8
+ import { getSubscriptionId } from "../transform/transform-client-options.js";
10
9
  import { hasKeyCredential, hasTokenCredential } from "../utils/credential-utils.js";
10
+ import { NameType, normalizeName } from "../utils/name-utils.js";
11
11
  import { getMethodHierarchiesMap, isTenantLevelOperation, } from "../utils/operation-util.js";
12
12
  import { getClientParameterName, getClientParameters, getClientParametersDeclaration, hasDefaultValue, } from "./helpers/client-helpers.js";
13
13
  import { getClassicalClientName } from "./helpers/naming-helpers.js";
@@ -62,9 +62,9 @@ function emitMethodSamples(dpgContext, method, options) {
62
62
  });
63
63
  const exampleFunctions = [];
64
64
  // TODO: remove hard-coded for package
65
- if (dpgContext.rlcOptions?.packageDetails?.name) {
65
+ if (dpgContext.emitterOptions?.packageDetails?.name) {
66
66
  sourceFile.addImportDeclaration({
67
- moduleSpecifier: dpgContext.rlcOptions?.packageDetails?.name,
67
+ moduleSpecifier: dpgContext.emitterOptions?.packageDetails?.name,
68
68
  namedImports: [getClassicalClientName(options.topLevelClient)],
69
69
  });
70
70
  }
@@ -213,11 +213,29 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
213
213
  }
214
214
  let subscriptionIdValue = `"00000000-0000-0000-0000-000000000000"`;
215
215
  let isSubscriptionIdAdded = false;
216
- // required parameters
216
+ // Map each HTTP parameter to its method parameter via `methodParameterSegments`
217
+ // and place its example value at that path, yielding one argument per method
218
+ // parameter regardless of flat, nested, or grouped shape. Client- and
219
+ // body-carried roots are emitted by their own sections and skipped here.
220
+ const bodyParam = method.operation.bodyParam;
221
+ let bodyRootName;
222
+ if (bodyParam &&
223
+ !isSpreadBodyParameter(bodyParam) &&
224
+ bodyParam.methodParameterSegments.length === 1 &&
225
+ bodyParam.methodParameterSegments[0] !== undefined &&
226
+ bodyParam.methodParameterSegments[0].length >= 1) {
227
+ bodyRootName = bodyParam.methodParameterSegments[0][0].name;
228
+ }
229
+ const methodArguments = new Map();
217
230
  for (const param of method.operation.parameters) {
218
- if (param.optional === true || param.type.kind === "constant" || param.clientDefaultValue) {
231
+ if (param.type.kind === "constant" || param.clientDefaultValue) {
232
+ continue;
233
+ }
234
+ const path = param.methodParameterSegments[0];
235
+ if (path === undefined || path.length === 0) {
219
236
  continue;
220
237
  }
238
+ const root = path[0];
221
239
  const exampleValue = parameterMap[param.serializedName];
222
240
  // Handle subscriptionId parameter separately for ARM clients
223
241
  // Add it as long as it's the parameter of the method, even no example provided
@@ -229,19 +247,25 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
229
247
  result.push(prepareExampleValue(dpgContext, param.name, subscriptionIdValue, param.optional, param.onClient));
230
248
  continue;
231
249
  }
250
+ // Roots emitted by the client and body sections.
251
+ if (root.onClient || (bodyRootName !== undefined && root.name === bodyRootName)) {
252
+ continue;
253
+ }
232
254
  if (!exampleValue || !exampleValue.value) {
233
255
  // report diagnostic if required parameter is missing
234
- reportDiagnostic(dpgContext.program, {
235
- code: "required-sample-parameter",
236
- format: {
237
- exampleName: method.oriName ?? method.name,
238
- paramName: param.name,
239
- },
240
- target: NoTarget,
241
- });
256
+ if (path.length === 1 && !param.optional) {
257
+ reportDiagnostic(dpgContext.program, {
258
+ code: "required-sample-parameter",
259
+ format: {
260
+ exampleName: method.oriName ?? method.name,
261
+ paramName: param.name,
262
+ },
263
+ target: NoTarget,
264
+ });
265
+ }
242
266
  continue;
243
267
  }
244
- result.push(prepareExampleValue(dpgContext, exampleValue.parameter.name, exampleValue.value, param.optional, param.onClient));
268
+ placeMethodArgument(methodArguments, path, getParameterValue(dpgContext, exampleValue.value));
245
269
  }
246
270
  // If client-level subscriptionId is needed on the client for this method, then add it
247
271
  // For example, Operations_List
@@ -252,7 +276,6 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
252
276
  result.push(prepareExampleValue(dpgContext, "subscriptionId", subscriptionIdValue, false, true));
253
277
  }
254
278
  // required/optional body parameters
255
- const bodyParam = method.operation.bodyParam;
256
279
  const bodySerializeName = bodyParam?.serializedName;
257
280
  const bodyExample = parameterMap[bodySerializeName ?? ""];
258
281
  if (bodyParam && bodyExample && bodyExample.value) {
@@ -293,15 +316,65 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
293
316
  }
294
317
  }
295
318
  }
296
- // optional parameters
297
- method.operation.parameters
298
- .filter((param) => param.optional === true && parameterMap[param.serializedName] && !param.clientDefaultValue)
299
- .map((param) => parameterMap[param.serializedName])
300
- .forEach((param) => {
301
- result.push(prepareExampleValue(dpgContext, param.parameter.name, param.value, true, param.parameter.onClient));
302
- });
319
+ // Emit one argument per top-level method parameter. A normal parameter carries
320
+ // a scalar value; a parameter with nested leaves carries an object literal.
321
+ for (const arg of methodArguments.values()) {
322
+ result.push({
323
+ name: normalizeName(arg.name, NameType.Parameter, true),
324
+ value: serializeNestedValue(arg.value),
325
+ isOptional: arg.isOptional,
326
+ onClient: false,
327
+ });
328
+ }
303
329
  return result;
304
330
  }
331
+ /**
332
+ * Records `leaf` for the method parameter addressed by `path`. `path[0]` is the
333
+ * top-level method parameter (the argument key); a single-segment path stores a
334
+ * scalar, a longer path stores the leaf inside a nested object merged with
335
+ * sibling leaves sharing the same root.
336
+ */
337
+ function placeMethodArgument(methodArguments, path, leaf) {
338
+ const root = path[0];
339
+ let arg = methodArguments.get(root.name);
340
+ if (!arg) {
341
+ arg = { name: root.name, isOptional: Boolean(root.optional), value: {} };
342
+ methodArguments.set(root.name, arg);
343
+ }
344
+ if (path.length === 1) {
345
+ arg.value = leaf;
346
+ return;
347
+ }
348
+ if (typeof arg.value !== "object") {
349
+ arg.value = {};
350
+ }
351
+ setNestedValue(arg.value, path.slice(1), leaf);
352
+ }
353
+ /** Places `leaf` at `path` (segments after the root), creating intermediate objects as needed. */
354
+ function setNestedValue(root, path, leaf) {
355
+ let node = root;
356
+ for (let i = 0; i < path.length; i++) {
357
+ const key = normalizeName(path[i].name, NameType.Property, true);
358
+ if (i === path.length - 1) {
359
+ node[key] = leaf;
360
+ }
361
+ else {
362
+ const existing = node[key];
363
+ if (typeof existing !== "object" || existing === null) {
364
+ node[key] = {};
365
+ }
366
+ node = node[key];
367
+ }
368
+ }
369
+ }
370
+ /** Serializes a {@link ValueTreeNode} into a TypeScript object literal string. */
371
+ function serializeNestedValue(node) {
372
+ if (typeof node === "string") {
373
+ return node;
374
+ }
375
+ const entries = Object.entries(node).map(([key, value]) => `${key}: ${serializeNestedValue(value)}`);
376
+ return `{ ${entries.join(", ")} }`;
377
+ }
305
378
  function getCredentialExampleValue(_dpgContext, initialization) {
306
379
  const keyCredential = hasKeyCredential(initialization), tokenCredential = hasTokenCredential(initialization);
307
380
  const defaultSetting = {
@@ -353,7 +426,7 @@ function getParameterValue(context, value, options) {
353
426
  retValue = `${JSON.stringify(value.value)}`;
354
427
  break;
355
428
  case "null": {
356
- const ignoreNullableOnOptional = context.rlcOptions?.ignoreNullableOnOptional ?? false;
429
+ const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
357
430
  if (ignoreNullableOnOptional) {
358
431
  // When ignore-nullable-on-optional is true, the TypeScript type won't include
359
432
  // | null for optional properties, so we convert null to a type-appropriate default