@azure-tools/typespec-go 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/codegen.go/src/clientFactory.d.ts.map +1 -1
  2. package/dist/codegen.go/src/clientFactory.js +8 -8
  3. package/dist/codegen.go/src/clientFactory.js.map +1 -1
  4. package/dist/codegen.go/src/constants.d.ts.map +1 -1
  5. package/dist/codegen.go/src/constants.js +4 -9
  6. package/dist/codegen.go/src/constants.js.map +1 -1
  7. package/dist/codegen.go/src/example.js +4 -1
  8. package/dist/codegen.go/src/example.js.map +1 -1
  9. package/dist/codegen.go/src/fake/internal.d.ts.map +1 -1
  10. package/dist/codegen.go/src/fake/internal.js +6 -0
  11. package/dist/codegen.go/src/fake/internal.js.map +1 -1
  12. package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
  13. package/dist/codegen.go/src/fake/servers.js +59 -20
  14. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  15. package/dist/codegen.go/src/gomod.js +1 -1
  16. package/dist/codegen.go/src/helpers.d.ts +3 -1
  17. package/dist/codegen.go/src/helpers.d.ts.map +1 -1
  18. package/dist/codegen.go/src/helpers.js +51 -2
  19. package/dist/codegen.go/src/helpers.js.map +1 -1
  20. package/dist/codegen.go/src/models.d.ts.map +1 -1
  21. package/dist/codegen.go/src/models.js +65 -32
  22. package/dist/codegen.go/src/models.js.map +1 -1
  23. package/dist/codegen.go/src/operations.d.ts.map +1 -1
  24. package/dist/codegen.go/src/operations.js +35 -26
  25. package/dist/codegen.go/src/operations.js.map +1 -1
  26. package/dist/codegen.go/src/options.js +6 -9
  27. package/dist/codegen.go/src/options.js.map +1 -1
  28. package/dist/codegen.go/src/polymorphics.js +6 -6
  29. package/dist/codegen.go/src/polymorphics.js.map +1 -1
  30. package/dist/codegen.go/src/responses.js +12 -25
  31. package/dist/codegen.go/src/responses.js.map +1 -1
  32. package/dist/codegen.go/src/xmlAdditionalProps.d.ts +3 -0
  33. package/dist/codegen.go/src/xmlAdditionalProps.d.ts.map +1 -0
  34. package/dist/codegen.go/src/xmlAdditionalProps.js +112 -0
  35. package/dist/codegen.go/src/xmlAdditionalProps.js.map +1 -0
  36. package/dist/codemodel.go/src/client.d.ts +4 -3
  37. package/dist/codemodel.go/src/client.d.ts.map +1 -1
  38. package/dist/codemodel.go/src/client.js +5 -4
  39. package/dist/codemodel.go/src/client.js.map +1 -1
  40. package/dist/codemodel.go/src/examples.d.ts +3 -3
  41. package/dist/codemodel.go/src/examples.d.ts.map +1 -1
  42. package/dist/codemodel.go/src/examples.js +2 -2
  43. package/dist/codemodel.go/src/examples.js.map +1 -1
  44. package/dist/codemodel.go/src/param.d.ts +4 -3
  45. package/dist/codemodel.go/src/param.d.ts.map +1 -1
  46. package/dist/codemodel.go/src/param.js +3 -1
  47. package/dist/codemodel.go/src/param.js.map +1 -1
  48. package/dist/codemodel.go/src/result.d.ts +10 -10
  49. package/dist/codemodel.go/src/result.d.ts.map +1 -1
  50. package/dist/codemodel.go/src/result.js +10 -2
  51. package/dist/codemodel.go/src/result.js.map +1 -1
  52. package/dist/codemodel.go/src/type.d.ts +11 -6
  53. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  54. package/dist/codemodel.go/src/type.js +7 -2
  55. package/dist/codemodel.go/src/type.js.map +1 -1
  56. package/dist/typespec-go/src/emitter.d.ts.map +1 -1
  57. package/dist/typespec-go/src/emitter.js +5 -0
  58. package/dist/typespec-go/src/emitter.js.map +1 -1
  59. package/dist/typespec-go/src/lib.d.ts +0 -1
  60. package/dist/typespec-go/src/lib.d.ts.map +1 -1
  61. package/dist/typespec-go/src/lib.js +0 -1
  62. package/dist/typespec-go/src/lib.js.map +1 -1
  63. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
  64. package/dist/typespec-go/src/tcgcadapter/adapter.js +8 -2
  65. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  66. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  67. package/dist/typespec-go/src/tcgcadapter/clients.js +93 -47
  68. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  69. package/dist/typespec-go/src/tcgcadapter/types.d.ts +5 -5
  70. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  71. package/dist/typespec-go/src/tcgcadapter/types.js +179 -128
  72. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  73. package/package.json +19 -13
