@azure-tools/typespec-go 0.17.4-dev.6 → 0.17.5-dev.10

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 (64) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/src/codegen/core/example.js +20 -20
  3. package/dist/src/codegen/core/example.js.map +1 -1
  4. package/dist/src/codegen/core/helpers.d.ts +3 -9
  5. package/dist/src/codegen/core/helpers.d.ts.map +1 -1
  6. package/dist/src/codegen/core/helpers.js +33 -74
  7. package/dist/src/codegen/core/helpers.js.map +1 -1
  8. package/dist/src/codegen/core/imports.d.ts.map +1 -1
  9. package/dist/src/codegen/core/imports.js +4 -3
  10. package/dist/src/codegen/core/imports.js.map +1 -1
  11. package/dist/src/codegen/core/models.d.ts.map +1 -1
  12. package/dist/src/codegen/core/models.js +193 -143
  13. package/dist/src/codegen/core/models.js.map +1 -1
  14. package/dist/src/codegen/core/operations.js +11 -17
  15. package/dist/src/codegen/core/operations.js.map +1 -1
  16. package/dist/src/codegen/core/options.js +1 -5
  17. package/dist/src/codegen/core/options.js.map +1 -1
  18. package/dist/src/codegen/core/polymorphics.d.ts.map +1 -1
  19. package/dist/src/codegen/core/polymorphics.js +3 -5
  20. package/dist/src/codegen/core/polymorphics.js.map +1 -1
  21. package/dist/src/codegen/core/request-handler.d.ts.map +1 -1
  22. package/dist/src/codegen/core/request-handler.js +29 -22
  23. package/dist/src/codegen/core/request-handler.js.map +1 -1
  24. package/dist/src/codegen/core/response-handler.js +17 -15
  25. package/dist/src/codegen/core/response-handler.js.map +1 -1
  26. package/dist/src/codegen/core/responses.js +8 -22
  27. package/dist/src/codegen/core/responses.js.map +1 -1
  28. package/dist/src/codegen/core/unions.js +21 -16
  29. package/dist/src/codegen/core/unions.js.map +1 -1
  30. package/dist/src/codegen/fake/servers.js +105 -98
  31. package/dist/src/codegen/fake/servers.js.map +1 -1
  32. package/dist/src/codemodel/client.d.ts +8 -3
  33. package/dist/src/codemodel/client.d.ts.map +1 -1
  34. package/dist/src/codemodel/client.js +3 -3
  35. package/dist/src/codemodel/client.js.map +1 -1
  36. package/dist/src/codemodel/method.d.ts +1 -3
  37. package/dist/src/codemodel/method.d.ts.map +1 -1
  38. package/dist/src/codemodel/method.js +1 -2
  39. package/dist/src/codemodel/method.js.map +1 -1
  40. package/dist/src/codemodel/param.d.ts +41 -29
  41. package/dist/src/codemodel/param.d.ts.map +1 -1
  42. package/dist/src/codemodel/param.js +33 -33
  43. package/dist/src/codemodel/param.js.map +1 -1
  44. package/dist/src/codemodel/result.d.ts +21 -15
  45. package/dist/src/codemodel/result.d.ts.map +1 -1
  46. package/dist/src/codemodel/result.js +8 -24
  47. package/dist/src/codemodel/result.js.map +1 -1
  48. package/dist/src/codemodel/type.d.ts +83 -54
  49. package/dist/src/codemodel/type.d.ts.map +1 -1
  50. package/dist/src/codemodel/type.js +68 -30
  51. package/dist/src/codemodel/type.js.map +1 -1
  52. package/dist/src/tcgcadapter/clients.d.ts +2 -1
  53. package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
  54. package/dist/src/tcgcadapter/clients.js +99 -107
  55. package/dist/src/tcgcadapter/clients.js.map +1 -1
  56. package/dist/src/tcgcadapter/helpers.d.ts +8 -27
  57. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  58. package/dist/src/tcgcadapter/helpers.js +32 -87
  59. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  60. package/dist/src/tcgcadapter/types.d.ts +5 -3
  61. package/dist/src/tcgcadapter/types.d.ts.map +1 -1
  62. package/dist/src/tcgcadapter/types.js +113 -45
  63. package/dist/src/tcgcadapter/types.js.map +1 -1
  64. package/package.json +40 -40
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Release History
2
2
 
