@azure-tools/typespec-python 0.27.1 → 0.29.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/scripts/regenerate.d.ts +2 -0
- package/dist/scripts/regenerate.d.ts.map +1 -0
- package/dist/scripts/regenerate.js +258 -0
- package/dist/scripts/regenerate.js.map +1 -0
- package/dist/scripts/run-python3.d.ts +2 -0
- package/dist/scripts/run-python3.d.ts.map +1 -0
- package/dist/scripts/run-python3.js +23 -0
- package/dist/scripts/run-python3.js.map +1 -0
- package/dist/scripts/run-tests.d.ts +2 -0
- package/dist/scripts/run-tests.d.ts.map +1 -0
- package/dist/scripts/run-tests.js +50 -0
- package/dist/scripts/run-tests.js.map +1 -0
- package/dist/scripts/system-requirements.d.ts +17 -0
- package/dist/scripts/system-requirements.d.ts.map +1 -0
- package/{scripts/system-requirements.cjs → dist/scripts/system-requirements.js} +80 -97
- package/dist/scripts/system-requirements.js.map +1 -0
- package/dist/src/code-model.d.ts.map +1 -1
- package/dist/src/code-model.js +29 -41
- package/dist/src/code-model.js.map +1 -1
- package/dist/src/emitter.js +1 -1
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/external-process.js +1 -1
- package/dist/src/external-process.js.map +1 -1
- package/dist/src/http.d.ts.map +1 -1
- package/dist/src/http.js +32 -17
- package/dist/src/http.js.map +1 -1
- package/dist/src/types.d.ts +9 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +56 -3
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +6 -8
- package/dist/src/utils.js.map +1 -1
- package/generator/pygen/codegen/models/__init__.py +2 -0
- package/generator/pygen/codegen/models/base.py +1 -1
- package/generator/pygen/codegen/models/code_model.py +2 -4
- package/generator/pygen/codegen/models/model_type.py +1 -2
- package/generator/pygen/codegen/models/operation.py +13 -16
- package/generator/pygen/codegen/models/parameter.py +6 -0
- package/generator/pygen/codegen/models/primitive_types.py +26 -0
- package/generator/pygen/codegen/models/property.py +1 -9
- package/generator/pygen/codegen/serializers/__init__.py +1 -1
- package/generator/pygen/codegen/serializers/builder_serializer.py +2 -2
- package/generator/pygen/codegen/serializers/general_serializer.py +0 -1
- package/generator/pygen/codegen/serializers/model_serializer.py +2 -0
- package/generator/pygen/codegen/serializers/sample_serializer.py +19 -12
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +24 -18
- package/generator/pygen/codegen/templates/vendor.py.jinja2 +0 -2
- package/package.json +33 -39
- package/scripts/__pycache__/venvtools.cpython-310.pyc +0 -0
- package/scripts/regenerate.ts +285 -0
- package/scripts/run-python3.ts +25 -0
- package/scripts/run-tests.ts +57 -0
- package/scripts/system-requirements.ts +253 -0
- package/scripts/run-python3.cjs +0 -22
|
@@ -1,59 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { spawn } from "child_process";
|
|
2
|
+
import { coerce, satisfies } from "semver";
|
|
4
3
|
/*
|
|
5
4
|
* Copied from @autorest/system-requirements
|
|
6
5
|
*/
|
|
7
|
-
|
|
8
|
-
const PythonRequirement = "python";
|
|
9
|
-
const PRINT_PYTHON_VERSION_SCRIPT = "import sys; print('.'.join(map(str, sys.version_info[:3])))";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function execute(command, cmdlineargs, options = {}) {
|
|
6
|
+
const execute = (command, cmdlineargs, options = {}) => {
|
|
13
7
|
return new Promise((resolve, reject) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
log: all,
|
|
42
|
-
error: code ? new Error("Process Failed.") : null,
|
|
43
|
-
code,
|
|
44
|
-
}),
|
|
45
|
-
);
|
|
8
|
+
const cp = spawn(command, cmdlineargs, { ...options, stdio: "pipe", shell: true });
|
|
9
|
+
if (options.onCreate) {
|
|
10
|
+
options.onCreate(cp);
|
|
11
|
+
}
|
|
12
|
+
options.onStdOutData ? cp.stdout.on("data", options.onStdOutData) : cp;
|
|
13
|
+
options.onStdErrData ? cp.stderr.on("data", options.onStdErrData) : cp;
|
|
14
|
+
let err = "";
|
|
15
|
+
let out = "";
|
|
16
|
+
let all = "";
|
|
17
|
+
cp.stderr.on("data", (chunk) => {
|
|
18
|
+
err += chunk;
|
|
19
|
+
all += chunk;
|
|
20
|
+
});
|
|
21
|
+
cp.stdout.on("data", (chunk) => {
|
|
22
|
+
out += chunk;
|
|
23
|
+
all += chunk;
|
|
24
|
+
});
|
|
25
|
+
cp.on("error", (err) => {
|
|
26
|
+
reject(err);
|
|
27
|
+
});
|
|
28
|
+
cp.on("close", (code, signal) => resolve({
|
|
29
|
+
stdout: out,
|
|
30
|
+
stderr: err,
|
|
31
|
+
log: all,
|
|
32
|
+
error: code ? new Error("Process Failed.") : null,
|
|
33
|
+
code,
|
|
34
|
+
}));
|
|
46
35
|
});
|
|
47
36
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return semver.satisfies(cleanedVersion, requirement, true);
|
|
37
|
+
const versionIsSatisfied = (version, requirement) => {
|
|
38
|
+
const cleanedVersion = coerce(version);
|
|
39
|
+
if (!cleanedVersion) {
|
|
40
|
+
throw new Error(`Invalid version ${version}.`);
|
|
41
|
+
}
|
|
42
|
+
return satisfies(cleanedVersion, requirement, true);
|
|
55
43
|
};
|
|
56
|
-
|
|
57
44
|
/**
|
|
58
45
|
* Validate the provided system requirement resolution is satisfying the version requirement if applicable.
|
|
59
46
|
* @param resolution Command resolution.
|
|
@@ -61,68 +48,62 @@ function versionIsSatisfied(version, requirement) {
|
|
|
61
48
|
* @param requirement Requirement.
|
|
62
49
|
* @returns the resolution if it is valid or an @see SystemRequirementError if not.
|
|
63
50
|
*/
|
|
64
|
-
|
|
51
|
+
const validateVersionRequirement = (resolution, actualVersion, requirement) => {
|
|
65
52
|
if (!requirement.version) {
|
|
66
53
|
return resolution; // No version requirement.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
try {
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
70
56
|
if (versionIsSatisfied(actualVersion, requirement.version)) {
|
|
71
|
-
|
|
57
|
+
return resolution;
|
|
72
58
|
}
|
|
73
59
|
return {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
60
|
+
...resolution,
|
|
61
|
+
error: true,
|
|
62
|
+
message: `'${resolution.command}' version is '${actualVersion}' but doesn't satisfy requirement '${requirement.version}'. Please update.`,
|
|
63
|
+
actualVersion: actualVersion,
|
|
64
|
+
neededVersion: requirement.version,
|
|
79
65
|
};
|
|
80
|
-
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
81
68
|
return {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
69
|
+
...resolution,
|
|
70
|
+
error: true,
|
|
71
|
+
message: `Couldn't parse the version ${actualVersion}. This is not a valid semver version.`,
|
|
72
|
+
actualVersion: actualVersion,
|
|
73
|
+
neededVersion: requirement.version,
|
|
87
74
|
};
|
|
88
|
-
|
|
75
|
+
}
|
|
89
76
|
};
|
|
90
|
-
|
|
91
|
-
async function tryPython(requirement, command, additionalArgs = []) {
|
|
77
|
+
const tryPython = async (requirement, command, additionalArgs = []) => {
|
|
92
78
|
const resolution = {
|
|
93
79
|
name: PythonRequirement,
|
|
94
80
|
command,
|
|
95
81
|
additionalArgs: additionalArgs.length > 0 ? additionalArgs : undefined,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
try {
|
|
82
|
+
};
|
|
83
|
+
try {
|
|
99
84
|
const result = await execute(command, [...additionalArgs, "-c", `"${PRINT_PYTHON_VERSION_SCRIPT}"`]);
|
|
100
85
|
return validateVersionRequirement(resolution, result.stdout.trim(), requirement);
|
|
101
|
-
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
102
88
|
return {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
89
|
+
error: true,
|
|
90
|
+
...resolution,
|
|
91
|
+
message: `'${command}' command line is not found in the path. Make sure to have it installed.`,
|
|
106
92
|
};
|
|
107
|
-
|
|
93
|
+
}
|
|
108
94
|
};
|
|
109
|
-
|
|
110
95
|
/**
|
|
111
96
|
* Returns the path to the executable as asked in the requirement.
|
|
112
97
|
* @param requirement System requirement definition.
|
|
113
98
|
* @returns If the requirement provide an environment variable for the path returns the value of that environment variable. undefined otherwise.
|
|
114
99
|
*/
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function createPythonErrorMessage(requirement, errors) {
|
|
100
|
+
const getExecutablePath = (requirement) => requirement.environmentVariable && process.env[requirement.environmentVariable];
|
|
101
|
+
const createPythonErrorMessage = (requirement, errors) => {
|
|
120
102
|
const versionReq = requirement.version ?? "*";
|
|
121
103
|
const lines = [
|
|
122
104
|
`Couldn't find a valid python interpreter satisfying the requirement (version: ${versionReq}). Tried:`,
|
|
123
105
|
...errors.map((x) => ` - ${x.command} (${x.message})`),
|
|
124
106
|
];
|
|
125
|
-
|
|
126
107
|
return {
|
|
127
108
|
error: true,
|
|
128
109
|
name: "python",
|
|
@@ -130,46 +111,44 @@ function createPythonErrorMessage(requirement, errors) {
|
|
|
130
111
|
message: lines.join("\n"),
|
|
131
112
|
};
|
|
132
113
|
};
|
|
133
|
-
|
|
134
|
-
|
|
114
|
+
const resolvePythonRequirement = async (requirement) => {
|
|
115
|
+
// Hardcoding AUTOREST_PYTHON_EXE is for backward compatibility
|
|
135
116
|
const path = getExecutablePath(requirement) ?? process.env["AUTOREST_PYTHON_EXE"];
|
|
136
117
|
if (path) {
|
|
137
118
|
return await tryPython(requirement, path);
|
|
138
119
|
}
|
|
139
|
-
|
|
140
120
|
const errors = [];
|
|
141
121
|
// On windows try `py` executable with `-3` flag.
|
|
142
122
|
if (process.platform === "win32") {
|
|
143
123
|
const pyResult = await tryPython(requirement, "py", ["-3"]);
|
|
144
124
|
if ("error" in pyResult) {
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
125
|
+
errors.push(pyResult);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return pyResult;
|
|
148
129
|
}
|
|
149
130
|
}
|
|
150
|
-
|
|
151
131
|
const python3Result = await tryPython(requirement, "python3");
|
|
152
132
|
if ("error" in python3Result) {
|
|
153
133
|
errors.push(python3Result);
|
|
154
|
-
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
155
136
|
return python3Result;
|
|
156
137
|
}
|
|
157
|
-
|
|
158
138
|
const pythonResult = await tryPython(requirement, "python");
|
|
159
139
|
if ("error" in pythonResult) {
|
|
160
140
|
errors.push(pythonResult);
|
|
161
|
-
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
162
143
|
return pythonResult;
|
|
163
144
|
}
|
|
164
|
-
|
|
165
145
|
return createPythonErrorMessage(requirement, errors);
|
|
166
146
|
};
|
|
167
|
-
|
|
168
147
|
/**
|
|
169
148
|
* @param command list of the command and arguments. First item in array must be a python exe @see KnownPythonExe. (e.g. ["python", "mypythonfile.py"]
|
|
170
149
|
* @param requirement
|
|
171
150
|
*/
|
|
172
|
-
|
|
151
|
+
export const patchPythonPath = async (command, requirement) => {
|
|
173
152
|
const [_, ...args] = command;
|
|
174
153
|
const resolution = await resolvePythonRequirement(requirement);
|
|
175
154
|
if ("error" in resolution) {
|
|
@@ -177,4 +156,8 @@ async function patchPythonPath(command, requirement) {
|
|
|
177
156
|
}
|
|
178
157
|
return [resolution.command, ...(resolution.additionalArgs ?? []), ...args];
|
|
179
158
|
};
|
|
180
|
-
|
|
159
|
+
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
160
|
+
// TYPES
|
|
161
|
+
const PythonRequirement = "python";
|
|
162
|
+
const PRINT_PYTHON_VERSION_SCRIPT = "import sys; print('.'.join(map(str, sys.version_info[:3])))";
|
|
163
|
+
//# sourceMappingURL=system-requirements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-requirements.js","sourceRoot":"","sources":["../../scripts/system-requirements.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"code-model.d.ts","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAWH,mBAAmB,EAGtB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgM5C,wBAAgB,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,EACvE,UAAU,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,uBAkClD"}
|
package/dist/src/code-model.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UsageFlags, getCrossLanguagePackageId, } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
-
import { KnownTypes, getType, simpleTypesMap, typesMap } from "./types.js";
|
|
2
|
+
import { KnownTypes, disableGenerationMap, emitEndpointType, getType, simpleTypesMap, typesMap } from "./types.js";
|
|
3
3
|
import { emitParamBase, getImplementation, removeUnderscoresFromNamespace } from "./utils.js";
|
|
4
4
|
import { emitBasicHttpMethod, emitLroHttpMethod, emitLroPagingHttpMethod, emitPagingHttpMethod } from "./http.js";
|
|
5
5
|
import { ignoreDiagnostics } from "@typespec/compiler";
|
|
@@ -45,35 +45,13 @@ function emitLroPagingMethod(context, rootClient, method, operationGroupName) {
|
|
|
45
45
|
}
|
|
46
46
|
function emitMethodParameter(context, parameter) {
|
|
47
47
|
if (parameter.kind === "endpoint") {
|
|
48
|
-
if (parameter.type.
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
params.push({
|
|
52
|
-
...emitParamBase(context, param),
|
|
53
|
-
wireName: param.name,
|
|
54
|
-
location: "endpointPath",
|
|
55
|
-
implementation: getImplementation(context, param),
|
|
56
|
-
clientDefaultValue: param.clientDefaultValue,
|
|
57
|
-
skipUrlEncoding: param.urlEncode === false,
|
|
58
|
-
});
|
|
59
|
-
context.__endpointPathParameters.push(params.at(-1));
|
|
48
|
+
if (parameter.type.kind === "union") {
|
|
49
|
+
for (const endpointVal of parameter.type.values) {
|
|
50
|
+
return emitEndpointType(context, endpointVal);
|
|
60
51
|
}
|
|
61
|
-
return params;
|
|
62
52
|
}
|
|
63
53
|
else {
|
|
64
|
-
return
|
|
65
|
-
{
|
|
66
|
-
optional: parameter.optional,
|
|
67
|
-
description: parameter.description || "",
|
|
68
|
-
clientName: context.arm ? "base_url" : "endpoint",
|
|
69
|
-
clientDefaultValue: parameter.type.serverUrl,
|
|
70
|
-
wireName: "$host",
|
|
71
|
-
location: "path",
|
|
72
|
-
type: KnownTypes.string,
|
|
73
|
-
implementation: getImplementation(context, parameter),
|
|
74
|
-
inOverload: false,
|
|
75
|
-
},
|
|
76
|
-
];
|
|
54
|
+
return emitEndpointType(context, parameter.type);
|
|
77
55
|
}
|
|
78
56
|
}
|
|
79
57
|
const base = {
|
|
@@ -147,19 +125,26 @@ function emitOperationGroups(context, client, rootClient, prefix) {
|
|
|
147
125
|
return operationGroups.length > 0 ? operationGroups : undefined;
|
|
148
126
|
}
|
|
149
127
|
function emitClient(context, client) {
|
|
150
|
-
var _a, _b, _c, _d;
|
|
151
128
|
if (client.initialization) {
|
|
152
129
|
context.__endpointPathParameters = [];
|
|
153
130
|
}
|
|
154
|
-
const parameters =
|
|
155
|
-
|
|
131
|
+
const parameters = client.initialization?.properties.map((x) => emitMethodParameter(context, x)).reduce((a, b) => [...a, ...b]) ??
|
|
132
|
+
[];
|
|
133
|
+
const endpointParameter = client.initialization?.properties.find((x) => x.kind === "endpoint");
|
|
156
134
|
const operationGroups = emitOperationGroups(context, client, client, "");
|
|
135
|
+
let url;
|
|
136
|
+
if (endpointParameter?.type.kind === "union") {
|
|
137
|
+
url = endpointParameter.type.values[0].serverUrl;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
url = endpointParameter?.type.serverUrl;
|
|
141
|
+
}
|
|
157
142
|
return {
|
|
158
143
|
name: client.name,
|
|
159
|
-
description:
|
|
144
|
+
description: client.description ?? "",
|
|
160
145
|
parameters,
|
|
161
146
|
operationGroups,
|
|
162
|
-
url
|
|
147
|
+
url,
|
|
163
148
|
apiVersions: client.apiVersions,
|
|
164
149
|
arm: context.arm,
|
|
165
150
|
};
|
|
@@ -172,11 +157,22 @@ export function emitCodeModel(sdkContext) {
|
|
|
172
157
|
clients: [],
|
|
173
158
|
subnamespaceToClients: {},
|
|
174
159
|
};
|
|
160
|
+
for (const client of sdkPackage.clients) {
|
|
161
|
+
codeModel["clients"].push(emitClient(sdkContext, client));
|
|
162
|
+
if (client.nameSpace === sdkPackage.rootNamespace) {
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
codeModel["subnamespaceToClients"][client.nameSpace] = emitClient(sdkContext, client);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
// loop through models and enums since there may be some orphaned models needs to be generated
|
|
175
169
|
for (const model of sdkPackage.models) {
|
|
176
170
|
if (model.name === "" || (model.usage & UsageFlags.Spread) > 0) {
|
|
177
171
|
continue;
|
|
178
172
|
}
|
|
179
|
-
|
|
173
|
+
if (!disableGenerationMap.has(model)) {
|
|
174
|
+
getType(sdkContext, model);
|
|
175
|
+
}
|
|
180
176
|
}
|
|
181
177
|
for (const sdkEnum of sdkPackage.enums) {
|
|
182
178
|
if (sdkEnum.usage === UsageFlags.ApiVersionEnum) {
|
|
@@ -184,14 +180,6 @@ export function emitCodeModel(sdkContext) {
|
|
|
184
180
|
}
|
|
185
181
|
getType(sdkContext, sdkEnum);
|
|
186
182
|
}
|
|
187
|
-
for (const client of sdkPackage.clients) {
|
|
188
|
-
codeModel["clients"].push(emitClient(sdkContext, client));
|
|
189
|
-
if (client.nameSpace === sdkPackage.rootNamespace) {
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
codeModel["subnamespaceToClients"][client.nameSpace] = emitClient(sdkContext, client);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
183
|
codeModel["types"] = [...typesMap.values(), ...Object.values(KnownTypes), ...simpleTypesMap.values()];
|
|
196
184
|
codeModel["crossLanguagePackageId"] = ignoreDiagnostics(getCrossLanguagePackageId(sdkContext));
|
|
197
185
|
return codeModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"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"}
|
package/dist/src/emitter.js
CHANGED
|
@@ -58,7 +58,7 @@ export async function $onEmit(context) {
|
|
|
58
58
|
addDefaultOptions(sdkContext);
|
|
59
59
|
const yamlPath = await saveCodeModelAsYaml("typespec-python-yaml-map", yamlMap);
|
|
60
60
|
const commandArgs = [
|
|
61
|
-
`${root}/scripts/run-python3.
|
|
61
|
+
`${root}/dist/scripts/run-python3.js`,
|
|
62
62
|
`${root}/scripts/run_tsp.py`,
|
|
63
63
|
`--output-folder=${outputDir}`,
|
|
64
64
|
`--cadl-file=${yamlPath}`,
|
package/dist/src/emitter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-process.js","sourceRoot":"","sources":["../../src/external-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAgB,KAAK,EAAgB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;AAElE,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE;IACjE,OAAO,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IACtE,MAAM,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,OAAe,EACf,IAAc,EACd,UAAwB,EAAE;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC1B,OAAO,CAAC;gBACJ,QAAQ,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"external-process.js","sourceRoot":"","sources":["../../src/external-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAgB,KAAK,EAAgB,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,kBAAkB,GAAG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;AAElE,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE;IACjE,OAAO,SAAS,CAAC,kBAAkB,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY,EAAE,SAAkB;IACtE,MAAM,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,OAAe,EACf,IAAc,EACd,UAAwB,EAAE;IAE1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC1B,OAAO,CAAC;gBACJ,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC;gBACxB,IAAI,EAAE,KAAK;aACd,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/src/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EAErB,aAAa,EAEb,gBAAgB,EAEhB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EAErB,aAAa,EAEb,gBAAgB,EAEhB,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EAOzB,MAAM,6CAA6C,CAAC;AAYrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiB5C,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,EAC/C,kBAAkB,EAAE,MAAM,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAWvB;AAiED,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,EAC7C,kBAAkB,EAAE,MAAM,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAGvB;AAED,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,EAChD,kBAAkB,EAAE,MAAM,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAGvB;AAED,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,EAC3C,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC3C,MAAM,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,EACnD,kBAAkB,EAAE,MAAM,GAC3B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAIvB"}
|
package/dist/src/http.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import { UsageFlags, } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
-
import { camelToSnakeCase, emitParamBase, getAddedOn, getDelimeterAndExplode, getDescriptionAndSummary, getImplementation, isAbstract,
|
|
2
|
+
import { camelToSnakeCase, emitParamBase, getAddedOn, getDelimeterAndExplode, getDescriptionAndSummary, getImplementation, isAbstract, isAzureCoreErrorResponse, } from "./utils.js";
|
|
3
3
|
import { KnownTypes, getType } from "./types.js";
|
|
4
4
|
function isContentTypeParameter(parameter) {
|
|
5
5
|
return parameter.serializedName.toLowerCase() === "content-type";
|
|
6
6
|
}
|
|
7
|
+
function arrayToRecord(examples) {
|
|
8
|
+
const result = {};
|
|
9
|
+
if (examples) {
|
|
10
|
+
for (const [index, example] of examples.entries()) {
|
|
11
|
+
result[index] = { ...example.rawExample, "x-ms-original-file": example.filePath };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
7
16
|
export function emitBasicHttpMethod(context, rootClient, method, operationGroupName) {
|
|
8
17
|
return [
|
|
9
18
|
{
|
|
@@ -18,7 +27,7 @@ export function emitBasicHttpMethod(context, rootClient, method, operationGroupN
|
|
|
18
27
|
}
|
|
19
28
|
function emitInitialLroHttpMethod(context, rootClient, method, operationGroupName) {
|
|
20
29
|
return {
|
|
21
|
-
...emitHttpOperation(context, rootClient, operationGroupName, method.operation),
|
|
30
|
+
...emitHttpOperation(context, rootClient, operationGroupName, method.operation, method),
|
|
22
31
|
name: `_${camelToSnakeCase(method.name)}_initial`,
|
|
23
32
|
isLroInitialOperation: true,
|
|
24
33
|
wantTracing: false,
|
|
@@ -40,8 +49,8 @@ function addLroInformation(context, rootClient, method, operationGroupName) {
|
|
|
40
49
|
}
|
|
41
50
|
function addPagingInformation(context, rootClient, method, operationGroupName) {
|
|
42
51
|
for (const response of method.operation.responses.values()) {
|
|
43
|
-
if (response.type
|
|
44
|
-
getType(context, response.type)["
|
|
52
|
+
if (response.type) {
|
|
53
|
+
getType(context, response.type)["usage"] = UsageFlags.None;
|
|
45
54
|
}
|
|
46
55
|
}
|
|
47
56
|
const itemType = getType(context, method.response.type);
|
|
@@ -75,14 +84,13 @@ export function emitLroPagingHttpMethod(context, rootClient, method, operationGr
|
|
|
75
84
|
return [lroMethod.initialOperation, pagingMethod, lroMethod];
|
|
76
85
|
}
|
|
77
86
|
function emitHttpOperation(context, rootClient, operationGroupName, operation, method) {
|
|
78
|
-
var _a, _b;
|
|
79
87
|
const responses = [];
|
|
80
88
|
const exceptions = [];
|
|
81
89
|
for (const [statusCodes, response] of operation.responses) {
|
|
82
90
|
responses.push(emitHttpResponse(context, statusCodes, response, method));
|
|
83
91
|
}
|
|
84
92
|
for (const [statusCodes, exception] of operation.exceptions) {
|
|
85
|
-
exceptions.push(emitHttpResponse(context, statusCodes, exception));
|
|
93
|
+
exceptions.push(emitHttpResponse(context, statusCodes, exception, undefined, true));
|
|
86
94
|
}
|
|
87
95
|
const result = {
|
|
88
96
|
url: operation.path,
|
|
@@ -99,11 +107,12 @@ function emitHttpOperation(context, rootClient, operationGroupName, operation, m
|
|
|
99
107
|
apiVersions: [],
|
|
100
108
|
wantTracing: true,
|
|
101
109
|
exposeStreamKeyword: true,
|
|
102
|
-
crossLanguageDefinitionId: method
|
|
110
|
+
crossLanguageDefinitionId: method?.crossLanguageDefintionId,
|
|
111
|
+
samples: arrayToRecord(method?.operation.examples),
|
|
103
112
|
};
|
|
104
113
|
if (result.bodyParameter &&
|
|
105
|
-
|
|
106
|
-
(
|
|
114
|
+
operation.bodyParam?.type.kind === "model" &&
|
|
115
|
+
(operation.bodyParam?.type.usage & UsageFlags.Spread) > 0) {
|
|
107
116
|
result.bodyParameter["propertyToParameterName"] = {};
|
|
108
117
|
result.bodyParameter["defaultToUnsetSentinel"] = true;
|
|
109
118
|
result.bodyParameter.type.base = "json";
|
|
@@ -211,16 +220,22 @@ function emitHttpBodyParameter(context, bodyParam) {
|
|
|
211
220
|
defaultContentType: bodyParam.defaultContentType,
|
|
212
221
|
};
|
|
213
222
|
}
|
|
214
|
-
function emitHttpResponse(context, statusCodes, response, method) {
|
|
215
|
-
var _a;
|
|
223
|
+
function emitHttpResponse(context, statusCodes, response, method, isException = false) {
|
|
216
224
|
if (!response)
|
|
217
225
|
return undefined;
|
|
218
226
|
let type = undefined;
|
|
219
|
-
if (
|
|
220
|
-
type
|
|
227
|
+
if (isException) {
|
|
228
|
+
if (response.type && !isAzureCoreErrorResponse(response.type)) {
|
|
229
|
+
type = getType(context, response.type);
|
|
230
|
+
}
|
|
221
231
|
}
|
|
222
|
-
else if (method && method.
|
|
223
|
-
|
|
232
|
+
else if (method && !method.kind.includes("basic")) {
|
|
233
|
+
if (method.response.type) {
|
|
234
|
+
type = getType(context, method.response.type);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else if (response.type) {
|
|
238
|
+
type = getType(context, response.type);
|
|
224
239
|
}
|
|
225
240
|
return {
|
|
226
241
|
headers: response.headers.map((x) => emitHttpResponseHeader(context, x)),
|
|
@@ -232,8 +247,8 @@ function emitHttpResponse(context, statusCodes, response, method) {
|
|
|
232
247
|
discriminator: "basic",
|
|
233
248
|
type,
|
|
234
249
|
contentTypes: response.contentTypes,
|
|
235
|
-
defaultContentType:
|
|
236
|
-
resultProperty: method
|
|
250
|
+
defaultContentType: response.defaultContentType ?? "application/json",
|
|
251
|
+
resultProperty: method?.response.resultPath,
|
|
237
252
|
};
|
|
238
253
|
}
|
|
239
254
|
function emitHttpResponseHeader(context, header) {
|