@azure-tools/typespec-ts 0.55.0-dev.1 → 0.55.0-dev.10

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 (940) hide show
  1. package/README.md +68 -105
  2. package/dist/src/context-manager.d.ts +75 -0
  3. package/dist/src/context-manager.d.ts.map +1 -0
  4. package/dist/src/context-manager.js +59 -0
  5. package/dist/src/context-manager.js.map +1 -0
  6. package/dist/src/framework/hooks/binder.d.ts +1 -1
  7. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  8. package/dist/src/framework/hooks/binder.js +6 -7
  9. package/dist/src/framework/hooks/binder.js.map +1 -1
  10. package/dist/src/framework/hooks/sdk-types.d.ts +26 -0
  11. package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -0
  12. package/dist/src/framework/hooks/sdk-types.js +157 -0
  13. package/dist/src/framework/hooks/sdk-types.js.map +1 -0
  14. package/dist/src/framework/hooks/use-dependencies.d.ts +4 -0
  15. package/dist/src/framework/hooks/use-dependencies.d.ts.map +1 -0
  16. package/dist/src/framework/hooks/use-dependencies.js +13 -0
  17. package/dist/src/framework/hooks/use-dependencies.js.map +1 -0
  18. package/dist/src/framework/load-static-helpers.d.ts +4 -1
  19. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  20. package/dist/src/framework/load-static-helpers.js +26 -34
  21. package/dist/src/framework/load-static-helpers.js.map +1 -1
  22. package/dist/src/framework/sample.js +1 -1
  23. package/dist/src/framework/sample.js.map +1 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +126 -192
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/lib.d.ts +2 -18
  28. package/dist/src/lib.d.ts.map +1 -1
  29. package/dist/src/lib.js +30 -124
  30. package/dist/src/lib.js.map +1 -1
  31. package/dist/src/meta-tree.d.ts +7 -0
  32. package/dist/src/meta-tree.d.ts.map +1 -0
  33. package/dist/src/meta-tree.js +2 -0
  34. package/dist/src/meta-tree.js.map +1 -0
  35. package/dist/src/modular/build-classical-client.d.ts +6 -0
  36. package/dist/src/modular/build-classical-client.d.ts.map +1 -0
  37. package/dist/src/modular/build-classical-client.js +345 -0
  38. package/dist/src/modular/build-classical-client.js.map +1 -0
  39. package/dist/src/modular/build-classical-operation-groups.d.ts +6 -0
  40. package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -0
  41. package/dist/src/modular/build-classical-operation-groups.js +48 -0
  42. package/dist/src/modular/build-classical-operation-groups.js.map +1 -0
  43. package/dist/src/modular/build-client-context.d.ts +13 -0
  44. package/dist/src/modular/build-client-context.d.ts.map +1 -0
  45. package/dist/src/modular/build-client-context.js +237 -0
  46. package/dist/src/modular/build-client-context.js.map +1 -0
  47. package/dist/src/modular/build-modular-options.d.ts +6 -0
  48. package/dist/src/modular/build-modular-options.d.ts.map +1 -0
  49. package/dist/src/modular/build-modular-options.js +14 -0
  50. package/dist/src/modular/build-modular-options.js.map +1 -0
  51. package/dist/src/modular/build-operations.d.ts +21 -0
  52. package/dist/src/modular/build-operations.d.ts.map +1 -0
  53. package/dist/src/modular/build-operations.js +172 -0
  54. package/dist/src/modular/build-operations.js.map +1 -0
  55. package/dist/src/modular/build-project-files.d.ts +4 -0
  56. package/dist/src/modular/build-project-files.d.ts.map +1 -0
  57. package/dist/src/modular/build-project-files.js +91 -0
  58. package/dist/src/modular/build-project-files.js.map +1 -0
  59. package/dist/src/modular/build-restore-poller.d.ts +5 -0
  60. package/dist/src/modular/build-restore-poller.d.ts.map +1 -0
  61. package/dist/src/modular/build-restore-poller.js +216 -0
  62. package/dist/src/modular/build-restore-poller.js.map +1 -0
  63. package/dist/src/modular/build-root-index.d.ts +13 -0
  64. package/dist/src/modular/build-root-index.d.ts.map +1 -0
  65. package/dist/src/modular/build-root-index.js +275 -0
  66. package/dist/src/modular/build-root-index.js.map +1 -0
  67. package/dist/src/modular/build-subpath-index.d.ts +16 -0
  68. package/dist/src/modular/build-subpath-index.d.ts.map +1 -0
  69. package/dist/src/modular/build-subpath-index.js +119 -0
  70. package/dist/src/modular/build-subpath-index.js.map +1 -0
  71. package/dist/src/modular/emit-logger-file.d.ts +3 -0
  72. package/dist/src/modular/emit-logger-file.d.ts.map +1 -0
  73. package/dist/src/modular/emit-logger-file.js +15 -0
  74. package/dist/src/modular/emit-logger-file.js.map +1 -0
  75. package/dist/src/modular/emit-models-options.d.ts +5 -0
  76. package/dist/src/modular/emit-models-options.d.ts.map +1 -0
  77. package/dist/src/modular/emit-models-options.js +35 -0
  78. package/dist/src/modular/emit-models-options.js.map +1 -0
  79. package/dist/src/modular/emit-models.d.ts +23 -0
  80. package/dist/src/modular/emit-models.d.ts.map +1 -0
  81. package/dist/src/modular/emit-models.js +849 -0
  82. package/dist/src/modular/emit-models.js.map +1 -0
  83. package/dist/src/modular/emit-samples.d.ts +7 -0
  84. package/dist/src/modular/emit-samples.d.ts.map +1 -0
  85. package/dist/src/modular/emit-samples.js +482 -0
  86. package/dist/src/modular/emit-samples.js.map +1 -0
  87. package/dist/src/modular/emit-tests.d.ts +8 -0
  88. package/dist/src/modular/emit-tests.d.ts.map +1 -0
  89. package/dist/src/modular/emit-tests.js +165 -0
  90. package/dist/src/modular/emit-tests.js.map +1 -0
  91. package/dist/src/modular/helpers/classical-operation-helpers.d.ts +7 -0
  92. package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -0
  93. package/dist/src/modular/helpers/classical-operation-helpers.js +258 -0
  94. package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -0
  95. package/dist/src/modular/helpers/client-helpers.d.ts +34 -0
  96. package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -0
  97. package/dist/src/modular/helpers/client-helpers.js +249 -0
  98. package/dist/src/modular/helpers/client-helpers.js.map +1 -0
  99. package/dist/src/modular/helpers/client-option-helpers.d.ts +43 -0
  100. package/dist/src/modular/helpers/client-option-helpers.d.ts.map +1 -0
  101. package/dist/src/modular/helpers/client-option-helpers.js +103 -0
  102. package/dist/src/modular/helpers/client-option-helpers.js.map +1 -0
  103. package/dist/src/modular/helpers/docs-helpers.d.ts +3 -0
  104. package/dist/src/modular/helpers/docs-helpers.d.ts.map +1 -0
  105. package/dist/src/modular/helpers/docs-helpers.js +10 -0
  106. package/dist/src/modular/helpers/docs-helpers.js.map +1 -0
  107. package/dist/src/modular/helpers/example-value-helpers.d.ts +83 -0
  108. package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -0
  109. package/dist/src/modular/helpers/example-value-helpers.js +622 -0
  110. package/dist/src/modular/helpers/example-value-helpers.js.map +1 -0
  111. package/dist/src/modular/helpers/naming-helpers.d.ts +22 -0
  112. package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -0
  113. package/dist/src/modular/helpers/naming-helpers.js +59 -0
  114. package/dist/src/modular/helpers/naming-helpers.js.map +1 -0
  115. package/dist/src/modular/helpers/operation-helpers.d.ts +105 -0
  116. package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -0
  117. package/dist/src/modular/helpers/operation-helpers.js +2328 -0
  118. package/dist/src/modular/helpers/operation-helpers.js.map +1 -0
  119. package/dist/src/modular/helpers/type-helpers.d.ts +22 -0
  120. package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -0
  121. package/dist/src/modular/helpers/type-helpers.js +94 -0
  122. package/dist/src/modular/helpers/type-helpers.js.map +1 -0
  123. package/dist/src/modular/serialization/build-deserializer-function.d.ts +7 -0
  124. package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -0
  125. package/dist/src/modular/serialization/build-deserializer-function.js +401 -0
  126. package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -0
  127. package/dist/src/modular/serialization/build-serializer-function.d.ts +7 -0
  128. package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -0
  129. package/dist/src/modular/serialization/build-serializer-function.js +442 -0
  130. package/dist/src/modular/serialization/build-serializer-function.js.map +1 -0
  131. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts +44 -0
  132. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -0
  133. package/dist/src/modular/serialization/build-xml-serializer-function.js +729 -0
  134. package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -0
  135. package/dist/src/modular/serialization/serialize-utils.d.ts +37 -0
  136. package/dist/src/modular/serialization/serialize-utils.d.ts.map +1 -0
  137. package/dist/src/modular/serialization/serialize-utils.js +145 -0
  138. package/dist/src/modular/serialization/serialize-utils.js.map +1 -0
  139. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  140. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  141. package/dist/src/modular/type-expressions/get-model-expression.js +1 -1
  142. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  143. package/dist/src/rlc-common/helpers/api-version-util.d.ts +17 -0
  144. package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +1 -0
  145. package/dist/src/rlc-common/helpers/api-version-util.js +43 -0
  146. package/dist/src/rlc-common/helpers/api-version-util.js.map +1 -0
  147. package/dist/src/rlc-common/helpers/imports-util.d.ts +17 -0
  148. package/dist/src/rlc-common/helpers/imports-util.d.ts.map +1 -0
  149. package/dist/src/rlc-common/helpers/imports-util.js +151 -0
  150. package/dist/src/rlc-common/helpers/imports-util.js.map +1 -0
  151. package/dist/src/rlc-common/helpers/name-constructors.d.ts +33 -0
  152. package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +1 -0
  153. package/dist/src/rlc-common/helpers/name-constructors.js +45 -0
  154. package/dist/src/rlc-common/helpers/name-constructors.js.map +1 -0
  155. package/dist/src/rlc-common/helpers/name-utils.d.ts +37 -0
  156. package/dist/src/rlc-common/helpers/name-utils.d.ts.map +1 -0
  157. package/dist/src/rlc-common/helpers/name-utils.js +240 -0
  158. package/dist/src/rlc-common/helpers/name-utils.js.map +1 -0
  159. package/dist/src/rlc-common/helpers/operation-helpers.d.ts +16 -0
  160. package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +1 -0
  161. package/dist/src/rlc-common/helpers/operation-helpers.js +104 -0
  162. package/dist/src/rlc-common/helpers/operation-helpers.js.map +1 -0
  163. package/dist/src/rlc-common/helpers/schema-helpers.d.ts +10 -0
  164. package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +1 -0
  165. package/dist/src/rlc-common/helpers/schema-helpers.js +37 -0
  166. package/dist/src/rlc-common/helpers/schema-helpers.js.map +1 -0
  167. package/dist/src/rlc-common/helpers/type-util.d.ts +32 -0
  168. package/dist/src/rlc-common/helpers/type-util.d.ts.map +1 -0
  169. package/dist/src/rlc-common/helpers/type-util.js +162 -0
  170. package/dist/src/rlc-common/helpers/type-util.js.map +1 -0
  171. package/dist/src/rlc-common/index.d.ts +21 -39
  172. package/dist/src/rlc-common/index.d.ts.map +1 -1
  173. package/dist/src/rlc-common/index.js +21 -39
  174. package/dist/src/rlc-common/index.js.map +1 -1
  175. package/dist/src/rlc-common/interfaces.d.ts +2 -20
  176. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  177. package/dist/src/rlc-common/interfaces.js.map +1 -1
  178. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +6 -0
  179. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +1 -0
  180. package/dist/src/rlc-common/metadata/build-api-extractor-config.js +18 -0
  181. package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +1 -0
  182. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +6 -0
  183. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +1 -0
  184. package/dist/src/rlc-common/metadata/build-changelog-file.js +25 -0
  185. package/dist/src/rlc-common/metadata/build-changelog-file.js.map +1 -0
  186. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +6 -0
  187. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +1 -0
  188. package/dist/src/rlc-common/metadata/build-es-lint-config.js +41 -0
  189. package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +1 -0
  190. package/dist/src/rlc-common/metadata/build-license-file.d.ts +5 -0
  191. package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +1 -0
  192. package/dist/src/rlc-common/metadata/build-license-file.js +32 -0
  193. package/dist/src/rlc-common/metadata/build-license-file.js.map +1 -0
  194. package/dist/src/rlc-common/metadata/build-package-file.d.ts +25 -0
  195. package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +1 -0
  196. package/dist/src/rlc-common/metadata/build-package-file.js +149 -0
  197. package/dist/src/rlc-common/metadata/build-package-file.js.map +1 -0
  198. package/dist/src/rlc-common/metadata/build-readme-file.d.ts +11 -0
  199. package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +1 -0
  200. package/dist/src/rlc-common/metadata/build-readme-file.js +328 -0
  201. package/dist/src/rlc-common/metadata/build-readme-file.js.map +1 -0
  202. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +6 -0
  203. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +1 -0
  204. package/dist/src/rlc-common/metadata/build-sample-env-file.js +14 -0
  205. package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +1 -0
  206. package/dist/src/rlc-common/metadata/build-test-config.d.ts +16 -0
  207. package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +1 -0
  208. package/dist/src/rlc-common/metadata/build-test-config.js +51 -0
  209. package/dist/src/rlc-common/metadata/build-test-config.js.map +1 -0
  210. package/dist/src/rlc-common/metadata/build-ts-config.d.ts +61 -0
  211. package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +1 -0
  212. package/dist/src/rlc-common/metadata/build-ts-config.js +129 -0
  213. package/dist/src/rlc-common/metadata/build-ts-config.js.map +1 -0
  214. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +6 -0
  215. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +1 -0
  216. package/dist/src/rlc-common/metadata/build-vitest-config.js +26 -0
  217. package/dist/src/rlc-common/metadata/build-vitest-config.js.map +1 -0
  218. package/dist/src/rlc-common/metadata/build-warp-config.d.ts +20 -0
  219. package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +1 -0
  220. package/dist/src/rlc-common/metadata/build-warp-config.js +73 -0
  221. package/dist/src/rlc-common/metadata/build-warp-config.js.map +1 -0
  222. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts +14 -0
  223. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +1 -0
  224. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js +14 -0
  225. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +1 -0
  226. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts +203 -0
  227. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
  228. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js +155 -0
  229. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
  230. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts +43 -0
  231. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +1 -0
  232. package/dist/src/rlc-common/metadata/package-json/package-common.js +103 -0
  233. package/dist/src/rlc-common/metadata/package-json/package-common.js.map +1 -0
  234. package/dist/src/rlc-common/static/paginate-content.d.ts +2 -0
  235. package/dist/src/rlc-common/static/paginate-content.d.ts.map +1 -0
  236. package/dist/src/rlc-common/static/paginate-content.js +345 -0
  237. package/dist/src/rlc-common/static/paginate-content.js.map +1 -0
  238. package/dist/src/rlc-common/static/polling-content.d.ts +2 -0
  239. package/dist/src/rlc-common/static/polling-content.d.ts.map +1 -0
  240. package/dist/src/rlc-common/static/polling-content.js +225 -0
  241. package/dist/src/rlc-common/static/polling-content.js.map +1 -0
  242. package/dist/src/rlc-common/static/sample-template.d.ts +2 -0
  243. package/dist/src/rlc-common/static/sample-template.d.ts.map +1 -0
  244. package/dist/src/rlc-common/static/sample-template.js +56 -0
  245. package/dist/src/rlc-common/static/sample-template.js.map +1 -0
  246. package/dist/src/rlc-common/static/serialize-helper.d.ts +6 -0
  247. package/dist/src/rlc-common/static/serialize-helper.d.ts.map +1 -0
  248. package/dist/src/rlc-common/static/serialize-helper.js +31 -0
  249. package/dist/src/rlc-common/static/serialize-helper.js.map +1 -0
  250. package/dist/src/rlc-common/test/build-karma-config.d.ts +6 -0
  251. package/dist/src/rlc-common/test/build-karma-config.d.ts.map +1 -0
  252. package/dist/src/rlc-common/test/build-karma-config.js +11 -0
  253. package/dist/src/rlc-common/test/build-karma-config.js.map +1 -0
  254. package/dist/src/rlc-common/test/build-recorded-client.d.ts +6 -0
  255. package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +1 -0
  256. package/dist/src/rlc-common/test/build-recorded-client.js +14 -0
  257. package/dist/src/rlc-common/test/build-recorded-client.js.map +1 -0
  258. package/dist/src/rlc-common/test/build-sample-test.d.ts +6 -0
  259. package/dist/src/rlc-common/test/build-sample-test.d.ts.map +1 -0
  260. package/dist/src/rlc-common/test/build-sample-test.js +11 -0
  261. package/dist/src/rlc-common/test/build-sample-test.js.map +1 -0
  262. package/dist/src/rlc-common/test/build-snippets.d.ts +6 -0
  263. package/dist/src/rlc-common/test/build-snippets.d.ts.map +1 -0
  264. package/dist/src/rlc-common/test/build-snippets.js +22 -0
  265. package/dist/src/rlc-common/test/build-snippets.js.map +1 -0
  266. package/dist/src/rlc-common/test/template.d.ts +3 -3
  267. package/dist/src/rlc-common/test/template.d.ts.map +1 -1
  268. package/dist/src/rlc-common/test/template.js +1 -35
  269. package/dist/src/rlc-common/test/template.js.map +1 -1
  270. package/dist/src/transform/transform-api-version-info.d.ts +6 -0
  271. package/dist/src/transform/transform-api-version-info.d.ts.map +1 -0
  272. package/dist/src/transform/transform-api-version-info.js +78 -0
  273. package/dist/src/transform/transform-api-version-info.js.map +1 -0
  274. package/dist/src/transform/transform-helper-function-details.d.ts +5 -0
  275. package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -0
  276. package/dist/src/transform/transform-helper-function-details.js +66 -0
  277. package/dist/src/transform/transform-helper-function-details.js.map +1 -0
  278. package/dist/src/transform/transform-parameters.d.ts +14 -0
  279. package/dist/src/transform/transform-parameters.d.ts.map +1 -0
  280. package/dist/src/transform/transform-parameters.js +201 -0
  281. package/dist/src/transform/transform-parameters.js.map +1 -0
  282. package/dist/src/transform/transform-paths.d.ts +5 -0
  283. package/dist/src/transform/transform-paths.d.ts.map +1 -0
  284. package/dist/src/transform/transform-paths.js +102 -0
  285. package/dist/src/transform/transform-paths.js.map +1 -0
  286. package/dist/src/transform/transform-responses.d.ts +5 -0
  287. package/dist/src/transform/transform-responses.d.ts.map +1 -0
  288. package/dist/src/transform/transform-responses.js +171 -0
  289. package/dist/src/transform/transform-responses.js.map +1 -0
  290. package/dist/src/transform/transform-schemas.d.ts +4 -0
  291. package/dist/src/transform/transform-schemas.d.ts.map +1 -0
  292. package/dist/src/transform/transform-schemas.js +191 -0
  293. package/dist/src/transform/transform-schemas.js.map +1 -0
  294. package/dist/src/transform/transform-telemetry-info.d.ts +4 -0
  295. package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -0
  296. package/dist/src/transform/transform-telemetry-info.js +22 -0
  297. package/dist/src/transform/transform-telemetry-info.js.map +1 -0
  298. package/dist/src/transform/transform.d.ts.map +1 -1
  299. package/dist/src/transform/transform.js +19 -26
  300. package/dist/src/transform/transform.js.map +1 -1
  301. package/dist/src/transform/transfrom-rlc-options.d.ts +14 -0
  302. package/dist/src/transform/transfrom-rlc-options.d.ts.map +1 -0
  303. package/dist/src/transform/transfrom-rlc-options.js +304 -0
  304. package/dist/src/transform/transfrom-rlc-options.js.map +1 -0
  305. package/dist/src/utils/client-utils.d.ts +10 -0
  306. package/dist/src/utils/client-utils.d.ts.map +1 -0
  307. package/dist/src/utils/client-utils.js +123 -0
  308. package/dist/src/utils/client-utils.js.map +1 -0
  309. package/dist/src/utils/credential-utils.d.ts +15 -0
  310. package/dist/src/utils/credential-utils.d.ts.map +1 -0
  311. package/dist/src/utils/credential-utils.js +68 -0
  312. package/dist/src/utils/credential-utils.js.map +1 -0
  313. package/dist/src/utils/cross-language-def.d.ts +6 -0
  314. package/dist/src/utils/cross-language-def.d.ts.map +1 -0
  315. package/dist/src/utils/cross-language-def.js +59 -0
  316. package/dist/src/utils/cross-language-def.js.map +1 -0
  317. package/dist/src/utils/emit-util.d.ts +4 -0
  318. package/dist/src/utils/emit-util.d.ts.map +1 -0
  319. package/dist/src/utils/emit-util.js +60 -0
  320. package/dist/src/utils/emit-util.js.map +1 -0
  321. package/dist/src/utils/file-system-utils.d.ts +5 -0
  322. package/dist/src/utils/file-system-utils.d.ts.map +1 -0
  323. package/dist/src/utils/file-system-utils.js +57 -0
  324. package/dist/src/utils/file-system-utils.js.map +1 -0
  325. package/dist/src/utils/import-helper.d.ts +10 -0
  326. package/dist/src/utils/import-helper.d.ts.map +1 -0
  327. package/dist/src/utils/import-helper.js +51 -0
  328. package/dist/src/utils/import-helper.js.map +1 -0
  329. package/dist/src/utils/interfaces.d.ts +1 -1
  330. package/dist/src/utils/interfaces.d.ts.map +1 -1
  331. package/dist/src/utils/media-types.d.ts +28 -0
  332. package/dist/src/utils/media-types.d.ts.map +1 -0
  333. package/dist/src/utils/media-types.js +124 -0
  334. package/dist/src/utils/media-types.js.map +1 -0
  335. package/dist/src/utils/model-utils.d.ts +60 -0
  336. package/dist/src/utils/model-utils.d.ts.map +1 -0
  337. package/dist/src/utils/model-utils.js +1473 -0
  338. package/dist/src/utils/model-utils.js.map +1 -0
  339. package/dist/src/utils/namespace-utils.d.ts +6 -0
  340. package/dist/src/utils/namespace-utils.d.ts.map +1 -0
  341. package/dist/src/utils/namespace-utils.js +69 -0
  342. package/dist/src/utils/namespace-utils.js.map +1 -0
  343. package/dist/src/utils/operation-util.d.ts +97 -0
  344. package/dist/src/utils/operation-util.d.ts.map +1 -0
  345. package/dist/src/utils/operation-util.js +547 -0
  346. package/dist/src/utils/operation-util.js.map +1 -0
  347. package/dist/src/utils/parameter-utils.d.ts +9 -0
  348. package/dist/src/utils/parameter-utils.d.ts.map +1 -0
  349. package/dist/src/utils/parameter-utils.js +147 -0
  350. package/dist/src/utils/parameter-utils.js.map +1 -0
  351. package/dist/src/utils/resolve-project-root.d.ts +6 -4
  352. package/dist/src/utils/resolve-project-root.d.ts.map +1 -1
  353. package/dist/src/utils/resolve-project-root.js +11 -18
  354. package/dist/src/utils/resolve-project-root.js.map +1 -1
  355. package/dist/tsconfig.tsbuildinfo +1 -1
  356. package/package.json +45 -64
  357. package/src/context-manager.ts +101 -0
  358. package/src/framework/hooks/binder.ts +7 -8
  359. package/src/framework/hooks/sdk-types.ts +218 -0
  360. package/src/framework/hooks/use-dependencies.ts +16 -0
  361. package/src/framework/load-static-helpers.ts +38 -41
  362. package/src/framework/sample.ts +1 -1
  363. package/src/index.ts +148 -226
  364. package/src/lib.ts +32 -143
  365. package/src/modular/build-classical-client.ts +434 -0
  366. package/src/modular/build-classical-operation-groups.ts +69 -0
  367. package/src/modular/build-client-context.ts +317 -0
  368. package/src/modular/build-operations.ts +248 -0
  369. package/src/modular/build-project-files.ts +118 -0
  370. package/src/modular/build-restore-poller.ts +242 -0
  371. package/src/modular/build-root-index.ts +403 -0
  372. package/src/modular/build-subpath-index.ts +152 -0
  373. package/src/modular/emit-logger-file.ts +20 -0
  374. package/src/modular/emit-models-options.ts +56 -0
  375. package/src/modular/emit-models.ts +1080 -0
  376. package/src/modular/emit-samples.ts +659 -0
  377. package/src/modular/emit-tests.ts +211 -0
  378. package/src/modular/helpers/classical-operation-helpers.ts +375 -0
  379. package/src/modular/helpers/client-helpers.ts +352 -0
  380. package/src/modular/helpers/example-value-helpers.ts +836 -0
  381. package/src/modular/helpers/naming-helpers.ts +84 -0
  382. package/src/modular/helpers/operation-helpers.ts +3035 -0
  383. package/src/modular/helpers/type-helpers.ts +134 -0
  384. package/src/modular/serialization/build-deserializer-function.ts +564 -0
  385. package/src/modular/serialization/build-serializer-function.ts +614 -0
  386. package/src/modular/serialization/build-xml-serializer-function.ts +951 -0
  387. package/src/modular/serialization/serialize-utils.ts +217 -0
  388. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  389. package/src/modular/type-expressions/get-model-expression.ts +1 -1
  390. package/src/rlc-common/helpers/imports-util.ts +172 -0
  391. package/src/rlc-common/helpers/name-constructors.ts +88 -0
  392. package/src/rlc-common/helpers/operation-helpers.ts +138 -0
  393. package/src/rlc-common/index.ts +21 -39
  394. package/src/rlc-common/interfaces.ts +2 -23
  395. package/src/rlc-common/metadata/build-api-extractor-config.ts +22 -0
  396. package/src/rlc-common/metadata/build-es-lint-config.ts +45 -0
  397. package/src/rlc-common/metadata/build-package-file.ts +180 -0
  398. package/src/rlc-common/metadata/build-readme-file.ts +413 -0
  399. package/src/rlc-common/metadata/build-sample-env-file.ts +18 -0
  400. package/src/rlc-common/metadata/build-test-config.ts +67 -0
  401. package/src/rlc-common/metadata/build-ts-config.ts +177 -0
  402. package/src/rlc-common/metadata/build-warp-config.ts +87 -0
  403. package/src/rlc-common/metadata/package-json/azure-package-common.ts +20 -0
  404. package/src/rlc-common/metadata/package-json/build-azure-monorepo-package.ts +179 -0
  405. package/src/rlc-common/metadata/package-json/package-common.ts +137 -0
  406. package/src/rlc-common/static/polling-content.ts +225 -0
  407. package/src/rlc-common/test/build-recorded-client.ts +15 -0
  408. package/src/rlc-common/test/build-sample-test.ts +12 -0
  409. package/src/rlc-common/test/build-snippets.ts +25 -0
  410. package/src/rlc-common/test/template.ts +1 -35
  411. package/src/transform/transform-api-version-info.ts +103 -0
  412. package/src/transform/transform-helper-function-details.ts +79 -0
  413. package/src/transform/transform-parameters.ts +321 -0
  414. package/src/transform/transform-paths.ts +157 -0
  415. package/src/transform/transform-responses.ts +237 -0
  416. package/src/transform/transform-schemas.ts +212 -0
  417. package/src/transform/transform-telemetry-info.ts +33 -0
  418. package/src/transform/transform.ts +18 -29
  419. package/src/transform/transfrom-rlc-options.ts +363 -0
  420. package/src/utils/client-utils.ts +161 -0
  421. package/src/utils/cross-language-def.ts +66 -0
  422. package/src/utils/emit-util.ts +67 -0
  423. package/src/utils/file-system-utils.ts +68 -0
  424. package/src/utils/import-helper.ts +59 -0
  425. package/src/utils/interfaces.ts +1 -1
  426. package/src/utils/model-utils.ts +1714 -0
  427. package/src/utils/operation-util.ts +763 -0
  428. package/src/utils/parameter-utils.ts +192 -0
  429. package/src/utils/resolve-project-root.ts +11 -24
  430. package/static/static-helpers/serialization/serializers.ts +1 -0
  431. package/dist/src/contextManager.d.ts +0 -75
  432. package/dist/src/contextManager.d.ts.map +0 -1
  433. package/dist/src/contextManager.js +0 -59
  434. package/dist/src/contextManager.js.map +0 -1
  435. package/dist/src/framework/hooks/sdkTypes.d.ts +0 -26
  436. package/dist/src/framework/hooks/sdkTypes.d.ts.map +0 -1
  437. package/dist/src/framework/hooks/sdkTypes.js +0 -157
  438. package/dist/src/framework/hooks/sdkTypes.js.map +0 -1
  439. package/dist/src/framework/hooks/useDependencies.d.ts +0 -4
  440. package/dist/src/framework/hooks/useDependencies.d.ts.map +0 -1
  441. package/dist/src/framework/hooks/useDependencies.js +0 -13
  442. package/dist/src/framework/hooks/useDependencies.js.map +0 -1
  443. package/dist/src/metaTree.d.ts +0 -7
  444. package/dist/src/metaTree.d.ts.map +0 -1
  445. package/dist/src/metaTree.js +0 -2
  446. package/dist/src/metaTree.js.map +0 -1
  447. package/dist/src/modular/buildClassicalClient.d.ts +0 -6
  448. package/dist/src/modular/buildClassicalClient.d.ts.map +0 -1
  449. package/dist/src/modular/buildClassicalClient.js +0 -345
  450. package/dist/src/modular/buildClassicalClient.js.map +0 -1
  451. package/dist/src/modular/buildClassicalOperationGroups.d.ts +0 -6
  452. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +0 -1
  453. package/dist/src/modular/buildClassicalOperationGroups.js +0 -48
  454. package/dist/src/modular/buildClassicalOperationGroups.js.map +0 -1
  455. package/dist/src/modular/buildClientContext.d.ts +0 -13
  456. package/dist/src/modular/buildClientContext.d.ts.map +0 -1
  457. package/dist/src/modular/buildClientContext.js +0 -246
  458. package/dist/src/modular/buildClientContext.js.map +0 -1
  459. package/dist/src/modular/buildModularOptions.d.ts +0 -6
  460. package/dist/src/modular/buildModularOptions.d.ts.map +0 -1
  461. package/dist/src/modular/buildModularOptions.js +0 -14
  462. package/dist/src/modular/buildModularOptions.js.map +0 -1
  463. package/dist/src/modular/buildOperations.d.ts +0 -21
  464. package/dist/src/modular/buildOperations.d.ts.map +0 -1
  465. package/dist/src/modular/buildOperations.js +0 -172
  466. package/dist/src/modular/buildOperations.js.map +0 -1
  467. package/dist/src/modular/buildProjectFiles.d.ts +0 -4
  468. package/dist/src/modular/buildProjectFiles.d.ts.map +0 -1
  469. package/dist/src/modular/buildProjectFiles.js +0 -91
  470. package/dist/src/modular/buildProjectFiles.js.map +0 -1
  471. package/dist/src/modular/buildRestorePoller.d.ts +0 -5
  472. package/dist/src/modular/buildRestorePoller.d.ts.map +0 -1
  473. package/dist/src/modular/buildRestorePoller.js +0 -216
  474. package/dist/src/modular/buildRestorePoller.js.map +0 -1
  475. package/dist/src/modular/buildRootIndex.d.ts +0 -13
  476. package/dist/src/modular/buildRootIndex.d.ts.map +0 -1
  477. package/dist/src/modular/buildRootIndex.js +0 -279
  478. package/dist/src/modular/buildRootIndex.js.map +0 -1
  479. package/dist/src/modular/buildSubpathIndex.d.ts +0 -16
  480. package/dist/src/modular/buildSubpathIndex.d.ts.map +0 -1
  481. package/dist/src/modular/buildSubpathIndex.js +0 -119
  482. package/dist/src/modular/buildSubpathIndex.js.map +0 -1
  483. package/dist/src/modular/emitLoggerFile.d.ts +0 -3
  484. package/dist/src/modular/emitLoggerFile.d.ts.map +0 -1
  485. package/dist/src/modular/emitLoggerFile.js +0 -18
  486. package/dist/src/modular/emitLoggerFile.js.map +0 -1
  487. package/dist/src/modular/emitModels.d.ts +0 -23
  488. package/dist/src/modular/emitModels.d.ts.map +0 -1
  489. package/dist/src/modular/emitModels.js +0 -850
  490. package/dist/src/modular/emitModels.js.map +0 -1
  491. package/dist/src/modular/emitModelsOptions.d.ts +0 -5
  492. package/dist/src/modular/emitModelsOptions.d.ts.map +0 -1
  493. package/dist/src/modular/emitModelsOptions.js +0 -35
  494. package/dist/src/modular/emitModelsOptions.js.map +0 -1
  495. package/dist/src/modular/emitSamples.d.ts +0 -7
  496. package/dist/src/modular/emitSamples.d.ts.map +0 -1
  497. package/dist/src/modular/emitSamples.js +0 -500
  498. package/dist/src/modular/emitSamples.js.map +0 -1
  499. package/dist/src/modular/emitTests.d.ts +0 -7
  500. package/dist/src/modular/emitTests.d.ts.map +0 -1
  501. package/dist/src/modular/emitTests.js +0 -155
  502. package/dist/src/modular/emitTests.js.map +0 -1
  503. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +0 -7
  504. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +0 -1
  505. package/dist/src/modular/helpers/classicalOperationHelpers.js +0 -258
  506. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +0 -1
  507. package/dist/src/modular/helpers/clientHelpers.d.ts +0 -34
  508. package/dist/src/modular/helpers/clientHelpers.d.ts.map +0 -1
  509. package/dist/src/modular/helpers/clientHelpers.js +0 -259
  510. package/dist/src/modular/helpers/clientHelpers.js.map +0 -1
  511. package/dist/src/modular/helpers/clientOptionHelpers.d.ts +0 -43
  512. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +0 -1
  513. package/dist/src/modular/helpers/clientOptionHelpers.js +0 -103
  514. package/dist/src/modular/helpers/clientOptionHelpers.js.map +0 -1
  515. package/dist/src/modular/helpers/docsHelpers.d.ts +0 -3
  516. package/dist/src/modular/helpers/docsHelpers.d.ts.map +0 -1
  517. package/dist/src/modular/helpers/docsHelpers.js +0 -10
  518. package/dist/src/modular/helpers/docsHelpers.js.map +0 -1
  519. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +0 -83
  520. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +0 -1
  521. package/dist/src/modular/helpers/exampleValueHelpers.js +0 -639
  522. package/dist/src/modular/helpers/exampleValueHelpers.js.map +0 -1
  523. package/dist/src/modular/helpers/namingHelpers.d.ts +0 -22
  524. package/dist/src/modular/helpers/namingHelpers.d.ts.map +0 -1
  525. package/dist/src/modular/helpers/namingHelpers.js +0 -59
  526. package/dist/src/modular/helpers/namingHelpers.js.map +0 -1
  527. package/dist/src/modular/helpers/operationHelpers.d.ts +0 -105
  528. package/dist/src/modular/helpers/operationHelpers.d.ts.map +0 -1
  529. package/dist/src/modular/helpers/operationHelpers.js +0 -2328
  530. package/dist/src/modular/helpers/operationHelpers.js.map +0 -1
  531. package/dist/src/modular/helpers/typeHelpers.d.ts +0 -22
  532. package/dist/src/modular/helpers/typeHelpers.d.ts.map +0 -1
  533. package/dist/src/modular/helpers/typeHelpers.js +0 -94
  534. package/dist/src/modular/helpers/typeHelpers.js.map +0 -1
  535. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +0 -7
  536. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +0 -1
  537. package/dist/src/modular/serialization/buildDeserializerFunction.js +0 -401
  538. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +0 -1
  539. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +0 -7
  540. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +0 -1
  541. package/dist/src/modular/serialization/buildSerializerFunction.js +0 -444
  542. package/dist/src/modular/serialization/buildSerializerFunction.js.map +0 -1
  543. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +0 -44
  544. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +0 -1
  545. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +0 -729
  546. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +0 -1
  547. package/dist/src/modular/serialization/serializeUtils.d.ts +0 -37
  548. package/dist/src/modular/serialization/serializeUtils.d.ts.map +0 -1
  549. package/dist/src/modular/serialization/serializeUtils.js +0 -145
  550. package/dist/src/modular/serialization/serializeUtils.js.map +0 -1
  551. package/dist/src/rlc-common/buildClient.d.ts +0 -9
  552. package/dist/src/rlc-common/buildClient.d.ts.map +0 -1
  553. package/dist/src/rlc-common/buildClient.js +0 -391
  554. package/dist/src/rlc-common/buildClient.js.map +0 -1
  555. package/dist/src/rlc-common/buildClientDefinitions.d.ts +0 -6
  556. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +0 -1
  557. package/dist/src/rlc-common/buildClientDefinitions.js +0 -157
  558. package/dist/src/rlc-common/buildClientDefinitions.js.map +0 -1
  559. package/dist/src/rlc-common/buildIndexFile.d.ts +0 -6
  560. package/dist/src/rlc-common/buildIndexFile.d.ts.map +0 -1
  561. package/dist/src/rlc-common/buildIndexFile.js +0 -241
  562. package/dist/src/rlc-common/buildIndexFile.js.map +0 -1
  563. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts +0 -6
  564. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +0 -1
  565. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +0 -223
  566. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +0 -1
  567. package/dist/src/rlc-common/buildLogger.d.ts +0 -6
  568. package/dist/src/rlc-common/buildLogger.d.ts.map +0 -1
  569. package/dist/src/rlc-common/buildLogger.js +0 -31
  570. package/dist/src/rlc-common/buildLogger.js.map +0 -1
  571. package/dist/src/rlc-common/buildMethodShortcuts.d.ts +0 -5
  572. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +0 -1
  573. package/dist/src/rlc-common/buildMethodShortcuts.js +0 -54
  574. package/dist/src/rlc-common/buildMethodShortcuts.js.map +0 -1
  575. package/dist/src/rlc-common/buildObjectTypes.d.ts +0 -29
  576. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +0 -1
  577. package/dist/src/rlc-common/buildObjectTypes.js +0 -412
  578. package/dist/src/rlc-common/buildObjectTypes.js.map +0 -1
  579. package/dist/src/rlc-common/buildPaginateHelper.d.ts +0 -6
  580. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +0 -1
  581. package/dist/src/rlc-common/buildPaginateHelper.js +0 -27
  582. package/dist/src/rlc-common/buildPaginateHelper.js.map +0 -1
  583. package/dist/src/rlc-common/buildParameterTypes.d.ts +0 -14
  584. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +0 -1
  585. package/dist/src/rlc-common/buildParameterTypes.js +0 -391
  586. package/dist/src/rlc-common/buildParameterTypes.js.map +0 -1
  587. package/dist/src/rlc-common/buildPollingHelper.d.ts +0 -6
  588. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +0 -1
  589. package/dist/src/rlc-common/buildPollingHelper.js +0 -61
  590. package/dist/src/rlc-common/buildPollingHelper.js.map +0 -1
  591. package/dist/src/rlc-common/buildResponseTypes.d.ts +0 -6
  592. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +0 -1
  593. package/dist/src/rlc-common/buildResponseTypes.js +0 -143
  594. package/dist/src/rlc-common/buildResponseTypes.js.map +0 -1
  595. package/dist/src/rlc-common/buildSamples.d.ts +0 -3
  596. package/dist/src/rlc-common/buildSamples.d.ts.map +0 -1
  597. package/dist/src/rlc-common/buildSamples.js +0 -30
  598. package/dist/src/rlc-common/buildSamples.js.map +0 -1
  599. package/dist/src/rlc-common/buildSchemaType.d.ts +0 -20
  600. package/dist/src/rlc-common/buildSchemaType.d.ts.map +0 -1
  601. package/dist/src/rlc-common/buildSchemaType.js +0 -71
  602. package/dist/src/rlc-common/buildSchemaType.js.map +0 -1
  603. package/dist/src/rlc-common/buildSerializeHelper.d.ts +0 -6
  604. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +0 -1
  605. package/dist/src/rlc-common/buildSerializeHelper.js +0 -36
  606. package/dist/src/rlc-common/buildSerializeHelper.js.map +0 -1
  607. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts +0 -6
  608. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +0 -1
  609. package/dist/src/rlc-common/buildTopLevelIndexFile.js +0 -48
  610. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +0 -1
  611. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts +0 -17
  612. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +0 -1
  613. package/dist/src/rlc-common/helpers/apiVersionUtil.js +0 -43
  614. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +0 -1
  615. package/dist/src/rlc-common/helpers/importsUtil.d.ts +0 -18
  616. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +0 -1
  617. package/dist/src/rlc-common/helpers/importsUtil.js +0 -164
  618. package/dist/src/rlc-common/helpers/importsUtil.js.map +0 -1
  619. package/dist/src/rlc-common/helpers/nameConstructors.d.ts +0 -42
  620. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +0 -1
  621. package/dist/src/rlc-common/helpers/nameConstructors.js +0 -61
  622. package/dist/src/rlc-common/helpers/nameConstructors.js.map +0 -1
  623. package/dist/src/rlc-common/helpers/nameUtils.d.ts +0 -37
  624. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +0 -1
  625. package/dist/src/rlc-common/helpers/nameUtils.js +0 -240
  626. package/dist/src/rlc-common/helpers/nameUtils.js.map +0 -1
  627. package/dist/src/rlc-common/helpers/operationHelpers.d.ts +0 -16
  628. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +0 -1
  629. package/dist/src/rlc-common/helpers/operationHelpers.js +0 -104
  630. package/dist/src/rlc-common/helpers/operationHelpers.js.map +0 -1
  631. package/dist/src/rlc-common/helpers/packageUtil.d.ts +0 -7
  632. package/dist/src/rlc-common/helpers/packageUtil.d.ts.map +0 -1
  633. package/dist/src/rlc-common/helpers/packageUtil.js +0 -10
  634. package/dist/src/rlc-common/helpers/packageUtil.js.map +0 -1
  635. package/dist/src/rlc-common/helpers/pathUtils.d.ts +0 -2
  636. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +0 -1
  637. package/dist/src/rlc-common/helpers/pathUtils.js +0 -10
  638. package/dist/src/rlc-common/helpers/pathUtils.js.map +0 -1
  639. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts +0 -10
  640. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +0 -1
  641. package/dist/src/rlc-common/helpers/schemaHelpers.js +0 -37
  642. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +0 -1
  643. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +0 -4
  644. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +0 -1
  645. package/dist/src/rlc-common/helpers/shortcutMethods.js +0 -49
  646. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +0 -1
  647. package/dist/src/rlc-common/helpers/typeUtil.d.ts +0 -32
  648. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +0 -1
  649. package/dist/src/rlc-common/helpers/typeUtil.js +0 -162
  650. package/dist/src/rlc-common/helpers/typeUtil.js.map +0 -1
  651. package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts +0 -12
  652. package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts.map +0 -1
  653. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +0 -161
  654. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +0 -1
  655. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts +0 -6
  656. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +0 -1
  657. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +0 -55
  658. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +0 -1
  659. package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts +0 -6
  660. package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts.map +0 -1
  661. package/dist/src/rlc-common/metadata/buildChangelogFile.js +0 -25
  662. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +0 -1
  663. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts +0 -6
  664. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +0 -1
  665. package/dist/src/rlc-common/metadata/buildESLintConfig.js +0 -79
  666. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +0 -1
  667. package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts +0 -5
  668. package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts.map +0 -1
  669. package/dist/src/rlc-common/metadata/buildLicenseFile.js +0 -32
  670. package/dist/src/rlc-common/metadata/buildLicenseFile.js.map +0 -1
  671. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts +0 -25
  672. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +0 -1
  673. package/dist/src/rlc-common/metadata/buildPackageFile.js +0 -197
  674. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +0 -1
  675. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts +0 -11
  676. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +0 -1
  677. package/dist/src/rlc-common/metadata/buildReadmeFile.js +0 -418
  678. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +0 -1
  679. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts +0 -6
  680. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +0 -1
  681. package/dist/src/rlc-common/metadata/buildRollupConfig.js +0 -140
  682. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +0 -1
  683. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts +0 -6
  684. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +0 -1
  685. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +0 -15
  686. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +0 -1
  687. package/dist/src/rlc-common/metadata/buildTestConfig.d.ts +0 -16
  688. package/dist/src/rlc-common/metadata/buildTestConfig.d.ts.map +0 -1
  689. package/dist/src/rlc-common/metadata/buildTestConfig.js +0 -54
  690. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +0 -1
  691. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts +0 -61
  692. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +0 -1
  693. package/dist/src/rlc-common/metadata/buildTsConfig.js +0 -170
  694. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +0 -1
  695. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts +0 -6
  696. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +0 -1
  697. package/dist/src/rlc-common/metadata/buildVitestConfig.js +0 -26
  698. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +0 -1
  699. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts +0 -20
  700. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +0 -1
  701. package/dist/src/rlc-common/metadata/buildWarpConfig.js +0 -76
  702. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +0 -1
  703. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +0 -51
  704. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +0 -1
  705. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +0 -121
  706. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +0 -1
  707. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts +0 -242
  708. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +0 -1
  709. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +0 -171
  710. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +0 -1
  711. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts +0 -8
  712. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +0 -1
  713. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +0 -101
  714. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +0 -1
  715. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts +0 -57
  716. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts.map +0 -1
  717. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +0 -53
  718. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +0 -1
  719. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts +0 -64
  720. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +0 -1
  721. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +0 -180
  722. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +0 -1
  723. package/dist/src/rlc-common/static/paginateContent.d.ts +0 -2
  724. package/dist/src/rlc-common/static/paginateContent.d.ts.map +0 -1
  725. package/dist/src/rlc-common/static/paginateContent.js +0 -345
  726. package/dist/src/rlc-common/static/paginateContent.js.map +0 -1
  727. package/dist/src/rlc-common/static/pollingContent.d.ts +0 -2
  728. package/dist/src/rlc-common/static/pollingContent.d.ts.map +0 -1
  729. package/dist/src/rlc-common/static/pollingContent.js +0 -225
  730. package/dist/src/rlc-common/static/pollingContent.js.map +0 -1
  731. package/dist/src/rlc-common/static/sampleTemplate.d.ts +0 -2
  732. package/dist/src/rlc-common/static/sampleTemplate.d.ts.map +0 -1
  733. package/dist/src/rlc-common/static/sampleTemplate.js +0 -56
  734. package/dist/src/rlc-common/static/sampleTemplate.js.map +0 -1
  735. package/dist/src/rlc-common/static/serializeHelper.d.ts +0 -6
  736. package/dist/src/rlc-common/static/serializeHelper.d.ts.map +0 -1
  737. package/dist/src/rlc-common/static/serializeHelper.js +0 -31
  738. package/dist/src/rlc-common/static/serializeHelper.js.map +0 -1
  739. package/dist/src/rlc-common/test/buildKarmaConfig.d.ts +0 -6
  740. package/dist/src/rlc-common/test/buildKarmaConfig.d.ts.map +0 -1
  741. package/dist/src/rlc-common/test/buildKarmaConfig.js +0 -11
  742. package/dist/src/rlc-common/test/buildKarmaConfig.js.map +0 -1
  743. package/dist/src/rlc-common/test/buildRecordedClient.d.ts +0 -6
  744. package/dist/src/rlc-common/test/buildRecordedClient.d.ts.map +0 -1
  745. package/dist/src/rlc-common/test/buildRecordedClient.js +0 -17
  746. package/dist/src/rlc-common/test/buildRecordedClient.js.map +0 -1
  747. package/dist/src/rlc-common/test/buildSampleTest.d.ts +0 -6
  748. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +0 -1
  749. package/dist/src/rlc-common/test/buildSampleTest.js +0 -14
  750. package/dist/src/rlc-common/test/buildSampleTest.js.map +0 -1
  751. package/dist/src/rlc-common/test/buildSnippets.d.ts +0 -6
  752. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +0 -1
  753. package/dist/src/rlc-common/test/buildSnippets.js +0 -26
  754. package/dist/src/rlc-common/test/buildSnippets.js.map +0 -1
  755. package/dist/src/rlc-common/transformSampleGroups.d.ts +0 -9
  756. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +0 -1
  757. package/dist/src/rlc-common/transformSampleGroups.js +0 -313
  758. package/dist/src/rlc-common/transformSampleGroups.js.map +0 -1
  759. package/dist/src/transform/transformApiVersionInfo.d.ts +0 -6
  760. package/dist/src/transform/transformApiVersionInfo.d.ts.map +0 -1
  761. package/dist/src/transform/transformApiVersionInfo.js +0 -78
  762. package/dist/src/transform/transformApiVersionInfo.js.map +0 -1
  763. package/dist/src/transform/transformHelperFunctionDetails.d.ts +0 -5
  764. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +0 -1
  765. package/dist/src/transform/transformHelperFunctionDetails.js +0 -74
  766. package/dist/src/transform/transformHelperFunctionDetails.js.map +0 -1
  767. package/dist/src/transform/transformParameters.d.ts +0 -14
  768. package/dist/src/transform/transformParameters.d.ts.map +0 -1
  769. package/dist/src/transform/transformParameters.js +0 -201
  770. package/dist/src/transform/transformParameters.js.map +0 -1
  771. package/dist/src/transform/transformPaths.d.ts +0 -5
  772. package/dist/src/transform/transformPaths.d.ts.map +0 -1
  773. package/dist/src/transform/transformPaths.js +0 -102
  774. package/dist/src/transform/transformPaths.js.map +0 -1
  775. package/dist/src/transform/transformResponses.d.ts +0 -5
  776. package/dist/src/transform/transformResponses.d.ts.map +0 -1
  777. package/dist/src/transform/transformResponses.js +0 -171
  778. package/dist/src/transform/transformResponses.js.map +0 -1
  779. package/dist/src/transform/transformSchemas.d.ts +0 -4
  780. package/dist/src/transform/transformSchemas.d.ts.map +0 -1
  781. package/dist/src/transform/transformSchemas.js +0 -191
  782. package/dist/src/transform/transformSchemas.js.map +0 -1
  783. package/dist/src/transform/transformTelemetryInfo.d.ts +0 -4
  784. package/dist/src/transform/transformTelemetryInfo.d.ts.map +0 -1
  785. package/dist/src/transform/transformTelemetryInfo.js +0 -22
  786. package/dist/src/transform/transformTelemetryInfo.js.map +0 -1
  787. package/dist/src/transform/transfromRLCOptions.d.ts +0 -14
  788. package/dist/src/transform/transfromRLCOptions.d.ts.map +0 -1
  789. package/dist/src/transform/transfromRLCOptions.js +0 -369
  790. package/dist/src/transform/transfromRLCOptions.js.map +0 -1
  791. package/dist/src/utils/clientUtils.d.ts +0 -10
  792. package/dist/src/utils/clientUtils.d.ts.map +0 -1
  793. package/dist/src/utils/clientUtils.js +0 -124
  794. package/dist/src/utils/clientUtils.js.map +0 -1
  795. package/dist/src/utils/credentialUtils.d.ts +0 -15
  796. package/dist/src/utils/credentialUtils.d.ts.map +0 -1
  797. package/dist/src/utils/credentialUtils.js +0 -68
  798. package/dist/src/utils/credentialUtils.js.map +0 -1
  799. package/dist/src/utils/crossLanguageDef.d.ts +0 -6
  800. package/dist/src/utils/crossLanguageDef.d.ts.map +0 -1
  801. package/dist/src/utils/crossLanguageDef.js +0 -59
  802. package/dist/src/utils/crossLanguageDef.js.map +0 -1
  803. package/dist/src/utils/dirname.d.ts +0 -9
  804. package/dist/src/utils/dirname.d.ts.map +0 -1
  805. package/dist/src/utils/dirname.js +0 -12
  806. package/dist/src/utils/dirname.js.map +0 -1
  807. package/dist/src/utils/emitUtil.d.ts +0 -5
  808. package/dist/src/utils/emitUtil.d.ts.map +0 -1
  809. package/dist/src/utils/emitUtil.js +0 -71
  810. package/dist/src/utils/emitUtil.js.map +0 -1
  811. package/dist/src/utils/fileSystemUtils.d.ts +0 -5
  812. package/dist/src/utils/fileSystemUtils.d.ts.map +0 -1
  813. package/dist/src/utils/fileSystemUtils.js +0 -59
  814. package/dist/src/utils/fileSystemUtils.js.map +0 -1
  815. package/dist/src/utils/importHelper.d.ts +0 -10
  816. package/dist/src/utils/importHelper.d.ts.map +0 -1
  817. package/dist/src/utils/importHelper.js +0 -51
  818. package/dist/src/utils/importHelper.js.map +0 -1
  819. package/dist/src/utils/mediaTypes.d.ts +0 -28
  820. package/dist/src/utils/mediaTypes.d.ts.map +0 -1
  821. package/dist/src/utils/mediaTypes.js +0 -124
  822. package/dist/src/utils/mediaTypes.js.map +0 -1
  823. package/dist/src/utils/modelUtils.d.ts +0 -60
  824. package/dist/src/utils/modelUtils.d.ts.map +0 -1
  825. package/dist/src/utils/modelUtils.js +0 -1488
  826. package/dist/src/utils/modelUtils.js.map +0 -1
  827. package/dist/src/utils/namespaceUtils.d.ts +0 -6
  828. package/dist/src/utils/namespaceUtils.d.ts.map +0 -1
  829. package/dist/src/utils/namespaceUtils.js +0 -69
  830. package/dist/src/utils/namespaceUtils.js.map +0 -1
  831. package/dist/src/utils/operationUtil.d.ts +0 -97
  832. package/dist/src/utils/operationUtil.d.ts.map +0 -1
  833. package/dist/src/utils/operationUtil.js +0 -547
  834. package/dist/src/utils/operationUtil.js.map +0 -1
  835. package/dist/src/utils/parameterUtils.d.ts +0 -9
  836. package/dist/src/utils/parameterUtils.d.ts.map +0 -1
  837. package/dist/src/utils/parameterUtils.js +0 -147
  838. package/dist/src/utils/parameterUtils.js.map +0 -1
  839. package/src/contextManager.ts +0 -101
  840. package/src/framework/hooks/sdkTypes.ts +0 -218
  841. package/src/framework/hooks/useDependencies.ts +0 -16
  842. package/src/modular/buildClassicalClient.ts +0 -434
  843. package/src/modular/buildClassicalOperationGroups.ts +0 -69
  844. package/src/modular/buildClientContext.ts +0 -325
  845. package/src/modular/buildOperations.ts +0 -248
  846. package/src/modular/buildProjectFiles.ts +0 -111
  847. package/src/modular/buildRestorePoller.ts +0 -242
  848. package/src/modular/buildRootIndex.ts +0 -407
  849. package/src/modular/buildSubpathIndex.ts +0 -152
  850. package/src/modular/emitLoggerFile.ts +0 -23
  851. package/src/modular/emitModels.ts +0 -1081
  852. package/src/modular/emitModelsOptions.ts +0 -56
  853. package/src/modular/emitSamples.ts +0 -675
  854. package/src/modular/emitTests.ts +0 -194
  855. package/src/modular/helpers/classicalOperationHelpers.ts +0 -375
  856. package/src/modular/helpers/clientHelpers.ts +0 -362
  857. package/src/modular/helpers/exampleValueHelpers.ts +0 -851
  858. package/src/modular/helpers/namingHelpers.ts +0 -84
  859. package/src/modular/helpers/operationHelpers.ts +0 -3035
  860. package/src/modular/helpers/typeHelpers.ts +0 -131
  861. package/src/modular/serialization/buildDeserializerFunction.ts +0 -564
  862. package/src/modular/serialization/buildSerializerFunction.ts +0 -616
  863. package/src/modular/serialization/buildXmlSerializerFunction.ts +0 -951
  864. package/src/modular/serialization/serializeUtils.ts +0 -217
  865. package/src/rlc-common/buildClient.ts +0 -490
  866. package/src/rlc-common/buildClientDefinitions.ts +0 -235
  867. package/src/rlc-common/buildIndexFile.ts +0 -344
  868. package/src/rlc-common/buildIsUnexpectedHelper.ts +0 -248
  869. package/src/rlc-common/buildLogger.ts +0 -43
  870. package/src/rlc-common/buildMethodShortcuts.ts +0 -71
  871. package/src/rlc-common/buildObjectTypes.ts +0 -603
  872. package/src/rlc-common/buildPaginateHelper.ts +0 -31
  873. package/src/rlc-common/buildParameterTypes.ts +0 -554
  874. package/src/rlc-common/buildPollingHelper.ts +0 -83
  875. package/src/rlc-common/buildResponseTypes.ts +0 -180
  876. package/src/rlc-common/buildSamples.ts +0 -32
  877. package/src/rlc-common/buildSchemaType.ts +0 -89
  878. package/src/rlc-common/buildSerializeHelper.ts +0 -49
  879. package/src/rlc-common/buildTopLevelIndexFile.ts +0 -58
  880. package/src/rlc-common/helpers/importsUtil.ts +0 -184
  881. package/src/rlc-common/helpers/nameConstructors.ts +0 -110
  882. package/src/rlc-common/helpers/operationHelpers.ts +0 -138
  883. package/src/rlc-common/helpers/packageUtil.ts +0 -13
  884. package/src/rlc-common/helpers/pathUtils.ts +0 -10
  885. package/src/rlc-common/helpers/shortcutMethods.ts +0 -58
  886. package/src/rlc-common/helpers/valueGenerationUtil.ts +0 -234
  887. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +0 -64
  888. package/src/rlc-common/metadata/buildESLintConfig.ts +0 -84
  889. package/src/rlc-common/metadata/buildPackageFile.ts +0 -242
  890. package/src/rlc-common/metadata/buildReadmeFile.ts +0 -515
  891. package/src/rlc-common/metadata/buildRollupConfig.ts +0 -147
  892. package/src/rlc-common/metadata/buildSampleEnvFile.ts +0 -21
  893. package/src/rlc-common/metadata/buildTestConfig.ts +0 -72
  894. package/src/rlc-common/metadata/buildTsConfig.ts +0 -219
  895. package/src/rlc-common/metadata/buildWarpConfig.ts +0 -91
  896. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +0 -152
  897. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +0 -199
  898. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +0 -123
  899. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +0 -68
  900. package/src/rlc-common/metadata/packageJson/packageCommon.ts +0 -235
  901. package/src/rlc-common/static/pollingContent.ts +0 -225
  902. package/src/rlc-common/test/buildRecordedClient.ts +0 -18
  903. package/src/rlc-common/test/buildSampleTest.ts +0 -15
  904. package/src/rlc-common/test/buildSnippets.ts +0 -29
  905. package/src/rlc-common/transformSampleGroups.ts +0 -407
  906. package/src/transform/transformApiVersionInfo.ts +0 -103
  907. package/src/transform/transformHelperFunctionDetails.ts +0 -88
  908. package/src/transform/transformParameters.ts +0 -321
  909. package/src/transform/transformPaths.ts +0 -157
  910. package/src/transform/transformResponses.ts +0 -237
  911. package/src/transform/transformSchemas.ts +0 -212
  912. package/src/transform/transformTelemetryInfo.ts +0 -33
  913. package/src/transform/transfromRLCOptions.ts +0 -461
  914. package/src/utils/clientUtils.ts +0 -162
  915. package/src/utils/crossLanguageDef.ts +0 -66
  916. package/src/utils/dirname.ts +0 -12
  917. package/src/utils/emitUtil.ts +0 -92
  918. package/src/utils/fileSystemUtils.ts +0 -69
  919. package/src/utils/importHelper.ts +0 -59
  920. package/src/utils/modelUtils.ts +0 -1737
  921. package/src/utils/operationUtil.ts +0 -763
  922. package/src/utils/parameterUtils.ts +0 -192
  923. /package/src/{metaTree.ts → meta-tree.ts} +0 -0
  924. /package/src/modular/{buildModularOptions.ts → build-modular-options.ts} +0 -0
  925. /package/src/modular/helpers/{clientOptionHelpers.ts → client-option-helpers.ts} +0 -0
  926. /package/src/modular/helpers/{docsHelpers.ts → docs-helpers.ts} +0 -0
  927. /package/src/rlc-common/helpers/{apiVersionUtil.ts → api-version-util.ts} +0 -0
  928. /package/src/rlc-common/helpers/{nameUtils.ts → name-utils.ts} +0 -0
  929. /package/src/rlc-common/helpers/{schemaHelpers.ts → schema-helpers.ts} +0 -0
  930. /package/src/rlc-common/helpers/{typeUtil.ts → type-util.ts} +0 -0
  931. /package/src/rlc-common/metadata/{buildChangelogFile.ts → build-changelog-file.ts} +0 -0
  932. /package/src/rlc-common/metadata/{buildLicenseFile.ts → build-license-file.ts} +0 -0
  933. /package/src/rlc-common/metadata/{buildVitestConfig.ts → build-vitest-config.ts} +0 -0
  934. /package/src/rlc-common/static/{paginateContent.ts → paginate-content.ts} +0 -0
  935. /package/src/rlc-common/static/{sampleTemplate.ts → sample-template.ts} +0 -0
  936. /package/src/rlc-common/static/{serializeHelper.ts → serialize-helper.ts} +0 -0
  937. /package/src/rlc-common/test/{buildKarmaConfig.ts → build-karma-config.ts} +0 -0
  938. /package/src/utils/{credentialUtils.ts → credential-utils.ts} +0 -0
  939. /package/src/utils/{mediaTypes.ts → media-types.ts} +0 -0
  940. /package/src/utils/{namespaceUtils.ts → namespace-utils.ts} +0 -0
