@azure-tools/typespec-go 0.14.3 → 0.15.0-dev.4

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 (280) hide show
  1. package/CHANGELOG.md +669 -0
  2. package/README.md +6 -4
  3. package/dist/{codegen.go/src/core/clientFactory.d.ts → src/codegen/core/client-factory.d.ts} +2 -2
  4. package/dist/src/codegen/core/client-factory.d.ts.map +1 -0
  5. package/dist/{codegen.go/src/core/clientFactory.js → src/codegen/core/client-factory.js} +29 -24
  6. package/dist/src/codegen/core/client-factory.js.map +1 -0
  7. package/dist/{codegen.go/src/core/cloudConfig.d.ts → src/codegen/core/cloud-config.d.ts} +2 -2
  8. package/dist/src/codegen/core/cloud-config.d.ts.map +1 -0
  9. package/dist/{codegen.go/src/core/cloudConfig.js → src/codegen/core/cloud-config.js} +10 -9
  10. package/dist/src/codegen/core/cloud-config.js.map +1 -0
  11. package/dist/{codegen.go/src → src/codegen}/core/constants.d.ts +1 -1
  12. package/dist/src/codegen/core/constants.d.ts.map +1 -0
  13. package/dist/{codegen.go/src → src/codegen}/core/constants.js +9 -9
  14. package/dist/src/codegen/core/constants.js.map +1 -0
  15. package/dist/{codegen.go/src → src/codegen}/core/errors.d.ts +1 -1
  16. package/dist/src/codegen/core/errors.d.ts.map +1 -0
  17. package/dist/src/codegen/core/errors.js.map +1 -0
  18. package/dist/{codegen.go/src → src/codegen}/core/example.d.ts +1 -1
  19. package/dist/src/codegen/core/example.d.ts.map +1 -0
  20. package/dist/{codegen.go/src → src/codegen}/core/example.js +155 -140
  21. package/dist/src/codegen/core/example.js.map +1 -0
  22. package/dist/{codegen.go/src → src/codegen}/core/gomod.d.ts +1 -1
  23. package/dist/src/codegen/core/gomod.d.ts.map +1 -0
  24. package/dist/{codegen.go/src → src/codegen}/core/gomod.js +8 -8
  25. package/dist/src/codegen/core/gomod.js.map +1 -0
  26. package/dist/{codegen.go/src → src/codegen}/core/helpers.d.ts +5 -5
  27. package/dist/src/codegen/core/helpers.d.ts.map +1 -0
  28. package/dist/{codegen.go/src → src/codegen}/core/helpers.js +308 -284
  29. package/dist/src/codegen/core/helpers.js.map +1 -0
  30. package/dist/{codegen.go/src → src/codegen}/core/imports.d.ts +1 -1
  31. package/dist/src/codegen/core/imports.d.ts.map +1 -0
  32. package/dist/{codegen.go/src → src/codegen}/core/imports.js +19 -18
  33. package/dist/src/codegen/core/imports.js.map +1 -0
  34. package/dist/{codegen.go/src → src/codegen}/core/interfaces.d.ts +1 -1
  35. package/dist/src/codegen/core/interfaces.d.ts.map +1 -0
  36. package/dist/{codegen.go/src → src/codegen}/core/interfaces.js +5 -5
  37. package/dist/src/codegen/core/interfaces.js.map +1 -0
  38. package/dist/{codegen.go/src → src/codegen}/core/license.d.ts +1 -1
  39. package/dist/src/codegen/core/license.d.ts.map +1 -0
  40. package/dist/src/codegen/core/license.js.map +1 -0
  41. package/dist/src/codegen/core/metadata.d.ts +3 -0
  42. package/dist/src/codegen/core/metadata.d.ts.map +1 -0
  43. package/dist/{codegen.go/src → src/codegen}/core/metadata.js +1 -1
  44. package/dist/src/codegen/core/metadata.js.map +1 -0
  45. package/dist/{codegen.go/src → src/codegen}/core/models.d.ts +2 -2
  46. package/dist/src/codegen/core/models.d.ts.map +1 -0
  47. package/dist/{codegen.go/src → src/codegen}/core/models.js +212 -181
  48. package/dist/src/codegen/core/models.js.map +1 -0
  49. package/dist/{codegen.go/src → src/codegen}/core/operations.d.ts +1 -1
  50. package/dist/src/codegen/core/operations.d.ts.map +1 -0
  51. package/dist/{codegen.go/src → src/codegen}/core/operations.js +383 -360
  52. package/dist/src/codegen/core/operations.js.map +1 -0
  53. package/dist/{codegen.go/src → src/codegen}/core/options.d.ts +1 -1
  54. package/dist/src/codegen/core/options.d.ts.map +1 -0
  55. package/dist/{codegen.go/src → src/codegen}/core/options.js +11 -11
  56. package/dist/src/codegen/core/options.js.map +1 -0
  57. package/dist/{codegen.go/src → src/codegen}/core/polymorphics.d.ts +1 -1
  58. package/dist/src/codegen/core/polymorphics.d.ts.map +1 -0
  59. package/dist/{codegen.go/src → src/codegen}/core/polymorphics.js +30 -30
  60. package/dist/src/codegen/core/polymorphics.js.map +1 -0
  61. package/dist/{codegen.go/src → src/codegen}/core/responses.d.ts +1 -1
  62. package/dist/src/codegen/core/responses.d.ts.map +1 -0
  63. package/dist/{codegen.go/src → src/codegen}/core/responses.js +28 -28
  64. package/dist/src/codegen/core/responses.js.map +1 -0
  65. package/dist/{codegen.go/src → src/codegen}/core/version.d.ts +1 -1
  66. package/dist/src/codegen/core/version.d.ts.map +1 -0
  67. package/dist/{codegen.go/src → src/codegen}/core/version.js +4 -4
  68. package/dist/src/codegen/core/version.js.map +1 -0
  69. package/dist/{codegen.go/src/core/xmlAdditionalProps.d.ts → src/codegen/core/xml-additional-props.d.ts} +2 -2
  70. package/dist/src/codegen/core/xml-additional-props.d.ts.map +1 -0
  71. package/dist/{codegen.go/src/core/xmlAdditionalProps.js → src/codegen/core/xml-additional-props.js} +11 -11
  72. package/dist/src/codegen/core/xml-additional-props.js.map +1 -0
  73. package/dist/{codegen.go/src → src/codegen}/emitter.d.ts +2 -2
  74. package/dist/src/codegen/emitter.d.ts.map +1 -0
  75. package/dist/{codegen.go/src → src/codegen}/emitter.js +58 -54
  76. package/dist/src/codegen/emitter.js.map +1 -0
  77. package/dist/{codegen.go/src → src/codegen}/fake/factory.d.ts +1 -1
  78. package/dist/src/codegen/fake/factory.d.ts.map +1 -0
  79. package/dist/{codegen.go/src → src/codegen}/fake/factory.js +22 -21
  80. package/dist/src/codegen/fake/factory.js.map +1 -0
  81. package/dist/{codegen.go/src → src/codegen}/fake/internal.d.ts +1 -1
  82. package/dist/src/codegen/fake/internal.d.ts.map +1 -0
  83. package/dist/{codegen.go/src → src/codegen}/fake/internal.js +13 -13
  84. package/dist/src/codegen/fake/internal.js.map +1 -0
  85. package/dist/{codegen.go/src → src/codegen}/fake/servers.d.ts +1 -1
  86. package/dist/src/codegen/fake/servers.d.ts.map +1 -0
  87. package/dist/{codegen.go/src → src/codegen}/fake/servers.js +332 -300
  88. package/dist/src/codegen/fake/servers.js.map +1 -0
  89. package/dist/src/codegen/index.d.ts +4 -0
  90. package/dist/src/codegen/index.d.ts.map +1 -0
  91. package/dist/{codegen.go/src → src/codegen}/index.js +3 -3
  92. package/dist/src/codegen/index.js.map +1 -0
  93. package/dist/{codemodel.go/src → src/codemodel}/client.d.ts +25 -25
  94. package/dist/src/codemodel/client.d.ts.map +1 -0
  95. package/dist/{codemodel.go/src → src/codemodel}/client.js +32 -32
  96. package/dist/src/codemodel/client.js.map +1 -0
  97. package/dist/{codemodel.go/src/codeModel.d.ts → src/codemodel/code-model.d.ts} +3 -3
  98. package/dist/src/codemodel/code-model.d.ts.map +1 -0
  99. package/dist/{codemodel.go/src/codeModel.js → src/codemodel/code-model.js} +1 -1
  100. package/dist/src/codemodel/code-model.js.map +1 -0
  101. package/dist/{codemodel.go/src → src/codemodel}/errors.d.ts +5 -5
  102. package/dist/src/codemodel/errors.d.ts.map +1 -0
  103. package/dist/{codemodel.go/src → src/codemodel}/errors.js +1 -1
  104. package/dist/src/codemodel/errors.js.map +1 -0
  105. package/dist/{codemodel.go/src → src/codemodel}/examples.d.ts +13 -13
  106. package/dist/src/codemodel/examples.d.ts.map +1 -0
  107. package/dist/{codemodel.go/src → src/codemodel}/examples.js +10 -10
  108. package/dist/src/codemodel/examples.js.map +1 -0
  109. package/dist/src/codemodel/index.d.ts +9 -0
  110. package/dist/src/codemodel/index.d.ts.map +1 -0
  111. package/dist/{codemodel.go/src → src/codemodel}/index.js +8 -8
  112. package/dist/src/codemodel/index.js.map +1 -0
  113. package/dist/{codemodel.go/src → src/codemodel}/method.d.ts +1 -1
  114. package/dist/src/codemodel/method.d.ts.map +1 -0
  115. package/dist/src/codemodel/method.js.map +1 -0
  116. package/dist/{codemodel.go/src → src/codemodel}/module.d.ts +8 -8
  117. package/dist/src/codemodel/module.d.ts.map +1 -0
  118. package/dist/{codemodel.go/src → src/codemodel}/module.js +12 -11
  119. package/dist/src/codemodel/module.js.map +1 -0
  120. package/dist/{codemodel.go/src → src/codemodel}/param.d.ts +26 -26
  121. package/dist/src/codemodel/param.d.ts.map +1 -0
  122. package/dist/{codemodel.go/src → src/codemodel}/param.js +56 -53
  123. package/dist/src/codemodel/param.js.map +1 -0
  124. package/dist/{codemodel.go/src → src/codemodel}/result.d.ts +15 -15
  125. package/dist/src/codemodel/result.d.ts.map +1 -0
  126. package/dist/{codemodel.go/src → src/codemodel}/result.js +27 -27
  127. package/dist/src/codemodel/result.js.map +1 -0
  128. package/dist/{codemodel.go/src → src/codemodel}/type.d.ts +30 -30
  129. package/dist/src/codemodel/type.d.ts.map +1 -0
  130. package/dist/{codemodel.go/src → src/codemodel}/type.js +77 -76
  131. package/dist/src/codemodel/type.js.map +1 -0
  132. package/dist/{typespec-go/src → src}/emitter.d.ts +2 -3
  133. package/dist/src/emitter.d.ts.map +1 -0
  134. package/dist/{typespec-go/src → src}/emitter.js +56 -45
  135. package/dist/src/emitter.js.map +1 -0
  136. package/dist/src/index.d.ts +3 -0
  137. package/dist/src/index.d.ts.map +1 -0
  138. package/dist/{typespec-go/src → src}/index.js +2 -2
  139. package/dist/src/index.js.map +1 -0
  140. package/dist/{typespec-go/src → src}/lib.d.ts +16 -16
  141. package/dist/src/lib.d.ts.map +1 -0
  142. package/dist/{typespec-go/src → src}/lib.js +60 -61
  143. package/dist/src/lib.js.map +1 -0
  144. package/dist/src/naming/index.d.ts +3 -0
  145. package/dist/src/naming/index.d.ts.map +1 -0
  146. package/dist/{naming.go/src → src/naming}/index.js +2 -2
  147. package/dist/src/naming/index.js.map +1 -0
  148. package/dist/src/naming/mappings.d.ts.map +1 -0
  149. package/dist/src/naming/mappings.js +294 -0
  150. package/dist/src/naming/mappings.js.map +1 -0
  151. package/dist/src/naming/naming.d.ts.map +1 -0
  152. package/dist/{naming.go/src → src/naming}/naming.js +10 -10
  153. package/dist/src/naming/naming.js.map +1 -0
  154. package/dist/{typespec-go/src → src}/tcgcadapter/adapter.d.ts +3 -3
  155. package/dist/src/tcgcadapter/adapter.d.ts.map +1 -0
  156. package/dist/{typespec-go/src → src}/tcgcadapter/adapter.js +35 -31
  157. package/dist/src/tcgcadapter/adapter.js.map +1 -0
  158. package/dist/{typespec-go/src → src}/tcgcadapter/clients.d.ts +1 -1
  159. package/dist/src/tcgcadapter/clients.d.ts.map +1 -0
  160. package/dist/{typespec-go/src → src}/tcgcadapter/clients.js +360 -310
  161. package/dist/src/tcgcadapter/clients.js.map +1 -0
  162. package/dist/{typespec-go/src → src}/tcgcadapter/errors.d.ts +2 -2
  163. package/dist/src/tcgcadapter/errors.d.ts.map +1 -0
  164. package/dist/{typespec-go/src → src}/tcgcadapter/errors.js +1 -1
  165. package/dist/src/tcgcadapter/errors.js.map +1 -0
  166. package/dist/{typespec-go/src → src}/tcgcadapter/helpers.d.ts +3 -3
  167. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -0
  168. package/dist/{typespec-go/src → src}/tcgcadapter/helpers.js +41 -30
  169. package/dist/src/tcgcadapter/helpers.js.map +1 -0
  170. package/dist/{typespec-go/src → src}/tcgcadapter/metadata.d.ts +2 -2
  171. package/dist/src/tcgcadapter/metadata.d.ts.map +1 -0
  172. package/dist/src/tcgcadapter/metadata.js +47 -0
  173. package/dist/src/tcgcadapter/metadata.js.map +1 -0
  174. package/dist/{typespec-go/src → src}/tcgcadapter/types.d.ts +2 -2
  175. package/dist/src/tcgcadapter/types.d.ts.map +1 -0
  176. package/dist/{typespec-go/src → src}/tcgcadapter/types.js +208 -191
  177. package/dist/src/tcgcadapter/types.js.map +1 -0
  178. package/package.json +77 -62
  179. package/dist/codegen.go/src/core/clientFactory.d.ts.map +0 -1
  180. package/dist/codegen.go/src/core/clientFactory.js.map +0 -1
  181. package/dist/codegen.go/src/core/cloudConfig.d.ts.map +0 -1
  182. package/dist/codegen.go/src/core/cloudConfig.js.map +0 -1
  183. package/dist/codegen.go/src/core/constants.d.ts.map +0 -1
  184. package/dist/codegen.go/src/core/constants.js.map +0 -1
  185. package/dist/codegen.go/src/core/errors.d.ts.map +0 -1
  186. package/dist/codegen.go/src/core/errors.js.map +0 -1
  187. package/dist/codegen.go/src/core/example.d.ts.map +0 -1
  188. package/dist/codegen.go/src/core/example.js.map +0 -1
  189. package/dist/codegen.go/src/core/gomod.d.ts.map +0 -1
  190. package/dist/codegen.go/src/core/gomod.js.map +0 -1
  191. package/dist/codegen.go/src/core/helpers.d.ts.map +0 -1
  192. package/dist/codegen.go/src/core/helpers.js.map +0 -1
  193. package/dist/codegen.go/src/core/imports.d.ts.map +0 -1
  194. package/dist/codegen.go/src/core/imports.js.map +0 -1
  195. package/dist/codegen.go/src/core/interfaces.d.ts.map +0 -1
  196. package/dist/codegen.go/src/core/interfaces.js.map +0 -1
  197. package/dist/codegen.go/src/core/license.d.ts.map +0 -1
  198. package/dist/codegen.go/src/core/license.js.map +0 -1
  199. package/dist/codegen.go/src/core/metadata.d.ts +0 -3
  200. package/dist/codegen.go/src/core/metadata.d.ts.map +0 -1
  201. package/dist/codegen.go/src/core/metadata.js.map +0 -1
  202. package/dist/codegen.go/src/core/models.d.ts.map +0 -1
  203. package/dist/codegen.go/src/core/models.js.map +0 -1
  204. package/dist/codegen.go/src/core/operations.d.ts.map +0 -1
  205. package/dist/codegen.go/src/core/operations.js.map +0 -1
  206. package/dist/codegen.go/src/core/options.d.ts.map +0 -1
  207. package/dist/codegen.go/src/core/options.js.map +0 -1
  208. package/dist/codegen.go/src/core/polymorphics.d.ts.map +0 -1
  209. package/dist/codegen.go/src/core/polymorphics.js.map +0 -1
  210. package/dist/codegen.go/src/core/responses.d.ts.map +0 -1
  211. package/dist/codegen.go/src/core/responses.js.map +0 -1
  212. package/dist/codegen.go/src/core/version.d.ts.map +0 -1
  213. package/dist/codegen.go/src/core/version.js.map +0 -1
  214. package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts.map +0 -1
  215. package/dist/codegen.go/src/core/xmlAdditionalProps.js.map +0 -1
  216. package/dist/codegen.go/src/emitter.d.ts.map +0 -1
  217. package/dist/codegen.go/src/emitter.js.map +0 -1
  218. package/dist/codegen.go/src/fake/factory.d.ts.map +0 -1
  219. package/dist/codegen.go/src/fake/factory.js.map +0 -1
  220. package/dist/codegen.go/src/fake/internal.d.ts.map +0 -1
  221. package/dist/codegen.go/src/fake/internal.js.map +0 -1
  222. package/dist/codegen.go/src/fake/servers.d.ts.map +0 -1
  223. package/dist/codegen.go/src/fake/servers.js.map +0 -1
  224. package/dist/codegen.go/src/index.d.ts +0 -4
  225. package/dist/codegen.go/src/index.d.ts.map +0 -1
  226. package/dist/codegen.go/src/index.js.map +0 -1
  227. package/dist/codemodel.go/src/client.d.ts.map +0 -1
  228. package/dist/codemodel.go/src/client.js.map +0 -1
  229. package/dist/codemodel.go/src/codeModel.d.ts.map +0 -1
  230. package/dist/codemodel.go/src/codeModel.js.map +0 -1
  231. package/dist/codemodel.go/src/errors.d.ts.map +0 -1
  232. package/dist/codemodel.go/src/errors.js.map +0 -1
  233. package/dist/codemodel.go/src/examples.d.ts.map +0 -1
  234. package/dist/codemodel.go/src/examples.js.map +0 -1
  235. package/dist/codemodel.go/src/index.d.ts +0 -9
  236. package/dist/codemodel.go/src/index.d.ts.map +0 -1
  237. package/dist/codemodel.go/src/index.js.map +0 -1
  238. package/dist/codemodel.go/src/method.d.ts.map +0 -1
  239. package/dist/codemodel.go/src/method.js.map +0 -1
  240. package/dist/codemodel.go/src/module.d.ts.map +0 -1
  241. package/dist/codemodel.go/src/module.js.map +0 -1
  242. package/dist/codemodel.go/src/param.d.ts.map +0 -1
  243. package/dist/codemodel.go/src/param.js.map +0 -1
  244. package/dist/codemodel.go/src/result.d.ts.map +0 -1
  245. package/dist/codemodel.go/src/result.js.map +0 -1
  246. package/dist/codemodel.go/src/type.d.ts.map +0 -1
  247. package/dist/codemodel.go/src/type.js.map +0 -1
  248. package/dist/naming.go/src/index.d.ts +0 -3
  249. package/dist/naming.go/src/index.d.ts.map +0 -1
  250. package/dist/naming.go/src/index.js.map +0 -1
  251. package/dist/naming.go/src/mappings.d.ts.map +0 -1
  252. package/dist/naming.go/src/mappings.js +0 -294
  253. package/dist/naming.go/src/mappings.js.map +0 -1
  254. package/dist/naming.go/src/naming.d.ts.map +0 -1
  255. package/dist/naming.go/src/naming.js.map +0 -1
  256. package/dist/typespec-go/src/emitter.d.ts.map +0 -1
  257. package/dist/typespec-go/src/emitter.js.map +0 -1
  258. package/dist/typespec-go/src/index.d.ts +0 -3
  259. package/dist/typespec-go/src/index.d.ts.map +0 -1
  260. package/dist/typespec-go/src/index.js.map +0 -1
  261. package/dist/typespec-go/src/lib.d.ts.map +0 -1
  262. package/dist/typespec-go/src/lib.js.map +0 -1
  263. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +0 -1
  264. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +0 -1
  265. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +0 -1
  266. package/dist/typespec-go/src/tcgcadapter/clients.js.map +0 -1
  267. package/dist/typespec-go/src/tcgcadapter/errors.d.ts.map +0 -1
  268. package/dist/typespec-go/src/tcgcadapter/errors.js.map +0 -1
  269. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +0 -1
  270. package/dist/typespec-go/src/tcgcadapter/helpers.js.map +0 -1
  271. package/dist/typespec-go/src/tcgcadapter/metadata.d.ts.map +0 -1
  272. package/dist/typespec-go/src/tcgcadapter/metadata.js +0 -21
  273. package/dist/typespec-go/src/tcgcadapter/metadata.js.map +0 -1
  274. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +0 -1
  275. package/dist/typespec-go/src/tcgcadapter/types.js.map +0 -1
  276. /package/dist/{codegen.go/src → src/codegen}/core/errors.js +0 -0
  277. /package/dist/{codegen.go/src → src/codegen}/core/license.js +0 -0
  278. /package/dist/{codemodel.go/src → src/codemodel}/method.js +0 -0
  279. /package/dist/{naming.go/src → src/naming}/mappings.d.ts +0 -0
  280. /package/dist/{naming.go/src → src/naming}/naming.d.ts +0 -0