@@ -5,7 +5,7 @@
5
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
- import { commentLength, contentPreamble, formatLiteralValue, getSerDeFormat, recursiveUnwrapMapSlice, sortAscending } from './helpers.js';
8
+ import * as helpers from './helpers.js';
9
9
  import { ImportManager } from './imports.js';
10
10
  // Creates the content in models.go
11
11
  export async function generateModels(codeModel) {
@@ -18,7 +18,7 @@ export async function generateModels(codeModel) {
18
18
  // this list of packages to import
19
19
  const modelImports = new ImportManager();
20
20
  const serdeImports = new ImportManager();
21
- let modelText = contentPreamble(codeModel);
21
+ let modelText = helpers.contentPreamble(codeModel);
22
22
  // we do model generation first as it can add imports to the imports list
23
23
  const modelDefs = generateModelDefs(modelImports, serdeImports, codeModel);
24
24
  modelText += modelImports.text();
@@ -31,17 +31,17 @@ export async function generateModels(codeModel) {
31
31
  let serdeTextBody = '';
32
32
  for (const modelDef of values(modelDefs)) {
33
33
  modelText += modelDef.text();
34
- modelDef.Methods.sort((a, b) => { return sortAscending(a.name, b.name); });
34
+ modelDef.Methods.sort((a, b) => { return helpers.sortAscending(a.name, b.name); });
35
35
  for (const method of values(modelDef.Methods)) {
36
36
  if (method.desc.length > 0) {
37
- modelText += `${comment(method.desc, '// ', undefined, commentLength)}\n`;
37
+ modelText += `${comment(method.desc, '// ', undefined, helpers.commentLength)}\n`;
38
38
  }
39
39
  modelText += method.text;
40
40
  }
41
- modelDef.SerDe.methods.sort((a, b) => { return sortAscending(a.name, b.name); });
41
+ modelDef.SerDe.methods.sort((a, b) => { return helpers.sortAscending(a.name, b.name); });
42
42
  for (const method of values(modelDef.SerDe.methods)) {
43
43
  if (method.desc.length > 0) {
44
- serdeTextBody += `${comment(method.desc, '// ', undefined, commentLength)}\n`;
44
+ serdeTextBody += `${comment(method.desc, '// ', undefined, helpers.commentLength)}\n`;
45
45
  }
46
46
  serdeTextBody += method.text;
47
47
  }
@@ -121,7 +121,7 @@ export async function generateModels(codeModel) {
121
121
  }
122
122
  let serdeText = '';
123
123
  if (serdeTextBody.length > 0) {
124
- serdeText = contentPreamble(codeModel);
124
+ serdeText = helpers.contentPreamble(codeModel);
125
125
  serdeText += serdeImports.text();
126
126
  serdeText += serdeTextBody;
127
127
  }
@@ -151,22 +151,22 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
151
151
  }
152
152
  if (go.isLiteralValue(field.type) && model.usage !== go.UsageFlags.Output) {
153
153
  // add a comment with the const value for const properties that are sent over the wire
154
- if (field.description) {
155
- field.description += '\n';
154
+ if (field.docs.description) {
155
+ field.docs.description += '\n';
156
156
  }
157
- field.description += `Field has constant value ${formatLiteralValue(field.type, false)}, any specified value is ignored.`;
157
+ field.docs.description += `Field has constant value ${helpers.formatLiteralValue(field.type, false)}, any specified value is ignored.`;
158
158
  }
159
- if (field.description) {
160
- descriptionMods.push(field.description);
159
+ if (field.docs.description) {
160
+ descriptionMods.push(field.docs.description);
161
161
  }
162
162
  else if (go.isSliceType(field.type) && field.type.rawJSONAsBytes) {
163
163
  // add a basic description if one isn't available
164
164
  descriptionMods.push('The contents of this field are raw JSON.');
165
165
  }
166
- field.description = descriptionMods.join('; ');
166
+ field.docs.description = descriptionMods.join('; ');
167
167
  }
168
- const serDeFormat = getSerDeFormat(model, codeModel);
169
- const modelDef = new ModelDef(model.name, serDeFormat, model.fields, model.description);
168
+ const serDeFormat = helpers.getSerDeFormat(model, codeModel);
169
+ const modelDef = new ModelDef(model.name, serDeFormat, model.fields, model.docs);
170
170
  for (const field of values(modelDef.Fields)) {
171
171
  modelImports.addImportForType(field.type);
172
172
  }
@@ -190,7 +190,8 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
190
190
  generateXMLUnmarshaller(model, modelDef, serdeImports);
191
191
  }
192
192
  }
193
- else if (needsXMLDictionaryUnmarshalling(model)) {
193
+ else if (needsXMLDictionaryHelper(model)) {
194
+ generateXMLMarshaller(model, modelDef, serdeImports);
194
195
  generateXMLUnmarshaller(model, modelDef, serdeImports);
195
196
  }
196
197
  modelDefs.push(modelDef);
@@ -214,9 +215,9 @@ function generateModelDefs(modelImports, serdeImports, codeModel) {
214
215
  }
215
216
  return modelDefs;
216
217
  }
217
- function needsXMLDictionaryUnmarshalling(modelType) {
218
+ function needsXMLDictionaryHelper(modelType) {
218
219
  for (const field of values(modelType.fields)) {
219
- // additional properties uses an internal wrapper type with its own unmarshaller
220
+ // additional properties uses an internal wrapper type with its own serde impl
220
221
  if (go.isMapType(field.type) && !field.annotations.isAdditionalProperties) {
221
222
  return true;
222
223
  }
@@ -257,7 +258,7 @@ function generateToMultipartForm(modelDef) {
257
258
  let method = `func (${receiver} ${modelDef.Name}) toMultipartFormData() (map[string]any, error) {\n`;
258
259
  method += '\tobjectMap := make(map[string]any)\n';
259
260
  for (const field of modelDef.Fields) {
260
- const fieldType = recursiveUnwrapMapSlice(field.type);
261
+ const fieldType = helpers.recursiveUnwrapMapSlice(field.type);
261
262
  let setField;
262
263
  let star = '';
263
264
  if (!field.byValue) {
@@ -303,7 +304,7 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
303
304
  }
304
305
  if (field.annotations.isDiscriminator) {
305
306
  if (field.defaultValue) {
306
- marshaller += `\tobjectMap["${field.serializedName}"] = ${formatLiteralValue(field.defaultValue, true)}\n`;
307
+ marshaller += `\tobjectMap["${field.serializedName}"] = ${helpers.formatLiteralValue(field.defaultValue, true)}\n`;
307
308
  }
308
309
  else {
309
310
  // if there's no discriminator value (e.g. Fish in test server), use the field's value.
@@ -340,7 +341,7 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
340
341
  modelDef.SerDe.needsJSONPopulate = true;
341
342
  }
342
343
  else if (go.isLiteralValue(field.type)) {
343
- const setter = `objectMap["${field.serializedName}"] = ${formatLiteralValue(field.type, true)}`;
344
+ const setter = `objectMap["${field.serializedName}"] = ${helpers.formatLiteralValue(field.type, true)}`;
344
345
  if (!field.annotations.required) {
345
346
  marshaller += `\tif ${receiver}.${field.name} != nil {\n\t\t${setter}\n\t}\n`;
346
347
  }
@@ -355,7 +356,7 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
355
356
  else {
356
357
  if (field.defaultValue) {
357
358
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
358
- marshaller += `\tif ${receiver}.${field.name} == nil {\n\t\t${receiver}.${field.name} = to.Ptr(${formatLiteralValue(field.defaultValue, true)})\n\t}\n`;
359
+ marshaller += `\tif ${receiver}.${field.name} == nil {\n\t\t${receiver}.${field.name} = to.Ptr(${helpers.formatLiteralValue(field.defaultValue, true)})\n\t}\n`;
359
360
  }
360
361
  let populate = 'populate';
361
362
  if (go.isTimeType(field.type)) {
@@ -369,7 +370,20 @@ function generateJSONMarshallerBody(modelType, modelDef, receiver, imports) {
369
370
  else {
370
371
  modelDef.SerDe.needsJSONPopulate = true;
371
372
  }
372
- marshaller += `\t${populate}(objectMap, "${field.serializedName}", ${receiver}.${field.name})\n`;
373
+ if (go.isPrimitiveType(field.type) && (field.type.typeName.startsWith('uint') || field.type.typeName.startsWith('int')) && field.type.encodeAsString) {
374
+ // TODO: need to handle map and slice type with underlying int as string type
375
+ imports.add('strconv');
376
+ imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
377
+ if (field.type.typeName.startsWith('uint') && field.type.typeName !== 'uint64' || field.type.typeName.startsWith('int') && field.type.typeName !== 'int64') {
378
+ marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.typeName.startsWith('int') ? 'FormatInt' : 'FormatUint'}(${field.type.typeName.startsWith('int') ? 'int64' : 'uint64'}(*${receiver}.${field.name}), 10)))\n`;
379
+ }
380
+ else {
381
+ marshaller += `\t${populate}(objectMap, "${field.serializedName}", to.Ptr(strconv.${field.type.typeName.startsWith('int') ? 'FormatInt' : 'FormatUint'}(*${receiver}.${field.name}, 10)))\n`;
382
+ }
383
+ }
384
+ else {
385
+ marshaller += `\t${populate}(objectMap, "${field.serializedName}", ${receiver}.${field.name})\n`;
386
+ }
373
387
  }
374
388
  }
375
389
  if (addlProps) {
@@ -479,6 +493,25 @@ function generateJSONUnmarshallerBody(modelType, modelDef, receiver, imports, op
479
493
  unmarshalBody += '\t\t\tif string(val) != "null" {\n';
480
494
  unmarshalBody += `\t\t\t\t${receiver}.${field.name} = val\n\t\t\t}\n`;
481
495
  }
496
+ else if (go.isPrimitiveType(field.type) && (field.type.typeName.startsWith('uint') || field.type.typeName.startsWith('int')) && field.type.encodeAsString) {
497
+ // TODO: need to handle map and slice type with underlying int as string type
498
+ imports.add('strconv');
499
+ unmarshalBody += `\t\t\t\tvar aux string\n`;
500
+ unmarshalBody += `\t\t\t\terr = unpopulate(val, "${field.name}", &aux)\n`;
501
+ unmarshalBody += `\t\t\t\tif err == nil {\n`;
502
+ unmarshalBody += `\t\t\t\t\tvar v ${field.type.typeName.startsWith('int') ? 'int64' : 'uint64'}\n`;
503
+ unmarshalBody += `\t\t\t\t\tv, err = strconv.${field.type.typeName.startsWith('int') ? 'ParseInt' : 'ParseUint'}(aux, 10, 0)\n`;
504
+ unmarshalBody += `\t\t\t\t\tif err == nil {\n`;
505
+ if (field.type.typeName.startsWith('uint') && field.type.typeName !== 'uint64' || field.type.typeName.startsWith('int') && field.type.typeName !== 'int64') {
506
+ unmarshalBody += `\t\t\t\t\t\t${receiver}.${field.name} = to.Ptr(${field.type.typeName}(v))\n`;
507
+ }
508
+ else {
509
+ unmarshalBody += `\t\t\t\t\t\t${receiver}.${field.name} = to.Ptr(v)\n`;
510
+ }
511
+ unmarshalBody += '\t\t\t\t\t}\n';
512
+ unmarshalBody += '\t\t\t\t}\n';
513
+ modelDef.SerDe.needsJSONUnpopulate = true;
514
+ }
482
515
  else {
483
516
  unmarshalBody += `\t\t\t\terr = unpopulate(val, "${field.name}", &${receiver}.${field.name})\n`;
484
517
  modelDef.SerDe.needsJSONUnpopulate = true;
@@ -617,7 +650,7 @@ function recursivePopulateDiscriminator(item, receiver, rawSrc, dest, indent, ne
617
650
  }
618
651
  function generateXMLMarshaller(modelType, modelDef, imports) {
619
652
  var _a;
620
- // only needed for types with time.Time or where the XML name doesn't match the type name
653
+ // only needed for types with time.Time, maps, or where the XML name doesn't match the type name
621
654
  const receiver = modelDef.receiverName();
622
655
  const desc = `MarshalXML implements the xml.Marshaller interface for type ${modelDef.Name}.`;
623
656
  let text = `func (${receiver} ${modelDef.Name}) MarshalXML(enc *xml.Encoder, start xml.StartElement) error {\n`;
@@ -631,6 +664,9 @@ function generateXMLMarshaller(modelType, modelDef, imports) {
631
664
  text += `\t\taux.${field.name} = &${receiver}.${field.name}\n`;
632
665
  text += '\t}\n';
633
666
  }
667
+ else if (field.annotations.isAdditionalProperties || go.isMapType(field.type)) {
668
+ text += `\taux.${field.name} = (additionalProperties)(${receiver}.${field.name})\n`;
669
+ }
634
670
  else if (go.isBytesType(field.type)) {
635
671
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
636
672
  text += `\tif ${receiver}.${field.name} != nil {\n`;
@@ -723,20 +759,17 @@ class SerDeInfo {
723
759
  }
724
760
  // represents model definition as a Go struct
725
761
  class ModelDef {
726
- constructor(name, format, fields, description) {
762
+ constructor(name, format, fields, docs) {
727
763
  this.Name = name;
728
764
  this.Format = format;
729
- this.Description = description;
765
+ this.Docs = docs;
730
766
  this.Fields = fields;
731
767
  this.SerDe = new SerDeInfo();
732
768
  this.Methods = new Array();
733
769
  }
734
770
  text() {
735
771
  var _a;
736
- let text = '';
737
- if (this.Description) {
738
- text += `${comment(this.Description, '// ', undefined, commentLength)}\n`;
739
- }
772
+ let text = helpers.formatDocComment(this.Docs);
740
773
  text += `type ${this.Name} struct {\n`;
741
774
  // group fields by required/optional/read-only in that order
742
775
  (_a = this.Fields) === null || _a === void 0 ? void 0 : _a.sort((lhs, rhs) => {
@@ -753,13 +786,13 @@ class ModelDef {
753
786
  // used to track when to add an extra \n between fields that have comments
754
787
  let first = true;
755
788
  for (const field of values(this.Fields)) {
756
- if (field.description) {
789
+ if (field.docs.summary || field.docs.description) {
757
790
  if (!first) {
758
791
  // add an extra new-line between fields IFF the field
759
792
  // has a comment and it's not the very first one.
760
793
  text += '\n';
761
794
  }
762
- text += `\t${comment(field.description, '// ', undefined, commentLength)}\n`;
795
+ text += helpers.formatDocComment(field.docs);
763
796
  }
764
797
  let typeName = go.getTypeDeclaration(field.type);
765
798
  if (go.isLiteralValue(field.type)) {
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../codegen.go/src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../codegen.go/src/models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAOtD,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAGD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CA+IvG;AA+nCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAOzD"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAOtD,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAGD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CA8IvG;AA0oCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAOzD"}
@@ -42,8 +42,7 @@ export async function generateOperations(codeModel) {
42
42
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore');
43
43
  }
44
44
  // generate client type
45
- let clientText = '';
46
- clientText += `${comment(`${client.description}`, '//', undefined, helpers.commentLength)}\n`;
45
+ let clientText = helpers.formatDocComment(client.docs);
47
46
  clientText += '// Don\'t use this type directly, use ';
48
47
  if (client.constructors.length === 1) {
49
48
  clientText += `${client.constructors[0].name}() instead.\n`;
@@ -163,16 +162,16 @@ function generateConstructors(azureARM, client, imports) {
163
162
  for (const ctorParam of constructor.parameters) {
164
163
  imports.addImportForType(ctorParam.type);
165
164
  ctorParams.push(`${ctorParam.name} ${helpers.formatParameterTypeName(ctorParam)}`);
166
- if (ctorParam.description) {
167
- paramDocs.push(helpers.formatCommentAsBulletItem(`${ctorParam.name} - ${ctorParam.description}`));
165
+ if (ctorParam.docs.summary || ctorParam.docs.description) {
166
+ paramDocs.push(helpers.formatCommentAsBulletItem(ctorParam.name, ctorParam.docs));
168
167
  }
169
168
  }
170
169
  // add client options last
171
170
  ctorParams.push(`${client.options.name} ${helpers.formatParameterTypeName(client.options)}`);
172
- paramDocs.push(helpers.formatCommentAsBulletItem(`${client.options.name} - ${client.options.description}`));
171
+ paramDocs.push(helpers.formatCommentAsBulletItem(client.options.name, client.options.docs));
173
172
  ctorText += `// ${constructor.name} creates a new instance of ${client.name} with the specified values.\n`;
174
173
  for (const doc of paramDocs) {
175
- ctorText += `${doc}\n`;
174
+ ctorText += doc;
176
175
  }
177
176
  ctorText += `func ${constructor.name}(${ctorParams.join(', ')}) (*${client.name}, error) {\n`;
178
177
  let clientType = 'azcore';
@@ -205,7 +204,7 @@ function createARMClientConstructor(client, imports) {
205
204
  ctor.parameters.push(param);
206
205
  }
207
206
  const tokenCredParam = new go.Parameter('credential', new go.QualifiedType('TokenCredential', 'github.com/Azure/azure-sdk-for-go/sdk/azcore'), 'required', true, 'client');
208
- tokenCredParam.description = 'used to authorize requests. Usually a credential from azidentity.';
207
+ tokenCredParam.docs.summary = 'used to authorize requests. Usually a credential from azidentity.';
209
208
  ctor.parameters.push(tokenCredParam);
210
209
  return ctor;
211
210
  }
@@ -425,8 +424,8 @@ function generateOperation(client, method, imports, injectSpans, generateFakes)
425
424
  let text = '';
426
425
  const respErrDoc = genRespErrorDoc(method);
427
426
  const apiVerDoc = genApiVersionDoc(method.apiVersions);
428
- if (method.description) {
429
- text += `${comment(`${methodName} - ${method.description}`, '//', undefined, helpers.commentLength)}\n`;
427
+ if (method.docs.summary || method.docs.description) {
428
+ text += helpers.formatDocCommentWithPrefix(methodName, method.docs);
430
429
  }
431
430
  else if (respErrDoc.length > 0 || apiVerDoc.length > 0) {
432
431
  // if the method has no doc comment but we're adding other
@@ -441,9 +440,7 @@ function generateOperation(client, method, imports, injectSpans, generateFakes)
441
440
  }
442
441
  else {
443
442
  for (const param of values(helpers.getMethodParameters(method))) {
444
- if (param.description) {
445
- text += `${helpers.formatCommentAsBulletItem(`${param.name} - ${param.description}`)}\n`;
446
- }
443
+ text += helpers.formatCommentAsBulletItem(param.name, param.docs);
447
444
  }
448
445
  }
449
446
  text += `func (client *${client.name}) ${methodName}(${params}) (${returns.join(', ')}) {\n`;
@@ -745,12 +742,20 @@ function createProtocolRequest(azureARM, client, method, imports) {
745
742
  headerParams.push(param);
746
743
  }
747
744
  }
745
+ let contentType;
748
746
  for (const param of headerParams.sort((a, b) => { return helpers.sortAscending(a.headerName, b.headerName); })) {
749
747
  if (param.headerName.match(/^content-type$/)) {
750
748
  // canonicalize content-type as req.SetBody checks for it via its canonicalized name :(
751
749
  param.headerName = 'Content-Type';
752
750
  }
753
- if (go.isRequiredParameter(param) || go.isLiteralParameter(param) || go.isClientSideDefault(param.kind)) {
751
+ if (param.headerName === 'Content-Type' && param.kind === 'literal') {
752
+ // the content-type header will be set as part of emitSetBodyWithErrCheck
753
+ // to handle cases where the body param is optional. we don't want to set
754
+ // the content-type if the body is nil.
755
+ // we do it like this as tsp specifies content-type while swagger does not.
756
+ contentType = helpers.formatParamValue(param, imports);
757
+ }
758
+ else if (go.isRequiredParameter(param) || go.isLiteralParameter(param) || go.isClientSideDefault(param.kind)) {
754
759
  text += emitHeaderSet(param, '\t');
755
760
  }
756
761
  else if (param.location === 'client' && !param.group) {
@@ -767,8 +772,12 @@ function createProtocolRequest(azureARM, client, method, imports) {
767
772
  }
768
773
  const partialBodyParams = values(method.parameters).where((param) => { return go.isPartialBodyParameter(param); }).toArray();
769
774
  const bodyParam = values(method.parameters).where((each) => { return go.isBodyParameter(each) || go.isFormBodyParameter(each) || go.isMultipartFormBodyParameter(each); }).first();
770
- const emitSetBodyWithErrCheck = function (setBodyParam) {
771
- return `if err := ${setBodyParam}; err != nil {\n\treturn nil, err\n}\n`;
775
+ const emitSetBodyWithErrCheck = function (setBodyParam, contentType) {
776
+ let content = `if err := ${setBodyParam}; err != nil {\n\treturn nil, err\n}\n;`;
777
+ if (contentType) {
778
+ content = `req.Raw().Header["Content-Type"] = []string{${contentType}}\n` + content;
779
+ }
780
+ return content;
772
781
  };
773
782
  if (partialBodyParams.length > 0) {
774
783
  // partial body params are discrete params that are all fields within an internal struct.
@@ -792,6 +801,8 @@ function createProtocolRequest(azureARM, client, method, imports) {
792
801
  text += `\t\tbody.${capitalize(partialBodyParam.serializedName)} = options.${capitalize(partialBodyParam.name)}\n\t}\n`;
793
802
  }
794
803
  }
804
+ // TODO: spread params are JSON only https://github.com/Azure/autorest.go/issues/1455
805
+ text += '\treq.Raw().Header["Content-Type"] = []string{"application/json"}\n';
795
806
  text += '\tif err := runtime.MarshalAsJSON(req, body); err != nil {\n\t\treturn nil, err\n\t}\n';
796
807
  text += '\treturn req, nil\n';
797
808
  }
@@ -859,12 +870,12 @@ function createProtocolRequest(azureARM, client, method, imports) {
859
870
  setBody = `req.SetBody(streaming.NopCloser(bytes.NewReader(${body})), "application/${bodyParam.bodyFormat.toLowerCase()}")`;
860
871
  }
861
872
  if (go.isRequiredParameter(bodyParam) || go.isLiteralParameter(bodyParam)) {
862
- text += `\t${emitSetBodyWithErrCheck(setBody)}`;
873
+ text += `\t${emitSetBodyWithErrCheck(setBody, contentType)}`;
863
874
  text += '\treturn req, nil\n';
864
875
  }
865
876
  else {
866
877
  text += emitParamGroupCheck(bodyParam);
867
- text += `\t${emitSetBodyWithErrCheck(setBody)}`;
878
+ text += `\t${emitSetBodyWithErrCheck(setBody, contentType)}`;
868
879
  text += '\t\treturn req, nil\n';
869
880
  text += '\t}\n';
870
881
  text += '\treturn req, nil\n';
@@ -872,12 +883,12 @@ function createProtocolRequest(azureARM, client, method, imports) {
872
883
  }
873
884
  else if (bodyParam.bodyFormat === 'binary') {
874
885
  if (go.isRequiredParameter(bodyParam)) {
875
- text += `\t${emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${bodyParam.contentType})`)}`;
886
+ text += `\t${emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${bodyParam.contentType})`, contentType)}`;
876
887
  text += '\treturn req, nil\n';
877
888
  }
878
889
  else {
879
890
  text += emitParamGroupCheck(bodyParam);
880
- text += `\t${emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${bodyParam.contentType})`)}`;
891
+ text += `\t${emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${bodyParam.contentType})`, contentType)}`;
881
892
  text += '\treturn req, nil\n';
882
893
  text += '\t}\n';
883
894
  text += '\treturn req, nil\n';
@@ -889,13 +900,13 @@ function createProtocolRequest(azureARM, client, method, imports) {
889
900
  const bodyParam = values(method.parameters).where((each) => { return go.isBodyParameter(each); }).first();
890
901
  if (go.isRequiredParameter(bodyParam)) {
891
902
  text += `\tbody := streaming.NopCloser(strings.NewReader(${bodyParam.name}))\n`;
892
- text += `\t${emitSetBodyWithErrCheck(`req.SetBody(body, ${bodyParam.contentType})`)}`;
903
+ text += `\t${emitSetBodyWithErrCheck(`req.SetBody(body, ${bodyParam.contentType})`, contentType)}`;
893
904
  text += '\treturn req, nil\n';
894
905
  }
895
906
  else {
896
907
  text += emitParamGroupCheck(bodyParam);
897
908
  text += `\tbody := streaming.NopCloser(strings.NewReader(${helpers.getParamName(bodyParam)}))\n`;
898
- text += `\t${emitSetBodyWithErrCheck(`req.SetBody(body, ${bodyParam.contentType})`)}`;
909
+ text += `\t${emitSetBodyWithErrCheck(`req.SetBody(body, ${bodyParam.contentType})`, contentType)}`;
899
910
  text += '\treturn req, nil\n';
900
911
  text += '\t}\n';
901
912
  text += '\treturn req, nil\n';
@@ -1232,17 +1243,15 @@ function generateLROBeginMethod(client, method, imports, injectSpans, generateFa
1232
1243
  const returns = generateReturnsInfo(method, 'api');
1233
1244
  imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime');
1234
1245
  let text = '';
1235
- if (method.description) {
1236
- text += `${comment(`${fixUpMethodName(method)} - ${method.description}`, '//', undefined, helpers.commentLength)}\n`;
1246
+ if (method.docs.summary || method.docs.description) {
1247
+ text += helpers.formatDocCommentWithPrefix(fixUpMethodName(method), method.docs);
1237
1248
  text += genRespErrorDoc(method);
1238
1249
  text += genApiVersionDoc(method.apiVersions);
1239
1250
  }
1240
1251
  const zeroResp = getZeroReturnValue(method, 'api');
1241
1252
  const methodParams = helpers.getMethodParameters(method);
1242
1253
  for (const param of values(methodParams)) {
1243
- if (param.description) {
1244
- text += `${helpers.formatCommentAsBulletItem(`${param.name} - ${param.description}`)}\n`;
1245
- }
1254
+ text += helpers.formatCommentAsBulletItem(param.name, param.docs);
1246
1255
  }
1247
1256
  text += `func (client *${client.name}) ${fixUpMethodName(method)}(${params}) (${returns.join(', ')}) {\n`;
1248
1257
  let pollerType = 'nil';