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

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 (56) hide show
  1. package/dist/src/codegen/core/example.js +11 -11
  2. package/dist/src/codegen/core/example.js.map +1 -1
  3. package/dist/src/codegen/core/helpers.d.ts +3 -8
  4. package/dist/src/codegen/core/helpers.d.ts.map +1 -1
  5. package/dist/src/codegen/core/helpers.js +28 -44
  6. package/dist/src/codegen/core/helpers.js.map +1 -1
  7. package/dist/src/codegen/core/imports.d.ts.map +1 -1
  8. package/dist/src/codegen/core/imports.js +3 -0
  9. package/dist/src/codegen/core/imports.js.map +1 -1
  10. package/dist/src/codegen/core/models.js +98 -96
  11. package/dist/src/codegen/core/models.js.map +1 -1
  12. package/dist/src/codegen/core/operations.js +4 -4
  13. package/dist/src/codegen/core/operations.js.map +1 -1
  14. package/dist/src/codegen/core/options.js +1 -5
  15. package/dist/src/codegen/core/options.js.map +1 -1
  16. package/dist/src/codegen/core/request-handler.d.ts.map +1 -1
  17. package/dist/src/codegen/core/request-handler.js +19 -15
  18. package/dist/src/codegen/core/request-handler.js.map +1 -1
  19. package/dist/src/codegen/core/response-handler.js +12 -10
  20. package/dist/src/codegen/core/response-handler.js.map +1 -1
  21. package/dist/src/codegen/core/responses.js +2 -10
  22. package/dist/src/codegen/core/responses.js.map +1 -1
  23. package/dist/src/codegen/core/unions.js +21 -16
  24. package/dist/src/codegen/core/unions.js.map +1 -1
  25. package/dist/src/codegen/fake/servers.js +81 -68
  26. package/dist/src/codegen/fake/servers.js.map +1 -1
  27. package/dist/src/codemodel/client.js +1 -1
  28. package/dist/src/codemodel/client.js.map +1 -1
  29. package/dist/src/codemodel/method.d.ts +1 -3
  30. package/dist/src/codemodel/method.d.ts.map +1 -1
  31. package/dist/src/codemodel/method.js +1 -2
  32. package/dist/src/codemodel/method.js.map +1 -1
  33. package/dist/src/codemodel/param.d.ts +40 -26
  34. package/dist/src/codemodel/param.d.ts.map +1 -1
  35. package/dist/src/codemodel/param.js +33 -33
  36. package/dist/src/codemodel/param.js.map +1 -1
  37. package/dist/src/codemodel/result.d.ts +11 -9
  38. package/dist/src/codemodel/result.d.ts.map +1 -1
  39. package/dist/src/codemodel/result.js +2 -4
  40. package/dist/src/codemodel/result.js.map +1 -1
  41. package/dist/src/codemodel/type.d.ts +62 -27
  42. package/dist/src/codemodel/type.d.ts.map +1 -1
  43. package/dist/src/codemodel/type.js +53 -21
  44. package/dist/src/codemodel/type.js.map +1 -1
  45. package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
  46. package/dist/src/tcgcadapter/clients.js +41 -44
  47. package/dist/src/tcgcadapter/clients.js.map +1 -1
  48. package/dist/src/tcgcadapter/helpers.d.ts +2 -8
  49. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  50. package/dist/src/tcgcadapter/helpers.js +20 -18
  51. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  52. package/dist/src/tcgcadapter/types.d.ts +5 -3
  53. package/dist/src/tcgcadapter/types.d.ts.map +1 -1
  54. package/dist/src/tcgcadapter/types.js +73 -27
  55. package/dist/src/tcgcadapter/types.js.map +1 -1
  56. package/package.json +23 -23
@@ -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`;
@@ -239,7 +239,7 @@ 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.monomorphicType.kind !== "ptr";
243
243
  }
244
244
  else if (method.returns.result?.kind === "polymorphicResult") {
245
245
  resultFieldName = method.returns.result.interface.name;
@@ -317,7 +317,7 @@ 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.elementType.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
323
  const isElementPolymorphic = example.type.elementType.kind === "interface";
@@ -330,7 +330,7 @@ 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;
333
+ const isValueByValue = example.type.valueType.kind !== "ptr";
334
334
  const isValuePolymorphic = example.type.valueType.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`;
@@ -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;
354
+ const isAdditionalPropertiesFieldByValue = additionalPropertiesField.type.valueType.kind !== "ptr";
355
355
  const isAdditionalPropertiesPolymorphic = additionalPropertiesField.type.valueType.kind === "interface";