@@ -2,15 +2,15 @@
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import * as go from '../../../codemodel.go/src/index.js';
6
- import * as naming from '../../../naming.go/src/naming.js';
7
- import { CodegenError } from './errors.js';
5
+ import * as go from "../../codemodel/index.js";
6
+ import * as naming from "../../naming/naming.js";
7
+ import { CodegenError } from "./errors.js";
8
8
  // variable to be used to determine comment length when calling comment from @azure-tools
9
9
  export const commentLength = 120;
10
- export const plainDateFormat = 'time.DateOnly';
11
- export const RFC3339Format = 'time.RFC3339Nano';
12
- export const RFC1123Format = 'time.RFC1123';
13
- export const plainTimeFormat = 'time.TimeOnly';
10
+ export const plainDateFormat = "time.DateOnly";
11
+ export const RFC3339Format = "time.RFC3339Nano";
12
+ export const RFC1123Format = "time.RFC1123";
13
+ export const plainTimeFormat = "time.TimeOnly";
14
14
  // matches both current format (DO NOT EDIT on same line as Code generated)
15
15
  // and legacy autorest format (DO NOT EDIT on a separate line)
16
16
  export const doNotEditRegex = /^\/\/ Code generated .*( DO NOT EDIT\.$|[\s\S]*?^\/\/ DO NOT EDIT\.$)/m;
