@azure-tools/typespec-go 0.8.6 → 0.8.7

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 (183) hide show
  1. package/dist/codegen.go/src/core/clientFactory.d.ts +12 -0
  2. package/dist/codegen.go/src/core/clientFactory.d.ts.map +1 -0
  3. package/dist/codegen.go/src/{clientFactory.js → core/clientFactory.js} +17 -9
  4. package/dist/codegen.go/src/core/clientFactory.js.map +1 -0
  5. package/dist/codegen.go/src/core/cloudConfig.d.ts +11 -0
  6. package/dist/codegen.go/src/core/cloudConfig.d.ts.map +1 -0
  7. package/dist/codegen.go/src/{cloudConfig.js → core/cloudConfig.js} +7 -15
  8. package/dist/codegen.go/src/core/cloudConfig.js.map +1 -0
  9. package/dist/codegen.go/src/core/constants.d.ts +9 -0
  10. package/dist/codegen.go/src/core/constants.d.ts.map +1 -0
  11. package/dist/codegen.go/src/{constants.js → core/constants.js} +10 -5
  12. package/dist/codegen.go/src/core/constants.js.map +1 -0
  13. package/dist/codegen.go/src/{errors.d.ts → core/errors.d.ts} +1 -1
  14. package/dist/codegen.go/src/core/errors.d.ts.map +1 -0
  15. package/dist/codegen.go/src/core/errors.js.map +1 -0
  16. package/dist/codegen.go/src/core/example.d.ts +16 -0
  17. package/dist/codegen.go/src/core/example.d.ts.map +1 -0
  18. package/dist/codegen.go/src/{example.js → core/example.js} +76 -43
  19. package/dist/codegen.go/src/core/example.js.map +1 -0
  20. package/dist/codegen.go/src/core/gomod.d.ts +12 -0
  21. package/dist/codegen.go/src/core/gomod.d.ts.map +1 -0
  22. package/dist/codegen.go/src/{gomod.js → core/gomod.js} +14 -11
  23. package/dist/codegen.go/src/core/gomod.js.map +1 -0
  24. package/dist/codegen.go/src/{helpers.d.ts → core/helpers.d.ts} +21 -8
  25. package/dist/codegen.go/src/core/helpers.d.ts.map +1 -0
  26. package/dist/codegen.go/src/{helpers.js → core/helpers.js} +43 -30
  27. package/dist/codegen.go/src/core/helpers.js.map +1 -0
  28. package/dist/codegen.go/src/core/imports.d.ts +17 -0
  29. package/dist/codegen.go/src/core/imports.d.ts.map +1 -0
  30. package/dist/codegen.go/src/{imports.js → core/imports.js} +25 -0
  31. package/dist/codegen.go/src/core/imports.js.map +1 -0
  32. package/dist/codegen.go/src/core/interfaces.d.ts +9 -0
  33. package/dist/codegen.go/src/core/interfaces.d.ts.map +1 -0
  34. package/dist/codegen.go/src/{interfaces.js → core/interfaces.js} +11 -5
  35. package/dist/codegen.go/src/core/interfaces.js.map +1 -0
  36. package/dist/codegen.go/src/core/license.d.ts +9 -0
  37. package/dist/codegen.go/src/core/license.d.ts.map +1 -0
  38. package/dist/codegen.go/src/{license.js → core/license.js} +4 -13
  39. package/dist/codegen.go/src/core/license.js.map +1 -0
  40. package/dist/codegen.go/src/core/metadata.d.ts +3 -0
  41. package/dist/codegen.go/src/core/metadata.d.ts.map +1 -0
  42. package/dist/codegen.go/src/core/metadata.js.map +1 -0
  43. package/dist/codegen.go/src/core/models.d.ts +15 -0
  44. package/dist/codegen.go/src/core/models.d.ts.map +1 -0
  45. package/dist/codegen.go/src/{models.js → core/models.js} +17 -11
  46. package/dist/codegen.go/src/core/models.js.map +1 -0
  47. package/dist/codegen.go/src/core/operations.d.ts +17 -0
  48. package/dist/codegen.go/src/core/operations.d.ts.map +1 -0
  49. package/dist/codegen.go/src/{operations.js → core/operations.js} +34 -27
  50. package/dist/codegen.go/src/core/operations.js.map +1 -0
  51. package/dist/codegen.go/src/core/options.d.ts +9 -0
  52. package/dist/codegen.go/src/core/options.d.ts.map +1 -0
  53. package/dist/codegen.go/src/{options.js → core/options.js} +11 -6
  54. package/dist/codegen.go/src/core/options.js.map +1 -0
  55. package/dist/codegen.go/src/core/polymorphics.d.ts +10 -0
  56. package/dist/codegen.go/src/core/polymorphics.d.ts.map +1 -0
  57. package/dist/codegen.go/src/{polymorphics.js → core/polymorphics.js} +16 -10
  58. package/dist/codegen.go/src/core/polymorphics.js.map +1 -0
  59. package/dist/codegen.go/src/core/responses.d.ts +14 -0
  60. package/dist/codegen.go/src/core/responses.d.ts.map +1 -0
  61. package/dist/codegen.go/src/{responses.js → core/responses.js} +14 -8
  62. package/dist/codegen.go/src/core/responses.js.map +1 -0
  63. package/dist/codegen.go/src/core/time.d.ts +15 -0
  64. package/dist/codegen.go/src/core/time.d.ts.map +1 -0
  65. package/dist/codegen.go/src/{time.js → core/time.js} +19 -14
  66. package/dist/codegen.go/src/core/time.js.map +1 -0
  67. package/dist/codegen.go/src/core/version.d.ts +10 -0
  68. package/dist/codegen.go/src/core/version.d.ts.map +1 -0
  69. package/dist/codegen.go/src/{version.js → core/version.js} +4 -12
  70. package/dist/codegen.go/src/core/version.js.map +1 -0
  71. package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts +9 -0
  72. package/dist/codegen.go/src/core/xmlAdditionalProps.d.ts.map +1 -0
  73. package/dist/codegen.go/src/{xmlAdditionalProps.js → core/xmlAdditionalProps.js} +11 -7
  74. package/dist/codegen.go/src/core/xmlAdditionalProps.js.map +1 -0
  75. package/dist/codegen.go/src/emitter.d.ts +42 -0
  76. package/dist/codegen.go/src/emitter.d.ts.map +1 -0
  77. package/dist/codegen.go/src/emitter.js +290 -0
  78. package/dist/codegen.go/src/emitter.js.map +1 -0
  79. package/dist/codegen.go/src/fake/factory.d.ts +8 -1
  80. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
  81. package/dist/codegen.go/src/fake/factory.js +17 -9
  82. package/dist/codegen.go/src/fake/factory.js.map +1 -1
  83. package/dist/codegen.go/src/fake/internal.d.ts +8 -1
  84. package/dist/codegen.go/src/fake/internal.d.ts.map +1 -1
  85. package/dist/codegen.go/src/fake/internal.js +12 -5
  86. package/dist/codegen.go/src/fake/internal.js.map +1 -1
  87. package/dist/codegen.go/src/fake/servers.d.ts +7 -1
  88. package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
  89. package/dist/codegen.go/src/fake/servers.js +22 -15
  90. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  91. package/dist/codegen.go/src/index.d.ts +4 -0
  92. package/dist/codegen.go/src/index.d.ts.map +1 -0
  93. package/dist/codegen.go/src/index.js +8 -0
  94. package/dist/codegen.go/src/index.js.map +1 -0
  95. package/dist/codemodel.go/src/client.d.ts +1 -1
  96. package/dist/codemodel.go/src/client.d.ts.map +1 -1
  97. package/dist/codemodel.go/src/{package.d.ts → codeModel.d.ts} +11 -35
  98. package/dist/codemodel.go/src/codeModel.d.ts.map +1 -0
  99. package/dist/codemodel.go/src/codeModel.js +29 -0
  100. package/dist/codemodel.go/src/codeModel.js.map +1 -0
  101. package/dist/codemodel.go/src/index.d.ts +3 -2
  102. package/dist/codemodel.go/src/index.d.ts.map +1 -1
  103. package/dist/codemodel.go/src/index.js +3 -2
  104. package/dist/codemodel.go/src/index.js.map +1 -1
  105. package/dist/codemodel.go/src/module.d.ts +70 -0
  106. package/dist/codemodel.go/src/module.d.ts.map +1 -0
  107. package/dist/codemodel.go/src/module.js +39 -0
  108. package/dist/codemodel.go/src/module.js.map +1 -0
  109. package/dist/typespec-go/src/emitter.d.ts.map +1 -1
  110. package/dist/typespec-go/src/emitter.js +31 -167
  111. package/dist/typespec-go/src/emitter.js.map +1 -1
  112. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
  113. package/dist/typespec-go/src/tcgcadapter/adapter.js +19 -18
  114. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  115. package/dist/typespec-go/src/tcgcadapter/clients.d.ts +7 -0
  116. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  117. package/dist/typespec-go/src/tcgcadapter/clients.js +19 -10
  118. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  119. package/dist/typespec-go/src/tcgcadapter/types.d.ts +7 -0
  120. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  121. package/dist/typespec-go/src/tcgcadapter/types.js +12 -3
  122. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  123. package/package.json +22 -22
  124. package/dist/codegen.go/src/clientFactory.d.ts +0 -3
  125. package/dist/codegen.go/src/clientFactory.d.ts.map +0 -1
  126. package/dist/codegen.go/src/clientFactory.js.map +0 -1
  127. package/dist/codegen.go/src/cloudConfig.d.ts +0 -10
  128. package/dist/codegen.go/src/cloudConfig.d.ts.map +0 -1
  129. package/dist/codegen.go/src/cloudConfig.js.map +0 -1
  130. package/dist/codegen.go/src/constants.d.ts +0 -3
  131. package/dist/codegen.go/src/constants.d.ts.map +0 -1
  132. package/dist/codegen.go/src/constants.js.map +0 -1
  133. package/dist/codegen.go/src/errors.d.ts.map +0 -1
  134. package/dist/codegen.go/src/errors.js.map +0 -1
  135. package/dist/codegen.go/src/example.d.ts +0 -8
  136. package/dist/codegen.go/src/example.d.ts.map +0 -1
  137. package/dist/codegen.go/src/example.js.map +0 -1
  138. package/dist/codegen.go/src/gomod.d.ts +0 -3
  139. package/dist/codegen.go/src/gomod.d.ts.map +0 -1
  140. package/dist/codegen.go/src/gomod.js.map +0 -1
  141. package/dist/codegen.go/src/helpers.d.ts.map +0 -1
  142. package/dist/codegen.go/src/helpers.js.map +0 -1
  143. package/dist/codegen.go/src/imports.d.ts +0 -11
  144. package/dist/codegen.go/src/imports.d.ts.map +0 -1
  145. package/dist/codegen.go/src/imports.js.map +0 -1
  146. package/dist/codegen.go/src/interfaces.d.ts +0 -3
  147. package/dist/codegen.go/src/interfaces.d.ts.map +0 -1
  148. package/dist/codegen.go/src/interfaces.js.map +0 -1
  149. package/dist/codegen.go/src/license.d.ts +0 -10
  150. package/dist/codegen.go/src/license.d.ts.map +0 -1
  151. package/dist/codegen.go/src/license.js.map +0 -1
  152. package/dist/codegen.go/src/metadata.d.ts +0 -3
  153. package/dist/codegen.go/src/metadata.d.ts.map +0 -1
  154. package/dist/codegen.go/src/metadata.js.map +0 -1
  155. package/dist/codegen.go/src/models.d.ts +0 -8
  156. package/dist/codegen.go/src/models.d.ts.map +0 -1
  157. package/dist/codegen.go/src/models.js.map +0 -1
  158. package/dist/codegen.go/src/operations.d.ts +0 -9
  159. package/dist/codegen.go/src/operations.d.ts.map +0 -1
  160. package/dist/codegen.go/src/operations.js.map +0 -1
  161. package/dist/codegen.go/src/options.d.ts +0 -3
  162. package/dist/codegen.go/src/options.d.ts.map +0 -1
  163. package/dist/codegen.go/src/options.js.map +0 -1
  164. package/dist/codegen.go/src/polymorphics.d.ts +0 -3
  165. package/dist/codegen.go/src/polymorphics.d.ts.map +0 -1
  166. package/dist/codegen.go/src/polymorphics.js.map +0 -1
  167. package/dist/codegen.go/src/responses.d.ts +0 -7
  168. package/dist/codegen.go/src/responses.d.ts.map +0 -1
  169. package/dist/codegen.go/src/responses.js.map +0 -1
  170. package/dist/codegen.go/src/time.d.ts +0 -8
  171. package/dist/codegen.go/src/time.d.ts.map +0 -1
  172. package/dist/codegen.go/src/time.js.map +0 -1
  173. package/dist/codegen.go/src/version.d.ts +0 -10
  174. package/dist/codegen.go/src/version.d.ts.map +0 -1
  175. package/dist/codegen.go/src/version.js.map +0 -1
  176. package/dist/codegen.go/src/xmlAdditionalProps.d.ts +0 -3
  177. package/dist/codegen.go/src/xmlAdditionalProps.d.ts.map +0 -1
  178. package/dist/codegen.go/src/xmlAdditionalProps.js.map +0 -1
  179. package/dist/codemodel.go/src/package.d.ts.map +0 -1
  180. package/dist/codemodel.go/src/package.js +0 -78
  181. package/dist/codemodel.go/src/package.js.map +0 -1
  182. /package/dist/codegen.go/src/{errors.js → core/errors.js} +0 -0
  183. /package/dist/codegen.go/src/{metadata.js → core/metadata.js} +0 -0
