@azure-tools/typespec-go 0.14.3 → 0.15.0

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 +676 -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,12 +2,12 @@
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 * as helpers from './helpers.js';
8
- import { ImportManager } from './imports.js';
9
- import { fixUpMethodName } from './operations.js';
10
- 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
+ import * as helpers from "./helpers.js";
9
+ import { ImportManager } from "./imports.js";
10
+ import { fixUpMethodName } from "./operations.js";
11
11
  // represents the generated content for an example
12
12
  export class ExampleContent {
13
13
  name;
@@ -31,10 +31,10 @@ export function generateExamples(pkg, target, options) {
31
31
  if (pkg.src.clients.length === 0) {
32
32
  return examples;
33
33
  }
34
- const azureARM = target === 'azure-arm';
34
+ const azureARM = target === "azure-arm";
35
35
  for (const client of pkg.src.clients) {
36
36
  // client must be constructable to create a sample
37
- if (client.instance?.kind != 'constructable') {
37
+ if (client.instance?.kind !== "constructable") {
38
38
  continue;
39
39
  }
40
40
  const imports = new ImportManager(pkg);
@@ -42,12 +42,12 @@ export function generateExamples(pkg, target, options) {
42
42
  if (client.methods.length > 0) {
43
43
  // add standard imports for clients with methods.
44
44
  // clients that are purely hierarchical (i.e. having no APIs) won't need them.
45
- imports.add('context');
46
- imports.add('log');
47
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azidentity');
45
+ imports.add("context");
46
+ imports.add("log");
47
+ imports.add("github.com/Azure/azure-sdk-for-go/sdk/azidentity");
48
48
  imports.addForPkg(pkg.src);
49
49
  }
50
- let clientFactoryParams = new Array();
50
+ let clientFactoryParams;
51
51
  if (options.factoryGatherAllParams) {
52
52
  clientFactoryParams = helpers.getAllClientParameters(pkg.src, target);
53
53
  }
@@ -58,13 +58,13 @@ export function generateExamples(pkg, target, options) {
58
58
  for (const param of clientFactoryParams) {
59
59
  clientFactoryParamsMap.set(param.name, param);
60
60
  }
61
- let exampleText = '';
61
+ let exampleText = "";
62
62
  for (const method of client.methods) {
63
63
  for (const example of method.examples) {
64
64
  const indent = new helpers.Indentation();
65
65
  // function signature
66
66
  exampleText += `// Generated from example definition: ${example.filePath}\n`;
67
- const exampleFuncNamePrefix = method.examples.length > 1 ? `_${helpers.camelCase(example.name)}` : '';
67
+ const exampleFuncNamePrefix = method.examples.length > 1 ? `_${helpers.camelCase(example.name)}` : "";
68
68
  exampleText += `func Example${client.name}_${fixUpMethodName(method)}${exampleFuncNamePrefix}() {\n`;
69
69
  // create credential
70
70
  exampleText += `${indent.get()}cred, err := azidentity.NewDefaultAzureCredential(nil)\n`;
@@ -76,7 +76,7 @@ export function generateExamples(pkg, target, options) {
76
76
  // create client
77
77
  const clientParameters = [];
78
78
  for (const param of method.parameters) {
79
- if (param.location === 'client') {
79
+ if (param.location === "client") {
80
80
  if (go.isLiteralParameter(param.style)) {
81
81
  continue;
82
82
  }
@@ -87,7 +87,7 @@ export function generateExamples(pkg, target, options) {
87
87
  }
88
88
  }
89
89
  // TODO: client optional parameters
90
- let clientRef = '';
90
+ let clientRef;
91
91
  if (azureARM) {
92
92
  // since not all operation has all the client factory required parameters, we need to fake for the missing ones
93
93
  const clientFactoryParamsExample = [];
@@ -97,10 +97,13 @@ export function generateExamples(pkg, target, options) {
97
97
  clientFactoryParamsExample.push(clientFactoryParam);
98
98
  }
99
99
  else {
100
- clientFactoryParamsExample.push({ parameter: clientParam, value: generateFakeExample(clientParam.type, clientParam.name) });
100
+ clientFactoryParamsExample.push({
101
+ parameter: clientParam,
102
+ value: generateFakeExample(clientParam.type, clientParam.name),
103
+ });
101
104
  }
102
105
  }
103
- exampleText += `${indent.get()}clientFactory, err := ${go.getPackageName(pkg.src)}.NewClientFactory(${clientFactoryParamsExample.map((p) => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue)).join(', ')}, nil)\n`;
106
+ exampleText += `${indent.get()}clientFactory, err := ${go.getPackageName(pkg.src)}.NewClientFactory(${clientFactoryParamsExample.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue)).join(", ")}, nil)\n`;
104
107
  exampleText += `${indent.get()}if err != nil {\n`;
105
108
  exampleText += `${indent.push().get()}log.Fatalf("failed to create client: %v", err)\n`;
106
109
  exampleText += `${indent.pop().get()}}\n`;
@@ -116,25 +119,28 @@ export function generateExamples(pkg, target, options) {
116
119
  clientPrivateParameters.push(existingParam);
117
120
  }
118
121
  else {
119
- clientPrivateParameters.push({ parameter: ctorParam, value: generateFakeExample(ctorParam.type, ctorParam.name) });
122
+ clientPrivateParameters.push({
123
+ parameter: ctorParam,
124
+ value: generateFakeExample(ctorParam.type, ctorParam.name),
125
+ });
120
126
  }
121
127
  }
122
128
  if (clientPrivateParameters.length > 0) {
123
- clientRef += `${clientPrivateParameters.map((p) => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}`;
129
+ clientRef += `${clientPrivateParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue).slice(1)).join(", ")}`;
124
130
  }
125
131
  clientRef += `)`;
126
132
  }
127
133
  else {
128
- exampleText += `${indent.get()}client, err := ${go.getPackageName(client.instance.constructors[0].pkg)}.${client.instance.constructors[0].name}(${clientParameters.map((p) => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}, cred, nil)\n`;
134
+ exampleText += `${indent.get()}client, err := ${go.getPackageName(client.instance.constructors[0].pkg)}.${client.instance.constructors[0].name}(${clientParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue).slice(1)).join(", ")}, cred, nil)\n`;
129
135
  exampleText += `${indent.get()}if err != nil {\n`;
130
136
  exampleText += `${indent.push().get()}log.Fatalf("failed to create client: %v", err)\n`;
131
137
  exampleText += `${indent.pop().get()}}\n`;
132
- clientRef = 'client';
138
+ clientRef = "client";
133
139
  }
134
140
  // call method, using getMethodParameters for correct ordering (including required param groups)
135
141
  const renderedParams = [];
136
142
  for (const methodParam of helpers.getMethodParameters(method)) {
137
- if (methodParam.kind === 'paramGroup') {
143
+ if (methodParam.kind === "paramGroup") {
138
144
  if (methodParam === method.optionalParamsGroup)
139
145
  continue;
140
146
  imports.addForPkg(methodParam.pkg);
@@ -144,7 +150,7 @@ export function generateExamples(pkg, target, options) {
144
150
  continue;
145
151
  fieldTexts.push(`${naming.capitalize(groupParam.name)}: ${getParamExampleValue(pkg, groupParam, example, imports)}`);
146
152
  }
147
- renderedParams.push(`${go.getPackageName(methodParam.pkg)}.${methodParam.groupName}{${fieldTexts.join(', ')}}`);
153
+ renderedParams.push(`${go.getPackageName(methodParam.pkg)}.${methodParam.groupName}{${fieldTexts.join(", ")}}`);
148
154
  }
149
155
  else {
150
156
  if (!shouldRenderParam(methodParam, example))
@@ -152,47 +158,48 @@ export function generateExamples(pkg, target, options) {
152
158
  renderedParams.push(getParamExampleValue(pkg, methodParam, example, imports));
153
159
  }
154
160
  }
155
- const methodOptionalParameters = example.optionalParamsGroup.filter((p) => p.parameter.location === 'method');
161
+ const methodOptionalParameters = example.optionalParamsGroup.filter((p) => p.parameter.location === "method");
156
162
  const checkResponse = example.responseEnvelope !== undefined;
157
- let methodOptionalParametersText = 'nil';
163
+ let methodOptionalParametersText = "nil";
158
164
  if (methodOptionalParameters.length > 0) {
159
165
  methodOptionalParametersText = `&${go.getPackageName(method.optionalParamsGroup.pkg)}.${method.optionalParamsGroup.groupName}{\n`;
160
166
  methodOptionalParametersText += methodOptionalParameters
161
- .map((p) => `${naming.capitalize(p.parameter.name)}: ${getExampleValue(pkg, p.value, '\t', imports, isParamByValue(p)).slice(1)}`)
162
- .join(',\n');
167
+ .map((p) => `${naming.capitalize(p.parameter.name)}: ${getExampleValue(pkg, p.value, "\t", imports, isParamByValue(p)).slice(1)}`)
168
+ .join(",\n");
163
169
  methodOptionalParametersText += `}`;
164
170
  }
165
171
  switch (method.kind) {
166
- case 'lroMethod':
167
- case 'lroPageableMethod':
168
- exampleText += `${indent.get()}poller, err := ${clientRef}.${fixUpMethodName(method)}(ctx, ${renderedParams.join(', ')}${renderedParams.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n' + indent.get())})\n`;
172
+ case "lroMethod":
173
+ case "lroPageableMethod":
174
+ exampleText += `${indent.get()}poller, err := ${clientRef}.${fixUpMethodName(method)}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
169
175
  exampleText += `${indent.get()}if err != nil {\n`;
170
176
  exampleText += `${indent.push().get()}log.Fatalf("failed to finish the request: %v", err)\n`;
171
177
  exampleText += `${indent.pop().get()}}\n`;
172
- exampleText += `${indent.get()}${checkResponse ? 'res' : '_'}, err ${checkResponse ? ':=' : '='} poller.PollUntilDone(ctx, nil)\n`;
178
+ exampleText += `${indent.get()}${checkResponse ? "res" : "_"}, err ${checkResponse ? ":=" : "="} poller.PollUntilDone(ctx, nil)\n`;
173
179
  exampleText += `${indent.get()}if err != nil {\n`;
174
180
  exampleText += `${indent.push().get()}log.Fatalf("failed to poll the result: %v", err)\n`;
175
181
  exampleText += `${indent.pop().get()}}\n`;
176
182
  break;
177
- case 'method':
178
- exampleText += `${indent.get()}${checkResponse ? 'res' : '_'}, err ${checkResponse ? ':=' : '='} ${clientRef}.${fixUpMethodName(method)}(ctx, ${renderedParams.join(', ')}${renderedParams.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n' + indent.get())})\n`;
183
+ case "method":
184
+ exampleText += `${indent.get()}${checkResponse ? "res" : "_"}, err ${checkResponse ? ":=" : "="} ${clientRef}.${fixUpMethodName(method)}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
179
185
  exampleText += `${indent.get()}if err != nil {\n`;
180
186
  exampleText += `${indent.push().get()}log.Fatalf("failed to finish the request: %v", err)\n`;
181
187
  exampleText += `${indent.pop().get()}}\n`;
182
188
  break;
183
- case 'pageableMethod':
184
- exampleText += `${indent.get()}pager := ${clientRef}.${fixUpMethodName(method)}(${renderedParams.join(', ')}${renderedParams.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n' + indent.get())})\n`;
189
+ case "pageableMethod":
190
+ exampleText += `${indent.get()}pager := ${clientRef}.${fixUpMethodName(method)}(${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
185
191
  break;
186
192
  default:
187
193
  method;
188
194
  }
189
195
  // check response
190
- if ((method.kind === 'lroPageableMethod' || method.kind === 'pageableMethod') && example.responseEnvelope) {
191
- let resultName = 'pager';
192
- if (method.kind === 'lroPageableMethod') {
193
- resultName = 'res';
196
+ if ((method.kind === "lroPageableMethod" || method.kind === "pageableMethod") &&
197
+ example.responseEnvelope) {
198
+ let resultName = "pager";
199
+ if (method.kind === "lroPageableMethod") {
200
+ resultName = "res";
194
201
  }
195
- const itemType = method.returns.result.modelType.fields.find((f) => f.type.kind === 'slice');
202
+ const itemType = method.returns.result.modelType.fields.find((f) => f.type.kind === "slice");
196
203
  exampleText += `${indent.get()}for ${resultName}.More() {\n`;
197
204
  exampleText += `${indent.push().get()}page, err := ${resultName}.NextPage(ctx)\n`;
198
205
  exampleText += `${indent.get()}if err != nil {\n`;
@@ -205,11 +212,11 @@ export function generateExamples(pkg, target, options) {
205
212
  exampleText += `${indent.get()}// If the HTTP response code is 200 as defined in example definition, your page structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.\n`;
206
213
  exampleText += `${indent.get()}// page = ${go.getPackageName(example.responseEnvelope.response.method.receiver.type.pkg)}.${example.responseEnvelope.response.name}{\n`;
207
214
  for (const header of example.responseEnvelope.headers ?? []) {
208
- exampleText += `${indent.get()}// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, '', undefined, header.header.byValue)
209
- .split('\n')
215
+ exampleText += `${indent.get()}// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, "", undefined, header.header.byValue)
216
+ .split("\n")
210
217
  .join(`\n${indent.get()}// \t`)},\n`;
211
218
  }
212
- exampleText += `${indent.get()}// \t${example.responseEnvelope.result.type.name}: ${getExampleValue(pkg, example.responseEnvelope.result, '', undefined, true).split('\n').join(`\n${indent.get()}// \t`)},\n`;
219
+ exampleText += `${indent.get()}// \t${example.responseEnvelope.result.type.name}: ${getExampleValue(pkg, example.responseEnvelope.result, "", undefined, true).split("\n").join(`\n${indent.get()}// \t`)},\n`;
213
220
  exampleText += `${indent.get()}// }\n`;
214
221
  exampleText += `${indent.pop().get()}}\n`;
215
222
  }
@@ -221,23 +228,25 @@ export function generateExamples(pkg, target, options) {
221
228
  exampleText += `${indent.get()}// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.\n`;
222
229
  exampleText += `${indent.get()}// res = ${go.getPackageName(example.responseEnvelope.response.method.receiver.type.pkg)}.${example.responseEnvelope.response.name}{\n`;
223
230
  for (const header of example.responseEnvelope?.headers ?? []) {
224
- exampleText += `${indent.get()}// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, '', undefined, header.header.byValue)
225
- .split('\n')
231
+ exampleText += `${indent.get()}// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, "", undefined, header.header.byValue)
232
+ .split("\n")
226
233
  .join(`\n${indent.get()}// \t`)},\n`;
227
234
  }
228
235
  if (example.responseEnvelope?.result) {
229
236
  // modelResult and polymorphicResult are anonymously embedded by value in the response struct.
230
237
  // monomorphicResult has an explicit byValue property. all other result types default to by value.
231
238
  let resultByValue = true;
232
- let resultFieldName = fieldName ? fieldName : (example.responseEnvelope?.result.type).name;
233
- if (method.returns.result?.kind === 'monomorphicResult') {
239
+ let resultFieldName = fieldName
240
+ ? fieldName
241
+ : (example.responseEnvelope?.result.type).name;
242
+ if (method.returns.result?.kind === "monomorphicResult") {
234
243
  resultByValue = method.returns.result.byValue;
235
244
  }
236
- else if (method.returns.result?.kind === 'polymorphicResult') {
245
+ else if (method.returns.result?.kind === "polymorphicResult") {
237
246
  resultFieldName = method.returns.result.interface.name;
238
247
  resultByValue = false;
239
248
  }
240
- exampleText += `${indent.get()}// \t${resultFieldName}: ${getExampleValue(pkg, example.responseEnvelope.result, '', undefined, resultByValue).split('\n').join(`\n${indent.get()}// \t`)},\n`;
249
+ exampleText += `${indent.get()}// \t${resultFieldName}: ${getExampleValue(pkg, example.responseEnvelope.result, "", undefined, resultByValue).split("\n").join(`\n${indent.get()}// \t`)},\n`;
241
250
  }
242
251
  exampleText += `${indent.get()}// }\n`;
243
252
  }
@@ -245,7 +254,7 @@ export function generateExamples(pkg, target, options) {
245
254
  }
246
255
  }
247
256
  // if no example, then do not generate example file
248
- if (exampleText === '')
257
+ if (exampleText === "")
249
258
  continue;
250
259
  // stitch it all together
251
260
  let text = helpers.contentPreamble(pkg);
@@ -257,80 +266,80 @@ export function generateExamples(pkg, target, options) {
257
266
  }
258
267
  function getExampleValue(pkg, example, indent, imports, byValue = false, inArray = false) {
259
268
  switch (example.kind) {
260
- case 'string': {
269
+ case "string": {
261
270
  let exampleText = `"${escapeString(example.value)}"`;
262
- if (example.type.kind === 'constant') {
271
+ if (example.type.kind === "constant") {
263
272
  exampleText = getConstantValue(pkg, example.type, example.value);
264
273
  }
265
- else if (example.type.kind === 'time') {
274
+ else if (example.type.kind === "time") {
266
275
  exampleText = getTimeValue(example.type, example.value, imports);
267
276
  }
268
- else if (example.type.kind === 'encodedBytes') {
277
+ else if (example.type.kind === "encodedBytes") {
269
278
  exampleText = `[]byte("${escapeString(example.value)}")`;
270
279
  }
271
- else if (example.type.kind === 'literal' && example.type.type.kind === 'constant') {
280
+ else if (example.type.kind === "literal" && example.type.type.kind === "constant") {
272
281
  exampleText = getConstantValue(pkg, example.type.type, example.type.literal.value);
273
282
  }
274
- else if (example.type.kind === 'etag') {
283
+ else if (example.type.kind === "etag") {
275
284
  imports?.add(example.type.module);
276
285
  exampleText = `${go.getTypeDeclaration(example.type, pkg)}("${escapeString(example.value)}")`;
277
286
  }
278
- else if (example.type.kind === 'scalar' && example.type.type === 'byte') {
287
+ else if (example.type.kind === "scalar" && example.type.type === "byte") {
279
288
  exampleText = `io.NopCloser(bytes.NewReader([]byte("${escapeString(example.value)}")))`;
280
289
  }
281
- else if (example.type.kind === 'readSeekCloser') {
282
- imports?.add('bytes');
283
- imports?.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming');
290
+ else if (example.type.kind === "readSeekCloser") {
291
+ imports?.add("bytes");
292
+ imports?.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming");
284
293
  exampleText = `streaming.NopCloser(bytes.NewReader([]byte("${escapeString(example.value)}")))`;
285
294
  }
286
295
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
287
296
  }
288
- case 'number': {
297
+ case "number": {
289
298
  let exampleText = `${example.value}`;
290
299
  switch (example.type.kind) {
291
- case 'constant':
300
+ case "constant":
292
301
  exampleText = `${indent}${getConstantValue(pkg, example.type, example.value)}`;
293
302
  break;
294
- case 'time':
303
+ case "time":
295
304
  exampleText = getTimeValue(example.type, example.value, imports);
296
305
  break;
297
306
  }
298
307
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
299
308
  }
300
- case 'boolean': {
309
+ case "boolean": {
301
310
  let exampleText = `${example.value}`;
302
- if (example.type.kind === 'constant') {
311
+ if (example.type.kind === "constant") {
303
312
  exampleText = `${indent}${getConstantValue(pkg, example.type, example.value)}`;
304
313
  }
305
314
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
306
315
  }
307
- case 'null':
316
+ case "null":
308
317
  return `${indent}nil`;
309
- case 'any':
318
+ case "any":
310
319
  return jsonToGo(example.value, indent);
311
- case 'array': {
320
+ case "array": {
312
321
  const isElementByValue = example.type.elementTypeByValue;
313
322
  // if polymorphic, need to add type name in array, so inArray will be set to false
314
323
  // if other case, no need to add type name in array, so inArray will be set to true
315
- const isElementPolymorphic = example.type.elementType.kind === 'interface';
324
+ const isElementPolymorphic = example.type.elementType.kind === "interface";
316
325
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkg)}{\n`;
317
326
  for (const element of example.value) {
318
- exampleText += `${getExampleValue(pkg, element, indent + '\t', imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
327
+ exampleText += `${getExampleValue(pkg, element, indent + "\t", imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
319
328
  }
320
329
  exampleText += `${indent}}`;
321
330
  return exampleText;
322
331
  }
323
- case 'dictionary': {
332
+ case "dictionary": {
324
333
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkg)}{\n`;
325
334
  const isValueByValue = example.type.valueTypeByValue;
326
- const isValuePolymorphic = example.type.valueType.kind === 'interface';
335
+ const isValuePolymorphic = example.type.valueType.kind === "interface";
327
336
  for (const key in example.value) {
328
- exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.value[key], indent + '\t', imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
337
+ exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.value[key], indent + "\t", imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
329
338
  }
330
339
  exampleText += `${indent}}`;
331
340
  return exampleText;
332
341
  }
333
- case 'model': {
342
+ case "model": {
334
343
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkg)}{\n`;
335
344
  if (inArray) {
336
345
  exampleText = `${indent}{\n`;
@@ -338,31 +347,31 @@ function getExampleValue(pkg, example, indent, imports, byValue = false, inArray
338
347
  for (const field in example.value) {
339
348
  const goField = example.type.fields.find((f) => f.name === field);
340
349
  const isFieldByValue = goField.byValue ?? false;
341
- const isFieldPolymorphic = goField.type.kind === 'interface';
342
- exampleText += `${indent}\t${field}: ${getExampleValue(pkg, example.value[field], indent + '\t', imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
350
+ const isFieldPolymorphic = goField.type.kind === "interface";
351
+ exampleText += `${indent}\t${field}: ${getExampleValue(pkg, example.value[field], indent + "\t", imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
343
352
  }
344
353
  if (example.additionalProperties) {
345
354
  const additionalPropertiesField = example.type.fields.find((f) => f.annotations.isAdditionalProperties);
346
- if (additionalPropertiesField.type.kind !== 'map') {
347
- throw new CodegenError('InternalError', `additional properties field type should be map type`);
355
+ if (additionalPropertiesField.type.kind !== "map") {
356
+ throw new CodegenError("InternalError", `additional properties field type should be map type`);
348
357
  }
349
358
  const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.valueTypeByValue ?? false;
350
- const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === 'interface';
359
+ const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === "interface";
351
360
  exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, pkg)}{\n`;
352
361
  for (const key in example.additionalProperties) {
353
- exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.additionalProperties[key], indent + '\t', imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
362
+ exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.additionalProperties[key], indent + "\t", imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
354
363
  }
355
364
  exampleText += `${indent}},\n`;
356
365
  }
357
366
  exampleText += `${indent}}`;
358
367
  return exampleText;
359
368
  }
360
- case 'tokenCredential':
369
+ case "tokenCredential":
361
370
  return example.value;
362
371
  }
363
372
  }
364
373
  function getRef(byValue) {
365
- return byValue ? '' : '&';
374
+ return byValue ? "" : "&";
366
375
  }
367
376
  function getConstantValue(pkg, type, value) {
368
377
  for (const constantValue of type.values) {
@@ -371,7 +380,7 @@ function getConstantValue(pkg, type, value) {
371
380
  }
372
381
  }
373
382
  switch (type.type) {
374
- case 'string':
383
+ case "string":
375
384
  return `${go.getTypeDeclaration(type, pkg)}("${value}")`;
376
385
  default:
377
386
  return `${go.getTypeDeclaration(type, pkg)}(${value})`;
@@ -385,13 +394,13 @@ function getTimeValue(type, value, imports) {
385
394
  RFC3339: helpers.RFC3339Format,
386
395
  };
387
396
  if (type.format in formatMap) {
388
- imports?.add('time');
397
+ imports?.add("time");
389
398
  const format = formatMap[type.format];
390
399
  return `func() time.Time { t, _ := time.Parse(${format}, "${value}"); return t}()`;
391
400
  }
392
401
  else {
393
- imports?.add('strconv');
394
- imports?.add('time');
402
+ imports?.add("strconv");
403
+ imports?.add("time");
395
404
  return `func() time.Time { t, _ := strconv.ParseInt(${value}, 10, 64); return time.Unix(t, 0).UTC()}()`;
396
405
  }
397
406
  }
@@ -400,62 +409,62 @@ function getPointerValue(type, valueString, byValue, imports) {
400
409
  return valueString;
401
410
  }
402
411
  switch (type.kind) {
403
- case 'any':
404
- case 'constant':
405
- case 'constantDef':
406
- case 'etag':
407
- case 'string':
408
- case 'time':
412
+ case "any":
413
+ case "constant":
414
+ case "constantDef":
415
+ case "etag":
416
+ case "string":
417
+ case "time":
409
418
  if (imports)
410
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
419
+ imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/to");
411
420
  return `to.Ptr(${valueString})`;
412
- case 'literal':
421
+ case "literal":
413
422
  // unwrap the literal and delegate to the inner type's case
414
423
  return getPointerValue(type.type, valueString, byValue, imports);
415
- case 'scalar': {
416
- if (type.type === 'byte') {
424
+ case "scalar": {
425
+ if (type.type === "byte") {
417
426
  return valueString;
418
427
  }
419
- let prtType = '';
428
+ let prtType;
420
429
  switch (type.type) {
421
430
  case `bool`:
422
431
  case `rune`:
423
- prtType = 'Ptr';
432
+ prtType = "Ptr";
424
433
  break;
425
434
  default:
426
435
  prtType = `Ptr[${type.type}]`;
427
436
  }
428
437
  if (imports)
429
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
438
+ imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/to");
430
439
  return `to.${prtType}(${valueString})`;
431
440
  }
432
- case 'readSeekCloser':
441
+ case "readSeekCloser":
433
442
  return valueString;
434
443
  default:
435
444
  return `&${valueString}`;
436
445
  }
437
446
  }
438
447
  function jsonToGo(value, indent) {
439
- if (typeof value === 'string') {
448
+ if (typeof value === "string") {
440
449
  return `${indent}"${escapeString(value)}"`;
441
450
  }
442
- else if (typeof value === 'number' || typeof value === 'bigint') {
451
+ else if (typeof value === "number" || typeof value === "bigint") {
443
452
  return `${indent}${value}`;
444
453
  }
445
- else if (typeof value === 'boolean') {
454
+ else if (typeof value === "boolean") {
446
455
  return `${indent}${value}`;
447
456
  }
448
- else if (typeof value === 'undefined') {
457
+ else if (typeof value === "undefined") {
449
458
  return `${indent}nil`;
450
459
  }
451
- else if (typeof value === 'object') {
460
+ else if (typeof value === "object") {
452
461
  if (value === null) {
453
462
  return `${indent}nil`;
454
463
  }
455
464
  else if (Array.isArray(value)) {
456
465
  let result = `${indent}[]any{\n`;
457
466
  for (const item of value) {
458
- result += `${jsonToGo(item, indent + '\t')},\n`;
467
+ result += `${jsonToGo(item, indent + "\t")},\n`;
459
468
  }
460
469
  result += `${indent}}`;
461
470
  return result;
@@ -463,70 +472,76 @@ function jsonToGo(value, indent) {
463
472
  else {
464
473
  let result = `${indent}map[string]any{\n`;
465
474
  for (const key in value) {
466
- result += `${indent}\t"${key}": ${jsonToGo(value[key], indent + '\t').slice(indent.length + 1)},\n`;
475
+ result += `${indent}\t"${key}": ${jsonToGo(value[key], indent + "\t").slice(indent.length + 1)},\n`;
467
476
  }
468
477
  result += `${indent}}`;
469
478
  return result;
470
479
  }
471
480
  }
472
- return '';
481
+ return "";
473
482
  }
474
483
  function generateFakeExample(goType, name) {
475
484
  switch (goType.kind) {
476
- case 'any':
485
+ case "any":
477
486
  return new go.NullExample(goType);
478
- case 'constant':
487
+ case "constant":
479
488
  switch (goType.type) {
480
- case 'bool':
489
+ case "bool":
481
490
  return new go.BooleanExample(goType.values[0].value, goType);
482
- case 'string':
491
+ case "string":
483
492
  return new go.StringExample(goType.values[0].value, goType);
484
493
  default:
485
494
  return new go.NumberExample(goType.values[0].value, goType);
486
495
  }
487
- case 'literal':
496
+ case "literal":
488
497
  return new go.StringExample(goType.literal, goType);
489
- case 'scalar':
498
+ case "scalar":
490
499
  switch (goType.type) {
491
- case 'bool':
500
+ case "bool":
492
501
  return new go.BooleanExample(false, goType);
493
- case 'byte':
494
- case 'rune':
495
- return new go.StringExample(`<${name ?? 'test'}>`, goType);
502
+ case "byte":
503
+ case "rune":
504
+ return new go.StringExample(`<${name ?? "test"}>`, goType);
496
505
  default:
497
506
  return new go.NumberExample(0, goType);
498
507
  }
499
- case 'string':
500
- return new go.StringExample(`<${name ?? 'test'}>`, goType);
501
- case 'tokenCredential':
508
+ case "string":
509
+ return new go.StringExample(`<${name ?? "test"}>`, goType);
510
+ case "tokenCredential":
502
511
  // we hard code the credential var name to cred
503
- return new go.TokenCredentialExample('cred');
504
- case 'encodedBytes':
505
- return new go.StringExample(`<${name ?? 'test'}>`, goType);
506
- case 'time':
512
+ return new go.TokenCredentialExample("cred");
513
+ case "encodedBytes":
514
+ return new go.StringExample(`<${name ?? "test"}>`, goType);
515
+ case "time":
507
516
  // use a placeholder date value for time types
508
- return new go.StringExample('2006-01-02T15:04:05Z', goType);
509
- case 'etag':
510
- return new go.StringExample(`<${name ?? 'etag'}>`, goType);
511
- case 'model':
512
- case 'polymorphicModel':
517
+ return new go.StringExample("2006-01-02T15:04:05Z", goType);
518
+ case "etag":
519
+ return new go.StringExample(`<${name ?? "etag"}>`, goType);
520
+ case "model":
521
+ case "polymorphicModel":
513
522
  // return an empty struct example for model types
514
523
  return new go.StructExample(goType);
515
- case 'slice':
524
+ case "slice":
516
525
  // return an empty array example for slice types
517
526
  return new go.ArrayExample(goType);
518
- case 'map':
527
+ case "map":
519
528
  // return an empty map example for map types
520
529
  return new go.DictionaryExample(goType);
521
- case 'interface':
530
+ case "interface":
522
531
  // for interface types, use the root type (which is a PolymorphicModel) to create an example
523
532
  return new go.StructExample(goType.rootType);
524
533
  default:
525
- throw new CodegenError('InternalError', `unhandled fake example kind ${goType.kind}`);
534
+ throw new CodegenError("InternalError", `unhandled fake example kind ${goType.kind}`);
526
535
  }
527
536
  }
528
537
  function escapeString(str) {
529
- return str.split('\\').join('\\\\').split('"').join('\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r');
538
+ return str
539
+ .split("\\")
540
+ .join("\\\\")
541
+ .split('"')
542
+ .join('\\"')
543
+ .replace(/\n/g, "\\n")
544
+ .replace(/\r/g, "\\r");
530
545
  }
531
546
  /**
532
547
  * returns true if the parameter's example value should be passed by value,
@@ -539,8 +554,8 @@ function escapeString(str) {
539
554
  */
540
555
  function isParamByValue(p) {
541
556
  switch (p.parameter.type.kind) {
542
- case 'interface':
543
- return p.value.kind === 'null';
557
+ case "interface":
558
+ return p.value.kind === "null";
544
559
  default:
545
560
  return p.parameter.byValue;
546
561
  }
@@ -564,9 +579,9 @@ function shouldRenderParam(param, example) {
564
579
  function getParamExampleValue(pkg, param, example, imports) {
565
580
  const paramExample = example.parameters.find((p) => p.parameter.name === param.name);
566
581
  if (paramExample) {
567
- return getExampleValue(pkg, paramExample.value, '\t', imports, isParamByValue(paramExample)).slice(1);
582
+ return getExampleValue(pkg, paramExample.value, "\t", imports, isParamByValue(paramExample)).slice(1);
568
583
  }
569
584
  const fakeValue = generateFakeExample(param.type, param.name);
570
- return getExampleValue(pkg, fakeValue, '\t', imports, param.byValue).slice(1);
585
+ return getExampleValue(pkg, fakeValue, "\t", imports, param.byValue).slice(1);
571
586
  }
572
587
  //# sourceMappingURL=example.js.map