@@ -34,19 +34,19 @@ export function setCustomHeaderText(headerText) {
34
34
  * @returns the source file preamble
35
35
  */
36
36
  export function contentPreamble(pkg, doNotEdit = true) {
37
- const headerText = comment(overrideHeaderText ?? defaultHeaderText, '// ');
37
+ const headerText = comment(overrideHeaderText ?? defaultHeaderText, "// ");
38
38
  let text = headerText;
39
39
  if (doNotEdit) {
40
40
  // ensure tools recognize the file as generated according to
41
41
  // https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source
42
- text = text.replace(/^\/\/ Code generated .*\.$/m, '$& DO NOT EDIT.');
42
+ text = text.replace(/^\/\/ Code generated .*\.$/m, "$& DO NOT EDIT.");
43
43
  if (!text.match(doNotEditRegex)) {
44
- text += '\n// Code generated by @autorest/go. DO NOT EDIT.';
44
+ text += "\n// Code generated by @autorest/go. DO NOT EDIT.";
45
45
  }
46
46
  }
47
47
  else {
48
48
  // remove the blurb about the changes being lost
49
- text = text.replace(/^\/\/ Changes may cause incorrect behavior and will be lost if the code is regenerated\.$/m, '');
49
+ text = text.replace(/^\/\/ Changes may cause incorrect behavior and will be lost if the code is regenerated\.$/m, "");
50
50
  }
51
51
  text += `\n\npackage ${go.getPackageName(pkg)}\n\n`;
52
52
  return text;
@@ -66,15 +66,15 @@ export function formatParameterTypeName(scope, param) {
66
66
  let typeName;
67
67
  let required;
68
68
  switch (param.kind) {
69
- case 'armClientOptions':
69
+ case "armClientOptions":
70
70
  typeName = go.getTypeDeclaration(param, scope);
71
71
  required = false;
72
72
  break;
73
- case 'clientOptions':
73
+ case "clientOptions":
74
74
  typeName = go.getTypeDeclaration(param, scope);
75
75
  required = false;
76
76
  break;
77
- case 'paramGroup':
77
+ case "paramGroup":
78
78
  typeName = go.getTypeDeclaration(param, scope);
79
79
  required = param.required;
80
80
  break;
@@ -86,10 +86,10 @@ export function formatParameterTypeName(scope, param) {
86
86
  }
87
87
  // sorts parameters by their required state, ordering required before optional
88
88
  export function sortParametersByRequired(a, b) {
89
- let aRequired = false;
90
- let bRequired = false;
89
+ let aRequired;
90
+ let bRequired;
91
91
  switch (a.kind) {
92
- case 'paramGroup':
92
+ case "paramGroup":
93
93
  aRequired = a.required;
94
94
  break;
95
95
  default:
@@ -97,7 +97,7 @@ export function sortParametersByRequired(a, b) {
97
97
  break;
98
98
  }
99
99
  switch (b.kind) {
100
- case 'paramGroup':
100
+ case "paramGroup":
101
101
  bRequired = b.required;
102
102
  break;
103
103
  default:
@@ -123,9 +123,9 @@ export function sortParametersByRequired(a, b) {
123
123
  export function sortClientParameters(params, type) {
124
124
  // ARM will never have uriParams but it will likely have a scalar path
125
125
  // param for the subscription ID, so we sort by that instead.
126
- const sortBy = type === 'azure-arm' ? 'pathScalarParam' : 'uriParam';
126
+ const sortBy = type === "azure-arm" ? "pathScalarParam" : "uriParam";
127
127
  params.sort((a, b) => {
128
- if (a.kind === sortBy || (a.kind === 'credentialParam' && b.kind !== sortBy)) {
128
+ if (a.kind === sortBy || (a.kind === "credentialParam" && b.kind !== sortBy)) {
129
129
  // sortBy always comes first, followed by credential (if applicable)
130
130
  return -1;
131
131
  }
@@ -138,17 +138,19 @@ export function sortClientParameters(params, type) {
138
138
  export function getCreateRequestParametersSig(method) {
139
139
  const methodParams = getMethodParameters(method);
140
140
  const params = new Array();
141
- params.push('ctx context.Context');
141
+ params.push("ctx context.Context");
142
142
  for (const methodParam of methodParams) {
143
143
  let paramName = methodParam.name;
144
144
  // when creating the method sig for fooCreateRequest, if the options type is empty
145
145
  // or only contains the ResumeToken param use _ for the param name to quiet the linter
146
- if (methodParam.kind === 'paramGroup' && (methodParam.params.length === 0 || (methodParam.params.length === 1 && methodParam.params[0].kind === 'resumeTokenParam'))) {
147
- paramName = '_';
146
+ if (methodParam.kind === "paramGroup" &&
147
+ (methodParam.params.length === 0 ||
148
+ (methodParam.params.length === 1 && methodParam.params[0].kind === "resumeTokenParam"))) {
149
+ paramName = "_";
148
150
  }
149
151
  params.push(`${paramName} ${formatParameterTypeName(method.receiver.type.pkg, methodParam)}`);
150
152
  }
151
- return params.join(', ');
153
+ return params.join(", ");
152
154
  }
153
155
  /**
154
156
  * returns the parameter names for an operation (excludes the param types).
@@ -162,7 +164,7 @@ export function getCreateRequestParameters(method, optionsParam) {
162
164
  // NOTE: keep in sync with getCreateRequestParametersSig
163
165
  const methodParams = getMethodParameters(method);
164
166
  const params = new Array();
165
- params.push('ctx');
167
+ params.push("ctx");
166
168
  for (let i = 0; i < methodParams.length; ++i) {
167
169
  const methodParam = methodParams[i];
168
170
  // the options param is always the last one
@@ -173,7 +175,7 @@ export function getCreateRequestParameters(method, optionsParam) {
173
175
  params.push(methodParam.name);
174
176
  }
175
177
  }
176
- return params.join(', ');
178
+ return params.join(", ");
177
179
  }
178
180
  // returns the complete collection of method parameters
179
181
  export function getMethodParameters(method, paramsFilter) {
@@ -184,7 +186,7 @@ export function getMethodParameters(method, paramsFilter) {
184
186
  methodParams = paramsFilter(methodParams);
185
187
  }
186
188
  for (const param of methodParams) {
187
- if (param.location === 'client') {
189
+ if (param.location === "client") {
188
190
  // client params are passed via the receiver
189
191
  // must check before param group as client params can be grouped
190
192
  continue;
@@ -195,7 +197,7 @@ export function getMethodParameters(method, paramsFilter) {
195
197
  paramGroups.push(param.group);
196
198
  }
197
199
  }
198
- else if (param.type.kind === 'literal') {
200
+ else if (param.type.kind === "literal") {
199
201
  // don't generate a parameter for a constant
200
202
  // NOTE: this check must come last as non-required optional constants
201
203
  // in header/query params get dumped into the optional params group
@@ -218,7 +220,7 @@ export function getMethodParameters(method, paramsFilter) {
218
220
  return 1;
219
221
  });
220
222
  // add the optional param group last if it's not already in the list.
221
- if (method.kind !== 'nextPageMethod') {
223
+ if (method.kind !== "nextPageMethod") {
222
224
  if (!paramGroups.find((gp) => gp.groupName === method.optionalParamsGroup.groupName)) {
223
225
  paramGroups.push(method.optionalParamsGroup);
224
226
  }
@@ -240,36 +242,38 @@ export function getParamName(param) {
240
242
  if (param.group) {
241
243
  paramName = `${naming.uncapitalize(param.group.name)}.${naming.capitalize(paramName)}`;
242
244
  }
243
- if (param.location === 'client') {
245
+ if (param.location === "client") {
244
246
  paramName = `client.${paramName}`;
245
247
  }
246
248
  // client parameters with default values aren't emitted as pointer-to-type
247
- if (!go.isRequiredParameter(param.style) && !(param.location === 'client' && go.isClientSideDefault(param.style)) && !param.byValue) {
249
+ if (!go.isRequiredParameter(param.style) &&
250
+ !(param.location === "client" && go.isClientSideDefault(param.style)) &&
251
+ !param.byValue) {
248
252
  paramName = `*${paramName}`;
249
253
  }
250
254
  return paramName;
251
255
  }
252
256
  // converts the Go code model encoding type to the type name in the standard library
253
257
  export function formatBytesEncoding(enc) {
254
- if (enc === 'URL') {
255
- return 'RawURL';
258
+ if (enc === "URL") {
259
+ return "RawURL";
256
260
  }
257
- return 'Std';
261
+ return "Std";
258
262
  }
259
263
  export function formatParamValue(param, imports, indent) {
260
- let paramName = getParamName(param);
264
+ const paramName = getParamName(param);
261
265
  switch (param.kind) {
262
- case 'formBodyCollectionParam':
263
- case 'headerCollectionParam':
264
- case 'pathCollectionParam':
265
- case 'queryCollectionParam': {
266
- if (param.collectionFormat === 'multi') {
267
- throw new CodegenError('InternalError', 'multi collection format should have been previously handled');
266
+ case "formBodyCollectionParam":
267
+ case "headerCollectionParam":
268
+ case "pathCollectionParam":
269
+ case "queryCollectionParam": {
270
+ if (param.collectionFormat === "multi") {
271
+ throw new CodegenError("InternalError", "multi collection format should have been previously handled");
268
272
  }
269
273
  const separator = getDelimiterForCollectionFormat(param.collectionFormat);
270
274
  const emitConvertOver = function (paramName, format) {
271
275
  const encodedVar = `encoded${naming.capitalize(paramName)}`;
272
- let content = 'strings.Join(func() []string {\n';
276
+ let content = "strings.Join(func() []string {\n";
273
277
  content += `${indent.push().get()}${encodedVar} := make([]string, len(${paramName}))\n`;
274
278
  content += `${indent.get()}for i := 0; i < len(${paramName}); i++ {\n`;
275
279
  content += `${indent.push().get()}${encodedVar}[i] = ${format}\n`;
@@ -279,20 +283,20 @@ export function formatParamValue(param, imports, indent) {
279
283
  return content;
280
284
  };
281
285
  switch (param.type.elementType.kind) {
282
- case 'encodedBytes':
283
- imports.add('encoding/base64');
284
- imports.add('strings');
286
+ case "encodedBytes":
287
+ imports.add("encoding/base64");
288
+ imports.add("strings");
285
289
  return emitConvertOver(param.name, `base64.${formatBytesEncoding(param.type.elementType.encoding)}Encoding.EncodeToString(${param.name}[i])`);
286
- case 'string':
287
- imports.add('strings');
290
+ case "string":
291
+ imports.add("strings");
288
292
  return `strings.Join(${paramName}, "${separator}")`;
289
- case 'time':
290
- imports.add('strings');
291
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime');
293
+ case "time":
294
+ imports.add("strings");
295
+ imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
292
296
  return emitConvertOver(param.name, `datetime.${param.type.elementType.format}(${param.name}[i]).String()`);
293
297
  default:
294
- imports.add('fmt');
295
- imports.add('strings');
298
+ imports.add("fmt");
299
+ imports.add("strings");
296
300
  return `strings.Join(strings.Fields(strings.Trim(fmt.Sprint(${paramName}), "[]")), "${separator}")`;
297
301
  }
298
302
  }
@@ -301,69 +305,69 @@ export function formatParamValue(param, imports, indent) {
301
305
  }
302
306
  export function getDelimiterForCollectionFormat(cf) {
303
307
  switch (cf) {
304
- case 'csv':
305
- return ',';
306
- case 'pipes':
307
- return '|';
308
- case 'ssv':
309
- return ' ';
310
- case 'tsv':
311
- return '\\t';
308
+ case "csv":
309
+ return ",";
310
+ case "pipes":
311
+ return "|";
312
+ case "ssv":
313
+ return " ";
314
+ case "tsv":
315
+ return "\\t";
312
316
  default:
313
- throw new CodegenError('InternalError', `unhandled CollectionFormat ${cf}`);
317
+ throw new CodegenError("InternalError", `unhandled CollectionFormat ${cf}`);
314
318
  }
315
319
  }
316
- export function formatValue(paramName, type, imports, defef) {
320
+ export function formatValue(paramName, type, imports, deref) {
317
321
  // callers don't have enough context to know if paramName needs to be
318
- // deferenced so we track that here when specified. note that not all
322
+ // dereferenced so we track that here when specified. note that not all
319
323
  // cases will require paramName to be dereferenced.
320
- let star = '';
321
- if (defef === true) {
322
- star = '*';
324
+ let star = "";
325
+ if (deref === true) {
326
+ star = "*";
323
327
  }
324
328
  switch (type.kind) {
325
- case 'constant':
326
- if (type.type === 'string') {
329
+ case "constant":
330
+ if (type.type === "string") {
327
331
  return `string(${star}${paramName})`;
328
332
  }
329
- imports.add('fmt');
333
+ imports.add("fmt");
330
334
  return `fmt.Sprintf("%v", ${star}${paramName})`;
331
- case 'encodedBytes':
335
+ case "encodedBytes":
332
336
  // a base-64 encoded value in string format
333
- imports.add('encoding/base64');
337
+ imports.add("encoding/base64");
334
338
  return `base64.${formatBytesEncoding(type.encoding)}Encoding.EncodeToString(${paramName})`;
335
- case 'etag':
339
+ case "etag":
336
340
  return `string(${star}${paramName})`;
337
- case 'literal':
341
+ case "literal":
338
342
  // cannot use formatLiteralValue() since all values are treated as strings
339
343
  switch (type.type.kind) {
340
- case 'constantDef':
344
+ case "constantDef":
341
345
  return type.type.name;
342
346
  default:
343
347
  return `"${type.literal}"`;
344
348
  }
345
- case 'scalar':
349
+ case "scalar":
346
350
  switch (type.type) {
347
- case 'bool':
348
- imports.add('strconv');
351
+ case "bool":
352
+ imports.add("strconv");
349
353
  return `strconv.FormatBool(${star}${paramName})`;
350
- case 'float32':
351
- imports.add('strconv');
354
+ case "float32":
355
+ imports.add("strconv");
352
356
  return `strconv.FormatFloat(float64(${star}${paramName}), 'f', -1, 32)`;
353
- case 'float64':
354
- imports.add('strconv');
357
+ case "float64":
358
+ imports.add("strconv");
355
359
  return `strconv.FormatFloat(${star}${paramName}, 'f', -1, 64)`;
356
- case 'int32':
357
- imports.add('strconv');
360
+ case "int32":
361
+ imports.add("strconv");
358
362
  return `strconv.FormatInt(int64(${star}${paramName}), 10)`;
359
- case 'int64':
360
- imports.add('strconv');
363
+ case "int64":
364
+ imports.add("strconv");
361
365
  return `strconv.FormatInt(${star}${paramName}, 10)`;
362
366
  default:
363
- throw new CodegenError('InternalError', `unhandled scalar type ${type.type}`);
367
+ throw new CodegenError("InternalError", `unhandled scalar type ${type.type}`);
364
368
  }
365
- case 'time':
366
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime');
369
+ case "time":
370
+ imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
367
371
  return `datetime.${type.format}(${star}${paramName}).String()`;
368
372
  default:
369
373
  return `${star}${paramName}`;
@@ -374,53 +378,53 @@ export function formatValue(paramName, type, imports, defef) {
374
378
  // it could also be a constant.
375
379
  export function formatLiteralValue(value, withCast) {
376
380
  switch (value.type.kind) {
377
- case 'constant':
378
- if (value.literal?.kind === 'constantValue') {
381
+ case "constant":
382
+ if (value.literal?.kind === "constantValue") {
379
383
  return value.literal.name;
380
384
  }
381
385
  // extensible enum with a value that's not one of the pre-defined ones.
382
386
  // emit it as a cast to the enum type, e.g. NetworkAPIVersion("2026-04-15-preview").
383
- if (value.type.type === 'string') {
387
+ if (value.type.type === "string") {
384
388
  return `${value.type.name}("${value.literal}")`;
385
389
  }
386
390
  return `${value.type.name}(${value.literal})`;
387
- case 'constantDef':
391
+ case "constantDef":
388
392
  return value.type.name;
389
- case 'encodedBytes':
393
+ case "encodedBytes":
390
394
  return value.literal;
391
- case 'scalar':
395
+ case "scalar":
392
396
  if (!withCast) {
393
397
  return `${value.literal}`;
394
398
  }
395
399
  switch (value.type.type) {
396
- case 'float32':
400
+ case "float32":
397
401
  return `float32(${value.literal})`;
398
- case 'float64':
402
+ case "float64":
399
403
  return `float64(${value.literal})`;
400
- case 'int32':
404
+ case "int32":
401
405
  return `int32(${value.literal})`;
402
- case 'int64':
406
+ case "int64":
403
407
  return `int64(${value.literal})`;
404
408
  default:
405
409
  return value.literal;
406
410
  }
407
- case 'string':
411
+ case "string":
408
412
  if (value.literal[0] === '"') {
409
413
  // string is already quoted
410
414
  return value.literal;
411
415
  }
412
416
  return `"${value.literal}"`;
413
- case 'time':
417
+ case "time":
414
418
  return `"${value.literal}"`;
415
419
  }
416
420
  }
417
421
  // returns true if at least one of the responses has a schema
418
422
  export function hasSchemaResponse(method) {
419
423
  switch (method.returns.result?.kind) {
420
- case 'anyResult':
421
- case 'modelResult':
422
- case 'monomorphicResult':
423
- case 'polymorphicResult':
424
+ case "anyResult":
425
+ case "modelResult":
426
+ case "monomorphicResult":
427
+ case "polymorphicResult":
424
428
  return true;
425
429
  default:
426
430
  return false;
@@ -430,17 +434,17 @@ export function hasSchemaResponse(method) {
430
434
  export function getResultFieldName(method) {
431
435
  const result = method.returns.result;
432
436
  if (!result) {
433
- throw new CodegenError('InternalError', `missing result for method ${method.name}`);
437
+ throw new CodegenError("InternalError", `missing result for method ${method.name}`);
434
438
  }
435
439
  switch (result.kind) {
436
- case 'anyResult':
437
- case 'binaryResult':
438
- case 'headAsBooleanResult':
439
- case 'monomorphicResult':
440
+ case "anyResult":
441
+ case "binaryResult":
442
+ case "headAsBooleanResult":
443
+ case "monomorphicResult":
440
444
  return result.fieldName;
441
- case 'modelResult':
445
+ case "modelResult":
442
446
  return result.modelType.name;
443
- case 'polymorphicResult':
447
+ case "polymorphicResult":
444
448
  return result.interface.name;
445
449
  }
446
450
  }
@@ -449,139 +453,139 @@ export function formatStatusCodes(statusCodes) {
449
453
  for (const rawCode of statusCodes) {
450
454
  asHTTPStatus.push(formatStatusCode(rawCode));
451
455
  }
452
- return asHTTPStatus.join(', ');
456
+ return asHTTPStatus.join(", ");
453
457
  }
454
458
  export function formatStatusCode(statusCode) {
455
459
  switch (statusCode) {
456
460
  // 1xx
457
461
  case 100:
458
- return 'http.StatusContinue';
462
+ return "http.StatusContinue";
459
463
  case 101:
460
- return 'http.StatusSwitchingProtocols';
464
+ return "http.StatusSwitchingProtocols";
461
465
  case 102:
462
- return 'http.StatusProcessing';
466
+ return "http.StatusProcessing";
463
467
  case 103:
464
- return 'http.StatusEarlyHints';
468
+ return "http.StatusEarlyHints";
465
469
  // 2xx
466
470
  case 200:
467
- return 'http.StatusOK';
471
+ return "http.StatusOK";
468
472
  case 201:
469
- return 'http.StatusCreated';
473
+ return "http.StatusCreated";
470
474
  case 202:
471
- return 'http.StatusAccepted';
475
+ return "http.StatusAccepted";
472
476
  case 203:
473
- return 'http.StatusNonAuthoritativeInfo';
477
+ return "http.StatusNonAuthoritativeInfo";
474
478
  case 204:
475
- return 'http.StatusNoContent';
479
+ return "http.StatusNoContent";
476
480
  case 205:
477
- return 'http.StatusResetContent';
481
+ return "http.StatusResetContent";
478
482
  case 206:
479
- return 'http.StatusPartialContent';
483
+ return "http.StatusPartialContent";
480
484
  case 207:
481
- return 'http.StatusMultiStatus';
485
+ return "http.StatusMultiStatus";
482
486
  case 208:
483
- return 'http.StatusAlreadyReported';
487
+ return "http.StatusAlreadyReported";
484
488
  case 226:
485
- return 'http.StatusIMUsed';
489
+ return "http.StatusIMUsed";
486
490
  // 3xx
487
491
  case 300:
488
- return 'http.StatusMultipleChoices';
492
+ return "http.StatusMultipleChoices";
489
493
  case 301:
490
- return 'http.StatusMovedPermanently';
494
+ return "http.StatusMovedPermanently";
491
495
  case 302:
492
- return 'http.StatusFound';
496
+ return "http.StatusFound";
493
497
  case 303:
494
- return 'http.StatusSeeOther';
498
+ return "http.StatusSeeOther";
495
499
  case 304:
496
- return 'http.StatusNotModified';
500
+ return "http.StatusNotModified";
497
501
  case 305:
498
- return 'http.StatusUseProxy';
502
+ return "http.StatusUseProxy";
499
503
  case 307:
500
- return 'http.StatusTemporaryRedirect';
504
+ return "http.StatusTemporaryRedirect";
501
505
  // 4xx
502
506
  case 400:
503
- return 'http.StatusBadRequest';
507
+ return "http.StatusBadRequest";
504
508
  case 401:
505
- return 'http.StatusUnauthorized';
509
+ return "http.StatusUnauthorized";
506
510
  case 402:
507
- return 'http.StatusPaymentRequired';
511
+ return "http.StatusPaymentRequired";
508
512
  case 403:
509
- return 'http.StatusForbidden';
513
+ return "http.StatusForbidden";
510
514
  case 404:
511
- return 'http.StatusNotFound';
515
+ return "http.StatusNotFound";
512
516
  case 405:
513
- return 'http.StatusMethodNotAllowed';
517
+ return "http.StatusMethodNotAllowed";
514
518
  case 406:
515
- return 'http.StatusNotAcceptable';
519
+ return "http.StatusNotAcceptable";
516
520
  case 407:
517
- return 'http.StatusProxyAuthRequired';
521
+ return "http.StatusProxyAuthRequired";
518
522
  case 408:
519
- return 'http.StatusRequestTimeout';
523
+ return "http.StatusRequestTimeout";
520
524
  case 409:
521
- return 'http.StatusConflict';
525
+ return "http.StatusConflict";
522
526
  case 410:
523
- return 'http.StatusGone';
527
+ return "http.StatusGone";
524
528
  case 411:
525
- return 'http.StatusLengthRequired';
529
+ return "http.StatusLengthRequired";
526
530
  case 412:
527
- return 'http.StatusPreconditionFailed';
531
+ return "http.StatusPreconditionFailed";
528
532
  case 413:
529
- return 'http.StatusRequestEntityTooLarge';
533
+ return "http.StatusRequestEntityTooLarge";
530
534
  case 414:
531
- return 'http.StatusRequestURITooLong';
535
+ return "http.StatusRequestURITooLong";
532
536
  case 415:
533
- return 'http.StatusUnsupportedMediaType';
537
+ return "http.StatusUnsupportedMediaType";
534
538
  case 416:
535
- return 'http.StatusRequestedRangeNotSatisfiable';
539
+ return "http.StatusRequestedRangeNotSatisfiable";
536
540
  case 417:
537
- return 'http.StatusExpectationFailed';
541
+ return "http.StatusExpectationFailed";
538
542
  case 418:
539
- return 'http.StatusTeapot';
543
+ return "http.StatusTeapot";
540
544
  case 421:
541
- return 'http.StatusMisdirectedRequest';
545
+ return "http.StatusMisdirectedRequest";
542
546
  case 422:
543
- return 'http.StatusUnprocessableEntity';
547
+ return "http.StatusUnprocessableEntity";
544
548
  case 423:
545
- return 'http.StatusLocked';
549
+ return "http.StatusLocked";
546
550
  case 424:
547
- return 'http.StatusFailedDependency';
551
+ return "http.StatusFailedDependency";
548
552
  case 425:
549
- return 'http.StatusTooEarly';
553
+ return "http.StatusTooEarly";
550
554
  case 426:
551
- return 'http.StatusUpgradeRequired';
555
+ return "http.StatusUpgradeRequired";
552
556
  case 428:
553
- return 'http.StatusPreconditionRequired';
557
+ return "http.StatusPreconditionRequired";
554
558
  case 429:
555
- return 'http.StatusTooManyRequests';
559
+ return "http.StatusTooManyRequests";
556
560
  case 431:
557
- return 'http.StatusRequestHeaderFieldsTooLarge';
561
+ return "http.StatusRequestHeaderFieldsTooLarge";
558
562
  case 451:
559
- return 'http.StatusUnavailableForLegalReasons';
563
+ return "http.StatusUnavailableForLegalReasons";
560
564
  // 5xx
561
565
  case 500:
562
- return 'http.StatusInternalServerError';
566
+ return "http.StatusInternalServerError";
563
567
  case 501:
564
- return 'http.StatusNotImplemented';
568
+ return "http.StatusNotImplemented";
565
569
  case 502:
566
- return 'http.StatusBadGateway';
570
+ return "http.StatusBadGateway";
567
571
  case 503:
568
- return 'http.StatusServiceUnavailable';
572
+ return "http.StatusServiceUnavailable";
569
573
  case 504:
570
- return 'http.StatusGatewayTimeout ';
574
+ return "http.StatusGatewayTimeout ";
571
575
  case 505:
572
- return 'http.StatusHTTPVersionNotSupported';
576
+ return "http.StatusHTTPVersionNotSupported";
573
577
  case 506:
574
- return 'http.StatusVariantAlsoNegotiates';
578
+ return "http.StatusVariantAlsoNegotiates";
575
579
  case 507:
576
- return 'http.StatusInsufficientStorage';
580
+ return "http.StatusInsufficientStorage";
577
581
  case 508:
578
- return 'http.StatusLoopDetected';
582
+ return "http.StatusLoopDetected";
579
583
  case 510:
580
- return 'http.StatusNotExtended';
584
+ return "http.StatusNotExtended";
581
585
  case 511:
582
- return 'http.StatusNetworkAuthenticationRequired';
586
+ return "http.StatusNetworkAuthenticationRequired";
583
587
  default:
584
- throw new CodegenError('InternalError', `unhandled status code ${statusCode}`);
588
+ throw new CodegenError("InternalError", `unhandled status code ${statusCode}`);
585
589
  }
586
590
  }
587
591
  export function formatCommentAsBulletItem(prefix, docs) {
@@ -589,24 +593,24 @@ export function formatCommentAsBulletItem(prefix, docs) {
589
593
  //
590
594
  // some comment first line
591
595
  // and it finishes here.
592
- let description = formatDocCommentWithPrefix(prefix, docs);
596
+ const description = formatDocCommentWithPrefix(prefix, docs);
593
597
  if (description.length === 0) {
594
- return '';
598
+ return "";
595
599
  }
596
600
  // transform the above to look like this:
597
601
  //
598
602
  // - some comment first line
599
603
  // and it finishes here.
600
- const chunks = description.split('\n');
604
+ const chunks = description.split("\n");
601
605
  for (let i = 0; i < chunks.length; ++i) {
602
606
  if (i === 0) {
603
- chunks[i] = chunks[i].replace('// ', '// - ');
607
+ chunks[i] = chunks[i].replace("// ", "// - ");
604
608
  }
605
609
  else {
606
- chunks[i] = chunks[i].replace('// ', '// ');
610
+ chunks[i] = chunks[i].replace("// ", "// ");
607
611
  }
608
612
  }
609
- return chunks.join('\n');
613
+ return chunks.join("\n");
610
614
  }
611
615
  // conditionally returns a doc comment on an entity that requires a prefix.
612
616
  // e.g.:
@@ -615,22 +619,22 @@ export function formatCommentAsBulletItem(prefix, docs) {
615
619
  // {docs.description}
616
620
  export function formatDocCommentWithPrefix(prefix, docs) {
617
621
  if (!docs.summary && !docs.description) {
618
- return '';
622
+ return "";
619
623
  }
620
- let docComment = '';
624
+ let docComment = "";
621
625
  if (docs.summary) {
622
- docComment = `${comment(`${prefix} - ${docs.summary}`, '//', undefined, commentLength)}\n`;
626
+ docComment = `${comment(`${prefix} - ${docs.summary}`, "//", undefined, commentLength)}\n`;
623
627
  }
624
628
  if (docs.description) {
625
629
  let description = docs.description;
626
630
  if (docs.summary) {
627
- docComment += '//\n';
631
+ docComment += "//\n";
628
632
  }
629
633
  else {
630
634
  // only apply the prefix to the description if there was no summary
631
635
  description = `${prefix} - ${description}`;
632
636
  }
633
- docComment += `${comment(`${description}`, '//', undefined, commentLength)}\n`;
637
+ docComment += `${comment(`${description}`, "//", undefined, commentLength)}\n`;
634
638
  }
635
639
  return docComment;
636
640
  }
@@ -640,41 +644,41 @@ export function formatDocCommentWithPrefix(prefix, docs) {
640
644
  // {docs.description}
641
645
  export function formatDocComment(docs) {
642
646
  if (!docs.summary && !docs.description) {
643
- return '';
647
+ return "";
644
648
  }
645
- let docComment = '';
649
+ let docComment = "";
646
650
  if (docs.summary) {
647
- docComment = `${comment(docs.summary, '//', undefined, commentLength)}\n`;
651
+ docComment = `${comment(docs.summary, "//", undefined, commentLength)}\n`;
648
652
  }
649
653
  if (docs.description) {
650
654
  if (docs.summary) {
651
- docComment += '//\n';
655
+ docComment += "//\n";
652
656
  }
653
- docComment += `${comment(docs.description, '//', undefined, commentLength)}\n`;
657
+ docComment += `${comment(docs.description, "//", undefined, commentLength)}\n`;
654
658
  }
655
659
  return docComment;
656
660
  }
657
661
  export function getBitSizeForNumber(intSize) {
658
662
  switch (intSize) {
659
- case 'int8':
660
- return '8';
661
- case 'int16':
662
- return '16';
663
- case 'int32':
664
- case 'float32':
665
- return '32';
666
- case 'int64':
667
- case 'float64':
668
- return '64';
663
+ case "int8":
664
+ return "8";
665
+ case "int16":
666
+ return "16";
667
+ case "int32":
668
+ case "float32":
669
+ return "32";
670
+ case "int64":
671
+ case "float64":
672
+ return "64";
669
673
  }
670
674
  }
671
675
  // returns the underlying map/slice element/value type
672
676
  // if item isn't a map or slice, item is returned
673
677
  export function recursiveUnwrapMapSlice(item) {
674
678
  switch (item.kind) {
675
- case 'map':
679
+ case "map":
676
680
  return recursiveUnwrapMapSlice(item.valueType);
677
- case 'slice':
681
+ case "slice":
678
682
  return recursiveUnwrapMapSlice(item.elementType);
679
683
  default:
680
684
  return item;
@@ -687,7 +691,7 @@ export function recursiveUnwrapMapSlice(item) {
687
691
  * @returns a * or the empty string
688
692
  */
689
693
  export function star(byValue) {
690
- return byValue ? '' : '*';
694
+ return byValue ? "" : "*";
691
695
  }
692
696
  /**
693
697
  * returns the zero-value expression for the specific parameter
@@ -700,14 +704,14 @@ export function zeroValue(param) {
700
704
  // them optional, the azcore.ClientOptions.APIVersion field isn't pointer-to-type.
701
705
  if (go.isRequiredParameter(param.style) || go.isAPIVersionParameter(param)) {
702
706
  switch (param.type.kind) {
703
- case 'string':
707
+ case "string":
704
708
  return `""`;
705
709
  default:
706
- throw new CodegenError('InternalError', `unhandled zero-value kind ${param.type.kind}`);
710
+ throw new CodegenError("InternalError", `unhandled zero-value kind ${param.type.kind}`);
707
711
  }
708
712
  }
709
713
  // optional params are pointer-to-type
710
- return 'nil';
714
+ return "nil";
711
715
  }
712
716
  // used by getSerDeFormat to cache results
713
717
  const serDeFormatCache = new Map();
@@ -720,20 +724,20 @@ export function getSerDeFormat(model, pkg) {
720
724
  }
721
725
  // for model-only builds we assume the format to be JSON
722
726
  if (pkg.clients.length === 0) {
723
- return 'JSON';
727
+ return "JSON";
724
728
  }
725
729
  // recursively walks the fields in model, updating serDeFormatCache with the model name and specified format
726
730
  const recursiveWalkModelFields = function (type, serDeFormat) {
727
731
  type = recursiveUnwrapMapSlice(type);
728
732
  switch (type.kind) {
729
- case 'interface':
733
+ case "interface":
730
734
  recursiveWalkModelFields(type.rootType, serDeFormat);
731
735
  for (const possibleType of type.possibleTypes) {
732
736
  recursiveWalkModelFields(possibleType, serDeFormat);
733
737
  }
734
738
  break;
735
- case 'model':
736
- case 'polymorphicModel':
739
+ case "model":
740
+ case "polymorphicModel":
737
741
  if (serDeFormatCache.has(type.name)) {
738
742
  // we've already processed this type, don't do it again
739
743
  return;
@@ -750,29 +754,30 @@ export function getSerDeFormat(model, pkg) {
750
754
  for (const client of pkg.clients) {
751
755
  for (const method of client.methods) {
752
756
  for (const param of method.parameters) {
753
- if (param.kind !== 'bodyParam' || (param.bodyFormat !== 'JSON' && param.bodyFormat !== 'XML')) {
757
+ if (param.kind !== "bodyParam" ||
758
+ (param.bodyFormat !== "JSON" && param.bodyFormat !== "XML")) {
754
759
  continue;
755
760
  }
756
761
  recursiveWalkModelFields(param.type, param.bodyFormat);
757
762
  }
758
763
  const resultType = method.returns.result;
759
764
  switch (resultType?.kind) {
760
- case 'anyResult':
761
- if (resultType.format === 'JSON' || resultType.format === 'XML') {
765
+ case "anyResult":
766
+ if (resultType.format === "JSON" || resultType.format === "XML") {
762
767
  for (const type of Object.values(resultType.httpStatusCodeType)) {
763
768
  recursiveWalkModelFields(type, resultType.format);
764
769
  }
765
770
  }
766
771
  break;
767
- case 'modelResult':
772
+ case "modelResult":
768
773
  recursiveWalkModelFields(resultType.modelType, resultType.format);
769
774
  break;
770
- case 'monomorphicResult':
771
- if (resultType.format === 'JSON' || resultType.format === 'XML') {
775
+ case "monomorphicResult":
776
+ if (resultType.format === "JSON" || resultType.format === "XML") {
772
777
  recursiveWalkModelFields(resultType.monomorphicType, resultType.format);
773
778
  }
774
779
  break;
775
- case 'polymorphicResult':
780
+ case "polymorphicResult":
776
781
  recursiveWalkModelFields(resultType.interface, resultType.format);
777
782
  break;
778
783
  }
@@ -786,7 +791,7 @@ export function getSerDeFormat(model, pkg) {
786
791
  //
787
792
  // while the former is possible, the latter has the potential to be real.
788
793
  // regardless of the cause, we will just assume the format to be JSON.
789
- serDeFormat = 'JSON';
794
+ serDeFormat = "JSON";
790
795
  }
791
796
  return serDeFormat;
792
797
  }
@@ -794,7 +799,7 @@ export function getSerDeFormat(model, pkg) {
794
799
  export function getAllClientParameters(pkg, target) {
795
800
  const allClientParams = new Array();
796
801
  for (const client of pkg.clients) {
797
- if (client.instance?.kind === 'constructable') {
802
+ if (client.instance?.kind === "constructable") {
798
803
  for (const ctor of client.instance.constructors) {
799
804
  for (const ctorParam of ctor.parameters) {
800
805
  if (go.isAPIVersionParameter(ctorParam)) {
@@ -815,12 +820,12 @@ export function getCommonClientParameters(pkg, target) {
815
820
  const paramCount = new Map();
816
821
  let numClients = 0; // track client count since we might skip some
817
822
  for (const client of pkg.clients) {
818
- // special cases: some ARM clients always don't contain any parameters (OperationsClient will be depracated in the future)
819
- if (target === 'azure-arm' && client.name.match(/^OperationsClient$/)) {
823
+ // special cases: some ARM clients always don't contain any parameters (OperationsClient will be deprecated in the future)
824
+ if (target === "azure-arm" && client.name.match(/^OperationsClient$/)) {
820
825
  continue;
821
826
  }
822
827
  ++numClients;
823
- if (client.instance?.kind === 'constructable') {
828
+ if (client.instance?.kind === "constructable") {
824
829
  for (const ctor of client.instance.constructors) {
825
830
  for (const ctorParam of ctor.parameters) {
826
831
  if (go.isAPIVersionParameter(ctorParam)) {
@@ -863,30 +868,30 @@ export function getMethodParamGroups(method) {
863
868
  const unencodedQueryParams = new Array();
864
869
  for (const param of method.parameters) {
865
870
  switch (param.kind) {
866
- case 'bodyParam':
871
+ case "bodyParam":
867
872
  bodyParam = param;
868
873
  break;
869
- case 'formBodyCollectionParam':
870
- case 'formBodyScalarParam':
874
+ case "formBodyCollectionParam":
875
+ case "formBodyScalarParam":
871
876
  formBodyParams.push(param);
872
877
  break;
873
- case 'headerCollectionParam':
874
- case 'headerMapParam':
875
- case 'headerScalarParam':
878
+ case "headerCollectionParam":
879
+ case "headerMapParam":
880
+ case "headerScalarParam":
876
881
  headerParams.push(param);
877
882
  break;
878
- case 'multipartFormBodyParam':
883
+ case "multipartFormBodyParam":
879
884
  multipartBodyParams.push(param);
880
885
  break;
881
- case 'partialBodyParam':
886
+ case "partialBodyParam":
882
887
  partialBodyParams.push(param);
883
888
  break;
884
- case 'pathCollectionParam':
885
- case 'pathScalarParam':
889
+ case "pathCollectionParam":
890
+ case "pathScalarParam":
886
891
  pathParams.push(param);
887
892
  break;
888
- case 'queryCollectionParam':
889
- case 'queryScalarParam':
893
+ case "queryCollectionParam":
894
+ case "queryScalarParam":
890
895
  if (param.isEncoded) {
891
896
  encodedQueryParams.push(param);
892
897
  }
@@ -925,9 +930,9 @@ export class Indentation {
925
930
  * @returns a string with the current indentation level
926
931
  */
927
932
  get() {
928
- let indent = '';
933
+ let indent = "";
929
934
  for (let i = 0; i < this.level; ++i) {
930
- indent += '\t';
935
+ indent += "\t";
931
936
  }
932
937
  return indent;
933
938
  }
@@ -948,7 +953,7 @@ export class Indentation {
948
953
  pop() {
949
954
  --this.level;
950
955
  if (this.level < 0) {
951
- throw new CodegenError('InternalError', 'indentation stack underflow');
956
+ throw new CodegenError("InternalError", "indentation stack underflow");
952
957
  }
953
958
  return this;
954
959
  }
@@ -966,7 +971,7 @@ export function buildIfBlock(indent, ifBlock, elseBlock) {
966
971
  body += ifBlock.body(indent.push());
967
972
  body += `${indent.pop().get()}}`;
968
973
  if (elseBlock) {
969
- body += ' else {\n';
974
+ body += " else {\n";
970
975
  body += elseBlock.body(indent.push());
971
976
  body += `${indent.pop().get()}}`;
972
977
  }
@@ -982,7 +987,7 @@ export function buildIfBlock(indent, ifBlock, elseBlock) {
982
987
  */
983
988
  export function buildErrCheck(indent, errVar, returns) {
984
989
  let body = `if ${errVar} != nil {\n`;
985
- body += `${indent.push().get()}return ${returns ? `${returns}, ` : ''}${errVar}\n`;
990
+ body += `${indent.push().get()}return ${returns ? `${returns}, ` : ""}${errVar}\n`;
986
991
  body += `${indent.pop().get()}}`;
987
992
  return body;
988
993
  }
@@ -994,7 +999,7 @@ export function buildErrCheck(indent, errVar, returns) {
994
999
  * @param scope
995
1000
  */
996
1001
  export function splitScope(scope) {
997
- const scopeSplit = scope.lastIndexOf('/');
1002
+ const scopeSplit = scope.lastIndexOf("/");
998
1003
  return {
999
1004
  audience: scope.substring(0, scopeSplit),
1000
1005
  scope: scope.substring(scopeSplit),
@@ -1026,41 +1031,60 @@ export function clientHasNoExportedMethods(client) {
1026
1031
  * @returns the complete path to the next link
1027
1032
  */
1028
1033
  export function buildNextLinkPath(strategy) {
1029
- return strategy.nextLinkPath.map((segment) => segment.name).join('.');
1034
+ return strategy.nextLinkPath.map((segment) => segment.name).join(".");
1030
1035
  }
1031
1036
  // the following was copied from @azure-tools/codegen as it's being deprecated
1032
1037
  const ones = [
1033
- '',
1034
- 'one',
1035
- 'two',
1036
- 'three',
1037
- 'four',
1038
- 'five',
1039
- 'six',
1040
- 'seven',
1041
- 'eight',
1042
- 'nine',
1043
- 'ten',
1044
- 'eleven',
1045
- 'twelve',
1046
- 'thirteen',
1047
- 'fourteen',
1048
- 'fifteen',
1049
- 'sixteen',
1050
- 'seventeen',
1051
- 'eighteen',
1052
- 'nineteen',
1038
+ "",
1039
+ "one",
1040
+ "two",
1041
+ "three",
1042
+ "four",
1043
+ "five",
1044
+ "six",
1045
+ "seven",
1046
+ "eight",
1047
+ "nine",
1048
+ "ten",
1049
+ "eleven",
1050
+ "twelve",
1051
+ "thirteen",
1052
+ "fourteen",
1053
+ "fifteen",
1054
+ "sixteen",
1055
+ "seventeen",
1056
+ "eighteen",
1057
+ "nineteen",
1058
+ ];
1059
+ const tens = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"];
1060
+ const magvalues = [
1061
+ 10 ** 3,
1062
+ 10 ** 6,
1063
+ 10 ** 9,
1064
+ 10 ** 12,
1065
+ 10 ** 15,
1066
+ 10 ** 18,
1067
+ 10 ** 21,
1068
+ 10 ** 24,
1069
+ 10 ** 27,
1070
+ ];
1071
+ const magnitude = [
1072
+ "thousand",
1073
+ "million",
1074
+ "billion",
1075
+ "trillion",
1076
+ "quadrillion",
1077
+ "quintillion",
1078
+ "septillion",
1079
+ "octillion",
1053
1080
  ];
1054
- const tens = ['', '', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'];
1055
- const magvalues = [10 ** 3, 10 ** 6, 10 ** 9, 10 ** 12, 10 ** 15, 10 ** 18, 10 ** 21, 10 ** 24, 10 ** 27];
1056
- const magnitude = ['thousand', 'million', 'billion', 'trillion', 'quadrillion', 'quintillion', 'septillion', 'octillion'];
1057
1081
  function* convert(num) {
1058
1082
  if (!num) {
1059
- yield 'zero';
1083
+ yield "zero";
1060
1084
  return;
1061
1085
  }
1062
1086
  if (num > 1e30) {
1063
- yield 'lots';
1087
+ yield "lots";
1064
1088
  return;
1065
1089
  }
1066
1090
  if (num > 999) {
@@ -1075,7 +1099,7 @@ function* convert(num) {
1075
1099
  }
1076
1100
  if (num > 99) {
1077
1101
  yield ones[Math.floor(num / 100)];
1078
- yield 'hundred';
1102
+ yield "hundred";
1079
1103
  num %= 100;
1080
1104
  }
1081
1105
  if (num > 19) {
@@ -1091,9 +1115,9 @@ function deconstruct(identifier) {
1091
1115
  return identifier.flatMap(deconstruct);
1092
1116
  }
1093
1117
  return `${identifier}`
1094
- .replace(/([a-z]+)([A-Z])/g, '$1 $2')
1095
- .replace(/(\d+)([a-z|A-Z]+)/g, '$1 $2')
1096
- .replace(/\b([A-Z]+)([A-Z])([a-z])/, '$1 $2$3')
1118
+ .replace(/([a-z]+)([A-Z])/g, "$1 $2")
1119
+ .replace(/(\d+)([a-z|A-Z]+)/g, "$1 $2")
1120
+ .replace(/\b([A-Z]+)([A-Z])([a-z])/, "$1 $2$3")
1097
1121
  .split(/[\W|_]+/)
1098
1122
  .map((each) => each.toLowerCase());
1099
1123
  }
@@ -1104,12 +1128,12 @@ function fixLeadingNumber(identifier) {
1104
1128
  return identifier;
1105
1129
  }
1106
1130
  export function camelCase(identifier) {
1107
- if (typeof identifier === 'string') {
1131
+ if (typeof identifier === "string") {
1108
1132
  return camelCase(fixLeadingNumber(deconstruct(identifier)));
1109
1133
  }
1110
1134
  switch (identifier.length) {
1111
1135
  case 0:
1112
- return '';
1136
+ return "";
1113
1137
  case 1:
1114
1138
  return naming.uncapitalize(identifier[0]);
1115
1139
  }
@@ -1117,32 +1141,32 @@ export function camelCase(identifier) {
1117
1141
  }
1118
1142
  export function pascalCase(identifier) {
1119
1143
  return identifier === undefined
1120
- ? ''
1121
- : typeof identifier === 'string'
1144
+ ? ""
1145
+ : typeof identifier === "string"
1122
1146
  ? pascalCase(fixLeadingNumber(deconstruct(identifier)))
1123
- : identifier.map((each) => naming.capitalize(each)).join('');
1147
+ : identifier.map((each) => naming.capitalize(each)).join("");
1124
1148
  }
1125
1149
  function indent(content, factor = 1) {
1126
- const i = '\t'.repeat(factor);
1127
- content = i + content.trim().replace(/\r\n/g, '\n');
1150
+ const i = "\t".repeat(factor);
1151
+ content = i + content.trim().replace(/\r\n/g, "\n");
1128
1152
  return content.split(/\n/g).join(`\n${i}`);
1129
1153
  }
1130
- const lineCommentPrefix = '//';
1154
+ const lineCommentPrefix = "//";
1131
1155
  export function comment(content, prefix = lineCommentPrefix, factor = 0, maxLength = 120) {
1132
1156
  const result = new Array();
1133
- let line = '';
1157
+ let line = "";
1134
1158
  prefix = indent(prefix, factor);
1135
1159
  content = content.trim();
1136
1160
  if (content) {
1137
- for (const word of content.replace(/\n+/g, ' » ').split(/\s+/g)) {
1138
- if (word === '»') {
1161
+ for (const word of content.replace(/\n+/g, " » ").split(/\s+/g)) {
1162
+ if (word === "»") {
1139
1163
  result.push(line);
1140
1164
  line = prefix;
1141
1165
  continue;
1142
1166
  }
1143
1167
  if (maxLength < line.length) {
1144
1168
  result.push(line);
1145
- line = '';
1169
+ line = "";
1146
1170
  }
1147
1171
  if (!line) {
1148
1172
  line = prefix;
@@ -1152,9 +1176,9 @@ export function comment(content, prefix = lineCommentPrefix, factor = 0, maxLeng
1152
1176
  if (line) {
1153
1177
  result.push(line);
1154
1178
  }
1155
- return result.join('\n');
1179
+ return result.join("\n");
1156
1180
  }
1157
- return '';
1181
+ return "";
1158
1182
  }
1159
1183
  // end ports from @azure-tools/codegen
1160
1184
  //# sourceMappingURL=helpers.js.map