@azure-tools/typespec-go 0.8.5 → 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} +77 -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} +15 -12
  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 +32 -168
  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 +95 -26
  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 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gomod.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/gomod.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAIzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CA4CxG"}
@@ -4,30 +4,33 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  import { lt, toSemver } from '@azure-tools/codegen';
6
6
  import { CodegenError } from './errors.js';
7
- // Creates the content in go.mod if the --module switch was specified.
8
- // if there's a preexisting go.mod file, update its specified version of azcore as needed.
9
- export async function generateGoModFile(codeModel, existingGoMod) {
10
- if (!codeModel.options.module) {
11
- // must be containing-module, so we're emitting a package into a module that already has a go.mod
12
- return '';
13
- }
14
- const modName = codeModel.options.module;
7
+ /**
8
+ * Creates the content for the go.mod file.
9
+ * If there's a preexisting go.mod file, update its specified version of azcore as needed.
10
+ *
11
+ * @param module the module for which to generate version.go
12
+ * @param options the emitter options
13
+ * @param existingGoMod preexisting go.mod file content
14
+ * @returns the contents for the go.mod file
15
+ */
16
+ export function generateGoModFile(module, options, existingGoMod) {
17
+ const modName = module.identity;
15
18
  // here we specify the minimum version of azcore as required by the code generator.
16
19
  // the version can be overwritten by passing the --azcore-version switch during generation.
17
20
  let version = '1.20.0';
18
- if (codeModel.options.azcoreVersion) {
21
+ if (options.azcoreVersion) {
19
22
  // when matching versions, we need to handle beta, non-beta, and pseudo versions
20
23
  // 1.2.3-beta.1, 1.2.3, 0.22.1-0.20220315231014-ed309e73db6b
21
- if (!codeModel.options.azcoreVersion.match(/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?$/)) {
24
+ if (!options.azcoreVersion.match(/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?$/)) {
22
25
  throw new CodegenError('InvalidArgument', `azcore version ${version} must be in the format major.minor.patch[-beta.N]`);
23
26
  }
24
- version = codeModel.options.azcoreVersion;
27
+ version = options.azcoreVersion;
25
28
  }
26
29
  const azcore = 'github.com/Azure/azure-sdk-for-go/sdk/azcore v' + version;
27
30
  if (!existingGoMod) {
28
31
  // no preexisting go.mod file, generate the default one
29
32
  let text = `module ${modName}\n\n`;
30
- text += 'go 1.23.0\n\n';
33
+ text += 'go 1.24.0\n\n';
31
34
  text += `require ${azcore}\n`;
32
35
  return text;
33
36
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gomod.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/gomod.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,OAAmB,EAAE,aAAsB;IAC9F,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEhC,mFAAmF;IACnF,2FAA2F;IAC3F,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,gFAAgF;QAChF,4DAA4D;QAC5D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,sCAAsC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,OAAO,mDAAmD,CAAC,CAAC;QAC1H,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,gDAAgD,GAAG,OAAO,CAAC;IAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,uDAAuD;QACvD,IAAI,IAAI,GAAG,UAAU,OAAO,MAAM,CAAC;QACnC,IAAI,IAAI,eAAe,CAAC;QACxB,IAAI,IAAI,WAAW,MAAM,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,CAAC,EAAE,CAAC;QAC/C,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,6FAA6F;IAC7F,mFAAmF;IACnF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/H,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,0CAA0C,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;YAClC,iFAAiF;YACjF,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,yFAAyF,EAAE,MAAM,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import * as go from '../../codemodel.go/src/index.js';
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
2
  import { ImportManager } from './imports.js';
3
3
  export declare const commentLength = 120;
4
4
  export declare const dateFormat = "2006-01-02";
@@ -6,15 +6,20 @@ export declare const datetimeRFC3339Format = "time.RFC3339Nano";
6
6
  export declare const datetimeRFC1123Format = "time.RFC1123";
7
7
  export declare const timeRFC3339Format = "15:04:05.999999999Z07:00";
8
8
  export declare const doNotEditRegex: RegExp;
9
+ /**
10
+ * sets the specified content to use as the header text comment per file.
11
+ *
12
+ * @param headerText the custom header text to use
13
+ */
14
+ export declare function setCustomHeaderText(headerText: string): void;
9
15
  /**
10
16
  * returns the common source-file preamble (license comment, package name etc)
11
17
  *
12
- * @param codeModel the code model being emitted
18
+ * @param packageName the name of the package to use in the package declaration
13
19
  * @param doNotEdit when false the 'DO NOT EDIT' clause is omitted
14
- * @param packageName overrides the package name in the code model
15
20
  * @returns the source file preamble
16
21
  */
17
- export declare function contentPreamble(codeModel: go.CodeModel, doNotEdit?: boolean, packageName?: string): string;
22
+ export declare function contentPreamble(packageName: string, doNotEdit?: boolean): string;
18
23
  export declare function sortAscending(a: string, b: string): number;
19
24
  /**
20
25
  * returns the parameter's type definition with a possible '*' prefix
@@ -50,7 +55,6 @@ export declare function formatStatusCode(statusCode: number): string;
50
55
  export declare function formatCommentAsBulletItem(prefix: string, docs: go.Docs): string;
51
56
  export declare function formatDocCommentWithPrefix(prefix: string, docs: go.Docs): string;
52
57
  export declare function formatDocComment(docs: go.Docs): string;
53
- export declare function getParentImport(codeModel: go.CodeModel): string;
54
58
  export declare function getBitSizeForNumber(intSize: 'float32' | 'float64' | 'int8' | 'int16' | 'int32' | 'int64'): string;
55
59
  export declare function recursiveUnwrapMapSlice(item: go.WireType): go.WireType;
56
60
  /**
@@ -68,9 +72,9 @@ export declare function star(byValue: boolean): string;
68
72
  */
69
73
  export declare function zeroValue(param: go.MethodParameter): string;
70
74
  export type SerDeFormat = 'JSON' | 'XML';
71
- export declare function getSerDeFormat(model: go.Model | go.PolymorphicModel, codeModel: go.CodeModel): SerDeFormat;
72
- export declare function getAllClientParameters(codeModel: go.CodeModel): Array<go.ClientParameter>;
73
- export declare function getCommonClientParameters(codeModel: go.CodeModel): Array<go.ClientParameter>;
75
+ export declare function getSerDeFormat(model: go.Model | go.PolymorphicModel, pkg: go.PackageContent): SerDeFormat;
76
+ export declare function getAllClientParameters(pkg: go.PackageContent, target: go.CodeModelType): Array<go.ClientParameter>;
77
+ export declare function getCommonClientParameters(pkg: go.PackageContent, target: go.CodeModelType): Array<go.ClientParameter>;
74
78
  /**
75
79
  * groups method parameters based on their kind.
76
80
  * note that the body param kinds are mutually exclusive.
@@ -166,4 +170,13 @@ export declare function splitScope(scope: string): {
166
170
  };
167
171
  /** returns true if the specified method is internal */
168
172
  export declare function isMethodInternal(method: go.MethodType): boolean;
173
+ /**
174
+ * returns the package name for the specified input.
175
+ * for module github.com/contoso/module, 'module' is returned.
176
+ * any major version suffix on the module is removed.
177
+ *
178
+ * @param pkg is the package source
179
+ * @returns the package name for pkg
180
+ */
181
+ export declare function getPackageName(pkg: go.PackageContent): string;
169
182
  //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/helpers.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
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 path from 'path';
6
+ import * as go from '../../../codemodel.go/src/index.js';
6
7
  import { values } from '@azure-tools/linq';
7
8
  import { capitalize, comment, uncapitalize } from '@azure-tools/codegen';
8
9
  import { CodegenError } from './errors.js';
@@ -13,19 +14,27 @@ export const datetimeRFC3339Format = 'time.RFC3339Nano';
13
14
  export const datetimeRFC1123Format = 'time.RFC1123';
14
15
  export const timeRFC3339Format = '15:04:05.999999999Z07:00';
15
16
  export const doNotEditRegex = /^\/\/ Code generated .* DO NOT EDIT\.$/m;
17
+ const defaultHeaderText = `Copyright (c) Microsoft Corporation. All rights reserved.
18
+ Licensed under the MIT License. See License.txt in the project root for license information.
19
+ Code generated by Microsoft (R) Go Code Generator.`;
20
+ let overrideHeaderText;
21
+ /**
22
+ * sets the specified content to use as the header text comment per file.
23
+ *
24
+ * @param headerText the custom header text to use
25
+ */
26
+ export function setCustomHeaderText(headerText) {
27
+ overrideHeaderText = headerText;
28
+ }
16
29
  /**
17
30
  * returns the common source-file preamble (license comment, package name etc)
18
31
  *
19
- * @param codeModel the code model being emitted
32
+ * @param packageName the name of the package to use in the package declaration
20
33
  * @param doNotEdit when false the 'DO NOT EDIT' clause is omitted
21
- * @param packageName overrides the package name in the code model
22
34
  * @returns the source file preamble
23
35
  */
24
- export function contentPreamble(codeModel, doNotEdit = true, packageName) {
25
- if (!packageName) {
26
- packageName = codeModel.packageName;
27
- }
28
- const headerText = comment(codeModel.options.headerText, '// ');
36
+ export function contentPreamble(packageName, doNotEdit = true) {
37
+ const headerText = comment(overrideHeaderText ?? defaultHeaderText, '// ');
29
38
  let text = headerText;
30
39
  if (doNotEdit) {
31
40
  // ensure tools recognize the file as generated according to
@@ -635,18 +644,6 @@ export function formatDocComment(docs) {
635
644
  }
636
645
  return docComment;
637
646
  }
638
- export function getParentImport(codeModel) {
639
- const clientPkg = codeModel.packageName;
640
- if (codeModel.options.module) {
641
- return codeModel.options.module;
642
- }
643
- else if (codeModel.options.containingModule) {
644
- return codeModel.options.containingModule + '/' + clientPkg;
645
- }
646
- else {
647
- throw new CodegenError('InvalidArgument', 'unable to determine containing module for fakes. specify either the module or containing-module switch');
648
- }
649
- }
650
647
  export function getBitSizeForNumber(intSize) {
651
648
  switch (intSize) {
652
649
  case 'int8':
@@ -706,13 +703,13 @@ export function zeroValue(param) {
706
703
  const serDeFormatCache = new Map();
707
704
  // returns the wire format for the named model.
708
705
  // at present this assumes the formats to be mutually exclusive.
709
- export function getSerDeFormat(model, codeModel) {
706
+ export function getSerDeFormat(model, pkg) {
710
707
  let serDeFormat = serDeFormatCache.get(model.name);
711
708
  if (serDeFormat) {
712
709
  return serDeFormat;
713
710
  }
714
711
  // for model-only builds we assume the format to be JSON
715
- if (codeModel.clients.length === 0) {
712
+ if (pkg.clients.length === 0) {
716
713
  return 'JSON';
717
714
  }
718
715
  // recursively walks the fields in model, updating serDeFormatCache with the model name and specified format
@@ -740,7 +737,7 @@ export function getSerDeFormat(model, codeModel) {
740
737
  }
741
738
  };
742
739
  // walk the methods, indexing the model formats
743
- for (const client of codeModel.clients) {
740
+ for (const client of pkg.clients) {
744
741
  for (const method of client.methods) {
745
742
  for (const param of method.parameters) {
746
743
  if (param.kind !== 'bodyParam' || (param.bodyFormat !== 'JSON' && param.bodyFormat !== 'XML')) {
@@ -784,9 +781,9 @@ export function getSerDeFormat(model, codeModel) {
784
781
  return serDeFormat;
785
782
  }
786
783
  // return combined client parameters for all the clients
787
- export function getAllClientParameters(codeModel) {
784
+ export function getAllClientParameters(pkg, target) {
788
785
  const allClientParams = new Array();
789
- for (const client of codeModel.clients) {
786
+ for (const client of pkg.clients) {
790
787
  if (client.instance?.kind === 'constructable') {
791
788
  for (const ctor of client.instance.constructors) {
792
789
  for (const ctorParam of ctor.parameters) {
@@ -801,15 +798,15 @@ export function getAllClientParameters(codeModel) {
801
798
  }
802
799
  }
803
800
  }
804
- return sortClientParameters(allClientParams, codeModel.type);
801
+ return sortClientParameters(allClientParams, target);
805
802
  }
806
803
  // returns common client parameters for all the clients
807
- export function getCommonClientParameters(codeModel) {
804
+ export function getCommonClientParameters(pkg, target) {
808
805
  const paramCount = new Map();
809
806
  let numClients = 0; // track client count since we might skip some
810
- for (const client of codeModel.clients) {
807
+ for (const client of pkg.clients) {
811
808
  // special cases: some ARM clients always don't contain any parameters (OperationsClient will be depracated in the future)
812
- if (codeModel.type === 'azure-arm' && client.name.match(/^OperationsClient$/)) {
809
+ if (target === 'azure-arm' && client.name.match(/^OperationsClient$/)) {
813
810
  continue;
814
811
  }
815
812
  ++numClients;
@@ -837,7 +834,7 @@ export function getCommonClientParameters(codeModel) {
837
834
  commonClientParams.push(entry.param);
838
835
  }
839
836
  }
840
- return sortClientParameters(commonClientParams, codeModel.type);
837
+ return sortClientParameters(commonClientParams, target);
841
838
  }
842
839
  /**
843
840
  * enumerates method parameters and returns them based on kinds
@@ -997,4 +994,20 @@ export function splitScope(scope) {
997
994
  export function isMethodInternal(method) {
998
995
  return !!method.name.match(/^[a-z]{1}/);
999
996
  }
997
+ /**
998
+ * returns the package name for the specified input.
999
+ * for module github.com/contoso/module, 'module' is returned.
1000
+ * any major version suffix on the module is removed.
1001
+ *
1002
+ * @param pkg is the package source
1003
+ * @returns the package name for pkg
1004
+ */
1005
+ export function getPackageName(pkg) {
1006
+ switch (pkg.kind) {
1007
+ case 'module':
1008
+ return path.basename(pkg.identity.replace(/\/v\d+$/, ''));
1009
+ case 'package':
1010
+ return pkg.name;
1011
+ }
1012
+ }
1000
1013
  //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ export declare class ImportManager {
3
+ private imports;
4
+ constructor();
5
+ add(imp: string, alias?: string): void;
6
+ /**
7
+ * adds the specified package for importing if not already in the list.
8
+ * @param pkg the package to import
9
+ * @param alias optional package alias
10
+ */
11
+ addForPkg(pkg: go.PackageContent, alias?: string): void;
12
+ length(): number;
13
+ text(): string;
14
+ addImportForType(type: go.Type): void;
15
+ private alias;
16
+ }
17
+ //# sourceMappingURL=imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/imports.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAOzD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAqB;;IAQpC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAS/B;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBvD,MAAM,IAAI,MAAM;IAKhB,IAAI,IAAI,MAAM;IAgBd,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI;IAgB9B,OAAO,CAAC,KAAK;CAMd"}
@@ -20,6 +20,31 @@ export class ImportManager {
20
20
  }
21
21
  this.imports.push({ imp: imp, alias: alias });
22
22
  }
23
+ /**
24
+ * adds the specified package for importing if not already in the list.
25
+ * @param pkg the package to import
26
+ * @param alias optional package alias
27
+ */
28
+ addForPkg(pkg, alias) {
29
+ let pkgPath;
30
+ switch (pkg.kind) {
31
+ case 'module':
32
+ pkgPath = pkg.identity;
33
+ break;
34
+ case 'package': {
35
+ // build the full path to the package
36
+ pkgPath = pkg.name;
37
+ let cur = pkg.parent;
38
+ while (cur.kind === 'package') {
39
+ pkgPath = `${cur.name}/${pkgPath}`;
40
+ cur = cur.parent;
41
+ }
42
+ pkgPath = `${cur.identity}/${pkgPath}`;
43
+ break;
44
+ }
45
+ }
46
+ this.add(pkgPath, alias);
47
+ }
23
48
  // returns the number of packages in the list
24
49
  length() {
25
50
  return this.imports.length;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/imports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * Creates the content for the interfaces.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 generateInterfaces(pkg: go.PackageContent): string;
9
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/interfaces.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,GAAG,MAAM,CA6BjE"}
@@ -2,16 +2,22 @@
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 helpers from './helpers.js';
5
6
  import { comment } from '@azure-tools/codegen';
6
7
  import { contentPreamble, sortAscending } from './helpers.js';
7
- // Creates the content in interfaces.go
8
- export async function generateInterfaces(codeModel) {
9
- if (codeModel.interfaces.length === 0) {
8
+ /**
9
+ * Creates the content for the interfaces.go file.
10
+ *
11
+ * @param pkg contains the package content
12
+ * @returns the text for the file or the empty string
13
+ */
14
+ export function generateInterfaces(pkg) {
15
+ if (pkg.interfaces.length === 0) {
10
16
  // no polymorphic types
11
17
  return '';
12
18
  }
13
- let text = contentPreamble(codeModel);
14
- for (const iface of codeModel.interfaces) {
19
+ let text = contentPreamble(helpers.getPackageName(pkg));
20
+ for (const iface of pkg.interfaces) {
15
21
  const methodName = `Get${iface.rootType.name}`;
16
22
  text += `// ${iface.name} provides polymorphic access to related types.\n`;
17
23
  text += `// Call the interface's ${methodName}() method to access the common type.\n`;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/interfaces.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAsB;IACvD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,uBAAuB;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,IAAI,MAAM,KAAK,CAAC,IAAI,kDAAkD,CAAC;QAC3E,IAAI,IAAI,2BAA2B,UAAU,wCAAwC,CAAC;QACtF,IAAI,IAAI,iFAAiF,CAAC;QAC1F,MAAM,iBAAiB,GAAG,IAAI,KAAK,EAAU,CAAC;QAC9C,iBAAiB,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/C,iBAAiB,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,gBAAgB,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,QAAQ,UAAU,gBAAgB,KAAK,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC;QAClG,IAAI,IAAI,KAAK,UAAU,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACtD,IAAI,IAAI,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ /**
3
+ * returns the content for the LICENSE.txt file.
4
+ * NOTE: this is only required when emitting a module.
5
+ *
6
+ * @returns the contents for the LICENSE.txt file
7
+ */
8
+ export declare function generateLicenseTxt(options: go.Options): string;
9
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/license.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,MAAM,CAE9D"}
@@ -4,21 +4,12 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  /**
6
6
  * returns the content for the LICENSE.txt file.
7
- * if no file should be emitted, undefined is returned.
7
+ * NOTE: this is only required when emitting a module.
8
8
  *
9
- * @param codeModel the code model for which to generate LICENSE.txt
10
- * @returns the contents for the LICENSE.txt file or undefined
9
+ * @returns the contents for the LICENSE.txt file
11
10
  */
12
- export function generateLicenseTxt(codeModel) {
13
- if (codeModel.options.containingModule) {
14
- // we're emitting a subpackage into a module
15
- // so skip the license generation
16
- return undefined;
17
- }
18
- if (codeModel.options.licenseText) {
19
- return codeModel.options.licenseText;
20
- }
21
- return mitLicenseForMSFT;
11
+ export function generateLicenseTxt(options) {
12
+ return options.licenseText ?? mitLicenseForMSFT;
22
13
  }
23
14
  const mitLicenseForMSFT = `MIT License
24
15
 
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/license.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,OAAO,CAAC,WAAW,IAAI,iBAAiB,CAAC;AAClD,CAAC;AAED,MAAM,iBAAiB,GACvB;;;;;;;;;;;;;;;;;;;;;CAqBC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ export declare function generateMetadataFile(codeModel: go.CodeModel): string;
3
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAGpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../codegen.go/src/core/metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,wCAAwC;AACxC,MAAM,UAAU,oBAAoB,CAAC,SAAuB;IAC1D,mCAAmC;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as go from '../../../codemodel.go/src/index.js';
2
+ export interface ModelsSerDe {
3
+ models: string;
4
+ serDe: string;
5
+ }
6
+ /**
7
+ * Creates the content for the models.go file.
8
+ *
9
+ * @param pkg contains the package content
10
+ * @param options the emitter options
11
+ * @returns the text for the files or the empty string
12
+ */
13
+ export declare function generateModels(pkg: go.PackageContent, options: go.Options): ModelsSerDe;
14
+ export declare function getXMLSerialization(field: go.ModelField, isResponseEnvelope: boolean): string;
15
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../codegen.go/src/core/models.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAMzD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,GAAG,WAAW,CA+HvF;AAiuBD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,kBAAkB,EAAE,OAAO,GAAG,MAAM,CAiD7F"}
@@ -2,14 +2,20 @@
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 { capitalize, comment } from '@azure-tools/codegen';
7
7
  import { values } from '@azure-tools/linq';
8
8
  import * as helpers from './helpers.js';
9
9
  import { ImportManager } from './imports.js';
10
- // Creates the content in models.go
11
- export async function generateModels(codeModel) {
12
- if (codeModel.models.length === 0) {
10
+ /**
11
+ * Creates the content for the models.go file.
12
+ *
13
+ * @param pkg contains the package content
14
+ * @param options the emitter options
15
+ * @returns the text for the files or the empty string
16
+ */
17
+ export function generateModels(pkg, options) {
18
+ if (pkg.models.length === 0) {
13
19
  return {
14
20
  models: '',
15
21
  serDe: ''
@@ -18,9 +24,9 @@ export async function generateModels(codeModel) {
18
24
  // this list of packages to import
19
25
  const modelImports = new ImportManager();
20
26
  const serdeImports = new ImportManager();
21
- let modelText = helpers.contentPreamble(codeModel);
27
+ let modelText = helpers.contentPreamble(helpers.getPackageName(pkg));
22
28
  // we do model generation first as it can add imports to the imports list
23
- const modelDefs = generateModelDefs(modelImports, serdeImports, codeModel);
29
+ const modelDefs = generateModelDefs(modelImports, serdeImports, pkg, options);
24
30
  modelText += modelImports.text();
25
31
  // structs
26
32
  let needsJSONPopulate = false;
@@ -121,7 +127,7 @@ export async function generateModels(codeModel) {
121
127
  }
122
128
  let serdeText = '';
123
129
  if (serdeTextBody.length > 0) {
124
- serdeText = helpers.contentPreamble(codeModel);
130
+ serdeText = helpers.contentPreamble(helpers.getPackageName(pkg));
125
131
  serdeText += serdeImports.text();
126
132
  serdeText += serdeTextBody;
127
133
  }
@@ -130,8 +136,8 @@ export async function generateModels(codeModel) {
130
136
  serDe: serdeText
131
137
  };
132
138
  }
133
- function generateModelDefs(modelImports, serdeImports, codeModel) {
134
- const models = codeModel.models;
139
+ function generateModelDefs(modelImports, serdeImports, pkg, options) {
140
+ const models = pkg.models;
135
141
  const modelDefs = new Array();
136
142
  for (const model of models) {
137
143
  for (const field of model.fields) {
@@ -167,7 +173,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
167
173
  }
168
174
  field.docs.description = descriptionMods.join('; ');
169
175
  }
170
- const serDeFormat = helpers.getSerDeFormat(model, codeModel);
176
+ const serDeFormat = helpers.getSerDeFormat(model, pkg);
171
177
  const modelDef = new ModelDef(model.name, serDeFormat, model.fields, model.docs);
172
178
  for (const field of values(modelDef.Fields)) {
173
179
  modelImports.addImportForType(field.type);
@@ -211,7 +217,7 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
211
217
  }
212
218
  else if (!model.annotations.omitSerDeMethods) {
213
219
  generateJSONMarshaller(model, modelDef, serdeImports);
214
- generateJSONUnmarshaller(model, modelDef, serdeImports, codeModel.options);
220
+ generateJSONUnmarshaller(model, modelDef, serdeImports, options);
215
221
  }
216
222
  modelDefs.push(modelDef);
217
223
  }