@@ -0,0 +1,12 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * Creates the content for client_factory.go file.
4
+ * For non-ARM targets, the empty string is returned.
5
+ *
6
+ * @param pkg contains the package content
7
+ * @param target the codegen target for the package
8
+ * @param options the emitter options
9
+ * @returns the text for the file or the empty string
10
+ */
11
+ export declare function generateClientFactory(pkg: go.PackageContent, target: go.CodeModelType, options: go.Options): string;
12
+ //# sourceMappingURL=clientFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientFactory.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/clientFactory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAIzD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,MAAM,CAiHnH"}
@@ -2,24 +2,32 @@
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';
5
+ import * as go from '../../../codemodel.go/src/index.js';
6
6
  import * as helpers from './helpers.js';
7
7
  import { ImportManager } from './imports.js';
8
- // Creates the content for client_factory.go (ARM only)
9
- export async function generateClientFactory(codeModel) {
8
+ /**
9
+ * Creates the content for client_factory.go file.
10
+ * For non-ARM targets, the empty string is returned.
11
+ *
12
+ * @param pkg contains the package content
13
+ * @param target the codegen target for the package
14
+ * @param options the emitter options
15
+ * @returns the text for the file or the empty string
16
+ */
17
+ export function generateClientFactory(pkg, target, options) {
10
18
  // generate client factory only for ARM
11
- if (codeModel.type !== 'azure-arm' || codeModel.clients.length === 0) {
19
+ if (target !== 'azure-arm' || pkg.clients.length === 0) {
12
20
  return '';
13
21
  }
14
22
  let result = '';
15
23
  // the list of packages to import
16
24
  const imports = new ImportManager();
17
25
  let clientFactoryParams;
18
- if (codeModel.options.factoryGatherAllParams) {
19
- clientFactoryParams = helpers.getAllClientParameters(codeModel);
26
+ if (options.factoryGatherAllParams) {
27
+ clientFactoryParams = helpers.getAllClientParameters(pkg, target);
20
28
  }
21
29
  else {
22
- clientFactoryParams = helpers.getCommonClientParameters(codeModel);
30
+ clientFactoryParams = helpers.getCommonClientParameters(pkg, target);
23
31
  }
24
32
  const clientFactoryParamsMap = new Map();
25
33
  for (const param of clientFactoryParams) {
@@ -65,7 +73,7 @@ export async function generateClientFactory(codeModel) {
65
73
  result += '\t}, nil\n';
66
74
  result += '}\n\n';
67
75
  // add new sub client method for all operation groups
68
- for (const client of codeModel.clients) {
76
+ for (const client of pkg.clients) {
69
77
  const clientPrivateParams = new Array();
70
78
  const clientCommonParams = new Array();
71
79
  if (client.instance?.kind === 'constructable') {
@@ -108,7 +116,7 @@ export async function generateClientFactory(codeModel) {
108
116
  result += '\t}\n';
109
117
  result += '}\n\n';
110
118
  }
111
- result = helpers.contentPreamble(codeModel) + imports.text() + result;
119
+ result = helpers.contentPreamble(helpers.getPackageName(pkg)) + imports.text() + result;
112
120
  return result;
113
121
  }
114
122
  //# sourceMappingURL=clientFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientFactory.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/clientFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * generates the contents for the cloud_config.go file.
4
+ * if cloud config info isn't required, the empty string is returned.
5
+ *
6
+ * @param module the module for which to generate the file
7
+ * @param target the codegen target for the module
8
+ * @returns the text for the file or the empty string
9
+ */
10
+ export declare function generateCloudConfig(module: go.Module, target: go.CodeModelType): string;
11
+ //# sourceMappingURL=cloudConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudConfig.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/cloudConfig.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,GAAG,MAAM,CAsDvF"}
@@ -7,17 +7,18 @@ import * as helpers from './helpers.js';
7
7
  * generates the contents for the cloud_config.go file.
8
8
  * if cloud config info isn't required, the empty string is returned.
9
9
  *
10
- * @param codeModel the code model for which to generate the file
10
+ * @param module the module for which to generate the file
11
+ * @param target the codegen target for the module
11
12
  * @returns the text for the file or the empty string
12
13
  */
13
- export function generateCloudConfig(codeModel) {
14
- if (codeModel.type === 'azure-arm') {
14
+ export function generateCloudConfig(module, target) {
15
+ if (target === 'azure-arm') {
15
16
  // this is handled in azcore
16
17
  return '';
17
18
  }
18
19
  // check if this SDK uses token auth
19
20
  let tokenCred;
20
- for (const client of codeModel.clients) {
21
+ for (const client of module.clients) {
21
22
  if (client.instance?.kind !== 'constructable') {
22
23
  continue;
23
24
  }
@@ -40,19 +41,10 @@ export function generateCloudConfig(codeModel) {
40
41
  // cloud config is only required for token auth
41
42
  return '';
42
43
  }
43
- let cloudConfig = helpers.contentPreamble(codeModel);
44
+ let cloudConfig = helpers.contentPreamble(helpers.getPackageName(module));
44
45
  cloudConfig += 'import "github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud"\n\n';
45
46
  cloudConfig += '// ServiceName is the [cloud.ServiceName] for this module, used to identify the respective [cloud.ServiceConfiguration].\n';
46
- let serviceName;
47
- if (codeModel.options.module) {
48
- serviceName = codeModel.options.module;
49
- }
50
- else if (codeModel.options.containingModule) {
51
- serviceName = `${codeModel.options.containingModule}/${codeModel.packageName}`;
52
- }
53
- else {
54
- throw new Error('unreachable');
55
- }
47
+ let serviceName = module.identity;
56
48
  const azureSdkPrefix = 'github.com/Azure/azure-sdk-for-go/sdk/';
57
49
  if (serviceName.startsWith(azureSdkPrefix)) {
58
50
  serviceName = serviceName.substring(azureSdkPrefix.length);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloudConfig.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/cloudConfig.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAwB;IAC7E,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,4BAA4B;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oCAAoC;IACpC,IAAI,SAAyC,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACvD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC9E,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;oBACvB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,+CAA+C;QAC/C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,WAAW,IAAI,iEAAiE,CAAC;IAEjF,WAAW,IAAI,4HAA4H,CAAC;IAE5I,IAAI,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,MAAM,cAAc,GAAG,wCAAwC,CAAC;IAChE,IAAI,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3C,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,WAAW,IAAI,0CAA0C,WAAW,OAAO,CAAC;IAE5E,mFAAmF;IACnF,WAAW,IAAI,iBAAiB,CAAC;IACjC,WAAW,IAAI,yEAAyE,CAAC;IACzF,8EAA8E;IAC9E,WAAW,IAAI,kBAAkB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC;IACxF,WAAW,IAAI,OAAO,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC;IAEvB,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * Creates the content for the constants.go file.
4
+ *
5
+ * @param pkg contains the package content
6
+ * @returns the text for the file or the empty string
7
+ */
8
+ export declare function generateConstants(pkg: go.PackageContent): string;
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/constants.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,GAAG,MAAM,CAgChE"}
@@ -4,13 +4,18 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { values } from '@azure-tools/linq';
6
6
  import * as helpers from './helpers.js';
7
- // Creates the content in constants.go
8
- export async function generateConstants(codeModel) {
9
- if (codeModel.constants.length === 0) {
7
+ /**
8
+ * Creates the content for the constants.go file.
9
+ *
10
+ * @param pkg contains the package content
11
+ * @returns the text for the file or the empty string
12
+ */
13
+ export function generateConstants(pkg) {
14
+ if (pkg.constants.length === 0) {
10
15
  return '';
11
16
  }
12
- let text = helpers.contentPreamble(codeModel);
13
- for (const enm of values(codeModel.constants)) {
17
+ let text = helpers.contentPreamble(helpers.getPackageName(pkg));
18
+ for (const enm of values(pkg.constants)) {
14
19
  text += helpers.formatDocCommentWithPrefix(enm.name, enm.docs);
15
20
  text += `type ${enm.name} ${enm.type}\n\n`;
16
21
  const vals = new Array();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/constants.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAGxC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAsB;IACtD,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAEhE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,IAAI,IAAI,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,IAAI,QAAQ,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,KAAK,EAAU,CAAC;QACjC,IAAI,IAAI,WAAW,CAAC;QACpB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,OAAO,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,WAAW,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,MAAM,WAAW,IAAI,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,OAAO,CAAC;QAChB,IAAI,IAAI,MAAM,GAAG,CAAC,cAAc,wCAAwC,GAAG,CAAC,IAAI,gBAAgB,CAAC;QACjG,IAAI,IAAI,QAAQ,GAAG,CAAC,cAAc,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC;QACzD,IAAI,IAAI,cAAc,GAAG,CAAC,IAAI,OAAO,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,OAAO,CAAC;QAChB,IAAI,IAAI,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ErrorCode } from "../../codemodel.go/src/errors.js";
1
+ import { ErrorCode } from "../../../codemodel.go/src/errors.js";
2
2
  /**
3
3
  * CodegenError is thrown when the emitter fails some condition
4
4
  * in order to generate a part of the code model.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/errors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;gBAEb,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;CAI7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/errors.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAI/F;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAY;IAEzB,YAAY,IAAe,EAAE,OAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ export declare class ExampleContent {
3
+ readonly name: string;
4
+ readonly content: string;
5
+ constructor(name: string, content: string);
6
+ }
7
+ /**
8
+ * Creates the content for all the *_example_test.go files.
9
+ *
10
+ * @param pkg contains the package content
11
+ * @param target the codegen target for the module
12
+ * @param options the emitter options
13
+ * @returns the text for the files or the empty string
14
+ */
15
+ export declare function generateExamples(pkg: go.PackageContent, target: go.CodeModelType, options: go.Options): Array<ExampleContent>;
16
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/example.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAOzD,qBAAa,cAAc;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,CA+M7H"}
@@ -3,7 +3,7 @@
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { camelCase, capitalize } from '@azure-tools/codegen';
6
- import * as go from '../../codemodel.go/src/index.js';
6
+ import * as go from '../../../codemodel.go/src/index.js';
7
7
  import * as helpers from './helpers.js';
8
8
  import { ImportManager } from './imports.js';
9
9
  import { fixUpMethodName } from './operations.js';
@@ -17,15 +17,22 @@ export class ExampleContent {
17
17
  this.content = content;
18
18
  }
19
19
  }
20
- // Creates the content for all <example>.go files
21
- export async function generateExamples(codeModel) {
20
+ /**
21
+ * Creates the content for all the *_example_test.go files.
22
+ *
23
+ * @param pkg contains the package content
24
+ * @param target the codegen target for the module
25
+ * @param options the emitter options
26
+ * @returns the text for the files or the empty string
27
+ */
28
+ export function generateExamples(pkg, target, options) {
22
29
  // generate examples
23
30
  const examples = new Array();
24
- if (codeModel.clients.length === 0) {
31
+ if (pkg.clients.length === 0) {
25
32
  return examples;
26
33
  }
27
- const azureARM = codeModel.type === 'azure-arm';
28
- for (const client of codeModel.clients) {
34
+ const azureARM = target === 'azure-arm';
35
+ for (const client of pkg.clients) {
29
36
  // client must be constructable to create a sample
30
37
  if (client.instance?.kind != 'constructable') {
31
38
  continue;
@@ -38,19 +45,20 @@ export async function generateExamples(codeModel) {
38
45
  imports.add('context');
39
46
  imports.add('log');
40
47
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azidentity');
41
- imports.add(codeModel.options.module);
48
+ imports.addForPkg(pkg);
42
49
  }
43
50
  let clientFactoryParams = new Array();
44
- if (codeModel.options.factoryGatherAllParams) {
45
- clientFactoryParams = helpers.getAllClientParameters(codeModel);
51
+ if (options.factoryGatherAllParams) {
52
+ clientFactoryParams = helpers.getAllClientParameters(pkg, target);
46
53
  }
47
54
  else {
48
- clientFactoryParams = helpers.getCommonClientParameters(codeModel);
55
+ clientFactoryParams = helpers.getCommonClientParameters(pkg, target);
49
56
  }
50
57
  const clientFactoryParamsMap = new Map();
51
58
  for (const param of clientFactoryParams) {
52
59
  clientFactoryParamsMap.set(param.name, param);
53
60
  }
61
+ const pkgName = helpers.getPackageName(pkg);
54
62
  let exampleText = '';
55
63
  for (const method of client.methods) {
56
64
  if (method.examples.length === 0)
@@ -91,7 +99,7 @@ export async function generateExamples(codeModel) {
91
99
  clientFactoryParamsExample.push({ parameter: clientParam, value: generateFakeExample(clientParam.type, clientParam.name) });
92
100
  }
93
101
  }
94
- exampleText += `\tclientFactory, err := ${codeModel.packageName}.NewClientFactory(${clientFactoryParamsExample.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue)).join(', ')}, nil)\n`;
102
+ exampleText += `\tclientFactory, err := ${pkgName}.NewClientFactory(${clientFactoryParamsExample.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue)).join(', ')}, nil)\n`;
95
103
  exampleText += `\tif err != nil {\n`;
96
104
  exampleText += `\t\tlog.Fatalf("failed to create client: %v", err)\n`;
97
105
  exampleText += `\t}\n`;
@@ -103,12 +111,12 @@ export async function generateExamples(codeModel) {
103
111
  }
104
112
  }
105
113
  if (clientPrivateParameters.length > 0) {
106
- clientRef += `${clientPrivateParameters.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}`;
114
+ clientRef += `${clientPrivateParameters.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}`;
107
115
  }
108
116
  clientRef += `)`;
109
117
  }
110
118
  else {
111
- exampleText += `\tclient, err := ${codeModel.packageName}.${client.instance.constructors[0].name}(${clientParameters.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}, cred, nil)\n`;
119
+ exampleText += `\tclient, err := ${pkgName}.${client.instance.constructors[0].name}(${clientParameters.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}, cred, nil)\n`;
112
120
  exampleText += `\tif err != nil {\n`;
113
121
  exampleText += `\t\tlog.Fatalf("failed to create client: %v", err)\n`;
114
122
  exampleText += `\t}\n`;
@@ -122,20 +130,24 @@ export async function generateExamples(codeModel) {
122
130
  if (methodParam) {
123
131
  methodParameters.push(methodParam);
124
132
  }
133
+ else if (go.isRequiredParameter(param.style)) {
134
+ // if the parameter is required but lacks example value, generate a fake example
135
+ methodParameters.push({ parameter: param, value: generateFakeExample(param.type, param.name) });
136
+ }
125
137
  }
126
138
  }
127
139
  const methodOptionalParameters = example.optionalParamsGroup.filter(p => p.parameter.location === 'method');
128
140
  const checkResponse = example.responseEnvelope !== undefined;
129
141
  let methodOptionalParametersText = 'nil';
130
142
  if (methodOptionalParameters.length > 0) {
131
- methodOptionalParametersText = `&${codeModel.packageName}.${method.optionalParamsGroup.groupName}{\n`;
132
- methodOptionalParametersText += methodOptionalParameters.map(p => `${capitalize(p.parameter.name)}: ${getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)}`).join(',\n');
143
+ methodOptionalParametersText = `&${pkgName}.${method.optionalParamsGroup.groupName}{\n`;
144
+ methodOptionalParametersText += methodOptionalParameters.map(p => `${capitalize(p.parameter.name)}: ${getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)}`).join(',\n');
133
145
  methodOptionalParametersText += `}`;
134
146
  }
135
147
  switch (method.kind) {
136
148
  case 'lroMethod':
137
149
  case 'lroPageableMethod':
138
- exampleText += `\tpoller, err := ${clientRef}.${fixUpMethodName(method)}(ctx, ${methodParameters.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
150
+ exampleText += `\tpoller, err := ${clientRef}.${fixUpMethodName(method)}(ctx, ${methodParameters.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
139
151
  exampleText += `\tif err != nil {\n`;
140
152
  exampleText += `\t\tlog.Fatalf("failed to finish the request: %v", err)\n`;
141
153
  exampleText += `\t}\n`;
@@ -145,13 +157,13 @@ export async function generateExamples(codeModel) {
145
157
  exampleText += `\t}\n`;
146
158
  break;
147
159
  case 'method':
148
- exampleText += `\t${checkResponse ? 'res' : '_'}, err ${checkResponse ? ':=' : '='} ${clientRef}.${fixUpMethodName(method)}(ctx, ${methodParameters.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
160
+ exampleText += `\t${checkResponse ? 'res' : '_'}, err ${checkResponse ? ':=' : '='} ${clientRef}.${fixUpMethodName(method)}(ctx, ${methodParameters.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
149
161
  exampleText += `\tif err != nil {\n`;
150
162
  exampleText += `\t\tlog.Fatalf("failed to finish the request: %v", err)\n`;
151
163
  exampleText += `\t}\n`;
152
164
  break;
153
165
  case 'pageableMethod':
154
- exampleText += `\tpager := ${clientRef}.${fixUpMethodName(method)}(${methodParameters.map(p => getExampleValue(codeModel, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
166
+ exampleText += `\tpager := ${clientRef}.${fixUpMethodName(method)}(${methodParameters.map(p => getExampleValue(pkg, p.value, '\t', imports, p.parameter.byValue).slice(1)).join(', ')}${methodParameters.length > 0 ? ', ' : ''}${methodOptionalParametersText.split('\n').join('\n\t')})\n`;
155
167
  break;
156
168
  default:
157
169
  method;
@@ -173,11 +185,11 @@ export async function generateExamples(codeModel) {
173
185
  exampleText += `\t\t\t_ = v\n`;
174
186
  exampleText += `\t\t}\n`;
175
187
  exampleText += `\t\t// 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`;
176
- exampleText += `\t\t// page = ${codeModel.packageName}.${example.responseEnvelope?.response.name}{\n`;
188
+ exampleText += `\t\t// page = ${pkgName}.${example.responseEnvelope?.response.name}{\n`;
177
189
  for (const header of example.responseEnvelope?.headers ?? []) {
178
- exampleText += `\t\t// \t${header.header.fieldName}: ${getExampleValue(codeModel, header.value, '', undefined, true).split('\n').join('\n\t\t// \t')}\n`;
190
+ exampleText += `\t\t// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, '', undefined, true).split('\n').join('\n\t\t// \t')}\n`;
179
191
  }
180
- exampleText += `\t\t// \t${(example.responseEnvelope?.result.type).name}: ${getExampleValue(codeModel, example.responseEnvelope?.result, '', undefined, true).split('\n').join('\n\t\t// \t')},\n`;
192
+ exampleText += `\t\t// \t${(example.responseEnvelope?.result.type).name}: ${getExampleValue(pkg, example.responseEnvelope?.result, '', undefined, true).split('\n').join('\n\t\t// \t')},\n`;
181
193
  exampleText += '\t\t// }\n';
182
194
  exampleText += `\t}\n`;
183
195
  }
@@ -187,12 +199,12 @@ export async function generateExamples(codeModel) {
187
199
  exampleText += `\t// You could use response here. We use blank identifier for just demo purposes.\n`;
188
200
  exampleText += `\t_ = res\n`;
189
201
  exampleText += `\t// 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`;
190
- exampleText += `\t// res = ${codeModel.packageName}.${example.responseEnvelope?.response.name}{\n`;
202
+ exampleText += `\t// res = ${pkgName}.${example.responseEnvelope?.response.name}{\n`;
191
203
  for (const header of example.responseEnvelope?.headers ?? []) {
192
- exampleText += `\t// \t${header.header.fieldName}: ${getExampleValue(codeModel, header.value, '', undefined, true).split('\n').join('\n\t// \t')}\n`;
204
+ exampleText += `\t// \t${header.header.fieldName}: ${getExampleValue(pkg, header.value, '', undefined, true).split('\n').join('\n\t// \t')}\n`;
193
205
  }
194
206
  if (example.responseEnvelope?.result) {
195
- exampleText += `\t// \t${fieldName ? fieldName : (example.responseEnvelope?.result.type).name}: ${getExampleValue(codeModel, example.responseEnvelope.result, '').split('\n').join('\n\t// \t')},\n`;
207
+ exampleText += `\t// \t${fieldName ? fieldName : (example.responseEnvelope?.result.type).name}: ${getExampleValue(pkg, example.responseEnvelope.result, '').split('\n').join('\n\t// \t')},\n`;
196
208
  }
197
209
  exampleText += '\t// }\n';
198
210
  }
@@ -203,19 +215,20 @@ export async function generateExamples(codeModel) {
203
215
  if (exampleText === '')
204
216
  continue;
205
217
  // stitch it all together
206
- let text = helpers.contentPreamble(codeModel, true, codeModel.packageName + '_test');
218
+ let text = helpers.contentPreamble(pkgName + '_test');
207
219
  text += imports.text();
208
220
  text += exampleText;
209
221
  examples.push(new ExampleContent(client.name, text));
210
222
  }
211
223
  return examples;
212
224
  }
213
- function getExampleValue(codeModel, example, indent, imports, byValue = false, inArray = false) {
225
+ function getExampleValue(src, example, indent, imports, byValue = false, inArray = false) {
226
+ const pkgName = helpers.getPackageName(src);
214
227
  switch (example.kind) {
215
228
  case 'string': {
216
229
  let exampleText = `"${escapeString(example.value)}"`;
217
230
  if (example.type.kind === 'constant') {
218
- exampleText = getConstantValue(codeModel, example.type, example.value);
231
+ exampleText = getConstantValue(src, example.type, example.value);
219
232
  }
220
233
  else if (example.type.kind === 'time') {
221
234
  exampleText = getTimeValue(example.type, example.value, imports);
@@ -224,11 +237,11 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
224
237
  exampleText = `[]byte("${escapeString(example.value)}")`;
225
238
  }
226
239
  else if (example.type.kind === 'literal' && example.type.type.kind === 'constant') {
227
- exampleText = getConstantValue(codeModel, example.type.type, example.type.literal.value);
240
+ exampleText = getConstantValue(src, example.type.type, example.type.literal.value);
228
241
  }
229
242
  else if (example.type.kind === 'etag') {
230
243
  imports?.add(example.type.module);
231
- exampleText = `${go.getTypeDeclaration(example.type, codeModel.packageName)}("${escapeString(example.value)}")`;
244
+ exampleText = `${go.getTypeDeclaration(example.type, pkgName)}("${escapeString(example.value)}")`;
232
245
  }
233
246
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
234
247
  }
@@ -236,7 +249,7 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
236
249
  let exampleText = `${example.value}`;
237
250
  switch (example.type.kind) {
238
251
  case 'constant':
239
- exampleText = `${indent}${getConstantValue(codeModel, example.type, example.value)}`;
252
+ exampleText = `${indent}${getConstantValue(src, example.type, example.value)}`;
240
253
  break;
241
254
  case 'time':
242
255
  exampleText = getTimeValue(example.type, example.value, imports);
@@ -247,7 +260,7 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
247
260
  case 'boolean': {
248
261
  let exampleText = `${example.value}`;
249
262
  if (example.type.kind === 'constant') {
250
- exampleText = `${indent}${getConstantValue(codeModel, example.type, example.value)}`;
263
+ exampleText = `${indent}${getConstantValue(src, example.type, example.value)}`;
251
264
  }
252
265
  return `${indent}${getPointerValue(example.type, exampleText, byValue, imports)}`;
253
266
  }
@@ -260,26 +273,26 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
260
273
  // if polymorphic, need to add type name in array, so inArray will be set to false
261
274
  // if other case, no need to add type name in array, so inArray will be set to true
262
275
  const isElementPolymorphic = example.type.elementType.kind === 'interface';
263
- let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, codeModel.packageName)}{\n`;
276
+ let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkgName)}{\n`;
264
277
  for (const element of example.value) {
265
- exampleText += `${getExampleValue(codeModel, element, indent + '\t', imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
278
+ exampleText += `${getExampleValue(src, element, indent + '\t', imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
266
279
  }
267
280
  exampleText += `${indent}}`;
268
281
  return exampleText;
269
282
  }
270
283
  case 'dictionary': {
271
- let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, codeModel.packageName)}{\n`;
284
+ let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkgName)}{\n`;
272
285
  const isValueByValue = example.type.valueTypeByValue;
273
286
  const isValuePolymorphic = example.type.valueType.kind === 'interface';
274
287
  for (const key in example.value) {
275
- exampleText += `${indent}\t"${key}": ${getExampleValue(codeModel, example.value[key], indent + '\t', imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
288
+ exampleText += `${indent}\t"${key}": ${getExampleValue(src, example.value[key], indent + '\t', imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
276
289
  }
277
290
  exampleText += `${indent}}`;
278
291
  return exampleText;
279
292
  }
280
293
  case 'model': {
281
294
  const isModelPolymorphic = example.type.kind === 'polymorphicModel';
282
- let exampleText = `${indent}${getRef(byValue && !isModelPolymorphic)}${go.getTypeDeclaration(example.type, codeModel.packageName)}{\n`;
295
+ let exampleText = `${indent}${getRef(byValue && !isModelPolymorphic)}${go.getTypeDeclaration(example.type, pkgName)}{\n`;
283
296
  if (inArray) {
284
297
  exampleText = `${indent}{\n`;
285
298
  }
@@ -287,7 +300,7 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
287
300
  const goField = example.type.fields.find(f => f.name === field);
288
301
  const isFieldByValue = goField.byValue ?? false;
289
302
  const isFieldPolymorphic = goField.type.kind === 'interface';
290
- exampleText += `${indent}\t${field}: ${getExampleValue(codeModel, example.value[field], indent + '\t', imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
303
+ exampleText += `${indent}\t${field}: ${getExampleValue(src, example.value[field], indent + '\t', imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
291
304
  }
292
305
  if (example.additionalProperties) {
293
306
  const additionalPropertiesField = example.type.fields.find(f => f.annotations.isAdditionalProperties);
@@ -296,9 +309,9 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
296
309
  }
297
310
  const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.valueTypeByValue ?? false;
298
311
  const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === 'interface';
299
- exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, codeModel.packageName)}{\n`;
312
+ exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, pkgName)}{\n`;
300
313
  for (const key in example.additionalProperties) {
301
- exampleText += `${indent}\t"${key}": ${getExampleValue(codeModel, example.additionalProperties[key], indent + '\t', imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
314
+ exampleText += `${indent}\t"${key}": ${getExampleValue(src, example.additionalProperties[key], indent + '\t', imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
302
315
  }
303
316
  exampleText += `${indent}},\n`;
304
317
  }
@@ -312,17 +325,17 @@ function getExampleValue(codeModel, example, indent, imports, byValue = false, i
312
325
  function getRef(byValue) {
313
326
  return byValue ? '' : '&';
314
327
  }
315
- function getConstantValue(codeModel, type, value) {
328
+ function getConstantValue(src, type, value) {
316
329
  for (const constantValue of type.values) {
317
330
  if (constantValue.value === value) {
318
- return `${codeModel.packageName}.${constantValue.name}`;
331
+ return `${helpers.getPackageName(src)}.${constantValue.name}`;
319
332
  }
320
333
  }
321
334
  switch (type.type) {
322
335
  case 'string':
323
- return `${codeModel.packageName}.${type.name}("${value}")`;
336
+ return `${helpers.getPackageName(src)}.${type.name}("${value}")`;
324
337
  default:
325
- return `${codeModel.packageName}.${type.name}(${value})`;
338
+ return `${helpers.getPackageName(src)}.${type.name}(${value})`;
326
339
  }
327
340
  }
328
341
  function getTimeValue(type, value, imports) {
@@ -451,6 +464,26 @@ function generateFakeExample(goType, name) {
451
464
  case 'tokenCredential':
452
465
  // we hard code the credential var name to cred
453
466
  return new go.TokenCredentialExample('cred');
467
+ case 'encodedBytes':
468
+ return new go.StringExample(`<${name ?? 'test'}>`, goType);
469
+ case 'time':
470
+ // use a placeholder date value for time types
471
+ return new go.StringExample('2006-01-02T15:04:05Z', goType);
472
+ case 'etag':
473
+ return new go.StringExample(`<${name ?? 'etag'}>`, goType);
474
+ case 'model':
475
+ case 'polymorphicModel':
476
+ // return an empty struct example for model types
477
+ return new go.StructExample(goType);
478
+ case 'slice':
479
+ // return an empty array example for slice types
480
+ return new go.ArrayExample(goType);
481
+ case 'map':
482
+ // return an empty map example for map types
483
+ return new go.DictionaryExample(goType);
484
+ case 'interface':
485
+ // for interface types, use the root type (which is a PolymorphicModel) to create an example
486
+ return new go.StructExample(goType.rootType);
454
487
  default:
455
488
  throw new CodegenError('InternalError', `unhandled fake example kind ${goType.kind}`);
456
489
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * Creates the content for the go.mod file.
4
+ * If there's a preexisting go.mod file, update its specified version of azcore as needed.
5
+ *
6
+ * @param module the module for which to generate version.go
7
+ * @param options the emitter options
8
+ * @param existingGoMod preexisting go.mod file content
9
+ * @returns the contents for the go.mod file
10
+ */
11
+ export declare function generateGoModFile(module: go.Module, options: go.Options, existingGoMod?: string): string;
12
+ //# sourceMappingURL=gomod.d.ts.map