@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.
Files changed (71) hide show
  1. package/dist/codegen.go/src/example.js +75 -75
  2. package/dist/codegen.go/src/example.js.map +1 -1
  3. package/dist/codegen.go/src/fake/factory.d.ts.map +1 -1
  4. package/dist/codegen.go/src/fake/factory.js +29 -24
  5. package/dist/codegen.go/src/fake/factory.js.map +1 -1
  6. package/dist/codegen.go/src/fake/servers.js +106 -98
  7. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  8. package/dist/codegen.go/src/helpers.d.ts +57 -4
  9. package/dist/codegen.go/src/helpers.d.ts.map +1 -1
  10. package/dist/codegen.go/src/helpers.js +200 -128
  11. package/dist/codegen.go/src/helpers.js.map +1 -1
  12. package/dist/codegen.go/src/imports.d.ts +1 -1
  13. package/dist/codegen.go/src/imports.d.ts.map +1 -1
  14. package/dist/codegen.go/src/imports.js +13 -12
  15. package/dist/codegen.go/src/imports.js.map +1 -1
  16. package/dist/codegen.go/src/interfaces.js +2 -2
  17. package/dist/codegen.go/src/interfaces.js.map +1 -1
  18. package/dist/codegen.go/src/models.d.ts.map +1 -1
  19. package/dist/codegen.go/src/models.js +81 -81
  20. package/dist/codegen.go/src/models.js.map +1 -1
  21. package/dist/codegen.go/src/operations.d.ts.map +1 -1
  22. package/dist/codegen.go/src/operations.js +100 -113
  23. package/dist/codegen.go/src/operations.js.map +1 -1
  24. package/dist/codegen.go/src/options.js +2 -2
  25. package/dist/codegen.go/src/options.js.map +1 -1
  26. package/dist/codegen.go/src/polymorphics.d.ts.map +1 -1
  27. package/dist/codegen.go/src/polymorphics.js +29 -24
  28. package/dist/codegen.go/src/polymorphics.js.map +1 -1
  29. package/dist/codegen.go/src/responses.js +2 -2
  30. package/dist/codegen.go/src/responses.js.map +1 -1
  31. package/dist/codegen.go/src/time.js +13 -14
  32. package/dist/codegen.go/src/time.js.map +1 -1
  33. package/dist/codegen.go/src/xmlAdditionalProps.js +1 -2
  34. package/dist/codegen.go/src/xmlAdditionalProps.js.map +1 -1
  35. package/dist/codemodel.go/src/examples.d.ts +20 -20
  36. package/dist/codemodel.go/src/examples.d.ts.map +1 -1
  37. package/dist/codemodel.go/src/examples.js +2 -2
  38. package/dist/codemodel.go/src/examples.js.map +1 -1
  39. package/dist/codemodel.go/src/package.d.ts +4 -4
  40. package/dist/codemodel.go/src/package.d.ts.map +1 -1
  41. package/dist/codemodel.go/src/package.js +3 -3
  42. package/dist/codemodel.go/src/package.js.map +1 -1
  43. package/dist/codemodel.go/src/param.d.ts +32 -24
  44. package/dist/codemodel.go/src/param.d.ts.map +1 -1
  45. package/dist/codemodel.go/src/param.js +54 -1
  46. package/dist/codemodel.go/src/param.js.map +1 -1
  47. package/dist/codemodel.go/src/result.d.ts +12 -10
  48. package/dist/codemodel.go/src/result.d.ts.map +1 -1
  49. package/dist/codemodel.go/src/result.js +21 -4
  50. package/dist/codemodel.go/src/result.js.map +1 -1
  51. package/dist/codemodel.go/src/type.d.ts +219 -86
  52. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  53. package/dist/codemodel.go/src/type.js +137 -127
  54. package/dist/codemodel.go/src/type.js.map +1 -1
  55. package/dist/typespec-go/src/emitter.d.ts.map +1 -1
  56. package/dist/typespec-go/src/emitter.js +80 -0
  57. package/dist/typespec-go/src/emitter.js.map +1 -1
  58. package/dist/typespec-go/src/lib.d.ts +1 -0
  59. package/dist/typespec-go/src/lib.d.ts.map +1 -1
  60. package/dist/typespec-go/src/lib.js +5 -0
  61. package/dist/typespec-go/src/lib.js.map +1 -1
  62. package/dist/typespec-go/src/tcgcadapter/adapter.js +5 -0
  63. package/dist/typespec-go/src/tcgcadapter/adapter.js.map +1 -1
  64. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  65. package/dist/typespec-go/src/tcgcadapter/clients.js +71 -58
  66. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  67. package/dist/typespec-go/src/tcgcadapter/types.d.ts +3 -3
  68. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  69. package/dist/typespec-go/src/tcgcadapter/types.js +47 -46
  70. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  71. 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;AA0pCD,wBAAgB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAoB7D"}
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
- if (go.isConstantType(headerResp.type)) {
235
- text += `\t\t${respObj}.${headerResp.fieldName} = (*${headerResp.type.name})(&val)\n`;
236
- text += '\t}\n';
237
- return text;
238
- }
239
- else if (go.isPrimitiveType(headerResp.type)) {
240
- if (headerResp.type.typeName === 'bool') {
241
- imports.add('strconv');
242
- text += `\t\t${name}, err := strconv.ParseBool(val)\n`;
243
- }
244
- else if (headerResp.type.typeName === 'int32' || headerResp.type.typeName === 'int64') {
245
- imports.add('strconv');
246
- if (headerResp.type.typeName === 'int32') {
247
- text += `\t\t${name}32, err := strconv.ParseInt(val, 10, 32)\n`;
248
- text += `\t\t${name} := int32(${name}32)\n`;
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
- if (headerResp.type.typeName === 'float32') {
257
- text += `\t\t${name}32, err := strconv.ParseFloat(val, 32)\n`;
258
- text += `\t\t${name} := float32(${name}32)\n`;
259
- }
260
- else {
261
- text += `\t\t${name}, err := strconv.ParseFloat(val, 64)\n`;
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
- else if (headerResp.type.typeName === 'string') {
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
- else {
270
- throw new CodegenError('InternalError', `unhandled primitive type ${headerResp.type.typeName}`);
271
- }
272
- }
273
- else if (go.isTimeType(headerResp.type)) {
274
- imports.add('time');
275
- if (headerResp.type.dateTimeFormat === 'dateType') {
276
- text += `\t\t${name}, err := time.Parse("${helpers.dateFormat}", val)\n`;
277
- }
278
- else if (headerResp.type.dateTimeFormat === 'timeRFC3339') {
279
- text += `\t\t${name}, err := time.Parse("${helpers.timeRFC3339Format}", val)\n`;
280
- }
281
- else if (headerResp.type.dateTimeFormat === 'timeUnix') {
282
- imports.add('strconv');
283
- imports.add('github.com/Azure/azure-sdk-for-go/sdk/azcore/to');
284
- text += '\t\tsec, err := strconv.ParseInt(val, 10, 64)\n';
285
- name = 'to.Ptr(time.Unix(sec, 0))';
286
- byRef = '';
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
- if (!go.isConstantType(type)) {
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' && ((go.isPrimitiveType(pp.type) && pp.type.typeName === 'string' || choiceIsString(pp.type)) && pp.isEncoded)) {
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
- if (go.isConstantType(arrayQP.elementType)) {
655
- const ch = arrayQP.elementType;
656
- // only string and number types are supported for enums
657
- if (ch.type === 'string') {
658
- queryVal = 'string(qv)';
659
- }
660
- else {
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("%d", qv)';
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 (go.isLiteralValue(bodyParam.type)) {
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' && go.isSliceType(bodyParam.type)) {
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 (go.isModelType(bodyParam.type.elementType) && bodyParam.type.elementType.xml?.name) {
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 (go.isTimeType(bodyParam.type) && bodyParam.type.dateTimeFormat !== 'dateTimeRFC3339') {
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.dateTimeFormat}(${body})`;
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 (go.isSliceType(bodyParam.type) && bodyParam.type.rawJSONAsBytes) {
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 && go.isModelType(multipartBodyParams[0].type) && multipartBodyParams[0].type.annotations.multipartFormData) {
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 (go.isBytesType(type)) {
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 (!go.isSliceType(paramType)) {
970
+ if (paramType.kind !== 'slice') {
984
971
  return undefined;
985
972
  }
986
- if (!go.isTimeType(paramType.elementType)) {
973
+ if (paramType.elementType.kind !== 'time') {
987
974
  return undefined;
988
975
  }
989
- switch (paramType.elementType.dateTimeFormat) {
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.dateTimeFormat,
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 (go.isTimeType(type)) {
998
+ if (type.kind === 'time') {
1012
999
  // use the designated time type for unmarshalling
1013
- unmarshallerText += `\tvar aux *${type.dateTimeFormat}\n`;
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 (go.isSliceType(type) && type.rawJSONAsBytes) {
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' && go.isSliceType(result.monomorphicType)) {
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.interfaceType, result.format, '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 (!go.isSliceType(paramType)) {
1142
+ if (paramType.kind !== 'slice') {
1156
1143
  return undefined;
1157
1144
  }
1158
- if (!go.isTimeType(paramType.elementType)) {
1145
+ if (paramType.elementType.kind !== 'time') {
1159
1146
  return undefined;
1160
1147
  }
1161
1148
  return {
1162
- format: paramType.elementType.dateTimeFormat,
1149
+ format: paramType.elementType.format,
1163
1150
  elemByVal: paramType.elementTypeByValue
1164
1151
  };
1165
1152
  }
1166
1153
  function isMapOfDateTime(paramType) {
1167
- if (!go.isMapType(paramType)) {
1154
+ if (paramType.kind !== 'map') {
1168
1155
  return undefined;
1169
1156
  }
1170
- if (!go.isTimeType(paramType.valueType)) {
1157
+ if (paramType.valueType.kind !== 'time') {
1171
1158
  return undefined;
1172
1159
  }
1173
- return paramType.valueType.dateTimeFormat;
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 (go.isLiteralValue(field.type)) {
46
+ if (field.type.kind === 'literal') {
47
47
  // for constants we use the underlying type name
48
- typeName = go.getLiteralValueTypeName(field.type.type);
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,MAAqB,EAAE,OAAsB;IACzD,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,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,gDAAgD;gBAChD,QAAQ,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,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
+ {"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,CAsKjH"}
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"}