356
- exampleText += `${indent}\t${additionalPropertiesField.name}: ${getRef(additionalPropertiesField.byValue)}${go.getTypeDeclaration(additionalPropertiesField.type, pkg)}{\n`;
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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"}
@@ -98,7 +98,7 @@ export declare function emitScalarParsing(scalar: go.Scalar | go.Constant, src:
98
98
  * @returns the time parsing code
99
99
  */
100
100
  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;
101
+ export declare function formatValue(paramName: string, type: go.WireType, imports: ImportManager): string;
102
102
  export declare function formatLiteralValue(value: go.Literal, withCast: boolean): string;
103
103
  export declare function getResultFieldName(method: go.MethodType): string;
104
104
  export declare function formatStatusCodes(statusCodes: Array<number>): string;
@@ -108,13 +108,8 @@ export declare function formatDocCommentWithPrefix(prefix: string, docs: go.Docs
108
108
  export declare function formatDocComment(docs: go.Docs): string;
109
109
  export declare function getBitSizeForNumber(intSize: "float32" | "float64" | "int8" | "int16" | "int32" | "int64"): string;
110
110
  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;
111
+ /** returns a * character when needing to dereference */
112
+ export declare function deref(type: go.WireType): "*" | "";
118
113
  /**
119
114
  * returns the zero-value expression for the specific parameter
120
115
  *
@@ -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,10 +276,7 @@ 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;
@@ -343,21 +331,20 @@ export function formatParamValue(param, imports, indent) {
343
331
  content += `${indent.pop().get()}}(), "${separator}")`;
344
332
  return content;
345
333
  };
346
- switch (param.type.elementType.kind) {
334
+ const unwrappedElement = go.unwrapPtr(param.type.elementType);
335
+ switch (unwrappedElement.kind) {
347
336
  case "encodedBytes":
348
337
  imports.add("encoding/base64");
349
338
  imports.add("strings");
350
- return emitConvertOver(param.name, `base64.${formatBytesEncoding(param.type.elementType.encoding)}Encoding.EncodeToString(${param.name}[i])`);
339
+ return emitConvertOver(param.name, `base64.${formatBytesEncoding(unwrappedElement.encoding)}Encoding.EncodeToString(${param.name}[i])`);
351
340
  case "string":
352
341
  imports.add("strings");
353
342
  return `strings.Join(${paramName}, "${separator}")`;
354
343
  case "time": {
355
344
  imports.add("strings");
356
345
  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()`);
346
+ const elemVal = unwrappedElement.utc ? `${param.name}[i].UTC()` : `${param.name}[i]`;
347
+ return emitConvertOver(param.name, `datetime.${unwrappedElement.format}(${elemVal}).String()`);
361
348
  }
362
349
  default:
363
350
  imports.add("fmt");
@@ -366,7 +353,9 @@ export function formatParamValue(param, imports, indent) {
366
353
  }
367
354
  }
368
355
  }
369
- return formatValue(paramName, param.type, imports);
356
+ // when we called getParamName it includes any dereference for a Ptr
357
+ // parameter, so we unwrap it here else we end up with a double deref
358
+ return formatValue(paramName, go.unwrapPtr(param.type), imports);
370
359
  }
371
360
  /**
372
361
  * returns the receiver definition for a client
@@ -463,17 +452,15 @@ export function emitTimeParsing(srcVar, time, dstVar, imports, indent) {
463
452
  }
464
453
  return text;
465
454
  }
466
- export function formatValue(paramName, type, imports, deref) {
455
+ export function formatValue(paramName, type, imports) {
467
456
  // callers don't have enough context to know if paramName needs to be
468
457
  // dereferenced so we track that here when specified. note that not all
469
458
  // cases will require paramName to be dereferenced.
470
- let star = "";
471
- if (deref === true) {
472
- star = "*";
473
- }
474
- switch (type.kind) {
459
+ const star = deref(type);
460
+ const unwrappedType = go.unwrapPtr(type);
461
+ switch (unwrappedType.kind) {
475
462
  case "constant":
476
- if (type.type === "string") {
463
+ if (unwrappedType.type === "string") {
477
464
  return `string(${star}${paramName})`;
478
465
  }
479
466
  imports.add("fmt");
@@ -481,19 +468,19 @@ export function formatValue(paramName, type, imports, deref) {
481
468
  case "encodedBytes":
482
469
  // a base-64 encoded value in string format
483
470
  imports.add("encoding/base64");
484
- return `base64.${formatBytesEncoding(type.encoding)}Encoding.EncodeToString(${paramName})`;
471
+ return `base64.${formatBytesEncoding(unwrappedType.encoding)}Encoding.EncodeToString(${paramName})`;
485
472
  case "etag":
486
473
  return `string(${star}${paramName})`;
487
474
  case "literal":
488
475
  // cannot use formatLiteralValue() since all values are treated as strings
489
- switch (type.type.kind) {
476
+ switch (unwrappedType.type.kind) {
490
477
  case "constantDef":
491
- return type.type.name;
478
+ return unwrappedType.type.name;
492
479
  default:
493
- return `"${type.literal}"`;
480
+ return `"${unwrappedType.literal}"`;
494
481
  }
495
482
  case "scalar":
496
- switch (type.type) {
483
+ switch (unwrappedType.type) {
497
484
  case "bool":
498
485
  imports.add("strconv");
499
486
  return `strconv.FormatBool(${star}${paramName})`;
@@ -510,12 +497,12 @@ export function formatValue(paramName, type, imports, deref) {
510
497
  imports.add("strconv");
511
498
  return `strconv.FormatInt(${star}${paramName}, 10)`;
512
499
  default:
513
- throw new CodegenError("InternalError", `unhandled scalar type ${type.type}`);
500
+ throw new CodegenError("InternalError", `unhandled scalar type ${unwrappedType.type}`);
514
501
  }
515
502
  case "time": {
516
503
  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()`;
504
+ const timeVal = unwrappedType.utc ? `(${star}${paramName}).UTC()` : `${star}${paramName}`;
505
+ return `datetime.${unwrappedType.format}(${timeVal}).String()`;
519
506
  }
520
507
  default:
521
508
  return `${star}${paramName}`;
@@ -888,20 +875,17 @@ export function recursiveUnwrapMapSlice(item) {
888
875
  switch (item.kind) {
889
876
  case "map":
890
877
  return recursiveUnwrapMapSlice(item.valueType);
878
+ case "ptr":
879
+ return recursiveUnwrapMapSlice(item.ptrType);
891
880
  case "slice":
892
881
  return recursiveUnwrapMapSlice(item.elementType);
893
882
  default:
894
883
  return item;
895
884
  }
896
885
  }
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 ? "" : "*";
886
+ /** returns a * character when needing to dereference */
887
+ export function deref(type) {
888
+ return type.kind === "ptr" ? "*" : "";
905
889
  }
906
890
  /**
907
891
  * returns the zero-value expression for the specific parameter