@azure-tools/typespec-go 0.7.0 → 0.8.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/constants.d.ts.map +1 -1
- package/dist/codegen.go/src/constants.js +1 -5
- package/dist/codegen.go/src/constants.js.map +1 -1
- package/dist/codegen.go/src/example.js +1 -1
- package/dist/codegen.go/src/example.js.map +1 -1
- package/dist/codegen.go/src/fake/servers.js +1 -0
- package/dist/codegen.go/src/fake/servers.js.map +1 -1
- package/dist/codegen.go/src/gomod.js +7 -9
- package/dist/codegen.go/src/gomod.js.map +1 -1
- package/dist/codegen.go/src/helpers.js +1 -1
- package/dist/codegen.go/src/helpers.js.map +1 -1
- package/dist/codegen.go/src/models.d.ts.map +1 -1
- package/dist/codegen.go/src/models.js +108 -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 +1 -5
- package/dist/codegen.go/src/operations.js.map +1 -1
- package/dist/codegen.go/src/version.d.ts +7 -0
- package/dist/codegen.go/src/version.d.ts.map +1 -1
- package/dist/codegen.go/src/version.js +10 -3
- package/dist/codegen.go/src/version.js.map +1 -1
- package/dist/codemodel.go/src/client.d.ts +1 -3
- package/dist/codemodel.go/src/client.d.ts.map +1 -1
- package/dist/codemodel.go/src/client.js +0 -1
- package/dist/codemodel.go/src/client.js.map +1 -1
- package/dist/codemodel.go/src/package.d.ts +41 -9
- package/dist/codemodel.go/src/package.d.ts.map +1 -1
- package/dist/codemodel.go/src/package.js +0 -18
- package/dist/codemodel.go/src/package.js.map +1 -1
- package/dist/typespec-go/src/emitter.js +4 -3
- package/dist/typespec-go/src/emitter.js.map +1 -1
- package/dist/typespec-go/src/lib.d.ts +1 -1
- package/dist/typespec-go/src/lib.d.ts.map +1 -1
- package/dist/typespec-go/src/lib.js +6 -6
- package/dist/typespec-go/src/lib.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/adapter.js +10 -2
- 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 +62 -37
- package/dist/typespec-go/src/tcgcadapter/clients.js.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts +0 -1
- package/dist/typespec-go/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/typespec-go/src/tcgcadapter/types.js +16 -42
- package/dist/typespec-go/src/tcgcadapter/types.js.map +1 -1
- package/package.json +21 -21
|
@@ -12,6 +12,11 @@ const EmitterOptionsSchema = {
|
|
|
12
12
|
nullable: true,
|
|
13
13
|
description: 'Semantic version of azcore without the leading \'v\' to use if different from the default version (e.g. 1.2.3).',
|
|
14
14
|
},
|
|
15
|
+
'containing-module': {
|
|
16
|
+
type: 'string',
|
|
17
|
+
nullable: true,
|
|
18
|
+
description: 'The module into which the package is being emitted. Mutually exclusive with module.',
|
|
19
|
+
},
|
|
15
20
|
'disallow-unknown-fields': {
|
|
16
21
|
type: 'boolean',
|
|
17
22
|
nullable: true,
|
|
@@ -45,12 +50,7 @@ const EmitterOptionsSchema = {
|
|
|
45
50
|
'module': {
|
|
46
51
|
type: 'string',
|
|
47
52
|
nullable: true,
|
|
48
|
-
description: 'The
|
|
49
|
-
},
|
|
50
|
-
'module-version': {
|
|
51
|
-
type: 'string',
|
|
52
|
-
nullable: true,
|
|
53
|
-
description: 'Initial semantic version of the Go module without the leading \'v\'. (e.g. 1.2.3). Defaults to 0.1.0.',
|
|
53
|
+
description: 'The module identity to use in go.mod. Mutually exclusive with containing-module.',
|
|
54
54
|
},
|
|
55
55
|
'rawjson-as-bytes': {
|
|
56
56
|
type: 'boolean',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBzF,MAAM,oBAAoB,GAAqC;IAC7D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE;QACV,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,iHAAiH;SAC/H;QACD,yBAAyB,EAAE;YACzB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,yHAAyH;SACvI;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,qIAAqI;SACnJ;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sEAAsE;SACpF;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,iGAAiG;SAC/G;QACD,iBAAiB,EAAE;YACjB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,2GAA2G;SACzH;QACD,cAAc,EAAE;YACd,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,4EAA4E;SAC1F;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAO3D,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAY,MAAM,oBAAoB,CAAC;AAO3D,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAiErG"}
|
|
@@ -39,9 +39,17 @@ export async function tcgcToGoCodeModel(context) {
|
|
|
39
39
|
...sdkContext.sdkPackage.metadata,
|
|
40
40
|
emitterVersion: packageJson['version']
|
|
41
41
|
};
|
|
42
|
+
if (context.options['containing-module'] && context.options.module) {
|
|
43
|
+
throw new AdapterError('InvalidArgument', 'module and containing-module are mutually exclusive', NoTarget);
|
|
44
|
+
}
|
|
42
45
|
if (context.options.module) {
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
codeModel.options.module = context.options.module;
|
|
47
|
+
}
|
|
48
|
+
else if (context.options['containing-module']) {
|
|
49
|
+
codeModel.options.containingModule = context.options['containing-module'];
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new AdapterError('InvalidArgument', 'missing argument module or containing-module', NoTarget);
|
|
45
53
|
}
|
|
46
54
|
if (context.options['rawjson-as-bytes']) {
|
|
47
55
|
codeModel.options.rawJSONAsBytes = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AACpE,OAAO,EAAe,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,UAAU,GAAG;;mDAEgC,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAsC;IAC5E,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EACvC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAC1C,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EACxC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,IAAI,EACnD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC,yEAAyE;KACxK,CAAC;IACF,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,gDAAgD;IAChD,iDAAiD;IACjD,mDAAmD;IACnD,4CAA4C;IAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,0BAA0B,EAAE;QAClF,oBAAoB,EAAE,CAAC,yBAAyB,CAAC;QACjD,mCAAmC,EAAE,IAAI;KAC1C,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1D,IAAI,aAAa,GAAqB,YAAY,CAAC;IACnD,IAAI,UAAU,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5B,aAAa,GAAG,WAAW,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,2BAA2B,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;IAExH,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,0BAA0B,CAA0B,CAAC;IACxG,SAAS,CAAC,QAAQ,GAAG;QACnB,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ;QACjC,cAAc,EAAE,WAAW,CAAC,SAAS,CAAC;KACvC,CAAC;IAEF,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAKpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAuB,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9D,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAAc;IACxB,OAAO,CAAC,IAAI,CAAmB;IAK/B,OAAO,CAAC,YAAY,CAAkC;gBAE1C,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB;IAQnD,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;IAY/D,OAAO,CAAC,oBAAoB;IAuJ5B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,WAAW;IAmEnB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,qBAAqB;IA4K7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,oBAAoB;IA8F5B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,qBAAqB;IAwH7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,4BAA4B;IAQpC,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,0BAA0B;IAwElC,OAAO,CAAC,gBAAgB;CAgGzB"}
|
|
@@ -8,7 +8,7 @@ import { NoTarget } from '@typespec/compiler';
|
|
|
8
8
|
import * as go from '../../../codemodel.go/src/index.js';
|
|
9
9
|
import { capitalize, createOptionsTypeDescription, createResponseEnvelopeDescription, ensureNameCase, getEscapedReservedName, uncapitalize } from '../../../naming.go/src/naming.js';
|
|
10
10
|
import { AdapterError } from './errors.js';
|
|
11
|
-
import {
|
|
11
|
+
import { isTypePassedByValue } from './types.js';
|
|
12
12
|
// used to convert SDK clients and their methods to Go code model types
|
|
13
13
|
export class clientAdapter {
|
|
14
14
|
ta;
|
|
@@ -69,53 +69,78 @@ export class clientAdapter {
|
|
|
69
69
|
else if (docs.description) {
|
|
70
70
|
docs.description = `${clientName} - ${docs.description}`;
|
|
71
71
|
}
|
|
72
|
-
else {
|
|
72
|
+
else if (clientName.length > 6) {
|
|
73
73
|
// strip clientName's "Client" suffix
|
|
74
74
|
const groupName = clientName.substring(0, clientName.length - 6);
|
|
75
75
|
docs.summary = `${clientName} contains the methods for the ${groupName} group.`;
|
|
76
76
|
}
|
|
77
|
+
else {
|
|
78
|
+
// the client name is simply "Client"
|
|
79
|
+
docs.summary = `${clientName} contains the methods for the service.`;
|
|
80
|
+
}
|
|
77
81
|
const goClient = new go.Client(clientName, docs, go.newClientOptions(this.ta.codeModel.type, clientName));
|
|
78
82
|
goClient.parent = parent;
|
|
79
83
|
// anything other than public means non-instantiable client
|
|
80
84
|
if (sdkClient.clientInitialization.initializedBy & tcgc.InitializedByFlags.Individually) {
|
|
81
85
|
for (const param of sdkClient.clientInitialization.parameters) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
goClient.host = paramType.serverUrl;
|
|
92
|
-
}
|
|
93
|
-
if (paramType.templateArguments.length === 0) {
|
|
94
|
-
// this is the param for the fixed host, don't create a param for it
|
|
95
|
-
if (!this.ta.codeModel.host) {
|
|
96
|
-
this.ta.codeModel.host = goClient.host;
|
|
86
|
+
switch (param.kind) {
|
|
87
|
+
case 'credential':
|
|
88
|
+
// skip this for now as we don't generate client constructors
|
|
89
|
+
continue;
|
|
90
|
+
case 'endpoint': {
|
|
91
|
+
if (this.ta.codeModel.type === 'azure-arm') {
|
|
92
|
+
// for ARM, the endpoint is handled via the azcore/arm.Client
|
|
93
|
+
// so we don't need to adapt it.
|
|
94
|
+
continue;
|
|
97
95
|
}
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
let endpointType;
|
|
97
|
+
switch (param.type.kind) {
|
|
98
|
+
case 'endpoint':
|
|
99
|
+
// single endpoint without any supplemental path
|
|
100
|
+
endpointType = param.type;
|
|
101
|
+
break;
|
|
102
|
+
case 'union':
|
|
103
|
+
// this is a union of endpoints. the first is the endpoint plus
|
|
104
|
+
// the supplemental path. the second is a "raw" endpoint which
|
|
105
|
+
// requires the caller to provide the complete endpoint. we only
|
|
106
|
+
// expose the former at present. languages that support overloads
|
|
107
|
+
// MAY support both but it's not a requirement.
|
|
108
|
+
endpointType = param.type.variantTypes[0];
|
|
100
109
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
for (let i = 0; i < endpointType.templateArguments.length; ++i) {
|
|
111
|
+
const templateArg = endpointType.templateArguments[i];
|
|
112
|
+
if (i === 0) {
|
|
113
|
+
// the first template arg is always the endpoint parameter.
|
|
114
|
+
// note that the types of the param and the field are different.
|
|
115
|
+
// NOTE: we use param.name here instead of templateArg.name as
|
|
116
|
+
// the former has the fixed name "endpoint" which is what we want.
|
|
117
|
+
const adaptedParam = this.adaptURIParam(templateArg);
|
|
118
|
+
adaptedParam.docs.summary = templateArg.summary;
|
|
119
|
+
adaptedParam.docs.description = templateArg.doc;
|
|
120
|
+
goClient.parameters.push(adaptedParam);
|
|
121
|
+
// if the server's URL is *only* the endpoint parameter then we're done.
|
|
122
|
+
// this is the param.type.kind === 'endpoint' case.
|
|
123
|
+
if (endpointType.serverUrl === `{${templateArg.serializedName}}`) {
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
goClient.templatedHost = endpointType.serverUrl;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const adaptedParam = this.adaptURIParam(templateArg);
|
|
130
|
+
adaptedParam.docs.summary = templateArg.summary;
|
|
131
|
+
adaptedParam.docs.description = templateArg.doc;
|
|
132
|
+
goClient.parameters.push(adaptedParam);
|
|
106
133
|
}
|
|
134
|
+
break;
|
|
107
135
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
// will be adapted in adaptMethodParameters()
|
|
116
|
-
continue;
|
|
136
|
+
case 'method':
|
|
137
|
+
// some client params, notably api-version, can be explicitly
|
|
138
|
+
// defined in the operation signature:
|
|
139
|
+
// e.g. op withQueryApiVersion(@query("api-version") apiVersion: string)
|
|
140
|
+
// these get propagated to sdkMethod.operation.parameters thus they
|
|
141
|
+
// will be adapted in adaptMethodParameters()
|
|
142
|
+
continue;
|
|
117
143
|
}
|
|
118
|
-
goClient.parameters.push(this.adaptURIParam(param));
|
|
119
144
|
}
|
|
120
145
|
}
|
|
121
146
|
else if (parent) {
|
|
@@ -123,7 +148,6 @@ export class clientAdapter {
|
|
|
123
148
|
// NOTE: we must propagate parant params before a potential recursive call
|
|
124
149
|
// to create a child client that will need to inherit our client params.
|
|
125
150
|
goClient.templatedHost = parent.templatedHost;
|
|
126
|
-
goClient.host = parent.host;
|
|
127
151
|
// make a copy of the client params. this is to prevent
|
|
128
152
|
// client method params from being shared across clients
|
|
129
153
|
// as not all client method params might be uniform.
|
|
@@ -251,9 +275,10 @@ export class clientAdapter {
|
|
|
251
275
|
optionalParamsGroupName = uncapitalize(optionalParamsGroupName);
|
|
252
276
|
}
|
|
253
277
|
let optsGroupName = 'options';
|
|
254
|
-
// if there's an existing parameter with the name options then pick something else
|
|
278
|
+
// if there's an existing required parameter with the name options then pick something else.
|
|
279
|
+
// optional params will be inside the options type, so they can never collide.
|
|
255
280
|
for (const param of sdkMethod.parameters) {
|
|
256
|
-
if (param.name === optsGroupName) {
|
|
281
|
+
if (!param.optional && param.name === optsGroupName) {
|
|
257
282
|
optsGroupName = 'opts';
|
|
258
283
|
break;
|
|
259
284
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ export declare class typeAdapter {
|
|
|
21
21
|
private adaptBytesType;
|
|
22
22
|
private getLiteralValue;
|
|
23
23
|
}
|
|
24
|
-
export declare function getEndpointType(param: tcgc.SdkEndpointParameter): tcgc.SdkEndpointType;
|
|
25
24
|
export declare function isTypePassedByValue(type: tcgc.SdkType): boolean;
|
|
26
25
|
export declare function adaptXMLInfo(decorators: Array<tcgc.DecoratorInfo>, field?: go.ModelField): go.XMLInfo | undefined;
|
|
27
26
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD,qBAAa,WAAW;IAEtB,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;IAGjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAAgC;gBAEvC,SAAS,EAAE,EAAE,CAAC,SAAS;IAOnC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tcgcadapter/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;AAGpE,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAC;AAKzD,qBAAa,WAAW;IAEtB,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC;IAGjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAAgC;gBAEvC,SAAS,EAAE,EAAE,CAAC,SAAS;IAOnC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU;IA+EtC,OAAO,CAAC,iBAAiB;IAkCzB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,uBAAuB,EAAE,OAAO,GAAG,EAAE,CAAC,QAAQ;IAkG3G,OAAO,CAAC,WAAW;IAYnB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,QAAQ;IAiBhD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,QAAQ;IAgBlD,OAAO,CAAC,cAAc;IA6ItB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,QAAQ;IA2EhB,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,eAAe;CA2GxB;AA6DD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAO/D;AAgDD,wBAAgB,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,GAAG,SAAS,CAwDjH"}
|
|
@@ -83,18 +83,8 @@ export class typeAdapter {
|
|
|
83
83
|
}
|
|
84
84
|
// now adapt model fields
|
|
85
85
|
for (const modelType of modelTypes) {
|
|
86
|
-
const content = aggregateProperties(modelType.tcgc);
|
|
86
|
+
const content = aggregateProperties(sdkContext, modelType.tcgc);
|
|
87
87
|
for (const prop of values(content.props)) {
|
|
88
|
-
if (prop.kind === 'header') {
|
|
89
|
-
// the common case here is the @header decorator specifying
|
|
90
|
-
// the content-type for the model. we can just skip it.
|
|
91
|
-
// TODO: follow up with tcgc to see if we can remove the entry.
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
if (prop.kind === 'query') {
|
|
95
|
-
// skip query params for now, wait for confirming visibility behavior
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
88
|
const field = this.getModelField(prop, modelType.tcgc);
|
|
99
89
|
modelType.go.fields.push(field);
|
|
100
90
|
}
|
|
@@ -424,14 +414,15 @@ export class typeAdapter {
|
|
|
424
414
|
if (constType) {
|
|
425
415
|
return constType;
|
|
426
416
|
}
|
|
427
|
-
|
|
417
|
+
const accessPrefix = enumType.access === 'internal' ? 'p' : 'P';
|
|
418
|
+
constType = new go.Constant(constTypeName, getPrimitiveType(enumType.valueType), `${accessPrefix}ossible${constTypeName}Values`);
|
|
428
419
|
constType.values = this.getConstantValues(constType, enumType.values);
|
|
429
420
|
constType.docs.summary = enumType.summary;
|
|
430
421
|
constType.docs.description = enumType.doc;
|
|
431
422
|
this.types.set(constTypeName, constType);
|
|
432
423
|
return constType;
|
|
433
424
|
}
|
|
434
|
-
getInterfaceType(model
|
|
425
|
+
getInterfaceType(model) {
|
|
435
426
|
if (model.name.length === 0) {
|
|
436
427
|
throw new AdapterError('InternalError', 'unnamed model', tsp.NoTarget);
|
|
437
428
|
}
|
|
@@ -459,8 +450,8 @@ export class typeAdapter {
|
|
|
459
450
|
throw new AdapterError('InternalError', `failed to find discriminator field for type ${model.name}`, tsp.NoTarget);
|
|
460
451
|
}
|
|
461
452
|
iface = new go.Interface(ifaceName, discriminatorField);
|
|
462
|
-
if (
|
|
463
|
-
iface.parent =
|
|
453
|
+
if (model.baseModel && model.baseModel.discriminatedSubtypes) {
|
|
454
|
+
iface.parent = this.getInterfaceType(model.baseModel);
|
|
464
455
|
}
|
|
465
456
|
this.types.set(ifaceName, iface);
|
|
466
457
|
return iface;
|
|
@@ -503,6 +494,8 @@ export class typeAdapter {
|
|
|
503
494
|
if (!iface) {
|
|
504
495
|
throw new AdapterError('InternalError', `failed to find discriminator interface name for type ${model.name}`, tsp.NoTarget);
|
|
505
496
|
}
|
|
497
|
+
}
|
|
498
|
+
if (model.discriminatorValue) {
|
|
506
499
|
// find the discriminator property and create the discriminator literal based on it
|
|
507
500
|
for (const prop of model.properties) {
|
|
508
501
|
if (prop.kind === 'property' && prop.discriminator) {
|
|
@@ -544,9 +537,6 @@ export class typeAdapter {
|
|
|
544
537
|
}
|
|
545
538
|
}
|
|
546
539
|
getModelField(prop, modelType) {
|
|
547
|
-
if (prop.kind !== 'path' && prop.kind !== 'property') {
|
|
548
|
-
throw new AdapterError('UnsupportedTsp', `unsupported kind ${prop.kind} for property ${prop.name} in model ${modelType.name}`, prop.__raw?.node ?? tsp.NoTarget);
|
|
549
|
-
}
|
|
550
540
|
const annotations = new go.ModelFieldAnnotations(prop.optional === false, false, false, false);
|
|
551
541
|
// for multipart/form data containing models, default to fields not being pointer-to-type as we
|
|
552
542
|
// don't have to deal with JSON patch shenanigans. only the optional fields will be pointer-to-type.
|
|
@@ -572,13 +562,7 @@ export class typeAdapter {
|
|
|
572
562
|
const field = new go.ModelField(naming.capitalize(naming.ensureNameCase(prop.name)), type, fieldByValue, prop.serializedName, annotations);
|
|
573
563
|
field.docs.summary = prop.summary;
|
|
574
564
|
field.docs.description = prop.doc;
|
|
575
|
-
if (prop.
|
|
576
|
-
// for ARM resources, a property of kind path is usually the model
|
|
577
|
-
// key and will be exposed as a discrete method parameter. this also
|
|
578
|
-
// means that the value is read-only.
|
|
579
|
-
annotations.readOnly = true;
|
|
580
|
-
}
|
|
581
|
-
else if (prop.discriminator && modelType.discriminatorValue) {
|
|
565
|
+
if (prop.discriminator && modelType.discriminatorValue) {
|
|
582
566
|
// the presence of modelType.discriminatorValue tells us that this
|
|
583
567
|
// property is on a model that's not the root discriminator
|
|
584
568
|
annotations.isDiscriminator = true;
|
|
@@ -725,22 +709,6 @@ export class typeAdapter {
|
|
|
725
709
|
// TODO: tcgc doesn't support duration as a literal value
|
|
726
710
|
}
|
|
727
711
|
}
|
|
728
|
-
export function getEndpointType(param) {
|
|
729
|
-
// for multiple endpoint, currently we only generate the first one
|
|
730
|
-
let endpointType;
|
|
731
|
-
if (param.type.kind === 'endpoint') {
|
|
732
|
-
endpointType = param.type;
|
|
733
|
-
}
|
|
734
|
-
else {
|
|
735
|
-
endpointType = param.type.variantTypes[0];
|
|
736
|
-
}
|
|
737
|
-
// for endpoint with only a template argument with default value, we fall back to constant endpoint
|
|
738
|
-
if (endpointType.templateArguments.length === 1 && endpointType.templateArguments[0].clientDefaultValue) {
|
|
739
|
-
endpointType.serverUrl = endpointType.templateArguments[0].clientDefaultValue;
|
|
740
|
-
endpointType.templateArguments = [];
|
|
741
|
-
}
|
|
742
|
-
return endpointType;
|
|
743
|
-
}
|
|
744
712
|
function getPrimitiveType(type) {
|
|
745
713
|
switch (type.kind) {
|
|
746
714
|
case 'boolean':
|
|
@@ -807,15 +775,21 @@ export function isTypePassedByValue(type) {
|
|
|
807
775
|
}
|
|
808
776
|
// aggregate the properties from the provided type and its parent types.
|
|
809
777
|
// this includes any inherited additional properties.
|
|
810
|
-
function aggregateProperties(model) {
|
|
778
|
+
function aggregateProperties(sdkContext, model) {
|
|
811
779
|
const allProps = new Array();
|
|
812
780
|
for (const prop of model.properties) {
|
|
781
|
+
if (tcgc.isHttpMetadata(sdkContext, prop)) {
|
|
782
|
+
continue;
|
|
783
|
+
}
|
|
813
784
|
allProps.push(prop);
|
|
814
785
|
}
|
|
815
786
|
let addlProps = model.additionalProperties;
|
|
816
787
|
let parent = model.baseModel;
|
|
817
788
|
while (parent) {
|
|
818
789
|
for (const parentProp of parent.properties) {
|
|
790
|
+
if (tcgc.isHttpMetadata(sdkContext, parentProp)) {
|
|
791
|
+
continue;
|
|
792
|
+
}
|
|
819
793
|
const exists = values(allProps).where(p => { return p.name === parentProp.name; }).first();
|
|
820
794
|
if (exists) {
|
|
821
795
|
// don't add the duplicate. the TS compiler has better enforcement than OpenAPI
|