@azure-tools/typespec-ts 0.54.0 → 0.54.2

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 (1116) hide show
  1. package/CHANGELOG.md +34 -10
  2. package/README.md +0 -4
  3. package/dist/src/context-manager.d.ts +75 -0
  4. package/dist/src/context-manager.d.ts.map +1 -0
  5. package/dist/src/context-manager.js +59 -0
  6. package/dist/src/context-manager.js.map +1 -0
  7. package/dist/src/framework/declaration.d.ts +1 -1
  8. package/dist/src/framework/declaration.d.ts.map +1 -1
  9. package/dist/src/framework/declaration.js +2 -4
  10. package/dist/src/framework/declaration.js.map +1 -1
  11. package/dist/src/framework/dependency.d.ts.map +1 -1
  12. package/dist/src/framework/hooks/binder.d.ts +1 -1
  13. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  14. package/dist/src/framework/hooks/binder.js +32 -41
  15. package/dist/src/framework/hooks/binder.js.map +1 -1
  16. package/dist/src/framework/hooks/sdk-types.d.ts +27 -0
  17. package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -0
  18. package/dist/src/framework/hooks/sdk-types.js +158 -0
  19. package/dist/src/framework/hooks/sdk-types.js.map +1 -0
  20. package/dist/src/framework/hooks/use-dependencies.d.ts +4 -0
  21. package/dist/src/framework/hooks/use-dependencies.d.ts.map +1 -0
  22. package/dist/src/framework/hooks/use-dependencies.js +13 -0
  23. package/dist/src/framework/hooks/use-dependencies.js.map +1 -0
  24. package/dist/src/framework/load-static-helpers.d.ts +1 -1
  25. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  26. package/dist/src/framework/load-static-helpers.js +17 -31
  27. package/dist/src/framework/load-static-helpers.js.map +1 -1
  28. package/dist/src/framework/reference.d.ts.map +1 -1
  29. package/dist/src/framework/reference.js +2 -2
  30. package/dist/src/framework/reference.js.map +1 -1
  31. package/dist/src/framework/sample.js +8 -8
  32. package/dist/src/framework/sample.js.map +1 -1
  33. package/dist/src/index.d.ts +1 -1
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.js +111 -100
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/lib.d.ts +1 -1
  38. package/dist/src/lib.d.ts.map +1 -1
  39. package/dist/src/lib.js +140 -140
  40. package/dist/src/lib.js.map +1 -1
  41. package/dist/src/meta-tree.d.ts +7 -0
  42. package/dist/src/meta-tree.d.ts.map +1 -0
  43. package/dist/src/meta-tree.js +2 -0
  44. package/dist/src/meta-tree.js.map +1 -0
  45. package/dist/src/modular/build-classical-client.d.ts +6 -0
  46. package/dist/src/modular/build-classical-client.d.ts.map +1 -0
  47. package/dist/src/modular/build-classical-client.js +345 -0
  48. package/dist/src/modular/build-classical-client.js.map +1 -0
  49. package/dist/src/modular/build-classical-operation-groups.d.ts +6 -0
  50. package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -0
  51. package/dist/src/modular/build-classical-operation-groups.js +48 -0
  52. package/dist/src/modular/build-classical-operation-groups.js.map +1 -0
  53. package/dist/src/modular/build-client-context.d.ts +13 -0
  54. package/dist/src/modular/build-client-context.d.ts.map +1 -0
  55. package/dist/src/modular/build-client-context.js +246 -0
  56. package/dist/src/modular/build-client-context.js.map +1 -0
  57. package/dist/src/modular/build-modular-options.d.ts +6 -0
  58. package/dist/src/modular/build-modular-options.d.ts.map +1 -0
  59. package/dist/src/modular/build-modular-options.js +14 -0
  60. package/dist/src/modular/build-modular-options.js.map +1 -0
  61. package/dist/src/modular/build-operations.d.ts +21 -0
  62. package/dist/src/modular/build-operations.d.ts.map +1 -0
  63. package/dist/src/modular/build-operations.js +172 -0
  64. package/dist/src/modular/build-operations.js.map +1 -0
  65. package/dist/src/modular/build-project-files.d.ts +4 -0
  66. package/dist/src/modular/build-project-files.d.ts.map +1 -0
  67. package/dist/src/modular/build-project-files.js +91 -0
  68. package/dist/src/modular/build-project-files.js.map +1 -0
  69. package/dist/src/modular/build-restore-poller.d.ts +5 -0
  70. package/dist/src/modular/build-restore-poller.d.ts.map +1 -0
  71. package/dist/src/modular/build-restore-poller.js +216 -0
  72. package/dist/src/modular/build-restore-poller.js.map +1 -0
  73. package/dist/src/modular/build-root-index.d.ts +13 -0
  74. package/dist/src/modular/build-root-index.d.ts.map +1 -0
  75. package/dist/src/modular/build-root-index.js +279 -0
  76. package/dist/src/modular/build-root-index.js.map +1 -0
  77. package/dist/src/modular/build-subpath-index.d.ts +16 -0
  78. package/dist/src/modular/build-subpath-index.d.ts.map +1 -0
  79. package/dist/src/modular/build-subpath-index.js +119 -0
  80. package/dist/src/modular/build-subpath-index.js.map +1 -0
  81. package/dist/src/modular/emit-logger-file.d.ts +3 -0
  82. package/dist/src/modular/emit-logger-file.d.ts.map +1 -0
  83. package/dist/src/modular/emit-logger-file.js +18 -0
  84. package/dist/src/modular/emit-logger-file.js.map +1 -0
  85. package/dist/src/modular/emit-models-options.d.ts +5 -0
  86. package/dist/src/modular/emit-models-options.d.ts.map +1 -0
  87. package/dist/src/modular/emit-models-options.js +35 -0
  88. package/dist/src/modular/emit-models-options.js.map +1 -0
  89. package/dist/src/modular/emit-models.d.ts +23 -0
  90. package/dist/src/modular/emit-models.d.ts.map +1 -0
  91. package/dist/src/modular/emit-models.js +864 -0
  92. package/dist/src/modular/emit-models.js.map +1 -0
  93. package/dist/src/modular/emit-samples.d.ts +7 -0
  94. package/dist/src/modular/emit-samples.d.ts.map +1 -0
  95. package/dist/src/modular/emit-samples.js +500 -0
  96. package/dist/src/modular/emit-samples.js.map +1 -0
  97. package/dist/src/modular/emit-tests.d.ts +7 -0
  98. package/dist/src/modular/emit-tests.d.ts.map +1 -0
  99. package/dist/src/modular/emit-tests.js +155 -0
  100. package/dist/src/modular/emit-tests.js.map +1 -0
  101. package/dist/src/modular/external-dependencies.js +54 -54
  102. package/dist/src/modular/helpers/classical-operation-helpers.d.ts +7 -0
  103. package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -0
  104. package/dist/src/modular/helpers/classical-operation-helpers.js +258 -0
  105. package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -0
  106. package/dist/src/modular/helpers/client-helpers.d.ts +34 -0
  107. package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -0
  108. package/dist/src/modular/helpers/client-helpers.js +259 -0
  109. package/dist/src/modular/helpers/client-helpers.js.map +1 -0
  110. package/dist/src/modular/helpers/client-option-helpers.d.ts +43 -0
  111. package/dist/src/modular/helpers/client-option-helpers.d.ts.map +1 -0
  112. package/dist/src/modular/helpers/client-option-helpers.js +103 -0
  113. package/dist/src/modular/helpers/client-option-helpers.js.map +1 -0
  114. package/dist/src/modular/helpers/docs-helpers.d.ts +3 -0
  115. package/dist/src/modular/helpers/docs-helpers.d.ts.map +1 -0
  116. package/dist/src/modular/helpers/docs-helpers.js +10 -0
  117. package/dist/src/modular/helpers/docs-helpers.js.map +1 -0
  118. package/dist/src/modular/helpers/example-value-helpers.d.ts +83 -0
  119. package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -0
  120. package/dist/src/modular/helpers/example-value-helpers.js +639 -0
  121. package/dist/src/modular/helpers/example-value-helpers.js.map +1 -0
  122. package/dist/src/modular/helpers/naming-helpers.d.ts +22 -0
  123. package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -0
  124. package/dist/src/modular/helpers/naming-helpers.js +59 -0
  125. package/dist/src/modular/helpers/naming-helpers.js.map +1 -0
  126. package/dist/src/modular/helpers/operation-helpers.d.ts +105 -0
  127. package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -0
  128. package/dist/src/modular/helpers/operation-helpers.js +2328 -0
  129. package/dist/src/modular/helpers/operation-helpers.js.map +1 -0
  130. package/dist/src/modular/helpers/type-helpers.d.ts +22 -0
  131. package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -0
  132. package/dist/src/modular/helpers/type-helpers.js +94 -0
  133. package/dist/src/modular/helpers/type-helpers.js.map +1 -0
  134. package/dist/src/modular/serialization/build-deserializer-function.d.ts +7 -0
  135. package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -0
  136. package/dist/src/modular/serialization/build-deserializer-function.js +401 -0
  137. package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -0
  138. package/dist/src/modular/serialization/build-serializer-function.d.ts +7 -0
  139. package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -0
  140. package/dist/src/modular/serialization/build-serializer-function.js +442 -0
  141. package/dist/src/modular/serialization/build-serializer-function.js.map +1 -0
  142. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts +44 -0
  143. package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -0
  144. package/dist/src/modular/serialization/build-xml-serializer-function.js +729 -0
  145. package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -0
  146. package/dist/src/modular/serialization/serialize-utils.d.ts +37 -0
  147. package/dist/src/modular/serialization/serialize-utils.d.ts.map +1 -0
  148. package/dist/src/modular/serialization/serialize-utils.js +145 -0
  149. package/dist/src/modular/serialization/serialize-utils.js.map +1 -0
  150. package/dist/src/modular/static-helpers-metadata.js +60 -60
  151. package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
  152. package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
  153. package/dist/src/modular/type-expressions/get-enum-expression.d.ts +1 -1
  154. package/dist/src/modular/type-expressions/get-enum-expression.d.ts.map +1 -1
  155. package/dist/src/modular/type-expressions/get-enum-expression.js +1 -2
  156. package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
  157. package/dist/src/modular/type-expressions/get-model-expression.d.ts.map +1 -1
  158. package/dist/src/modular/type-expressions/get-model-expression.js +10 -13
  159. package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
  160. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts +1 -1
  161. package/dist/src/modular/type-expressions/get-nullable-expression.d.ts.map +1 -1
  162. package/dist/src/modular/type-expressions/get-nullable-expression.js +2 -3
  163. package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
  164. package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
  165. package/dist/src/modular/type-expressions/get-type-expression.js +5 -11
  166. package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
  167. package/dist/src/modular/type-expressions/get-union-expression.d.ts +1 -1
  168. package/dist/src/modular/type-expressions/get-union-expression.d.ts.map +1 -1
  169. package/dist/src/modular/type-expressions/get-union-expression.js.map +1 -1
  170. package/dist/src/rlc-common/build-client-definitions.d.ts +6 -0
  171. package/dist/src/rlc-common/build-client-definitions.d.ts.map +1 -0
  172. package/dist/src/rlc-common/build-client-definitions.js +157 -0
  173. package/dist/src/rlc-common/build-client-definitions.js.map +1 -0
  174. package/dist/src/rlc-common/build-client.d.ts +9 -0
  175. package/dist/src/rlc-common/build-client.d.ts.map +1 -0
  176. package/dist/src/rlc-common/build-client.js +391 -0
  177. package/dist/src/rlc-common/build-client.js.map +1 -0
  178. package/dist/src/rlc-common/build-index-file.d.ts +6 -0
  179. package/dist/src/rlc-common/build-index-file.d.ts.map +1 -0
  180. package/dist/src/rlc-common/build-index-file.js +241 -0
  181. package/dist/src/rlc-common/build-index-file.js.map +1 -0
  182. package/dist/src/rlc-common/build-is-unexpected-helper.d.ts +6 -0
  183. package/dist/src/rlc-common/build-is-unexpected-helper.d.ts.map +1 -0
  184. package/dist/src/rlc-common/build-is-unexpected-helper.js +223 -0
  185. package/dist/src/rlc-common/build-is-unexpected-helper.js.map +1 -0
  186. package/dist/src/rlc-common/build-logger.d.ts +6 -0
  187. package/dist/src/rlc-common/build-logger.d.ts.map +1 -0
  188. package/dist/src/rlc-common/build-logger.js +31 -0
  189. package/dist/src/rlc-common/build-logger.js.map +1 -0
  190. package/dist/src/rlc-common/build-method-shortcuts.d.ts +5 -0
  191. package/dist/src/rlc-common/build-method-shortcuts.d.ts.map +1 -0
  192. package/dist/src/rlc-common/build-method-shortcuts.js +54 -0
  193. package/dist/src/rlc-common/build-method-shortcuts.js.map +1 -0
  194. package/dist/src/rlc-common/build-object-types.d.ts +29 -0
  195. package/dist/src/rlc-common/build-object-types.d.ts.map +1 -0
  196. package/dist/src/rlc-common/build-object-types.js +412 -0
  197. package/dist/src/rlc-common/build-object-types.js.map +1 -0
  198. package/dist/src/rlc-common/build-paginate-helper.d.ts +6 -0
  199. package/dist/src/rlc-common/build-paginate-helper.d.ts.map +1 -0
  200. package/dist/src/rlc-common/build-paginate-helper.js +27 -0
  201. package/dist/src/rlc-common/build-paginate-helper.js.map +1 -0
  202. package/dist/src/rlc-common/build-parameter-types.d.ts +14 -0
  203. package/dist/src/rlc-common/build-parameter-types.d.ts.map +1 -0
  204. package/dist/src/rlc-common/build-parameter-types.js +391 -0
  205. package/dist/src/rlc-common/build-parameter-types.js.map +1 -0
  206. package/dist/src/rlc-common/build-polling-helper.d.ts +6 -0
  207. package/dist/src/rlc-common/build-polling-helper.d.ts.map +1 -0
  208. package/dist/src/rlc-common/build-polling-helper.js +61 -0
  209. package/dist/src/rlc-common/build-polling-helper.js.map +1 -0
  210. package/dist/src/rlc-common/build-response-types.d.ts +6 -0
  211. package/dist/src/rlc-common/build-response-types.d.ts.map +1 -0
  212. package/dist/src/rlc-common/build-response-types.js +143 -0
  213. package/dist/src/rlc-common/build-response-types.js.map +1 -0
  214. package/dist/src/rlc-common/build-samples.d.ts +3 -0
  215. package/dist/src/rlc-common/build-samples.d.ts.map +1 -0
  216. package/dist/src/rlc-common/build-samples.js +30 -0
  217. package/dist/src/rlc-common/build-samples.js.map +1 -0
  218. package/dist/src/rlc-common/build-schema-type.d.ts +20 -0
  219. package/dist/src/rlc-common/build-schema-type.d.ts.map +1 -0
  220. package/dist/src/rlc-common/build-schema-type.js +71 -0
  221. package/dist/src/rlc-common/build-schema-type.js.map +1 -0
  222. package/dist/src/rlc-common/build-serialize-helper.d.ts +6 -0
  223. package/dist/src/rlc-common/build-serialize-helper.d.ts.map +1 -0
  224. package/dist/src/rlc-common/build-serialize-helper.js +36 -0
  225. package/dist/src/rlc-common/build-serialize-helper.js.map +1 -0
  226. package/dist/src/rlc-common/build-top-level-index-file.d.ts +6 -0
  227. package/dist/src/rlc-common/build-top-level-index-file.d.ts.map +1 -0
  228. package/dist/src/rlc-common/build-top-level-index-file.js +48 -0
  229. package/dist/src/rlc-common/build-top-level-index-file.js.map +1 -0
  230. package/dist/src/rlc-common/helpers/api-version-util.d.ts +17 -0
  231. package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +1 -0
  232. package/dist/src/rlc-common/helpers/api-version-util.js +43 -0
  233. package/dist/src/rlc-common/helpers/api-version-util.js.map +1 -0
  234. package/dist/src/rlc-common/helpers/imports-util.d.ts +18 -0
  235. package/dist/src/rlc-common/helpers/imports-util.d.ts.map +1 -0
  236. package/dist/src/rlc-common/helpers/imports-util.js +164 -0
  237. package/dist/src/rlc-common/helpers/imports-util.js.map +1 -0
  238. package/dist/src/rlc-common/helpers/name-constructors.d.ts +42 -0
  239. package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +1 -0
  240. package/dist/src/rlc-common/helpers/name-constructors.js +61 -0
  241. package/dist/src/rlc-common/helpers/name-constructors.js.map +1 -0
  242. package/dist/src/rlc-common/helpers/name-utils.d.ts +37 -0
  243. package/dist/src/rlc-common/helpers/name-utils.d.ts.map +1 -0
  244. package/dist/src/rlc-common/helpers/name-utils.js +240 -0
  245. package/dist/src/rlc-common/helpers/name-utils.js.map +1 -0
  246. package/dist/src/rlc-common/helpers/operation-helpers.d.ts +16 -0
  247. package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +1 -0
  248. package/dist/src/rlc-common/helpers/operation-helpers.js +104 -0
  249. package/dist/src/rlc-common/helpers/operation-helpers.js.map +1 -0
  250. package/dist/src/rlc-common/helpers/package-util.d.ts +7 -0
  251. package/dist/src/rlc-common/helpers/package-util.d.ts.map +1 -0
  252. package/dist/src/rlc-common/helpers/package-util.js +10 -0
  253. package/dist/src/rlc-common/helpers/package-util.js.map +1 -0
  254. package/dist/src/rlc-common/helpers/path-utils.d.ts +2 -0
  255. package/dist/src/rlc-common/helpers/path-utils.d.ts.map +1 -0
  256. package/dist/src/rlc-common/helpers/path-utils.js +10 -0
  257. package/dist/src/rlc-common/helpers/path-utils.js.map +1 -0
  258. package/dist/src/rlc-common/helpers/schema-helpers.d.ts +10 -0
  259. package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +1 -0
  260. package/dist/src/rlc-common/helpers/schema-helpers.js +37 -0
  261. package/dist/src/rlc-common/helpers/schema-helpers.js.map +1 -0
  262. package/dist/src/rlc-common/helpers/shortcut-methods.d.ts +4 -0
  263. package/dist/src/rlc-common/helpers/shortcut-methods.d.ts.map +1 -0
  264. package/dist/src/rlc-common/helpers/shortcut-methods.js +49 -0
  265. package/dist/src/rlc-common/helpers/shortcut-methods.js.map +1 -0
  266. package/dist/src/rlc-common/helpers/type-util.d.ts +32 -0
  267. package/dist/src/rlc-common/helpers/type-util.d.ts.map +1 -0
  268. package/dist/src/rlc-common/helpers/type-util.js +162 -0
  269. package/dist/src/rlc-common/helpers/type-util.js.map +1 -0
  270. package/dist/src/rlc-common/helpers/value-generation-util.d.ts +12 -0
  271. package/dist/src/rlc-common/helpers/value-generation-util.d.ts.map +1 -0
  272. package/dist/src/rlc-common/helpers/value-generation-util.js +161 -0
  273. package/dist/src/rlc-common/helpers/value-generation-util.js.map +1 -0
  274. package/dist/src/rlc-common/index.d.ts +39 -39
  275. package/dist/src/rlc-common/index.d.ts.map +1 -1
  276. package/dist/src/rlc-common/index.js +39 -39
  277. package/dist/src/rlc-common/index.js.map +1 -1
  278. package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
  279. package/dist/src/rlc-common/interfaces.js.map +1 -1
  280. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +6 -0
  281. package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +1 -0
  282. package/dist/src/rlc-common/metadata/build-api-extractor-config.js +55 -0
  283. package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +1 -0
  284. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +6 -0
  285. package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +1 -0
  286. package/dist/src/rlc-common/metadata/build-changelog-file.js +25 -0
  287. package/dist/src/rlc-common/metadata/build-changelog-file.js.map +1 -0
  288. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +6 -0
  289. package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +1 -0
  290. package/dist/src/rlc-common/metadata/build-es-lint-config.js +79 -0
  291. package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +1 -0
  292. package/dist/src/rlc-common/metadata/build-license-file.d.ts +5 -0
  293. package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +1 -0
  294. package/dist/src/rlc-common/metadata/build-license-file.js +32 -0
  295. package/dist/src/rlc-common/metadata/build-license-file.js.map +1 -0
  296. package/dist/src/rlc-common/metadata/build-package-file.d.ts +25 -0
  297. package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +1 -0
  298. package/dist/src/rlc-common/metadata/build-package-file.js +197 -0
  299. package/dist/src/rlc-common/metadata/build-package-file.js.map +1 -0
  300. package/dist/src/rlc-common/metadata/build-readme-file.d.ts +11 -0
  301. package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +1 -0
  302. package/dist/src/rlc-common/metadata/build-readme-file.js +418 -0
  303. package/dist/src/rlc-common/metadata/build-readme-file.js.map +1 -0
  304. package/dist/src/rlc-common/metadata/build-rollup-config.d.ts +6 -0
  305. package/dist/src/rlc-common/metadata/build-rollup-config.d.ts.map +1 -0
  306. package/dist/src/rlc-common/metadata/build-rollup-config.js +140 -0
  307. package/dist/src/rlc-common/metadata/build-rollup-config.js.map +1 -0
  308. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +6 -0
  309. package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +1 -0
  310. package/dist/src/rlc-common/metadata/build-sample-env-file.js +15 -0
  311. package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +1 -0
  312. package/dist/src/rlc-common/metadata/build-test-config.d.ts +16 -0
  313. package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +1 -0
  314. package/dist/src/rlc-common/metadata/build-test-config.js +54 -0
  315. package/dist/src/rlc-common/metadata/build-test-config.js.map +1 -0
  316. package/dist/src/rlc-common/metadata/build-ts-config.d.ts +61 -0
  317. package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +1 -0
  318. package/dist/src/rlc-common/metadata/build-ts-config.js +170 -0
  319. package/dist/src/rlc-common/metadata/build-ts-config.js.map +1 -0
  320. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +6 -0
  321. package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +1 -0
  322. package/dist/src/rlc-common/metadata/build-vitest-config.js +26 -0
  323. package/dist/src/rlc-common/metadata/build-vitest-config.js.map +1 -0
  324. package/dist/src/rlc-common/metadata/build-warp-config.d.ts +20 -0
  325. package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +1 -0
  326. package/dist/src/rlc-common/metadata/build-warp-config.js +76 -0
  327. package/dist/src/rlc-common/metadata/build-warp-config.js.map +1 -0
  328. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts +51 -0
  329. package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +1 -0
  330. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js +121 -0
  331. package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +1 -0
  332. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts +242 -0
  333. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
  334. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js +171 -0
  335. package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
  336. package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.d.ts +8 -0
  337. package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.d.ts.map +1 -0
  338. package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.js +101 -0
  339. package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.js.map +1 -0
  340. package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.d.ts +57 -0
  341. package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.d.ts.map +1 -0
  342. package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.js +53 -0
  343. package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.js.map +1 -0
  344. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts +64 -0
  345. package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +1 -0
  346. package/dist/src/rlc-common/metadata/package-json/package-common.js +180 -0
  347. package/dist/src/rlc-common/metadata/package-json/package-common.js.map +1 -0
  348. package/dist/src/rlc-common/metadata/utils.js +1 -2
  349. package/dist/src/rlc-common/metadata/utils.js.map +1 -1
  350. package/dist/src/rlc-common/static/paginate-content.d.ts +2 -0
  351. package/dist/src/rlc-common/static/paginate-content.d.ts.map +1 -0
  352. package/dist/src/rlc-common/static/paginate-content.js +345 -0
  353. package/dist/src/rlc-common/static/paginate-content.js.map +1 -0
  354. package/dist/src/rlc-common/static/polling-content.d.ts +2 -0
  355. package/dist/src/rlc-common/static/polling-content.d.ts.map +1 -0
  356. package/dist/src/rlc-common/static/polling-content.js +225 -0
  357. package/dist/src/rlc-common/static/polling-content.js.map +1 -0
  358. package/dist/src/rlc-common/static/sample-template.d.ts +2 -0
  359. package/dist/src/rlc-common/static/sample-template.d.ts.map +1 -0
  360. package/dist/src/rlc-common/static/sample-template.js +56 -0
  361. package/dist/src/rlc-common/static/sample-template.js.map +1 -0
  362. package/dist/src/rlc-common/static/serialize-helper.d.ts +6 -0
  363. package/dist/src/rlc-common/static/serialize-helper.d.ts.map +1 -0
  364. package/dist/src/rlc-common/static/serialize-helper.js +31 -0
  365. package/dist/src/rlc-common/static/serialize-helper.js.map +1 -0
  366. package/dist/src/rlc-common/test/build-karma-config.d.ts +6 -0
  367. package/dist/src/rlc-common/test/build-karma-config.d.ts.map +1 -0
  368. package/dist/src/rlc-common/test/build-karma-config.js +11 -0
  369. package/dist/src/rlc-common/test/build-karma-config.js.map +1 -0
  370. package/dist/src/rlc-common/test/build-recorded-client.d.ts +6 -0
  371. package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +1 -0
  372. package/dist/src/rlc-common/test/build-recorded-client.js +17 -0
  373. package/dist/src/rlc-common/test/build-recorded-client.js.map +1 -0
  374. package/dist/src/rlc-common/test/build-sample-test.d.ts +6 -0
  375. package/dist/src/rlc-common/test/build-sample-test.d.ts.map +1 -0
  376. package/dist/src/rlc-common/test/build-sample-test.js +14 -0
  377. package/dist/src/rlc-common/test/build-sample-test.js.map +1 -0
  378. package/dist/src/rlc-common/test/build-snippets.d.ts +6 -0
  379. package/dist/src/rlc-common/test/build-snippets.d.ts.map +1 -0
  380. package/dist/src/rlc-common/test/build-snippets.js +26 -0
  381. package/dist/src/rlc-common/test/build-snippets.js.map +1 -0
  382. package/dist/src/rlc-common/transform-sample-groups.d.ts +9 -0
  383. package/dist/src/rlc-common/transform-sample-groups.d.ts.map +1 -0
  384. package/dist/src/rlc-common/transform-sample-groups.js +313 -0
  385. package/dist/src/rlc-common/transform-sample-groups.js.map +1 -0
  386. package/dist/src/testing/index.d.ts.map +1 -1
  387. package/dist/src/testing/index.js +1 -1
  388. package/dist/src/testing/index.js.map +1 -1
  389. package/dist/src/transform/transform-api-version-info.d.ts +6 -0
  390. package/dist/src/transform/transform-api-version-info.d.ts.map +1 -0
  391. package/dist/src/transform/transform-api-version-info.js +78 -0
  392. package/dist/src/transform/transform-api-version-info.js.map +1 -0
  393. package/dist/src/transform/transform-helper-function-details.d.ts +5 -0
  394. package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -0
  395. package/dist/src/transform/transform-helper-function-details.js +74 -0
  396. package/dist/src/transform/transform-helper-function-details.js.map +1 -0
  397. package/dist/src/transform/transform-parameters.d.ts +14 -0
  398. package/dist/src/transform/transform-parameters.d.ts.map +1 -0
  399. package/dist/src/transform/transform-parameters.js +201 -0
  400. package/dist/src/transform/transform-parameters.js.map +1 -0
  401. package/dist/src/transform/transform-paths.d.ts +5 -0
  402. package/dist/src/transform/transform-paths.d.ts.map +1 -0
  403. package/dist/src/transform/transform-paths.js +102 -0
  404. package/dist/src/transform/transform-paths.js.map +1 -0
  405. package/dist/src/transform/transform-responses.d.ts +5 -0
  406. package/dist/src/transform/transform-responses.d.ts.map +1 -0
  407. package/dist/src/transform/transform-responses.js +171 -0
  408. package/dist/src/transform/transform-responses.js.map +1 -0
  409. package/dist/src/transform/transform-schemas.d.ts +4 -0
  410. package/dist/src/transform/transform-schemas.d.ts.map +1 -0
  411. package/dist/src/transform/transform-schemas.js +191 -0
  412. package/dist/src/transform/transform-schemas.js.map +1 -0
  413. package/dist/src/transform/transform-telemetry-info.d.ts +4 -0
  414. package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -0
  415. package/dist/src/transform/transform-telemetry-info.js +22 -0
  416. package/dist/src/transform/transform-telemetry-info.js.map +1 -0
  417. package/dist/src/transform/transform.d.ts +1 -1
  418. package/dist/src/transform/transform.d.ts.map +1 -1
  419. package/dist/src/transform/transform.js +37 -36
  420. package/dist/src/transform/transform.js.map +1 -1
  421. package/dist/src/transform/transfrom-rlc-options.d.ts +14 -0
  422. package/dist/src/transform/transfrom-rlc-options.d.ts.map +1 -0
  423. package/dist/src/transform/transfrom-rlc-options.js +369 -0
  424. package/dist/src/transform/transfrom-rlc-options.js.map +1 -0
  425. package/dist/src/utils/client-utils.d.ts +10 -0
  426. package/dist/src/utils/client-utils.d.ts.map +1 -0
  427. package/dist/src/utils/client-utils.js +124 -0
  428. package/dist/src/utils/client-utils.js.map +1 -0
  429. package/dist/src/utils/credential-utils.d.ts +15 -0
  430. package/dist/src/utils/credential-utils.d.ts.map +1 -0
  431. package/dist/src/utils/credential-utils.js +68 -0
  432. package/dist/src/utils/credential-utils.js.map +1 -0
  433. package/dist/src/utils/cross-language-def.d.ts +6 -0
  434. package/dist/src/utils/cross-language-def.d.ts.map +1 -0
  435. package/dist/src/utils/cross-language-def.js +59 -0
  436. package/dist/src/utils/cross-language-def.js.map +1 -0
  437. package/dist/src/utils/emit-util.d.ts +5 -0
  438. package/dist/src/utils/emit-util.d.ts.map +1 -0
  439. package/dist/src/utils/emit-util.js +71 -0
  440. package/dist/src/utils/emit-util.js.map +1 -0
  441. package/dist/src/utils/file-system-utils.d.ts +5 -0
  442. package/dist/src/utils/file-system-utils.d.ts.map +1 -0
  443. package/dist/src/utils/file-system-utils.js +59 -0
  444. package/dist/src/utils/file-system-utils.js.map +1 -0
  445. package/dist/src/utils/import-helper.d.ts +10 -0
  446. package/dist/src/utils/import-helper.d.ts.map +1 -0
  447. package/dist/src/utils/import-helper.js +51 -0
  448. package/dist/src/utils/import-helper.js.map +1 -0
  449. package/dist/src/utils/interfaces.d.ts +2 -2
  450. package/dist/src/utils/interfaces.d.ts.map +1 -1
  451. package/dist/src/utils/media-types.d.ts +28 -0
  452. package/dist/src/utils/media-types.d.ts.map +1 -0
  453. package/dist/src/utils/media-types.js +124 -0
  454. package/dist/src/utils/media-types.js.map +1 -0
  455. package/dist/src/utils/model-utils.d.ts +60 -0
  456. package/dist/src/utils/model-utils.d.ts.map +1 -0
  457. package/dist/src/utils/model-utils.js +1480 -0
  458. package/dist/src/utils/model-utils.js.map +1 -0
  459. package/dist/src/utils/namespace-utils.d.ts +6 -0
  460. package/dist/src/utils/namespace-utils.d.ts.map +1 -0
  461. package/dist/src/utils/namespace-utils.js +69 -0
  462. package/dist/src/utils/namespace-utils.js.map +1 -0
  463. package/dist/src/utils/operation-util.d.ts +97 -0
  464. package/dist/src/utils/operation-util.d.ts.map +1 -0
  465. package/dist/src/utils/operation-util.js +547 -0
  466. package/dist/src/utils/operation-util.js.map +1 -0
  467. package/dist/src/utils/parameter-utils.d.ts +9 -0
  468. package/dist/src/utils/parameter-utils.d.ts.map +1 -0
  469. package/dist/src/utils/parameter-utils.js +147 -0
  470. package/dist/src/utils/parameter-utils.js.map +1 -0
  471. package/dist/src/utils/resolve-project-root.js +2 -2
  472. package/dist/src/utils/resolve-project-root.js.map +1 -1
  473. package/dist/tsconfig.tsbuildinfo +1 -1
  474. package/package.json +44 -55
  475. package/src/context-manager.ts +101 -0
  476. package/src/framework/declaration.ts +18 -28
  477. package/src/framework/dependency.ts +1 -2
  478. package/src/framework/hooks/binder.ts +48 -121
  479. package/src/framework/hooks/sdk-types.ts +219 -0
  480. package/src/framework/hooks/use-dependencies.ts +16 -0
  481. package/src/framework/load-static-helpers.ts +28 -51
  482. package/src/framework/reference.ts +2 -5
  483. package/src/framework/sample.ts +9 -9
  484. package/src/index.ts +149 -189
  485. package/src/lib.ts +143 -158
  486. package/src/meta-tree.ts +8 -0
  487. package/src/modular/build-classical-client.ts +434 -0
  488. package/src/modular/build-classical-operation-groups.ts +69 -0
  489. package/src/modular/build-client-context.ts +325 -0
  490. package/src/modular/build-modular-options.ts +22 -0
  491. package/src/modular/build-operations.ts +248 -0
  492. package/src/modular/build-project-files.ts +111 -0
  493. package/src/modular/build-restore-poller.ts +242 -0
  494. package/src/modular/build-root-index.ts +407 -0
  495. package/src/modular/build-subpath-index.ts +152 -0
  496. package/src/modular/emit-logger-file.ts +23 -0
  497. package/src/modular/emit-models-options.ts +56 -0
  498. package/src/modular/emit-models.ts +1096 -0
  499. package/src/modular/emit-samples.ts +675 -0
  500. package/src/modular/emit-tests.ts +194 -0
  501. package/src/modular/external-dependencies.ts +54 -54
  502. package/src/modular/helpers/classical-operation-helpers.ts +375 -0
  503. package/src/modular/helpers/client-helpers.ts +362 -0
  504. package/src/modular/helpers/client-option-helpers.ts +122 -0
  505. package/src/modular/helpers/example-value-helpers.ts +851 -0
  506. package/src/modular/helpers/naming-helpers.ts +84 -0
  507. package/src/modular/helpers/operation-helpers.ts +3035 -0
  508. package/src/modular/helpers/type-helpers.ts +134 -0
  509. package/src/modular/serialization/build-deserializer-function.ts +564 -0
  510. package/src/modular/serialization/build-serializer-function.ts +614 -0
  511. package/src/modular/serialization/build-xml-serializer-function.ts +951 -0
  512. package/src/modular/serialization/serialize-utils.ts +217 -0
  513. package/src/modular/static/rollup.test.config.js +11 -14
  514. package/src/modular/static/scripts/renameOutput.mjs +2 -2
  515. package/src/modular/static-helpers-metadata.ts +60 -60
  516. package/src/modular/type-expressions/get-credential-expression.ts +1 -1
  517. package/src/modular/type-expressions/get-enum-expression.ts +5 -10
  518. package/src/modular/type-expressions/get-model-expression.ts +13 -17
  519. package/src/modular/type-expressions/get-nullable-expression.ts +4 -5
  520. package/src/modular/type-expressions/get-type-expression.ts +8 -12
  521. package/src/modular/type-expressions/get-union-expression.ts +4 -4
  522. package/src/modular/type-expressions/utils.ts +1 -1
  523. package/src/rlc-common/build-client-definitions.ts +235 -0
  524. package/src/rlc-common/build-client.ts +490 -0
  525. package/src/rlc-common/build-index-file.ts +344 -0
  526. package/src/rlc-common/build-is-unexpected-helper.ts +248 -0
  527. package/src/rlc-common/build-logger.ts +43 -0
  528. package/src/rlc-common/build-method-shortcuts.ts +71 -0
  529. package/src/rlc-common/build-object-types.ts +603 -0
  530. package/src/rlc-common/build-paginate-helper.ts +31 -0
  531. package/src/rlc-common/build-parameter-types.ts +554 -0
  532. package/src/rlc-common/build-polling-helper.ts +83 -0
  533. package/src/rlc-common/build-response-types.ts +180 -0
  534. package/src/rlc-common/build-samples.ts +32 -0
  535. package/src/rlc-common/build-schema-type.ts +89 -0
  536. package/src/rlc-common/build-serialize-helper.ts +49 -0
  537. package/src/rlc-common/build-top-level-index-file.ts +58 -0
  538. package/src/rlc-common/helpers/api-version-util.ts +48 -0
  539. package/src/rlc-common/helpers/imports-util.ts +184 -0
  540. package/src/rlc-common/helpers/name-constructors.ts +110 -0
  541. package/src/rlc-common/helpers/name-utils.ts +296 -0
  542. package/src/rlc-common/helpers/operation-helpers.ts +138 -0
  543. package/src/rlc-common/helpers/path-utils.ts +10 -0
  544. package/src/rlc-common/helpers/schema-helpers.ts +50 -0
  545. package/src/rlc-common/helpers/shortcut-methods.ts +58 -0
  546. package/src/rlc-common/helpers/type-util.ts +166 -0
  547. package/src/rlc-common/helpers/value-generation-util.ts +234 -0
  548. package/src/rlc-common/index.ts +39 -39
  549. package/src/rlc-common/interfaces.ts +3 -11
  550. package/src/rlc-common/metadata/build-api-extractor-config.ts +64 -0
  551. package/src/rlc-common/metadata/build-changelog-file.ts +29 -0
  552. package/src/rlc-common/metadata/build-es-lint-config.ts +84 -0
  553. package/src/rlc-common/metadata/build-license-file.ts +33 -0
  554. package/src/rlc-common/metadata/build-package-file.ts +242 -0
  555. package/src/rlc-common/metadata/build-readme-file.ts +515 -0
  556. package/src/rlc-common/metadata/build-rollup-config.ts +147 -0
  557. package/src/rlc-common/metadata/build-sample-env-file.ts +21 -0
  558. package/src/rlc-common/metadata/build-test-config.ts +72 -0
  559. package/src/rlc-common/metadata/build-ts-config.ts +219 -0
  560. package/src/rlc-common/metadata/build-vitest-config.ts +30 -0
  561. package/src/rlc-common/metadata/build-warp-config.ts +91 -0
  562. package/src/rlc-common/metadata/package-json/azure-package-common.ts +152 -0
  563. package/src/rlc-common/metadata/package-json/build-azure-monorepo-package.ts +199 -0
  564. package/src/rlc-common/metadata/package-json/build-azure-standalone-package.ts +123 -0
  565. package/src/rlc-common/metadata/package-json/build-flavorless-package.ts +68 -0
  566. package/src/rlc-common/metadata/package-json/package-common.ts +235 -0
  567. package/src/rlc-common/test/build-karma-config.ts +12 -0
  568. package/src/rlc-common/test/build-recorded-client.ts +18 -0
  569. package/src/rlc-common/test/build-sample-test.ts +15 -0
  570. package/src/rlc-common/test/build-snippets.ts +29 -0
  571. package/src/rlc-common/transform-sample-groups.ts +407 -0
  572. package/src/testing/index.ts +2 -5
  573. package/src/transform/transform-api-version-info.ts +103 -0
  574. package/src/transform/transform-helper-function-details.ts +88 -0
  575. package/src/transform/transform-parameters.ts +321 -0
  576. package/src/transform/transform-paths.ts +157 -0
  577. package/src/transform/transform-responses.ts +237 -0
  578. package/src/transform/transform-schemas.ts +212 -0
  579. package/src/transform/transform-telemetry-info.ts +33 -0
  580. package/src/transform/transform.ts +32 -44
  581. package/src/transform/transfrom-rlc-options.ts +461 -0
  582. package/src/utils/client-utils.ts +162 -0
  583. package/src/utils/credential-utils.ts +74 -0
  584. package/src/utils/cross-language-def.ts +66 -0
  585. package/src/utils/emit-util.ts +92 -0
  586. package/src/utils/file-system-utils.ts +69 -0
  587. package/src/utils/import-helper.ts +59 -0
  588. package/src/utils/interfaces.ts +2 -2
  589. package/src/utils/media-types.ts +150 -0
  590. package/src/utils/model-utils.ts +1727 -0
  591. package/src/utils/namespace-utils.ts +84 -0
  592. package/src/utils/operation-util.ts +763 -0
  593. package/src/utils/parameter-utils.ts +192 -0
  594. package/src/utils/resolve-project-root.ts +3 -3
  595. package/static/static-helpers/cloudSettingHelpers.ts +4 -6
  596. package/static/static-helpers/multipartHelpers.ts +3 -3
  597. package/static/static-helpers/pagingHelpers.ts +28 -63
  598. package/static/static-helpers/pollingHelpers.ts +16 -29
  599. package/static/static-helpers/serialization/build-multi-collection.ts +1 -4
  600. package/static/static-helpers/serialization/check-prop-undefined.ts +1 -4
  601. package/static/static-helpers/serialization/get-binary-response-browser.mts +3 -1
  602. package/static/static-helpers/serialization/get-binary-response.ts +2 -2
  603. package/static/static-helpers/serialization/get-binary-stream-response-browser.mts +1 -3
  604. package/static/static-helpers/serialization/get-binary-stream-response.ts +2 -4
  605. package/static/static-helpers/serialization/serialize-record.ts +1 -1
  606. package/static/static-helpers/serialization/serializers.ts +5 -7
  607. package/static/static-helpers/serialization/xml-helpers.ts +42 -90
  608. package/static/static-helpers/simplePollerHelpers.ts +10 -19
  609. package/static/static-helpers/storageCompatResponse.ts +10 -27
  610. package/static/static-helpers/urlTemplate.ts +4 -7
  611. package/static/test-helpers/recordedClient.ts +5 -10
  612. package/dist/src/contextManager.d.ts +0 -75
  613. package/dist/src/contextManager.d.ts.map +0 -1
  614. package/dist/src/contextManager.js +0 -59
  615. package/dist/src/contextManager.js.map +0 -1
  616. package/dist/src/framework/hooks/sdkTypes.d.ts +0 -26
  617. package/dist/src/framework/hooks/sdkTypes.d.ts.map +0 -1
  618. package/dist/src/framework/hooks/sdkTypes.js +0 -161
  619. package/dist/src/framework/hooks/sdkTypes.js.map +0 -1
  620. package/dist/src/framework/hooks/useDependencies.d.ts +0 -4
  621. package/dist/src/framework/hooks/useDependencies.d.ts.map +0 -1
  622. package/dist/src/framework/hooks/useDependencies.js +0 -13
  623. package/dist/src/framework/hooks/useDependencies.js.map +0 -1
  624. package/dist/src/metaTree.d.ts +0 -7
  625. package/dist/src/metaTree.d.ts.map +0 -1
  626. package/dist/src/metaTree.js +0 -2
  627. package/dist/src/metaTree.js.map +0 -1
  628. package/dist/src/modular/buildClassicalClient.d.ts +0 -6
  629. package/dist/src/modular/buildClassicalClient.d.ts.map +0 -1
  630. package/dist/src/modular/buildClassicalClient.js +0 -359
  631. package/dist/src/modular/buildClassicalClient.js.map +0 -1
  632. package/dist/src/modular/buildClassicalOperationGroups.d.ts +0 -6
  633. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +0 -1
  634. package/dist/src/modular/buildClassicalOperationGroups.js +0 -50
  635. package/dist/src/modular/buildClassicalOperationGroups.js.map +0 -1
  636. package/dist/src/modular/buildClientContext.d.ts +0 -13
  637. package/dist/src/modular/buildClientContext.d.ts.map +0 -1
  638. package/dist/src/modular/buildClientContext.js +0 -253
  639. package/dist/src/modular/buildClientContext.js.map +0 -1
  640. package/dist/src/modular/buildModularOptions.d.ts +0 -6
  641. package/dist/src/modular/buildModularOptions.d.ts.map +0 -1
  642. package/dist/src/modular/buildModularOptions.js +0 -15
  643. package/dist/src/modular/buildModularOptions.js.map +0 -1
  644. package/dist/src/modular/buildOperations.d.ts +0 -21
  645. package/dist/src/modular/buildOperations.d.ts.map +0 -1
  646. package/dist/src/modular/buildOperations.js +0 -174
  647. package/dist/src/modular/buildOperations.js.map +0 -1
  648. package/dist/src/modular/buildProjectFiles.d.ts +0 -4
  649. package/dist/src/modular/buildProjectFiles.d.ts.map +0 -1
  650. package/dist/src/modular/buildProjectFiles.js +0 -94
  651. package/dist/src/modular/buildProjectFiles.js.map +0 -1
  652. package/dist/src/modular/buildRestorePoller.d.ts +0 -5
  653. package/dist/src/modular/buildRestorePoller.d.ts.map +0 -1
  654. package/dist/src/modular/buildRestorePoller.js +0 -217
  655. package/dist/src/modular/buildRestorePoller.js.map +0 -1
  656. package/dist/src/modular/buildRootIndex.d.ts +0 -13
  657. package/dist/src/modular/buildRootIndex.d.ts.map +0 -1
  658. package/dist/src/modular/buildRootIndex.js +0 -293
  659. package/dist/src/modular/buildRootIndex.js.map +0 -1
  660. package/dist/src/modular/buildSubpathIndex.d.ts +0 -16
  661. package/dist/src/modular/buildSubpathIndex.d.ts.map +0 -1
  662. package/dist/src/modular/buildSubpathIndex.js +0 -128
  663. package/dist/src/modular/buildSubpathIndex.js.map +0 -1
  664. package/dist/src/modular/emitLoggerFile.d.ts +0 -3
  665. package/dist/src/modular/emitLoggerFile.d.ts.map +0 -1
  666. package/dist/src/modular/emitLoggerFile.js +0 -18
  667. package/dist/src/modular/emitLoggerFile.js.map +0 -1
  668. package/dist/src/modular/emitModels.d.ts +0 -23
  669. package/dist/src/modular/emitModels.d.ts.map +0 -1
  670. package/dist/src/modular/emitModels.js +0 -882
  671. package/dist/src/modular/emitModels.js.map +0 -1
  672. package/dist/src/modular/emitModelsOptions.d.ts +0 -5
  673. package/dist/src/modular/emitModelsOptions.d.ts.map +0 -1
  674. package/dist/src/modular/emitModelsOptions.js +0 -36
  675. package/dist/src/modular/emitModelsOptions.js.map +0 -1
  676. package/dist/src/modular/emitSamples.d.ts +0 -7
  677. package/dist/src/modular/emitSamples.d.ts.map +0 -1
  678. package/dist/src/modular/emitSamples.js +0 -508
  679. package/dist/src/modular/emitSamples.js.map +0 -1
  680. package/dist/src/modular/emitTests.d.ts +0 -7
  681. package/dist/src/modular/emitTests.d.ts.map +0 -1
  682. package/dist/src/modular/emitTests.js +0 -160
  683. package/dist/src/modular/emitTests.js.map +0 -1
  684. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +0 -7
  685. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +0 -1
  686. package/dist/src/modular/helpers/classicalOperationHelpers.js +0 -267
  687. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +0 -1
  688. package/dist/src/modular/helpers/clientHelpers.d.ts +0 -34
  689. package/dist/src/modular/helpers/clientHelpers.d.ts.map +0 -1
  690. package/dist/src/modular/helpers/clientHelpers.js +0 -282
  691. package/dist/src/modular/helpers/clientHelpers.js.map +0 -1
  692. package/dist/src/modular/helpers/clientOptionHelpers.d.ts +0 -43
  693. package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +0 -1
  694. package/dist/src/modular/helpers/clientOptionHelpers.js +0 -103
  695. package/dist/src/modular/helpers/clientOptionHelpers.js.map +0 -1
  696. package/dist/src/modular/helpers/docsHelpers.d.ts +0 -3
  697. package/dist/src/modular/helpers/docsHelpers.d.ts.map +0 -1
  698. package/dist/src/modular/helpers/docsHelpers.js +0 -10
  699. package/dist/src/modular/helpers/docsHelpers.js.map +0 -1
  700. package/dist/src/modular/helpers/exampleValueHelpers.d.ts +0 -83
  701. package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +0 -1
  702. package/dist/src/modular/helpers/exampleValueHelpers.js +0 -651
  703. package/dist/src/modular/helpers/exampleValueHelpers.js.map +0 -1
  704. package/dist/src/modular/helpers/namingHelpers.d.ts +0 -22
  705. package/dist/src/modular/helpers/namingHelpers.d.ts.map +0 -1
  706. package/dist/src/modular/helpers/namingHelpers.js +0 -62
  707. package/dist/src/modular/helpers/namingHelpers.js.map +0 -1
  708. package/dist/src/modular/helpers/operationHelpers.d.ts +0 -105
  709. package/dist/src/modular/helpers/operationHelpers.d.ts.map +0 -1
  710. package/dist/src/modular/helpers/operationHelpers.js +0 -2412
  711. package/dist/src/modular/helpers/operationHelpers.js.map +0 -1
  712. package/dist/src/modular/helpers/typeHelpers.d.ts +0 -22
  713. package/dist/src/modular/helpers/typeHelpers.d.ts.map +0 -1
  714. package/dist/src/modular/helpers/typeHelpers.js +0 -96
  715. package/dist/src/modular/helpers/typeHelpers.js.map +0 -1
  716. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +0 -7
  717. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +0 -1
  718. package/dist/src/modular/serialization/buildDeserializerFunction.js +0 -410
  719. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +0 -1
  720. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +0 -7
  721. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +0 -1
  722. package/dist/src/modular/serialization/buildSerializerFunction.js +0 -454
  723. package/dist/src/modular/serialization/buildSerializerFunction.js.map +0 -1
  724. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +0 -44
  725. package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +0 -1
  726. package/dist/src/modular/serialization/buildXmlSerializerFunction.js +0 -746
  727. package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +0 -1
  728. package/dist/src/modular/serialization/serializeUtils.d.ts +0 -37
  729. package/dist/src/modular/serialization/serializeUtils.d.ts.map +0 -1
  730. package/dist/src/modular/serialization/serializeUtils.js +0 -153
  731. package/dist/src/modular/serialization/serializeUtils.js.map +0 -1
  732. package/dist/src/rlc-common/buildClient.d.ts +0 -9
  733. package/dist/src/rlc-common/buildClient.d.ts.map +0 -1
  734. package/dist/src/rlc-common/buildClient.js +0 -413
  735. package/dist/src/rlc-common/buildClient.js.map +0 -1
  736. package/dist/src/rlc-common/buildClientDefinitions.d.ts +0 -6
  737. package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +0 -1
  738. package/dist/src/rlc-common/buildClientDefinitions.js +0 -174
  739. package/dist/src/rlc-common/buildClientDefinitions.js.map +0 -1
  740. package/dist/src/rlc-common/buildIndexFile.d.ts +0 -6
  741. package/dist/src/rlc-common/buildIndexFile.d.ts.map +0 -1
  742. package/dist/src/rlc-common/buildIndexFile.js +0 -242
  743. package/dist/src/rlc-common/buildIndexFile.js.map +0 -1
  744. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts +0 -6
  745. package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +0 -1
  746. package/dist/src/rlc-common/buildIsUnexpectedHelper.js +0 -224
  747. package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +0 -1
  748. package/dist/src/rlc-common/buildLogger.d.ts +0 -6
  749. package/dist/src/rlc-common/buildLogger.d.ts.map +0 -1
  750. package/dist/src/rlc-common/buildLogger.js +0 -32
  751. package/dist/src/rlc-common/buildLogger.js.map +0 -1
  752. package/dist/src/rlc-common/buildMethodShortcuts.d.ts +0 -5
  753. package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +0 -1
  754. package/dist/src/rlc-common/buildMethodShortcuts.js +0 -54
  755. package/dist/src/rlc-common/buildMethodShortcuts.js.map +0 -1
  756. package/dist/src/rlc-common/buildObjectTypes.d.ts +0 -29
  757. package/dist/src/rlc-common/buildObjectTypes.d.ts.map +0 -1
  758. package/dist/src/rlc-common/buildObjectTypes.js +0 -451
  759. package/dist/src/rlc-common/buildObjectTypes.js.map +0 -1
  760. package/dist/src/rlc-common/buildPaginateHelper.d.ts +0 -6
  761. package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +0 -1
  762. package/dist/src/rlc-common/buildPaginateHelper.js +0 -27
  763. package/dist/src/rlc-common/buildPaginateHelper.js.map +0 -1
  764. package/dist/src/rlc-common/buildParameterTypes.d.ts +0 -14
  765. package/dist/src/rlc-common/buildParameterTypes.d.ts.map +0 -1
  766. package/dist/src/rlc-common/buildParameterTypes.js +0 -381
  767. package/dist/src/rlc-common/buildParameterTypes.js.map +0 -1
  768. package/dist/src/rlc-common/buildPollingHelper.d.ts +0 -6
  769. package/dist/src/rlc-common/buildPollingHelper.d.ts.map +0 -1
  770. package/dist/src/rlc-common/buildPollingHelper.js +0 -62
  771. package/dist/src/rlc-common/buildPollingHelper.js.map +0 -1
  772. package/dist/src/rlc-common/buildResponseTypes.d.ts +0 -6
  773. package/dist/src/rlc-common/buildResponseTypes.d.ts.map +0 -1
  774. package/dist/src/rlc-common/buildResponseTypes.js +0 -147
  775. package/dist/src/rlc-common/buildResponseTypes.js.map +0 -1
  776. package/dist/src/rlc-common/buildSamples.d.ts +0 -3
  777. package/dist/src/rlc-common/buildSamples.d.ts.map +0 -1
  778. package/dist/src/rlc-common/buildSamples.js +0 -30
  779. package/dist/src/rlc-common/buildSamples.js.map +0 -1
  780. package/dist/src/rlc-common/buildSchemaType.d.ts +0 -20
  781. package/dist/src/rlc-common/buildSchemaType.d.ts.map +0 -1
  782. package/dist/src/rlc-common/buildSchemaType.js +0 -53
  783. package/dist/src/rlc-common/buildSchemaType.js.map +0 -1
  784. package/dist/src/rlc-common/buildSerializeHelper.d.ts +0 -6
  785. package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +0 -1
  786. package/dist/src/rlc-common/buildSerializeHelper.js +0 -36
  787. package/dist/src/rlc-common/buildSerializeHelper.js.map +0 -1
  788. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts +0 -6
  789. package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +0 -1
  790. package/dist/src/rlc-common/buildTopLevelIndexFile.js +0 -52
  791. package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +0 -1
  792. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts +0 -17
  793. package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +0 -1
  794. package/dist/src/rlc-common/helpers/apiVersionUtil.js +0 -45
  795. package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +0 -1
  796. package/dist/src/rlc-common/helpers/importsUtil.d.ts +0 -18
  797. package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +0 -1
  798. package/dist/src/rlc-common/helpers/importsUtil.js +0 -169
  799. package/dist/src/rlc-common/helpers/importsUtil.js.map +0 -1
  800. package/dist/src/rlc-common/helpers/nameConstructors.d.ts +0 -42
  801. package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +0 -1
  802. package/dist/src/rlc-common/helpers/nameConstructors.js +0 -63
  803. package/dist/src/rlc-common/helpers/nameConstructors.js.map +0 -1
  804. package/dist/src/rlc-common/helpers/nameUtils.d.ts +0 -37
  805. package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +0 -1
  806. package/dist/src/rlc-common/helpers/nameUtils.js +0 -246
  807. package/dist/src/rlc-common/helpers/nameUtils.js.map +0 -1
  808. package/dist/src/rlc-common/helpers/operationHelpers.d.ts +0 -16
  809. package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +0 -1
  810. package/dist/src/rlc-common/helpers/operationHelpers.js +0 -119
  811. package/dist/src/rlc-common/helpers/operationHelpers.js.map +0 -1
  812. package/dist/src/rlc-common/helpers/packageUtil.d.ts +0 -7
  813. package/dist/src/rlc-common/helpers/packageUtil.d.ts.map +0 -1
  814. package/dist/src/rlc-common/helpers/packageUtil.js +0 -13
  815. package/dist/src/rlc-common/helpers/packageUtil.js.map +0 -1
  816. package/dist/src/rlc-common/helpers/pathUtils.d.ts +0 -2
  817. package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +0 -1
  818. package/dist/src/rlc-common/helpers/pathUtils.js +0 -12
  819. package/dist/src/rlc-common/helpers/pathUtils.js.map +0 -1
  820. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts +0 -10
  821. package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +0 -1
  822. package/dist/src/rlc-common/helpers/schemaHelpers.js +0 -41
  823. package/dist/src/rlc-common/helpers/schemaHelpers.js.map +0 -1
  824. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +0 -4
  825. package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +0 -1
  826. package/dist/src/rlc-common/helpers/shortcutMethods.js +0 -49
  827. package/dist/src/rlc-common/helpers/shortcutMethods.js.map +0 -1
  828. package/dist/src/rlc-common/helpers/typeUtil.d.ts +0 -32
  829. package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +0 -1
  830. package/dist/src/rlc-common/helpers/typeUtil.js +0 -167
  831. package/dist/src/rlc-common/helpers/typeUtil.js.map +0 -1
  832. package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts +0 -12
  833. package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts.map +0 -1
  834. package/dist/src/rlc-common/helpers/valueGenerationUtil.js +0 -165
  835. package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +0 -1
  836. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts +0 -6
  837. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +0 -1
  838. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +0 -56
  839. package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +0 -1
  840. package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts +0 -6
  841. package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts.map +0 -1
  842. package/dist/src/rlc-common/metadata/buildChangelogFile.js +0 -26
  843. package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +0 -1
  844. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts +0 -6
  845. package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +0 -1
  846. package/dist/src/rlc-common/metadata/buildESLintConfig.js +0 -82
  847. package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +0 -1
  848. package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts +0 -5
  849. package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts.map +0 -1
  850. package/dist/src/rlc-common/metadata/buildLicenseFile.js +0 -32
  851. package/dist/src/rlc-common/metadata/buildLicenseFile.js.map +0 -1
  852. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts +0 -25
  853. package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +0 -1
  854. package/dist/src/rlc-common/metadata/buildPackageFile.js +0 -201
  855. package/dist/src/rlc-common/metadata/buildPackageFile.js.map +0 -1
  856. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts +0 -11
  857. package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +0 -1
  858. package/dist/src/rlc-common/metadata/buildReadmeFile.js +0 -426
  859. package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +0 -1
  860. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts +0 -6
  861. package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +0 -1
  862. package/dist/src/rlc-common/metadata/buildRollupConfig.js +0 -142
  863. package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +0 -1
  864. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts +0 -6
  865. package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +0 -1
  866. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +0 -17
  867. package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +0 -1
  868. package/dist/src/rlc-common/metadata/buildTestConfig.d.ts +0 -16
  869. package/dist/src/rlc-common/metadata/buildTestConfig.d.ts.map +0 -1
  870. package/dist/src/rlc-common/metadata/buildTestConfig.js +0 -55
  871. package/dist/src/rlc-common/metadata/buildTestConfig.js.map +0 -1
  872. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts +0 -61
  873. package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +0 -1
  874. package/dist/src/rlc-common/metadata/buildTsConfig.js +0 -170
  875. package/dist/src/rlc-common/metadata/buildTsConfig.js.map +0 -1
  876. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts +0 -6
  877. package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +0 -1
  878. package/dist/src/rlc-common/metadata/buildVitestConfig.js +0 -28
  879. package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +0 -1
  880. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts +0 -20
  881. package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +0 -1
  882. package/dist/src/rlc-common/metadata/buildWarpConfig.js +0 -77
  883. package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +0 -1
  884. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +0 -51
  885. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +0 -1
  886. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +0 -121
  887. package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +0 -1
  888. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts +0 -242
  889. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +0 -1
  890. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +0 -176
  891. package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +0 -1
  892. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts +0 -8
  893. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +0 -1
  894. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +0 -102
  895. package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +0 -1
  896. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts +0 -57
  897. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts.map +0 -1
  898. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +0 -53
  899. package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +0 -1
  900. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts +0 -64
  901. package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +0 -1
  902. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +0 -183
  903. package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +0 -1
  904. package/dist/src/rlc-common/static/paginateContent.d.ts +0 -2
  905. package/dist/src/rlc-common/static/paginateContent.d.ts.map +0 -1
  906. package/dist/src/rlc-common/static/paginateContent.js +0 -345
  907. package/dist/src/rlc-common/static/paginateContent.js.map +0 -1
  908. package/dist/src/rlc-common/static/pollingContent.d.ts +0 -2
  909. package/dist/src/rlc-common/static/pollingContent.d.ts.map +0 -1
  910. package/dist/src/rlc-common/static/pollingContent.js +0 -225
  911. package/dist/src/rlc-common/static/pollingContent.js.map +0 -1
  912. package/dist/src/rlc-common/static/sampleTemplate.d.ts +0 -2
  913. package/dist/src/rlc-common/static/sampleTemplate.d.ts.map +0 -1
  914. package/dist/src/rlc-common/static/sampleTemplate.js +0 -56
  915. package/dist/src/rlc-common/static/sampleTemplate.js.map +0 -1
  916. package/dist/src/rlc-common/static/serializeHelper.d.ts +0 -6
  917. package/dist/src/rlc-common/static/serializeHelper.d.ts.map +0 -1
  918. package/dist/src/rlc-common/static/serializeHelper.js +0 -31
  919. package/dist/src/rlc-common/static/serializeHelper.js.map +0 -1
  920. package/dist/src/rlc-common/test/buildKarmaConfig.d.ts +0 -6
  921. package/dist/src/rlc-common/test/buildKarmaConfig.d.ts.map +0 -1
  922. package/dist/src/rlc-common/test/buildKarmaConfig.js +0 -11
  923. package/dist/src/rlc-common/test/buildKarmaConfig.js.map +0 -1
  924. package/dist/src/rlc-common/test/buildRecordedClient.d.ts +0 -6
  925. package/dist/src/rlc-common/test/buildRecordedClient.d.ts.map +0 -1
  926. package/dist/src/rlc-common/test/buildRecordedClient.js +0 -18
  927. package/dist/src/rlc-common/test/buildRecordedClient.js.map +0 -1
  928. package/dist/src/rlc-common/test/buildSampleTest.d.ts +0 -6
  929. package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +0 -1
  930. package/dist/src/rlc-common/test/buildSampleTest.js +0 -15
  931. package/dist/src/rlc-common/test/buildSampleTest.js.map +0 -1
  932. package/dist/src/rlc-common/test/buildSnippets.d.ts +0 -6
  933. package/dist/src/rlc-common/test/buildSnippets.d.ts.map +0 -1
  934. package/dist/src/rlc-common/test/buildSnippets.js +0 -29
  935. package/dist/src/rlc-common/test/buildSnippets.js.map +0 -1
  936. package/dist/src/rlc-common/transformSampleGroups.d.ts +0 -9
  937. package/dist/src/rlc-common/transformSampleGroups.d.ts.map +0 -1
  938. package/dist/src/rlc-common/transformSampleGroups.js +0 -317
  939. package/dist/src/rlc-common/transformSampleGroups.js.map +0 -1
  940. package/dist/src/transform/transformApiVersionInfo.d.ts +0 -6
  941. package/dist/src/transform/transformApiVersionInfo.d.ts.map +0 -1
  942. package/dist/src/transform/transformApiVersionInfo.js +0 -80
  943. package/dist/src/transform/transformApiVersionInfo.js.map +0 -1
  944. package/dist/src/transform/transformHelperFunctionDetails.d.ts +0 -5
  945. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +0 -1
  946. package/dist/src/transform/transformHelperFunctionDetails.js +0 -77
  947. package/dist/src/transform/transformHelperFunctionDetails.js.map +0 -1
  948. package/dist/src/transform/transformParameters.d.ts +0 -14
  949. package/dist/src/transform/transformParameters.d.ts.map +0 -1
  950. package/dist/src/transform/transformParameters.js +0 -214
  951. package/dist/src/transform/transformParameters.js.map +0 -1
  952. package/dist/src/transform/transformPaths.d.ts +0 -5
  953. package/dist/src/transform/transformPaths.d.ts.map +0 -1
  954. package/dist/src/transform/transformPaths.js +0 -106
  955. package/dist/src/transform/transformPaths.js.map +0 -1
  956. package/dist/src/transform/transformResponses.d.ts +0 -5
  957. package/dist/src/transform/transformResponses.d.ts.map +0 -1
  958. package/dist/src/transform/transformResponses.js +0 -175
  959. package/dist/src/transform/transformResponses.js.map +0 -1
  960. package/dist/src/transform/transformSchemas.d.ts +0 -4
  961. package/dist/src/transform/transformSchemas.d.ts.map +0 -1
  962. package/dist/src/transform/transformSchemas.js +0 -202
  963. package/dist/src/transform/transformSchemas.js.map +0 -1
  964. package/dist/src/transform/transformTelemetryInfo.d.ts +0 -4
  965. package/dist/src/transform/transformTelemetryInfo.d.ts.map +0 -1
  966. package/dist/src/transform/transformTelemetryInfo.js +0 -22
  967. package/dist/src/transform/transformTelemetryInfo.js.map +0 -1
  968. package/dist/src/transform/transfromRLCOptions.d.ts +0 -14
  969. package/dist/src/transform/transfromRLCOptions.d.ts.map +0 -1
  970. package/dist/src/transform/transfromRLCOptions.js +0 -380
  971. package/dist/src/transform/transfromRLCOptions.js.map +0 -1
  972. package/dist/src/utils/clientUtils.d.ts +0 -10
  973. package/dist/src/utils/clientUtils.d.ts.map +0 -1
  974. package/dist/src/utils/clientUtils.js +0 -132
  975. package/dist/src/utils/clientUtils.js.map +0 -1
  976. package/dist/src/utils/credentialUtils.d.ts +0 -15
  977. package/dist/src/utils/credentialUtils.d.ts.map +0 -1
  978. package/dist/src/utils/credentialUtils.js +0 -69
  979. package/dist/src/utils/credentialUtils.js.map +0 -1
  980. package/dist/src/utils/crossLanguageDef.d.ts +0 -6
  981. package/dist/src/utils/crossLanguageDef.d.ts.map +0 -1
  982. package/dist/src/utils/crossLanguageDef.js +0 -63
  983. package/dist/src/utils/crossLanguageDef.js.map +0 -1
  984. package/dist/src/utils/emitUtil.d.ts +0 -5
  985. package/dist/src/utils/emitUtil.d.ts.map +0 -1
  986. package/dist/src/utils/emitUtil.js +0 -73
  987. package/dist/src/utils/emitUtil.js.map +0 -1
  988. package/dist/src/utils/fileSystemUtils.d.ts +0 -3
  989. package/dist/src/utils/fileSystemUtils.d.ts.map +0 -1
  990. package/dist/src/utils/fileSystemUtils.js +0 -40
  991. package/dist/src/utils/fileSystemUtils.js.map +0 -1
  992. package/dist/src/utils/importHelper.d.ts +0 -10
  993. package/dist/src/utils/importHelper.d.ts.map +0 -1
  994. package/dist/src/utils/importHelper.js +0 -54
  995. package/dist/src/utils/importHelper.js.map +0 -1
  996. package/dist/src/utils/mediaTypes.d.ts +0 -28
  997. package/dist/src/utils/mediaTypes.d.ts.map +0 -1
  998. package/dist/src/utils/mediaTypes.js +0 -136
  999. package/dist/src/utils/mediaTypes.js.map +0 -1
  1000. package/dist/src/utils/modelUtils.d.ts +0 -60
  1001. package/dist/src/utils/modelUtils.d.ts.map +0 -1
  1002. package/dist/src/utils/modelUtils.js +0 -1577
  1003. package/dist/src/utils/modelUtils.js.map +0 -1
  1004. package/dist/src/utils/namespaceUtils.d.ts +0 -6
  1005. package/dist/src/utils/namespaceUtils.d.ts.map +0 -1
  1006. package/dist/src/utils/namespaceUtils.js +0 -70
  1007. package/dist/src/utils/namespaceUtils.js.map +0 -1
  1008. package/dist/src/utils/operationUtil.d.ts +0 -97
  1009. package/dist/src/utils/operationUtil.d.ts.map +0 -1
  1010. package/dist/src/utils/operationUtil.js +0 -568
  1011. package/dist/src/utils/operationUtil.js.map +0 -1
  1012. package/dist/src/utils/parameterUtils.d.ts +0 -9
  1013. package/dist/src/utils/parameterUtils.d.ts.map +0 -1
  1014. package/dist/src/utils/parameterUtils.js +0 -154
  1015. package/dist/src/utils/parameterUtils.js.map +0 -1
  1016. package/src/contextManager.ts +0 -104
  1017. package/src/framework/hooks/sdkTypes.ts +0 -245
  1018. package/src/framework/hooks/useDependencies.ts +0 -18
  1019. package/src/metaTree.ts +0 -8
  1020. package/src/modular/buildClassicalClient.ts +0 -511
  1021. package/src/modular/buildClassicalOperationGroups.ts +0 -94
  1022. package/src/modular/buildClientContext.ts +0 -354
  1023. package/src/modular/buildModularOptions.ts +0 -23
  1024. package/src/modular/buildOperations.ts +0 -275
  1025. package/src/modular/buildProjectFiles.ts +0 -140
  1026. package/src/modular/buildRestorePoller.ts +0 -261
  1027. package/src/modular/buildRootIndex.ts +0 -481
  1028. package/src/modular/buildSubpathIndex.ts +0 -175
  1029. package/src/modular/emitLoggerFile.ts +0 -28
  1030. package/src/modular/emitModels.ts +0 -1211
  1031. package/src/modular/emitModelsOptions.ts +0 -62
  1032. package/src/modular/emitSamples.ts +0 -763
  1033. package/src/modular/emitTests.ts +0 -227
  1034. package/src/modular/helpers/classicalOperationHelpers.ts +0 -428
  1035. package/src/modular/helpers/clientHelpers.ts +0 -409
  1036. package/src/modular/helpers/clientOptionHelpers.ts +0 -129
  1037. package/src/modular/helpers/exampleValueHelpers.ts +0 -967
  1038. package/src/modular/helpers/namingHelpers.ts +0 -100
  1039. package/src/modular/helpers/operationHelpers.ts +0 -3362
  1040. package/src/modular/helpers/typeHelpers.ts +0 -142
  1041. package/src/modular/serialization/buildDeserializerFunction.ts +0 -598
  1042. package/src/modular/serialization/buildSerializerFunction.ts +0 -654
  1043. package/src/modular/serialization/buildXmlSerializerFunction.ts +0 -1030
  1044. package/src/modular/serialization/serializeUtils.ts +0 -227
  1045. package/src/rlc-common/buildClient.ts +0 -561
  1046. package/src/rlc-common/buildClientDefinitions.ts +0 -278
  1047. package/src/rlc-common/buildIndexFile.ts +0 -344
  1048. package/src/rlc-common/buildIsUnexpectedHelper.ts +0 -255
  1049. package/src/rlc-common/buildLogger.ts +0 -43
  1050. package/src/rlc-common/buildMethodShortcuts.ts +0 -83
  1051. package/src/rlc-common/buildObjectTypes.ts +0 -680
  1052. package/src/rlc-common/buildPaginateHelper.ts +0 -34
  1053. package/src/rlc-common/buildParameterTypes.ts +0 -575
  1054. package/src/rlc-common/buildPollingHelper.ts +0 -83
  1055. package/src/rlc-common/buildResponseTypes.ts +0 -203
  1056. package/src/rlc-common/buildSamples.ts +0 -32
  1057. package/src/rlc-common/buildSchemaType.ts +0 -81
  1058. package/src/rlc-common/buildSerializeHelper.ts +0 -49
  1059. package/src/rlc-common/buildTopLevelIndexFile.ts +0 -65
  1060. package/src/rlc-common/helpers/apiVersionUtil.ts +0 -53
  1061. package/src/rlc-common/helpers/importsUtil.ts +0 -187
  1062. package/src/rlc-common/helpers/nameConstructors.ts +0 -144
  1063. package/src/rlc-common/helpers/nameUtils.ts +0 -319
  1064. package/src/rlc-common/helpers/operationHelpers.ts +0 -155
  1065. package/src/rlc-common/helpers/pathUtils.ts +0 -15
  1066. package/src/rlc-common/helpers/schemaHelpers.ts +0 -61
  1067. package/src/rlc-common/helpers/shortcutMethods.ts +0 -67
  1068. package/src/rlc-common/helpers/typeUtil.ts +0 -173
  1069. package/src/rlc-common/helpers/valueGenerationUtil.ts +0 -257
  1070. package/src/rlc-common/metadata/buildApiExtractorConfig.ts +0 -71
  1071. package/src/rlc-common/metadata/buildChangelogFile.ts +0 -29
  1072. package/src/rlc-common/metadata/buildESLintConfig.ts +0 -86
  1073. package/src/rlc-common/metadata/buildLicenseFile.ts +0 -33
  1074. package/src/rlc-common/metadata/buildPackageFile.ts +0 -250
  1075. package/src/rlc-common/metadata/buildReadmeFile.ts +0 -528
  1076. package/src/rlc-common/metadata/buildRollupConfig.ts +0 -150
  1077. package/src/rlc-common/metadata/buildSampleEnvFile.ts +0 -22
  1078. package/src/rlc-common/metadata/buildTestConfig.ts +0 -72
  1079. package/src/rlc-common/metadata/buildTsConfig.ts +0 -222
  1080. package/src/rlc-common/metadata/buildVitestConfig.ts +0 -36
  1081. package/src/rlc-common/metadata/buildWarpConfig.ts +0 -94
  1082. package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +0 -161
  1083. package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +0 -220
  1084. package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +0 -134
  1085. package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +0 -70
  1086. package/src/rlc-common/metadata/packageJson/packageCommon.ts +0 -255
  1087. package/src/rlc-common/test/buildKarmaConfig.ts +0 -12
  1088. package/src/rlc-common/test/buildRecordedClient.ts +0 -18
  1089. package/src/rlc-common/test/buildSampleTest.ts +0 -15
  1090. package/src/rlc-common/test/buildSnippets.ts +0 -35
  1091. package/src/rlc-common/transformSampleGroups.ts +0 -458
  1092. package/src/transform/transformApiVersionInfo.ts +0 -116
  1093. package/src/transform/transformHelperFunctionDetails.ts +0 -100
  1094. package/src/transform/transformParameters.ts +0 -371
  1095. package/src/transform/transformPaths.ts +0 -174
  1096. package/src/transform/transformResponses.ts +0 -244
  1097. package/src/transform/transformSchemas.ts +0 -230
  1098. package/src/transform/transformTelemetryInfo.ts +0 -39
  1099. package/src/transform/transfromRLCOptions.ts +0 -524
  1100. package/src/utils/clientUtils.ts +0 -181
  1101. package/src/utils/credentialUtils.ts +0 -85
  1102. package/src/utils/crossLanguageDef.ts +0 -85
  1103. package/src/utils/emitUtil.ts +0 -98
  1104. package/src/utils/fileSystemUtils.ts +0 -47
  1105. package/src/utils/importHelper.ts +0 -64
  1106. package/src/utils/mediaTypes.ts +0 -171
  1107. package/src/utils/modelUtils.ts +0 -1946
  1108. package/src/utils/namespaceUtils.ts +0 -100
  1109. package/src/utils/operationUtil.ts +0 -855
  1110. package/src/utils/parameterUtils.ts +0 -215
  1111. /package/src/modular/helpers/{docsHelpers.ts → docs-helpers.ts} +0 -0
  1112. /package/src/rlc-common/helpers/{packageUtil.ts → package-util.ts} +0 -0
  1113. /package/src/rlc-common/static/{paginateContent.ts → paginate-content.ts} +0 -0
  1114. /package/src/rlc-common/static/{pollingContent.ts → polling-content.ts} +0 -0
  1115. /package/src/rlc-common/static/{sampleTemplate.ts → sample-template.ts} +0 -0
  1116. /package/src/rlc-common/static/{serializeHelper.ts → serialize-helper.ts} +0 -0
