@azure-tools/typespec-go 0.11.0 → 0.11.2

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 (36) hide show
  1. package/dist/codegen.go/src/core/example.js.map +1 -1
  2. package/dist/codegen.go/src/core/helpers.d.ts.map +1 -1
  3. package/dist/codegen.go/src/core/helpers.js +17 -2
  4. package/dist/codegen.go/src/core/helpers.js.map +1 -1
  5. package/dist/codegen.go/src/core/operations.d.ts.map +1 -1
  6. package/dist/codegen.go/src/core/operations.js +158 -43
  7. package/dist/codegen.go/src/core/operations.js.map +1 -1
  8. package/dist/codegen.go/src/emitter.js +4 -1
  9. package/dist/codegen.go/src/emitter.js.map +1 -1
  10. package/dist/codegen.go/src/fake/servers.js +76 -4
  11. package/dist/codegen.go/src/fake/servers.js.map +1 -1
  12. package/dist/codemodel.go/src/client.d.ts +5 -3
  13. package/dist/codemodel.go/src/client.d.ts.map +1 -1
  14. package/dist/codemodel.go/src/client.js +0 -2
  15. package/dist/codemodel.go/src/client.js.map +1 -1
  16. package/dist/codemodel.go/src/param.d.ts +13 -2
  17. package/dist/codemodel.go/src/param.d.ts.map +1 -1
  18. package/dist/codemodel.go/src/param.js +6 -0
  19. package/dist/codemodel.go/src/param.js.map +1 -1
  20. package/dist/codemodel.go/src/type.d.ts +33 -12
  21. package/dist/codemodel.go/src/type.d.ts.map +1 -1
  22. package/dist/codemodel.go/src/type.js +13 -3
  23. package/dist/codemodel.go/src/type.js.map +1 -1
  24. package/dist/typespec-go/src/tcgcadapter/clients.d.ts +8 -1
  25. package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
  26. package/dist/typespec-go/src/tcgcadapter/clients.js +126 -41
  27. package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
  28. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts +7 -0
  29. package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +1 -1
  30. package/dist/typespec-go/src/tcgcadapter/helpers.js +25 -1
  31. package/dist/typespec-go/src/tcgcadapter/helpers.js.map +1 -1
  32. package/dist/typespec-go/src/tcgcadapter/types.d.ts +22 -1
  33. package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
  34. package/dist/typespec-go/src/tcgcadapter/types.js +95 -51
  35. package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
  36. package/package.json +9 -8
