@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.
Files changed (56) hide show
  1. package/dist/scripts/regenerate.d.ts +2 -0
  2. package/dist/scripts/regenerate.d.ts.map +1 -0
  3. package/dist/scripts/regenerate.js +258 -0
  4. package/dist/scripts/regenerate.js.map +1 -0
  5. package/dist/scripts/run-python3.d.ts +2 -0
  6. package/dist/scripts/run-python3.d.ts.map +1 -0
  7. package/dist/scripts/run-python3.js +23 -0
  8. package/dist/scripts/run-python3.js.map +1 -0
  9. package/dist/scripts/run-tests.d.ts +2 -0
  10. package/dist/scripts/run-tests.d.ts.map +1 -0
  11. package/dist/scripts/run-tests.js +50 -0
  12. package/dist/scripts/run-tests.js.map +1 -0
  13. package/dist/scripts/system-requirements.d.ts +17 -0
  14. package/dist/scripts/system-requirements.d.ts.map +1 -0
  15. package/{scripts/system-requirements.cjs → dist/scripts/system-requirements.js} +80 -97
  16. package/dist/scripts/system-requirements.js.map +1 -0
  17. package/dist/src/code-model.d.ts.map +1 -1
  18. package/dist/src/code-model.js +29 -41
  19. package/dist/src/code-model.js.map +1 -1
  20. package/dist/src/emitter.js +1 -1
  21. package/dist/src/emitter.js.map +1 -1
  22. package/dist/src/external-process.js +1 -1
  23. package/dist/src/external-process.js.map +1 -1
  24. package/dist/src/http.d.ts.map +1 -1
  25. package/dist/src/http.js +32 -17
  26. package/dist/src/http.js.map +1 -1
  27. package/dist/src/types.d.ts +9 -2
  28. package/dist/src/types.d.ts.map +1 -1
  29. package/dist/src/types.js +56 -3
  30. package/dist/src/types.js.map +1 -1
  31. package/dist/src/utils.d.ts +1 -1
  32. package/dist/src/utils.d.ts.map +1 -1
  33. package/dist/src/utils.js +6 -8
  34. package/dist/src/utils.js.map +1 -1
  35. package/generator/pygen/codegen/models/__init__.py +2 -0
  36. package/generator/pygen/codegen/models/base.py +1 -1
  37. package/generator/pygen/codegen/models/code_model.py +2 -4
  38. package/generator/pygen/codegen/models/model_type.py +1 -2
  39. package/generator/pygen/codegen/models/operation.py +13 -16
  40. package/generator/pygen/codegen/models/parameter.py +6 -0
  41. package/generator/pygen/codegen/models/primitive_types.py +26 -0
  42. package/generator/pygen/codegen/models/property.py +1 -9
  43. package/generator/pygen/codegen/serializers/__init__.py +1 -1
  44. package/generator/pygen/codegen/serializers/builder_serializer.py +2 -2
  45. package/generator/pygen/codegen/serializers/general_serializer.py +0 -1
  46. package/generator/pygen/codegen/serializers/model_serializer.py +2 -0
  47. package/generator/pygen/codegen/serializers/sample_serializer.py +19 -12
  48. package/generator/pygen/codegen/templates/model_base.py.jinja2 +24 -18
  49. package/generator/pygen/codegen/templates/vendor.py.jinja2 +0 -2
  50. package/package.json +33 -39
  51. package/scripts/__pycache__/venvtools.cpython-310.pyc +0 -0
  52. package/scripts/regenerate.ts +285 -0
  53. package/scripts/run-python3.ts +25 -0
  54. package/scripts/run-tests.ts +57 -0
  55. package/scripts/system-requirements.ts +253 -0
  56. package/scripts/run-python3.cjs +0 -22
