@azure-tools/typespec-ts 0.56.0-dev.1 → 0.56.0-dev.11

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 (459) hide show
  1. package/README.md +1 -13
  2. package/dist/src/context-manager.d.ts +19 -2
  3. package/dist/src/context-manager.d.ts.map +1 -1
  4. package/dist/src/context-manager.js +21 -0
  5. package/dist/src/context-manager.js.map +1 -1
  6. package/dist/src/framework/declaration.d.ts.map +1 -1
  7. package/dist/src/framework/declaration.js +6 -20
  8. package/dist/src/framework/declaration.js.map +1 -1
  9. package/dist/src/framework/hooks/sdk-types.d.ts +9 -0
  10. package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -1
  11. package/dist/src/framework/hooks/sdk-types.js +14 -1
  12. package/dist/src/framework/hooks/sdk-types.js.map +1 -1
  13. package/dist/src/framework/source-file-batch.d.ts +35 -0
  14. package/dist/src/framework/source-file-batch.d.ts.map +1 -0
  15. package/dist/src/framework/source-file-batch.js +128 -0
  16. package/dist/src/framework/source-file-batch.js.map +1 -0
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/index.js +73 -62
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/{rlc-common/interfaces.d.ts → interfaces.d.ts} +12 -14
  21. package/dist/src/interfaces.d.ts.map +1 -0
  22. package/dist/src/interfaces.js.map +1 -0
  23. package/dist/src/lib.d.ts +2 -4
  24. package/dist/src/lib.d.ts.map +1 -1
  25. package/dist/src/lib.js +2 -12
  26. package/dist/src/lib.js.map +1 -1
  27. package/dist/src/meta-tree.d.ts +4 -4
  28. package/dist/src/meta-tree.d.ts.map +1 -1
  29. package/dist/src/metadata/build-api-extractor-config.d.ts +6 -0
  30. package/dist/src/metadata/build-api-extractor-config.d.ts.map +1 -0
  31. package/dist/src/metadata/build-api-extractor-config.js.map +1 -0
  32. package/dist/src/metadata/build-changelog-file.d.ts +6 -0
  33. package/dist/src/metadata/build-changelog-file.d.ts.map +1 -0
  34. package/dist/src/metadata/build-changelog-file.js.map +1 -0
  35. package/dist/src/metadata/build-es-lint-config.d.ts +6 -0
  36. package/dist/src/metadata/build-es-lint-config.d.ts.map +1 -0
  37. package/dist/src/metadata/build-es-lint-config.js.map +1 -0
  38. package/dist/src/metadata/build-license-file.d.ts.map +1 -0
  39. package/dist/src/metadata/build-license-file.js.map +1 -0
  40. package/dist/src/{rlc-common/metadata → metadata}/build-package-file.d.ts +3 -3
  41. package/dist/src/metadata/build-package-file.d.ts.map +1 -0
  42. package/dist/src/{rlc-common/metadata → metadata}/build-package-file.js +1 -1
  43. package/dist/src/metadata/build-package-file.js.map +1 -0
  44. package/dist/src/metadata/build-readme-file.d.ts +11 -0
  45. package/dist/src/metadata/build-readme-file.d.ts.map +1 -0
  46. package/dist/src/{rlc-common/metadata → metadata}/build-readme-file.js +16 -69
  47. package/dist/src/metadata/build-readme-file.js.map +1 -0
  48. package/dist/src/metadata/build-sample-env-file.d.ts +6 -0
  49. package/dist/src/metadata/build-sample-env-file.d.ts.map +1 -0
  50. package/dist/src/metadata/build-sample-env-file.js.map +1 -0
  51. package/dist/src/{rlc-common/metadata → metadata}/build-test-config.d.ts +3 -3
  52. package/dist/src/metadata/build-test-config.d.ts.map +1 -0
  53. package/dist/src/metadata/build-test-config.js.map +1 -0
  54. package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.d.ts +3 -3
  55. package/dist/src/metadata/build-ts-config.d.ts.map +1 -0
  56. package/dist/src/metadata/build-ts-config.js.map +1 -0
  57. package/dist/src/metadata/build-vitest-config.d.ts +6 -0
  58. package/dist/src/metadata/build-vitest-config.d.ts.map +1 -0
  59. package/dist/src/metadata/build-vitest-config.js.map +1 -0
  60. package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.d.ts +2 -2
  61. package/dist/src/metadata/build-warp-config.d.ts.map +1 -0
  62. package/dist/src/metadata/build-warp-config.js.map +1 -0
  63. package/dist/src/metadata/package-json/azure-package-common.d.ts.map +1 -0
  64. package/dist/src/metadata/package-json/azure-package-common.js.map +1 -0
  65. package/dist/src/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
  66. package/dist/src/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
  67. package/dist/src/metadata/package-json/package-common.d.ts.map +1 -0
  68. package/dist/src/metadata/package-json/package-common.js.map +1 -0
  69. package/dist/src/metadata/render-template.d.ts +24 -0
  70. package/dist/src/metadata/render-template.d.ts.map +1 -0
  71. package/dist/src/metadata/render-template.js +148 -0
  72. package/dist/src/metadata/render-template.js.map +1 -0
  73. package/dist/src/metadata/test/build-recorded-client.d.ts +6 -0
  74. package/dist/src/metadata/test/build-recorded-client.d.ts.map +1 -0
  75. package/dist/src/metadata/test/build-recorded-client.js +8 -0
  76. package/dist/src/metadata/test/build-recorded-client.js.map +1 -0
  77. package/dist/src/metadata/test/build-sample-test.d.ts +6 -0
  78. package/dist/src/metadata/test/build-sample-test.d.ts.map +1 -0
  79. package/dist/src/metadata/test/build-sample-test.js +8 -0
  80. package/dist/src/metadata/test/build-sample-test.js.map +1 -0
  81. package/dist/src/metadata/test/build-snippets.d.ts +6 -0
  82. package/dist/src/metadata/test/build-snippets.d.ts.map +1 -0
  83. package/dist/src/{rlc-common → metadata}/test/build-snippets.js +3 -5
  84. package/dist/src/metadata/test/build-snippets.js.map +1 -0
  85. package/dist/src/metadata/test/template.d.ts +4 -0
  86. package/dist/src/metadata/test/template.d.ts.map +1 -0
  87. package/dist/src/metadata/test/template.js +100 -0
  88. package/dist/src/metadata/test/template.js.map +1 -0
  89. package/dist/src/metadata/utils.d.ts +3 -0
  90. package/dist/src/metadata/utils.d.ts.map +1 -0
  91. package/dist/src/metadata/utils.js.map +1 -0
  92. package/dist/src/modular/build-classical-client.d.ts.map +1 -1
  93. package/dist/src/modular/build-classical-client.js +9 -9
  94. package/dist/src/modular/build-classical-client.js.map +1 -1
  95. package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -1
  96. package/dist/src/modular/build-classical-operation-groups.js +3 -3
  97. package/dist/src/modular/build-classical-operation-groups.js.map +1 -1
  98. package/dist/src/modular/build-client-context.d.ts.map +1 -1
  99. package/dist/src/modular/build-client-context.js +7 -7
  100. package/dist/src/modular/build-client-context.js.map +1 -1
  101. package/dist/src/modular/build-modular-options.js +3 -3
  102. package/dist/src/modular/build-modular-options.js.map +1 -1
  103. package/dist/src/modular/build-operations.d.ts.map +1 -1
  104. package/dist/src/modular/build-operations.js +6 -6
  105. package/dist/src/modular/build-operations.js.map +1 -1
  106. package/dist/src/modular/build-project-files.d.ts.map +1 -1
  107. package/dist/src/modular/build-project-files.js +4 -4
  108. package/dist/src/modular/build-project-files.js.map +1 -1
  109. package/dist/src/modular/build-restore-poller.d.ts.map +1 -1
  110. package/dist/src/modular/build-restore-poller.js +3 -3
  111. package/dist/src/modular/build-restore-poller.js.map +1 -1
  112. package/dist/src/modular/build-root-index.d.ts.map +1 -1
  113. package/dist/src/modular/build-root-index.js +42 -14
  114. package/dist/src/modular/build-root-index.js.map +1 -1
  115. package/dist/src/modular/build-subpath-index.d.ts.map +1 -1
  116. package/dist/src/modular/build-subpath-index.js +17 -4
  117. package/dist/src/modular/build-subpath-index.js.map +1 -1
  118. package/dist/src/modular/emit-models-options.d.ts.map +1 -1
  119. package/dist/src/modular/emit-models-options.js +3 -3
  120. package/dist/src/modular/emit-models-options.js.map +1 -1
  121. package/dist/src/modular/emit-models.d.ts +1 -1
  122. package/dist/src/modular/emit-models.d.ts.map +1 -1
  123. package/dist/src/modular/emit-models.js +32 -25
  124. package/dist/src/modular/emit-models.js.map +1 -1
  125. package/dist/src/modular/emit-samples.d.ts.map +1 -1
  126. package/dist/src/modular/emit-samples.js +5 -5
  127. package/dist/src/modular/emit-samples.js.map +1 -1
  128. package/dist/src/modular/emit-tests.d.ts.map +1 -1
  129. package/dist/src/modular/emit-tests.js +1 -1
  130. package/dist/src/modular/emit-tests.js.map +1 -1
  131. package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -1
  132. package/dist/src/modular/helpers/classical-operation-helpers.js +11 -11
  133. package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -1
  134. package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -1
  135. package/dist/src/modular/helpers/client-helpers.js +3 -3
  136. package/dist/src/modular/helpers/client-helpers.js.map +1 -1
  137. package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -1
  138. package/dist/src/modular/helpers/example-value-helpers.js +2 -2
  139. package/dist/src/modular/helpers/example-value-helpers.js.map +1 -1
  140. package/dist/src/modular/helpers/naming-helpers.d.ts +1 -1
  141. package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -1
  142. package/dist/src/modular/helpers/naming-helpers.js +2 -2
  143. package/dist/src/modular/helpers/naming-helpers.js.map +1 -1
  144. package/dist/src/modular/helpers/operation-helpers.d.ts +4 -4
  145. package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -1
  146. package/dist/src/modular/helpers/operation-helpers.js +25 -26
  147. package/dist/src/modular/helpers/operation-helpers.js.map +1 -1
  148. package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -1
  149. package/dist/src/modular/helpers/type-helpers.js +1 -1
  150. package/dist/src/modular/helpers/type-helpers.js.map +1 -1
  151. package/dist/src/modular/interfaces.d.ts +4 -4
  152. package/dist/src/modular/interfaces.d.ts.map +1 -1
  153. package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -1
  154. package/dist/src/modular/serialization/build-deserializer-function.js +2 -2
  155. package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -1
  156. package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -1
  157. package/dist/src/modular/serialization/build-serializer-function.js +2 -2
  158. package/dist/src/modular/serialization/build-serializer-function.js.map +1 -1
  159. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -1
  160. package/dist/src/modular/serialization/build-xml-serializer-function.js +1 -1
  161. package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -1
  162. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
  163. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  164. package/dist/src/modular/type-expressions/get-nullable-expression.js +1 -1
  165. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  166. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  167. package/dist/src/modular/type-expressions/get-type-expression.js +3 -3
  168. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  169. package/dist/src/transform/transform-api-version-info.d.ts +1 -1
  170. package/dist/src/transform/transform-api-version-info.d.ts.map +1 -1
  171. package/dist/src/transform/transform-api-version-info.js +4 -3
  172. package/dist/src/transform/transform-api-version-info.js.map +1 -1
  173. package/dist/src/transform/{transfrom-rlc-options.d.ts → transform-client-options.d.ts} +3 -3
  174. package/dist/src/transform/transform-client-options.d.ts.map +1 -0
  175. package/dist/src/transform/{transfrom-rlc-options.js → transform-client-options.js} +9 -13
  176. package/dist/src/transform/transform-client-options.js.map +1 -0
  177. package/dist/src/transform/transform-helper-function-details.d.ts +1 -1
  178. package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -1
  179. package/dist/src/transform/transform-helper-function-details.js +4 -4
  180. package/dist/src/transform/transform-helper-function-details.js.map +1 -1
  181. package/dist/src/transform/transform-parameters.d.ts +1 -1
  182. package/dist/src/transform/transform-parameters.d.ts.map +1 -1
  183. package/dist/src/transform/transform-parameters.js +11 -11
  184. package/dist/src/transform/transform-parameters.js.map +1 -1
  185. package/dist/src/transform/transform-paths.d.ts +1 -1
  186. package/dist/src/transform/transform-paths.d.ts.map +1 -1
  187. package/dist/src/transform/transform-paths.js +5 -4
  188. package/dist/src/transform/transform-paths.js.map +1 -1
  189. package/dist/src/transform/transform-responses.d.ts +1 -1
  190. package/dist/src/transform/transform-responses.d.ts.map +1 -1
  191. package/dist/src/transform/transform-responses.js +19 -18
  192. package/dist/src/transform/transform-responses.js.map +1 -1
  193. package/dist/src/transform/transform-schemas.js +5 -5
  194. package/dist/src/transform/transform-schemas.js.map +1 -1
  195. package/dist/src/transform/transform-telemetry-info.d.ts +1 -1
  196. package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -1
  197. package/dist/src/transform/transform-telemetry-info.js +2 -2
  198. package/dist/src/transform/transform-telemetry-info.js.map +1 -1
  199. package/dist/src/transform/transform.d.ts +2 -2
  200. package/dist/src/transform/transform.d.ts.map +1 -1
  201. package/dist/src/transform/transform.js +9 -10
  202. package/dist/src/transform/transform.js.map +1 -1
  203. package/dist/src/utils/api-version-util.d.ts.map +1 -0
  204. package/dist/src/utils/api-version-util.js.map +1 -0
  205. package/dist/src/utils/client-utils.d.ts +5 -5
  206. package/dist/src/utils/client-utils.d.ts.map +1 -1
  207. package/dist/src/utils/client-utils.js +10 -10
  208. package/dist/src/utils/client-utils.js.map +1 -1
  209. package/dist/src/utils/cross-language-def.d.ts.map +1 -1
  210. package/dist/src/utils/cross-language-def.js +3 -3
  211. package/dist/src/utils/cross-language-def.js.map +1 -1
  212. package/dist/src/utils/emit-util.d.ts +2 -2
  213. package/dist/src/utils/emit-util.d.ts.map +1 -1
  214. package/dist/src/utils/emit-util.js +2 -2
  215. package/dist/src/utils/emit-util.js.map +1 -1
  216. package/dist/src/utils/imports-util.d.ts.map +1 -0
  217. package/dist/src/{rlc-common/helpers → utils}/imports-util.js +6 -6
  218. package/dist/src/utils/imports-util.js.map +1 -0
  219. package/dist/src/utils/interfaces.d.ts +3 -4
  220. package/dist/src/utils/interfaces.d.ts.map +1 -1
  221. package/dist/src/utils/model-utils.d.ts +1 -1
  222. package/dist/src/utils/model-utils.d.ts.map +1 -1
  223. package/dist/src/utils/model-utils.js +4 -2
  224. package/dist/src/utils/model-utils.js.map +1 -1
  225. package/dist/src/{rlc-common/helpers → utils}/name-constructors.d.ts +2 -2
  226. package/dist/src/utils/name-constructors.d.ts.map +1 -0
  227. package/dist/src/utils/name-constructors.js.map +1 -0
  228. package/dist/src/utils/name-utils.d.ts.map +1 -0
  229. package/dist/src/utils/name-utils.js.map +1 -0
  230. package/dist/src/utils/namespace-utils.js +4 -4
  231. package/dist/src/utils/namespace-utils.js.map +1 -1
  232. package/dist/src/utils/operation-helpers.d.ts +16 -0
  233. package/dist/src/utils/operation-helpers.d.ts.map +1 -0
  234. package/dist/src/utils/operation-helpers.js.map +1 -0
  235. package/dist/src/utils/operation-util.d.ts +2 -2
  236. package/dist/src/utils/operation-util.d.ts.map +1 -1
  237. package/dist/src/utils/operation-util.js +17 -18
  238. package/dist/src/utils/operation-util.js.map +1 -1
  239. package/dist/src/utils/parameter-utils.d.ts +1 -1
  240. package/dist/src/utils/parameter-utils.d.ts.map +1 -1
  241. package/dist/src/utils/parameter-utils.js +2 -4
  242. package/dist/src/utils/parameter-utils.js.map +1 -1
  243. package/dist/src/{rlc-common/helpers → utils}/schema-helpers.d.ts +2 -2
  244. package/dist/src/utils/schema-helpers.d.ts.map +1 -0
  245. package/dist/src/utils/schema-helpers.js.map +1 -0
  246. package/dist/src/utils/type-util.d.ts.map +1 -0
  247. package/dist/src/utils/type-util.js.map +1 -0
  248. package/dist/tsconfig.tsbuildinfo +1 -1
  249. package/package.json +14 -24
  250. package/src/context-manager.ts +25 -2
  251. package/src/framework/declaration.ts +8 -20
  252. package/src/framework/hooks/sdk-types.ts +15 -1
  253. package/src/framework/source-file-batch.ts +140 -0
  254. package/src/index.ts +92 -103
  255. package/src/{rlc-common/interfaces.ts → interfaces.ts} +14 -16
  256. package/src/lib.ts +3 -16
  257. package/src/meta-tree.ts +4 -4
  258. package/src/{rlc-common/metadata → metadata}/build-api-extractor-config.ts +2 -2
  259. package/src/{rlc-common/metadata → metadata}/build-changelog-file.ts +3 -3
  260. package/src/{rlc-common/metadata → metadata}/build-es-lint-config.ts +2 -2
  261. package/src/{rlc-common/metadata → metadata}/build-package-file.ts +6 -6
  262. package/src/{rlc-common/metadata → metadata}/build-readme-file.ts +25 -99
  263. package/src/{rlc-common/metadata → metadata}/build-sample-env-file.ts +2 -2
  264. package/src/{rlc-common/metadata → metadata}/build-test-config.ts +4 -4
  265. package/src/{rlc-common/metadata → metadata}/build-ts-config.ts +3 -3
  266. package/src/{rlc-common/metadata → metadata}/build-vitest-config.ts +2 -2
  267. package/src/{rlc-common/metadata → metadata}/build-warp-config.ts +2 -2
  268. package/src/metadata/render-template.ts +202 -0
  269. package/src/metadata/test/build-recorded-client.ts +9 -0
  270. package/src/metadata/test/build-sample-test.ts +9 -0
  271. package/src/{rlc-common → metadata}/test/build-snippets.ts +5 -7
  272. package/src/metadata/test/template.ts +101 -0
  273. package/src/{rlc-common/metadata → metadata}/utils.ts +2 -2
  274. package/src/modular/build-classical-client.ts +9 -9
  275. package/src/modular/build-classical-operation-groups.ts +3 -3
  276. package/src/modular/build-client-context.ts +7 -7
  277. package/src/modular/build-modular-options.ts +3 -3
  278. package/src/modular/build-operations.ts +6 -6
  279. package/src/modular/build-project-files.ts +4 -5
  280. package/src/modular/build-restore-poller.ts +3 -3
  281. package/src/modular/build-root-index.ts +57 -19
  282. package/src/modular/build-subpath-index.ts +26 -5
  283. package/src/modular/emit-models-options.ts +3 -3
  284. package/src/modular/emit-models.ts +32 -26
  285. package/src/modular/emit-samples.ts +5 -5
  286. package/src/modular/emit-tests.ts +1 -1
  287. package/src/modular/helpers/classical-operation-helpers.ts +11 -11
  288. package/src/modular/helpers/client-helpers.ts +3 -3
  289. package/src/modular/helpers/example-value-helpers.ts +2 -2
  290. package/src/modular/helpers/naming-helpers.ts +2 -2
  291. package/src/modular/helpers/operation-helpers.ts +27 -27
  292. package/src/modular/helpers/type-helpers.ts +1 -1
  293. package/src/modular/interfaces.ts +4 -4
  294. package/src/modular/serialization/build-deserializer-function.ts +2 -2
  295. package/src/modular/serialization/build-serializer-function.ts +2 -2
  296. package/src/modular/serialization/build-xml-serializer-function.ts +1 -1
  297. package/src/modular/type-expressions/get-enum-expression.ts +1 -1
  298. package/src/modular/type-expressions/get-nullable-expression.ts +1 -1
  299. package/src/modular/type-expressions/get-type-expression.ts +3 -3
  300. package/src/transform/transform-api-version-info.ts +4 -10
  301. package/src/transform/{transfrom-rlc-options.ts → transform-client-options.ts} +12 -22
  302. package/src/transform/transform-helper-function-details.ts +5 -5
  303. package/src/transform/transform-parameters.ts +12 -12
  304. package/src/transform/transform-paths.ts +5 -12
  305. package/src/transform/transform-responses.ts +19 -19
  306. package/src/transform/transform-schemas.ts +5 -5
  307. package/src/transform/transform-telemetry-info.ts +3 -3
  308. package/src/transform/transform.ts +13 -18
  309. package/src/utils/client-utils.ts +11 -11
  310. package/src/utils/cross-language-def.ts +3 -3
  311. package/src/utils/emit-util.ts +3 -3
  312. package/src/{rlc-common/helpers → utils}/imports-util.ts +6 -6
  313. package/src/utils/interfaces.ts +3 -4
  314. package/src/utils/model-utils.ts +7 -8
  315. package/src/{rlc-common/helpers → utils}/name-constructors.ts +2 -2
  316. package/src/utils/namespace-utils.ts +4 -4
  317. package/src/{rlc-common/helpers → utils}/operation-helpers.ts +12 -12
  318. package/src/utils/operation-util.ts +19 -33
  319. package/src/utils/parameter-utils.ts +2 -4
  320. package/src/{rlc-common/helpers → utils}/schema-helpers.ts +2 -2
  321. package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +0 -1
  322. package/dist/src/rlc-common/helpers/api-version-util.js.map +0 -1
  323. package/dist/src/rlc-common/helpers/imports-util.d.ts.map +0 -1
  324. package/dist/src/rlc-common/helpers/imports-util.js.map +0 -1
  325. package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +0 -1
  326. package/dist/src/rlc-common/helpers/name-constructors.js.map +0 -1
  327. package/dist/src/rlc-common/helpers/name-utils.d.ts.map +0 -1
  328. package/dist/src/rlc-common/helpers/name-utils.js.map +0 -1
  329. package/dist/src/rlc-common/helpers/operation-helpers.d.ts +0 -16
  330. package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +0 -1
  331. package/dist/src/rlc-common/helpers/operation-helpers.js.map +0 -1
  332. package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +0 -1
  333. package/dist/src/rlc-common/helpers/schema-helpers.js.map +0 -1
  334. package/dist/src/rlc-common/helpers/type-util.d.ts.map +0 -1
  335. package/dist/src/rlc-common/helpers/type-util.js.map +0 -1
  336. package/dist/src/rlc-common/index.d.ts +0 -23
  337. package/dist/src/rlc-common/index.d.ts.map +0 -1
  338. package/dist/src/rlc-common/index.js +0 -25
  339. package/dist/src/rlc-common/index.js.map +0 -1
  340. package/dist/src/rlc-common/interfaces.d.ts.map +0 -1
  341. package/dist/src/rlc-common/interfaces.js.map +0 -1
  342. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +0 -6
  343. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +0 -1
  344. package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +0 -1
  345. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +0 -6
  346. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +0 -1
  347. package/dist/src/rlc-common/metadata/build-changelog-file.js.map +0 -1
  348. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +0 -6
  349. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +0 -1
  350. package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +0 -1
  351. package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +0 -1
  352. package/dist/src/rlc-common/metadata/build-license-file.js.map +0 -1
  353. package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +0 -1
  354. package/dist/src/rlc-common/metadata/build-package-file.js.map +0 -1
  355. package/dist/src/rlc-common/metadata/build-readme-file.d.ts +0 -11
  356. package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +0 -1
  357. package/dist/src/rlc-common/metadata/build-readme-file.js.map +0 -1
  358. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +0 -6
  359. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +0 -1
  360. package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +0 -1
  361. package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +0 -1
  362. package/dist/src/rlc-common/metadata/build-test-config.js.map +0 -1
  363. package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +0 -1
  364. package/dist/src/rlc-common/metadata/build-ts-config.js.map +0 -1
  365. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +0 -6
  366. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +0 -1
  367. package/dist/src/rlc-common/metadata/build-vitest-config.js.map +0 -1
  368. package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +0 -1
  369. package/dist/src/rlc-common/metadata/build-warp-config.js.map +0 -1
  370. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +0 -1
  371. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +0 -1
  372. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +0 -1
  373. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +0 -1
  374. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +0 -1
  375. package/dist/src/rlc-common/metadata/package-json/package-common.js.map +0 -1
  376. package/dist/src/rlc-common/metadata/utils.d.ts +0 -3
  377. package/dist/src/rlc-common/metadata/utils.d.ts.map +0 -1
  378. package/dist/src/rlc-common/metadata/utils.js.map +0 -1
  379. package/dist/src/rlc-common/static/paginate-content.d.ts +0 -2
  380. package/dist/src/rlc-common/static/paginate-content.d.ts.map +0 -1
  381. package/dist/src/rlc-common/static/paginate-content.js +0 -345
  382. package/dist/src/rlc-common/static/paginate-content.js.map +0 -1
  383. package/dist/src/rlc-common/static/polling-content.d.ts +0 -2
  384. package/dist/src/rlc-common/static/polling-content.d.ts.map +0 -1
  385. package/dist/src/rlc-common/static/polling-content.js +0 -225
  386. package/dist/src/rlc-common/static/polling-content.js.map +0 -1
  387. package/dist/src/rlc-common/static/sample-template.d.ts +0 -2
  388. package/dist/src/rlc-common/static/sample-template.d.ts.map +0 -1
  389. package/dist/src/rlc-common/static/sample-template.js +0 -56
  390. package/dist/src/rlc-common/static/sample-template.js.map +0 -1
  391. package/dist/src/rlc-common/static/serialize-helper.d.ts +0 -6
  392. package/dist/src/rlc-common/static/serialize-helper.d.ts.map +0 -1
  393. package/dist/src/rlc-common/static/serialize-helper.js +0 -31
  394. package/dist/src/rlc-common/static/serialize-helper.js.map +0 -1
  395. package/dist/src/rlc-common/test/build-karma-config.d.ts +0 -6
  396. package/dist/src/rlc-common/test/build-karma-config.d.ts.map +0 -1
  397. package/dist/src/rlc-common/test/build-karma-config.js +0 -11
  398. package/dist/src/rlc-common/test/build-karma-config.js.map +0 -1
  399. package/dist/src/rlc-common/test/build-recorded-client.d.ts +0 -6
  400. package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +0 -1
  401. package/dist/src/rlc-common/test/build-recorded-client.js +0 -14
  402. package/dist/src/rlc-common/test/build-recorded-client.js.map +0 -1
  403. package/dist/src/rlc-common/test/build-sample-test.d.ts +0 -6
  404. package/dist/src/rlc-common/test/build-sample-test.d.ts.map +0 -1
  405. package/dist/src/rlc-common/test/build-sample-test.js +0 -11
  406. package/dist/src/rlc-common/test/build-sample-test.js.map +0 -1
  407. package/dist/src/rlc-common/test/build-snippets.d.ts +0 -6
  408. package/dist/src/rlc-common/test/build-snippets.d.ts.map +0 -1
  409. package/dist/src/rlc-common/test/build-snippets.js.map +0 -1
  410. package/dist/src/rlc-common/test/template.d.ts +0 -5
  411. package/dist/src/rlc-common/test/template.d.ts.map +0 -1
  412. package/dist/src/rlc-common/test/template.js +0 -227
  413. package/dist/src/rlc-common/test/template.js.map +0 -1
  414. package/dist/src/transform/transfrom-rlc-options.d.ts.map +0 -1
  415. package/dist/src/transform/transfrom-rlc-options.js.map +0 -1
  416. package/src/rlc-common/index.ts +0 -25
  417. package/src/rlc-common/static/paginate-content.ts +0 -345
  418. package/src/rlc-common/static/polling-content.ts +0 -225
  419. package/src/rlc-common/static/sample-template.ts +0 -56
  420. package/src/rlc-common/static/serialize-helper.ts +0 -34
  421. package/src/rlc-common/test/build-karma-config.ts +0 -12
  422. package/src/rlc-common/test/build-recorded-client.ts +0 -15
  423. package/src/rlc-common/test/build-sample-test.ts +0 -12
  424. package/src/rlc-common/test/template.ts +0 -229
  425. /package/dist/src/{rlc-common/interfaces.js → interfaces.js} +0 -0
  426. /package/dist/src/{rlc-common/metadata → metadata}/build-api-extractor-config.js +0 -0
  427. /package/dist/src/{rlc-common/metadata → metadata}/build-changelog-file.js +0 -0
  428. /package/dist/src/{rlc-common/metadata → metadata}/build-es-lint-config.js +0 -0
  429. /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.d.ts +0 -0
  430. /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.js +0 -0
  431. /package/dist/src/{rlc-common/metadata → metadata}/build-sample-env-file.js +0 -0
  432. /package/dist/src/{rlc-common/metadata → metadata}/build-test-config.js +0 -0
  433. /package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.js +0 -0
  434. /package/dist/src/{rlc-common/metadata → metadata}/build-vitest-config.js +0 -0
  435. /package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.js +0 -0
  436. /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.d.ts +0 -0
  437. /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.js +0 -0
  438. /package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.d.ts +0 -0
  439. /package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.js +0 -0
  440. /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.d.ts +0 -0
  441. /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.js +0 -0
  442. /package/dist/src/{rlc-common/metadata → metadata}/utils.js +0 -0
  443. /package/dist/src/{rlc-common/helpers → utils}/api-version-util.d.ts +0 -0
  444. /package/dist/src/{rlc-common/helpers → utils}/api-version-util.js +0 -0
  445. /package/dist/src/{rlc-common/helpers → utils}/imports-util.d.ts +0 -0
  446. /package/dist/src/{rlc-common/helpers → utils}/name-constructors.js +0 -0
  447. /package/dist/src/{rlc-common/helpers → utils}/name-utils.d.ts +0 -0
  448. /package/dist/src/{rlc-common/helpers → utils}/name-utils.js +0 -0
  449. /package/dist/src/{rlc-common/helpers → utils}/operation-helpers.js +0 -0
  450. /package/dist/src/{rlc-common/helpers → utils}/schema-helpers.js +0 -0
  451. /package/dist/src/{rlc-common/helpers → utils}/type-util.d.ts +0 -0
  452. /package/dist/src/{rlc-common/helpers → utils}/type-util.js +0 -0
  453. /package/src/{rlc-common/metadata → metadata}/build-license-file.ts +0 -0
  454. /package/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.ts +0 -0
  455. /package/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.ts +0 -0
  456. /package/src/{rlc-common/metadata → metadata}/package-json/package-common.ts +0 -0
  457. /package/src/{rlc-common/helpers → utils}/api-version-util.ts +0 -0
  458. /package/src/{rlc-common/helpers → utils}/name-utils.ts +0 -0
  459. /package/src/{rlc-common/helpers → utils}/type-util.ts +0 -0
