@azure-tools/typespec-go 0.10.6 → 0.11.0

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 (71) hide show
  1. package/dist/codegen.go/src/core/clientFactory.d.ts.map +1 -1
  2. package/dist/codegen.go/src/core/clientFactory.js +18 -15
  3. package/dist/codegen.go/src/core/clientFactory.js.map +1 -1
  4. package/dist/codegen.go/src/core/cloudConfig.d.ts.map +1 -1
  5. package/dist/codegen.go/src/core/cloudConfig.js +4 -3
  6. package/dist/codegen.go/src/core/cloudConfig.js.map +1 -1
  7. package/dist/codegen.go/src/core/constants.d.ts.map +1 -1
  8. package/dist/codegen.go/src/core/constants.js +6 -4
  9. package/dist/codegen.go/src/core/constants.js.map +1 -1
  10. package/dist/codegen.go/src/core/example.d.ts.map +1 -1
  11. package/dist/codegen.go/src/core/example.js +57 -52
  12. package/dist/codegen.go/src/core/example.js.map +1 -1
  13. package/dist/codegen.go/src/core/helpers.d.ts +27 -11
  14. package/dist/codegen.go/src/core/helpers.d.ts.map +1 -1
  15. package/dist/codegen.go/src/core/helpers.js +39 -15
  16. package/dist/codegen.go/src/core/helpers.js.map +1 -1
  17. package/dist/codegen.go/src/core/interfaces.d.ts.map +1 -1
  18. package/dist/codegen.go/src/core/interfaces.js +4 -3
  19. package/dist/codegen.go/src/core/interfaces.js.map +1 -1
  20. package/dist/codegen.go/src/core/models.d.ts.map +1 -1
  21. package/dist/codegen.go/src/core/models.js +304 -237
  22. package/dist/codegen.go/src/core/models.js.map +1 -1
  23. package/dist/codegen.go/src/core/operations.d.ts.map +1 -1
  24. package/dist/codegen.go/src/core/operations.js +585 -382
  25. package/dist/codegen.go/src/core/operations.js.map +1 -1
  26. package/dist/codegen.go/src/core/options.js +3 -2
  27. package/dist/codegen.go/src/core/options.js.map +1 -1
  28. package/dist/codegen.go/src/core/polymorphics.d.ts.map +1 -1
  29. package/dist/codegen.go/src/core/polymorphics.js +55 -48
  30. package/dist/codegen.go/src/core/polymorphics.js.map +1 -1
  31. package/dist/codegen.go/src/core/responses.d.ts.map +1 -1
  32. package/dist/codegen.go/src/core/responses.js +28 -19
  33. package/dist/codegen.go/src/core/responses.js.map +1 -1
  34. package/dist/codegen.go/src/core/version.d.ts.map +1 -1
  35. package/dist/codegen.go/src/core/version.js +3 -2
  36. package/dist/codegen.go/src/core/version.js.map +1 -1
  37. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
  38. package/dist/codegen.go/src/fake/factory.js +2 -2
  39. package/dist/codegen.go/src/fake/factory.js.map +1 -1
  40. package/dist/codegen.go/src/fake/internal.js +1 -10
  41. package/dist/codegen.go/src/fake/internal.js.map +1 -1
  42. package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
  43. package/dist/codegen.go/src/fake/servers.js +316 -290
  44. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  45. package/dist/codemodel.go/src/client.d.ts +37 -2
  46. package/dist/codemodel.go/src/client.d.ts.map +1 -1
  47. package/dist/codemodel.go/src/client.js +13 -0
  48. package/dist/codemodel.go/src/client.js.map +1 -1
  49. package/dist/codemodel.go/src/type.d.ts +7 -1
  50. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  51. package/dist/codemodel.go/src/type.js +1 -0
  52. package/dist/codemodel.go/src/type.js.map +1 -1
  53. package/dist/naming.go/src/naming.d.ts.map +1 -1
  54. package/dist/naming.go/src/naming.js +2 -1
  55. package/dist/naming.go/src/naming.js.map +1 -1
  56. package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
  57. package/dist/typespec-go/src/tcgcadapter/adapter.js +1 -2
  58. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  59. package/dist/typespec-go/src/tcgcadapter/clients.d.ts +8 -0
  60. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  61. package/dist/typespec-go/src/tcgcadapter/clients.js +140 -67
  62. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  63. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts +37 -1
  64. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +1 -1
  65. package/dist/typespec-go/src/tcgcadapter/helpers.js +82 -48
  66. package/dist/typespec-go/src/tcgcadapter/helpers.js.map +1 -1
  67. package/dist/typespec-go/src/tcgcadapter/types.d.ts +1 -0
  68. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  69. package/dist/typespec-go/src/tcgcadapter/types.js +55 -2
  70. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  71. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,14 @@ export declare class ClientAdapter {
39
39
  */
40
40
  private adaptURIParam;
41
41
  private adaptMethod;
42
+ /**
43
+ * creates the pageable strategy based on the method definition.
44
+ * returns undefined if no strategy is required.
45
+ *
46
+ * @param sdkMethod the tcgc pageable method for which to create a strategy
47
+ * @returns the pageable strategy or undefined
48
+ */
49
+ private adaptPagingStrategy;
42
50
  private populateMethod;
43
51
  private adaptMethodParameters;
44
52
  private adaptContentType;
@@ -1 +1 @@
1
- {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAmBA,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;IAmBZ,OAAO,CAAC,oBAAoB;IAqS5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAajC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,WAAW;IAoHnB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,qBAAqB;IAgR7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA2K5B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,qBAAqB;IA6M7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,0BAA0B;IA8FlC,OAAO,CAAC,gBAAgB;CAyGzB"}
1
+ {"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAmBA,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;IAmBZ,OAAO,CAAC,oBAAoB;IAqS5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAajC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,WAAW;IA8GnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAuE3B,OAAO,CAAC,cAAc;IA0DtB,OAAO,CAAC,qBAAqB;IAkS7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAyK5B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,qBAAqB;IAyN7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,0BAA0B;IA8FlC,OAAO,CAAC,gBAAgB;CAyGzB"}
@@ -429,7 +429,7 @@ export class ClientAdapter {
429
429
  }
430
430
  }
431
431
  const setLROInfo = function (goMethod, sdkMethod) {
432
- const lroOptions = hasDecorator('Azure.Core.@useFinalStateVia', sdkMethod.decorators);
432
+ const lroOptions = helpers.hasDecorator('@useFinalStateVia', sdkMethod.decorators);
433
433
  if (lroOptions) {
434
434
  goMethod.finalStateVia = lroOptions['finalState'];
435
435
  }
@@ -442,34 +442,26 @@ export class ClientAdapter {
442
442
  .join('.');
443
443
  }
444
444
  };
445
- const setPageableInfo = function (goMethod, sdkMethod) {
446
- if (sdkMethod.pagingMetadata.nextLinkVerb) {
447
- switch (sdkMethod.pagingMetadata.nextLinkVerb) {
448
- case 'GET':
449
- // we default to GET in the ctor for PageableMethod
450
- break;
451
- case 'POST':
452
- goMethod.nextLinkVerb = 'post';
453
- break;
454
- default:
455
- sdkMethod.pagingMetadata.nextLinkVerb;
456
- }
457
- }
458
- if (sdkMethod.pagingMetadata.nextLinkSegments) {
459
- goMethod.nextLinkName = capitalize(sdkMethod.pagingMetadata.nextLinkSegments
460
- .map((segment) => {
461
- if (segment.kind === 'property') {
462
- return ensureNameCase(segment.name);
445
+ const setPageableInfo = (goMethod, sdkMethod) => {
446
+ return (paramsMap, respHeadersMap) => {
447
+ if (sdkMethod.pagingMetadata.nextLinkVerb) {
448
+ switch (sdkMethod.pagingMetadata.nextLinkVerb) {
449
+ case 'GET':
450
+ // we default to GET in the ctor for PageableMethod
451
+ break;
452
+ case 'POST':
453
+ goMethod.nextLinkVerb = 'post';
454
+ break;
455
+ default:
456
+ sdkMethod.pagingMetadata.nextLinkVerb;
463
457
  }
464
- else {
465
- throw new AdapterError('UnsupportedTsp', `unsupported next link segment kind ${segment.kind}`, sdkMethod.__raw?.node);
466
- }
467
- })
468
- .join('.'));
469
- }
458
+ }
459
+ goMethod.strategy = this.adaptPagingStrategy(sdkMethod, paramsMap, respHeadersMap);
460
+ };
470
461
  };
471
462
  const statusCodes = getStatusCodes(sdkMethod.operation);
472
463
  let method;
464
+ let applyPageableInfo;
473
465
  switch (sdkMethod.kind) {
474
466
  case 'basic':
475
467
  method = new go.SyncMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
@@ -479,7 +471,7 @@ export class ClientAdapter {
479
471
  throw new AdapterError('UnsupportedTsp', `paging with re-injected parameters is not supported`, sdkMethod.__raw?.node);
480
472
  }
481
473
  method = new go.PageableMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
482
- setPageableInfo(method, sdkMethod);
474
+ applyPageableInfo = setPageableInfo(method, sdkMethod);
483
475
  break;
484
476
  case 'lro':
485
477
  method = new go.LROMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
@@ -488,7 +480,7 @@ export class ClientAdapter {
488
480
  case 'lropaging':
489
481
  method = new go.LROPageableMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
490
482
  setLROInfo(method, sdkMethod);
491
- setPageableInfo(method, sdkMethod);
483
+ applyPageableInfo = setPageableInfo(method, sdkMethod);
492
484
  break;
493
485
  default:
494
486
  sdkMethod;
@@ -497,7 +489,79 @@ export class ClientAdapter {
497
489
  method.docs.summary = sdkMethod.summary;
498
490
  method.docs.description = sdkMethod.doc;
499
491
  goClient.methods.push(method);
500
- this.populateMethod(sdkMethod, method);
492
+ const pageableInfo = this.populateMethod(sdkMethod, method);
493
+ // NOTE: we can't apply pageable info until the method has been populated
494
+ applyPageableInfo?.(pageableInfo.params, pageableInfo.respHeaders);
495
+ }
496
+ /**
497
+ * creates the pageable strategy based on the method definition.
498
+ * returns undefined if no strategy is required.
499
+ *
500
+ * @param sdkMethod the tcgc pageable method for which to create a strategy
501
+ * @returns the pageable strategy or undefined
502
+ */
503
+ adaptPagingStrategy(sdkMethod, paramsMap, respHeadersMap) {
504
+ const buildNextLinkPath = (segments) => {
505
+ // build the field path for the next link segments
506
+ const nextLinkPath = new Array();
507
+ for (const segment of segments) {
508
+ if (segment.kind !== 'property') {
509
+ throw new AdapterError('InternalError', `unexpected kind ${segment.kind} for next link segment in operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
510
+ }
511
+ const nextLinkField = this.ta.fieldsMap.get(segment);
512
+ if (!nextLinkField) {
513
+ // the most likely explanation for this is lack of reference equality
514
+ throw new AdapterError('InternalError', `missing next link field name ${segment.name} for operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
515
+ }
516
+ nextLinkPath.push(nextLinkField);
517
+ }
518
+ return nextLinkPath;
519
+ };
520
+ if (sdkMethod.pagingMetadata.nextLinkOperation) {
521
+ throw new AdapterError('UnsupportedTsp', 'next page operation NYI', sdkMethod.__raw?.node);
522
+ }
523
+ else if (sdkMethod.pagingMetadata.nextLinkSegments) {
524
+ return new go.PageableStrategyNextLink(buildNextLinkPath(sdkMethod.pagingMetadata.nextLinkSegments));
525
+ }
526
+ else if (sdkMethod.pagingMetadata.continuationTokenParameterSegments && sdkMethod.pagingMetadata.continuationTokenResponseSegments) {
527
+ const tokenReq = sdkMethod.pagingMetadata.continuationTokenParameterSegments[0];
528
+ const tokenResp = sdkMethod.pagingMetadata.continuationTokenResponseSegments[0];
529
+ // find the continuation token parameter
530
+ let requestToken;
531
+ switch (tokenReq.kind) {
532
+ case 'method': {
533
+ const tokenParam = paramsMap.get(tokenReq);
534
+ if (!tokenParam) {
535
+ throw new AdapterError('InternalError', `missing continuation token request parameter name ${tokenReq.name} for operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
536
+ }
537
+ requestToken = tokenParam;
538
+ break;
539
+ }
540
+ default:
541
+ throw new AdapterError('InternalError', `unhandled continuationTokenParameterSegment kind ${tokenReq.kind}`, tokenReq.__raw?.node);
542
+ }
543
+ // find the continuation token response
544
+ let responseToken;
545
+ switch (tokenResp.kind) {
546
+ case 'property': {
547
+ responseToken = new go.PageableStrategyNextLink(buildNextLinkPath(sdkMethod.pagingMetadata.continuationTokenResponseSegments));
548
+ break;
549
+ }
550
+ case 'responseheader': {
551
+ const tokenHeader = respHeadersMap.get(tokenResp);
552
+ if (!tokenHeader) {
553
+ throw new AdapterError('InternalError', `missing continuation token response header name ${tokenResp.name} for operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
554
+ }
555
+ responseToken = tokenHeader;
556
+ break;
557
+ }
558
+ default:
559
+ throw new AdapterError('InternalError', `missing continuation token`, sdkMethod.__raw?.node);
560
+ }
561
+ return new go.PageableStrategyContinuationToken(requestToken, responseToken);
562
+ }
563
+ // operation is pageable but doesn't yet support fetching subsequent pages
564
+ return undefined;
501
565
  }
502
566
  populateMethod(sdkMethod, method) {
503
567
  if (method.kind === 'nextPageMethod') {
@@ -525,7 +589,8 @@ export class ClientAdapter {
525
589
  }
526
590
  method.optionalParamsGroup = new go.ParameterGroup(this.ta.getPkg(), optsGroupName, optionalParamsGroupName, false, 'method');
527
591
  method.optionalParamsGroup.docs.summary = createOptionsTypeDescription(optionalParamsGroupName, this.getMethodNameForDocComment(method));
528
- method.returns = this.adaptResponseEnvelope(sdkMethod, method);
592
+ const respInfo = this.adaptResponseEnvelope(sdkMethod, method);
593
+ method.returns = respInfo.respEnv;
529
594
  // find the api version param to use for the doc comment.
530
595
  // we can't use sdkMethod.apiVersions as that includes all
531
596
  // of the api versions supported by the service.
@@ -539,11 +604,16 @@ export class ClientAdapter {
539
604
  // we must do this after adapting method params as it can add optional params
540
605
  this.ta.getPkg().paramGroups.push(this.adaptParameterGroup(method.optionalParamsGroup));
541
606
  if (this.ta.codeModel.options.generateExamples) {
542
- this.adaptHttpOperationExamples(sdkMethod, method, paramMapping);
607
+ this.adaptHttpOperationExamples(sdkMethod, method, paramMapping.exampleParams);
543
608
  }
609
+ return {
610
+ params: paramMapping.paramsMap,
611
+ respHeaders: respInfo.respHeaders,
612
+ };
544
613
  }
545
614
  adaptMethodParameters(sdkMethod, method) {
546
615
  const paramMapping = new Map();
616
+ const pageableParamsMap = new Map();
547
617
  let optionalGroup;
548
618
  if (method.kind !== 'nextPageMethod') {
549
619
  // NextPageMethods don't have optional params
@@ -731,9 +801,19 @@ export class ClientAdapter {
731
801
  }
732
802
  else {
733
803
  adaptedParam = this.adaptMethodParameter(opParam, method.httpMethod);
804
+ if (method.kind !== 'nextPageMethod' && go.isPageableMethod(method)) {
805
+ switch (adaptedParam.kind) {
806
+ case 'headerScalarParam':
807
+ case 'queryScalarParam':
808
+ pageableParamsMap.set(param, adaptedParam);
809
+ }
810
+ }
734
811
  }
735
812
  adaptedParam.docs.summary = param.summary;
736
813
  adaptedParam.docs.description = param.doc;
814
+ if (go.isClientSideDefault(adaptedParam.style) && !adaptedParam.docs.summary && !adaptedParam.docs.description) {
815
+ adaptedParam.docs.summary = helpers.getClientDefaultValueDoc(adaptedParam.style.defaultValue);
816
+ }
737
817
  addParameterToMethod(adaptedParam, opParam);
738
818
  if (adaptedParam.style !== 'required' && adaptedParam.style !== 'literal') {
739
819
  // add optional method param to the options param group
@@ -783,7 +863,10 @@ export class ClientAdapter {
783
863
  }
784
864
  }
785
865
  }
786
- return paramMapping;
866
+ return {
867
+ exampleParams: paramMapping,
868
+ paramsMap: pageableParamsMap,
869
+ };
787
870
  }
788
871
  adaptContentType(contentTypeStr) {
789
872
  // we only recognize/support JSON, text, and XML content types, so assume anything else is binary
@@ -884,11 +967,9 @@ export class ClientAdapter {
884
967
  }
885
968
  adaptedParam = new go.BodyParameter(paramName, contentType, `"${opParam.defaultContentType}"`, bodyType, paramStyle, byVal);
886
969
  if (contentType === 'XML' && methodParam.type.kind === 'array') {
887
- adaptedParam.xml = helpers.adaptXMLInfo(this.ta.getPkg(), methodParam.type.decorators);
888
- if (!adaptedParam.xml) {
889
- adaptedParam.xml = new go.XMLInfo();
890
- adaptedParam.xml.wrapper = methodParam.type.name;
891
- }
970
+ // this is for compat with autorest.go
971
+ adaptedParam.xml = new go.XMLInfo();
972
+ adaptedParam.xml.wrapper = methodParam.type.name;
892
973
  }
893
974
  }
894
975
  break;
@@ -974,6 +1055,7 @@ export class ClientAdapter {
974
1055
  }
975
1056
  const respEnv = new go.ResponseEnvelope(respEnvName, { summary: createResponseEnvelopeDescription(respEnvName, this.getMethodNameForDocComment(method)) }, method);
976
1057
  this.ta.getPkg().responseEnvelopes.push(respEnv);
1058
+ const pageableRespHeadersMap = new Map();
977
1059
  // add any headers
978
1060
  const addedHeaders = new Set();
979
1061
  if (!go.isLROMethod(method)) {
@@ -992,6 +1074,9 @@ export class ClientAdapter {
992
1074
  }
993
1075
  else {
994
1076
  headerResp = new go.HeaderScalarResponse(ensureNameCase(httpHeader.name), this.adaptHeaderScalarType(httpHeader.type, false), httpHeader.serializedName, helpers.isTypePassedByValue(httpHeader.type));
1077
+ if (go.isPageableMethod(method)) {
1078
+ pageableRespHeadersMap.set(httpHeader, headerResp);
1079
+ }
995
1080
  }
996
1081
  headerResp.docs.summary = httpHeader.summary;
997
1082
  headerResp.docs.description = httpHeader.doc;
@@ -1008,7 +1093,10 @@ export class ClientAdapter {
1008
1093
  }
1009
1094
  if (!sdkResponseType) {
1010
1095
  // method doesn't return a type, so we're done
1011
- return respEnv;
1096
+ return {
1097
+ respEnv: respEnv,
1098
+ respHeaders: pageableRespHeadersMap,
1099
+ };
1012
1100
  }
1013
1101
  if (sdkResponseType.kind === 'nullable') {
1014
1102
  // unwrap the nullable type, this will only happen for operations with two responses and one of them does not have a body
@@ -1059,7 +1147,10 @@ export class ClientAdapter {
1059
1147
  if (contentType === 'binary') {
1060
1148
  respEnv.result = new go.BinaryResult('Body');
1061
1149
  respEnv.result.docs.summary = 'Body contains the streaming response.';
1062
- return respEnv;
1150
+ return {
1151
+ respEnv: respEnv,
1152
+ respHeaders: pageableRespHeadersMap,
1153
+ };
1063
1154
  }
1064
1155
  else if (sdkResponseType.kind === 'model') {
1065
1156
  let modelType;
@@ -1120,18 +1211,13 @@ export class ClientAdapter {
1120
1211
  if (go.isMonomorphicResultType(resultType)) {
1121
1212
  let fieldName;
1122
1213
  let xmlInfo;
1123
- if (contentType === 'XML') {
1124
- xmlInfo = helpers.adaptXMLInfo(method.receiver.type.pkg, sdkResponseType.decorators);
1125
- if (!xmlInfo) {
1126
- xmlInfo = new go.XMLInfo();
1127
- }
1128
- if (sdkResponseType.kind === 'array') {
1129
- // this is for compat with autorest.go
1130
- fieldName = sdkResponseType.name;
1131
- const elementType = resultType.elementType;
1132
- const elementTypeXmlName = helpers.hasXMLInfo(elementType)?.wrapper;
1133
- xmlInfo.wraps = elementTypeXmlName ?? go.getTypeDeclaration(elementType, method.receiver.type.pkg);
1134
- }
1214
+ if (contentType === 'XML' && sdkResponseType.kind === 'array') {
1215
+ // this is for compat with autorest.go
1216
+ xmlInfo = new go.XMLInfo();
1217
+ fieldName = sdkResponseType.name;
1218
+ const elementType = resultType.elementType;
1219
+ const elementTypeXmlName = helpers.hasXMLInfo(elementType)?.name;
1220
+ xmlInfo.wraps = elementTypeXmlName ?? go.getTypeDeclaration(elementType, method.receiver.type.pkg);
1135
1221
  }
1136
1222
  if (!fieldName) {
1137
1223
  fieldName = this.recursiveTypeName(sdkResponseType, false);
@@ -1148,7 +1234,10 @@ export class ClientAdapter {
1148
1234
  throw new AdapterError('InternalError', `invalid monomorphic result type ${resultType.kind}`, sdkResponseType.__raw?.node);
1149
1235
  }
1150
1236
  }
1151
- return respEnv;
1237
+ return {
1238
+ respEnv: respEnv,
1239
+ respHeaders: pageableRespHeadersMap,
1240
+ };
1152
1241
  }
1153
1242
  /**
1154
1243
  * creates the monomorphic response field name based on its type.
@@ -1498,22 +1587,6 @@ export class ClientAdapter {
1498
1587
  throw new AdapterError('InternalError', `can not map go type into example type ${exampleType.kind}`);
1499
1588
  }
1500
1589
  }
1501
- /**
1502
- * returns the record for the specified decorator's arguments if it exists
1503
- *
1504
- * @param name the name of the decorator to find
1505
- * @param decorators the array of decorators to search
1506
- * @returns the decorator's record of arguments or undefined
1507
- */
1508
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
1509
- function hasDecorator(name, decorators) {
1510
- for (const decorator of decorators) {
1511
- if (decorator.name === name) {
1512
- return decorator.arguments;
1513
- }
1514
- }
1515
- return undefined;
1516
- }
1517
1590
  function isHttpStatusCodeRange(statusCode) {
1518
1591
  return statusCode.start !== undefined;
1519
1592
  }