@@ -1,59 +1,46 @@
1
- const semver = require("semver");
2
- const child_process = require("child_process");
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
- const cp = child_process.spawn(command, cmdlineargs, { ...options, stdio: "pipe", shell: true });
15
- if (options.onCreate) {
16
- options.onCreate(cp);
17
- }
18
-
19
- options.onStdOutData ? cp.stdout.on("data", options.onStdOutData) : cp;
20
- options.onStdErrData ? cp.stderr.on("data", options.onStdErrData) : cp;
21
-
22
- let err = "";
23
- let out = "";
24
- let all = "";
25
- cp.stderr.on("data", (chunk) => {
26
- err += chunk;
27
- all += chunk;
28
- });
29
- cp.stdout.on("data", (chunk) => {
30
- out += chunk;
31
- all += chunk;
32
- });
33
-
34
- cp.on("error", (err) => {
35
- reject(err);
36
- });
37
- cp.on("close", (code, signal) =>
38
- resolve({
39
- stdout: out,
40
- stderr: err,
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
- function versionIsSatisfied(version, requirement) {
50
- const cleanedVersion = semver.coerce(version);
51
- if (!cleanedVersion) {
52
- throw new Error(`Invalid version ${version}.`);
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
- function validateVersionRequirement(resolution, actualVersion, requirement) {
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
- return resolution;
57
+ return resolution;
72
58
  }
73
59
  return {
74
- ...resolution,
75
- error: true,
76
- message: `'${resolution.command}' version is '${actualVersion}' but doesn't satisfy requirement '${requirement.version}'. Please update.`,
77
- actualVersion: actualVersion,
78
- neededVersion: requirement.version,
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
- } catch {
66
+ }
67
+ catch {
81
68
  return {
82
- ...resolution,
83
- error: true,
84
- message: `Couldn't parse the version ${actualVersion}. This is not a valid semver version.`,
85
- actualVersion: actualVersion,
86
- neededVersion: requirement.version,
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
- } catch (e) {
86
+ }
87
+ catch (e) {
102
88
  return {
103
- error: true,
104
- ...resolution,
105
- message: `'${command}' command line is not found in the path. Make sure to have it installed.`,
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
- function getExecutablePath(requirement) {
116
- return requirement.environmentVariable && process.env[requirement.environmentVariable];
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
- async function resolvePythonRequirement(requirement) {
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
- errors.push(pyResult);
146
- } else {
147
- return pyResult;
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
- } else {
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
- } else {
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
- async function patchPythonPath(command, requirement) {
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
- module.exports.patchPythonPath = patchPythonPath;
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,EAUH,mBAAmB,EAGtB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgN5C,wBAAgB,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,EACvE,UAAU,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,uBA+BlD"}
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"}
@@ -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.serverUrl && parameter.type.templateArguments.length > 0) {
49
- const params = [];
50
- for (const param of parameter.type.templateArguments) {
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 = (_b = (_a = client.initialization) === null || _a === void 0 ? void 0 : _a.properties.map((x) => emitMethodParameter(context, x)).reduce((a, b) => [...a, ...b])) !== null && _b !== void 0 ? _b : [];
155
- const endpointParameter = (_c = client.initialization) === null || _c === void 0 ? void 0 : _c.properties.find((x) => x.kind === "endpoint");
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: (_d = client.description) !== null && _d !== void 0 ? _d : "",
144
+ description: client.description ?? "",
160
145
  parameters,
161
146
  operationGroups,
162
- url: endpointParameter === null || endpointParameter === void 0 ? void 0 : endpointParameter.type.serverUrl,
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
- getType(sdkContext, model);
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,EAWH,UAAU,EACV,yBAAyB,GAC5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAElH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,SAAS,eAAe,CACpB,OAA4C,EAC5C,UAA4C,EAC5C,MAAgD,EAChD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,aAAa,CAClB,OAA4C,EAC5C,UAA4C,EAC5C,MAA8C,EAC9C,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC9E;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,gBAAgB,CACrB,OAA4C,EAC5C,UAA4C,EAC5C,MAAiD,EACjD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACjF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,UAA4C,EAC5C,MAAoD,EACpD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACpF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,SAA6E;IAE7E,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAClD,MAAM,CAAC,IAAI,CAAC;oBACR,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;oBAChC,QAAQ,EAAE,KAAK,CAAC,IAAI;oBACpB,QAAQ,EAAE,cAAc;oBACxB,cAAc,EAAE,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;oBACjD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;oBAC5C,eAAe,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK;iBAC7C,CAAC,CAAC;gBACH,OAAO,CAAC,wBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;aAC1D;YACD,OAAO,MAAM,CAAC;SACjB;aAAM;YACH,OAAO;gBACH;oBACI,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,EAAE;oBACxC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBACjD,kBAAkB,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS;oBAC5C,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,MAAM;oBAChB,IAAI,EAAE,UAAU,CAAC,MAAM;oBACvB,cAAc,EAAE,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;oBACrD,UAAU,EAAE,KAAK;iBACpB;aACJ,CAAC;SACL;KACJ;IACD,MAAM,IAAI,GAAG;QACT,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;QACpC,cAAc,EAAE,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;QACrD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,QAAQ,EAAE,SAAS,CAAC,IAAI;KAC3B,CAAC;IACF,IAAI,SAAS,CAAC,iBAAiB,EAAE;QAC7B,OAAO;YACH;gBACI,GAAG,IAAI;gBACP,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,aAAa;gBACvB,YAAY,EAAE,KAAK;aACtB;SACJ,CAAC;KACL;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,UAA4C,EAC5C,MAA2C,EAC3C,kBAA0B;IAE1B,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACR,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC5E,KAAK,KAAK;YACN,OAAO,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC7E;YACI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;KACnF;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,MAAwC,EACxC,UAA4C,EAC5C,MAAc;IAEd,MAAM,eAAe,GAA0B,EAAE,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YAClC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,UAAU,GAA0B,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACzC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;oBAAE,SAAS;gBAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;aACjF;YACD,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,cAAc,CAAC,IAAI;gBACjC,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC;aAClF,CAAC,CAAC;SACN;KACJ;IAED,qDAAqD;IACrD,IAAI,MAAM,KAAK,EAAE,EAAE;QACf,IAAI,UAAU,GAA0B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAS;YAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;SACN;KACJ;IAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,MAAwC;;IAExC,IAAI,MAAM,CAAC,cAAc,EAAE;QACvB,OAAO,CAAC,wBAAwB,GAAG,EAAE,CAAC;KACzC;IACD,MAAM,UAAU,GACZ,MAAA,MAAA,MAAM,CAAC,cAAc,0CAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,mCAC5G,EAAE,CAAC;IAEP,MAAM,iBAAiB,GAAG,MAAA,MAAM,CAAC,cAAc,0CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAE9E,CAAC;IAChB,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAA,MAAM,CAAC,WAAW,mCAAI,EAAE;QACrC,UAAU;QACV,eAAe;QACf,GAAG,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,SAAS;QACtC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,UAA+C;IAE/C,YAAY;IACZ,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,MAAM,SAAS,GAAwB;QACnC,SAAS,EAAE,8BAA8B,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QACjF,OAAO,EAAE,EAAE;QACX,qBAAqB,EAAE,EAAE;KAC5B,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC5D,SAAS;SACZ;QACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KAC9B;IACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE;QACpC,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,cAAc,EAAE;YAC7C,SAAS;SACZ;QACD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE;QACrC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,aAAa,EAAE;SAClD;aAAM;YACH,SAAS,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACzF;KACJ;IACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,SAAS,CAAC,wBAAwB,CAAC,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"code-model.js","sourceRoot":"","sources":["../../src/code-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAYH,UAAU,EACV,yBAAyB,GAC5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAElH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,SAAS,eAAe,CACpB,OAA4C,EAC5C,UAA4C,EAC5C,MAAgD,EAChD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAChF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,aAAa,CAClB,OAA4C,EAC5C,UAA4C,EAC5C,MAA8C,EAC9C,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC9E;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,gBAAgB,CACrB,OAA4C,EAC5C,UAA4C,EAC5C,MAAiD,EACjD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACjF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,UAA4C,EAC5C,MAAoD,EACpD,kBAA0B;IAE1B,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACnG,QAAQ,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QAC3B,KAAK,MAAM;YACP,OAAO,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACpF;YACI,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;KACpE;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,SAA6E;IAE7E,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC/B,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACjC,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE;gBAC7C,OAAO,gBAAgB,CAAC,OAAO,EAAE,WAA8B,CAAC,CAAC;aACpE;SACJ;aAAM;YACH,OAAO,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;SACpD;KACJ;IACD,MAAM,IAAI,GAAG;QACT,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC;QACpC,cAAc,EAAE,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;QACrD,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;QAChD,QAAQ,EAAE,SAAS,CAAC,IAAI;KAC3B,CAAC;IACF,IAAI,SAAS,CAAC,iBAAiB,EAAE;QAC7B,OAAO;YACH;gBACI,GAAG,IAAI;gBACP,QAAQ,EAAE,OAAO;gBACjB,QAAQ,EAAE,aAAa;gBACvB,YAAY,EAAE,KAAK;aACtB;SACJ,CAAC;KACL;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,UAA4C,EAC5C,MAA2C,EAC3C,kBAA0B;IAE1B,QAAQ,MAAM,CAAC,IAAI,EAAE;QACjB,KAAK,OAAO;YACR,OAAO,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC5E,KAAK,KAAK;YACN,OAAO,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1E,KAAK,QAAQ;YACT,OAAO,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC7E;YACI,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;KACnF;AACL,CAAC;AAED,SAAS,mBAAmB,CACxB,OAA4C,EAC5C,MAAwC,EACxC,UAA4C,EAC5C,MAAc;IAEd,MAAM,eAAe,GAA0B,EAAE,CAAC;IAElD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;QACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE;YAClC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;YACvC,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,UAAU,GAA0B,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE;gBACzC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;oBAAE,SAAS;gBAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;aACjF;YACD,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,cAAc,CAAC,IAAI;gBACjC,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC;aAClF,CAAC,CAAC;SACN;KACJ;IAED,qDAAqD;IACrD,IAAI,MAAM,KAAK,EAAE,EAAE;QACf,IAAI,UAAU,GAA0B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB;gBAAE,SAAS;YAC/C,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;SAC/E;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,eAAe,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,EAAE;gBACR,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,EAAE;gBAChB,UAAU,EAAE,UAAU;aACzB,CAAC,CAAC;SACN;KACJ;IAED,OAAO,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,UAAU,CACf,OAA4C,EAC5C,MAAwC;IAExC,IAAI,MAAM,CAAC,cAAc,EAAE;QACvB,OAAO,CAAC,wBAAwB,GAAG,EAAE,CAAC;KACzC;IACD,MAAM,UAAU,GACZ,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC5G,EAAE,CAAC;IAEP,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAE9E,CAAC;IAChB,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACzE,IAAI,GAAuB,CAAC;IAC5B,IAAI,iBAAiB,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1C,GAAG,GAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAqB,CAAC,SAAS,CAAC;KACzE;SAAM;QACH,GAAG,GAAG,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC;KAC3C;IACD,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,UAAU;QACV,eAAe;QACf,GAAG;QACH,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;KACnB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa,CACzB,UAA+C;IAE/C,YAAY;IACZ,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IACzC,MAAM,SAAS,GAAwB;QACnC,SAAS,EAAE,8BAA8B,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QACjF,OAAO,EAAE,EAAE;QACX,qBAAqB,EAAE,EAAE;KAC5B,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE;QACrC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC,aAAa,EAAE;SAClD;aAAM;YACH,SAAS,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACzF;KACJ;IACD,8FAA8F;IAC9F,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC5D,SAAS;SACZ;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAC9B;KACJ;IACD,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,KAAK,EAAE;QACpC,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,CAAC,cAAc,EAAE;YAC7C,SAAS;SACZ;QACD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KAChC;IACD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;IACtG,SAAS,CAAC,wBAAwB,CAAC,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,OAAO,SAAS,CAAC;AACrB,CAAC"}
@@ -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.cjs`,
61
+ `${root}/dist/scripts/run-python3.js`,
62
62
  `${root}/scripts/run_tsp.py`,
63
63
  `--output-folder=${outputDir}`,
64
64
  `--cadl-file=${yamlPath}`,
@@ -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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"}
@@ -35,7 +35,7 @@ export async function execAsync(command, args, options = {}) {
35
35
  });
36
36
  child.on("exit", (exitCode) => {
37
37
  resolve({
38
- exitCode: exitCode !== null && exitCode !== void 0 ? exitCode : -1,
38
+ exitCode: exitCode ?? -1,
39
39
  proc: child,
40
40
  });
41
41
  });
@@ -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,aAAR,QAAQ,cAAR,QAAQ,GAAI,CAAC,CAAC;gBACxB,IAAI,EAAE,KAAK;aACd,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
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"}
@@ -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,EAMzB,MAAM,6CAA6C,CAAC;AAYrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAO5C,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"}
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, isAzureCoreModel, } from "./utils.js";
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 && !isAzureCoreModel(response.type)) {
44
- getType(context, response.type)["pageResultModel"] = true;
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 === null || method === void 0 ? void 0 : method.crossLanguageDefintionId,
110
+ crossLanguageDefinitionId: method?.crossLanguageDefintionId,
111
+ samples: arrayToRecord(method?.operation.examples),
103
112
  };
104
113
  if (result.bodyParameter &&
105
- ((_a = operation.bodyParam) === null || _a === void 0 ? void 0 : _a.type.kind) === "model" &&
106
- (((_b = operation.bodyParam) === null || _b === void 0 ? void 0 : _b.type.usage) & UsageFlags.Spread) > 0) {
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 (response.type && !isAzureCoreModel(response.type)) {
220
- type = getType(context, response.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.response.type && !isAzureCoreModel(method.response.type)) {
223
- type = getType(context, method.response.type);
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: (_a = response.defaultContentType) !== null && _a !== void 0 ? _a : "application/json",
236
- resultProperty: method === null || method === void 0 ? void 0 : method.response.resultPath,
250
+ defaultContentType: response.defaultContentType ?? "application/json",
251
+ resultProperty: method?.response.resultPath,
237
252
  };
238
253
  }
239
254
  function emitHttpResponseHeader(context, header) {