@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,850 +0,0 @@
1
- import { isPagedResultModel, isReadOnly, listAllServiceNamespaces, UsageFlags, } from "@azure-tools/typespec-client-generator-core";
2
- import { StructureKind, } from "ts-morph";
3
- import { fixLeadingNumber, NameType, normalizeName } from "../rlc-common/index.js";
4
- // import { isKey } from "@typespec/compiler";
5
- import { getExternalModel, getModelExpression, getMultipartFileTypeExpression, } from "./type-expressions/get-model-expression.js";
6
- import { getNamespaceFullName, NoTarget } from "@typespec/compiler";
7
- import { isMetadata, isOrExtendsHttpFile, Visibility } from "@typespec/http";
8
- import path from "path";
9
- import { useContext } from "../contextManager.js";
10
- import { addDeclaration } from "../framework/declaration.js";
11
- import { emitQueue, flattenPropertyModelMap, getAllOperationsFromClient, pagedModelsUsedInNonPagingOps, } from "../framework/hooks/sdkTypes.js";
12
- import { refkey } from "../framework/refkey.js";
13
- import { reportDiagnostic } from "../lib.js";
14
- import { getClientHierarchyMap } from "../utils/clientUtils.js";
15
- import { isAzureCoreErrorType } from "../utils/modelUtils.js";
16
- import { getMethodHierarchiesMap } from "../utils/operationUtil.js";
17
- import { getHeaderClientOptions } from "./helpers/clientOptionHelpers.js";
18
- import { buildNonModelResponseTypeDeclaration, checkWrapNonModelReturn, getAllAncestors, getAllProperties, } from "./helpers/operationHelpers.js";
19
- import { getDirectSubtypes } from "./helpers/typeHelpers.js";
20
- import { buildModelDeserializer, buildPropertyDeserializer, } from "./serialization/buildDeserializerFunction.js";
21
- import { buildModelSerializer, buildPropertySerializer, } from "./serialization/buildSerializerFunction.js";
22
- import { buildXmlModelDeserializer, buildXmlModelSerializer, buildXmlObjectModelDeserializer, buildXmlObjectModelSerializer, hasXmlSerialization, } from "./serialization/buildXmlSerializerFunction.js";
23
- import { getAllDiscriminatedValues, getPropertyWithOverrides, isDiscriminatedUnion, } from "./serialization/serializeUtils.js";
24
- import { isExtensibleEnum } from "./type-expressions/get-enum-expression.js";
25
- import { getTypeExpression, normalizeModelPropertyName, } from "./type-expressions/get-type-expression.js";
26
- function isGenerableType(type) {
27
- return (type.kind === "model" ||
28
- type.kind === "enum" ||
29
- type.kind === "union" ||
30
- type.kind === "dict" ||
31
- type.kind === "array" ||
32
- (type.kind === "nullable" &&
33
- isGenerableType(type.type) &&
34
- Boolean(type.name) &&
35
- !type.isGeneratedName));
36
- }
37
- export function emitTypes(context, { sourceRoot }) {
38
- const outputProject = useContext("outputProject");
39
- let sourceFile;
40
- for (const type of emitQueue) {
41
- if (!isGenerableType(type)) {
42
- continue;
43
- }
44
- const namespaces = getModelNamespaces(context, type);
45
- const filepath = getModelsPath(sourceRoot, namespaces);
46
- sourceFile = outputProject.getSourceFile(filepath);
47
- if (!sourceFile) {
48
- sourceFile = outputProject.createSourceFile(filepath);
49
- sourceFile.addStatements(`/**
50
- * This file contains only generated model types and their (de)serializers.
51
- * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
52
- */
53
- /* eslint-disable @typescript-eslint/naming-convention */
54
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
55
- }
56
- emitType(context, type, sourceFile);
57
- }
58
- // Emit serialization/deserialization functions for flattened properties
59
- for (const [property, _] of flattenPropertyModelMap) {
60
- const namespaces = getModelNamespaces(context, property.type);
61
- const filepath = getModelsPath(sourceRoot, namespaces);
62
- sourceFile = outputProject.getSourceFile(filepath);
63
- addSerializationFunctions(context, property, sourceFile);
64
- }
65
- const modelFiles = outputProject.getSourceFiles(sourceRoot + "/models/**/*.ts");
66
- const result = [];
67
- for (const modelFile of modelFiles) {
68
- if (modelFile.getInterfaces().length === 0 &&
69
- modelFile.getTypeAliases().length === 0 &&
70
- modelFile.getEnums().length === 0) {
71
- outputProject.removeSourceFile(modelFile);
72
- continue;
73
- }
74
- result.push(modelFile);
75
- }
76
- return result;
77
- }
78
- /**
79
- * Emits the XxxResponse wrapper type aliases for non-model return operations
80
- * into the models.ts file, so they are exported publicly as part of the models API surface.
81
- * This must be called after emitTypes() and before buildSubpathIndexFile("models").
82
- */
83
- export function emitNonModelResponseTypes(context, { sourceRoot }) {
84
- const outputProject = useContext("outputProject");
85
- const clientMap = getClientHierarchyMap(context);
86
- const filepath = getModelsPath(sourceRoot);
87
- let modelsFile = outputProject.getSourceFile(filepath);
88
- for (const subClient of clientMap) {
89
- const methodHierarchies = getMethodHierarchiesMap(context, subClient[1]);
90
- for (const [prefixKey, operations] of methodHierarchies) {
91
- const prefixes = prefixKey.split("/");
92
- for (const op of operations) {
93
- const { shouldWrap, isBinary } = checkWrapNonModelReturn(context, op);
94
- if (!shouldWrap) {
95
- continue;
96
- }
97
- if (!modelsFile) {
98
- modelsFile = outputProject.createSourceFile(filepath);
99
- }
100
- const method = [prefixes, op];
101
- const typeAlias = buildNonModelResponseTypeDeclaration(context, method, isBinary);
102
- addDeclaration(modelsFile, typeAlias, refkey(op, "response"));
103
- }
104
- }
105
- }
106
- }
107
- function emitType(context, type, sourceFile) {
108
- if (type.kind === "model") {
109
- if (isAzureCoreErrorType(context.program, type.__raw)) {
110
- return;
111
- }
112
- if (isOrExtendsHttpFile(context.program, type.__raw)) {
113
- return;
114
- }
115
- if (!type.usage ||
116
- (type.usage !== undefined &&
117
- (type.usage & UsageFlags.Output) !== UsageFlags.Output &&
118
- (type.usage & UsageFlags.Input) !== UsageFlags.Input &&
119
- (type.usage & UsageFlags.Exception) !== UsageFlags.Exception)) {
120
- return;
121
- }
122
- if (!type.name && type.isGeneratedName) {
123
- // TODO: https://github.com/Azure/typespec-azure/issues/1713 and https://github.com/microsoft/typespec/issues/4815
124
- // throw new Error(`Generation of anonymous types`);
125
- return;
126
- }
127
- const modelInterface = buildModelInterface(context, type);
128
- if (type.discriminatorProperty) {
129
- modelInterface.properties
130
- ?.filter((p) => {
131
- return p.name === normalizeModelPropertyName(context, type.discriminatorProperty);
132
- })
133
- .map((p) => {
134
- p.docs?.push(`The discriminator possible values: ${Object.keys(type.discriminatedSubtypes ?? {}).join(", ")}`);
135
- return p;
136
- });
137
- }
138
- addDeclaration(sourceFile, modelInterface, type);
139
- const modelPolymorphicType = buildModelPolymorphicType(context, type);
140
- if (modelPolymorphicType) {
141
- addSerializationFunctions(context, type, sourceFile, true);
142
- addDeclaration(sourceFile, modelPolymorphicType, refkey(type, "polymorphicType"));
143
- }
144
- addSerializationFunctions(context, type, sourceFile);
145
- }
146
- else if (type.kind === "enum") {
147
- if (!type.usage) {
148
- return;
149
- }
150
- const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
151
- // Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
152
- if (apiVersionEnumOnly && context.rlcOptions?.isMultiService) {
153
- return;
154
- }
155
- const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
156
- const outputUsage = (type.usage & UsageFlags.Output) === UsageFlags.Output;
157
- const exceptionUsage = (type.usage & UsageFlags.Exception) === UsageFlags.Exception;
158
- if (!(inputUsage || outputUsage || apiVersionEnumOnly || exceptionUsage)) {
159
- return;
160
- }
161
- const [enumType, knownValuesEnum] = buildEnumTypes(context, type, isExtensibleEnum(context, type));
162
- if (enumType.name.startsWith("_")) {
163
- // skip enum generation for internal enums
164
- return;
165
- }
166
- if (apiVersionEnumOnly) {
167
- // generate known values enum only for api version enums
168
- addDeclaration(sourceFile, knownValuesEnum, refkey(knownValuesEnum.name, "knownValues"));
169
- }
170
- else {
171
- if (isExtensibleEnum(context, type)) {
172
- addDeclaration(sourceFile, knownValuesEnum, refkey(type, "knownValues"));
173
- }
174
- addDeclaration(sourceFile, enumType, type);
175
- }
176
- }
177
- else if (type.kind === "union") {
178
- const unionType = buildUnionType(context, type);
179
- addDeclaration(sourceFile, unionType, type);
180
- addSerializationFunctions(context, type, sourceFile);
181
- }
182
- else if (type.kind === "dict") {
183
- addDeclaration(sourceFile, normalizeModelName(context, type), type);
184
- addSerializationFunctions(context, type, sourceFile);
185
- }
186
- else if (type.kind === "array") {
187
- addDeclaration(sourceFile, normalizeModelName(context, type), type);
188
- addSerializationFunctions(context, type, sourceFile);
189
- }
190
- else if (type.kind === "nullable") {
191
- const nullableType = buildNullableType(context, type);
192
- addDeclaration(sourceFile, nullableType, type);
193
- }
194
- }
195
- export function getApiVersionEnum(context) {
196
- // Skip api version enum for multi-service scenarios since each service may have different versions
197
- if (context.rlcOptions?.isMultiService) {
198
- return;
199
- }
200
- const apiVersionEnum = context.sdkPackage.enums.find((e) => e.usage === UsageFlags.ApiVersionEnum);
201
- if (!apiVersionEnum) {
202
- return;
203
- }
204
- return apiVersionEnum;
205
- }
206
- export function getModelsPath(sourceRoot, modelNamespace = []) {
207
- return path.join(...[
208
- sourceRoot,
209
- "models",
210
- ...modelNamespace.map((n) => normalizeName(n, NameType.File)),
211
- `models.ts`,
212
- ]);
213
- }
214
- export function getModelNamespaces(context, model) {
215
- if (model.kind === "model" || model.kind === "enum" || model.kind === "union") {
216
- if ((model.namespace ?? "").startsWith("Azure.ResourceManager") ||
217
- (model.namespace ?? "").startsWith("Azure.Core") ||
218
- (model.crossLanguageDefinitionId ?? "").startsWith("TypeSpec.Rest.Resource") ||
219
- (model.crossLanguageDefinitionId ?? "") === "TypeSpec.Http.File" // filter out the TypeSpec.Http.File model similar like what java does here https://github.com/microsoft/typespec/blob/main/packages/http-client-java/emitter/src/code-model-builder.ts#L2589
220
- ) {
221
- return [];
222
- }
223
- const segments = model.namespace.split(".");
224
- // Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
225
- if (context.rlcOptions?.isMultiService) {
226
- return segments;
227
- }
228
- const allServiceNamespaces = context.allServiceNamespaces ?? listAllServiceNamespaces(context);
229
- const deepestNamespace = getNamespaceFullName(allServiceNamespaces[0]);
230
- const rootNamespace = deepestNamespace.split(".") ?? [];
231
- if (segments.length > rootNamespace.length) {
232
- while (segments[0] === rootNamespace[0]) {
233
- segments.shift();
234
- rootNamespace.shift();
235
- }
236
- return segments;
237
- }
238
- return [];
239
- }
240
- else if (model.kind === "array" || model.kind === "dict") {
241
- return getModelNamespaces(context, model.valueType);
242
- }
243
- else if (model.kind === "nullable") {
244
- return getModelNamespaces(context, model.type);
245
- }
246
- return [];
247
- }
248
- /**
249
- * Checks if a model type appears as a nested property (directly or as an array element)
250
- * inside any other XML model in the emit queue. XmlObject serializers/deserializers
251
- * are only needed for models that are nested inside other models.
252
- */
253
- function isNestedInXmlModel(targetModel) {
254
- for (const type of emitQueue) {
255
- if (type.kind !== "model" || type === targetModel) {
256
- continue;
257
- }
258
- if (!hasXmlSerialization(type)) {
259
- continue;
260
- }
261
- // Check properties of this model and all ancestors
262
- for (const property of getModelAndAncestorProperties(type)) {
263
- const propType = property.type;
264
- if (propType.kind === "model" && propType === targetModel) {
265
- return true;
266
- }
267
- if (propType.kind === "array" &&
268
- propType.valueType.kind === "model" &&
269
- propType.valueType === targetModel) {
270
- return true;
271
- }
272
- }
273
- }
274
- return false;
275
- }
276
- /**
277
- * Gets all properties from a model and its ancestors (base models).
278
- */
279
- function getModelAndAncestorProperties(type) {
280
- const properties = [];
281
- let current = type;
282
- while (current) {
283
- for (const prop of current.properties) {
284
- if (prop.kind === "property") {
285
- properties.push(prop);
286
- }
287
- }
288
- current = current.baseModel;
289
- }
290
- return properties;
291
- }
292
- function addSerializationFunctions(context, typeOrProperty, sourceFile, skipDiscriminatedUnionSuffix = false) {
293
- const options = {
294
- nameOnly: false,
295
- skipDiscriminatedUnionSuffix,
296
- };
297
- // Add JSON serializers
298
- const serializationFunction = typeOrProperty.kind === "property"
299
- ? buildPropertySerializer(context, typeOrProperty, options)
300
- : buildModelSerializer(context, typeOrProperty, options);
301
- const serializerRefKey = refkey(typeOrProperty, "serializer");
302
- const deserializerRefKey = refkey(typeOrProperty, "deserializer");
303
- if (serializationFunction &&
304
- typeof serializationFunction !== "string" &&
305
- serializationFunction.name) {
306
- addDeclaration(sourceFile, serializationFunction, serializerRefKey);
307
- }
308
- const deserializationFunction = typeOrProperty.kind === "property"
309
- ? buildPropertyDeserializer(context, typeOrProperty, options)
310
- : buildModelDeserializer(context, typeOrProperty, options);
311
- if (deserializationFunction &&
312
- typeof deserializationFunction !== "string" &&
313
- deserializationFunction.name) {
314
- addDeclaration(sourceFile, deserializationFunction, deserializerRefKey);
315
- }
316
- // Add XML serializers if the type has XML serialization options
317
- if (typeOrProperty.kind === "model" && hasXmlSerialization(typeOrProperty)) {
318
- const xmlSerializerRefKey = refkey(typeOrProperty, "xmlSerializer");
319
- const xmlDeserializerRefKey = refkey(typeOrProperty, "xmlDeserializer");
320
- const xmlSerializationFunction = buildXmlModelSerializer(context, typeOrProperty, options);
321
- if (xmlSerializationFunction &&
322
- typeof xmlSerializationFunction !== "string" &&
323
- xmlSerializationFunction.name) {
324
- addDeclaration(sourceFile, xmlSerializationFunction, xmlSerializerRefKey);
325
- }
326
- const xmlDeserializationFunction = buildXmlModelDeserializer(context, typeOrProperty, options);
327
- if (xmlDeserializationFunction &&
328
- typeof xmlDeserializationFunction !== "string" &&
329
- xmlDeserializationFunction.name) {
330
- addDeclaration(sourceFile, xmlDeserializationFunction, xmlDeserializerRefKey);
331
- }
332
- // Only generate XML object serializer/deserializer for models that are
333
- // actually nested as properties inside other XML models
334
- if (isNestedInXmlModel(typeOrProperty)) {
335
- const xmlObjectSerializerRefKey = refkey(typeOrProperty, "xmlObjectSerializer");
336
- const xmlObjectDeserializerRefKey = refkey(typeOrProperty, "xmlObjectDeserializer");
337
- const xmlObjectSerializationFunction = buildXmlObjectModelSerializer(context, typeOrProperty, options);
338
- if (xmlObjectSerializationFunction &&
339
- typeof xmlObjectSerializationFunction !== "string" &&
340
- xmlObjectSerializationFunction.name) {
341
- addDeclaration(sourceFile, xmlObjectSerializationFunction, xmlObjectSerializerRefKey);
342
- }
343
- const xmlObjectDeserializationFunction = buildXmlObjectModelDeserializer(context, typeOrProperty, options);
344
- if (xmlObjectDeserializationFunction &&
345
- typeof xmlObjectDeserializationFunction !== "string" &&
346
- xmlObjectDeserializationFunction.name) {
347
- addDeclaration(sourceFile, xmlObjectDeserializationFunction, xmlObjectDeserializerRefKey);
348
- }
349
- }
350
- }
351
- }
352
- function buildUnionType(context, type) {
353
- const unionDeclaration = {
354
- kind: StructureKind.TypeAlias,
355
- name: normalizeModelName(context, type),
356
- isExported: true,
357
- type: type.variantTypes.map((v) => getTypeExpression(context, v)).join(" | "),
358
- };
359
- unionDeclaration.docs = [type.doc ?? `Alias for ${unionDeclaration.name}`];
360
- return unionDeclaration;
361
- }
362
- function buildNullableType(context, type) {
363
- const nullableDeclaration = {
364
- kind: StructureKind.TypeAlias,
365
- name: normalizeModelName(context, type),
366
- isExported: true,
367
- type: getTypeExpression(context, type.type) + " | null",
368
- };
369
- nullableDeclaration.docs = [type.doc ?? `Alias for ${nullableDeclaration.name}`];
370
- return nullableDeclaration;
371
- }
372
- export function buildEnumTypes(context, type, reportMemberNameDiagnostic = false) {
373
- const rawMembers = type.values.map((value) => emitEnumMember(context, value, reportMemberNameDiagnostic));
374
- const enumDeclaration = {
375
- kind: StructureKind.Enum,
376
- name: `Known${normalizeModelName(context, type)}`,
377
- isExported: true,
378
- members: deduplicateEnumMemberNames(rawMembers),
379
- };
380
- const enumAsUnion = {
381
- kind: StructureKind.TypeAlias,
382
- name: normalizeModelName(context, type),
383
- isExported: true,
384
- type: !isExtensibleEnum(context, type)
385
- ? type.values.map((v) => getTypeExpression(context, v)).join(" | ")
386
- : getTypeExpression(context, type.valueType),
387
- };
388
- const docs = type.doc ? type.doc : "Type of " + enumAsUnion.name;
389
- enumAsUnion.docs =
390
- isExtensibleEnum(context, type) && type.doc
391
- ? [getExtensibleEnumDescription(context, type) ?? docs]
392
- : [docs];
393
- enumDeclaration.docs = type.doc
394
- ? [type.doc]
395
- : [`Known values of {@link ${type.name}} that the service accepts.`];
396
- return [enumAsUnion, enumDeclaration];
397
- }
398
- function getExtensibleEnumDescription(context, model) {
399
- if (model.isFixed && model.name && model.values) {
400
- return;
401
- }
402
- const valueDescriptions = model.values
403
- .map((v) => `**${v.value}**${v.doc ? `: ${v.doc}` : ""}`)
404
- .join(` \\\n`)
405
- // Escape the character / to make sure we don't incorrectly announce a comment blocks /** */
406
- .replace(/^\//g, "\\/")
407
- .replace(/([^\\])(\/)/g, "$1\\/");
408
- const enumLink = `{@link Known${normalizeModelName(context, model)}} can be used interchangeably with ${normalizeModelName(context, model)},\n this enum contains the known values that the service supports.`;
409
- return [
410
- `${model.doc} \\`,
411
- enumLink,
412
- `### Known values supported by the service`,
413
- valueDescriptions,
414
- ].join(" \n");
415
- }
416
- /**
417
- * Deduplicates enum member names by appending a numeric suffix (_1, _2, ...)
418
- * to all members that share the same normalized name.
419
- * This handles cases where different values (e.g. "10" and "1.0") normalize
420
- * to the same identifier.
421
- */
422
- function deduplicateEnumMemberNames(members) {
423
- const nameCount = new Map();
424
- for (const member of members) {
425
- const name = member.name;
426
- nameCount.set(name, (nameCount.get(name) ?? 0) + 1);
427
- }
428
- const nameCurrentIndex = new Map();
429
- return members.map((member) => {
430
- const name = member.name;
431
- if ((nameCount.get(name) ?? 0) > 1) {
432
- const index = (nameCurrentIndex.get(name) ?? 0) + 1;
433
- nameCurrentIndex.set(name, index);
434
- return { ...member, name: `${name}_${index}` };
435
- }
436
- return member;
437
- });
438
- }
439
- function emitEnumMember(context, member, reportMemberNameDiagnostic = false) {
440
- const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
441
- const enumTypeName = normalizeName(member.enumType.name, NameType.Interface, true);
442
- let normalizedMemberName = context.rlcOptions?.ignoreEnumMemberNameNormalize
443
- ? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
444
- : normalizeName(member.name, NameType.EnumMemberName, true);
445
- // If the member name starts with _ due to a leading digit (not because the original has _),
446
- // replace the _ prefix with either "V" (for API version enums) or the enum type name.
447
- if (shouldNormalizeName &&
448
- normalizedMemberName.toLowerCase().startsWith("_") &&
449
- !member.name.toLowerCase().startsWith("_")) {
450
- const isApiVersionEnum = (member.enumType.usage & UsageFlags.ApiVersionEnum) === UsageFlags.ApiVersionEnum;
451
- const prefix = isApiVersionEnum ? "V" : enumTypeName;
452
- normalizedMemberName = prefix + normalizedMemberName.slice(1);
453
- if (reportMemberNameDiagnostic) {
454
- reportDiagnostic(context.program, {
455
- code: "prefix-adding-in-enum-member",
456
- format: {
457
- memberName: member.name,
458
- normalizedName: normalizedMemberName,
459
- enumTypeName,
460
- },
461
- target: NoTarget,
462
- });
463
- }
464
- }
465
- const memberStructure = {
466
- kind: StructureKind.EnumMember,
467
- name: normalizedMemberName,
468
- value: member.value,
469
- };
470
- if (member.doc) {
471
- memberStructure.docs = [member.doc];
472
- }
473
- else {
474
- // Provide default documentation using the enum value when no explicit doc exists
475
- memberStructure.docs = [String(member.value)];
476
- }
477
- return memberStructure;
478
- }
479
- function buildModelInterface(context, type) {
480
- const flattenPropertySet = new Set();
481
- // For non-input models (output-only, exception, etc.), filter out metadata
482
- // properties (@header, @query, @path) since they are deserialized separately.
483
- // For input models, keep metadata properties — users need to pass them.
484
- const hasInputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
485
- const interfaceStructure = {
486
- kind: StructureKind.Interface,
487
- name: normalizeModelName(context, type, NameType.Interface, true),
488
- isExported: true,
489
- properties: type.properties
490
- .filter((p) => {
491
- if (!hasInputUsage && p.__raw && isMetadata(context.program, p.__raw)) {
492
- return false;
493
- }
494
- // Skip required metadata properties with Read-only visibility for ARM as they are not intended to be in the model
495
- // These properties are not be generated no matter they are in input or output models in most cases in HLC
496
- // Only skip properties that have exclusively Read visibility to avoid stripping @path properties
497
- // on parameter bag models that also carry other visibility flags (e.g. Create/Update)
498
- if (context.arm &&
499
- p.__raw &&
500
- isMetadata(context.program, p.__raw) &&
501
- p.visibility?.length === 1 &&
502
- p.visibility?.includes(Visibility.Read)) {
503
- return false;
504
- }
505
- // filter out the flatten property to be processed later
506
- if (p.flatten && p.type.kind === "model") {
507
- flattenPropertySet.add(p);
508
- return false;
509
- }
510
- return true;
511
- })
512
- .map((p) => {
513
- return buildModelProperty(context, p, type);
514
- }),
515
- };
516
- for (const flatten of flattenPropertySet.keys()) {
517
- const conflictMap = useContext("sdkTypes").flattenProperties.get(flatten)?.conflictMap;
518
- const allProperties = getAllProperties(context, flatten.type, getAllAncestors(flatten.type));
519
- interfaceStructure.properties.push(...allProperties.map((p) => {
520
- // when the flattened property is optional, all its child properties should be optional too
521
- const property = getPropertyWithOverrides(p, {
522
- allOptional: flatten.optional,
523
- propertyRenames: conflictMap,
524
- });
525
- return buildModelProperty(context, property, type);
526
- }));
527
- }
528
- // Add properties from @clientOption("header", ...) that don't already exist in the model
529
- const headerOptions = getHeaderClientOptions(type);
530
- if (headerOptions.length > 0) {
531
- const existingNames = new Set(interfaceStructure.properties.map((p) => p.name));
532
- for (const opt of headerOptions) {
533
- if (!existingNames.has(opt.propertyName)) {
534
- interfaceStructure.properties.push({
535
- kind: StructureKind.PropertySignature,
536
- name: opt.propertyName,
537
- type: "string",
538
- hasQuestionToken: true,
539
- });
540
- }
541
- }
542
- }
543
- if (type.baseModel) {
544
- const parentReference = getModelExpression(context, type.baseModel, {
545
- skipPolymorphicUnion: true,
546
- });
547
- interfaceStructure.extends = [parentReference];
548
- }
549
- if (type.additionalProperties) {
550
- addExtendedDictInfo(context, type, interfaceStructure);
551
- }
552
- interfaceStructure.docs = [type.doc ?? "model interface " + interfaceStructure.name];
553
- return interfaceStructure;
554
- }
555
- function addExtendedDictInfo(context, model, modelInterface) {
556
- const additionalPropertiesType = model.additionalProperties
557
- ? getTypeExpression(context, model.additionalProperties)
558
- : undefined;
559
- if (context.rlcOptions?.compatibilityMode) {
560
- const ancestors = getAllAncestors(model);
561
- const properties = getAllProperties(context, model, ancestors);
562
- let anyType = true;
563
- if (!additionalPropertiesType) {
564
- // case 1: if additionalProperties is not defined, we should use any type
565
- anyType = true;
566
- }
567
- else if (properties.length === 0) {
568
- // case 2: if additionalProperties is defined and model.properties is empty, we should use additionalProperties type
569
- anyType = false;
570
- }
571
- else {
572
- // case 3: if additionalProperties is defined and model.properties is not empty, we should check if all properties are compatible with additionalProperties type
573
- anyType = !properties.every((p) => {
574
- return additionalPropertiesType?.includes(getTypeExpression(context, p.type));
575
- });
576
- }
577
- if (!modelInterface.extends) {
578
- modelInterface.extends = [];
579
- }
580
- modelInterface.extends.push(`Record<string, ${anyType ? "any" : additionalPropertiesType}>`);
581
- }
582
- else {
583
- const additionalPropertiesType = model.additionalProperties
584
- ? getTypeExpression(context, model.additionalProperties)
585
- : undefined;
586
- const name = getAdditionalPropertiesName(context, model);
587
- if (name !== "additionalProperties") {
588
- // report diagnostic for additionalProperties
589
- reportDiagnostic(context.program, {
590
- code: "property-name-conflict",
591
- format: {
592
- propertyName: "additionalProperties",
593
- },
594
- target: NoTarget,
595
- });
596
- }
597
- if (!modelInterface.properties) {
598
- modelInterface.properties = [];
599
- }
600
- modelInterface.properties.push({
601
- name,
602
- docs: ["Additional properties"],
603
- hasQuestionToken: true,
604
- isReadonly: false,
605
- type: `Record<string, ${additionalPropertiesType ?? "any"}>`,
606
- });
607
- }
608
- }
609
- export function getAdditionalPropertiesName(context, model) {
610
- const ancestors = getAllAncestors(model);
611
- const properties = getAllProperties(context, model, ancestors);
612
- const nameConflict = properties.find((p) => p.name === "additionalProperties");
613
- return nameConflict ? "additionalPropertiesBag" : "additionalProperties";
614
- }
615
- export function normalizeModelName(context, type, nameType = NameType.Interface, skipPolymorphicUnionSuffix = false, rawModelName) {
616
- if (type.kind === "array") {
617
- if (rawModelName) {
618
- return `${normalizeModelName(context, type.valueType, nameType, skipPolymorphicUnionSuffix, rawModelName)}Array`;
619
- }
620
- return `Array<${normalizeModelName(context, type.valueType, nameType)}>`;
621
- }
622
- else if (type.kind === "dict") {
623
- if (rawModelName) {
624
- return `${normalizeModelName(context, type.valueType, nameType, skipPolymorphicUnionSuffix, rawModelName)}Record`;
625
- }
626
- return `Record<string, ${normalizeModelName(context, type.valueType, nameType)}>`;
627
- }
628
- if (type.kind !== "model" &&
629
- type.kind !== "enum" &&
630
- type.kind !== "union" &&
631
- type.kind !== "nullable") {
632
- return getTypeExpression(context, type);
633
- }
634
- const segments = getModelNamespaces(context, type);
635
- let unionSuffix = "";
636
- if (!skipPolymorphicUnionSuffix) {
637
- if (type.kind === "model" && isDiscriminatedUnion(type)) {
638
- unionSuffix = "Union";
639
- }
640
- }
641
- const namespacePrefix = context.rlcOptions?.enableModelNamespace ? segments.join("") : "";
642
- const internalModelPrefix = (isPagedResultModel(context, type) && !pagedModelsUsedInNonPagingOps.has(type)) ||
643
- type.isGeneratedName
644
- ? "_"
645
- : "";
646
- return `${internalModelPrefix}${normalizeName(namespacePrefix + type.name, nameType, true)}${unionSuffix}`;
647
- }
648
- function buildModelPolymorphicType(context, type) {
649
- // Only include direct subtypes in this union
650
- const directSubtypes = getDirectSubtypes(type);
651
- if (directSubtypes.length === 0) {
652
- return undefined;
653
- }
654
- const typeDeclaration = {
655
- kind: StructureKind.TypeAlias,
656
- name: `${normalizeModelName(context, type, NameType.Interface, true)}Union`,
657
- isExported: true,
658
- type: directSubtypes
659
- .filter((p) => {
660
- return (p.usage !== undefined &&
661
- ((p.usage & UsageFlags.Output) === UsageFlags.Output ||
662
- (p.usage & UsageFlags.Input) === UsageFlags.Input));
663
- })
664
- .map((t) => getTypeExpression(context, t))
665
- .join(" | "),
666
- };
667
- typeDeclaration.docs = [`Alias for ${typeDeclaration.name}`];
668
- typeDeclaration.type += ` | ${getModelExpression(context, type, {
669
- skipPolymorphicUnion: true,
670
- })}`;
671
- return typeDeclaration;
672
- }
673
- function buildModelProperty(context, property, model) {
674
- const normalizedPropName = normalizeModelPropertyName(context, property);
675
- if (!context.rlcOptions?.ignorePropertyNameNormalize &&
676
- normalizedPropName !== `"${property.name}"`) {
677
- reportDiagnostic(context.program, {
678
- code: "property-name-normalized",
679
- format: {
680
- propertyName: property.name,
681
- normalizedName: normalizedPropName,
682
- },
683
- target: NoTarget,
684
- });
685
- }
686
- let typeExpression;
687
- const allDiscriminatorValues = getAllDiscriminatedValues(model, property);
688
- // We need refine the discriminator property if
689
- // 1. it is discriminated union
690
- // 2. it has other discriminator values except itself
691
- if (isDiscriminatedUnion(model) && allDiscriminatorValues.length > 1) {
692
- typeExpression = allDiscriminatorValues.map((value) => `"${value}"`).join(" | ");
693
- }
694
- else if (property.kind === "property" && property.serializationOptions.multipart?.isFilePart) {
695
- typeExpression = getMultipartFileTypeExpression(context, property);
696
- }
697
- else {
698
- typeExpression = getTypeExpression(context, property.type, {
699
- isOptional: property.optional,
700
- });
701
- }
702
- const propertyStructure = {
703
- kind: StructureKind.PropertySignature,
704
- name: normalizedPropName,
705
- type: typeExpression,
706
- hasQuestionToken: property.optional,
707
- isReadonly: isReadOnly(property),
708
- };
709
- if (property.doc) {
710
- propertyStructure.docs = [property.doc];
711
- }
712
- return propertyStructure;
713
- }
714
- export function visitPackageTypes(context) {
715
- const { sdkPackage } = context;
716
- emitQueue.clear();
717
- flattenPropertyModelMap.clear();
718
- pagedModelsUsedInNonPagingOps.clear();
719
- // Add all models in the package to the emit queue
720
- for (const model of sdkPackage.models) {
721
- visitType(context, model);
722
- }
723
- for (const union of sdkPackage.unions) {
724
- visitType(context, union);
725
- }
726
- // Add all enums to the queue
727
- for (const enumType of sdkPackage.enums) {
728
- if (!emitQueue.has(enumType)) {
729
- emitQueue.add(enumType);
730
- }
731
- }
732
- // Visit the clients to discover all models
733
- for (const client of sdkPackage.clients) {
734
- visitClient(context, client);
735
- }
736
- }
737
- function visitClient(context, client) {
738
- // TODO: include the client parameters
739
- // https://github.com/Azure/autorest.typescript/issues/3148
740
- // Comment this out for now, as client initialization is not used in the generated code
741
- getAllOperationsFromClient(client).forEach((method) => visitClientMethod(context, method));
742
- }
743
- function visitClientMethod(context, method) {
744
- switch (method.kind) {
745
- case "lro":
746
- case "paging":
747
- case "lropaging":
748
- case "basic":
749
- visitMethod(context, method);
750
- visitOperation(context, method.operation);
751
- break;
752
- default:
753
- reportDiagnostic(context.program, {
754
- code: "unknown-sdk-method-kind",
755
- format: {
756
- methodKind: method.kind,
757
- },
758
- target: NoTarget,
759
- });
760
- return; // Skip processing this method but continue with others
761
- }
762
- }
763
- function visitOperation(context, operation) {
764
- // Visit the request
765
- visitType(context, operation.bodyParam?.type);
766
- // Visit the response
767
- operation.exceptions.forEach((exception) => visitType(context, exception.type));
768
- operation.parameters.forEach((parameter) => {
769
- visitType(context, parameter.type);
770
- });
771
- operation.responses.forEach((response) => visitType(context, response.type));
772
- }
773
- function visitMethod(context, method) {
774
- // Visit the request
775
- method.parameters.forEach((parameter) => {
776
- visitType(context, parameter.type);
777
- });
778
- visitType(context, method.response.type);
779
- trackPagedModelInNonPagingMethod(context, method);
780
- }
781
- /**
782
- * If a non-paging method's direct response type is a paged result model,
783
- * mark it so that normalizeModelName keeps it public (no "_" prefix).
784
- */
785
- function trackPagedModelInNonPagingMethod(context, method) {
786
- if (method.kind !== "basic" && method.kind !== "lro")
787
- return;
788
- const respType = method.response.type;
789
- if (respType && isPagedResultModel(context, respType)) {
790
- pagedModelsUsedInNonPagingOps.add(respType);
791
- }
792
- }
793
- function visitType(context, type) {
794
- if (!type) {
795
- return;
796
- }
797
- if (emitQueue.has(type)) {
798
- return;
799
- }
800
- emitQueue.add(type);
801
- if (type.kind === "model") {
802
- const externalModel = getExternalModel(type);
803
- if (externalModel) {
804
- return;
805
- }
806
- if (type.additionalProperties) {
807
- visitType(context, type.additionalProperties);
808
- }
809
- for (const property of type.properties) {
810
- if (!emitQueue.has(property.type)) {
811
- visitType(context, property.type);
812
- }
813
- if (property.flatten && property.type.kind === "model") {
814
- flattenPropertyModelMap.set(property, type);
815
- }
816
- }
817
- if (type.discriminatedSubtypes) {
818
- for (const subType of Object.values(type.discriminatedSubtypes)) {
819
- if (!emitQueue.has(subType)) {
820
- visitType(context, subType);
821
- }
822
- }
823
- }
824
- }
825
- if (type.kind === "array") {
826
- if (!emitQueue.has(type.valueType)) {
827
- visitType(context, type.valueType);
828
- }
829
- }
830
- if (type.kind === "dict") {
831
- if (!emitQueue.has(type.valueType)) {
832
- visitType(context, type.valueType);
833
- }
834
- }
835
- if (type.kind === "union") {
836
- emitQueue.add(type);
837
- for (const value of type.variantTypes) {
838
- if (!emitQueue.has(value)) {
839
- visitType(context, value);
840
- }
841
- }
842
- }
843
- if (type.kind === "nullable") {
844
- emitQueue.add(type);
845
- if (!emitQueue.has(type.type)) {
846
- visitType(context, type.type);
847
- }
848
- }
849
- }
850
- //# sourceMappingURL=emitModels.js.map