3
+ ## 0.17.4
4
+
5
+ ### Bug Fixes
6
+
7
+ - [#5368](https://github.com/Azure/typespec-azure/pull/5368) Fixed handling of reserved characters in path params for fakes.
8
+ - [#5382](https://github.com/Azure/typespec-azure/pull/5382) Unsupported types for string-encoded arrays resulted in bad codegen.
9
+
10
+
3
11
  ## 0.17.3
4
12
 
5
13
  ### Bug Fixes
@@ -64,7 +64,7 @@ export function generateExamples(pkg, target, options) {
64
64
  // function signature
65
65
  exampleText += `// Generated from example definition: ${example.filePath}\n`;
66
66
  const exampleFuncNamePrefix = method.examples.length > 1 ? `_${helpers.camelCase(example.name)}` : "";
67
- exampleText += `func Example${client.name}_${helpers.fixUpMethodName(method)}${exampleFuncNamePrefix}() {\n`;
67
+ exampleText += `func Example${client.name}_${method.name}${exampleFuncNamePrefix}() {\n`;
68
68
  // create credential
69
69
  exampleText += `${indent.get()}cred, err := azidentity.NewDefaultAzureCredential(nil)\n`;
70
70
  exampleText += `${indent.get()}if err != nil {\n`;
@@ -102,7 +102,7 @@ export function generateExamples(pkg, target, options) {
102
102
  });
103
103
  }
104
104
  }
105
- exampleText += `${indent.get()}clientFactory, err := ${go.getPackageName(pkg.src)}.NewClientFactory(${clientFactoryParamsExample.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue)).join(", ")}, nil)\n`;
105
+ exampleText += `${indent.get()}clientFactory, err := ${go.getPackageName(pkg.src)}.NewClientFactory(${clientFactoryParamsExample.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.type.kind !== "ptr")).join(", ")}, nil)\n`;
106
106
  exampleText += `${indent.get()}if err != nil {\n`;
107
107
  exampleText += `${indent.push().get()}log.Fatalf("failed to create client: %v", err)\n`;
108
108
  exampleText += `${indent.pop().get()}}\n`;
@@ -125,12 +125,12 @@ export function generateExamples(pkg, target, options) {
125
125
  }
126
126
  }
127
127
  if (clientPrivateParameters.length > 0) {
128
- clientRef += `${clientPrivateParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue).slice(1)).join(", ")}`;
128
+ clientRef += `${clientPrivateParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.type.kind !== "ptr").slice(1)).join(", ")}`;
129
129
  }
130
130
  clientRef += `)`;
131
131
  }
