@azure-tools/typespec-go 0.5.1 → 0.6.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/example.js +75 -75
- package/dist/codegen.go/src/example.js.map +1 -1
- package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
- package/dist/codegen.go/src/fake/factory.js +29 -24
- package/dist/codegen.go/src/fake/factory.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +106 -98
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codegen.go/src/helpers.d.ts +57 -4
- package/dist/codegen.go/src/helpers.d.ts.map +1 -1
- package/dist/codegen.go/src/helpers.js +200 -128
- package/dist/codegen.go/src/helpers.js.map +1 -1
- package/dist/codegen.go/src/imports.d.ts +1 -1
- package/dist/codegen.go/src/imports.d.ts.map +1 -1
- package/dist/codegen.go/src/imports.js +13 -12
- package/dist/codegen.go/src/imports.js.map +1 -1
- package/dist/codegen.go/src/interfaces.js +2 -2
- package/dist/codegen.go/src/interfaces.js.map +1 -1
- package/dist/codegen.go/src/models.d.ts.map +1 -1
- package/dist/codegen.go/src/models.js +81 -81
- package/dist/codegen.go/src/models.js.map +1 -1
- package/dist/codegen.go/src/operations.d.ts.map +1 -1
- package/dist/codegen.go/src/operations.js +100 -113
- package/dist/codegen.go/src/operations.js.map +1 -1
- package/dist/codegen.go/src/options.js +2 -2
- package/dist/codegen.go/src/options.js.map +1 -1
- package/dist/codegen.go/src/polymorphics.d.ts.map +1 -1
- package/dist/codegen.go/src/polymorphics.js +29 -24
- package/dist/codegen.go/src/polymorphics.js.map +1 -1
- package/dist/codegen.go/src/responses.js +2 -2
- package/dist/codegen.go/src/responses.js.map +1 -1
- package/dist/codegen.go/src/time.js +13 -14
- package/dist/codegen.go/src/time.js.map +1 -1
- package/dist/codegen.go/src/xmlAdditionalProps.js +1 -2
- package/dist/codegen.go/src/xmlAdditionalProps.js.map +1 -1
- package/dist/codemodel.go/src/examples.d.ts +20 -20
- package/dist/codemodel.go/src/examples.d.ts.map +1 -1
- package/dist/codemodel.go/src/examples.js +2 -2
- package/dist/codemodel.go/src/examples.js.map +1 -1
- package/dist/codemodel.go/src/package.d.ts +4 -4
- package/dist/codemodel.go/src/package.d.ts.map +1 -1
- package/dist/codemodel.go/src/package.js +3 -3
- package/dist/codemodel.go/src/package.js.map +1 -1
- package/dist/codemodel.go/src/param.d.ts +32 -24
- package/dist/codemodel.go/src/param.d.ts.map +1 -1
- package/dist/codemodel.go/src/param.js +54 -1
- package/dist/codemodel.go/src/param.js.map +1 -1
- package/dist/codemodel.go/src/result.d.ts +12 -10
- package/dist/codemodel.go/src/result.d.ts.map +1 -1
- package/dist/codemodel.go/src/result.js +21 -4
- package/dist/codemodel.go/src/result.js.map +1 -1
- package/dist/codemodel.go/src/type.d.ts +219 -86
- package/dist/codemodel.go/src/type.d.ts.map +1 -1
- package/dist/codemodel.go/src/type.js +137 -127
- package/dist/codemodel.go/src/type.js.map +1 -1
- package/dist/typespec-go/src/emitter.d.ts.map +1 -1
- package/dist/typespec-go/src/emitter.js +80 -0
- package/dist/typespec-go/src/emitter.js.map +1 -1
- package/dist/typespec-go/src/lib.d.ts +1 -0
- package/dist/typespec-go/src/lib.d.ts.map +1 -1
- package/dist/typespec-go/src/lib.js +5 -0
- package/dist/typespec-go/src/lib.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +5 -0
- package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +71 -58
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +3 -3
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +47 -46
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAQtD,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAGD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CA8IvG;
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAQtD,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAGD,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CA8IvG;AAiqCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAoB7D"}
|
|
@@ -231,82 +231,72 @@ function formatHeaderResponseValue(headerResp, imports, respObj, zeroResp) {
|
|
|
231
231
|
let text = `\tif val := resp.Header.Get("${headerResp.headerName}"); val != "" {\n`;
|
|
232
232
|
let name = uncapitalize(headerResp.fieldName);
|
|
233
233
|
let byRef = '&';
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
imports.add('
|
|
242
|
-
text += `\t\t${name}, err :=
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
else {
|
|
251
|
-
text += `\t\t${name}, err := strconv.ParseInt(val, 10, 64)\n`;
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
else if (headerResp.type.typeName === 'float32' || headerResp.type.typeName === 'float64') {
|
|
234
|
+
switch (headerResp.type.kind) {
|
|
235
|
+
case 'constant':
|
|
236
|
+
text += `\t\t${respObj}.${headerResp.fieldName} = (*${headerResp.type.name})(&val)\n`;
|
|
237
|
+
text += '\t}\n';
|
|
238
|
+
return text;
|
|
239
|
+
case 'encodedBytes':
|
|
240
|
+
// a base-64 encoded value in string format
|
|
241
|
+
imports.add('encoding/base64');
|
|
242
|
+
text += `\t\t${name}, err := base64.${helpers.formatBytesEncoding(headerResp.type.encoding)}Encoding.DecodeString(val)\n`;
|
|
243
|
+
byRef = '';
|
|
244
|
+
break;
|
|
245
|
+
case 'literal':
|
|
246
|
+
text += `\t\t${respObj}.${headerResp.fieldName} = &val\n`;
|
|
247
|
+
text += '\t}\n';
|
|
248
|
+
return text;
|
|
249
|
+
case 'scalar':
|
|
255
250
|
imports.add('strconv');
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
251
|
+
switch (headerResp.type.type) {
|
|
252
|
+
case 'bool':
|
|
253
|
+
text += `\t\t${name}, err := strconv.ParseBool(val)\n`;
|
|
254
|
+
break;
|
|
255
|
+
case 'float32':
|
|
256
|
+
text += `\t\t${name}32, err := strconv.ParseFloat(val, 32)\n`;
|
|
257
|
+
text += `\t\t${name} := float32(${name}32)\n`;
|
|
258
|
+
break;
|
|
259
|
+
case 'float64':
|
|
260
|
+
text += `\t\t${name}, err := strconv.ParseFloat(val, 64)\n`;
|
|
261
|
+
break;
|
|
262
|
+
case 'int32':
|
|
263
|
+
text += `\t\t${name}32, err := strconv.ParseInt(val, 10, 32)\n`;
|
|
264
|
+
text += `\t\t${name} := int32(${name}32)\n`;
|
|
265
|
+
break;
|
|
266
|
+
case 'int64':
|
|
267
|
+
text += `\t\t${name}, err := strconv.ParseInt(val, 10, 64)\n`;
|
|
268
|
+
break;
|
|
269
|
+
default:
|
|
270
|
+
throw new CodegenError('InternalError', `unhandled scalar type ${headerResp.type.type}`);
|
|
262
271
|
}
|
|
263
|
-
|
|
264
|
-
|
|
272
|
+
break;
|
|
273
|
+
case 'string':
|
|
265
274
|
text += `\t\t${respObj}.${headerResp.fieldName} = &val\n`;
|
|
266
275
|
text += '\t}\n';
|
|
267
276
|
return text;
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
else {
|
|
289
|
-
let format = helpers.datetimeRFC3339Format;
|
|
290
|
-
if (headerResp.type.dateTimeFormat === 'dateTimeRFC1123') {
|
|
291
|
-
format = helpers.datetimeRFC1123Format;
|
|
277
|
+
case 'time':
|
|
278
|
+
imports.add('time');
|
|
279
|
+
switch (headerResp.type.format) {
|
|
280
|
+
case 'dateTimeRFC1123':
|
|
281
|
+
case 'dateTimeRFC3339':
|
|
282
|
+
text += `\t\t${name}, err := time.Parse(${headerResp.type.format === 'dateTimeRFC1123' ? helpers.datetimeRFC1123Format : helpers.datetimeRFC3339Format}, val)\n`;
|
|
283
|
+
break;
|
|
284
|
+
case 'dateType':
|
|
285
|
+
text += `\t\t${name}, err := time.Parse("${helpers.dateFormat}", val)\n`;
|
|
286
|
+
break;
|
|
287
|
+
case 'timeRFC3339':
|
|
288
|
+
text += `\t\t${name}, err := time.Parse("${helpers.timeRFC3339Format}", val)\n`;
|
|
289
|
+
break;
|
|
290
|
+
case 'timeUnix':
|
|
291
|
+
imports.add('strconv');
|
|
292
|
+
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
|
|
293
|
+
text += '\t\tsec, err := strconv.ParseInt(val, 10, 64)\n';
|
|
294
|
+
name = 'to.Ptr(time.Unix(sec, 0))';
|
|
295
|
+
byRef = '';
|
|
296
|
+
break;
|
|
292
297
|
}
|
|
293
|
-
text += `\t\t${name}, err := time.Parse(${format}, val)\n`;
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
else if (go.isBytesType(headerResp.type)) {
|
|
297
|
-
// ByteArray is a base-64 encoded value in string format
|
|
298
|
-
imports.add('encoding/base64');
|
|
299
|
-
text += `\t\t${name}, err := base64.${helpers.formatBytesEncoding(headerResp.type.encoding)}Encoding.DecodeString(val)\n`;
|
|
300
|
-
byRef = '';
|
|
301
|
-
}
|
|
302
|
-
else if (go.isLiteralValue(headerResp.type)) {
|
|
303
|
-
text += `\t\t${respObj}.${headerResp.fieldName} = &val\n`;
|
|
304
|
-
text += '\t}\n';
|
|
305
|
-
return text;
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
throw new CodegenError('InternalError', `unsupported header type ${go.getTypeDeclaration(headerResp.type)}`);
|
|
309
298
|
}
|
|
299
|
+
// NOTE: only cases that required parsing will fall through to here
|
|
310
300
|
text += '\t\tif err != nil {\n';
|
|
311
301
|
text += `\t\t\treturn ${zeroResp}, err\n`;
|
|
312
302
|
text += '\t\t}\n';
|
|
@@ -576,13 +566,10 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
576
566
|
// emit check to ensure path param isn't an empty string. we only need
|
|
577
567
|
// to do this for params that have an underlying type of string.
|
|
578
568
|
const choiceIsString = function (type) {
|
|
579
|
-
|
|
580
|
-
return false;
|
|
581
|
-
}
|
|
582
|
-
return type.type === 'string';
|
|
569
|
+
return type.kind === 'constant' && type.type === 'string';
|
|
583
570
|
};
|
|
584
571
|
// TODO: https://github.com/Azure/autorest.go/issues/1593
|
|
585
|
-
if (pp.kind === 'pathScalarParam' && ((
|
|
572
|
+
if (pp.kind === 'pathScalarParam' && ((pp.type.kind === 'string' || choiceIsString(pp.type)) && pp.isEncoded)) {
|
|
586
573
|
const paramName = helpers.getParamName(pp);
|
|
587
574
|
imports.add('errors');
|
|
588
575
|
text += `\tif ${paramName} == "" {\n`;
|
|
@@ -651,23 +638,23 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
651
638
|
// emit a type conversion for the qv based on the array's element type
|
|
652
639
|
let queryVal;
|
|
653
640
|
const arrayQP = qp.type;
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
641
|
+
switch (arrayQP.elementType.kind) {
|
|
642
|
+
case 'constant':
|
|
643
|
+
switch (arrayQP.elementType.type) {
|
|
644
|
+
case 'string':
|
|
645
|
+
queryVal = 'string(qv)';
|
|
646
|
+
break;
|
|
647
|
+
default:
|
|
648
|
+
imports.add('fmt');
|
|
649
|
+
queryVal = 'fmt.Sprintf("%d", qv)';
|
|
650
|
+
}
|
|
651
|
+
break;
|
|
652
|
+
case 'string':
|
|
653
|
+
queryVal = 'qv';
|
|
654
|
+
break;
|
|
655
|
+
default:
|
|
661
656
|
imports.add('fmt');
|
|
662
|
-
queryVal = 'fmt.Sprintf("%
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
else if (go.isPrimitiveType(arrayQP.elementType) && arrayQP.elementType.typeName === 'string') {
|
|
666
|
-
queryVal = 'qv';
|
|
667
|
-
}
|
|
668
|
-
else {
|
|
669
|
-
imports.add('fmt');
|
|
670
|
-
queryVal = 'fmt.Sprintf("%v", qv)';
|
|
657
|
+
queryVal = 'fmt.Sprintf("%v", qv)';
|
|
671
658
|
}
|
|
672
659
|
setter += `\t\treqQP.Add("${qp.queryParameter}", ${queryVal})\n`;
|
|
673
660
|
setter += '\t}';
|
|
@@ -770,11 +757,11 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
770
757
|
if (bodyParam.bodyFormat === 'JSON' || bodyParam.bodyFormat === 'XML') {
|
|
771
758
|
// default to the body param name
|
|
772
759
|
let body = helpers.getParamName(bodyParam);
|
|
773
|
-
if (
|
|
760
|
+
if (bodyParam.type.kind === 'literal') {
|
|
774
761
|
// if the value is constant, embed it directly
|
|
775
762
|
body = helpers.formatLiteralValue(bodyParam.type, true);
|
|
776
763
|
}
|
|
777
|
-
else if (bodyParam.bodyFormat === 'XML' &&
|
|
764
|
+
else if (bodyParam.bodyFormat === 'XML' && bodyParam.type.kind === 'slice') {
|
|
778
765
|
// for XML payloads, create a wrapper type if the payload is an array
|
|
779
766
|
imports.add('encoding/xml');
|
|
780
767
|
text += '\ttype wrapper struct {\n';
|
|
@@ -785,7 +772,7 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
785
772
|
text += `\t\tXMLName xml.Name \`xml:"${tagName}"\`\n`;
|
|
786
773
|
const fieldName = capitalize(bodyParam.name);
|
|
787
774
|
let tag = go.getTypeDeclaration(bodyParam.type.elementType);
|
|
788
|
-
if (
|
|
775
|
+
if (bodyParam.type.elementType.kind === 'model' && bodyParam.type.elementType.xml?.name) {
|
|
789
776
|
tag = bodyParam.type.elementType.xml.name;
|
|
790
777
|
}
|
|
791
778
|
text += `\t\t${fieldName} *${go.getTypeDeclaration(bodyParam.type)} \`xml:"${tag}"\`\n`;
|
|
@@ -796,10 +783,10 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
796
783
|
}
|
|
797
784
|
body = `wrapper{${fieldName}: ${addr}${body}}`;
|
|
798
785
|
}
|
|
799
|
-
else if (
|
|
786
|
+
else if (bodyParam.type.kind === 'time' && bodyParam.type.format !== 'dateTimeRFC3339') {
|
|
800
787
|
// wrap the body in the internal time type
|
|
801
788
|
// no need for dateTimeRFC3339 as the JSON marshaler defaults to that.
|
|
802
|
-
body = `${bodyParam.type.
|
|
789
|
+
body = `${bodyParam.type.format}(${body})`;
|
|
803
790
|
}
|
|
804
791
|
else if (isArrayOfDateTimeForMarshalling(bodyParam.type)) {
|
|
805
792
|
const timeInfo = isArrayOfDateTimeForMarshalling(bodyParam.type);
|
|
@@ -822,7 +809,7 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
822
809
|
body = 'aux';
|
|
823
810
|
}
|
|
824
811
|
let setBody = `runtime.MarshalAs${getMediaFormat(bodyParam.type, bodyParam.bodyFormat, `req, ${body}`)}`;
|
|
825
|
-
if (
|
|
812
|
+
if (bodyParam.type.kind === 'rawJSON') {
|
|
826
813
|
imports.add('bytes');
|
|
827
814
|
imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming');
|
|
828
815
|
setBody = `req.SetBody(streaming.NopCloser(bytes.NewReader(${body})), "application/${bodyParam.bodyFormat.toLowerCase()}")`;
|
|
@@ -898,7 +885,7 @@ function createProtocolRequest(azureARM, client, method, imports) {
|
|
|
898
885
|
text += '\treturn req, nil\n';
|
|
899
886
|
}
|
|
900
887
|
else if (multipartBodyParams.length > 0) {
|
|
901
|
-
if (multipartBodyParams.length === 1 &&
|
|
888
|
+
if (multipartBodyParams.length === 1 && multipartBodyParams[0].type.kind === 'model' && multipartBodyParams[0].type.annotations.multipartFormData) {
|
|
902
889
|
text += `\tformData, err := ${multipartBodyParams[0].name}.toMultipartFormData()\n`;
|
|
903
890
|
text += '\tif err != nil {\n\t\treturn nil, err\n\t}\n';
|
|
904
891
|
}
|
|
@@ -973,26 +960,26 @@ function emitClientSideDefault(param, csd, setterFormat, imports) {
|
|
|
973
960
|
function getMediaFormat(type, mediaType, param) {
|
|
974
961
|
let marshaller = mediaType;
|
|
975
962
|
let format = '';
|
|
976
|
-
if (
|
|
963
|
+
if (type.kind === 'encodedBytes') {
|
|
977
964
|
marshaller = 'ByteArray';
|
|
978
965
|
format = `, runtime.Base64${type.encoding}Format`;
|
|
979
966
|
}
|
|
980
967
|
return `${marshaller}(${param}${format})`;
|
|
981
968
|
}
|
|
982
969
|
function isArrayOfDateTimeForMarshalling(paramType) {
|
|
983
|
-
if (
|
|
970
|
+
if (paramType.kind !== 'slice') {
|
|
984
971
|
return undefined;
|
|
985
972
|
}
|
|
986
|
-
if (
|
|
973
|
+
if (paramType.elementType.kind !== 'time') {
|
|
987
974
|
return undefined;
|
|
988
975
|
}
|
|
989
|
-
switch (paramType.elementType.
|
|
976
|
+
switch (paramType.elementType.format) {
|
|
990
977
|
case 'dateType':
|
|
991
978
|
case 'dateTimeRFC1123':
|
|
992
979
|
case 'timeRFC3339':
|
|
993
980
|
case 'timeUnix':
|
|
994
981
|
return {
|
|
995
|
-
format: paramType.elementType.
|
|
982
|
+
format: paramType.elementType.format,
|
|
996
983
|
elemByVal: paramType.elementTypeByValue
|
|
997
984
|
};
|
|
998
985
|
default:
|
|
@@ -1008,9 +995,9 @@ function needsResponseHandler(method) {
|
|
|
1008
995
|
function generateResponseUnmarshaller(method, type, format, unmarshalTarget) {
|
|
1009
996
|
let unmarshallerText = '';
|
|
1010
997
|
const zeroValue = getZeroReturnValue(method, 'handler');
|
|
1011
|
-
if (
|
|
998
|
+
if (type.kind === 'time') {
|
|
1012
999
|
// use the designated time type for unmarshalling
|
|
1013
|
-
unmarshallerText += `\tvar aux *${type.
|
|
1000
|
+
unmarshallerText += `\tvar aux *${type.format}\n`;
|
|
1014
1001
|
unmarshallerText += `\tif err := runtime.UnmarshalAs${format}(resp, &aux); err != nil {\n`;
|
|
1015
1002
|
unmarshallerText += `\t\treturn ${zeroValue}, err\n`;
|
|
1016
1003
|
unmarshallerText += '\t}\n';
|
|
@@ -1048,7 +1035,7 @@ function generateResponseUnmarshaller(method, type, format, unmarshalTarget) {
|
|
|
1048
1035
|
return unmarshallerText;
|
|
1049
1036
|
}
|
|
1050
1037
|
if (format === 'JSON' || format === 'XML') {
|
|
1051
|
-
if (
|
|
1038
|
+
if (type.kind === 'rawJSON') {
|
|
1052
1039
|
unmarshallerText += '\tbody, err := runtime.Payload(resp)\n';
|
|
1053
1040
|
unmarshallerText += '\tif err != nil {\n';
|
|
1054
1041
|
unmarshallerText += `\t\treturn ${zeroValue}, err\n`;
|
|
@@ -1133,7 +1120,7 @@ function createProtocolResponse(client, method, imports) {
|
|
|
1133
1120
|
addHeaders(method.responseEnvelope.headers);
|
|
1134
1121
|
let target = `result.${helpers.getResultFieldName(method)}`;
|
|
1135
1122
|
// when unmarshalling a wrapped XML array, unmarshal into the response envelope
|
|
1136
|
-
if (result.format === 'XML' &&
|
|
1123
|
+
if (result.format === 'XML' && result.monomorphicType.kind === 'slice') {
|
|
1137
1124
|
target = 'result';
|
|
1138
1125
|
}
|
|
1139
1126
|
text += generateResponseUnmarshaller(method, result.monomorphicType, result.format, target);
|
|
@@ -1141,7 +1128,7 @@ function createProtocolResponse(client, method, imports) {
|
|
|
1141
1128
|
case 'polymorphicResult':
|
|
1142
1129
|
text += `\tresult := ${method.responseEnvelope.name}{}\n`;
|
|
1143
1130
|
addHeaders(method.responseEnvelope.headers);
|
|
1144
|
-
text += generateResponseUnmarshaller(method, result.
|
|
1131
|
+
text += generateResponseUnmarshaller(method, result.interface, result.format, 'result');
|
|
1145
1132
|
break;
|
|
1146
1133
|
default:
|
|
1147
1134
|
result;
|
|
@@ -1152,25 +1139,25 @@ function createProtocolResponse(client, method, imports) {
|
|
|
1152
1139
|
return text;
|
|
1153
1140
|
}
|
|
1154
1141
|
function isArrayOfDateTime(paramType) {
|
|
1155
|
-
if (
|
|
1142
|
+
if (paramType.kind !== 'slice') {
|
|
1156
1143
|
return undefined;
|
|
1157
1144
|
}
|
|
1158
|
-
if (
|
|
1145
|
+
if (paramType.elementType.kind !== 'time') {
|
|
1159
1146
|
return undefined;
|
|
1160
1147
|
}
|
|
1161
1148
|
return {
|
|
1162
|
-
format: paramType.elementType.
|
|
1149
|
+
format: paramType.elementType.format,
|
|
1163
1150
|
elemByVal: paramType.elementTypeByValue
|
|
1164
1151
|
};
|
|
1165
1152
|
}
|
|
1166
1153
|
function isMapOfDateTime(paramType) {
|
|
1167
|
-
if (
|
|
1154
|
+
if (paramType.kind !== 'map') {
|
|
1168
1155
|
return undefined;
|
|
1169
1156
|
}
|
|
1170
|
-
if (
|
|
1157
|
+
if (paramType.valueType.kind !== 'time') {
|
|
1171
1158
|
return undefined;
|
|
1172
1159
|
}
|
|
1173
|
-
return paramType.valueType.
|
|
1160
|
+
return paramType.valueType.format;
|
|
1174
1161
|
}
|
|
1175
1162
|
// returns the parameters for the public API
|
|
1176
1163
|
// e.g. "ctx context.Context, i int, s string"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../../../codegen.go/src/operations.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,9 +43,9 @@ function emit(struct, imports) {
|
|
|
43
43
|
text += helpers.formatDocComment(field.docs);
|
|
44
44
|
}
|
|
45
45
|
let typeName = go.getTypeDeclaration(field.type);
|
|
46
|
-
if (
|
|
46
|
+
if (field.type.kind === 'literal') {
|
|
47
47
|
// for constants we use the underlying type name
|
|
48
|
-
typeName = go.
|
|
48
|
+
typeName = go.getLiteralTypeDeclaration(field.type.type);
|
|
49
49
|
}
|
|
50
50
|
let pointer = '*';
|
|
51
51
|
if (field.byValue) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../codegen.go/src/options.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,oCAAoC;AACpC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAuB;IAC3D,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../codegen.go/src/options.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,oCAAoC;AACpC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAuB;IAC3D,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,IAAI,CAAC,MAAiB,EAAE,OAAsB;IACrD,IAAI,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,QAAQ,MAAM,CAAC,IAAI,aAAa,CAAC;IAEzC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,gDAAgD;QAChD,IAAI,IAAI,mDAAmD,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,0EAA0E;QAC1E,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,qDAAqD;oBACrD,iDAAiD;oBACjD,IAAI,IAAI,IAAI,CAAC;gBACf,CAAC;gBACD,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,QAAQ,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,gDAAgD;gBAChD,QAAQ,GAAG,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;YAED,IAAI,OAAO,GAAG,GAAG,CAAC;YAClB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YACD,IAAI,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,QAAQ,IAAI,CAAC;YAC9D,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;IACH,CAAC;IAED,IAAI,IAAI,OAAO,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymorphics.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/polymorphics.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAMtD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"polymorphics.d.ts","sourceRoot":"","sources":["../../../../codegen.go/src/polymorphics.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAMtD,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+KjH"}
|