@@ -28,7 +28,6 @@ import {
28
28
  StructureKind,
29
29
  TypeAliasDeclarationStructure,
30
30
  } from "ts-morph";
31
- import { fixLeadingNumber, NameType, normalizeName } from "../rlc-common/index.js";
32
31
  // import { isKey } from "@typespec/compiler";
33
32
  import {
34
33
  getExternalModel,
@@ -47,10 +46,12 @@ import {
47
46
  pagedModelsKeptPublic,
48
47
  } from "../framework/hooks/sdk-types.js";
49
48
  import { refkey } from "../framework/refkey.js";
49
+ import { beginSourceFileBatch, flushSourceFileBatch } from "../framework/source-file-batch.js";
50
50
  import { reportDiagnostic } from "../lib.js";
51
51
  import { getClientHierarchyMap } from "../utils/client-utils.js";
52
52
  import { SdkContext } from "../utils/interfaces.js";
53
53
  import { isAzureCoreErrorType } from "../utils/model-utils.js";
54
+ import { fixLeadingNumber, NameType, normalizeName } from "../utils/name-utils.js";
54
55
  import { getMethodHierarchiesMap } from "../utils/operation-util.js";
55
56
  import { getHeaderClientOptions } from "./helpers/client-option-helpers.js";
56
57
  import {
@@ -117,32 +118,37 @@ export function emitTypes(context: SdkContext, { sourceRoot }: { sourceRoot: str
117
118
 
118
119
  let sourceFile;
119
120
 
120
- for (const type of emitQueue) {
121
- if (!isGenerableType(type)) {
122
- continue;
123
- }
121
+ beginSourceFileBatch();
122
+ try {
123
+ for (const type of emitQueue) {
124
+ if (!isGenerableType(type)) {
125
+ continue;
126
+ }
124
127
 
125
- const namespaces = getModelNamespaces(context, type);
126
- const filepath = getModelsPath(sourceRoot, namespaces);
127
- sourceFile = outputProject.getSourceFile(filepath);
128
- if (!sourceFile) {
129
- sourceFile = outputProject.createSourceFile(filepath);
130
- sourceFile.addStatements(`/**
128
+ const namespaces = getModelNamespaces(context, type);
129
+ const filepath = getModelsPath(sourceRoot, namespaces);
130
+ sourceFile = outputProject.getSourceFile(filepath);
131
+ if (!sourceFile) {
132
+ sourceFile = outputProject.createSourceFile(filepath);
133
+ sourceFile.addStatements(`/*
131
134
  * This file contains only generated model types and their (de)serializers.
132
135
  * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
133
136
  */
134
137
  /* eslint-disable @typescript-eslint/naming-convention */
135
138
  /* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
139
+ }
140
+ emitType(context, type, sourceFile);
136
141
  }
137
- emitType(context, type, sourceFile);
138
- }
139
142
 
140
- // Emit serialization/deserialization functions for flattened properties
141
- for (const [property, _] of flattenPropertyModelMap) {
142
- const namespaces = getModelNamespaces(context, property.type);
143
- const filepath = getModelsPath(sourceRoot, namespaces);
144
- sourceFile = outputProject.getSourceFile(filepath);
145
- addSerializationFunctions(context, property, sourceFile!);
143
+ // Emit serialization/deserialization functions for flattened properties
144
+ for (const [property, _] of flattenPropertyModelMap) {
145
+ const namespaces = getModelNamespaces(context, property.type);
146
+ const filepath = getModelsPath(sourceRoot, namespaces);
147
+ sourceFile = outputProject.getSourceFile(filepath);
148
+ addSerializationFunctions(context, property, sourceFile!);
149
+ }
150
+ } finally {
151
+ flushSourceFileBatch();
146
152
  }
147
153
 
148
154
  const modelFiles = outputProject.getSourceFiles(sourceRoot + "/models/**/*.ts");
@@ -245,7 +251,7 @@ function emitType(context: SdkContext, type: SdkType, sourceFile: SourceFile) {
245
251
  }
246
252
  const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
247
253
  // Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
248
- if (apiVersionEnumOnly && context.rlcOptions?.isMultiService) {
254
+ if (apiVersionEnumOnly && context.emitterOptions?.isMultiService) {
249
255
  return;
250
256
  }
251
257
  const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
@@ -290,7 +296,7 @@ function emitType(context: SdkContext, type: SdkType, sourceFile: SourceFile) {
290
296
 
291
297
  export function getApiVersionEnum(context: SdkContext) {
292
298
  // Skip api version enum for multi-service scenarios since each service may have different versions
293
- if (context.rlcOptions?.isMultiService) {
299
+ if (context.emitterOptions?.isMultiService) {
294
300
  return;
295
301
  }
296
302
  const apiVersionEnum = context.sdkPackage.enums.find(
@@ -325,7 +331,7 @@ export function getModelNamespaces(context: SdkContext, model: SdkType): string[
325
331
  }
326
332
  const segments = model.namespace.split(".");
327
333
  // Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
328
- if (context.rlcOptions?.isMultiService) {
334
+ if (context.emitterOptions?.isMultiService) {
329
335
  return segments;
330
336
  }
331
337
 
@@ -603,7 +609,7 @@ function emitEnumMember(
603
609
  ): EnumMemberStructure {
604
610
  const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
605
611
  const enumTypeName = normalizeName(member.enumType.name, NameType.Interface, true);
606
- let normalizedMemberName = context.rlcOptions?.ignoreEnumMemberNameNormalize
612
+ let normalizedMemberName = context.emitterOptions?.ignoreEnumMemberNameNormalize
607
613
  ? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
608
614
  : normalizeName(member.name, NameType.EnumMemberName, true);
609
615
  // If the member name starts with _ due to a leading digit (not because the original has _),
@@ -744,7 +750,7 @@ function addExtendedDictInfo(
744
750
  const additionalPropertiesType = model.additionalProperties
745
751
  ? getTypeExpression(context, model.additionalProperties)
746
752
  : undefined;
747
- if (context.rlcOptions?.compatibilityMode) {
753
+ if (context.emitterOptions?.compatibilityMode) {
748
754
  const ancestors = getAllAncestors(model);
749
755
  const properties = getAllProperties(context, model, ancestors);
750
756
  let anyType: boolean;
@@ -839,7 +845,7 @@ export function normalizeModelName(
839
845
  unionSuffix = "Union";
840
846
  }
841
847
  }
842
- const namespacePrefix = context.rlcOptions?.enableModelNamespace ? segments.join("") : "";
848
+ const namespacePrefix = context.emitterOptions?.enableModelNamespace ? segments.join("") : "";
843
849
  const internalModelPrefix =
844
850
  (isPagedResultModel(context, type) && !pagedModelsKeptPublic.has(type)) || type.isGeneratedName
845
851
  ? "_"
@@ -883,7 +889,7 @@ function buildModelProperty(
883
889
  ): PropertySignatureStructure {
884
890
  const normalizedPropName = normalizeModelPropertyName(context, property);
885
891
  if (
886
- !context.rlcOptions?.ignorePropertyNameNormalize &&
892
+ !context.emitterOptions?.ignorePropertyNameNormalize &&
887
893
  normalizedPropName !== `"${property.name}"`
888
894
  ) {
889
895
  reportDiagnostic(context.program, {
@@ -14,10 +14,10 @@ import { useContext } from "../context-manager.js";
14
14
  import { resolveReference } from "../framework/reference.js";
15
15
  import { reportDiagnostic } from "../index.js";
16
16
  import { AzureIdentityDependencies } from "../modular/external-dependencies.js";
17
- import { NameType, normalizeName } from "../rlc-common/index.js";
18
- import { getSubscriptionId } from "../transform/transfrom-rlc-options.js";
17
+ import { getSubscriptionId } from "../transform/transform-client-options.js";
19
18
  import { hasKeyCredential, hasTokenCredential } from "../utils/credential-utils.js";
20
19
  import { SdkContext } from "../utils/interfaces.js";
20
+ import { NameType, normalizeName } from "../utils/name-utils.js";
21
21
  import {
22
22
  getMethodHierarchiesMap,
23
23
  isTenantLevelOperation,
@@ -115,9 +115,9 @@ function emitMethodSamples(
115
115
  });
116
116
  const exampleFunctions = [];
117
117
  // TODO: remove hard-coded for package
118
- if (dpgContext.rlcOptions?.packageDetails?.name) {
118
+ if (dpgContext.emitterOptions?.packageDetails?.name) {
119
119
  sourceFile.addImportDeclaration({
120
- moduleSpecifier: dpgContext.rlcOptions?.packageDetails?.name,
120
+ moduleSpecifier: dpgContext.emitterOptions?.packageDetails?.name,
121
121
  namedImports: [getClassicalClientName(options.topLevelClient)],
122
122
  });
123
123
  }
@@ -606,7 +606,7 @@ function getParameterValue(
606
606
  retValue = `${JSON.stringify(value.value)}`;
607
607
  break;
608
608
  case "null": {
609
- const ignoreNullableOnOptional = context.rlcOptions?.ignoreNullableOnOptional ?? false;
609
+ const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
610
610
  if (ignoreNullableOnOptional) {
611
611
  // When ignore-nullable-on-optional is true, the TypeScript type won't include
612
612
  // | null for optional properties, so we convert null to a type-appropriate default
@@ -1,8 +1,8 @@
1
1
  import { type CompilerHost, joinPaths } from "@typespec/compiler";
2
2
  import { SourceFile } from "ts-morph";
3
3
  import { resolveReference } from "../framework/reference.js";
4
- import { NameType, normalizeName } from "../rlc-common/index.js";
5
4
  import { SdkContext } from "../utils/interfaces.js";
5
+ import { NameType, normalizeName } from "../utils/name-utils.js";
6
6
  import { ServiceOperation } from "../utils/operation-util.js";
7
7
  import { AzureTestDependencies } from "./external-dependencies.js";
8
8
  import {
@@ -10,9 +10,9 @@ import {
10
10
  import { addDeclaration } from "../../framework/declaration.js";
11
11
  import { resolveReference } from "../../framework/reference.js";
12
12
  import { refkey } from "../../framework/refkey.js";
13
- import { NameType, normalizeName } from "../../rlc-common/index.js";
14
- import { getModularClientOptions } from "../../utils/client-utils.js";
13
+ import { getClientModuleInfo } from "../../utils/client-utils.js";
15
14
  import { SdkContext } from "../../utils/interfaces.js";
15
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
16
16
  import { ServiceOperation } from "../../utils/operation-util.js";
17
17
  import { AzurePollingDependencies } from "../external-dependencies.js";
18
18
  import { PagingHelpers, SimplePollerHelpers } from "../static-helpers-metadata.js";
@@ -55,18 +55,18 @@ export function getClassicalOperation(
55
55
  ) {
56
56
  const prefixes = operationGroup[0];
57
57
  const operations = operationGroup[1];
58
- const { rlcClientName } = getModularClientOptions(clientMap);
58
+ const { clientName } = getClientModuleInfo(clientMap);
59
59
  const hasClientContextImport = classicFile.getImportDeclarations().filter((i) => {
60
60
  return (
61
61
  i.getModuleSpecifierValue() ===
62
- `${"../".repeat(layer + 2)}api/${normalizeName(rlcClientName, NameType.File)}.js`
62
+ `${"../".repeat(layer + 2)}api/${normalizeName(clientName, NameType.File)}.js`
63
63
  );
64
64
  });
65
65
  if (!hasClientContextImport || hasClientContextImport.length === 0) {
66
66
  classicFile.addImportDeclaration({
67
- namedImports: [rlcClientName],
67
+ namedImports: [clientName],
68
68
  moduleSpecifier: `${"../".repeat(layer + 2)}api/${normalizeName(
69
- rlcClientName,
69
+ clientName,
70
70
  NameType.File,
71
71
  )}.js`,
72
72
  });
@@ -78,7 +78,7 @@ export function getClassicalOperation(
78
78
  >();
79
79
  const operationDeclarations: OptionalKind<FunctionDeclarationStructure>[] = operations.map(
80
80
  (operation) => {
81
- const declaration = getOperationFunction(dpgContext, [prefixes, operation], rlcClientName);
81
+ const declaration = getOperationFunction(dpgContext, [prefixes, operation], clientName);
82
82
  operationDeclarationMap.set(declaration, {
83
83
  declaration,
84
84
  oriName: operation.oriName,
@@ -141,7 +141,7 @@ export function getClassicalOperation(
141
141
  });
142
142
  // add LRO helper methods if applicable
143
143
  if (
144
- dpgContext.rlcOptions?.compatibilityLro &&
144
+ dpgContext.emitterOptions?.compatibilityLro &&
145
145
  (operationInfo?.isLro || operationInfo?.isLroPaging)
146
146
  ) {
147
147
  const operationStateReference = resolveReference(AzurePollingDependencies.OperationState);
@@ -207,7 +207,7 @@ export function getClassicalOperation(
207
207
  parameters: [
208
208
  {
209
209
  name: "context",
210
- type: rlcClientName,
210
+ type: clientName,
211
211
  },
212
212
  ],
213
213
  statements: `return {
@@ -237,7 +237,7 @@ export function getClassicalOperation(
237
237
  ];
238
238
  // add LRO helper methods if applicable
239
239
  if (
240
- dpgContext.rlcOptions?.compatibilityLro &&
240
+ dpgContext.emitterOptions?.compatibilityLro &&
241
241
  (operationInfo?.isLro || operationInfo?.isLroPaging)
242
242
  ) {
243
243
  const getSimplePollerReference = resolveReference(
@@ -336,7 +336,7 @@ export function getClassicalOperation(
336
336
  parameters: [
337
337
  {
338
338
  name: "context",
339
- type: rlcClientName,
339
+ type: clientName,
340
340
  },
341
341
  ],
342
342
  returnType: resolveReference(refkey(interfaceName, layer, "classicOperations")),
@@ -10,8 +10,8 @@ import { OptionalKind, ParameterDeclarationStructure, StatementedNode } from "ts
10
10
  import { ModularEmitterOptions } from "../interfaces.js";
11
11
 
12
12
  import { resolveReference } from "../../framework/reference.js";
13
- import { NameType, normalizeName } from "../../rlc-common/index.js";
14
13
  import { SdkContext } from "../../utils/interfaces.js";
14
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
15
15
  import { CloudSettingHelpers } from "../static-helpers-metadata.js";
16
16
  import { getTypeExpression } from "../type-expressions/get-type-expression.js";
17
17
  import { getClassicalClientName } from "./naming-helpers.js";
@@ -87,10 +87,10 @@ export function getClientParameters(
87
87
  const armSpecific = (p: SdkParameter) => !(p.kind === "endpoint" && dpgContext.arm);
88
88
  // Skip apiVersion parameter when it's multi-service (each service has its own default apiVersion)
89
89
  const skipApiVersionOnMultiService = (p: SdkParameter) =>
90
- !(dpgContext.rlcOptions?.isMultiService && p.isApiVersionParam);
90
+ !(dpgContext.emitterOptions?.isMultiService && p.isApiVersionParam);
91
91
  const filters = [
92
92
  options.requiredOnly ? isRequired : undefined,
93
- dpgContext.rlcOptions?.addCredentials === false ? skipCredentials : undefined,
93
+ dpgContext.emitterOptions?.addCredentials === false ? skipCredentials : undefined,
94
94
  options.optionalOnly ? isOptional : undefined,
95
95
  options.onClientOnly ? skipMethodParam : undefined,
96
96
  options.skipArmSpecific ? undefined : armSpecific,
@@ -12,10 +12,10 @@ import { joinPaths } from "@typespec/compiler";
12
12
  import { SourceFile } from "ts-morph";
13
13
  import { useContext } from "../../context-manager.js";
14
14
  import { resolveReference } from "../../framework/reference.js";
15
- import { NameType, normalizeName } from "../../rlc-common/index.js";
16
- import { getSubscriptionId } from "../../transform/transfrom-rlc-options.js";
15
+ import { getSubscriptionId } from "../../transform/transform-client-options.js";
17
16
  import { hasKeyCredential, hasTokenCredential } from "../../utils/credential-utils.js";
18
17
  import { SdkContext } from "../../utils/interfaces.js";
18
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
19
19
  import { getMethodHierarchiesMap, ServiceOperation } from "../../utils/operation-util.js";
20
20
  import { AzureIdentityDependencies, AzureTestDependencies } from "../external-dependencies.js";
21
21
  import { getClientParametersDeclaration } from "./client-helpers.js";
@@ -1,6 +1,6 @@
1
1
  import { SdkClientType, SdkServiceOperation } from "@azure-tools/typespec-client-generator-core";
2
- import { NameType, normalizeName, ReservedModelNames } from "../../rlc-common/index.js";
3
2
  import { SdkContext } from "../../utils/interfaces.js";
3
+ import { NameType, normalizeName, ReservedModelNames } from "../../utils/name-utils.js";
4
4
  import { ServiceOperation } from "../../utils/operation-util.js";
5
5
 
6
6
  export function getClientName(client: SdkClientType<SdkServiceOperation>): string {
@@ -21,7 +21,7 @@ export function getOperationName(
21
21
  dpgContext?: SdkContext,
22
22
  ): GuardedName {
23
23
  const norm = normalizeName(operation.name, NameType.Method, true);
24
- const isDataplane = dpgContext !== undefined && !dpgContext.rlcOptions?.azureArm;
24
+ const isDataplane = dpgContext !== undefined && !dpgContext.emitterOptions?.azureArm;
25
25
  if (isReservedName(operation.name, NameType.Method) && isDataplane) {
26
26
  return {
27
27
  name: norm,
@@ -33,9 +33,9 @@ import { useDependencies } from "../../framework/hooks/use-dependencies.js";
33
33
  import { resolveReference } from "../../framework/reference.js";
34
34
  import { refkey } from "../../framework/refkey.js";
35
35
  import { reportDiagnostic } from "../../lib.js";
36
- import { NameType, normalizeName } from "../../rlc-common/index.js";
37
36
  import { SdkContext } from "../../utils/interfaces.js";
38
37
  import { isAzureCoreErrorType } from "../../utils/model-utils.js";
38
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
39
39
  import {
40
40
  getCollectionFormatFromArrayEncoding,
41
41
  getCollectionFormatHelper,
@@ -213,11 +213,11 @@ export function getDeserializePrivateFunction(
213
213
  };
214
214
  } else if (response.type) {
215
215
  // When response.optional is true, some HTTP responses have no body (e.g. 204), so
216
- // the return type must include undefined to reflect that possibility.
216
+ // the return type must include void to reflect that possibility.
217
217
  const baseType = getTypeExpression(context, response.type);
218
218
  returnType = {
219
219
  name: (response as any).name ?? "",
220
- type: response.optional ? `${baseType} | undefined` : baseType,
220
+ type: response.optional ? `${baseType} | void` : baseType,
221
221
  };
222
222
  } else if (isHeadAsBooleanOperation(operation)) {
223
223
  returnType = { name: "", type: "boolean" };
@@ -405,15 +405,15 @@ export function getDeserializePrivateFunction(
405
405
  }
406
406
  if (deserializeFunctionName) {
407
407
  if (needsBodyGuard) {
408
- // Use ternary form: return result.body ? deserializer(result.body) : undefined
409
408
  statements.push(
410
- `return ${deserializedRoot} ? ${deserializeFunctionName}(${deserializedRoot})${multipartCastSuffix} : undefined`,
411
- );
412
- } else {
413
- statements.push(
414
- `return ${deserializeFunctionName}(${deserializedRoot})${multipartCastSuffix}`,
409
+ `if (!${deserializedRoot}) {
410
+ return;
411
+ }`,
415
412
  );
416
413
  }
414
+ statements.push(
415
+ `return ${deserializeFunctionName}(${deserializedRoot})${multipartCastSuffix}`,
416
+ );
417
417
  } else if (isAzureCoreErrorType(context.program, deserializedType.__raw)) {
418
418
  statements.push(`return ${deserializedRoot}${multipartCastSuffix}`);
419
419
  } else if (isHeadAsBooleanOperation(operation)) {
@@ -464,8 +464,8 @@ export function getDeserializeHeadersPrivateFunction(
464
464
  operation: ServiceOperation,
465
465
  ): OptionalKind<FunctionDeclarationStructure> | undefined {
466
466
  const responseHeaders = getResponseHeaders(operation.operation.responses);
467
- const isResponseHeadersEnabled = context.rlcOptions?.includeHeadersInResponse === true;
468
- const isStorageCompatEnabled = context.rlcOptions?.enableStorageCompat === true;
467
+ const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
468
+ const isStorageCompatEnabled = context.emitterOptions?.enableStorageCompat === true;
469
469
 
470
470
  // Only generate if headers exist and a relevant feature is enabled
471
471
  if (responseHeaders.length === 0 || (!isResponseHeadersEnabled && !isStorageCompatEnabled)) {
@@ -617,7 +617,7 @@ export function getDeserializeExceptionHeadersPrivateFunction(
617
617
  context: SdkContext,
618
618
  operation: ServiceOperation,
619
619
  ): OptionalKind<FunctionDeclarationStructure> | undefined {
620
- const isResponseHeadersEnabled = context.rlcOptions?.includeHeadersInResponse === true;
620
+ const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
621
621
  if (!isResponseHeadersEnabled) {
622
622
  return undefined;
623
623
  }
@@ -673,7 +673,7 @@ function getExceptionThrowStatement(context: SdkContext, operation: ServiceOpera
673
673
  const { customized, defaultDeserializer, defaultXmlDeserializer, defaultIsXmlOnly } =
674
674
  getExceptionDetails(context, operation);
675
675
 
676
- const isResponseHeadersEnabled = context.rlcOptions?.includeHeadersInResponse === true;
676
+ const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
677
677
 
678
678
  // Check if exception headers function exists and build the call
679
679
  const exceptionHeaders = getExceptionResponseHeaders(operation.operation.exceptions);
@@ -916,8 +916,8 @@ export function getOperationFunction(
916
916
  const response = operation.response;
917
917
  const responseHeaders = getResponseHeaders(operation.operation.responses);
918
918
  const hasHeaderOnlyResponse = !response.type && responseHeaders.length > 0;
919
- const isResponseHeadersEnabled = context.rlcOptions?.includeHeadersInResponse === true;
920
- const isStorageCompatEnabled = context.rlcOptions?.enableStorageCompat === true;
919
+ const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
920
+ const isStorageCompatEnabled = context.emitterOptions?.enableStorageCompat === true;
921
921
 
922
922
  // Track the raw body type separately for storage-compat (before header merging)
923
923
  const hasResponseBody = !!response.type;
@@ -949,13 +949,13 @@ export function getOperationFunction(
949
949
  const baseCompositeType = buildCompositeResponseType(context, type, responseHeaders);
950
950
  returnType = {
951
951
  name: (type as any).name ?? "",
952
- type: response.optional ? `${baseCompositeType} | undefined` : baseCompositeType,
952
+ type: response.optional ? `${baseCompositeType} | void` : baseCompositeType,
953
953
  };
954
954
  } else {
955
955
  const baseType = getTypeExpression(context, type!);
956
956
  returnType = {
957
957
  name: (type as any).name ?? "",
958
- type: response.optional ? `${baseType} | undefined` : baseType,
958
+ type: response.optional ? `${baseType} | void` : baseType,
959
959
  };
960
960
  }
961
961
  } else if (hasHeaderOnlyResponse && isResponseHeadersEnabled) {
@@ -1404,7 +1404,7 @@ export function getOperationOptionsName(
1404
1404
 
1405
1405
  /**
1406
1406
  * This function build the request parameters that we will provide to the
1407
- * RLC internally. This will translate High Level parameters into the RLC ones.
1407
+ * REST-level request internally. This will translate high-level parameters into the REST-level ones.
1408
1408
  * Figuring out what goes in headers, body, path and qsp.
1409
1409
  */
1410
1410
  function getHeaderAndBodyParameters(
@@ -1632,7 +1632,7 @@ export function getParameterMap(
1632
1632
  // Special case for api-version parameters with default values
1633
1633
  if (param.isApiVersionParam && param.clientDefaultValue) {
1634
1634
  // For multi-service, use only the default value (don't reference context.apiVersion)
1635
- if (context.rlcOptions?.isMultiService) {
1635
+ if (context.emitterOptions?.isMultiService) {
1636
1636
  return `"${serializedName}": "${param.clientDefaultValue}"`;
1637
1637
  }
1638
1638
  return `"${serializedName}": ${param.onClient ? "context." : ""}${param.name} ?? "${param.clientDefaultValue}"`;
@@ -2141,8 +2141,8 @@ export function getRequestModelProperties(
2141
2141
 
2142
2142
  /**
2143
2143
  *
2144
- * This function helps translating an HLC request to RLC request,
2145
- * extracting properties from body and headers and building the RLC response object
2144
+ * This function helps translating a high-level request to a REST-level request,
2145
+ * extracting properties from body and headers and building the REST-level request object
2146
2146
  */
2147
2147
  export function getRequestModelMapping(
2148
2148
  context: SdkContext,
@@ -2177,8 +2177,8 @@ function getHeaderSerializedName(param: SdkHttpParameter) {
2177
2177
  }
2178
2178
 
2179
2179
  /**
2180
- * This function helps translating an RLC response to an HLC response,
2181
- * extracting properties from body and headers and building the HLC response object
2180
+ * This function helps translating a REST-level response to a high-level response,
2181
+ * extracting properties from body and headers and building the high-level response object
2182
2182
  */
2183
2183
  export function getResponseMapping(
2184
2184
  context: SdkContext,
@@ -2324,7 +2324,7 @@ export function serializeRequestValue(
2324
2324
  } else if (
2325
2325
  isSpecialHandledUnion({
2326
2326
  ...type,
2327
- isNonExhaustive: context.rlcOptions?.experimentalExtensibleEnums ?? false,
2327
+ isNonExhaustive: context.emitterOptions?.experimentalExtensibleEnums ?? false,
2328
2328
  })
2329
2329
  ) {
2330
2330
  const sdkType = getSdkType(type.__raw!);
@@ -2750,7 +2750,7 @@ function getApiVersionExpression(
2750
2750
  return undefined;
2751
2751
  }
2752
2752
  // For multi-service, use only the default value (don't reference context.apiVersion)
2753
- if (dpgContext.rlcOptions?.isMultiService) {
2753
+ if (dpgContext.emitterOptions?.isMultiService) {
2754
2754
  return queryApiVersionParam.clientDefaultValue
2755
2755
  ? `"${queryApiVersionParam.clientDefaultValue}"`
2756
2756
  : undefined;
@@ -2918,7 +2918,7 @@ export function getOperationResponseTypeName(method: [string[], ServiceOperation
2918
2918
  function isWrappableType(context: SdkContext, type: SdkType): boolean {
2919
2919
  if (type.kind === "array" && type.valueType.kind === "model") return false;
2920
2920
  if (type.kind === "dict" || type.kind === "model") return false;
2921
- if (type.kind === "unknown" && context.rlcOptions?.treatUnknownAsRecord) return false;
2921
+ if (type.kind === "unknown" && context.emitterOptions?.treatUnknownAsRecord) return false;
2922
2922
  return true;
2923
2923
  }
2924
2924
 
@@ -2952,7 +2952,7 @@ export function checkWrapNonModelReturn(
2952
2952
  }
2953
2953
 
2954
2954
  // Only if the feature flag is enabled
2955
- if (!context.rlcOptions?.wrapNonModelReturn) {
2955
+ if (!context.emitterOptions?.wrapNonModelReturn) {
2956
2956
  return noWrap;
2957
2957
  }
2958
2958
 
@@ -6,8 +6,8 @@ import {
6
6
  SdkModelType,
7
7
  SdkType,
8
8
  } from "@azure-tools/typespec-client-generator-core";
9
- import { NameType, normalizeName } from "../../rlc-common/index.js";
10
9
  import { SdkContext } from "../../utils/interfaces.js";
10
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
11
11
  import {
12
12
  getPropertyWithOverrides,
13
13
  ModelOverrideOptions,
@@ -1,4 +1,4 @@
1
- import { RLCOptions } from "../rlc-common/index.js";
1
+ import { ClientOptions } from "../interfaces.js";
2
2
 
3
3
  export interface ModularOptions {
4
4
  sourceRoot: string;
@@ -6,13 +6,13 @@ export interface ModularOptions {
6
6
  experimentalExtensibleEnums: boolean;
7
7
  }
8
8
  export interface ModularEmitterOptions {
9
- options: RLCOptions;
9
+ options: ClientOptions;
10
10
  modularOptions: ModularOptions;
11
11
  }
12
12
 
13
- export interface ModularClientOptions {
13
+ export interface ClientModuleInfo {
14
14
  subfolder?: string;
15
- rlcClientName: string;
15
+ clientName: string;
16
16
  }
17
17
 
18
18
  export interface OperationPathAndDeserDetails {
@@ -13,9 +13,9 @@ import { useContext } from "../../context-manager.js";
13
13
  import { resolveReference } from "../../framework/reference.js";
14
14
  import { refkey } from "../../framework/refkey.js";
15
15
  import { reportDiagnostic } from "../../lib.js";
16
- import { NameType, normalizeName } from "../../rlc-common/index.js";
17
16
  import { SdkContext } from "../../utils/interfaces.js";
18
17
  import { isAzureCoreErrorType } from "../../utils/model-utils.js";
18
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
19
19
  import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
20
20
  import {
21
21
  getAllAncestors,
@@ -447,7 +447,7 @@ function getAdditionalPropertiesStatement(
447
447
  if (typeof deserializerFunction === "string") {
448
448
  params.push(deserializerFunction);
449
449
  }
450
- return context.rlcOptions?.compatibilityMode === true
450
+ return context.emitterOptions?.compatibilityMode === true
451
451
  ? "...item,"
452
452
  : `${getAdditionalPropertiesName(context, type)}: ${resolveReference(SerializationHelpers.serializeRecord)}(${params.join(",")}),`;
453
453
  }
@@ -14,9 +14,9 @@ import { useContext } from "../../context-manager.js";
14
14
  import { resolveReference } from "../../framework/reference.js";
15
15
  import { refkey } from "../../framework/refkey.js";
16
16
  import { reportDiagnostic } from "../../lib.js";
17
- import { NameType, normalizeName } from "../../rlc-common/index.js";
18
17
  import { SdkContext } from "../../utils/interfaces.js";
19
18
  import { isAzureCoreErrorType } from "../../utils/model-utils.js";
19
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
20
20
  import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
21
21
  import {
22
22
  getAllAncestors,
@@ -498,7 +498,7 @@ function getAdditionalPropertiesStatement(
498
498
  params.push("undefined");
499
499
  params.push(deserializerFunction);
500
500
  }
501
- return context.rlcOptions?.compatibilityMode === true
501
+ return context.emitterOptions?.compatibilityMode === true
502
502
  ? "...item"
503
503
  : `...${resolveReference(SerializationHelpers.serializeRecord)}(${params.join(",")})`;
504
504
  }
@@ -16,9 +16,9 @@ import { useDependencies } from "../../framework/hooks/use-dependencies.js";
16
16
  import { resolveReference } from "../../framework/reference.js";
17
17
  import { refkey } from "../../framework/refkey.js";
18
18
  import { reportDiagnostic } from "../../lib.js";
19
- import { NameType } from "../../rlc-common/index.js";
20
19
  import { SdkContext } from "../../utils/interfaces.js";
21
20
  import { isAzureCoreErrorType } from "../../utils/model-utils.js";
21
+ import { NameType } from "../../utils/name-utils.js";
22
22
  import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
23
23
  import { getAllAncestors, getAllProperties } from "../helpers/operation-helpers.js";
24
24
  import { getAdditionalPropertiesType } from "../helpers/type-helpers.js";
@@ -19,5 +19,5 @@ export function getEnumExpression(
19
19
  }
20
20
 
21
21
  export function isExtensibleEnum(context: SdkContext, type: SdkEnumType): boolean {
22
- return !type.isFixed && context.rlcOptions?.experimentalExtensibleEnums === true;
22
+ return !type.isFixed && context.emitterOptions?.experimentalExtensibleEnums === true;
23
23
  }
@@ -11,7 +11,7 @@ export function getNullableExpression(
11
11
  ): string {
12
12
  if (shouldEmitInline(type, options)) {
13
13
  // Check if we should ignore null for optional properties
14
- const ignoreNullableOnOptional = context.rlcOptions?.ignoreNullableOnOptional ?? false;
14
+ const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
15
15
  const isOptional = options.isOptional ?? false;
16
16
 
17
17
  const nonNullableType = getTypeExpression(context, type.type, options);
@@ -4,8 +4,8 @@ import {
4
4
  SdkServiceResponseHeader,
5
5
  SdkType,
6
6
  } from "@azure-tools/typespec-client-generator-core";
7
- import { NameType, normalizeName } from "../../rlc-common/index.js";
8
7
  import { SdkContext } from "../../utils/interfaces.js";
8
+ import { NameType, normalizeName } from "../../utils/name-utils.js";
9
9
  import { getCredentialExpression } from "./get-credential-expression.js";
10
10
  import { getEnumExpression } from "./get-enum-expression.js";
11
11
  import { getModelExpression } from "./get-model-expression.js";
@@ -22,7 +22,7 @@ export function normalizeModelPropertyName(
22
22
  property: SdkModelPropertyType | SdkHttpParameter | SdkServiceResponseHeader,
23
23
  ): string {
24
24
  const normalizedPropName = normalizeName(property.name, NameType.Property);
25
- return context.rlcOptions?.ignorePropertyNameNormalize
25
+ return context.emitterOptions?.ignorePropertyNameNormalize
26
26
  ? `"${property.name}"`
27
27
  : `"${normalizedPropName}"`;
28
28
  }
@@ -40,7 +40,7 @@ export function getTypeExpression(
40
40
  case "enum":
41
41
  return getEnumExpression(context, type);
42
42
  case "unknown":
43
- return context.rlcOptions?.treatUnknownAsRecord ? "Record<string, unknown>" : "any";
43
+ return context.emitterOptions?.treatUnknownAsRecord ? "Record<string, unknown>" : "any";
44
44
  case "boolean":
45
45
  return "boolean";
46
46
  case "decimal":