@azure-tools/typespec-go 0.16.0-dev.2 → 0.16.0-dev.21
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/README.md +1 -1
- package/dist/src/codegen/core/cloud-config.js +1 -0
- package/dist/src/codegen/core/cloud-config.js.map +1 -1
- package/dist/src/codegen/core/errors.d.ts +1 -1
- package/dist/src/codegen/core/errors.d.ts.map +1 -1
- package/dist/src/codegen/core/example.d.ts.map +1 -1
- package/dist/src/codegen/core/example.js +179 -19
- package/dist/src/codegen/core/example.js.map +1 -1
- package/dist/src/codegen/core/gomod.js +2 -1
- package/dist/src/codegen/core/gomod.js.map +1 -1
- package/dist/src/codegen/core/helpers.d.ts +16 -4
- package/dist/src/codegen/core/helpers.d.ts.map +1 -1
- package/dist/src/codegen/core/helpers.js +163 -23
- package/dist/src/codegen/core/helpers.js.map +1 -1
- package/dist/src/codegen/core/index.d.ts +17 -0
- package/dist/src/codegen/core/index.d.ts.map +1 -0
- package/dist/src/codegen/core/index.js +21 -0
- package/dist/src/codegen/core/index.js.map +1 -0
- package/dist/src/codegen/core/interfaces.js +1 -0
- package/dist/src/codegen/core/interfaces.js.map +1 -1
- package/dist/src/codegen/core/license.js +1 -0
- package/dist/src/codegen/core/license.js.map +1 -1
- package/dist/src/codegen/core/metadata.js +1 -0
- package/dist/src/codegen/core/metadata.js.map +1 -1
- package/dist/src/codegen/core/models.d.ts.map +1 -1
- package/dist/src/codegen/core/models.js +64 -16
- package/dist/src/codegen/core/models.js.map +1 -1
- package/dist/src/codegen/core/operations.d.ts +0 -1
- package/dist/src/codegen/core/operations.d.ts.map +1 -1
- package/dist/src/codegen/core/operations.js +84 -1172
- package/dist/src/codegen/core/operations.js.map +1 -1
- package/dist/src/codegen/core/request-handler.d.ts +14 -0
- package/dist/src/codegen/core/request-handler.d.ts.map +1 -0
- package/dist/src/codegen/core/request-handler.js +912 -0
- package/dist/src/codegen/core/request-handler.js.map +1 -0
- package/dist/src/codegen/core/response-handler.d.ts +12 -0
- package/dist/src/codegen/core/response-handler.d.ts.map +1 -0
- package/dist/src/codegen/core/response-handler.js +288 -0
- package/dist/src/codegen/core/response-handler.js.map +1 -0
- package/dist/src/codegen/core/version.js +1 -0
- package/dist/src/codegen/core/version.js.map +1 -1
- package/dist/src/codegen/core/xml-additional-props.js +1 -0
- package/dist/src/codegen/core/xml-additional-props.js.map +1 -1
- package/dist/src/codegen/emitter.d.ts.map +1 -1
- package/dist/src/codegen/emitter.js +21 -37
- package/dist/src/codegen/emitter.js.map +1 -1
- package/dist/src/codegen/fake/index.d.ts +3 -0
- package/dist/src/codegen/fake/index.d.ts.map +1 -0
- package/dist/src/codegen/fake/index.js +7 -0
- package/dist/src/codegen/fake/index.js.map +1 -0
- package/dist/src/codegen/fake/internal.js +1 -0
- package/dist/src/codegen/fake/internal.js.map +1 -1
- package/dist/src/codegen/fake/servers.d.ts.map +1 -1
- package/dist/src/codegen/fake/servers.js +17 -16
- package/dist/src/codegen/fake/servers.js.map +1 -1
- package/dist/src/codemodel/client.d.ts +2 -0
- package/dist/src/codemodel/client.d.ts.map +1 -1
- package/dist/src/codemodel/client.js +7 -0
- package/dist/src/codemodel/client.js.map +1 -1
- package/dist/src/codemodel/code-model.js +2 -0
- package/dist/src/codemodel/code-model.js.map +1 -1
- package/dist/src/codemodel/docs.d.ts +9 -0
- package/dist/src/codemodel/docs.d.ts.map +1 -0
- package/dist/src/codemodel/docs.js +40 -0
- package/dist/src/codemodel/docs.js.map +1 -0
- package/dist/src/codemodel/examples.js +4 -0
- package/dist/src/codemodel/examples.js.map +1 -1
- package/dist/src/codemodel/index.d.ts +1 -0
- package/dist/src/codemodel/index.d.ts.map +1 -1
- package/dist/src/codemodel/index.js +1 -0
- package/dist/src/codemodel/index.js.map +1 -1
- package/dist/src/codemodel/method.js +2 -0
- package/dist/src/codemodel/method.js.map +1 -1
- package/dist/src/codemodel/module.js +3 -0
- package/dist/src/codemodel/module.js.map +1 -1
- package/dist/src/codemodel/param.d.ts.map +1 -1
- package/dist/src/codemodel/param.js +1 -0
- package/dist/src/codemodel/param.js.map +1 -1
- package/dist/src/codemodel/result.js +3 -0
- package/dist/src/codemodel/result.js.map +1 -1
- package/dist/src/codemodel/type.d.ts +7 -2
- package/dist/src/codemodel/type.d.ts.map +1 -1
- package/dist/src/codemodel/type.js +3 -0
- package/dist/src/codemodel/type.js.map +1 -1
- package/dist/src/emitter.d.ts +2 -2
- package/dist/src/emitter.d.ts.map +1 -1
- package/dist/src/emitter.js +110 -3
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/lib.js.map +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts +1 -1
- package/dist/src/tcgcadapter/adapter.d.ts.map +1 -1
- package/dist/src/tcgcadapter/adapter.js +6 -1
- package/dist/src/tcgcadapter/adapter.js.map +1 -1
- package/dist/src/tcgcadapter/clients.d.ts +8 -0
- package/dist/src/tcgcadapter/clients.d.ts.map +1 -1
- package/dist/src/tcgcadapter/clients.js +46 -7
- package/dist/src/tcgcadapter/clients.js.map +1 -1
- package/dist/src/tcgcadapter/errors.d.ts +1 -1
- package/dist/src/tcgcadapter/errors.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.d.ts +5 -3
- package/dist/src/tcgcadapter/helpers.d.ts.map +1 -1
- package/dist/src/tcgcadapter/helpers.js +19 -4
- package/dist/src/tcgcadapter/helpers.js.map +1 -1
- package/dist/src/tcgcadapter/metadata.js +1 -0
- package/dist/src/tcgcadapter/metadata.js.map +1 -1
- package/dist/src/tcgcadapter/types.d.ts.map +1 -1
- package/dist/src/tcgcadapter/types.js +16 -8
- package/dist/src/tcgcadapter/types.js.map +1 -1
- package/package.json +34 -32
package/dist/src/emitter.js
CHANGED
|
@@ -14,6 +14,71 @@ import { Adapter, ExternalError } from "./tcgcadapter/adapter.js";
|
|
|
14
14
|
import { AdapterError } from "./tcgcadapter/errors.js";
|
|
15
15
|
export async function $onEmit(context) {
|
|
16
16
|
try {
|
|
17
|
+
// if there's an existing go.mod file, we'll use its module
|
|
18
|
+
// identity instead of the provided value. this ensures we
|
|
19
|
+
// get the correct major version suffix (if any). if there's
|
|
20
|
+
// no go.mod file (e.g. the first time an SDK is generated) we
|
|
21
|
+
// fall back to the provided value.
|
|
22
|
+
let moduleIdentity;
|
|
23
|
+
let currentDir = context.emitterOutputDir;
|
|
24
|
+
while (true) {
|
|
25
|
+
const goModFile = path.join(currentDir, "go.mod");
|
|
26
|
+
if (existsSync(goModFile)) {
|
|
27
|
+
const goModFileContent = readFileSync(goModFile, "utf8");
|
|
28
|
+
// the module identity is specified on the "module" directive, e.g.
|
|
29
|
+
// module github.com/Azure/azure-sdk-for-go/sdk/foo/v2
|
|
30
|
+
const match = goModFileContent.match(/^module\s+(\S+)/m);
|
|
31
|
+
if (!match) {
|
|
32
|
+
context.program.reportDiagnostic({
|
|
33
|
+
code: "gomod",
|
|
34
|
+
severity: "error",
|
|
35
|
+
message: `failed to find module directive in ${goModFile}`,
|
|
36
|
+
target: NoTarget,
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
moduleIdentity = match[1];
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
// move to the parent directory
|
|
44
|
+
const parentDir = path.dirname(currentDir);
|
|
45
|
+
if (parentDir === currentDir) {
|
|
46
|
+
// we've reached the filesystem root without finding a go.mod.
|
|
47
|
+
// this is expected the first time an SDK is generated, in which
|
|
48
|
+
// case we fall back to the provided module identity.
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
currentDir = parentDir;
|
|
52
|
+
}
|
|
53
|
+
// if we discovered an existing go.mod, prefer the identity from go.mod
|
|
54
|
+
// so we pick up the correct major version suffix. module and
|
|
55
|
+
// containing-module are mutually exclusive, so update whichever was
|
|
56
|
+
// provided.
|
|
57
|
+
if (moduleIdentity) {
|
|
58
|
+
const providedModule = context.options.module ?? context.options["containing-module"];
|
|
59
|
+
// ensure the existing go.mod's major version isn't behind the requested
|
|
60
|
+
// value (a suffix-less identity is v1). a stale go.mod would otherwise
|
|
61
|
+
// silently downgrade the module identity, so treat it as an error.
|
|
62
|
+
if (providedModule) {
|
|
63
|
+
const discoveredMajor = majorVersion(moduleIdentity);
|
|
64
|
+
const providedMajor = majorVersion(providedModule);
|
|
65
|
+
if (discoveredMajor < providedMajor) {
|
|
66
|
+
context.program.reportDiagnostic({
|
|
67
|
+
code: "gomod",
|
|
68
|
+
severity: "error",
|
|
69
|
+
message: `the existing go.mod module identity '${moduleIdentity}' (major version v${discoveredMajor}) is behind the requested module identity '${providedModule}' (major version v${providedMajor})`,
|
|
70
|
+
target: NoTarget,
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (context.options.module) {
|
|
76
|
+
context.options.module = moduleIdentity;
|
|
77
|
+
}
|
|
78
|
+
else if (context.options["containing-module"]) {
|
|
79
|
+
context.options["containing-module"] = moduleIdentity;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
17
82
|
const adapter = await Adapter.create(context);
|
|
18
83
|
const codeModel = adapter.tcgcToGoCodeModel();
|
|
19
84
|
await mkdir(context.emitterOutputDir, { recursive: true });
|
|
@@ -94,7 +159,7 @@ export async function $onEmit(context) {
|
|
|
94
159
|
context.program.reportDiagnostic({
|
|
95
160
|
code: "gogenerate",
|
|
96
161
|
severity: "error",
|
|
97
|
-
message: err.
|
|
162
|
+
message: postEmitToolErrorMessage(`go generate ${goGenerateFile}`, err, context.emitterOutputDir),
|
|
98
163
|
target: NoTarget,
|
|
99
164
|
});
|
|
100
165
|
// don't continue so the state of the SDK can be inspected without any additional changes
|
|
@@ -109,7 +174,7 @@ export async function $onEmit(context) {
|
|
|
109
174
|
context.program.reportDiagnostic({
|
|
110
175
|
code: "gofmt",
|
|
111
176
|
severity: "error",
|
|
112
|
-
message: err.
|
|
177
|
+
message: postEmitToolErrorMessage("gofmt -s -w .", err, context.emitterOutputDir),
|
|
113
178
|
target: NoTarget,
|
|
114
179
|
});
|
|
115
180
|
return;
|
|
@@ -122,7 +187,7 @@ export async function $onEmit(context) {
|
|
|
122
187
|
context.program.reportDiagnostic({
|
|
123
188
|
code: "gomodtidy",
|
|
124
189
|
severity: "error",
|
|
125
|
-
message: err.
|
|
190
|
+
message: postEmitToolErrorMessage("go mod tidy", err, context.emitterOutputDir),
|
|
126
191
|
target: NoTarget,
|
|
127
192
|
});
|
|
128
193
|
return;
|
|
@@ -176,6 +241,36 @@ export async function $onEmit(context) {
|
|
|
176
241
|
}
|
|
177
242
|
}
|
|
178
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* The Windows maximum path length. A process's current directory cannot exceed
|
|
246
|
+
* this, so launching a Go tool with a longer working directory fails.
|
|
247
|
+
*/
|
|
248
|
+
const WINDOWS_MAX_PATH = 260;
|
|
249
|
+
/**
|
|
250
|
+
* Build the diagnostic message for a post-emit Go tool that failed to run.
|
|
251
|
+
*
|
|
252
|
+
* When a tool cannot be launched because the emitter output directory exceeds
|
|
253
|
+
* the Windows maximum path length, the underlying failure surfaces as a
|
|
254
|
+
* spurious ENOENT against the command shell rather than anything mentioning the
|
|
255
|
+
* path. In that case, replace the opaque error with an actionable explanation.
|
|
256
|
+
*
|
|
257
|
+
* @param command the command that was executed (for context in the message)
|
|
258
|
+
* @param err the error thrown by execSync
|
|
259
|
+
* @param outputDir the emitter output directory used as the working directory
|
|
260
|
+
* @returns the diagnostic message
|
|
261
|
+
*/
|
|
262
|
+
function postEmitToolErrorMessage(command, err, outputDir) {
|
|
263
|
+
const error = err;
|
|
264
|
+
if (process.platform === "win32" &&
|
|
265
|
+
error.code === "ENOENT" &&
|
|
266
|
+
outputDir.length > WINDOWS_MAX_PATH) {
|
|
267
|
+
return (`unable to run '${command}': the tool could not be launched. This is typically caused by the ` +
|
|
268
|
+
`emitter output directory path (${outputDir.length} characters) exceeding the Windows maximum ` +
|
|
269
|
+
`path length of ${WINDOWS_MAX_PATH}; Windows cannot use a working directory longer than this. ` +
|
|
270
|
+
`Emit to a shorter output directory. (output directory: ${outputDir})`);
|
|
271
|
+
}
|
|
272
|
+
return error.message;
|
|
273
|
+
}
|
|
179
274
|
/**
|
|
180
275
|
* drop frames after the specified frame.
|
|
181
276
|
*
|
|
@@ -193,6 +288,18 @@ function truncateStack(stack, finalFrame) {
|
|
|
193
288
|
}
|
|
194
289
|
return stack;
|
|
195
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* extracts the major version from a Go module identity's version suffix.
|
|
293
|
+
* e.g. "github.com/foo/bar/v2" returns 2. modules without a suffix are v0/v1,
|
|
294
|
+
* so 1 is returned.
|
|
295
|
+
*
|
|
296
|
+
* @param identity the Go module identity
|
|
297
|
+
* @returns the major version
|
|
298
|
+
*/
|
|
299
|
+
function majorVersion(identity) {
|
|
300
|
+
const match = identity.match(/\/v(\d+)$/);
|
|
301
|
+
return match ? parseInt(match[1], 10) : 1;
|
|
302
|
+
}
|
|
196
303
|
/**
|
|
197
304
|
* Clean up existing generated Go files in the output directory.
|
|
198
305
|
* Removes any .go files that contain the Microsoft code generator comment.
|
package/dist/src/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as tsp from "@typespec/compiler";
|
|
2
2
|
import * as go from "../codemodel/index.js";
|
|
3
|
-
import { GoEmitterOptions } from "../lib.js";
|
|
3
|
+
import type { GoEmitterOptions } from "../lib.js";
|
|
4
4
|
/**
|
|
5
5
|
* ExternalError is thrown when an external component reports a
|
|
6
6
|
* diagnostic error that would prevent the emitter from proceeding.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAOlD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,KAAK;CAAG;AAE3C,+EAA+E;AAC/E,qBAAa,OAAO;IAClB;;;;;OAKG;WACU,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BjF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IAEzC,OAAO;IA2CP,kEAAkE;IAClE,iBAAiB,IAAI,EAAE,CAAC,SAAS;CAgBlC"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*--------------------------------------------------------------------------------------------*/
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-deprecated -- uses TCGC APIs marked deprecated (correspondingMethodParams, serializedName, generate-examples). */
|
|
6
6
|
import * as tcgc from "@azure-tools/typespec-client-generator-core";
|
|
7
|
+
import * as tsp from "@typespec/compiler";
|
|
7
8
|
import * as go from "../codemodel/index.js";
|
|
8
9
|
import * as naming from "../naming/index.js";
|
|
9
10
|
import { ClientAdapter } from "./clients.js";
|
|
@@ -30,7 +31,11 @@ export class Adapter {
|
|
|
30
31
|
// however, it's filtered out by default so we need
|
|
31
32
|
// to add it to the allow list of decorators
|
|
32
33
|
const ctx = await tcgc.createSdkContext(context, "@azure-tools/typespec-go", {
|
|
33
|
-
additionalDecorators: [
|
|
34
|
+
additionalDecorators: [
|
|
35
|
+
"TypeSpec\\.@encodedName",
|
|
36
|
+
"@deserializeEmptyStringAsNull",
|
|
37
|
+
"@responseAsBool",
|
|
38
|
+
],
|
|
34
39
|
disableUsageAccessPropagationToBase: true,
|
|
35
40
|
});
|
|
36
41
|
context.program.reportDiagnostics(ctx.diagnostics);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,yJAAyJ;AAEzJ,OAAO,KAAK,IAAI,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/tcgcadapter/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,14 @@ export declare class ClientAdapter {
|
|
|
47
47
|
* @returns the pageable strategy or undefined
|
|
48
48
|
*/
|
|
49
49
|
private adaptPagingStrategy;
|
|
50
|
+
/**
|
|
51
|
+
* converts the method parameters that must be added to next link requests.
|
|
52
|
+
*
|
|
53
|
+
* @param method the tcgc pageable method
|
|
54
|
+
* @param paramsMap maps tcgc method parameters to Go parameters
|
|
55
|
+
* @returns the query parameters to add to next link requests
|
|
56
|
+
*/
|
|
57
|
+
private adaptPageableMethodReinjectionParams;
|
|
50
58
|
private populateMethod;
|
|
51
59
|
private adaptMethodParameters;
|
|
52
60
|
private adaptContentType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAqBA,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;IAyBZ,OAAO,CAAC,oBAAoB;IAiV5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../src/tcgcadapter/clients.ts"],"names":[],"mappings":"AAqBA,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;IAyBZ,OAAO,CAAC,oBAAoB;IAiV5B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAqCrB,OAAO,CAAC,WAAW;IAmJnB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAmH3B;;;;;;OAMG;IACH,OAAO,CAAC,oCAAoC;IAqC5C,OAAO,CAAC,cAAc;IAqGtB,OAAO,CAAC,qBAAqB;IA8X7B,OAAO,CAAC,gBAAgB;IAcxB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA6S5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAoDnC,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,qBAAqB;IAmT7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;IAoDzB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,6BAA6B;IAYrC,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,0BAA0B;IAsJlC,OAAO,CAAC,gBAAgB;CAiIzB"}
|
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-deprecated -- uses TCGC APIs marked deprecated (correspondingMethodParams). */
|
|
6
6
|
import * as tcgc from "@azure-tools/typespec-client-generator-core";
|
|
7
7
|
import { NoTarget } from "@typespec/compiler";
|
|
8
|
+
import * as http from "@typespec/http";
|
|
8
9
|
import * as go from "../codemodel/index.js";
|
|
9
10
|
import { capitalize, createOptionsTypeDescription, createResponseEnvelopeDescription, ensureNameCase, getEscapedReservedName, uncapitalize, } from "../naming/naming.js";
|
|
10
11
|
import { AdapterError } from "./errors.js";
|
|
11
12
|
import * as helpers from "./helpers.js";
|
|
13
|
+
import { TypeAdapter } from "./types.js";
|
|
12
14
|
/**
|
|
13
15
|
* used to convert tcgc clients and their methods to Go code model types
|
|
14
16
|
*/
|
|
@@ -81,7 +83,7 @@ export class ClientAdapter {
|
|
|
81
83
|
docs.summary = `${clientName} - ${docs.summary}`;
|
|
82
84
|
}
|
|
83
85
|
else if (docs.description) {
|
|
84
|
-
docs.description =
|
|
86
|
+
docs.description = go.prefixDocWithName(clientName, docs.description);
|
|
85
87
|
}
|
|
86
88
|
else if (clientName.length > 6) {
|
|
87
89
|
// strip clientName's "Client" suffix
|
|
@@ -481,10 +483,6 @@ export class ClientAdapter {
|
|
|
481
483
|
method = new go.SyncMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
|
|
482
484
|
break;
|
|
483
485
|
case "paging":
|
|
484
|
-
if (sdkMethod.pagingMetadata.nextLinkReInjectedParametersSegments !== undefined &&
|
|
485
|
-
sdkMethod.pagingMetadata.nextLinkReInjectedParametersSegments.length > 0) {
|
|
486
|
-
throw new AdapterError("UnsupportedTsp", `paging with re-injected parameters is not supported`, sdkMethod.__raw?.node);
|
|
487
|
-
}
|
|
488
486
|
method = new go.PageableMethod(methodName, goClient, sdkMethod.operation.path, sdkMethod.operation.verb, statusCodes, naming);
|
|
489
487
|
applyPageableInfo = setPageableInfo(method, sdkMethod);
|
|
490
488
|
break;
|
|
@@ -536,7 +534,9 @@ export class ClientAdapter {
|
|
|
536
534
|
throw new AdapterError("UnsupportedTsp", "next page operation NYI", sdkMethod.__raw?.node);
|
|
537
535
|
}
|
|
538
536
|
else if (sdkMethod.pagingMetadata.nextLinkSegments) {
|
|
539
|
-
|
|
537
|
+
const strategy = new go.PageableStrategyNextLink(buildNextLinkPath(sdkMethod.pagingMetadata.nextLinkSegments));
|
|
538
|
+
strategy.reinjectedParams = this.adaptPageableMethodReinjectionParams(sdkMethod, paramsMap);
|
|
539
|
+
return strategy;
|
|
540
540
|
}
|
|
541
541
|
else if (sdkMethod.pagingMetadata.continuationTokenParameterSegments &&
|
|
542
542
|
sdkMethod.pagingMetadata.continuationTokenResponseSegments) {
|
|
@@ -550,6 +550,9 @@ export class ClientAdapter {
|
|
|
550
550
|
if (!tokenParam) {
|
|
551
551
|
throw new AdapterError("InternalError", `missing continuation token request parameter name ${tokenReq.name} for operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
|
|
552
552
|
}
|
|
553
|
+
if (tokenParam.kind === "queryCollectionParam") {
|
|
554
|
+
throw new AdapterError("InternalError", `unexpected collection continuation token request parameter ${tokenReq.name} for operation ${sdkMethod.name}`, sdkMethod.__raw?.node);
|
|
555
|
+
}
|
|
553
556
|
requestToken = tokenParam;
|
|
554
557
|
break;
|
|
555
558
|
}
|
|
@@ -579,6 +582,36 @@ export class ClientAdapter {
|
|
|
579
582
|
// operation is pageable but doesn't yet support fetching subsequent pages
|
|
580
583
|
return undefined;
|
|
581
584
|
}
|
|
585
|
+
/**
|
|
586
|
+
* converts the method parameters that must be added to next link requests.
|
|
587
|
+
*
|
|
588
|
+
* @param method the tcgc pageable method
|
|
589
|
+
* @param paramsMap maps tcgc method parameters to Go parameters
|
|
590
|
+
* @returns the query parameters to add to next link requests
|
|
591
|
+
*/
|
|
592
|
+
adaptPageableMethodReinjectionParams(method, paramsMap) {
|
|
593
|
+
if (!method.pagingMetadata.nextLinkReInjectedParametersSegments) {
|
|
594
|
+
return [];
|
|
595
|
+
}
|
|
596
|
+
const paramsForReinjection = new Array();
|
|
597
|
+
for (const reinjectedParamSegment of method.pagingMetadata
|
|
598
|
+
.nextLinkReInjectedParametersSegments) {
|
|
599
|
+
for (const reinjectedParam of reinjectedParamSegment) {
|
|
600
|
+
if (reinjectedParam.kind !== "method") {
|
|
601
|
+
throw new AdapterError("InternalError", `unexpected next link re-injection parameter kind ${reinjectedParam.kind}`, reinjectedParam.__raw?.node);
|
|
602
|
+
}
|
|
603
|
+
const goParam = paramsMap.get(reinjectedParam);
|
|
604
|
+
if (!goParam) {
|
|
605
|
+
throw new AdapterError("InternalError", `missing re-injection parameter name ${reinjectedParam.name} for operation ${method.name}`, method.__raw?.node);
|
|
606
|
+
}
|
|
607
|
+
else if (goParam.kind === "headerScalarParam") {
|
|
608
|
+
continue;
|
|
609
|
+
}
|
|
610
|
+
paramsForReinjection.push(goParam);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
return paramsForReinjection;
|
|
614
|
+
}
|
|
582
615
|
populateMethod(sdkMethod, method) {
|
|
583
616
|
if (method.kind === "nextPageMethod") {
|
|
584
617
|
throw new AdapterError("UnsupportedTsp", `unsupported method kind ${sdkMethod.kind}`, sdkMethod.__raw?.node);
|
|
@@ -850,6 +883,7 @@ export class ClientAdapter {
|
|
|
850
883
|
if (method.kind !== "nextPageMethod" && go.isPageableMethod(method)) {
|
|
851
884
|
switch (adaptedParam.kind) {
|
|
852
885
|
case "headerScalarParam":
|
|
886
|
+
case "queryCollectionParam":
|
|
853
887
|
case "queryScalarParam":
|
|
854
888
|
pageableParamsMap.set(param, adaptedParam);
|
|
855
889
|
}
|
|
@@ -1213,9 +1247,14 @@ export class ClientAdapter {
|
|
|
1213
1247
|
let sdkResponseType = sdkMethod.response.type;
|
|
1214
1248
|
// since HEAD requests don't return a type, we must check this before checking sdkResponseType
|
|
1215
1249
|
if (method.httpMethod === "head" &&
|
|
1216
|
-
|
|
1250
|
+
(helpers.hasDecorator("@responseAsBool", sdkMethod.decorators) ||
|
|
1251
|
+
this.ta.ctx.emitContext.options["head-as-boolean"] === true)) {
|
|
1217
1252
|
respEnv.result = new go.HeadAsBooleanResult("Success");
|
|
1218
1253
|
respEnv.result.docs.summary = "Success indicates if the operation succeeded or failed.";
|
|
1254
|
+
// NOTE: tcgc models a boolean response type for us. however, we use the presence of
|
|
1255
|
+
// a response type as a predicate to mean "this operation returns a modeled response"
|
|
1256
|
+
// which would send us down an incorrect code path. so we clear it here instead.
|
|
1257
|
+
sdkResponseType = undefined;
|
|
1219
1258
|
}
|
|
1220
1259
|
if (!sdkResponseType) {
|
|
1221
1260
|
if (literalContentTypeHeader) {
|