@@ -1,1211 +0,0 @@
1
- import {
2
- EnumDeclarationStructure,
3
- EnumMemberStructure,
4
- InterfaceDeclarationStructure,
5
- OptionalKind,
6
- PropertySignatureStructure,
7
- SourceFile,
8
- StructureKind,
9
- TypeAliasDeclarationStructure
10
- } from "ts-morph";
11
- import {
12
- fixLeadingNumber,
13
- NameType,
14
- normalizeName
15
- } from "../rlc-common/index.js";
16
- import {
17
- SdkArrayType,
18
- SdkModelPropertyType,
19
- SdkClientType,
20
- SdkDictionaryType,
21
- SdkEnumType,
22
- SdkEnumValueType,
23
- SdkHttpOperation,
24
- SdkMethod,
25
- SdkModelType,
26
- SdkNullableType,
27
- SdkServiceMethod,
28
- SdkServiceOperation,
29
- SdkType,
30
- SdkUnionType,
31
- UsageFlags,
32
- isPagedResultModel,
33
- isReadOnly,
34
- listAllServiceNamespaces
35
- } from "@azure-tools/typespec-client-generator-core";
36
- // import { isKey } from "@typespec/compiler";
37
- import {
38
- getExternalModel,
39
- getModelExpression,
40
- getMultipartFileTypeExpression
41
- } from "./type-expressions/get-model-expression.js";
42
-
43
- import { SdkContext } from "../utils/interfaces.js";
44
- import { addDeclaration } from "../framework/declaration.js";
45
- import {
46
- buildModelDeserializer,
47
- buildPropertyDeserializer
48
- } from "./serialization/buildDeserializerFunction.js";
49
- import {
50
- buildModelSerializer,
51
- buildPropertySerializer
52
- } from "./serialization/buildSerializerFunction.js";
53
- import {
54
- buildXmlModelSerializer,
55
- buildXmlModelDeserializer,
56
- buildXmlObjectModelSerializer,
57
- buildXmlObjectModelDeserializer,
58
- hasXmlSerialization
59
- } from "./serialization/buildXmlSerializerFunction.js";
60
- import path from "path";
61
- import { refkey } from "../framework/refkey.js";
62
- import { useContext } from "../contextManager.js";
63
- import { isMetadata, isOrExtendsHttpFile, Visibility } from "@typespec/http";
64
- import { isAzureCoreErrorType } from "../utils/modelUtils.js";
65
- import { getHeaderClientOptions } from "./helpers/clientOptionHelpers.js";
66
- import { isExtensibleEnum } from "./type-expressions/get-enum-expression.js";
67
- import {
68
- getAllDiscriminatedValues,
69
- getPropertyWithOverrides,
70
- isDiscriminatedUnion
71
- } from "./serialization/serializeUtils.js";
72
- import { reportDiagnostic } from "../lib.js";
73
- import { getNamespaceFullName, NoTarget } from "@typespec/compiler";
74
- import {
75
- getTypeExpression,
76
- normalizeModelPropertyName
77
- } from "./type-expressions/get-type-expression.js";
78
- import {
79
- emitQueue,
80
- flattenPropertyModelMap,
81
- getAllOperationsFromClient,
82
- pagedModelsUsedInNonPagingOps
83
- } from "../framework/hooks/sdkTypes.js";
84
- import {
85
- getAllAncestors,
86
- getAllProperties,
87
- buildNonModelResponseTypeDeclaration,
88
- checkWrapNonModelReturn
89
- } from "./helpers/operationHelpers.js";
90
- import { getDirectSubtypes } from "./helpers/typeHelpers.js";
91
- import { getClientHierarchyMap } from "../utils/clientUtils.js";
92
- import { getMethodHierarchiesMap } from "../utils/operationUtil.js";
93
-
94
- type InterfaceStructure = OptionalKind<InterfaceDeclarationStructure> & {
95
- extends?: string[];
96
- kind: StructureKind.Interface;
97
- };
98
-
99
- function isGenerableType(
100
- type: SdkType
101
- ): type is
102
- | SdkModelType
103
- | SdkEnumType
104
- | SdkUnionType
105
- | SdkDictionaryType
106
- | SdkArrayType
107
- | SdkNullableType {
108
- return (
109
- type.kind === "model" ||
110
- type.kind === "enum" ||
111
- type.kind === "union" ||
112
- type.kind === "dict" ||
113
- type.kind === "array" ||
114
- (type.kind === "nullable" &&
115
- isGenerableType(type.type) &&
116
- Boolean(type.name) &&
117
- !type.isGeneratedName)
118
- );
119
- }
120
- export function emitTypes(
121
- context: SdkContext,
122
- { sourceRoot }: { sourceRoot: string }
123
- ) {
124
- const outputProject = useContext("outputProject");
125
-
126
- let sourceFile;
127
-
128
- for (const type of emitQueue) {
129
- if (!isGenerableType(type)) {
130
- continue;
131
- }
132
-
133
- const namespaces = getModelNamespaces(context, type);
134
- const filepath = getModelsPath(sourceRoot, namespaces);
135
- sourceFile = outputProject.getSourceFile(filepath);
136
- if (!sourceFile) {
137
- sourceFile = outputProject.createSourceFile(filepath);
138
- sourceFile.addStatements(`/**
139
- * This file contains only generated model types and their (de)serializers.
140
- * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
141
- */
142
- /* eslint-disable @typescript-eslint/naming-convention */
143
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
144
- }
145
- emitType(context, type, sourceFile);
146
- }
147
-
148
- // Emit serialization/deserialization functions for flattened properties
149
- for (const [property, _] of flattenPropertyModelMap) {
150
- const namespaces = getModelNamespaces(context, property.type);
151
- const filepath = getModelsPath(sourceRoot, namespaces);
152
- sourceFile = outputProject.getSourceFile(filepath);
153
- addSerializationFunctions(context, property, sourceFile!);
154
- }
155
-
156
- const modelFiles = outputProject.getSourceFiles(
157
- sourceRoot + "/models/**/*.ts"
158
- );
159
- const result = [];
160
- for (const modelFile of modelFiles) {
161
- if (
162
- modelFile.getInterfaces().length === 0 &&
163
- modelFile.getTypeAliases().length === 0 &&
164
- modelFile.getEnums().length === 0
165
- ) {
166
- outputProject.removeSourceFile(modelFile);
167
- continue;
168
- }
169
- result.push(modelFile);
170
- }
171
-
172
- return result;
173
- }
174
-
175
- /**
176
- * Emits the XxxResponse wrapper type aliases for non-model return operations
177
- * into the models.ts file, so they are exported publicly as part of the models API surface.
178
- * This must be called after emitTypes() and before buildSubpathIndexFile("models").
179
- */
180
- export function emitNonModelResponseTypes(
181
- context: SdkContext,
182
- { sourceRoot }: { sourceRoot: string }
183
- ) {
184
- const outputProject = useContext("outputProject");
185
- const clientMap = getClientHierarchyMap(context);
186
-
187
- const filepath = getModelsPath(sourceRoot);
188
- let modelsFile = outputProject.getSourceFile(filepath);
189
-
190
- for (const subClient of clientMap) {
191
- const methodHierarchies = getMethodHierarchiesMap(context, subClient[1]);
192
- for (const [prefixKey, operations] of methodHierarchies) {
193
- const prefixes = prefixKey.split("/");
194
- for (const op of operations) {
195
- const { shouldWrap, isBinary } = checkWrapNonModelReturn(context, op);
196
- if (!shouldWrap) {
197
- continue;
198
- }
199
- if (!modelsFile) {
200
- modelsFile = outputProject.createSourceFile(filepath);
201
- }
202
- const method: [string[], typeof op] = [prefixes, op];
203
- const typeAlias = buildNonModelResponseTypeDeclaration(
204
- context,
205
- method,
206
- isBinary
207
- );
208
- addDeclaration(modelsFile, typeAlias, refkey(op, "response"));
209
- }
210
- }
211
- }
212
- }
213
-
214
- function emitType(context: SdkContext, type: SdkType, sourceFile: SourceFile) {
215
- if (type.kind === "model") {
216
- if (isAzureCoreErrorType(context.program, type.__raw)) {
217
- return;
218
- }
219
- if (isOrExtendsHttpFile(context.program, type.__raw!)) {
220
- return;
221
- }
222
- if (
223
- !type.usage ||
224
- (type.usage !== undefined &&
225
- (type.usage & UsageFlags.Output) !== UsageFlags.Output &&
226
- (type.usage & UsageFlags.Input) !== UsageFlags.Input &&
227
- (type.usage & UsageFlags.Exception) !== UsageFlags.Exception)
228
- ) {
229
- return;
230
- }
231
- if (!type.name && type.isGeneratedName) {
232
- // TODO: https://github.com/Azure/typespec-azure/issues/1713 and https://github.com/microsoft/typespec/issues/4815
233
- // throw new Error(`Generation of anonymous types`);
234
- return;
235
- }
236
- const modelInterface = buildModelInterface(context, type);
237
- if (type.discriminatorProperty) {
238
- modelInterface.properties
239
- ?.filter((p) => {
240
- return (
241
- p.name ===
242
- normalizeModelPropertyName(context, type.discriminatorProperty!)
243
- );
244
- })
245
- .map((p) => {
246
- p.docs?.push(
247
- `The discriminator possible values: ${Object.keys(type.discriminatedSubtypes ?? {}).join(", ")}`
248
- );
249
- return p;
250
- });
251
- }
252
- addDeclaration(sourceFile, modelInterface, type);
253
- const modelPolymorphicType = buildModelPolymorphicType(context, type);
254
- if (modelPolymorphicType) {
255
- addSerializationFunctions(context, type, sourceFile, true);
256
- addDeclaration(
257
- sourceFile,
258
- modelPolymorphicType,
259
- refkey(type, "polymorphicType")
260
- );
261
- }
262
- addSerializationFunctions(context, type, sourceFile);
263
- } else if (type.kind === "enum") {
264
- if (!type.usage) {
265
- return;
266
- }
267
- const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
268
- // Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
269
- if (apiVersionEnumOnly && context.rlcOptions?.isMultiService) {
270
- return;
271
- }
272
- const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
273
- const outputUsage = (type.usage & UsageFlags.Output) === UsageFlags.Output;
274
- const exceptionUsage =
275
- (type.usage & UsageFlags.Exception) === UsageFlags.Exception;
276
- if (!(inputUsage || outputUsage || apiVersionEnumOnly || exceptionUsage)) {
277
- return;
278
- }
279
- const [enumType, knownValuesEnum] = buildEnumTypes(
280
- context,
281
- type,
282
- isExtensibleEnum(context, type)
283
- );
284
- if (enumType.name.startsWith("_")) {
285
- // skip enum generation for internal enums
286
- return;
287
- }
288
- if (apiVersionEnumOnly) {
289
- // generate known values enum only for api version enums
290
- addDeclaration(
291
- sourceFile,
292
- knownValuesEnum,
293
- refkey(knownValuesEnum.name, "knownValues")
294
- );
295
- } else {
296
- if (isExtensibleEnum(context, type)) {
297
- addDeclaration(
298
- sourceFile,
299
- knownValuesEnum,
300
- refkey(type, "knownValues")
301
- );
302
- }
303
- addDeclaration(sourceFile, enumType, type);
304
- }
305
- } else if (type.kind === "union") {
306
- const unionType = buildUnionType(context, type);
307
- addDeclaration(sourceFile, unionType, type);
308
- addSerializationFunctions(context, type, sourceFile);
309
- } else if (type.kind === "dict") {
310
- addDeclaration(sourceFile, normalizeModelName(context, type), type);
311
- addSerializationFunctions(context, type, sourceFile);
312
- } else if (type.kind === "array") {
313
- addDeclaration(sourceFile, normalizeModelName(context, type), type);
314
- addSerializationFunctions(context, type, sourceFile);
315
- } else if (type.kind === "nullable") {
316
- const nullableType = buildNullableType(context, type);
317
- addDeclaration(sourceFile, nullableType, type);
318
- }
319
- }
320
-
321
- export function getApiVersionEnum(context: SdkContext) {
322
- // Skip api version enum for multi-service scenarios since each service may have different versions
323
- if (context.rlcOptions?.isMultiService) {
324
- return;
325
- }
326
- const apiVersionEnum = context.sdkPackage.enums.find(
327
- (e) => e.usage === UsageFlags.ApiVersionEnum
328
- );
329
- if (!apiVersionEnum) {
330
- return;
331
- }
332
- return apiVersionEnum;
333
- }
334
-
335
- export function getModelsPath(
336
- sourceRoot: string,
337
- modelNamespace: string[] = []
338
- ): string {
339
- return path.join(
340
- ...[
341
- sourceRoot,
342
- "models",
343
- ...modelNamespace.map((n) => normalizeName(n, NameType.File)),
344
- `models.ts`
345
- ]
346
- );
347
- }
348
-
349
- export function getModelNamespaces(
350
- context: SdkContext,
351
- model: SdkType
352
- ): string[] {
353
- if (
354
- model.kind === "model" ||
355
- model.kind === "enum" ||
356
- model.kind === "union"
357
- ) {
358
- if (
359
- (model.namespace ?? "").startsWith("Azure.ResourceManager") ||
360
- (model.namespace ?? "").startsWith("Azure.Core") ||
361
- (model.crossLanguageDefinitionId ?? "").startsWith(
362
- "TypeSpec.Rest.Resource"
363
- ) ||
364
- (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
365
- ) {
366
- return [];
367
- }
368
- const segments = model.namespace.split(".");
369
- // Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
370
- if (context.rlcOptions?.isMultiService) {
371
- return segments;
372
- }
373
-
374
- const allServiceNamespaces =
375
- context.allServiceNamespaces ?? listAllServiceNamespaces(context);
376
- const deepestNamespace = getNamespaceFullName(allServiceNamespaces[0]!);
377
- const rootNamespace = deepestNamespace.split(".") ?? [];
378
- if (segments.length > rootNamespace.length) {
379
- while (segments[0] === rootNamespace[0]) {
380
- segments.shift();
381
- rootNamespace.shift();
382
- }
383
- return segments;
384
- }
385
- return [];
386
- } else if (model.kind === "array" || model.kind === "dict") {
387
- return getModelNamespaces(context, model.valueType);
388
- } else if (model.kind === "nullable") {
389
- return getModelNamespaces(context, model.type);
390
- }
391
- return [];
392
- }
393
-
394
- /**
395
- * Checks if a model type appears as a nested property (directly or as an array element)
396
- * inside any other XML model in the emit queue. XmlObject serializers/deserializers
397
- * are only needed for models that are nested inside other models.
398
- */
399
- function isNestedInXmlModel(targetModel: SdkModelType): boolean {
400
- for (const type of emitQueue) {
401
- if (type.kind !== "model" || type === targetModel) {
402
- continue;
403
- }
404
- if (!hasXmlSerialization(type)) {
405
- continue;
406
- }
407
- // Check properties of this model and all ancestors
408
- for (const property of getModelAndAncestorProperties(type)) {
409
- const propType = property.type;
410
- if (propType.kind === "model" && propType === targetModel) {
411
- return true;
412
- }
413
- if (
414
- propType.kind === "array" &&
415
- propType.valueType.kind === "model" &&
416
- propType.valueType === targetModel
417
- ) {
418
- return true;
419
- }
420
- }
421
- }
422
- return false;
423
- }
424
-
425
- /**
426
- * Gets all properties from a model and its ancestors (base models).
427
- */
428
- function getModelAndAncestorProperties(
429
- type: SdkModelType
430
- ): SdkModelPropertyType[] {
431
- const properties: SdkModelPropertyType[] = [];
432
- let current: SdkModelType | undefined = type;
433
- while (current) {
434
- for (const prop of current.properties) {
435
- if (prop.kind === "property") {
436
- properties.push(prop);
437
- }
438
- }
439
- current = current.baseModel;
440
- }
441
- return properties;
442
- }
443
-
444
- function addSerializationFunctions(
445
- context: SdkContext,
446
- typeOrProperty: SdkType | SdkModelPropertyType,
447
- sourceFile: SourceFile,
448
- skipDiscriminatedUnionSuffix = false
449
- ) {
450
- const options = {
451
- nameOnly: false,
452
- skipDiscriminatedUnionSuffix
453
- };
454
-
455
- // Add JSON serializers
456
- const serializationFunction =
457
- typeOrProperty.kind === "property"
458
- ? buildPropertySerializer(context, typeOrProperty, options)
459
- : buildModelSerializer(context, typeOrProperty, options);
460
-
461
- const serializerRefKey = refkey(typeOrProperty, "serializer");
462
- const deserializerRefKey = refkey(typeOrProperty, "deserializer");
463
- if (
464
- serializationFunction &&
465
- typeof serializationFunction !== "string" &&
466
- serializationFunction.name
467
- ) {
468
- addDeclaration(sourceFile, serializationFunction, serializerRefKey);
469
- }
470
- const deserializationFunction =
471
- typeOrProperty.kind === "property"
472
- ? buildPropertyDeserializer(context, typeOrProperty, options)
473
- : buildModelDeserializer(context, typeOrProperty, options);
474
- if (
475
- deserializationFunction &&
476
- typeof deserializationFunction !== "string" &&
477
- deserializationFunction.name
478
- ) {
479
- addDeclaration(sourceFile, deserializationFunction, deserializerRefKey);
480
- }
481
-
482
- // Add XML serializers if the type has XML serialization options
483
- if (typeOrProperty.kind === "model" && hasXmlSerialization(typeOrProperty)) {
484
- const xmlSerializerRefKey = refkey(typeOrProperty, "xmlSerializer");
485
- const xmlDeserializerRefKey = refkey(typeOrProperty, "xmlDeserializer");
486
-
487
- const xmlSerializationFunction = buildXmlModelSerializer(
488
- context,
489
- typeOrProperty,
490
- options
491
- );
492
- if (
493
- xmlSerializationFunction &&
494
- typeof xmlSerializationFunction !== "string" &&
495
- xmlSerializationFunction.name
496
- ) {
497
- addDeclaration(sourceFile, xmlSerializationFunction, xmlSerializerRefKey);
498
- }
499
-
500
- const xmlDeserializationFunction = buildXmlModelDeserializer(
501
- context,
502
- typeOrProperty,
503
- options
504
- );
505
- if (
506
- xmlDeserializationFunction &&
507
- typeof xmlDeserializationFunction !== "string" &&
508
- xmlDeserializationFunction.name
509
- ) {
510
- addDeclaration(
511
- sourceFile,
512
- xmlDeserializationFunction,
513
- xmlDeserializerRefKey
514
- );
515
- }
516
-
517
- // Only generate XML object serializer/deserializer for models that are
518
- // actually nested as properties inside other XML models
519
- if (isNestedInXmlModel(typeOrProperty)) {
520
- const xmlObjectSerializerRefKey = refkey(
521
- typeOrProperty,
522
- "xmlObjectSerializer"
523
- );
524
- const xmlObjectDeserializerRefKey = refkey(
525
- typeOrProperty,
526
- "xmlObjectDeserializer"
527
- );
528
-
529
- const xmlObjectSerializationFunction = buildXmlObjectModelSerializer(
530
- context,
531
- typeOrProperty,
532
- options
533
- );
534
- if (
535
- xmlObjectSerializationFunction &&
536
- typeof xmlObjectSerializationFunction !== "string" &&
537
- xmlObjectSerializationFunction.name
538
- ) {
539
- addDeclaration(
540
- sourceFile,
541
- xmlObjectSerializationFunction,
542
- xmlObjectSerializerRefKey
543
- );
544
- }
545
-
546
- const xmlObjectDeserializationFunction = buildXmlObjectModelDeserializer(
547
- context,
548
- typeOrProperty,
549
- options
550
- );
551
- if (
552
- xmlObjectDeserializationFunction &&
553
- typeof xmlObjectDeserializationFunction !== "string" &&
554
- xmlObjectDeserializationFunction.name
555
- ) {
556
- addDeclaration(
557
- sourceFile,
558
- xmlObjectDeserializationFunction,
559
- xmlObjectDeserializerRefKey
560
- );
561
- }
562
- }
563
- }
564
- }
565
-
566
- function buildUnionType(
567
- context: SdkContext,
568
- type: SdkUnionType
569
- ): TypeAliasDeclarationStructure {
570
- const unionDeclaration: TypeAliasDeclarationStructure = {
571
- kind: StructureKind.TypeAlias,
572
- name: normalizeModelName(context, type),
573
- isExported: true,
574
- type: type.variantTypes
575
- .map((v) => getTypeExpression(context, v))
576
- .join(" | ")
577
- };
578
-
579
- unionDeclaration.docs = [type.doc ?? `Alias for ${unionDeclaration.name}`];
580
-
581
- return unionDeclaration;
582
- }
583
-
584
- function buildNullableType(context: SdkContext, type: SdkNullableType) {
585
- const nullableDeclaration: TypeAliasDeclarationStructure = {
586
- kind: StructureKind.TypeAlias,
587
- name: normalizeModelName(context, type),
588
- isExported: true,
589
- type: getTypeExpression(context, type.type) + " | null"
590
- };
591
- nullableDeclaration.docs = [
592
- type.doc ?? `Alias for ${nullableDeclaration.name}`
593
- ];
594
- return nullableDeclaration;
595
- }
596
-
597
- export function buildEnumTypes(
598
- context: SdkContext,
599
- type: SdkEnumType,
600
- reportMemberNameDiagnostic = false // if reportMemberNameDiagnostic is true, it will report diagnostic for enum member name
601
- ): [TypeAliasDeclarationStructure, EnumDeclarationStructure] {
602
- const rawMembers = type.values.map((value) =>
603
- emitEnumMember(context, value, reportMemberNameDiagnostic)
604
- );
605
- const enumDeclaration: EnumDeclarationStructure = {
606
- kind: StructureKind.Enum,
607
- name: `Known${normalizeModelName(context, type)}`,
608
- isExported: true,
609
- members: deduplicateEnumMemberNames(rawMembers)
610
- };
611
-
612
- const enumAsUnion: TypeAliasDeclarationStructure = {
613
- kind: StructureKind.TypeAlias,
614
- name: normalizeModelName(context, type),
615
- isExported: true,
616
- type: !isExtensibleEnum(context, type)
617
- ? type.values.map((v) => getTypeExpression(context, v)).join(" | ")
618
- : getTypeExpression(context, type.valueType)
619
- };
620
-
621
- const docs = type.doc ? type.doc : "Type of " + enumAsUnion.name;
622
- enumAsUnion.docs =
623
- isExtensibleEnum(context, type) && type.doc
624
- ? [getExtensibleEnumDescription(context, type) ?? docs]
625
- : [docs];
626
- enumDeclaration.docs = type.doc
627
- ? [type.doc]
628
- : [`Known values of {@link ${type.name}} that the service accepts.`];
629
-
630
- return [enumAsUnion, enumDeclaration];
631
- }
632
-
633
- function getExtensibleEnumDescription(
634
- context: SdkContext,
635
- model: SdkEnumType
636
- ): string | undefined {
637
- if (model.isFixed && model.name && model.values) {
638
- return;
639
- }
640
- const valueDescriptions = model.values
641
- .map((v) => `**${v.value}**${v.doc ? `: ${v.doc}` : ""}`)
642
- .join(` \\\n`)
643
- // Escape the character / to make sure we don't incorrectly announce a comment blocks /** */
644
- .replace(/^\//g, "\\/")
645
- .replace(/([^\\])(\/)/g, "$1\\/");
646
- 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.`;
647
-
648
- return [
649
- `${model.doc} \\`,
650
- enumLink,
651
- `### Known values supported by the service`,
652
- valueDescriptions
653
- ].join(" \n");
654
- }
655
-
656
- /**
657
- * Deduplicates enum member names by appending a numeric suffix (_1, _2, ...)
658
- * to all members that share the same normalized name.
659
- * This handles cases where different values (e.g. "10" and "1.0") normalize
660
- * to the same identifier.
661
- */
662
- function deduplicateEnumMemberNames(
663
- members: EnumMemberStructure[]
664
- ): EnumMemberStructure[] {
665
- const nameCount = new Map<string, number>();
666
- for (const member of members) {
667
- const name = member.name as string;
668
- nameCount.set(name, (nameCount.get(name) ?? 0) + 1);
669
- }
670
- const nameCurrentIndex = new Map<string, number>();
671
- return members.map((member) => {
672
- const name = member.name as string;
673
- if ((nameCount.get(name) ?? 0) > 1) {
674
- const index = (nameCurrentIndex.get(name) ?? 0) + 1;
675
- nameCurrentIndex.set(name, index);
676
- return { ...member, name: `${name}_${index}` };
677
- }
678
- return member;
679
- });
680
- }
681
-
682
- function emitEnumMember(
683
- context: SdkContext,
684
- member: SdkEnumValueType,
685
- reportMemberNameDiagnostic = false // if reportMemberNameDiagnostic is true, it will report diagnostic for enum member name
686
- ): EnumMemberStructure {
687
- const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
688
- const enumTypeName = normalizeName(
689
- member.enumType.name,
690
- NameType.Interface,
691
- true
692
- );
693
- let normalizedMemberName = context.rlcOptions?.ignoreEnumMemberNameNormalize
694
- ? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
695
- : normalizeName(member.name, NameType.EnumMemberName, true);
696
- // If the member name starts with _ due to a leading digit (not because the original has _),
697
- // replace the _ prefix with either "V" (for API version enums) or the enum type name.
698
- if (
699
- shouldNormalizeName &&
700
- normalizedMemberName.toLowerCase().startsWith("_") &&
701
- !member.name.toLowerCase().startsWith("_")
702
- ) {
703
- const isApiVersionEnum =
704
- (member.enumType.usage & UsageFlags.ApiVersionEnum) ===
705
- UsageFlags.ApiVersionEnum;
706
- const prefix = isApiVersionEnum ? "V" : enumTypeName;
707
- normalizedMemberName = prefix + normalizedMemberName.slice(1);
708
- if (reportMemberNameDiagnostic) {
709
- reportDiagnostic(context.program, {
710
- code: "prefix-adding-in-enum-member",
711
- format: {
712
- memberName: member.name,
713
- normalizedName: normalizedMemberName,
714
- enumTypeName
715
- },
716
- target: NoTarget
717
- });
718
- }
719
- }
720
- const memberStructure: EnumMemberStructure = {
721
- kind: StructureKind.EnumMember,
722
- name: normalizedMemberName,
723
- value: member.value
724
- };
725
-
726
- if (member.doc) {
727
- memberStructure.docs = [member.doc];
728
- } else {
729
- // Provide default documentation using the enum value when no explicit doc exists
730
- memberStructure.docs = [String(member.value)];
731
- }
732
-
733
- return memberStructure;
734
- }
735
-
736
- function buildModelInterface(
737
- context: SdkContext,
738
- type: SdkModelType
739
- ): InterfaceDeclarationStructure {
740
- const flattenPropertySet = new Set<SdkModelPropertyType>();
741
- // For non-input models (output-only, exception, etc.), filter out metadata
742
- // properties (@header, @query, @path) since they are deserialized separately.
743
- // For input models, keep metadata properties — users need to pass them.
744
- const hasInputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
745
- const interfaceStructure = {
746
- kind: StructureKind.Interface,
747
- name: normalizeModelName(context, type, NameType.Interface, true),
748
- isExported: true,
749
- properties: type.properties
750
- .filter((p) => {
751
- if (!hasInputUsage && p.__raw && isMetadata(context.program, p.__raw)) {
752
- return false;
753
- }
754
- // Skip required metadata properties with Read-only visibility for ARM as they are not intended to be in the model
755
- // These properties are not be generated no matter they are in input or output models in most cases in HLC
756
- // Only skip properties that have exclusively Read visibility to avoid stripping @path properties
757
- // on parameter bag models that also carry other visibility flags (e.g. Create/Update)
758
- if (
759
- context.arm &&
760
- p.__raw &&
761
- isMetadata(context.program, p.__raw) &&
762
- p.visibility?.length === 1 &&
763
- p.visibility?.includes(Visibility.Read)
764
- ) {
765
- return false;
766
- }
767
- // filter out the flatten property to be processed later
768
- if (p.flatten && p.type.kind === "model") {
769
- flattenPropertySet.add(p);
770
- return false;
771
- }
772
- return true;
773
- })
774
- .map((p) => {
775
- return buildModelProperty(context, p, type);
776
- })
777
- } as InterfaceStructure;
778
- for (const flatten of flattenPropertySet.keys()) {
779
- const conflictMap =
780
- useContext("sdkTypes").flattenProperties.get(flatten)?.conflictMap;
781
- const allProperties = getAllProperties(
782
- context,
783
- flatten.type,
784
- getAllAncestors(flatten.type)
785
- );
786
- interfaceStructure.properties!.push(
787
- ...allProperties.map((p) => {
788
- // when the flattened property is optional, all its child properties should be optional too
789
- const property = getPropertyWithOverrides(p, {
790
- allOptional: flatten.optional,
791
- propertyRenames: conflictMap
792
- });
793
- return buildModelProperty(context, property, type);
794
- })
795
- );
796
- }
797
-
798
- // Add properties from @clientOption("header", ...) that don't already exist in the model
799
- const headerOptions = getHeaderClientOptions(type);
800
- if (headerOptions.length > 0) {
801
- const existingNames = new Set(
802
- interfaceStructure.properties!.map(
803
- (p: OptionalKind<PropertySignatureStructure>) => p.name
804
- )
805
- );
806
- for (const opt of headerOptions) {
807
- if (!existingNames.has(opt.propertyName)) {
808
- interfaceStructure.properties!.push({
809
- kind: StructureKind.PropertySignature,
810
- name: opt.propertyName,
811
- type: "string",
812
- hasQuestionToken: true
813
- });
814
- }
815
- }
816
- }
817
-
818
- if (type.baseModel) {
819
- const parentReference = getModelExpression(context, type.baseModel, {
820
- skipPolymorphicUnion: true
821
- });
822
- interfaceStructure.extends = [parentReference];
823
- }
824
-
825
- if (type.additionalProperties) {
826
- addExtendedDictInfo(context, type, interfaceStructure);
827
- }
828
-
829
- interfaceStructure.docs = [
830
- type.doc ?? "model interface " + interfaceStructure.name
831
- ];
832
-
833
- return interfaceStructure;
834
- }
835
-
836
- function addExtendedDictInfo(
837
- context: SdkContext,
838
- model: SdkModelType,
839
- modelInterface: InterfaceStructure
840
- ) {
841
- const additionalPropertiesType = model.additionalProperties
842
- ? getTypeExpression(context, model.additionalProperties)
843
- : undefined;
844
- if (context.rlcOptions?.compatibilityMode) {
845
- const ancestors = getAllAncestors(model);
846
- const properties = getAllProperties(context, model, ancestors);
847
- let anyType = true;
848
- if (!additionalPropertiesType) {
849
- // case 1: if additionalProperties is not defined, we should use any type
850
- anyType = true;
851
- } else if (properties.length === 0) {
852
- // case 2: if additionalProperties is defined and model.properties is empty, we should use additionalProperties type
853
- anyType = false;
854
- } else {
855
- // case 3: if additionalProperties is defined and model.properties is not empty, we should check if all properties are compatible with additionalProperties type
856
- anyType = !properties.every((p) => {
857
- return additionalPropertiesType?.includes(
858
- getTypeExpression(context, p.type)
859
- );
860
- });
861
- }
862
- if (!modelInterface.extends) {
863
- modelInterface.extends = [];
864
- }
865
- modelInterface.extends.push(
866
- `Record<string, ${anyType ? "any" : additionalPropertiesType}>`
867
- );
868
- } else {
869
- const additionalPropertiesType = model.additionalProperties
870
- ? getTypeExpression(context, model.additionalProperties)
871
- : undefined;
872
- const name = getAdditionalPropertiesName(context, model);
873
- if (name !== "additionalProperties") {
874
- // report diagnostic for additionalProperties
875
- reportDiagnostic(context.program, {
876
- code: "property-name-conflict",
877
- format: {
878
- propertyName: "additionalProperties"
879
- },
880
- target: NoTarget
881
- });
882
- }
883
- if (!modelInterface.properties) {
884
- modelInterface.properties = [];
885
- }
886
- modelInterface.properties.push({
887
- name,
888
- docs: ["Additional properties"],
889
- hasQuestionToken: true,
890
- isReadonly: false,
891
- type: `Record<string, ${additionalPropertiesType ?? "any"}>`
892
- });
893
- }
894
- }
895
-
896
- export function getAdditionalPropertiesName(
897
- context: SdkContext,
898
- model: SdkModelType
899
- ): string {
900
- const ancestors = getAllAncestors(model);
901
- const properties = getAllProperties(context, model, ancestors);
902
- const nameConflict = properties.find(
903
- (p) => p.name === "additionalProperties"
904
- );
905
- return nameConflict ? "additionalPropertiesBag" : "additionalProperties";
906
- }
907
-
908
- export function normalizeModelName(
909
- context: SdkContext,
910
- type:
911
- | SdkModelType
912
- | SdkEnumType
913
- | SdkUnionType
914
- | SdkArrayType
915
- | SdkDictionaryType
916
- | SdkNullableType,
917
- nameType: NameType = NameType.Interface,
918
- skipPolymorphicUnionSuffix = false,
919
- rawModelName?: boolean
920
- ): string {
921
- if (type.kind === "array") {
922
- if (rawModelName) {
923
- return `${normalizeModelName(context, type.valueType as any, nameType, skipPolymorphicUnionSuffix, rawModelName)}Array`;
924
- }
925
- return `Array<${normalizeModelName(context, type.valueType as any, nameType)}>`;
926
- } else if (type.kind === "dict") {
927
- if (rawModelName) {
928
- return `${normalizeModelName(context, type.valueType as any, nameType, skipPolymorphicUnionSuffix, rawModelName)}Record`;
929
- }
930
- return `Record<string, ${normalizeModelName(
931
- context,
932
- type.valueType as any,
933
- nameType
934
- )}>`;
935
- }
936
- if (
937
- type.kind !== "model" &&
938
- type.kind !== "enum" &&
939
- type.kind !== "union" &&
940
- type.kind !== "nullable"
941
- ) {
942
- return getTypeExpression(context, type);
943
- }
944
-
945
- const segments = getModelNamespaces(context, type);
946
- let unionSuffix = "";
947
- if (!skipPolymorphicUnionSuffix) {
948
- if (type.kind === "model" && isDiscriminatedUnion(type)) {
949
- unionSuffix = "Union";
950
- }
951
- }
952
- const namespacePrefix = context.rlcOptions?.enableModelNamespace
953
- ? segments.join("")
954
- : "";
955
- const internalModelPrefix =
956
- (isPagedResultModel(context, type) &&
957
- !pagedModelsUsedInNonPagingOps.has(type)) ||
958
- type.isGeneratedName
959
- ? "_"
960
- : "";
961
- return `${internalModelPrefix}${normalizeName(namespacePrefix + type.name, nameType, true)}${unionSuffix}`;
962
- }
963
-
964
- function buildModelPolymorphicType(context: SdkContext, type: SdkModelType) {
965
- // Only include direct subtypes in this union
966
- const directSubtypes = getDirectSubtypes(type);
967
- if (directSubtypes.length === 0) {
968
- return undefined;
969
- }
970
- const typeDeclaration: TypeAliasDeclarationStructure = {
971
- kind: StructureKind.TypeAlias,
972
- name: `${normalizeModelName(context, type, NameType.Interface, true)}Union`,
973
- isExported: true,
974
- type: directSubtypes
975
- .filter((p) => {
976
- return (
977
- p.usage !== undefined &&
978
- ((p.usage & UsageFlags.Output) === UsageFlags.Output ||
979
- (p.usage & UsageFlags.Input) === UsageFlags.Input)
980
- );
981
- })
982
- .map((t) => getTypeExpression(context, t))
983
- .join(" | ")
984
- };
985
- typeDeclaration.docs = [`Alias for ${typeDeclaration.name}`];
986
-
987
- typeDeclaration.type += ` | ${getModelExpression(context, type, {
988
- skipPolymorphicUnion: true
989
- })}`;
990
- return typeDeclaration;
991
- }
992
-
993
- function buildModelProperty(
994
- context: SdkContext,
995
- property: SdkModelPropertyType,
996
- model: SdkModelType
997
- ): PropertySignatureStructure {
998
- const normalizedPropName = normalizeModelPropertyName(context, property);
999
- if (
1000
- !context.rlcOptions?.ignorePropertyNameNormalize &&
1001
- normalizedPropName !== `"${property.name}"`
1002
- ) {
1003
- reportDiagnostic(context.program, {
1004
- code: "property-name-normalized",
1005
- format: {
1006
- propertyName: property.name,
1007
- normalizedName: normalizedPropName
1008
- },
1009
- target: NoTarget
1010
- });
1011
- }
1012
-
1013
- let typeExpression: string;
1014
- const allDiscriminatorValues = getAllDiscriminatedValues(model, property);
1015
-
1016
- // We need refine the discriminator property if
1017
- // 1. it is discriminated union
1018
- // 2. it has other discriminator values except itself
1019
- if (isDiscriminatedUnion(model) && allDiscriminatorValues.length > 1) {
1020
- typeExpression = allDiscriminatorValues
1021
- .map((value) => `"${value}"`)
1022
- .join(" | ");
1023
- } else if (
1024
- property.kind === "property" &&
1025
- property.serializationOptions.multipart?.isFilePart
1026
- ) {
1027
- typeExpression = getMultipartFileTypeExpression(context, property);
1028
- } else {
1029
- typeExpression = getTypeExpression(context, property.type, {
1030
- isOptional: property.optional
1031
- });
1032
- }
1033
-
1034
- const propertyStructure: PropertySignatureStructure = {
1035
- kind: StructureKind.PropertySignature,
1036
- name: normalizedPropName,
1037
- type: typeExpression,
1038
- hasQuestionToken: property.optional,
1039
- isReadonly: isReadOnly(property as SdkModelPropertyType)
1040
- };
1041
-
1042
- if (property.doc) {
1043
- propertyStructure.docs = [property.doc];
1044
- }
1045
-
1046
- return propertyStructure;
1047
- }
1048
-
1049
- export function visitPackageTypes(context: SdkContext) {
1050
- const { sdkPackage } = context;
1051
- emitQueue.clear();
1052
- flattenPropertyModelMap.clear();
1053
- pagedModelsUsedInNonPagingOps.clear();
1054
- // Add all models in the package to the emit queue
1055
- for (const model of sdkPackage.models) {
1056
- visitType(context, model);
1057
- }
1058
-
1059
- for (const union of sdkPackage.unions) {
1060
- visitType(context, union);
1061
- }
1062
- // Add all enums to the queue
1063
- for (const enumType of sdkPackage.enums) {
1064
- if (!emitQueue.has(enumType)) {
1065
- emitQueue.add(enumType);
1066
- }
1067
- }
1068
-
1069
- // Visit the clients to discover all models
1070
- for (const client of sdkPackage.clients) {
1071
- visitClient(context, client);
1072
- }
1073
- }
1074
-
1075
- function visitClient(
1076
- context: SdkContext,
1077
- client: SdkClientType<SdkServiceOperation>
1078
- ) {
1079
- // TODO: include the client parameters
1080
- // https://github.com/Azure/autorest.typescript/issues/3148
1081
- // Comment this out for now, as client initialization is not used in the generated code
1082
- getAllOperationsFromClient(client).forEach((method) =>
1083
- visitClientMethod(context, method)
1084
- );
1085
- }
1086
-
1087
- function visitClientMethod(
1088
- context: SdkContext,
1089
- method: SdkMethod<SdkHttpOperation>
1090
- ) {
1091
- switch (method.kind) {
1092
- case "lro":
1093
- case "paging":
1094
- case "lropaging":
1095
- case "basic":
1096
- visitMethod(context, method);
1097
- visitOperation(context, method.operation);
1098
- break;
1099
- default:
1100
- reportDiagnostic(context.program, {
1101
- code: "unknown-sdk-method-kind",
1102
- format: {
1103
- methodKind: (method as any).kind
1104
- },
1105
- target: NoTarget
1106
- });
1107
- return; // Skip processing this method but continue with others
1108
- }
1109
- }
1110
-
1111
- function visitOperation(context: SdkContext, operation: SdkHttpOperation) {
1112
- // Visit the request
1113
- visitType(context, operation.bodyParam?.type);
1114
- // Visit the response
1115
- operation.exceptions.forEach((exception) =>
1116
- visitType(context, exception.type)
1117
- );
1118
-
1119
- operation.parameters.forEach((parameter) => {
1120
- visitType(context, parameter.type);
1121
- });
1122
-
1123
- operation.responses.forEach((response) => visitType(context, response.type));
1124
- }
1125
-
1126
- function visitMethod(
1127
- context: SdkContext,
1128
- method: SdkServiceMethod<SdkHttpOperation>
1129
- ) {
1130
- // Visit the request
1131
- method.parameters.forEach((parameter) => {
1132
- visitType(context, parameter.type);
1133
- });
1134
- visitType(context, method.response.type);
1135
- trackPagedModelInNonPagingMethod(context, method);
1136
- }
1137
-
1138
- /**
1139
- * If a non-paging method's direct response type is a paged result model,
1140
- * mark it so that normalizeModelName keeps it public (no "_" prefix).
1141
- */
1142
- function trackPagedModelInNonPagingMethod(
1143
- context: SdkContext,
1144
- method: SdkServiceMethod<SdkHttpOperation>
1145
- ): void {
1146
- if (method.kind !== "basic" && method.kind !== "lro") return;
1147
- const respType = method.response.type;
1148
- if (respType && isPagedResultModel(context, respType)) {
1149
- pagedModelsUsedInNonPagingOps.add(respType);
1150
- }
1151
- }
1152
-
1153
- function visitType(context: SdkContext, type: SdkType | undefined) {
1154
- if (!type) {
1155
- return;
1156
- }
1157
-
1158
- if (emitQueue.has(type)) {
1159
- return;
1160
- }
1161
- emitQueue.add(type);
1162
- if (type.kind === "model") {
1163
- const externalModel = getExternalModel(type);
1164
- if (externalModel) {
1165
- return;
1166
- }
1167
-
1168
- if (type.additionalProperties) {
1169
- visitType(context, type.additionalProperties);
1170
- }
1171
- for (const property of type.properties) {
1172
- if (!emitQueue.has(property.type)) {
1173
- visitType(context, property.type);
1174
- }
1175
- if (property.flatten && property.type.kind === "model") {
1176
- flattenPropertyModelMap.set(property, type);
1177
- }
1178
- }
1179
- if (type.discriminatedSubtypes) {
1180
- for (const subType of Object.values(type.discriminatedSubtypes)) {
1181
- if (!emitQueue.has(subType)) {
1182
- visitType(context, subType);
1183
- }
1184
- }
1185
- }
1186
- }
1187
- if (type.kind === "array") {
1188
- if (!emitQueue.has(type.valueType)) {
1189
- visitType(context, type.valueType);
1190
- }
1191
- }
1192
- if (type.kind === "dict") {
1193
- if (!emitQueue.has(type.valueType)) {
1194
- visitType(context, type.valueType);
1195
- }
1196
- }
1197
- if (type.kind === "union") {
1198
- emitQueue.add(type);
1199
- for (const value of type.variantTypes) {
1200
- if (!emitQueue.has(value)) {
1201
- visitType(context, value);
1202
- }
1203
- }
1204
- }
1205
- if (type.kind === "nullable") {
1206
- emitQueue.add(type);
1207
- if (!emitQueue.has(type.type)) {
1208
- visitType(context, type.type);
1209
- }
1210
- }
1211
- }