@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.
- package/dist/codegen.go/src/core/example.js.map +1 -1
- package/dist/codegen.go/src/core/helpers.d.ts.map +1 -1
- package/dist/codegen.go/src/core/helpers.js +17 -2
- package/dist/codegen.go/src/core/helpers.js.map +1 -1
- package/dist/codegen.go/src/core/operations.d.ts.map +1 -1
- package/dist/codegen.go/src/core/operations.js +158 -43
- package/dist/codegen.go/src/core/operations.js.map +1 -1
- package/dist/codegen.go/src/emitter.js +4 -1
- package/dist/codegen.go/src/emitter.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +76 -4
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codemodel.go/src/client.d.ts +5 -3
- package/dist/codemodel.go/src/client.d.ts.map +1 -1
- package/dist/codemodel.go/src/client.js +0 -2
- package/dist/codemodel.go/src/client.js.map +1 -1
- package/dist/codemodel.go/src/param.d.ts +13 -2
- package/dist/codemodel.go/src/param.d.ts.map +1 -1
- package/dist/codemodel.go/src/param.js +6 -0
- package/dist/codemodel.go/src/param.js.map +1 -1
- package/dist/codemodel.go/src/type.d.ts +33 -12
- package/dist/codemodel.go/src/type.d.ts.map +1 -1
- package/dist/codemodel.go/src/type.js +13 -3
- package/dist/codemodel.go/src/type.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts +8 -1
- package/dist/typespec-go/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/clients.js +126 -41
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.d.ts +7 -0
- package/dist/typespec-go/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.js +25 -1
- package/dist/typespec-go/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +22 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +95 -51
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- 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
|
-
/**
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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:
|
|
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":"AAMA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAkB,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,+DAA+D;AAC/D,MAAM,WAAW,IAAI;IACnB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yEAAyE;AACzE,MAAM,MAAM,OAAO,GAAG,gBAAgB,GAAG,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE7G,4CAA4C;AAC5C,MAAM,MAAM,QAAQ,GAChB,GAAG,GACH,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,IAAI,GACJ,SAAS,GACT,OAAO,GACP,GAAG,GACH,KAAK,GACL,gBAAgB,GAChB,gBAAgB,GAChB,OAAO,GACP,UAAU,GACV,cAAc,GACd,MAAM,GACN,KAAK,GACL,MAAM,GACN,IAAI,CAAC;AAET,+CAA+C;AAC/C,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtC,sBAAsB;AACtB,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,KAAK,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAED,
|
|
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":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAA+B,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
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;
|
|
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)
|
|
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 =
|
|
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
|
-
|
|
595
|
-
//
|
|
596
|
-
//
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
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.
|
|
710
|
-
adaptedParam =
|
|
726
|
+
if (isMultipartBodyType(opParam.type)) {
|
|
727
|
+
adaptedParam = this.adaptMultipartFormParameter(param.name, opParam.type, paramStyle, byVal);
|
|
711
728
|
}
|
|
712
729
|
else {
|
|
713
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
898
|
-
|
|
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' && (
|
|
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
|
-
|
|
958
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|