@@ -1,951 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
-
4
- import {
5
- isReadOnly,
6
- SdkModelPropertyType,
7
- SdkModelType,
8
- SdkPackage,
9
- SdkType,
10
- UsageFlags,
11
- } from "@azure-tools/typespec-client-generator-core";
12
- import { NoTarget } from "@typespec/compiler";
13
- import { isMetadata } from "@typespec/http";
14
- import { FunctionDeclarationStructure, StructureKind } from "ts-morph";
15
- import { useDependencies } from "../../framework/hooks/useDependencies.js";
16
- import { resolveReference } from "../../framework/reference.js";
17
- import { refkey } from "../../framework/refkey.js";
18
- import { reportDiagnostic } from "../../lib.js";
19
- import { NameType } from "../../rlc-common/index.js";
20
- import { SdkContext } from "../../utils/interfaces.js";
21
- import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
22
- import { getAdditionalPropertiesName, normalizeModelName } from "../emitModels.js";
23
- import { getAllAncestors, getAllProperties } from "../helpers/operationHelpers.js";
24
- import { getAdditionalPropertiesType } from "../helpers/typeHelpers.js";
25
- import { XmlHelpers } from "../static-helpers-metadata.js";
26
- import { normalizeModelPropertyName } from "../type-expressions/get-type-expression.js";
27
- import { isSupportedSerializeType, ModelSerializeOptions } from "./serializeUtils.js";
28
-
29
- /**
30
- * Checks if a model type has XML serialization options defined
31
- */
32
- export function hasXmlSerialization(type: SdkType): boolean {
33
- if (type.kind !== "model") {
34
- return false;
35
- }
36
- // Check if the model itself has XML options
37
- if (type.serializationOptions?.xml) {
38
- return true;
39
- }
40
- // Check if any property has XML options
41
- return type.properties?.some((p) => p.serializationOptions?.xml) ?? false;
42
- }
43
-
44
- /**
45
- * Checks if any model in the SDK package uses XML serialization
46
- */
47
- export function packageUsesXmlSerialization(sdkPackage: SdkPackage<any>): boolean {
48
- for (const model of sdkPackage.models) {
49
- if (hasXmlSerialization(model)) {
50
- return true;
51
- }
52
- }
53
- return false;
54
- }
55
-
56
- /**
57
- * Gets the XML element name for a model type
58
- */
59
- export function getXmlRootName(type: SdkModelType): string {
60
- return type.serializationOptions?.xml?.name ?? type.name;
61
- }
62
-
63
- /**
64
- * Gets the XML namespace for a model type
65
- */
66
- export function getXmlRootNs(
67
- type: SdkModelType,
68
- ): { namespace: string; prefix: string } | undefined {
69
- return type.serializationOptions?.xml?.ns;
70
- }
71
-
72
- /**
73
- * Builds an XML serializer function for a model type
74
- */
75
- export function buildXmlModelSerializer(
76
- context: SdkContext,
77
- type: SdkModelType,
78
- options: ModelSerializeOptions = {
79
- nameOnly: false,
80
- skipDiscriminatedUnionSuffix: false,
81
- },
82
- ): FunctionDeclarationStructure | string | undefined {
83
- if (!isSupportedSerializeType(type)) {
84
- return undefined;
85
- }
86
-
87
- if (!type.name) {
88
- reportDiagnostic(context.program, {
89
- code: "anonymous-type-serialization",
90
- target: type.__raw || NoTarget,
91
- });
92
- return undefined;
93
- }
94
-
95
- if (
96
- !type.usage ||
97
- (type.usage !== undefined && (type.usage & UsageFlags.Input) !== UsageFlags.Input)
98
- ) {
99
- return undefined;
100
- }
101
-
102
- if (isAzureCoreErrorType(context.program, type.__raw!)) {
103
- return undefined;
104
- }
105
-
106
- const serializerFunctionName =
107
- options.predefinedName ??
108
- `${normalizeModelName(
109
- context,
110
- type,
111
- NameType.Operation,
112
- options.skipDiscriminatedUnionSuffix,
113
- )}XmlSerializer`;
114
-
115
- if (options.nameOnly) {
116
- return resolveReference(refkey(type, "xmlSerializer"));
117
- }
118
-
119
- const serializeToXmlRef = resolveReference(XmlHelpers.serializeToXml);
120
- const xmlPropertyMetadataRef = resolveReference(XmlHelpers.XmlPropertyMetadata);
121
-
122
- const properties = getAllProperties(context, type, getAllAncestors(type));
123
- const xmlRootName = getXmlRootName(type);
124
- const xmlRootNs = getXmlRootNs(type);
125
-
126
- // Build property metadata array
127
- const propertyMetadata = buildPropertyMetadataArray(context, properties);
128
-
129
- const statements: string[] = [];
130
-
131
- // Generate the properties metadata constant
132
- statements.push(`const properties: ${xmlPropertyMetadataRef}[] = [${propertyMetadata}];`);
133
-
134
- // Generate additionalProperties config if applicable
135
- const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
136
-
137
- // Generate the serialization call
138
- if (xmlRootNs) {
139
- if (additionalPropsConfigExpr) {
140
- statements.push(
141
- `return ${serializeToXmlRef}(item, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" }, undefined, ${additionalPropsConfigExpr});`,
142
- );
143
- } else {
144
- statements.push(
145
- `return ${serializeToXmlRef}(item, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`,
146
- );
147
- }
148
- } else {
149
- if (additionalPropsConfigExpr) {
150
- statements.push(
151
- `return ${serializeToXmlRef}(item, properties, "${xmlRootName}", undefined, undefined, ${additionalPropsConfigExpr});`,
152
- );
153
- } else {
154
- statements.push(`return ${serializeToXmlRef}(item, properties, "${xmlRootName}");`);
155
- }
156
- }
157
-
158
- const serializerFunction: FunctionDeclarationStructure = {
159
- kind: StructureKind.Function,
160
- name: serializerFunctionName,
161
- isExported: true,
162
- parameters: [
163
- {
164
- name: "item",
165
- type: resolveReference(refkey(type)),
166
- },
167
- ],
168
- returnType: "string",
169
- statements,
170
- };
171
-
172
- return serializerFunction;
173
- }
174
-
175
- /**
176
- * Builds an XML object serializer function for a model type.
177
- * This serializer returns a plain object with XML property names (not an XML string).
178
- * Used for nested objects within XML serialization.
179
- */
180
- export function buildXmlObjectModelSerializer(
181
- context: SdkContext,
182
- type: SdkModelType,
183
- options: ModelSerializeOptions = {
184
- nameOnly: false,
185
- skipDiscriminatedUnionSuffix: false,
186
- },
187
- ): FunctionDeclarationStructure | string | undefined {
188
- if (!isSupportedSerializeType(type)) {
189
- return undefined;
190
- }
191
-
192
- if (!type.name) {
193
- reportDiagnostic(context.program, {
194
- code: "anonymous-type-serialization",
195
- target: type.__raw || NoTarget,
196
- });
197
- return undefined;
198
- }
199
-
200
- if (
201
- !type.usage ||
202
- (type.usage !== undefined && (type.usage & UsageFlags.Input) !== UsageFlags.Input)
203
- ) {
204
- return undefined;
205
- }
206
-
207
- if (isAzureCoreErrorType(context.program, type.__raw!)) {
208
- return undefined;
209
- }
210
-
211
- const serializerFunctionName =
212
- options.predefinedName ??
213
- `${normalizeModelName(
214
- context,
215
- type,
216
- NameType.Operation,
217
- options.skipDiscriminatedUnionSuffix,
218
- )}XmlObjectSerializer`;
219
-
220
- if (options.nameOnly) {
221
- return resolveReference(refkey(type, "xmlObjectSerializer"));
222
- }
223
-
224
- const properties = getAllProperties(context, type, getAllAncestors(type));
225
-
226
- // Build the object literal with XML property names
227
- const propertyAssignments = buildXmlObjectPropertyAssignments(context, properties);
228
-
229
- const statements: string[] = [];
230
-
231
- // Check if the model is a dictionary type (has additionalProperties)
232
- const additionalPropertyType = getAdditionalPropertiesType(type);
233
-
234
- if (additionalPropertyType) {
235
- const apName = getAdditionalPropertiesName(context, type);
236
- if (propertyAssignments.length === 0) {
237
- // Pure dictionary type - spread additionalProperties entries as XML elements
238
- statements.push(
239
- `return { ...item["${apName}"] } as ${resolveReference(XmlHelpers.XmlSerializedObject)};`,
240
- );
241
- } else {
242
- // Model with both defined properties and additional properties
243
- statements.push(`return {${propertyAssignments}, ...item["${apName}"]};`);
244
- }
245
- } else {
246
- statements.push(`return {${propertyAssignments}};`);
247
- }
248
-
249
- const xmlSerializedObjectRef = resolveReference(XmlHelpers.XmlSerializedObject);
250
-
251
- // Use _item when there are no properties and not a dict type to avoid unused parameter lint error
252
- const paramName = propertyAssignments.length === 0 && !additionalPropertyType ? "_item" : "item";
253
-
254
- const serializerFunction: FunctionDeclarationStructure = {
255
- kind: StructureKind.Function,
256
- name: serializerFunctionName,
257
- isExported: true,
258
- parameters: [
259
- {
260
- name: paramName,
261
- type: resolveReference(refkey(type)),
262
- },
263
- ],
264
- returnType: xmlSerializedObjectRef,
265
- statements,
266
- };
267
-
268
- return serializerFunction;
269
- }
270
-
271
- /**
272
- * Builds the property assignments for XML object serializer.
273
- * Maps client property names to XML property names in the output object.
274
- */
275
- function buildXmlObjectPropertyAssignments(
276
- context: SdkContext,
277
- properties: SdkModelPropertyType[],
278
- ): string {
279
- const assignments: string[] = [];
280
-
281
- for (const property of properties) {
282
- if (property.kind !== "property") {
283
- continue;
284
- }
285
- if (isReadOnly(property)) {
286
- continue;
287
- }
288
- if (isMetadata(context.program, property.__raw!)) {
289
- continue;
290
- }
291
-
292
- const xmlOptions = property.serializationOptions?.xml;
293
- const propertyName = normalizeModelPropertyName(context, property);
294
- const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
295
-
296
- // Use XML name if available, fall back to serializedName, then JSON name, then property name
297
- const xmlName = xmlOptions?.name ?? property.name;
298
-
299
- // Handle nested objects and arrays
300
- const nestedSerializer = getNestedXmlSerializer(context, property.type);
301
-
302
- let valueExpr: string;
303
- if (nestedSerializer && property.type.kind === "model") {
304
- // Nested object - use XML object serializer
305
- valueExpr = `item["${cleanPropertyName}"] !== undefined ? ${nestedSerializer}(item["${cleanPropertyName}"]) : undefined`;
306
- } else if (
307
- nestedSerializer &&
308
- property.type.kind === "array" &&
309
- property.type.valueType.kind === "model"
310
- ) {
311
- // Array of objects - map each item through XML object serializer
312
- const mappedExpr = `item["${cleanPropertyName}"]?.map((i: any) => ${nestedSerializer}(i))`;
313
- if (xmlOptions?.unwrapped) {
314
- // Unwrapped: items are direct siblings under the item element name
315
- const itemKey = xmlOptions?.itemsName ?? xmlName;
316
- assignments.push(`"${itemKey}": ${mappedExpr}`);
317
- continue;
318
- } else if (xmlOptions?.itemsName) {
319
- // Wrapped: items nested under wrapper element with item element name
320
- valueExpr = `{ "${xmlOptions.itemsName}": ${mappedExpr} }`;
321
- } else {
322
- valueExpr = mappedExpr;
323
- }
324
- } else if (property.type.kind === "array") {
325
- // Array of primitives - handle itemsName wrapping
326
- const primitiveExpr = buildXmlValueSerializationExpr(
327
- context,
328
- property.type,
329
- `item["${cleanPropertyName}"]`,
330
- );
331
- if (xmlOptions?.unwrapped) {
332
- const itemKey = xmlOptions?.itemsName ?? xmlName;
333
- assignments.push(`"${itemKey}": ${primitiveExpr}`);
334
- continue;
335
- } else if (xmlOptions?.itemsName) {
336
- valueExpr = `{ "${xmlOptions.itemsName}": ${primitiveExpr} }`;
337
- } else {
338
- valueExpr = primitiveExpr;
339
- }
340
- } else {
341
- // Handle type-specific serialization
342
- valueExpr = buildXmlValueSerializationExpr(
343
- context,
344
- property.type,
345
- `item["${cleanPropertyName}"]`,
346
- );
347
- }
348
-
349
- assignments.push(`"${xmlName}": ${valueExpr}`);
350
- }
351
-
352
- return assignments.join(",\n ");
353
- }
354
-
355
- /**
356
- * Builds the serialization expression for a value based on its type.
357
- * Handles bytes (base64), dates, and arrays of these types.
358
- */
359
- function buildXmlValueSerializationExpr(
360
- context: SdkContext,
361
- type: SdkType,
362
- valueExpr: string,
363
- ): string {
364
- const uint8ArrayToStringRef = resolveReference(useDependencies().uint8ArrayToString);
365
-
366
- switch (type.kind) {
367
- case "bytes":
368
- // Convert Uint8Array to base64 string
369
- return `${valueExpr} !== undefined ? ${uint8ArrayToStringRef}(${valueExpr}, "base64") : undefined`;
370
-
371
- case "utcDateTime": {
372
- // Convert Date to appropriate string format
373
- const encoding = (type.encode as string) ?? "rfc3339";
374
- if (encoding === "unixTimestamp") {
375
- return `${valueExpr} !== undefined ? ${valueExpr}.getTime() : undefined`;
376
- } else if (encoding === "rfc7231") {
377
- return `${valueExpr} !== undefined ? ${valueExpr}.toUTCString() : undefined`;
378
- }
379
- // Default rfc3339
380
- return `${valueExpr} !== undefined ? ${valueExpr}.toISOString() : undefined`;
381
- }
382
-
383
- case "array": {
384
- // Handle arrays - need to serialize each element
385
- const itemExpr = buildXmlValueSerializationExpr(context, type.valueType, "i");
386
- if (itemExpr !== "i") {
387
- // If items need transformation, map them
388
- return `${valueExpr}?.map((i: any) => ${itemExpr})`;
389
- }
390
- // No transformation needed
391
- return valueExpr;
392
- }
393
-
394
- default:
395
- // Primitive types - use directly
396
- return valueExpr;
397
- }
398
- }
399
-
400
- /**
401
- * Builds the property metadata array for XML serialization
402
- */
403
- function buildPropertyMetadataArray(
404
- context: SdkContext,
405
- properties: SdkModelPropertyType[],
406
- ): string {
407
- const metadataEntries: string[] = [];
408
-
409
- for (const property of properties) {
410
- if (property.kind !== "property") {
411
- continue;
412
- }
413
- if (isReadOnly(property)) {
414
- continue;
415
- }
416
- if (isMetadata(context.program, property.__raw!)) {
417
- continue;
418
- }
419
-
420
- const xmlOptions = property.serializationOptions?.xml;
421
- const jsonOptions = property.serializationOptions?.json;
422
- const propertyName = normalizeModelPropertyName(context, property);
423
- const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
424
-
425
- // Use XML name if available, fall back to JSON name, then property name
426
- const serializedName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
427
-
428
- const metadataObj: string[] = [
429
- `propertyName: "${cleanPropertyName}"`,
430
- `xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`,
431
- ];
432
-
433
- // Add type information for special handling
434
- const typeInfo = getPropertyTypeInfo(property.type);
435
- if (typeInfo.type) {
436
- metadataObj.push(`type: "${typeInfo.type}"`);
437
- }
438
- if (typeInfo.dateEncoding) {
439
- metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
440
- }
441
- if (typeInfo.bytesEncoding) {
442
- metadataObj.push(`bytesEncoding: "${typeInfo.bytesEncoding}"`);
443
- }
444
- if (typeInfo.itemType) {
445
- metadataObj.push(`itemType: "${typeInfo.itemType}"`);
446
- }
447
-
448
- // Add serializer for complex types
449
- const nestedSerializer = getNestedXmlSerializer(context, property.type);
450
- if (nestedSerializer) {
451
- metadataObj.push(`serializer: ${nestedSerializer}`);
452
- }
453
-
454
- metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
455
- }
456
-
457
- return metadataEntries.join(",\n ");
458
- }
459
-
460
- /**
461
- * Builds the XML options string from XmlSerializationOptions
462
- */
463
- function buildXmlOptionsString(xmlOptions?: {
464
- name: string;
465
- attribute?: boolean;
466
- ns?: { namespace: string; prefix: string };
467
- unwrapped?: boolean;
468
- itemsName?: string;
469
- itemsNs?: { namespace: string; prefix: string };
470
- }): string {
471
- if (!xmlOptions) {
472
- return "";
473
- }
474
-
475
- const parts: string[] = [];
476
-
477
- if (xmlOptions.attribute) {
478
- parts.push(`attribute: true`);
479
- }
480
- if (xmlOptions.ns) {
481
- parts.push(
482
- `ns: { namespace: "${xmlOptions.ns.namespace}", prefix: "${xmlOptions.ns.prefix}" }`,
483
- );
484
- }
485
- if (xmlOptions.unwrapped) {
486
- parts.push(`unwrapped: true`);
487
- }
488
- if (xmlOptions.itemsName) {
489
- parts.push(`itemsName: "${xmlOptions.itemsName}"`);
490
- }
491
- if (xmlOptions.itemsNs) {
492
- parts.push(
493
- `itemsNs: { namespace: "${xmlOptions.itemsNs.namespace}", prefix: "${xmlOptions.itemsNs.prefix}" }`,
494
- );
495
- }
496
-
497
- return parts.length > 0 ? `, ${parts.join(", ")}` : "";
498
- }
499
-
500
- /**
501
- * Gets type information for a property for XML serialization
502
- */
503
- function getPropertyTypeInfo(type: SdkType): {
504
- type?: "array" | "object" | "primitive" | "date" | "bytes" | "dict";
505
- primitiveSubtype?: "string" | "number" | "boolean";
506
- dateEncoding?: "rfc3339" | "rfc7231" | "unixTimestamp";
507
- bytesEncoding?: "base64" | "base64url";
508
- itemType?: "primitive" | "date" | "bytes";
509
- } {
510
- switch (type.kind) {
511
- case "array": {
512
- // For arrays, also extract item type info for bytes/date items
513
- const itemInfo = getPropertyTypeInfo(type.valueType);
514
- const result: ReturnType<typeof getPropertyTypeInfo> = { type: "array" };
515
- // Only include item type info for types that need special serialization
516
- if (itemInfo.type === "bytes" || itemInfo.type === "date" || itemInfo.type === "primitive") {
517
- result.itemType = itemInfo.type as "primitive" | "date" | "bytes";
518
- }
519
- if (itemInfo.dateEncoding) {
520
- result.dateEncoding = itemInfo.dateEncoding;
521
- }
522
- if (itemInfo.bytesEncoding) {
523
- result.bytesEncoding = itemInfo.bytesEncoding;
524
- }
525
- if (itemInfo.primitiveSubtype) {
526
- result.primitiveSubtype = itemInfo.primitiveSubtype;
527
- }
528
- return result;
529
- }
530
- case "model":
531
- return { type: "object" };
532
- case "dict":
533
- return { type: "dict" };
534
- case "utcDateTime":
535
- return {
536
- type: "date",
537
- dateEncoding: (type.encode as "rfc3339" | "rfc7231" | "unixTimestamp") ?? "rfc3339",
538
- };
539
- case "bytes": {
540
- const encode = (type as any).encode as string | undefined;
541
- // Default to base64 if no encoding specified
542
- const bytesEncoding = encode === "base64url" ? "base64url" : ("base64" as const);
543
- return { type: "bytes", bytesEncoding };
544
- }
545
- case "boolean":
546
- return { type: "primitive", primitiveSubtype: "boolean" };
547
- case "string":
548
- case "url":
549
- return { type: "primitive", primitiveSubtype: "string" };
550
- case "enum":
551
- case "enumvalue":
552
- case "constant":
553
- // Recurse into the underlying value type (e.g. string enum → string)
554
- return getPropertyTypeInfo(type.valueType);
555
- case "union":
556
- // Inspect variant types; if all share the same subtype use it,
557
- // otherwise default to string as a safe fallback
558
- if (type.variantTypes.length > 0) {
559
- const first = getPropertyTypeInfo(type.variantTypes[0]!);
560
- const allSame = type.variantTypes.every(
561
- (v) => getPropertyTypeInfo(v).primitiveSubtype === first.primitiveSubtype,
562
- );
563
- if (allSame) {
564
- return first;
565
- }
566
- }
567
- return { type: "primitive", primitiveSubtype: "string" };
568
- case "nullable":
569
- // Recurse into the underlying non-null type
570
- return getPropertyTypeInfo(type.type);
571
- default:
572
- // Numeric kinds (int8, int16, int32, int64, uint8, ..., float32, float64,
573
- // decimal, decimal128, numeric, integer, safeint, float) and any other
574
- // scalar types default to number subtype.
575
- return { type: "primitive", primitiveSubtype: "number" };
576
- }
577
- }
578
-
579
- /**
580
- * Gets the nested XML serializer function reference for complex types.
581
- * Uses the XML object serializer to properly handle XML property names.
582
- */
583
- function getNestedXmlSerializer(context: SdkContext, type: SdkType): string | undefined {
584
- if (type.kind === "model") {
585
- // For nested objects, use the XML object serializer which returns objects
586
- // with XML property names for proper serialization
587
- const serializerName = buildXmlObjectModelSerializer(context, type, {
588
- nameOnly: true,
589
- skipDiscriminatedUnionSuffix: false,
590
- });
591
- if (typeof serializerName === "string") {
592
- return serializerName;
593
- }
594
- }
595
- if (type.kind === "array" && type.valueType.kind === "model") {
596
- // For arrays, use the XML object serializer for items
597
- // The XML helper calls this for each item and handles the array mapping
598
- const itemSerializer = buildXmlObjectModelSerializer(context, type.valueType, {
599
- nameOnly: true,
600
- skipDiscriminatedUnionSuffix: false,
601
- });
602
- if (typeof itemSerializer === "string") {
603
- return itemSerializer;
604
- }
605
- }
606
- return undefined;
607
- }
608
-
609
- /**
610
- * Builds an XML deserializer function for a model type
611
- */
612
- export function buildXmlModelDeserializer(
613
- context: SdkContext,
614
- type: SdkModelType,
615
- options: ModelSerializeOptions = {
616
- nameOnly: false,
617
- skipDiscriminatedUnionSuffix: false,
618
- },
619
- ): FunctionDeclarationStructure | string | undefined {
620
- if (!isSupportedSerializeType(type)) {
621
- return undefined;
622
- }
623
-
624
- if (!type.name) {
625
- reportDiagnostic(context.program, {
626
- code: "anonymous-type-deserialization",
627
- target: type.__raw || NoTarget,
628
- });
629
- return undefined;
630
- }
631
-
632
- if (
633
- !type.usage ||
634
- (type.usage !== undefined &&
635
- (type.usage & UsageFlags.Output) !== UsageFlags.Output &&
636
- (type.usage & UsageFlags.Exception) !== UsageFlags.Exception)
637
- ) {
638
- return undefined;
639
- }
640
-
641
- if (isAzureCoreErrorType(context.program, type.__raw!)) {
642
- return undefined;
643
- }
644
-
645
- const deserializerFunctionName =
646
- options.predefinedName ??
647
- `${normalizeModelName(
648
- context,
649
- type,
650
- NameType.Operation,
651
- options.skipDiscriminatedUnionSuffix,
652
- )}XmlDeserializer`;
653
-
654
- if (options.nameOnly) {
655
- return resolveReference(refkey(type, "xmlDeserializer"));
656
- }
657
-
658
- const deserializeFromXmlRef = resolveReference(XmlHelpers.deserializeFromXml);
659
- const xmlPropertyDeserializeMetadataRef = resolveReference(
660
- XmlHelpers.XmlPropertyDeserializeMetadata,
661
- );
662
-
663
- const properties = getAllProperties(context, type, getAllAncestors(type));
664
- const xmlRootName = getXmlRootName(type);
665
- const xmlRootNs = getXmlRootNs(type);
666
-
667
- // Build property metadata array for deserialization
668
- const propertyMetadata = buildDeserializePropertyMetadataArray(context, properties);
669
-
670
- const statements: string[] = [];
671
-
672
- // Generate the properties metadata constant
673
- statements.push(
674
- `const properties: ${xmlPropertyDeserializeMetadataRef}[] = [${propertyMetadata}];`,
675
- );
676
-
677
- // Generate additionalProperties config if applicable
678
- const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
679
-
680
- // Generate the deserialization call
681
- const typeRef = resolveReference(refkey(type));
682
- if (xmlRootNs) {
683
- if (additionalPropsConfigExpr) {
684
- statements.push(
685
- `return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" }, undefined, ${additionalPropsConfigExpr});`,
686
- );
687
- } else {
688
- statements.push(
689
- `return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`,
690
- );
691
- }
692
- } else {
693
- if (additionalPropsConfigExpr) {
694
- statements.push(
695
- `return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", undefined, undefined, ${additionalPropsConfigExpr});`,
696
- );
697
- } else {
698
- statements.push(
699
- `return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}");`,
700
- );
701
- }
702
- }
703
-
704
- const deserializerFunction: FunctionDeclarationStructure = {
705
- kind: StructureKind.Function,
706
- name: deserializerFunctionName,
707
- isExported: true,
708
- parameters: [
709
- {
710
- name: "xmlString",
711
- type: "string",
712
- },
713
- ],
714
- returnType: resolveReference(refkey(type)),
715
- statements,
716
- };
717
-
718
- return deserializerFunction;
719
- }
720
-
721
- /**
722
- * Builds the property metadata array for XML deserialization
723
- */
724
- function buildDeserializePropertyMetadataArray(
725
- context: SdkContext,
726
- properties: SdkModelPropertyType[],
727
- ): string {
728
- const metadataEntries: string[] = [];
729
-
730
- for (const property of properties) {
731
- if (property.kind !== "property") {
732
- continue;
733
- }
734
- if (isMetadata(context.program, property.__raw!)) {
735
- continue;
736
- }
737
-
738
- const xmlOptions = property.serializationOptions?.xml;
739
- const jsonOptions = property.serializationOptions?.json;
740
- const propertyName = normalizeModelPropertyName(context, property);
741
- const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
742
-
743
- // Use XML name if available, fall back to JSON name, then property name
744
- const serializedName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
745
-
746
- const metadataObj: string[] = [
747
- `propertyName: "${cleanPropertyName}"`,
748
- `xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`,
749
- ];
750
-
751
- // Add type information for special handling
752
- const typeInfo = getPropertyTypeInfo(property.type);
753
- if (typeInfo.type) {
754
- metadataObj.push(`type: "${typeInfo.type}"`);
755
- }
756
- if (typeInfo.dateEncoding) {
757
- metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
758
- }
759
- if (typeInfo.bytesEncoding) {
760
- metadataObj.push(`bytesEncoding: "${typeInfo.bytesEncoding}"`);
761
- }
762
- if (typeInfo.itemType) {
763
- metadataObj.push(`itemType: "${typeInfo.itemType}"`);
764
- }
765
- if (typeInfo.primitiveSubtype) {
766
- metadataObj.push(`primitiveSubtype: "${typeInfo.primitiveSubtype}"`);
767
- }
768
-
769
- // Add deserializer for complex types
770
- const nestedDeserializer = getNestedXmlDeserializer(context, property.type);
771
- if (nestedDeserializer) {
772
- metadataObj.push(`deserializer: ${nestedDeserializer}`);
773
- }
774
-
775
- metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
776
- }
777
-
778
- return metadataEntries.join(",\n ");
779
- }
780
-
781
- /**
782
- * Gets the nested XML deserializer function reference for complex types.
783
- * Uses the XML object deserializer to properly handle XML property names.
784
- */
785
- function getNestedXmlDeserializer(context: SdkContext, type: SdkType): string | undefined {
786
- if (type.kind === "model") {
787
- // For nested objects, use the XML object deserializer which takes parsed XML objects
788
- // and uses XML property names for mapping
789
- const deserializerName = buildXmlObjectModelDeserializer(context, type, {
790
- nameOnly: true,
791
- skipDiscriminatedUnionSuffix: false,
792
- });
793
- if (typeof deserializerName === "string") {
794
- return deserializerName;
795
- }
796
- }
797
- if (type.kind === "array" && type.valueType.kind === "model") {
798
- // For arrays, use the XML object deserializer for items
799
- // The XML helper calls this for each item and handles the array mapping
800
- const itemDeserializer = buildXmlObjectModelDeserializer(context, type.valueType, {
801
- nameOnly: true,
802
- skipDiscriminatedUnionSuffix: false,
803
- });
804
- if (typeof itemDeserializer === "string") {
805
- return itemDeserializer;
806
- }
807
- }
808
- return undefined;
809
- }
810
-
811
- /**
812
- * Builds an XML object deserializer function for a model type.
813
- * This deserializer takes a pre-parsed XML object (not an XML string)
814
- * and uses XML property names for mapping. Used for nested objects.
815
- */
816
- export function buildXmlObjectModelDeserializer(
817
- context: SdkContext,
818
- type: SdkModelType,
819
- options: ModelSerializeOptions = {
820
- nameOnly: false,
821
- skipDiscriminatedUnionSuffix: false,
822
- },
823
- ): FunctionDeclarationStructure | string | undefined {
824
- if (!isSupportedSerializeType(type)) {
825
- return undefined;
826
- }
827
-
828
- if (!type.name) {
829
- reportDiagnostic(context.program, {
830
- code: "anonymous-type-deserialization",
831
- target: type.__raw || NoTarget,
832
- });
833
- return undefined;
834
- }
835
-
836
- if (
837
- !type.usage ||
838
- (type.usage !== undefined &&
839
- (type.usage & UsageFlags.Output) !== UsageFlags.Output &&
840
- (type.usage & UsageFlags.Exception) !== UsageFlags.Exception)
841
- ) {
842
- return undefined;
843
- }
844
-
845
- if (isAzureCoreErrorType(context.program, type.__raw!)) {
846
- return undefined;
847
- }
848
-
849
- const deserializerFunctionName =
850
- options.predefinedName ??
851
- `${normalizeModelName(
852
- context,
853
- type,
854
- NameType.Operation,
855
- options.skipDiscriminatedUnionSuffix,
856
- )}XmlObjectDeserializer`;
857
-
858
- if (options.nameOnly) {
859
- return resolveReference(refkey(type, "xmlObjectDeserializer"));
860
- }
861
-
862
- const deserializeXmlObjectRef = resolveReference(XmlHelpers.deserializeXmlObject);
863
- const xmlPropertyDeserializeMetadataRef = resolveReference(
864
- XmlHelpers.XmlPropertyDeserializeMetadata,
865
- );
866
-
867
- const properties = getAllProperties(context, type, getAllAncestors(type));
868
-
869
- // Build property metadata array for deserialization
870
- const propertyMetadata = buildDeserializePropertyMetadataArray(context, properties);
871
-
872
- const statements: string[] = [];
873
-
874
- // Generate the properties metadata constant
875
- statements.push(
876
- `const properties: ${xmlPropertyDeserializeMetadataRef}[] = [${propertyMetadata}];`,
877
- );
878
-
879
- // Generate additionalProperties config if applicable
880
- const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
881
-
882
- // Generate the deserialization call - no rootName needed for object deserializer
883
- const typeRef = resolveReference(refkey(type));
884
- if (additionalPropsConfigExpr) {
885
- statements.push(
886
- `return ${deserializeXmlObjectRef}<${typeRef}>(xmlObject, properties, ${additionalPropsConfigExpr});`,
887
- );
888
- } else {
889
- statements.push(`return ${deserializeXmlObjectRef}<${typeRef}>(xmlObject, properties);`);
890
- }
891
-
892
- const deserializerFunction: FunctionDeclarationStructure = {
893
- kind: StructureKind.Function,
894
- name: deserializerFunctionName,
895
- isExported: true,
896
- parameters: [
897
- {
898
- name: "xmlObject",
899
- type: "Record<string, unknown>",
900
- },
901
- ],
902
- returnType: resolveReference(refkey(type)),
903
- statements,
904
- };
905
-
906
- return deserializerFunction;
907
- }
908
-
909
- /**
910
- * Builds the additionalProperties config expression for XML deserializers.
911
- * Returns undefined if the model has no additionalProperties and is not an error model.
912
- * Error models (with UsageFlags.Exception) are always treated as having additional properties
913
- * so that unknown XML elements are captured during deserialization.
914
- */
915
- function buildAdditionalPropertiesConfigExpr(
916
- context: SdkContext,
917
- type: SdkModelType,
918
- properties: SdkModelPropertyType[],
919
- ): string | undefined {
920
- const additionalPropertyType = getAdditionalPropertiesType(type);
921
- const isErrorModel =
922
- type.usage !== undefined && (type.usage & UsageFlags.Exception) === UsageFlags.Exception;
923
-
924
- if (!additionalPropertyType && !isErrorModel) {
925
- return undefined;
926
- }
927
-
928
- // Resolve the XmlAdditionalPropertiesConfig type reference
929
- resolveReference(XmlHelpers.XmlAdditionalPropertiesConfig);
930
-
931
- const propName = additionalPropertyType
932
- ? getAdditionalPropertiesName(context, type)
933
- : "additionalProperties";
934
-
935
- // Collect XML element names of declared properties to exclude
936
- const excludeNames: string[] = [];
937
- for (const property of properties) {
938
- if (property.kind !== "property") {
939
- continue;
940
- }
941
- if (isMetadata(context.program, property.__raw!)) {
942
- continue;
943
- }
944
- const xmlOptions = property.serializationOptions?.xml;
945
- const jsonOptions = property.serializationOptions?.json;
946
- const xmlName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
947
- excludeNames.push(xmlName);
948
- }
949
-
950
- return `{ propertyName: "${propName}", excludeNames: [${excludeNames.map((n) => `"${n}"`).join(", ")}] }`;
951
- }