@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.
- package/dist/codegen.go/src/core/clientFactory.d.ts.map +1 -1
- package/dist/codegen.go/src/core/clientFactory.js +18 -15
- package/dist/codegen.go/src/core/clientFactory.js.map +1 -1
- package/dist/codegen.go/src/core/cloudConfig.d.ts.map +1 -1
- package/dist/codegen.go/src/core/cloudConfig.js +4 -3
- package/dist/codegen.go/src/core/cloudConfig.js.map +1 -1
- package/dist/codegen.go/src/core/constants.d.ts.map +1 -1
- package/dist/codegen.go/src/core/constants.js +6 -4
- package/dist/codegen.go/src/core/constants.js.map +1 -1
- package/dist/codegen.go/src/core/example.d.ts.map +1 -1
- package/dist/codegen.go/src/core/example.js +57 -52
- package/dist/codegen.go/src/core/example.js.map +1 -1
- package/dist/codegen.go/src/core/helpers.d.ts +27 -11
- package/dist/codegen.go/src/core/helpers.d.ts.map +1 -1
- package/dist/codegen.go/src/core/helpers.js +39 -15
- package/dist/codegen.go/src/core/helpers.js.map +1 -1
- package/dist/codegen.go/src/core/interfaces.d.ts.map +1 -1
- package/dist/codegen.go/src/core/interfaces.js +4 -3
- package/dist/codegen.go/src/core/interfaces.js.map +1 -1
- package/dist/codegen.go/src/core/models.d.ts.map +1 -1
- package/dist/codegen.go/src/core/models.js +304 -237
- package/dist/codegen.go/src/core/models.js.map +1 -1
- package/dist/codegen.go/src/core/operations.d.ts.map +1 -1
- package/dist/codegen.go/src/core/operations.js +585 -382
- package/dist/codegen.go/src/core/operations.js.map +1 -1
- package/dist/codegen.go/src/core/options.js +3 -2
- package/dist/codegen.go/src/core/options.js.map +1 -1
- package/dist/codegen.go/src/core/polymorphics.d.ts.map +1 -1
- package/dist/codegen.go/src/core/polymorphics.js +55 -48
- package/dist/codegen.go/src/core/polymorphics.js.map +1 -1
- package/dist/codegen.go/src/core/responses.d.ts.map +1 -1
- package/dist/codegen.go/src/core/responses.js +28 -19
- package/dist/codegen.go/src/core/responses.js.map +1 -1
- package/dist/codegen.go/src/core/version.d.ts.map +1 -1
- package/dist/codegen.go/src/core/version.js +3 -2
- package/dist/codegen.go/src/core/version.js.map +1 -1
- package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/factory.js +2 -2
- package/dist/codegen.go/src/fake/factory.js.map +1 -1
- package/dist/codegen.go/src/fake/internal.js +1 -10
- package/dist/codegen.go/src/fake/internal.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +316 -290
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codemodel.go/src/client.d.ts +37 -2
- package/dist/codemodel.go/src/client.d.ts.map +1 -1
- package/dist/codemodel.go/src/client.js +13 -0
- package/dist/codemodel.go/src/client.js.map +1 -1
- package/dist/codemodel.go/src/type.d.ts +7 -1
- package/dist/codemodel.go/src/type.d.ts.map +1 -1
- package/dist/codemodel.go/src/type.js +1 -0
- package/dist/codemodel.go/src/type.js.map +1 -1
- package/dist/naming.go/src/naming.d.ts.map +1 -1
- package/dist/naming.go/src/naming.js +2 -1
- package/dist/naming.go/src/naming.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +1 -2
- package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts +8 -0
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +140 -67
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.d.ts +37 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.js +82 -48
- package/dist/typespec-go/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +1 -0
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +55 -2
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;CAAG;AAE3C,+EAA+E;AAC/E,MAAM,OAAO,OAAO;IAClB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA0C;QAC5D,
|
|
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;
|
|
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('
|
|
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 =
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
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
|
-
|
|
465
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
888
|
-
|
|
889
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
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
|
|
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
|
}
|