@azure-tools/typespec-go 0.17.4 → 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 (63) hide show
  1. package/dist/src/codegen/core/example.js +20 -20
  2. package/dist/src/codegen/core/example.js.map +1 -1
  3. package/dist/src/codegen/core/helpers.d.ts +3 -9
  4. package/dist/src/codegen/core/helpers.d.ts.map +1 -1
  5. package/dist/src/codegen/core/helpers.js +33 -74
  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 +4 -3
  9. package/dist/src/codegen/core/imports.js.map +1 -1
  10. package/dist/src/codegen/core/models.d.ts.map +1 -1
  11. package/dist/src/codegen/core/models.js +193 -143
  12. package/dist/src/codegen/core/models.js.map +1 -1
  13. package/dist/src/codegen/core/operations.js +11 -17
  14. package/dist/src/codegen/core/operations.js.map +1 -1
  15. package/dist/src/codegen/core/options.js +1 -5
  16. package/dist/src/codegen/core/options.js.map +1 -1
  17. package/dist/src/codegen/core/polymorphics.d.ts.map +1 -1
  18. package/dist/src/codegen/core/polymorphics.js +3 -5
  19. package/dist/src/codegen/core/polymorphics.js.map +1 -1
  20. package/dist/src/codegen/core/request-handler.d.ts.map +1 -1
  21. package/dist/src/codegen/core/request-handler.js +29 -22
  22. package/dist/src/codegen/core/request-handler.js.map +1 -1
  23. package/dist/src/codegen/core/response-handler.js +17 -15
  24. package/dist/src/codegen/core/response-handler.js.map +1 -1
  25. package/dist/src/codegen/core/responses.js +8 -22
  26. package/dist/src/codegen/core/responses.js.map +1 -1
  27. package/dist/src/codegen/core/unions.js +21 -16
  28. package/dist/src/codegen/core/unions.js.map +1 -1
  29. package/dist/src/codegen/fake/servers.js +105 -98
  30. package/dist/src/codegen/fake/servers.js.map +1 -1
  31. package/dist/src/codemodel/client.d.ts +8 -3
  32. package/dist/src/codemodel/client.d.ts.map +1 -1
  33. package/dist/src/codemodel/client.js +3 -3
  34. package/dist/src/codemodel/client.js.map +1 -1
  35. package/dist/src/codemodel/method.d.ts +1 -3
  36. package/dist/src/codemodel/method.d.ts.map +1 -1
  37. package/dist/src/codemodel/method.js +1 -2
  38. package/dist/src/codemodel/method.js.map +1 -1
  39. package/dist/src/codemodel/param.d.ts +41 -29
  40. package/dist/src/codemodel/param.d.ts.map +1 -1
  41. package/dist/src/codemodel/param.js +33 -33
  42. package/dist/src/codemodel/param.js.map +1 -1
  43. package/dist/src/codemodel/result.d.ts +21 -15
  44. package/dist/src/codemodel/result.d.ts.map +1 -1
  45. package/dist/src/codemodel/result.js +8 -24
  46. package/dist/src/codemodel/result.js.map +1 -1
  47. package/dist/src/codemodel/type.d.ts +83 -54
  48. package/dist/src/codemodel/type.d.ts.map +1 -1
  49. package/dist/src/codemodel/type.js +68 -30
  50. package/dist/src/codemodel/type.js.map +1 -1
  51. package/dist/src/tcgcadapter/clients.d.ts +2 -1
  52. package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
  53. package/dist/src/tcgcadapter/clients.js +99 -107
  54. package/dist/src/tcgcadapter/clients.js.map +1 -1
  55. package/dist/src/tcgcadapter/helpers.d.ts +8 -27
  56. package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
  57. package/dist/src/tcgcadapter/helpers.js +32 -87
  58. package/dist/src/tcgcadapter/helpers.js.map +1 -1
  59. package/dist/src/tcgcadapter/types.d.ts +5 -3
  60. package/dist/src/tcgcadapter/types.d.ts.map +1 -1
  61. package/dist/src/tcgcadapter/types.js +113 -45
  62. package/dist/src/tcgcadapter/types.js.map +1 -1
  63. package/package.json +28 -28
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/codemodel/type.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,8 @@ export declare class ClientAdapter {
73
73
  * uses a MultipartContent type with the content type baked in.
74
74
  */
75
75
  private adaptMultipartFormParameter;
76
- private getMethodNameForDocComment;
76
+ private getMethodName;
77
+ private getFullyQualifiedMethodName;
77
78
  private adaptResponseEnvelope;
78
79
  /**
79
80
  * creates the monomorphic response field name based on its type.
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAc;IAKjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAI/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAErD,EAAE,EAAE,WAAW;IAM3B;;;OAGG;IACH,YAAY;IAyBZ,OAAO,CAAC,oBAAoB;IAiV5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,WAAW;IAmJnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAmH3B;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAqC5C,OAAO,CAAC,cAAc;IAqGtB,OAAO,CAAC,qBAAqB;IAgY7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA6S5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAoDnC,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,qBAAqB;IA0T7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAwDzB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,0BAA0B;IA2JlC,OAAO,CAAC,gBAAgB;CA0HzB"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAc;IAKjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAI/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAErD,EAAE,EAAE,WAAW;IAM3B;;;OAGG;IACH,YAAY;IAyBZ,OAAO,CAAC,oBAAoB;IAiV5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAiC3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,WAAW;IA0InB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAmH3B;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAqC5C,OAAO,CAAC,cAAc;IAkGtB,OAAO,CAAC,qBAAqB;IA+X7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAoS5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAuDnC,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,qBAAqB;IA+T7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAwDzB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,0BAA0B;IAiJlC,OAAO,CAAC,gBAAgB;CA2HzB"}
@@ -7,7 +7,7 @@ import * as tcgc from "@azure-tools/typespec-client-generator-core";
7
7
  import { NoTarget } from "@typespec/compiler";
8
8
  import * as http from "@typespec/http";
9
9
  import * as go from "../codemodel/index.js";
10
- import { capitalize, createOptionsTypeDescription, createResponseEnvelopeDescription, ensureNameCase, getEscapedReservedName, uncapitalize, } from "../naming/naming.js";
10
+ import { capitalize, createOptionsTypeDescription, createResponseEnvelopeDescription, ensureNameCase, getEscapedReservedName, } from "../naming/naming.js";
11
11
  import { AdapterError } from "./errors.js";
12
12
  import * as helpers from "./helpers.js";
13
13
  import { TypeAdapter } from "./types.js";
@@ -379,7 +379,7 @@ export class ClientAdapter {
379
379
  if (existsOnParent) {
380
380
  continue;
381
381
  }
382
- const adaptedParam = new go.Parameter(getEscapedReservedName(helpers.getEffectiveName(param, true), "Param"), this.ta.getWireType(param.type, true, true), true);
382
+ const adaptedParam = new go.Parameter(getEscapedReservedName(helpers.getEffectiveName(param, true), "Param"), this.ta.getWireType(param.type, true, true));
383
383
  adaptedParam.docs.summary = param.summary;
384
384
  adaptedParam.docs.description = param.doc;
385
385
  clientAccessor.parameters.push(adaptedParam);
@@ -394,19 +394,15 @@ export class ClientAdapter {
394
394
  * @returns the adapted URI parameter
395
395
  */
396
396
  adaptURIParam(sdkParam, forceRequired) {
397
- let paramType;
398
- if (sdkParam.isApiVersionParam) {
399
- paramType = this.ta.getStringType();
400
- }
401
- else {
402
- paramType = this.ta.getWireType(sdkParam.type, true, false);
403
- }
397
+ const paramType = sdkParam.isApiVersionParam
398
+ ? this.ta.getStringType()
399
+ : this.ta.getWireType(sdkParam.type, true, false);
404
400
  if (go.isURIParameterType(paramType)) {
405
401
  const style = forceRequired ? "required" : this.adaptParameterStyle(sdkParam);
406
402
  if (this.ta.codeModel.type === "azure-arm" && !go.isRequiredParameter(style)) {
407
403
  throw new AdapterError("UnsupportedTsp", "optional client parameters for ARM is not supported", sdkParam.__raw?.node);
408
404
  }
409
- const uriParam = new go.URIParameter(sdkParam.name, sdkParam.serializedName, paramType, style, helpers.isTypePassedByValue(sdkParam.type) || !sdkParam.optional, "client");
405
+ const uriParam = new go.URIParameter(sdkParam.name, sdkParam.serializedName, sdkParam.optional ? this.ta.getPtrType(paramType) : paramType, style, "client");
410
406
  uriParam.docs.summary = sdkParam.summary;
411
407
  uriParam.docs.description = sdkParam.doc;
412
408
  uriParam.isApiVersion = sdkParam.isApiVersionParam;
@@ -415,10 +411,9 @@ export class ClientAdapter {
415
411
  throw new AdapterError("UnsupportedTsp", `unsupported URI parameter type ${paramType.kind}`, sdkParam.__raw?.node);
416
412
  }
417
413
  adaptMethod(sdkMethod, goClient) {
418
- const opName = helpers.getEffectiveName(sdkMethod, true);
419
- const createReqName = helpers.getEffectiveName(sdkMethod, true, "CreateRequest");
420
- const handleRespName = helpers.getEffectiveName(sdkMethod, true, "HandleResponse");
421
- const naming = new go.MethodNaming(getEscapedReservedName(opName, "Operation"), createReqName, handleRespName);
414
+ const exportOperation = (sdkMethod.kind === "basic" || sdkMethod.kind === "paging") &&
415
+ sdkMethod.access !== "internal";
416
+ const naming = new go.MethodNaming(helpers.getEffectiveName(sdkMethod, !exportOperation), helpers.getEffectiveName(sdkMethod, true, "CreateRequest"), helpers.getEffectiveName(sdkMethod, true, "HandleResponse"));
422
417
  const getStatusCodes = function (httpOp) {
423
418
  const statusCodes = new Array();
424
419
  for (const response of httpOp.responses) {
@@ -434,16 +429,7 @@ export class ClientAdapter {
434
429
  }
435
430
  return statusCodes;
436
431
  };
437
- let methodName = helpers.getEffectiveName(sdkMethod);
438
- if (sdkMethod.access === "internal") {
439
- methodName = uncapitalize(methodName);
440
- if (sdkMethod.kind === "basic") {
441
- // we add internal to the extra list so we don't end up with a method named "internal"
442
- // which will collide with an unexported field with the same name. we don't need to
443
- // do this for pagers/pollers as those methods get extra naming.
444
- methodName = getEscapedReservedName(methodName, "Method", ["internal"]);
445
- }
446
- }
432
+ const methodName = this.getMethodName(sdkMethod);
447
433
  const setLROInfo = function (goMethod, sdkMethod) {
448
434
  const lroOptions = helpers.hasDecorator("@useFinalStateVia", sdkMethod.decorators);
449
435
  if (lroOptions) {
@@ -616,16 +602,12 @@ export class ClientAdapter {
616
602
  if (method.kind === "nextPageMethod") {
617
603
  throw new AdapterError("UnsupportedTsp", `unsupported method kind ${sdkMethod.kind}`, sdkMethod.__raw?.node);
618
604
  }
619
- let prefix = method.receiver.type.name;
620
- if (this.ta.ctx.emitContext.options["single-client"]) {
621
- prefix = "";
622
- }
623
- if (go.isLROMethod(method)) {
624
- prefix += "Begin";
625
- }
626
- let optionalParamsGroupName = `${prefix}${method.name}Options`;
605
+ const prefix = this.ta.ctx.emitContext.options["single-client"]
606
+ ? ""
607
+ : method.receiver.type.name;
608
+ let optionalParamsGroupName = `${prefix}${method.kind === "pageableMethod" ? ensureNameCase(method.naming.operationMethod) : ensureNameCase(method.name)}Options`;
627
609
  if (sdkMethod.access === "internal") {
628
- optionalParamsGroupName = uncapitalize(optionalParamsGroupName);
610
+ optionalParamsGroupName = ensureNameCase(optionalParamsGroupName, true);
629
611
  }
630
612
  let optsGroupName = "options";
631
613
  // if there's an existing required parameter with the name options then pick something else.
@@ -637,7 +619,7 @@ export class ClientAdapter {
637
619
  }
638
620
  }
639
621
  method.optionalParamsGroup = new go.ParameterGroup(this.ta.getPkg(), optsGroupName, optionalParamsGroupName, false, "method");
640
- method.optionalParamsGroup.docs.summary = createOptionsTypeDescription(optionalParamsGroupName, this.getMethodNameForDocComment(method));
622
+ method.optionalParamsGroup.docs.summary = createOptionsTypeDescription(optionalParamsGroupName, this.getFullyQualifiedMethodName(method));
641
623
  const respInfo = this.adaptResponseEnvelope(sdkMethod, method);
642
624
  method.returns = respInfo.respEnv;
643
625
  const paramMapping = this.adaptMethodParameters(sdkMethod, method);
@@ -664,10 +646,12 @@ export class ClientAdapter {
664
646
  bodyParam.contentType = new go.ParameterRef(contentTypeParam.name);
665
647
  break;
666
648
  default: {
667
- const style = go.isClientSideDefault(contentTypeParam.style)
668
- ? "client-side default"
669
- : contentTypeParam.style;
670
- throw new AdapterError("UnsupportedTsp", `unexpected content-type style ${style}`, sdkMethod.__raw?.node);
649
+ if (go.isClientSideDefault(contentTypeParam.style)) {
650
+ bodyParam.contentType = new go.ParameterRef(contentTypeParam.name);
651
+ }
652
+ else {
653
+ throw new AdapterError("UnsupportedTsp", `unexpected content-type style ${contentTypeParam.style}`, sdkMethod.__raw?.node);
654
+ }
671
655
  }
672
656
  }
673
657
  }
@@ -749,9 +733,7 @@ export class ClientAdapter {
749
733
  const paramStyle = this.adaptParameterStyle(param);
750
734
  const paramName = getEscapedReservedName(helpers.getEffectiveName(param, paramStyle === "required"), "Param");
751
735
  // if the param is required then it's always passed by value
752
- const byVal = go.isRequiredParameter(paramStyle)
753
- ? true
754
- : helpers.isTypePassedByValue(param.type);
736
+ const isRequired = go.isRequiredParameter(paramStyle);
755
737
  const contentType = this.adaptContentType(opParam.defaultContentType);
756
738
  const getSerializedNameFromProperty = function (property) {
757
739
  if (contentType === "JSON") {
@@ -779,16 +761,19 @@ export class ClientAdapter {
779
761
  if (!serializedName) {
780
762
  throw new AdapterError("InternalError", `didn't find body model property for spread parameter ${param.name}`, param.__raw?.node);
781
763
  }
782
- adaptedParam = new go.PartialBodyParameter(paramName, serializedName, contentType, this.ta.getWireType(param.type, true, true), paramStyle, byVal);
764
+ const paramType = this.ta.getWireType(param.type, true, true);
765
+ adaptedParam = new go.PartialBodyParameter(paramName, serializedName, contentType, !isRequired && helpers.isPtrType(paramType)
766
+ ? this.ta.getPtrType(paramType)
767
+ : paramType, paramStyle);
783
768
  break;
784
769
  }
785
770
  case "binary":
786
771
  if (isMultipartBodyType(opParam.type)) {
787
- adaptedParam = this.adaptMultipartFormParameter(param.name, opParam.type, paramStyle, byVal);
772
+ adaptedParam = this.adaptMultipartFormParameter(param.name, opParam.type, paramStyle, isRequired);
788
773
  }
789
774
  else {
790
775
  const contentTypeLiteral = this.ta.getLiteral(this.ta.getStringType(), opParam.defaultContentType);
791
- adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, this.ta.getReadSeekCloser(false), paramStyle, byVal);
776
+ adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, this.ta.getReadSeekCloser(false), paramStyle);
792
777
  }
793
778
  break;
794
779
  default:
@@ -1002,13 +987,13 @@ export class ClientAdapter {
1002
987
  let apiVersionParam;
1003
988
  switch (opParam.kind) {
1004
989
  case "header":
1005
- apiVersionParam = new go.HeaderScalarParameter("apiVersion", opParam.serializedName, paramType, paramStyle, true, paramLoc);
990
+ apiVersionParam = new go.HeaderScalarParameter("apiVersion", opParam.serializedName, paramType, paramStyle, paramLoc);
1006
991
  break;
1007
992
  case "path":
1008
- apiVersionParam = new go.PathScalarParameter("apiVersion", opParam.serializedName, true, paramType, paramType.kind === "literal" ? new go.ClientSideDefault(paramType) : paramStyle, true, paramLoc);
993
+ apiVersionParam = new go.PathScalarParameter("apiVersion", opParam.serializedName, true, paramType, paramType.kind === "literal" ? new go.ClientSideDefault(paramType) : paramStyle, paramLoc);
1009
994
  break;
1010
995
  case "query":
1011
- apiVersionParam = new go.QueryScalarParameter("apiVersion", opParam.serializedName, true, paramType, paramStyle, true, paramLoc);
996
+ apiVersionParam = new go.QueryScalarParameter("apiVersion", opParam.serializedName, true, paramType, paramStyle, paramLoc);
1012
997
  break;
1013
998
  default:
1014
999
  throw new AdapterError("UnsupportedTsp", `unsupported API version param kind ${opParam.kind}`, opParam.__raw?.node);
@@ -1053,9 +1038,8 @@ export class ClientAdapter {
1053
1038
  }
1054
1039
  }
1055
1040
  const paramName = getEscapedReservedName(helpers.getEffectiveName(methodParam, paramStyle === "required"), "Param");
1056
- const byVal = go.isRequiredParameter(paramStyle)
1057
- ? true
1058
- : helpers.isTypePassedByValue(methodParam.type);
1041
+ // required and literal params are always passed by value
1042
+ const byVal = go.isRequiredParameter(paramStyle) || paramStyle === "literal";
1059
1043
  let adaptedParam;
1060
1044
  switch (opParam.kind) {
1061
1045
  case "body":
@@ -1070,43 +1054,44 @@ export class ClientAdapter {
1070
1054
  bodyType = this.ta.getReadSeekCloser(methodParam.type.kind === "array");
1071
1055
  }
1072
1056
  const contentTypeLiteral = this.ta.getLiteral(this.ta.getStringType(), opParam.defaultContentType);
1073
- adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, bodyType, paramStyle, byVal);
1057
+ adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, !byVal && helpers.isPtrType(bodyType) ? this.ta.getPtrType(bodyType) : bodyType, paramStyle);
1074
1058
  if (contentType === "XML" && methodParam.type.kind === "array") {
1075
1059
  // this is for compat with legacy behavior
1076
- adaptedParam.xml = new go.XMLInfo();
1077
- adaptedParam.xml.wrapper = methodParam.type.name;
1060
+ adaptedParam.xmlWrapper = methodParam.type.name;
1078
1061
  }
1079
1062
  }
1080
1063
  break;
1081
1064
  case "cookie":
1082
1065
  // TODO: currently we don't have Azure service using cookie parameter. need to add support if needed in the future.
1083
1066
  throw new AdapterError("UnsupportedTsp", "unsupported parameter type cookie", opParam.__raw?.node);
1084
- case "header":
1067
+ case "header": {
1085
1068
  const type = this.ta.getWireType(methodParam.type, true, false);
1086
1069
  if (type.kind === "map") {
1087
1070
  if (opParam.serializedName !== "x-ms-meta") {
1088
1071
  throw new AdapterError("InternalError", `unexpected kind ${type.kind} for header ${opParam.serializedName}`, opParam.__raw?.node);
1089
1072
  }
1090
- adaptedParam = new go.HeaderMapParameter(paramName, `${opParam.serializedName}-`, type, paramStyle, byVal, location);
1073
+ adaptedParam = new go.HeaderMapParameter(paramName, `${opParam.serializedName}-`, type, paramStyle, location);
1091
1074
  }
1092
1075
  else if (opParam.collectionFormat) {
1093
1076
  if (opParam.collectionFormat === "multi" || opParam.collectionFormat === "form") {
1094
1077
  throw new AdapterError("InternalError", `unexpected collection format ${opParam.collectionFormat} for HeaderCollectionParameter`, opParam.__raw?.node);
1095
1078
  }
1096
- // TODO: is hard-coded false for element type by value correct?
1097
- const type = this.ta.getWireType(methodParam.type, true, false);
1098
1079
  if (type.kind !== "slice") {
1099
1080
  throw new AdapterError("InternalError", `unexpected kind ${type.kind} for HeaderCollectionParameter ${methodParam.name}`, opParam.__raw?.node);
1100
1081
  }
1101
- adaptedParam = new go.HeaderCollectionParameter(paramName, opParam.serializedName, type, opParam.collectionFormat === "simple" ? "csv" : opParam.collectionFormat, paramStyle, byVal, location);
1082
+ adaptedParam = new go.HeaderCollectionParameter(paramName, opParam.serializedName, type, opParam.collectionFormat === "simple" ? "csv" : opParam.collectionFormat, paramStyle, location);
1102
1083
  }
1103
1084
  else {
1104
- adaptedParam = new go.HeaderScalarParameter(paramName, opParam.serializedName, this.adaptHeaderScalarType(methodParam.type, true), paramStyle, byVal, location);
1085
+ const type = this.adaptHeaderScalarType(methodParam.type, true);
1086
+ adaptedParam = new go.HeaderScalarParameter(paramName, opParam.serializedName, !byVal && helpers.isPtrType(type) ? this.ta.getPtrType(type) : type, paramStyle, location);
1105
1087
  }
1106
1088
  break;
1107
- case "path":
1108
- adaptedParam = new go.PathScalarParameter(paramName, opParam.serializedName, !opParam.allowReserved, this.adaptPathScalarParameterType(methodParam.type), paramStyle, byVal, location);
1089
+ }
1090
+ case "path": {
1091
+ const type = this.adaptPathScalarParameterType(methodParam.type);
1092
+ adaptedParam = new go.PathScalarParameter(paramName, opParam.serializedName, !opParam.allowReserved, !byVal && helpers.isPtrType(type) ? this.ta.getPtrType(type) : type, paramStyle, location);
1109
1093
  break;
1094
+ }
1110
1095
  case "query":
1111
1096
  if (opParam.collectionFormat) {
1112
1097
  const type = this.ta.getWireType(methodParam.type, true, false);
@@ -1118,11 +1103,12 @@ export class ClientAdapter {
1118
1103
  ? "csv"
1119
1104
  : opParam.collectionFormat === "form"
1120
1105
  ? "multi"
1121
- : opParam.collectionFormat, paramStyle, byVal, location);
1106
+ : opParam.collectionFormat, paramStyle, location);
1122
1107
  }
1123
1108
  else {
1124
1109
  // TODO: unencoded query param
1125
- adaptedParam = new go.QueryScalarParameter(paramName, opParam.serializedName, true, this.adaptQueryScalarParameterType(methodParam.type), paramStyle, byVal, location);
1110
+ const type = this.adaptQueryScalarParameterType(methodParam.type);
1111
+ adaptedParam = new go.QueryScalarParameter(paramName, opParam.serializedName, true, !byVal && helpers.isPtrType(type) ? this.ta.getPtrType(type) : type, paramStyle, location);
1126
1112
  }
1127
1113
  break;
1128
1114
  }
@@ -1168,42 +1154,57 @@ export class ClientAdapter {
1168
1154
  }
1169
1155
  else {
1170
1156
  type = this.ta.getWireType(paramAsSdkType, true, true);
1157
+ if (!byVal && helpers.isPtrType(type)) {
1158
+ type = this.ta.getPtrType(type);
1159
+ }
1171
1160
  }
1172
1161
  paramName = getEscapedReservedName(helpers.getEffectiveName({ name: paramName, isExactName }, paramStyle === "required"), "Param");
1173
- return new go.MultipartFormBodyParameter(paramName, type, paramStyle, byVal);
1162
+ return new go.MultipartFormBodyParameter(paramName, type, paramStyle);
1174
1163
  }
1175
- getMethodNameForDocComment(method) {
1164
+ getMethodName(sdkMethod) {
1176
1165
  let methodName;
1177
- switch (method.kind) {
1178
- case "lroMethod":
1179
- case "lroPageableMethod":
1180
- methodName = `Begin${method.name}`;
1166
+ const unexport = sdkMethod.access === "internal";
1167
+ switch (sdkMethod.kind) {
1168
+ case "basic":
1169
+ methodName = helpers.getEffectiveName(sdkMethod, unexport);
1170
+ if (unexport) {
1171
+ // we add internal to the extra list so we don't end up with a method named "internal"
1172
+ // which will collide with an unexported field with the same name. we don't need to
1173
+ // do this for pagers/pollers as those methods get extra naming.
1174
+ methodName = getEscapedReservedName(methodName, "Method", ["internal"]);
1175
+ }
1181
1176
  break;
1182
- case "method":
1183
- methodName = method.name;
1177
+ case "lro":
1178
+ case "lropaging":
1179
+ methodName = `${unexport ? "begin" : "Begin"}${helpers.getEffectiveName(sdkMethod, false)}`;
1184
1180
  break;
1185
- case "pageableMethod":
1186
- methodName = `New${method.name}Pager`;
1181
+ case "paging":
1182
+ methodName = `${unexport ? "new" : "New"}${helpers.getEffectiveName(sdkMethod, false)}Pager`;
1187
1183
  break;
1188
1184
  }
1189
- return `${method.receiver.type.name}.${methodName}`;
1185
+ return methodName;
1186
+ }
1187
+ getFullyQualifiedMethodName(method) {
1188
+ return `${method.receiver.type.name}.${method.name}`;
1190
1189
  }
1191
1190
  adaptResponseEnvelope(sdkMethod, method) {
1192
1191
  // TODO: add Envelope suffix if name collides with existing type
1193
- let prefix = method.receiver.type.name;
1194
- if (this.ta.ctx.emitContext.options["single-client"]) {
1195
- prefix = "";
1196
- }
1197
- let respEnvName = `${prefix}${method.name}Response`;
1192
+ const prefix = this.ta.ctx.emitContext.options["single-client"]
1193
+ ? ""
1194
+ : method.receiver.type.name;
1195
+ const methodName = go.isLROMethod(method) || go.isPageableMethod(method)
1196
+ ? ensureNameCase(method.naming.operationMethod)
1197
+ : ensureNameCase(method.name);
1198
+ let respEnvName = `${prefix}${methodName}Response`;
1198
1199
  if (sdkMethod.access === "internal") {
1199
- respEnvName = uncapitalize(respEnvName);
1200
+ respEnvName = ensureNameCase(respEnvName, true);
1200
1201
  }
1201
1202
  const customName = helpers.getClientOption("responseEnvelopeName", sdkMethod, this.ta.ctx.program);
1202
1203
  if (customName) {
1203
1204
  respEnvName = customName;
1204
1205
  }
1205
1206
  const respEnv = new go.ResponseEnvelope(respEnvName, {
1206
- summary: createResponseEnvelopeDescription(respEnvName, this.getMethodNameForDocComment(method)),
1207
+ summary: createResponseEnvelopeDescription(respEnvName, this.getFullyQualifiedMethodName(method)),
1207
1208
  }, method);
1208
1209
  this.ta.getPkg().responseEnvelopes.push(respEnv);
1209
1210
  const pageableRespHeadersMap = new Map();
@@ -1229,7 +1230,8 @@ export class ClientAdapter {
1229
1230
  headerResp = new go.HeaderMapResponse(helpers.getEffectiveName(httpHeader), type, `${httpHeader.serializedName}-`);
1230
1231
  }
1231
1232
  else {
1232
- headerResp = new go.HeaderScalarResponse(helpers.getEffectiveName(httpHeader), this.adaptHeaderScalarType(httpHeader.type, false), httpHeader.serializedName, helpers.isTypePassedByValue(httpHeader.type));
1233
+ const type = this.adaptHeaderScalarType(httpHeader.type, false);
1234
+ headerResp = new go.HeaderScalarResponse(helpers.getEffectiveName(httpHeader), helpers.isPtrType(type) ? this.ta.getPtrType(type) : type, httpHeader.serializedName);
1233
1235
  if (go.isPageableMethod(method)) {
1234
1236
  pageableRespHeadersMap.set(httpHeader, headerResp);
1235
1237
  }
@@ -1297,8 +1299,9 @@ export class ClientAdapter {
1297
1299
  // TODO: https://github.com/Azure/typespec-azure/issues/535
1298
1300
  contentType = "JSON";
1299
1301
  }
1300
- else if (sdkResponseType.kind === "bytes" && sdkResponseType.encode === "bytes") {
1301
- // bytes type with bytes encoding indicates a streaming binary response
1302
+ else if ((sdkResponseType.kind === "bytes" && sdkResponseType.encode === "bytes") ||
1303
+ (sdkResponseType.kind === "model" && helpers.isHttpFileType(sdkResponseType))) {
1304
+ // bytes type with bytes encoding, or a TypeSpec.Http.File type, indicates a streaming binary response
1302
1305
  contentType = "binary";
1303
1306
  }
1304
1307
  else if (sdkResponseType.kind === "union") {
@@ -1388,14 +1391,13 @@ export class ClientAdapter {
1388
1391
  const resultType = this.ta.getWireType(sdkResponseType, false, false);
1389
1392
  if (go.isMonomorphicResultType(resultType)) {
1390
1393
  let fieldName;
1391
- let xmlInfo;
1394
+ let xmlWrapper;
1392
1395
  if (contentType === "XML" && sdkResponseType.kind === "array") {
1393
1396
  // this is for compat with legacy behavior
1394
- xmlInfo = new go.XMLInfo();
1395
1397
  fieldName = sdkResponseType.name;
1396
- const elementType = resultType.elementType;
1397
- const elementTypeXmlName = helpers.hasXMLInfo(elementType)?.name;
1398
- xmlInfo.wraps =
1398
+ const elementType = go.unwrapPtr(resultType.itemType);
1399
+ const elementTypeXmlName = go.hasXMLName(elementType);
1400
+ xmlWrapper =
1399
1401
  elementTypeXmlName ?? go.getTypeDeclaration(elementType, method.receiver.type.pkg);
1400
1402
  }
1401
1403
  if (!fieldName) {
@@ -1406,8 +1408,8 @@ export class ClientAdapter {
1406
1408
  if (customName) {
1407
1409
  fieldName = customName;
1408
1410
  }
1409
- respEnv.result = new go.MonomorphicResult(fieldName, contentType, resultType, helpers.isTypePassedByValue(sdkResponseType));
1410
- respEnv.result.xml = xmlInfo;
1411
+ respEnv.result = new go.MonomorphicResult(fieldName, contentType, helpers.isPtrType(resultType) ? this.ta.getPtrType(resultType) : resultType);
1412
+ respEnv.result.xmlWrapper = xmlWrapper;
1411
1413
  }
1412
1414
  else {
1413
1415
  throw new AdapterError("InternalError", `invalid monomorphic result type ${resultType.kind}`, sdkResponseType.__raw?.node);
@@ -1486,14 +1488,7 @@ export class ClientAdapter {
1486
1488
  if (param.style === "literal") {
1487
1489
  continue;
1488
1490
  }
1489
- let byValue = param.style === "required" ||
1490
- (param.location === "client" && go.isClientSideDefault(param.style));
1491
- // if the param isn't required, check if it should be passed by value or not.
1492
- // optional params that are implicitly nil-able shouldn't be pointer-to-type.
1493
- if (!byValue) {
1494
- byValue = param.byValue;
1495
- }
1496
- const field = new go.StructField(param.name, param.type, byValue);
1491
+ const field = new go.StructField(param.name, param.type);
1497
1492
  field.docs = param.docs;
1498
1493
  structType.fields.push(field);
1499
1494
  }
@@ -1639,13 +1634,9 @@ export class ClientAdapter {
1639
1634
  goExample.responseEnvelope.result = this.adaptExampleType(response.bodyValue, new go.Scalar("byte", false));
1640
1635
  break;
1641
1636
  case "modelResult":
1642
- goExample.responseEnvelope.result = this.adaptExampleType(response.bodyValue, method.returns.result.modelType);
1643
- break;
1644
1637
  case "monomorphicResult":
1645
- goExample.responseEnvelope.result = this.adaptExampleType(response.bodyValue, method.returns.result.monomorphicType);
1646
- break;
1647
1638
  case "polymorphicResult":
1648
- goExample.responseEnvelope.result = this.adaptExampleType(response.bodyValue, method.returns.result.interface);
1639
+ goExample.responseEnvelope.result = this.adaptExampleType(response.bodyValue, method.returns.result.type);
1649
1640
  break;
1650
1641
  }
1651
1642
  }
@@ -1663,6 +1654,7 @@ export class ClientAdapter {
1663
1654
  }
1664
1655
  }
1665
1656
  adaptExampleType(exampleType, goType) {
1657
+ goType = go.unwrapPtr(goType);
1666
1658
  switch (exampleType.kind) {
1667
1659
  case "string":
1668
1660
  switch (goType.kind) {
@@ -1705,7 +1697,7 @@ export class ClientAdapter {
1705
1697
  if (goType.kind === "slice") {
1706
1698
  const ret = new go.ArrayExample(goType);
1707
1699
  for (const v of exampleType.value) {
1708
- ret.value.push(this.adaptExampleType(v, goType.elementType));
1700
+ ret.value.push(this.adaptExampleType(v, goType.itemType));
1709
1701
  }
1710
1702
  return ret;
1711
1703
  }
@@ -1714,7 +1706,7 @@ export class ClientAdapter {
1714
1706
  if (goType.kind === "map") {
1715
1707
  const ret = new go.DictionaryExample(goType);
1716
1708
  for (const [k, v] of Object.entries(exampleType.value)) {
1717
- ret.value[k] = this.adaptExampleType(v, goType.valueType);
1709
+ ret.value[k] = this.adaptExampleType(v, goType.itemType);
1718
1710
  }
1719
1711
  return ret;
1720
1712
  }
@@ -1756,7 +1748,7 @@ export class ClientAdapter {
1756
1748
  if (!field) {
1757
1749
  throw new AdapterError("InternalError", `additional properties field not found in model '${concreteType.name}'.`);
1758
1750
  }
1759
- ret.additionalProperties[k] = this.adaptExampleType(v, field.type.valueType);
1751
+ ret.additionalProperties[k] = this.adaptExampleType(v, field.type.itemType);
1760
1752
  }
1761
1753
  }
1762
1754
  return ret;