132
132
  else {
133
- exampleText += `${indent.get()}client, err := ${go.getPackageName(client.instance.constructors[0].pkg)}.${client.instance.constructors[0].name}(${clientParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.byValue).slice(1)).join(", ")}, cred, nil)\n`;
133
+ exampleText += `${indent.get()}client, err := ${go.getPackageName(client.instance.constructors[0].pkg)}.${client.instance.constructors[0].name}(${clientParameters.map((p) => getExampleValue(pkg, p.value, "\t", imports, p.parameter.type.kind !== "ptr").slice(1)).join(", ")}, cred, nil)\n`;
134
134
  exampleText += `${indent.get()}if err != nil {\n`;
135
135
  exampleText += `${indent.push().get()}log.Fatalf("failed to create client: %v", err)\n`;
136
136
  exampleText += `${indent.pop().get()}}\n`;
@@ -170,7 +170,7 @@ export function generateExamples(pkg, target, options) {
170
170
  switch (method.kind) {
171
171
  case "lroMethod":
172
172
  case "lroPageableMethod":
173
- exampleText += `${indent.get()}poller, err := ${clientRef}.${helpers.fixUpMethodName(method)}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
173
+ exampleText += `${indent.get()}poller, err := ${clientRef}.${method.name}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
174
174
  exampleText += `${indent.get()}if err != nil {\n`;
175
175
  exampleText += `${indent.push().get()}log.Fatalf("failed to finish the request: %v", err)\n`;
176
176
  exampleText += `${indent.pop().get()}}\n`;
@@ -180,13 +180,13 @@ export function generateExamples(pkg, target, options) {
180
180
  exampleText += `${indent.pop().get()}}\n`;
181
181
  break;
182
182
  case "method":
183
- exampleText += `${indent.get()}${checkResponse ? "res" : "_"}, err ${checkResponse ? ":=" : "="} ${clientRef}.${helpers.fixUpMethodName(method)}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
183
+ exampleText += `${indent.get()}${checkResponse ? "res" : "_"}, err ${checkResponse ? ":=" : "="} ${clientRef}.${method.name}(ctx, ${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
184
184
  exampleText += `${indent.get()}if err != nil {\n`;
185
185
  exampleText += `${indent.push().get()}log.Fatalf("failed to finish the request: %v", err)\n`;
186
186
  exampleText += `${indent.pop().get()}}\n`;
187
187
  break;
188
188
  case "pageableMethod":
189
- exampleText += `${indent.get()}pager := ${clientRef}.${helpers.fixUpMethodName(method)}(${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
189
+ exampleText += `${indent.get()}pager := ${clientRef}.${method.name}(${renderedParams.join(", ")}${renderedParams.length > 0 ? ", " : ""}${methodOptionalParametersText.split("\n").join("\n" + indent.get())})\n`;
190
190
  break;
191
191
  default:
192
192
  method;
@@ -198,7 +198,7 @@ export function generateExamples(pkg, target, options) {
198
198
  if (method.kind === "lroPageableMethod") {
199
199
  resultName = "res";
200
200
  }
201
- const itemType = method.returns.result.modelType.fields.find((f) => f.type.kind === "slice");
201
+ const itemType = method.returns.result.type.fields.find((f) => f.type.kind === "slice");
202
202
  exampleText += `${indent.get()}for ${resultName}.More() {\n`;
203
203
  exampleText += `${indent.push().get()}page, err := ${resultName}.NextPage(ctx)\n`;
204
204
  exampleText += `${indent.get()}if err != nil {\n`;
@@ -239,10 +239,10 @@ export function generateExamples(pkg, target, options) {
239
239
  ? fieldName
240
240
  : (example.responseEnvelope?.result.type).name;
241
241
  if (method.returns.result?.kind === "monomorphicResult") {
242
- resultByValue = method.returns.result.byValue;
242
+ resultByValue = method.returns.result.type.kind !== "ptr";
243
243
  }
244
244
  else if (method.returns.result?.kind === "polymorphicResult") {
245
- resultFieldName = method.returns.result.interface.name;
245
+ resultFieldName = method.returns.result.type.name;
246
246
  resultByValue = false;
247
247
  }
248
248
  exampleText += `${indent.get()}// \t${resultFieldName}: ${getExampleValue(pkg, example.responseEnvelope.result, "", undefined, resultByValue).split("\n").join(`\n${indent.get()}// \t`)},\n`;
@@ -317,10 +317,10 @@ function getExampleValue(pkg, example, indent, imports, byValue = false, inArray
317
317
  case "any":
318
318
  return jsonToGo(example.value, indent);
319
319
  case "array": {
320
- const isElementByValue = example.type.elementTypeByValue;
320
+ const isElementByValue = example.type.itemType.kind !== "ptr";
321
321
  // if polymorphic, need to add type name in array, so inArray will be set to false
322
322
  // if other case, no need to add type name in array, so inArray will be set to true
323
- const isElementPolymorphic = example.type.elementType.kind === "interface";
323
+ const isElementPolymorphic = example.type.itemType.kind === "interface";
324
324
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkg)}{\n`;
325
325
  for (const element of example.value) {
326
326
  exampleText += `${getExampleValue(pkg, element, indent + "\t", imports, isElementByValue && !isElementPolymorphic, !isElementPolymorphic)},\n`;
@@ -330,8 +330,8 @@ function getExampleValue(pkg, example, indent, imports, byValue = false, inArray
330
330
  }
331
331
  case "dictionary": {
332
332
  let exampleText = `${indent}${getRef(byValue)}${go.getTypeDeclaration(example.type, pkg)}{\n`;
333
- const isValueByValue = example.type.valueTypeByValue;
334
- const isValuePolymorphic = example.type.valueType.kind === "interface";
333
+ const isValueByValue = example.type.itemType.kind !== "ptr";
334
+ const isValuePolymorphic = example.type.itemType.kind === "interface";
335
335
  for (const key in example.value) {
336
336
  exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.value[key], indent + "\t", imports, isValueByValue && !isValuePolymorphic).slice(indent.length + 1)},\n`;
337
337
  }
@@ -345,15 +345,15 @@ function getExampleValue(pkg, example, indent, imports, byValue = false, inArray
345
345
  }
346
346
  for (const field in example.value) {
347
347
  const goField = example.type.fields.find((f) => f.name === field);
348
- const isFieldByValue = goField.byValue ?? false;
348
+ const isFieldByValue = goField.type.kind !== "ptr";
349
349
  const isFieldPolymorphic = goField.type.kind === "interface";
350
350
  exampleText += `${indent}\t${field}: ${getExampleValue(pkg, example.value[field], indent + "\t", imports, isFieldByValue && !isFieldPolymorphic).slice(indent.length + 1)},\n`;
351
351
  }
352
352
  if (example.additionalProperties) {
353
353
  const additionalPropertiesField = example.type.fields.find((f) => go.isAdditionalProperties(f));
354
- const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.valueTypeByValue ?? false;
355
- const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === "interface";
356
- exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, pkg)}{\n`;
354
+ const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.itemType.kind !== "ptr";
355
+ const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.itemType.kind === "interface";
356
+ exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(isAdditionalPropertiesFieldByValue)}${go.getTypeDeclaration(additionalPropertiesField.type, pkg)}{\n`;
357
357
  for (const key in example.additionalProperties) {
358
358
  exampleText += `${indent}\t"${key}": ${getExampleValue(pkg, example.additionalProperties[key], indent + "\t", imports, isAdditionalPropertiesFieldByValue && !isAdditionalPropertiesPolymorphic).slice(indent.length + 1)},\n`;
359
359
  }
@@ -714,7 +714,7 @@ function isParamByValue(p) {
714
714
  case "interface":
715
715
  return p.value.kind === "null";
716
716
  default:
717
- return p.parameter.byValue;
717
+ return p.parameter.type.kind !== "ptr";
718
718
  }
719
719
  }
720
720
  /**
@@ -739,6 +739,6 @@ function getParamExampleValue(pkg, param, example, imports) {
739
739
  return getExampleValue(pkg, paramExample.value, "\t", imports, isParamByValue(paramExample)).slice(1);
740
740
  }
741
741
  const fakeValue = generateFakeExample(param.type, param.name);
742
- return getExampleValue(pkg, fakeValue, "\t", imports, param.byValue).slice(1);
742
+ return getExampleValue(pkg, fakeValue, "\t", imports, param.type.kind !== "ptr").slice(1);
743
743
  }
744
744
  //# sourceMappingURL=example.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/codegen/core/example.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/codegen/core/example.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,6 @@ export declare function getCreateRequestParametersSig(method: go.MethodType | go
62
62
  export declare function getCreateRequestParameters(method: go.MethodType, nextLinkParam?: string, optionsParam?: string): string;
63
63
  export declare function getMethodParameters(method: go.MethodType | go.NextPageMethod, paramsFilter?: (p: Array<go.MethodParameter>) => Array<go.MethodParameter>): Array<go.MethodParameter | go.ParameterGroup>;
64
64
  export declare function getParamName(param: go.MethodParameter): string;
65
- export declare function fixUpMethodName(method: go.MethodType): string;
66
65
  export declare function formatBytesEncoding(enc: go.BytesEncoding): string;
67
66
  export declare function formatParamValue(param: go.MethodParameter, imports: ImportManager, indent: Indentation): string;
68
67
  /**
@@ -98,7 +97,7 @@ export declare function emitScalarParsing(scalar: go.Scalar | go.Constant, src:
98
97
  * @returns the time parsing code
99
98
  */
100
99
  export declare function emitTimeParsing(srcVar: string, time: go.Time, dstVar: string, imports: ImportManager, indent: Indentation): string;
101
- export declare function formatValue(paramName: string, type: go.WireType, imports: ImportManager, deref?: boolean): string;
100
+ export declare function formatValue(paramName: string, type: go.WireType, imports: ImportManager): string;
102
101
  export declare function formatLiteralValue(value: go.Literal, withCast: boolean): string;
103
102
  export declare function getResultFieldName(method: go.MethodType): string;
104
103
  export declare function formatStatusCodes(statusCodes: Array<number>): string;
@@ -108,13 +107,8 @@ export declare function formatDocCommentWithPrefix(prefix: string, docs: go.Docs
108
107
  export declare function formatDocComment(docs: go.Docs): string;
109
108
  export declare function getBitSizeForNumber(intSize: "float32" | "float64" | "int8" | "int16" | "int32" | "int64"): string;
110
109
  export declare function recursiveUnwrapMapSlice(item: go.WireType): go.WireType;
111
- /**
112
- * returns a * character when byValue is false
113
- *
114
- * @param byValue indicates if the type is passed by value
115
- * @returns a * or the empty string
116
- */
117
- export declare function star(byValue: boolean): string;
110
+ /** returns a * character when needing to dereference */
111
+ export declare function deref(type: go.WireType): "*" | "";
118
112
  /**
119
113
  * returns the zero-value expression for the specific parameter
120
114
  *
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/helpers.ts"],"names":[],"mappings":"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"}
@@ -94,25 +94,16 @@ export function emitEmptyPathParamCheck(param, paramIn, imports, indent) {
94
94
  */
95
95
  export function formatParameterTypeName(scope, param) {
96
96
  let typeName;
97
- let required;
98
97
  switch (param.kind) {
99
98
  case "armClientOptions":
100
- typeName = go.getTypeDeclaration(param, scope);
101
- required = false;
102
- break;
103
99
  case "clientOptions":
104
- typeName = go.getTypeDeclaration(param, scope);
105
- required = false;
106
- break;
107
100
  case "paramGroup":
108
101
  typeName = go.getTypeDeclaration(param, scope);
109
- required = param.required;
110
102
  break;
111
103
  default:
112
104
  typeName = go.getTypeDeclaration(param.type, scope);
113
- required = param.byValue;
114
105
  }
115
- return required ? typeName : `*${typeName}`;
106
+ return typeName;
116
107
  }
117
108
  // sorts parameters by their required state, ordering required before optional
118
109
  function sortParametersByRequired(a, b) {
@@ -285,35 +276,11 @@ export function getParamName(param) {
285
276
  if (param.location === "client") {
286
277
  paramName = `client.${paramName}`;
287
278
  }
288
- // client parameters with default values aren't emitted as pointer-to-type
289
- if (!go.isRequiredParameter(param.style) &&
290
- !(param.location === "client" && go.isClientSideDefault(param.style)) &&
291
- !param.byValue) {
279
+ if (param.type.kind === "ptr") {
292
280
  paramName = `*${paramName}`;
293
281
  }
294
282
  return paramName;
295
283
  }
296
- export function fixUpMethodName(method) {
297
- switch (method.kind) {
298
- case "lroMethod":
299
- case "lroPageableMethod":
300
- return `Begin${method.name}`;
301
- case "pageableMethod": {
302
- let N = "N";
303
- let name = method.name;
304
- if (method.name[0] !== method.name[0].toUpperCase()) {
305
- // the method isn't exported; don't export the pager ctor
306
- N = "n";
307
- // ensure correct casing of the emitted function name e.g.,
308
- // "listThings" -> "newListThingsPager"
309
- name = name[0].toUpperCase() + name.substring(1);
310
- }
311
- return `${N}ew${name}Pager`;
312
- }
313
- case "method":
314
- return method.name;
315
- }
316
- }
317
284
  // converts the Go code model encoding type to the type name in the standard library
318
285
  export function formatBytesEncoding(enc) {
319
286
  if (enc === "URL") {
@@ -343,21 +310,20 @@ export function formatParamValue(param, imports, indent) {
343
310
  content += `${indent.pop().get()}}(), "${separator}")`;
344
311
  return content;
345
312
  };
346
- switch (param.type.elementType.kind) {
313
+ const unwrappedElement = go.unwrapPtr(param.type.itemType);
314
+ switch (unwrappedElement.kind) {
347
315
  case "encodedBytes":
348
316
  imports.add("encoding/base64");
349
317
  imports.add("strings");
350
- return emitConvertOver(param.name, `base64.${formatBytesEncoding(param.type.elementType.encoding)}Encoding.EncodeToString(${param.name}[i])`);
318
+ return emitConvertOver(param.name, `base64.${formatBytesEncoding(unwrappedElement.encoding)}Encoding.EncodeToString(${param.name}[i])`);
351
319
  case "string":
352
320
  imports.add("strings");
353
321
  return `strings.Join(${paramName}, "${separator}")`;
354
322
  case "time": {
355
323
  imports.add("strings");
356
324
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
357
- const elemVal = param.type.elementType.utc
358
- ? `${param.name}[i].UTC()`
359
- : `${param.name}[i]`;
360
- return emitConvertOver(param.name, `datetime.${param.type.elementType.format}(${elemVal}).String()`);
325
+ const elemVal = unwrappedElement.utc ? `${param.name}[i].UTC()` : `${param.name}[i]`;
326
+ return emitConvertOver(param.name, `datetime.${unwrappedElement.format}(${elemVal}).String()`);
361
327
  }
362
328
  default:
363
329
  imports.add("fmt");
@@ -366,7 +332,9 @@ export function formatParamValue(param, imports, indent) {
366
332
  }
367
333
  }
368
334
  }
369
- return formatValue(paramName, param.type, imports);
335
+ // when we called getParamName it includes any dereference for a Ptr
336
+ // parameter, so we unwrap it here else we end up with a double deref
337
+ return formatValue(paramName, go.unwrapPtr(param.type), imports);
370
338
  }
371
339
  /**
372
340
  * returns the receiver definition for a client
@@ -463,17 +431,15 @@ export function emitTimeParsing(srcVar, time, dstVar, imports, indent) {
463
431
  }
464
432
  return text;
465
433
  }
466
- export function formatValue(paramName, type, imports, deref) {
434
+ export function formatValue(paramName, type, imports) {
467
435
  // callers don't have enough context to know if paramName needs to be
468
436
  // dereferenced so we track that here when specified. note that not all
469
437
  // cases will require paramName to be dereferenced.
470
- let star = "";
471
- if (deref === true) {
472
- star = "*";
473
- }
474
- switch (type.kind) {
438
+ const star = deref(type);
439
+ const unwrappedType = go.unwrapPtr(type);
440
+ switch (unwrappedType.kind) {
475
441
  case "constant":
476
- if (type.type === "string") {
442
+ if (unwrappedType.type === "string") {
477
443
  return `string(${star}${paramName})`;
478
444
  }
479
445
  imports.add("fmt");
@@ -481,19 +447,19 @@ export function formatValue(paramName, type, imports, deref) {
481
447
  case "encodedBytes":
482
448
  // a base-64 encoded value in string format
483
449
  imports.add("encoding/base64");
484
- return `base64.${formatBytesEncoding(type.encoding)}Encoding.EncodeToString(${paramName})`;
450
+ return `base64.${formatBytesEncoding(unwrappedType.encoding)}Encoding.EncodeToString(${paramName})`;
485
451
  case "etag":
486
452
  return `string(${star}${paramName})`;
487
453
  case "literal":
488
454
  // cannot use formatLiteralValue() since all values are treated as strings
489
- switch (type.type.kind) {
455
+ switch (unwrappedType.type.kind) {
490
456
  case "constantDef":
491
- return type.type.name;
457
+ return unwrappedType.type.name;
492
458
  default:
493
- return `"${type.literal}"`;
459
+ return `"${unwrappedType.literal}"`;
494
460
  }
495
461
  case "scalar":
496
- switch (type.type) {
462
+ switch (unwrappedType.type) {
497
463
  case "bool":
498
464
  imports.add("strconv");
499
465
  return `strconv.FormatBool(${star}${paramName})`;
@@ -510,12 +476,12 @@ export function formatValue(paramName, type, imports, deref) {
510
476
  imports.add("strconv");
511
477
  return `strconv.FormatInt(${star}${paramName}, 10)`;
512
478
  default:
513
- throw new CodegenError("InternalError", `unhandled scalar type ${type.type}`);
479
+ throw new CodegenError("InternalError", `unhandled scalar type ${unwrappedType.type}`);
514
480
  }
515
481
  case "time": {
516
482
  imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/datetime");
517
- const timeVal = type.utc ? `(${star}${paramName}).UTC()` : `${star}${paramName}`;
518
- return `datetime.${type.format}(${timeVal}).String()`;
483
+ const timeVal = unwrappedType.utc ? `(${star}${paramName}).UTC()` : `${star}${paramName}`;
484
+ return `datetime.${unwrappedType.format}(${timeVal}).String()`;
519
485
  }
520
486
  default:
521
487
  return `${star}${paramName}`;
@@ -579,9 +545,8 @@ export function getResultFieldName(method) {
579
545
  case "monomorphicResult":
580
546
  return result.fieldName;
581
547
  case "modelResult":
582
- return result.modelType.name;
583
548
  case "polymorphicResult":
584
- return result.interface.name;
549
+ return result.type.name;
585
550
  }
586
551
  }
587
552
  export function formatStatusCodes(statusCodes) {
@@ -887,21 +852,17 @@ export function getBitSizeForNumber(intSize) {
887
852
  export function recursiveUnwrapMapSlice(item) {
888
853
  switch (item.kind) {
889
854
  case "map":
890
- return recursiveUnwrapMapSlice(item.valueType);
891
855
  case "slice":
892
- return recursiveUnwrapMapSlice(item.elementType);
856
+ return recursiveUnwrapMapSlice(item.itemType);
857
+ case "ptr":
858
+ return recursiveUnwrapMapSlice(item.ptrType);
893
859
  default:
894
860
  return item;
895
861
  }
896
862
  }
897
- /**
898
- * returns a * character when byValue is false
899
- *
900
- * @param byValue indicates if the type is passed by value
901
- * @returns a * or the empty string
902
- */
903
- export function star(byValue) {
904
- return byValue ? "" : "*";
863
+ /** returns a * character when needing to dereference */
864
+ export function deref(type) {
865
+ return type.kind === "ptr" ? "*" : "";
905
866
  }
906
867
  /**
907
868
  * returns the zero-value expression for the specific parameter
@@ -984,16 +945,14 @@ export function getSerDeFormat(model, pkg) {
984
945
  }
985
946
  break;
986
947
  case "modelResult":
987
- recursiveWalkModelFields(resultType.modelType, resultType.format);
948
+ case "polymorphicResult":
949
+ recursiveWalkModelFields(resultType.type, resultType.format);
988
950
  break;
989
951
  case "monomorphicResult":
990
952
  if (resultType.format === "JSON" || resultType.format === "XML") {
991
- recursiveWalkModelFields(resultType.monomorphicType, resultType.format);
953
+ recursiveWalkModelFields(resultType.type, resultType.format);
992
954
  }
993
955
  break;
994
- case "polymorphicResult":
995
- recursiveWalkModelFields(resultType.interface, resultType.format);
996
- break;
997
956
  }
998
957
  }
999
958
  }