@@ -12,7 +12,7 @@ export interface Docs {
12
12
  /** defines types used in generated code but do not go across the wire */
13
13
  export type SdkType = ArmClientOptions | ClientOptions | ParameterGroup | ResponseEnvelope | TokenCredential;
14
14
  /** defines types that go across the wire */
15
- export type WireType = Any | Constant | ConstantValue | EncodedBytes | ETag | Interface | Literal | Map | Model | MultipartContent | PolymorphicModel | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | String | Time;
15
+ export type WireType = Any | Constant | ConstantDef | ConstantValue | EncodedBytes | ETag | Interface | Literal | Map | Model | MultipartContent | PolymorphicModel | RawJSON | ReadCloser | ReadSeekCloser | Scalar | Slice | String | Time;
16
16
  /** defines a type within the Go type system */
17
17
  export type Type = SdkType | WireType;
18
18
  /** the Go any type */
@@ -23,7 +23,7 @@ export interface Any {
23
23
  export interface ArmClientOptions extends QualifiedType {
24
24
  kind: 'armClientOptions';
25
25
  }
26
- /** a const type definition */
26
+ /** a const type definition used for enums */
27
27
  export interface Constant {
28
28
  kind: 'constant';
29
29
  /** the const type name */
@@ -41,7 +41,7 @@ export interface Constant {
41
41
  }
42
42
  /** the underlying type of a const */
43
43
  export type ConstantType = 'bool' | 'float32' | 'float64' | 'int32' | 'int64' | 'string';
44
- /** a const value definition */
44
+ /** a const enum value definition */
45
45
  export interface ConstantValue {
46
46
  kind: 'constantValue';
47
47
  /** the const value name */
@@ -53,6 +53,14 @@ export interface ConstantValue {
53
53
  /** the value for this const */
54
54
  value: ConstantValueType;
55
55
  }
56
+ /** a non-enum constant (e.g. const foo string = "bar") */
57
+ export interface ConstantDef {
58
+ kind: 'constantDef';
59
+ /** the name of the constant */
60
+ name: string;
61
+ /** the type and value of the constant */
62
+ literal: Literal<String>;
63
+ }
56
64
  /** the underlying type of a const value */
57
65
  export type ConstantValueType = boolean | number | string;
58
66
  /** a byte slice that's base64 encoded */
@@ -86,15 +94,23 @@ export interface Interface {
86
94
  pkg: PackageContent;
87
95
  }
88
96
  /** a literal value (e.g. "foo", 123, true) */
89
- export interface Literal {
97
+ export interface Literal<T extends LiteralType = LiteralType> {
90
98
  kind: 'literal';
91
- /** the literal's underlying type */
92
- type: LiteralType;
93
- /** the value for this literal */
94
- literal: any;
99
+ /**
100
+ * the literal's underlying type.
101
+ * note that when T is a Constant type,
102
+ * literal will contain a ConstantValue
103
+ */
104
+ type: T;
105
+ /**
106
+ * the value for this literal.
107
+ * usually a boolean, number, or string
108
+ * but it can also be a ConstantValue
109
+ */
110
+ literal: unknown;
95
111
  }
96
112
  /** the possible types of literals */
97
- export type LiteralType = Constant | EncodedBytes | Scalar | String | Time;
113
+ export type LiteralType = Constant | ConstantDef | EncodedBytes | Scalar | String | Time;
98
114
  /** a Go map type. note that the key is always a string */
99
115
  export interface Map {
100
116
  kind: 'map';
@@ -145,6 +161,8 @@ export interface Model extends ModelBase {
145
161
  /** a streaming.MultipartContent type from azcore */
146
162
  export interface MultipartContent extends QualifiedType {
147
163
  kind: 'multipartContent';
164
+ /** optional, explicit content-type for the payload */
165
+ contentType?: Literal<String>;
148
166
  }
149
167
  /** a model that's a discriminated type */
150
168
  export interface PolymorphicModel extends ModelBase {
@@ -319,6 +337,9 @@ export declare class ArmClientOptions extends QualifiedType implements ArmClient
319
337
  export declare class Constant implements Constant {
320
338
  constructor(pkg: PackageContent, name: string, type: ConstantType, valuesFuncName: string);
321
339
  }
340
+ export declare class ConstantDef implements ConstantDef {
341
+ constructor(name: string, literal: Literal<String>);
342
+ }
322
343
  export declare class ConstantValue implements ConstantValue {
323
344
  constructor(name: string, type: Constant, value: ConstantValueType);
324
345
  }
@@ -331,8 +352,8 @@ export declare class ETag extends QualifiedType implements ETag {
331
352
  export declare class Interface implements Interface {
332
353
  constructor(pkg: PackageContent, name: string, discriminatorField: string);
333
354
  }
334
- export declare class Literal implements Literal {
335
- constructor(type: LiteralType, literal: any);
355
+ export declare class Literal<T> implements Literal<T> {
356
+ constructor(type: T, literal: unknown);
336
357
  }
337
358
  export declare class Map implements Map {
338
359
  constructor(valueType: MapValueType, valueTypeByValue: boolean);
@@ -350,7 +371,7 @@ export declare class Model extends ModelBase implements Model {
350
371
  constructor(pkg: PackageContent, name: string, annotations: ModelAnnotations, usage: UsageFlags);
351
372
  }
352
373
  export declare class MultipartContent extends QualifiedType implements MultipartContent {
353
- constructor();
374
+ constructor(contentType?: Literal<String>);
354
375
  }
355
376
  export declare class PolymorphicModel extends ModelBase implements PolymorphicModel {
356
377
  constructor(pkg: PackageContent, name: string, iface: Interface, annotations: ModelAnnotations, usage: UsageFlags);
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../codemodel.go/src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../codemodel.go/src/type.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export function getLiteralTypeDeclaration(literal) {
27
27
  switch (literal.kind) {
28
28
  case 'constant':
29
29
  return literal.name;
30
+ case 'constantDef':
31
+ return literal.literal.type.kind;
30
32
  case 'encodedBytes':
31
33
  return '[]byte';
32
34
  case 'scalar':
@@ -80,6 +82,8 @@ export function getTypeDeclaration(type, scope) {
80
82
  }
81
83
  return typeName;
82
84
  }
85
+ case 'constantDef':
86
+ return type.literal.type.kind;
83
87
  case 'encodedBytes':
84
88
  case 'rawJSON':
85
89
  return '[]byte';
@@ -173,6 +177,13 @@ export class Constant {
173
177
  this.docs = {};
174
178
  }
175
179
  }
180
+ export class ConstantDef {
181
+ constructor(name, literal) {
182
+ this.kind = 'constantDef';
183
+ this.name = name;
184
+ this.literal = literal;
185
+ }
186
+ }
176
187
  export class ConstantValue {
177
188
  constructor(name, type, value) {
178
189
  this.kind = 'constantValue';
@@ -208,11 +219,9 @@ export class Interface {
208
219
  }
209
220
  }
210
221
  export class Literal {
211
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
212
222
  constructor(type, literal) {
213
223
  this.kind = 'literal';
214
224
  this.type = type;
215
- /* eslint-disable-next-line @typescript-eslint/no-unsafe-assignment */
216
225
  this.literal = literal;
217
226
  }
218
227
  }
@@ -253,9 +262,10 @@ export class Model extends ModelBase {
253
262
  }
254
263
  }
255
264
  export class MultipartContent extends QualifiedType {
256
- constructor() {
265
+ constructor(contentType) {
257
266
  super('MultipartContent', 'github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming');
258
267
  this.kind = 'multipartContent';
268
+ this.contentType = contentType;
259
269
  }
260
270
  }
261
271
  export class PolymorphicModel extends ModelBase {
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../codemodel.go/src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../../codemodel.go/src/type.ts"],"names":[],"mappings":"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"}
@@ -53,11 +53,18 @@ export declare class ClientAdapter {
53
53
  /**
54
54
  * adapts the provided operation parameter to a Go method parameter
55
55
  *
56
+ * @param method the method to which the parameter belongs
56
57
  * @param opParam the operation parameter to adapt
57
- * @param verb the HTTP verb used for the operation to which the parameter belongs
58
58
  * @returns the adapted Go method parameter
59
59
  */
60
60
  private adaptMethodParameter;
61
+ /**
62
+ * adapts a multipart form body parameter from its tcgc representation.
63
+ * for generated wrapper types (isGeneratedName), unwraps to the inner property.
64
+ * for file parts with a fixed content type (e.g. HttpPart<File<"image/png">>),
65
+ * uses a MultipartContent type with the content type baked in.
66
+ */
67
+ private adaptMultipartFormParameter;
61
68
  private getMethodNameForDocComment;
62
69
  private adaptResponseEnvelope;
63
70
  /**
@@ -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;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"}
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;IA2EtB,OAAO,CAAC,qBAAqB;IAmS7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAuL5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IA+BnC,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;IA4B3B,OAAO,CAAC,0BAA0B;IAkGlC,OAAO,CAAC,gBAAgB;CA0GzB"}
@@ -275,7 +275,7 @@ export class ClientAdapter {
275
275
  goClient.instance = constructable;
276
276
  // if no authentication type was specified, or the noAuth scheme was
277
277
  // explicitly specified, then include the WithNoCredential constructor
278
- if (authType === AuthTypes.Default || (authType & AuthTypes.NoAuth) === AuthTypes.NoAuth) {
278
+ if (authType === AuthTypes.Default || (authType & AuthTypes.NoAuth) !== 0) {
279
279
  goClient.instance.constructors.push(new go.Constructor(this.ta.getPkg(), `New${clientName}WithNoCredential`));
280
280
  }
281
281
  // propagate ctor params to all client ctors
@@ -383,7 +383,7 @@ export class ClientAdapter {
383
383
  adaptURIParam(sdkParam, forceRequired) {
384
384
  let paramType;
385
385
  if (sdkParam.isApiVersionParam) {
386
- paramType = new go.String();
386
+ paramType = this.ta.getStringType();
387
387
  }
388
388
  else {
389
389
  paramType = this.ta.getWireType(sdkParam.type, true, false);
@@ -591,16 +591,33 @@ export class ClientAdapter {
591
591
  method.optionalParamsGroup.docs.summary = createOptionsTypeDescription(optionalParamsGroupName, this.getMethodNameForDocComment(method));
592
592
  const respInfo = this.adaptResponseEnvelope(sdkMethod, method);
593
593
  method.returns = respInfo.respEnv;
594
- // find the api version param to use for the doc comment.
595
- // we can't use sdkMethod.apiVersions as that includes all
596
- // of the api versions supported by the service.
597
- for (const opParam of sdkMethod.operation.parameters) {
598
- if (opParam.isApiVersionParam && opParam.clientDefaultValue) {
599
- method.apiVersions.push(opParam.clientDefaultValue);
600
- break;
594
+ const paramMapping = this.adaptMethodParameters(sdkMethod, method);
595
+ // check if the method takes a binary body with an explicit content-type param.
596
+ // if it does, then we need to fix up the body param to reference it. we must
597
+ // do this after adapting all of the method parameters.
598
+ const binaryBodyParam = method.parameters.find((param) => param.kind === 'bodyParam' && param.bodyFormat === 'binary');
599
+ const contentTypeParam = method.parameters.find((param) => param.kind === 'headerScalarParam' && param.headerName.match(/^content-type$/i) && param.style !== 'literal');
600
+ if (binaryBodyParam && contentTypeParam) {
601
+ // note that when content-type is a param, the defaultContentType on
602
+ // the body param will be a '*/*' literal. we want to replace that
603
+ // with the discrete param. if the param is optional, then we'll treat
604
+ // it as a client-side default.
605
+ const bodyParam = binaryBodyParam;
606
+ switch (contentTypeParam.style) {
607
+ case 'optional':
608
+ // convert the literal to a client-side default
609
+ contentTypeParam.style = new go.ClientSideDefault(bodyParam.contentType);
610
+ bodyParam.contentType = new go.ParameterRef(contentTypeParam.name);
611
+ break;
612
+ case 'required':
613
+ bodyParam.contentType = new go.ParameterRef(contentTypeParam.name);
614
+ break;
615
+ default: {
616
+ const style = go.isClientSideDefault(contentTypeParam.style) ? 'client-side default' : contentTypeParam.style;
617
+ throw new AdapterError('UnsupportedTsp', `unexpected content-type style ${style}`, sdkMethod.__raw?.node);
618
+ }
601
619
  }
602
620
  }
603
- const paramMapping = this.adaptMethodParameters(sdkMethod, method);
604
621
  // we must do this after adapting method params as it can add optional params
605
622
  this.ta.getPkg().paramGroups.push(this.adaptParameterGroup(method.optionalParamsGroup));
606
623
  if (this.ta.codeModel.options.generateExamples) {
@@ -706,11 +723,12 @@ export class ClientAdapter {
706
723
  break;
707
724
  }
708
725
  case 'binary':
709
- if (opParam.defaultContentType.match(/multipart/i)) {
710
- adaptedParam = new go.MultipartFormBodyParameter(paramName, this.ta.getReadSeekCloser(false), paramStyle, byVal);
726
+ if (isMultipartBodyType(opParam.type)) {
727
+ adaptedParam = this.adaptMultipartFormParameter(param.name, opParam.type, paramStyle, byVal);
711
728
  }
712
729
  else {
713
- adaptedParam = new go.BodyParameter(paramName, contentType, `"${opParam.defaultContentType}"`, this.ta.getReadSeekCloser(false), paramStyle, byVal);
730
+ const contentTypeLiteral = this.ta.getLiteral(this.ta.getStringType(), opParam.defaultContentType);
731
+ adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, this.ta.getReadSeekCloser(false), paramStyle, byVal);
714
732
  }
715
733
  break;
716
734
  default:
@@ -737,7 +755,7 @@ export class ClientAdapter {
737
755
  }
738
756
  if (correspondingOpParams.length === 0) {
739
757
  // No properties mapped to HTTP params, treat as regular parameter
740
- adaptedParam = this.adaptMethodParameter(opParam, method.httpMethod);
758
+ adaptedParam = this.adaptMethodParameter(method, opParam);
741
759
  }
742
760
  else {
743
761
  // Parameter group handling:
@@ -757,7 +775,7 @@ export class ClientAdapter {
757
775
  for (let i = 0; i < modelProperties.length; i++) {
758
776
  const property = modelProperties[i];
759
777
  const propertyOpParam = correspondingOpParams[i];
760
- const adaptedPropertyParam = this.adaptMethodParameter(propertyOpParam, method.httpMethod);
778
+ const adaptedPropertyParam = this.adaptMethodParameter(method, propertyOpParam);
761
779
  adaptedPropertyParam.docs.summary = property.summary;
762
780
  adaptedPropertyParam.docs.description = property.doc;
763
781
  if (adaptedPropertyParam.style === 'required' || adaptedPropertyParam.style === 'literal') {
@@ -800,7 +818,7 @@ export class ClientAdapter {
800
818
  }
801
819
  }
802
820
  else {
803
- adaptedParam = this.adaptMethodParameter(opParam, method.httpMethod);
821
+ adaptedParam = this.adaptMethodParameter(method, opParam);
804
822
  if (method.kind !== 'nextPageMethod' && go.isPageableMethod(method)) {
805
823
  switch (adaptedParam.kind) {
806
824
  case 'headerScalarParam':
@@ -828,7 +846,7 @@ export class ClientAdapter {
828
846
  // look for them in the operation parameters.
829
847
  for (const opParam of allOpParams) {
830
848
  if (opParam.onClient) {
831
- const adaptedParam = this.adaptMethodParameter(opParam, method.httpMethod);
849
+ const adaptedParam = this.adaptMethodParameter(method, opParam);
832
850
  adaptedParam.docs.summary = opParam.summary;
833
851
  adaptedParam.docs.description = opParam.doc;
834
852
  method.parameters.unshift(adaptedParam);
@@ -886,16 +904,30 @@ export class ClientAdapter {
886
904
  /**
887
905
  * adapts the provided operation parameter to a Go method parameter
888
906
  *
907
+ * @param method the method to which the parameter belongs
889
908
  * @param opParam the operation parameter to adapt
890
- * @param verb the HTTP verb used for the operation to which the parameter belongs
891
909
  * @returns the adapted Go method parameter
892
910
  */
893
- adaptMethodParameter(opParam, verb) {
911
+ adaptMethodParameter(method, opParam) {
894
912
  if (opParam.isApiVersionParam) {
895
913
  // we emit the api version param inline as a literal, never as a param.
896
914
  // the ClientOptions.APIVersion setting is used to change the version.
897
- const paramType = opParam.clientDefaultValue ? new go.Literal(new go.String(), opParam.clientDefaultValue) : new go.String();
898
- const paramStyle = opParam.clientDefaultValue ? 'literal' : opParam.optional ? 'optional' : 'required';
915
+ let paramType;
916
+ let paramStyle;
917
+ if (opParam.clientDefaultValue) {
918
+ const client = method.receiver.type;
919
+ if (!client.apiVersion) {
920
+ // first method for this client, so apiVersion hasn't been set yet
921
+ const literalValue = new go.Literal(this.ta.getStringType(), opParam.clientDefaultValue);
922
+ client.apiVersion = new go.ConstantDef(`default${client.name}Version`, literalValue);
923
+ }
924
+ paramType = new go.Literal(client.apiVersion, client.apiVersion.name);
925
+ paramStyle = 'literal';
926
+ }
927
+ else {
928
+ paramType = this.ta.getStringType();
929
+ paramStyle = opParam.optional ? 'optional' : 'required';
930
+ }
899
931
  const paramLoc = opParam.onClient ? 'client' : 'method';
900
932
  let apiVersionParam;
901
933
  switch (opParam.kind) {
@@ -945,7 +977,7 @@ export class ClientAdapter {
945
977
  if (opParam.kind === 'body') {
946
978
  const contentType = this.adaptContentType(opParam.defaultContentType);
947
979
  // only force modeled body params to be required (binary payloads can be optional)
948
- if (contentType !== 'binary' && (verb === 'patch' || verb === 'put')) {
980
+ if (contentType !== 'binary' && (method.httpMethod === 'patch' || method.httpMethod === 'put')) {
949
981
  paramStyle = 'required';
950
982
  }
951
983
  }
@@ -954,9 +986,8 @@ export class ClientAdapter {
954
986
  let adaptedParam;
955
987
  switch (opParam.kind) {
956
988
  case 'body':
957
- // TODO: form data? (non-multipart)
958
- if (opParam.defaultContentType.match(/multipart/i)) {
959
- adaptedParam = new go.MultipartFormBodyParameter(paramName, this.ta.getWireType(methodParam.type, false, true), paramStyle, byVal);
989
+ if (isMultipartBodyType(opParam.type)) {
990
+ adaptedParam = this.adaptMultipartFormParameter(methodParam.name, opParam.type, paramStyle, byVal);
960
991
  }
961
992
  else {
962
993
  const contentType = this.adaptContentType(opParam.defaultContentType);
@@ -965,7 +996,8 @@ export class ClientAdapter {
965
996
  // tcgc models binary params as 'bytes' but we want an io.ReadSeekCloser
966
997
  bodyType = this.ta.getReadSeekCloser(methodParam.type.kind === 'array');
967
998
  }
968
- adaptedParam = new go.BodyParameter(paramName, contentType, `"${opParam.defaultContentType}"`, bodyType, paramStyle, byVal);
999
+ const contentTypeLiteral = this.ta.getLiteral(this.ta.getStringType(), opParam.defaultContentType);
1000
+ adaptedParam = new go.BodyParameter(paramName, contentType, contentTypeLiteral, bodyType, paramStyle, byVal);
969
1001
  if (contentType === 'XML' && methodParam.type.kind === 'array') {
970
1002
  // this is for compat with autorest.go
971
1003
  adaptedParam.xml = new go.XMLInfo();
@@ -1023,6 +1055,42 @@ export class ClientAdapter {
1023
1055
  }
1024
1056
  return adaptedParam;
1025
1057
  }
1058
+ /**
1059
+ * adapts a multipart form body parameter from its tcgc representation.
1060
+ * for generated wrapper types (isGeneratedName), unwraps to the inner property.
1061
+ * for file parts with a fixed content type (e.g. HttpPart<File<"image/png">>),
1062
+ * uses a MultipartContent type with the content type baked in.
1063
+ */
1064
+ adaptMultipartFormParameter(paramName, paramType, paramStyle, byVal) {
1065
+ let paramAsSdkType = paramType;
1066
+ let multipartOptions;
1067
+ if (paramType.isGeneratedName) {
1068
+ // tcgc wraps inline multipart params in a generated model with a single property.
1069
+ // unwrap to the inner property to get the actual param name and type.
1070
+ if (paramType.properties.length !== 1) {
1071
+ throw new AdapterError('InternalError', `unexpected number of properties: ${paramType.properties.length}`, paramType.__raw?.node);
1072
+ }
1073
+ const prop = paramType.properties[0];
1074
+ paramName = prop.name;
1075
+ multipartOptions = prop.serializationOptions.multipart;
1076
+ paramAsSdkType = prop.type;
1077
+ }
1078
+ let type;
1079
+ // only use MultipartContent for file parts with a fixed content type.
1080
+ // non-file parts (e.g. HttpPart<{ @body body: float64; @header contentType: "text/plain" }>)
1081
+ // should retain their underlying type (e.g. float64).
1082
+ if (multipartOptions?.isFilePart && multipartOptions.contentType?.type.kind === 'constant' && multipartOptions.defaultContentTypes.length === 1) {
1083
+ type = this.ta.getMultipartContent(paramAsSdkType.kind === 'array', multipartOptions.defaultContentTypes[0]);
1084
+ }
1085
+ else if (paramAsSdkType.kind === 'bytes' && paramAsSdkType.encode === 'bytes') {
1086
+ type = this.ta.getReadSeekCloser(false);
1087
+ }
1088
+ else {
1089
+ type = this.ta.getWireType(paramAsSdkType, true, true);
1090
+ }
1091
+ paramName = getEscapedReservedName(ensureNameCase(paramName, paramStyle === 'required'), 'Param');
1092
+ return new go.MultipartFormBodyParameter(paramName, type, paramStyle, byVal);
1093
+ }
1026
1094
  getMethodNameForDocComment(method) {
1027
1095
  let methodName;
1028
1096
  switch (method.kind) {
@@ -1359,7 +1427,7 @@ export class ClientAdapter {
1359
1427
  if (param.isApiVersionParam) {
1360
1428
  // we force the API version param type to a string
1361
1429
  // so it matches the ClientOptions.APIVersion type
1362
- adaptedType = new go.String();
1430
+ adaptedType = this.ta.getStringType();
1363
1431
  }
1364
1432
  else {
1365
1433
  const adaptedWireType = this.ta.getWireType(param.type, false, false);
@@ -1368,17 +1436,7 @@ export class ClientAdapter {
1368
1436
  }
1369
1437
  adaptedType = adaptedWireType;
1370
1438
  }
1371
- if (adaptedType.kind === 'constant') {
1372
- // find the matching constant for the clientDefaultValue
1373
- for (const constValue of adaptedType.values) {
1374
- if (constValue.value === param.clientDefaultValue) {
1375
- return new go.ClientSideDefault(new go.Literal(adaptedType, constValue));
1376
- }
1377
- }
1378
- throw new AdapterError('InternalError', `didn't find clientDefaultValue constant with value ${param.clientDefaultValue} for parameter`, param.__raw?.node);
1379
- }
1380
- // non-constant clientDefaultValue
1381
- return new go.ClientSideDefault(new go.Literal(adaptedType, param.clientDefaultValue));
1439
+ return new go.ClientSideDefault(this.ta.getLiteral(adaptedType, param.clientDefaultValue, helpers.isExtensibleEnum(param.type)));
1382
1440
  }
1383
1441
  else if (param.optional) {
1384
1442
  return 'optional';
@@ -1397,6 +1455,11 @@ export class ClientAdapter {
1397
1455
  // skip the api-version param as it's not a formal parameter
1398
1456
  continue;
1399
1457
  }
1458
+ else if (param.parameter.type.kind === 'constant') {
1459
+ // if the param's type is a constant then it's embedded
1460
+ // in the code and not a formal parameter so skip it
1461
+ continue;
1462
+ }
1400
1463
  const goParams = paramMapping.get(param.parameter);
1401
1464
  if (!goParams) {
1402
1465
  throw new AdapterError('InternalError', `can not find go param for example param ${param.parameter.name}`);
@@ -1543,9 +1606,8 @@ export class ClientAdapter {
1543
1606
  if (goType.kind === 'interface' || goType.kind === 'model' || goType.kind === 'polymorphicModel') {
1544
1607
  let concreteType;
1545
1608
  if (goType.kind === 'interface') {
1546
- concreteType = goType.possibleTypes.find(
1547
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1548
- (t) => t.discriminatorValue?.literal === exampleType.type.discriminatorValue || t.discriminatorValue?.literal.value === exampleType.type.discriminatorValue);
1609
+ concreteType = goType.possibleTypes.find((t) => t.discriminatorValue?.literal === exampleType.type.discriminatorValue ||
1610
+ (t.discriminatorValue?.literal).value === exampleType.type.discriminatorValue);
1549
1611
  if (concreteType === undefined) {
1550
1612
  // can't find the sub type of a discriminated type, fallback to the base type
1551
1613
  concreteType = goType.rootType;
@@ -1590,4 +1652,27 @@ export class ClientAdapter {
1590
1652
  function isHttpStatusCodeRange(statusCode) {
1591
1653
  return statusCode.start !== undefined;
1592
1654
  }
1655
+ /**
1656
+ * returns true if the provided body parameter is multipart
1657
+ *
1658
+ * @param body the body param to check
1659
+ * @returns true if body is multipart
1660
+ */
1661
+ function isMultipartBodyType(type) {
1662
+ // multipart body params are always a model type.
1663
+ // note that it's legal for models to have zero
1664
+ // properties, so they would never be multipart.
1665
+ if (type.kind !== 'model' || type.properties.length === 0) {
1666
+ return false;
1667
+ }
1668
+ // check for multipart serialization options.
1669
+ // it's never just some of the properties, i.e.
1670
+ // either they all have it or none of them do
1671
+ for (const prop of type.properties) {
1672
+ if (!prop.serializationOptions.multipart) {
1673
+ return false;
1674
+ }
1675
+ }
1676
+ return true;
1677
+ }
1593
1678
  //# sourceMappingURL=clients.js.map