@zzzen/pyright-internal 1.2.0-dev.20260920 → 1.2.0-dev.20260927

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 (150) hide show
  1. package/dist/analyzer/checker.d.ts +2 -1
  2. package/dist/analyzer/checker.js +15 -1
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +9 -3
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/operations.js +1 -1
  7. package/dist/analyzer/operations.js.map +1 -1
  8. package/dist/analyzer/overloadResult.d.ts +15 -0
  9. package/dist/analyzer/overloadResult.js +233 -0
  10. package/dist/analyzer/overloadResult.js.map +1 -0
  11. package/dist/analyzer/overloadResultAdmission.d.ts +20 -0
  12. package/dist/analyzer/overloadResultAdmission.js +448 -0
  13. package/dist/analyzer/overloadResultAdmission.js.map +1 -0
  14. package/dist/analyzer/overloadResultController.d.ts +227 -0
  15. package/dist/analyzer/overloadResultController.js +904 -0
  16. package/dist/analyzer/overloadResultController.js.map +1 -0
  17. package/dist/analyzer/overloadResultSelector.d.ts +24 -0
  18. package/dist/analyzer/overloadResultSelector.js +131 -0
  19. package/dist/analyzer/overloadResultSelector.js.map +1 -0
  20. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  21. package/dist/analyzer/parseTreeUtils.js +4 -0
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/program.d.ts +13 -2
  24. package/dist/analyzer/program.js +98 -46
  25. package/dist/analyzer/program.js.map +1 -1
  26. package/dist/analyzer/protocols.d.ts +1 -0
  27. package/dist/analyzer/protocols.js +286 -6
  28. package/dist/analyzer/protocols.js.map +1 -1
  29. package/dist/analyzer/sourceFile.d.ts +6 -2
  30. package/dist/analyzer/sourceFile.js +9 -3
  31. package/dist/analyzer/sourceFile.js.map +1 -1
  32. package/dist/analyzer/tracePrinter.js +4 -0
  33. package/dist/analyzer/tracePrinter.js.map +1 -1
  34. package/dist/analyzer/typeCacheUtils.d.ts +4 -0
  35. package/dist/analyzer/typeCacheUtils.js +36 -0
  36. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  37. package/dist/analyzer/typeComplexity.js +2 -0
  38. package/dist/analyzer/typeComplexity.js.map +1 -1
  39. package/dist/analyzer/typeEvaluator.d.ts +10 -1
  40. package/dist/analyzer/typeEvaluator.js +351 -11
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +30 -1
  43. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  44. package/dist/analyzer/typeGuards.d.ts +1 -1
  45. package/dist/analyzer/typePrinter.js +8 -0
  46. package/dist/analyzer/typePrinter.js.map +1 -1
  47. package/dist/analyzer/typeUtils.d.ts +1 -1
  48. package/dist/analyzer/typeUtils.js +29 -26
  49. package/dist/analyzer/typeUtils.js.map +1 -1
  50. package/dist/analyzer/typeWalker.d.ts +2 -1
  51. package/dist/analyzer/typeWalker.js +12 -0
  52. package/dist/analyzer/typeWalker.js.map +1 -1
  53. package/dist/analyzer/typedDicts.js +1 -0
  54. package/dist/analyzer/typedDicts.js.map +1 -1
  55. package/dist/analyzer/types.d.ts +16 -2
  56. package/dist/analyzer/types.js +94 -2
  57. package/dist/analyzer/types.js.map +1 -1
  58. package/dist/common/configOptions.d.ts +1 -0
  59. package/dist/common/configOptions.js +2 -0
  60. package/dist/common/configOptions.js.map +1 -1
  61. package/dist/languageServerBase.js +2 -2
  62. package/dist/languageServerBase.js.map +1 -1
  63. package/dist/languageService/callHierarchyProvider.js +3 -2
  64. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  65. package/dist/languageService/completionProvider.js +4 -1
  66. package/dist/languageService/completionProvider.js.map +1 -1
  67. package/dist/tests/config.test.js +48 -0
  68. package/dist/tests/config.test.js.map +1 -1
  69. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +10 -6
  70. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  71. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +16 -10
  72. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  73. package/dist/tests/harness/fourslash/testState.js +10 -9
  74. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  75. package/dist/tests/languageServer.test.js +129 -0
  76. package/dist/tests/languageServer.test.js.map +1 -1
  77. package/dist/tests/overloadResult.test.d.ts +1 -0
  78. package/dist/tests/overloadResult.test.js +182 -0
  79. package/dist/tests/overloadResult.test.js.map +1 -0
  80. package/dist/tests/overloadResultController.test.d.ts +1 -0
  81. package/dist/tests/overloadResultController.test.js +2146 -0
  82. package/dist/tests/overloadResultController.test.js.map +1 -0
  83. package/dist/tests/protocolRequirement.test.d.ts +1 -0
  84. package/dist/tests/protocolRequirement.test.js +122 -0
  85. package/dist/tests/protocolRequirement.test.js.map +1 -0
  86. package/dist/tests/protocolRequirementAdversarial.test.d.ts +1 -0
  87. package/dist/tests/protocolRequirementAdversarial.test.js +92 -0
  88. package/dist/tests/protocolRequirementAdversarial.test.js.map +1 -0
  89. package/dist/tests/protocolRequirementBoundary.test.d.ts +1 -0
  90. package/dist/tests/protocolRequirementBoundary.test.js +119 -0
  91. package/dist/tests/protocolRequirementBoundary.test.js.map +1 -0
  92. package/dist/tests/protocolRequirementComplexity.test.d.ts +1 -0
  93. package/dist/tests/protocolRequirementComplexity.test.js +159 -0
  94. package/dist/tests/protocolRequirementComplexity.test.js.map +1 -0
  95. package/dist/tests/protocolRequirementCycles.test.d.ts +1 -0
  96. package/dist/tests/protocolRequirementCycles.test.js +160 -0
  97. package/dist/tests/protocolRequirementCycles.test.js.map +1 -0
  98. package/dist/tests/protocolRequirementGeneral.test.d.ts +1 -0
  99. package/dist/tests/protocolRequirementGeneral.test.js +120 -0
  100. package/dist/tests/protocolRequirementGeneral.test.js.map +1 -0
  101. package/dist/tests/protocolRequirementInstances.test.d.ts +1 -0
  102. package/dist/tests/protocolRequirementInstances.test.js +164 -0
  103. package/dist/tests/protocolRequirementInstances.test.js.map +1 -0
  104. package/dist/tests/protocolRequirementListStub.test.d.ts +1 -0
  105. package/dist/tests/protocolRequirementListStub.test.js +244 -0
  106. package/dist/tests/protocolRequirementListStub.test.js.map +1 -0
  107. package/dist/tests/protocolRequirementPopulated.test.d.ts +1 -0
  108. package/dist/tests/protocolRequirementPopulated.test.js +172 -0
  109. package/dist/tests/protocolRequirementPopulated.test.js.map +1 -0
  110. package/dist/tests/protocolRequirementRecursive.test.d.ts +1 -0
  111. package/dist/tests/protocolRequirementRecursive.test.js +118 -0
  112. package/dist/tests/protocolRequirementRecursive.test.js.map +1 -0
  113. package/dist/tests/protocolRequirementSpeculative.test.d.ts +1 -0
  114. package/dist/tests/protocolRequirementSpeculative.test.js +200 -0
  115. package/dist/tests/protocolRequirementSpeculative.test.js.map +1 -0
  116. package/dist/tests/protocolRequirementState.test.d.ts +1 -0
  117. package/dist/tests/protocolRequirementState.test.js +161 -0
  118. package/dist/tests/protocolRequirementState.test.js.map +1 -0
  119. package/dist/tests/testState.test.js +64 -0
  120. package/dist/tests/testState.test.js.map +1 -1
  121. package/dist/tests/testUtils.d.ts +6 -1
  122. package/dist/tests/testUtils.js +11 -6
  123. package/dist/tests/testUtils.js.map +1 -1
  124. package/dist/tests/typeCacheIsolation.test.d.ts +1 -0
  125. package/dist/tests/typeCacheIsolation.test.js +109 -0
  126. package/dist/tests/typeCacheIsolation.test.js.map +1 -0
  127. package/dist/tests/typeCacheUtils.test.js +59 -0
  128. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  129. package/dist/tests/typeEvaluator1.test.js +5 -1
  130. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  131. package/dist/tests/typeEvaluator4.test.js +6 -2
  132. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  133. package/dist/tests/typeEvaluator5.test.js +25 -0
  134. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  135. package/dist/tests/typeEvaluator6.test.js +7 -23
  136. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  137. package/dist/tests/typeEvaluator7.test.js +237 -2
  138. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  139. package/dist/tests/typeServer/typeServer.inProc.test.js +86 -0
  140. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  141. package/dist/tests/typeUtils.test.js +36 -0
  142. package/dist/tests/typeUtils.test.js.map +1 -1
  143. package/dist/trace/nativeAdapter.js +1 -5
  144. package/dist/trace/nativeAdapter.js.map +1 -1
  145. package/dist/typeServer/protocol/typeServerProtocol.d.ts +8 -2
  146. package/dist/typeServer/protocol/typeServerProtocol.js +1 -0
  147. package/dist/typeServer/protocol/typeServerProtocol.js.map +1 -1
  148. package/dist/typeServer/typeServerConversionUtils.js +9 -0
  149. package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
  150. package/package.json +1 -1
@@ -128,11 +128,140 @@ describe(`Basic language server tests`, () => {
128
128
  const completionItem = completionResult.items.find((i) => i.label === 'path');
129
129
  (0, assert_1.default)(completionItem);
130
130
  });
131
+ test.each([
132
+ { decorated: false, direction: 'incoming' },
133
+ { decorated: false, direction: 'outgoing' },
134
+ { decorated: true, direction: 'incoming' },
135
+ { decorated: true, direction: 'outgoing' },
136
+ ])('Call hierarchy round trip: decorated=$decorated, direction=$direction', async ({ decorated, direction }) => {
137
+ const code = `
138
+ // @filename: test.py
139
+ //// from typing import Callable, TypeVar
140
+ //// F = TypeVar("F", bound=Callable[..., object])
141
+ //// def identity(f: F) -> F:
142
+ //// return f
143
+ ////
144
+ //// def /*leaf*/leaf/*leafNameEnd*/():
145
+ //// pass
146
+ ////
147
+ //// /*callerStart*/${decorated ? '@identity\n//// ' : ''}def /*caller*/caller/*callerNameEnd*/():
148
+ //// /*leafCall*/leaf/*leafCallEnd*/()/*callerEnd*/
149
+ ////
150
+ //// /*parentStart*/def /*parent*/parent/*parentNameEnd*/():
151
+ //// /*callerCall*/caller/*callerCallEnd*/()/*parentEnd*/
152
+ `;
153
+ const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code);
154
+ await (0, languageServerTestUtils_1.openFile)(info, 'leaf');
155
+ const marker = info.testData.markerPositions.get('leaf');
156
+ const uri = marker.fileUri.toString();
157
+ const text = info.testData.files.find((file) => file.fileName === marker.fileName).content;
158
+ const lines = (0, languageServerTestUtils_1.getParseResults)(text).tokenizerOutput.lines;
159
+ const position = (name) => (0, positionUtils_1.convertOffsetToPosition)(info.testData.markerPositions.get(name).position, lines);
160
+ const range = (start, end) => ({ start: position(start), end: position(end) });
161
+ const prepared = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyPrepareRequest.type, { textDocument: { uri }, position: position('leaf') }, vscode_languageserver_1.CancellationToken.None);
162
+ (0, assert_1.default)(prepared);
163
+ assert_1.default.strictEqual(prepared.length, 1);
164
+ const incoming = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyIncomingCallsRequest.type, { item: prepared[0] }, vscode_languageserver_1.CancellationToken.None);
165
+ (0, assert_1.default)(incoming);
166
+ assert_1.default.strictEqual(incoming.length, 1);
167
+ const caller = incoming[0].from;
168
+ expect(caller).toEqual(expect.objectContaining({
169
+ name: 'caller',
170
+ kind: vscode_languageserver_1.SymbolKind.Function,
171
+ uri,
172
+ range: range('callerStart', 'callerEnd'),
173
+ selectionRange: range('caller', 'callerNameEnd'),
174
+ }));
175
+ expect(incoming[0].fromRanges).toEqual([range('leafCall', 'leafCallEnd')]);
176
+ // Send the returned item unchanged, as a client expanding the hierarchy would.
177
+ if (direction === 'incoming') {
178
+ const parents = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyIncomingCallsRequest.type, { item: caller }, vscode_languageserver_1.CancellationToken.None);
179
+ expect(parents).toEqual([
180
+ {
181
+ from: expect.objectContaining({
182
+ name: 'parent',
183
+ kind: vscode_languageserver_1.SymbolKind.Function,
184
+ uri,
185
+ range: range('parentStart', 'parentEnd'),
186
+ selectionRange: range('parent', 'parentNameEnd'),
187
+ }),
188
+ fromRanges: [range('callerCall', 'callerCallEnd')],
189
+ },
190
+ ]);
191
+ }
192
+ else {
193
+ const outgoing = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyOutgoingCallsRequest.type, { item: caller }, vscode_languageserver_1.CancellationToken.None);
194
+ (0, assert_1.default)(outgoing);
195
+ assert_1.default.strictEqual(outgoing.length, 1);
196
+ assert_1.default.strictEqual(outgoing[0].to.name, 'leaf');
197
+ assert_1.default.strictEqual(outgoing[0].to.uri, uri);
198
+ expect(outgoing[0].to.selectionRange).toEqual(range('leaf', 'leafNameEnd'));
199
+ expect(outgoing[0].fromRanges).toEqual([range('leafCall', 'leafCallEnd')]);
200
+ }
201
+ });
131
202
  [false, true].forEach((supportsPullDiagnostics) => {
132
203
  describe(`Diagnostics ${supportsPullDiagnostics ? 'pull' : 'push'}`, () => {
133
204
  // Background analysis takes longer than 5 seconds sometimes, so we need to
134
205
  // increase the timeout.
135
206
  jest.setTimeout(200000);
207
+ test.each([false, true])('automatic overload results default with background thread=%s', async (supportsBackgroundThread) => {
208
+ const code = `
209
+ // @filename: root/test.py
210
+ //// from typing import Any, overload
211
+ //// @overload
212
+ //// def choose(value: list[int]) -> list[int]: ...
213
+ //// @overload
214
+ //// def choose(value: list[str]) -> list[str]: ...
215
+ //// def choose(value: Any) -> Any:
216
+ //// return value
217
+ //// def check(value: list[Any]) -> None:
218
+ //// [|/*result*/result|] = choose(value)
219
+ //// integer: list[int] = result
220
+ //// string: list[str] = result
221
+ //// result.append(1)
222
+ //// result.append("x")
223
+ //// bad: list[bytes] = result
224
+ //// result.append(3.14)
225
+ //// result.nonexistent()
226
+ //// def ordinary(value: list[int]) -> None:
227
+ //// [|/*concrete*/concrete|] = choose(value)
228
+ //// concrete.append("bad")
229
+ `;
230
+ const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code, true, [
231
+ {
232
+ item: {
233
+ scopeUri: `file://${(0, pathUtils_1.normalizeSlashes)(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, '/')}`,
234
+ section: 'python.analysis',
235
+ },
236
+ value: { typeCheckingMode: 'standard' },
237
+ },
238
+ ], undefined, supportsBackgroundThread, supportsPullDiagnostics);
239
+ await (0, languageServerTestUtils_1.openFile)(info, 'result');
240
+ for (const [marker, type] of [
241
+ ['result', 'OverloadResult[list[int], list[str]]'],
242
+ ['concrete', 'list[int]'],
243
+ ]) {
244
+ const result = await (0, languageServerTestUtils_1.hover)(info, marker);
245
+ (0, assert_1.default)(result && vscode_languageserver_1.MarkupContent.is(result.contents));
246
+ assert_1.default.strictEqual(result.contents.value, `\`\`\`python\n(variable) ${marker}: ${type}\n\`\`\``);
247
+ }
248
+ const diagnostics = (await (0, languageServerTestUtils_1.waitForDiagnostics)(info)).find((d) => d.uri.endsWith('root/test.py'));
249
+ (0, assert_1.default)(diagnostics);
250
+ const marker = info.testData.markerPositions.get('result');
251
+ const content = info.testData.files.find((f) => f.fileName === marker.fileName).content;
252
+ const expected = [
253
+ ['bad: list[bytes]', 'reportAssignmentType'],
254
+ ['result.append(3.14)', 'reportArgumentType'],
255
+ ['result.nonexistent()', 'reportAttributeAccessIssue'],
256
+ ['concrete.append("bad")', 'reportArgumentType'],
257
+ ];
258
+ assert_1.default.deepStrictEqual(Array.from(diagnostics.diagnostics)
259
+ .filter((d) => d.severity === vscode_languageserver_1.DiagnosticSeverity.Error)
260
+ .map((d) => [d.range.start.line, d.code]), expected.map(([text, rule]) => [
261
+ content.slice(0, content.indexOf(text)).split('\n').length - 1,
262
+ rule,
263
+ ]));
264
+ });
136
265
  test('background thread diagnostics', async () => {
137
266
  const code = `
138
267
  // @filename: root/test.py
@@ -1 +1 @@
1
- {"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ /*
3
+ * overloadResult.test.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const assert_1 = require("assert");
9
+ const overloadResult_1 = require("../analyzer/overloadResult");
10
+ const typePrinter_1 = require("../analyzer/typePrinter");
11
+ const types_1 = require("../analyzer/types");
12
+ const uri_1 = require("../common/uri/uri");
13
+ function instance(name) {
14
+ return types_1.ClassType.cloneAsInstance(types_1.ClassType.createInstantiable(name, name, '', uri_1.Uri.empty(), 0 /* ClassTypeFlags.None */, 0, undefined, undefined));
15
+ }
16
+ const intType = instance('int');
17
+ const strType = instance('str');
18
+ const listType = instance('list');
19
+ const intList = types_1.ClassType.specialize(listType, [intType]);
20
+ const strList = types_1.ClassType.specialize(listType, [strType]);
21
+ function alternatives(reverse = false) {
22
+ return types_1.OverloadResultType.create(reverse ? [strList, intList] : [intList, strList], intList, 2 /* TypeCategory.Any */);
23
+ }
24
+ function signature(defaultType) {
25
+ const fn = types_1.FunctionType.createSynthesizedInstance('f');
26
+ types_1.FunctionType.addParam(fn, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'x', defaultType));
27
+ fn.shared.declaredReturnType = intType;
28
+ return fn;
29
+ }
30
+ function projected(type) {
31
+ const result = (0, overloadResult_1.projectOverloadResultBaseline)(type);
32
+ assert_1.strict.strictEqual(result.kind, 'projected');
33
+ (0, assert_1.strict)(result.kind === 'projected');
34
+ return result.type;
35
+ }
36
+ test('OverloadResult retains complete payload without pretending to be an ordinary type', () => {
37
+ const candidates = [intList, strList];
38
+ const result = types_1.OverloadResultType.create(candidates, intList, 2 /* TypeCategory.Any */);
39
+ candidates.reverse();
40
+ assert_1.strict.deepStrictEqual(result.priv.candidates, [intList, strList]);
41
+ (0, assert_1.strict)(Object.isFrozen(result.priv.candidates));
42
+ assert_1.strict.strictEqual(result.priv.baselineType, intList);
43
+ (0, assert_1.strict)((0, types_1.isOverloadResult)(result));
44
+ (0, assert_1.strict)(!(0, types_1.isUnion)(result));
45
+ (0, assert_1.strict)(!(0, types_1.isClass)(result));
46
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(result, types_1.ClassType.specialize(listType, [types_1.AnyType.create()])));
47
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(result, (0, types_1.combineTypes)([intList, strList])));
48
+ });
49
+ test('OverloadResult comparison retains uncertainty and baseline but ignores candidate order', () => {
50
+ (0, assert_1.strict)((0, types_1.isTypeSame)(alternatives(), alternatives(true)));
51
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(alternatives(), types_1.OverloadResultType.create([intList, strList], strList, 2 /* TypeCategory.Any */)));
52
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(alternatives(), types_1.OverloadResultType.create([intList, strList], intList, 1 /* TypeCategory.Unknown */)));
53
+ });
54
+ test('OverloadResult uses an honest display and ordinary baseline for Python-only syntax', () => {
55
+ const callback = (type) => type.shared.declaredReturnType ?? types_1.UnknownType.create();
56
+ assert_1.strict.strictEqual((0, typePrinter_1.printType)(alternatives(), 0 /* PrintTypeFlags.None */, callback), 'OverloadResult[list[int], list[str]]');
57
+ assert_1.strict.strictEqual((0, typePrinter_1.printType)(alternatives(), 256 /* PrintTypeFlags.PythonSyntax */, callback), 'list[int]');
58
+ });
59
+ test('OverloadResult survives ordinary union normalization in both orders', () => {
60
+ const ordinary = types_1.ClassType.specialize(listType, [types_1.AnyType.create()]);
61
+ for (const items of [
62
+ [alternatives(), ordinary],
63
+ [ordinary, alternatives()],
64
+ ]) {
65
+ const union = (0, types_1.combineTypes)(items);
66
+ (0, assert_1.strict)((0, types_1.isUnion)(union));
67
+ assert_1.strict.strictEqual(union.priv.subtypes.length, 2);
68
+ (0, assert_1.strict)(union.priv.subtypes.some(types_1.isOverloadResult));
69
+ (0, assert_1.strict)((0, types_1.isTypeSame)(projected(union), (0, types_1.combineTypes)([intList, ordinary])));
70
+ }
71
+ });
72
+ test('OverloadResult equality does not erase callable defaults, receiver or stripped state', () => {
73
+ const first = signature(intType);
74
+ const second = signature(strType);
75
+ (0, assert_1.strict)((0, types_1.isTypeSame)(first, second));
76
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(first, second, { honorCallBehavior: true }));
77
+ for (const field of ['boundToType', 'strippedFirstParamType']) {
78
+ const left = signature(intType);
79
+ const right = signature(intType);
80
+ left.priv[field] = intList;
81
+ right.priv[field] = strList;
82
+ (0, assert_1.strict)((0, types_1.isTypeSame)(left, right));
83
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(left, right, { honorCallBehavior: true }));
84
+ }
85
+ });
86
+ test('OverloadResult equality retains ordered overloads, implementations and signature ownership', () => {
87
+ const first = signature(intType);
88
+ const second = signature(strType);
89
+ const implementation1 = signature(intType);
90
+ const implementation2 = signature(strType);
91
+ const owner1 = types_1.OverloadedType.create([first], implementation1);
92
+ const owner2 = types_1.OverloadedType.create([second], implementation2);
93
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(owner1, owner2, { honorCallBehavior: true }));
94
+ const sameSignature = signature(intType);
95
+ types_1.OverloadedType.create([sameSignature], signature(strType));
96
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(first, sameSignature, { honorCallBehavior: true }));
97
+ (0, assert_1.strict)(!(0, types_1.isTypeSame)(types_1.OverloadedType.create([signature(intType), signature(strType)]), types_1.OverloadedType.create([signature(strType), signature(intType)]), { honorCallBehavior: true }));
98
+ });
99
+ test('OverloadResult baseline projection preserves ordinary alias and tuple metadata', () => {
100
+ const tuple = types_1.ClassType.specialize(types_1.ClassType.cloneForTypingAlias(instance('tuple'), 'Tuple'), [alternatives()], false, true, [{ type: alternatives(), isUnbounded: false, isOptional: true }]);
101
+ const result = projected(tuple);
102
+ (0, assert_1.strict)((0, types_1.isClass)(result));
103
+ assert_1.strict.strictEqual(result.priv.aliasName, 'Tuple');
104
+ assert_1.strict.strictEqual(result.priv.isTypeArgExplicit, false);
105
+ assert_1.strict.strictEqual(result.priv.includeSubclasses, true);
106
+ assert_1.strict.strictEqual(result.priv.typeArgs[0], intList);
107
+ assert_1.strict.deepStrictEqual(result.priv.tupleTypeArgs, [{ type: intList, isUnbounded: false, isOptional: true }]);
108
+ (0, assert_1.strict)((0, types_1.isOverloadResult)(tuple.priv.typeArgs[0]));
109
+ });
110
+ test('OverloadResult projects callable parameters, defaults, return and bound payload without reparenting', () => {
111
+ const fn = signature(alternatives());
112
+ fn.shared.parameters[0] = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, alternatives(), types_1.FunctionParamFlags.TypeDeclared, 'x', alternatives());
113
+ fn.shared.declaredReturnType = alternatives();
114
+ fn.priv.strippedFirstParamType = alternatives();
115
+ fn.priv.boundToType = types_1.ClassType.specialize(listType, [alternatives()]);
116
+ const unchanged = signature(intType);
117
+ const implementation = signature(intType);
118
+ const owner = types_1.OverloadedType.create([fn, unchanged], implementation);
119
+ const result = projected(owner);
120
+ (0, assert_1.strict)((0, types_1.isOverloaded)(result));
121
+ const [projectedFn, projectedUnchanged] = types_1.OverloadedType.getOverloads(result);
122
+ assert_1.strict.strictEqual(types_1.FunctionType.getParamType(projectedFn, 0), intList);
123
+ assert_1.strict.strictEqual(types_1.FunctionType.getParamDefaultType(projectedFn, 0), intList);
124
+ assert_1.strict.strictEqual(types_1.FunctionType.getEffectiveReturnType(projectedFn), intList);
125
+ assert_1.strict.strictEqual(projectedFn.priv.strippedFirstParamType, intList);
126
+ assert_1.strict.strictEqual(projectedFn.priv.boundToType.priv.typeArgs[0], intList);
127
+ assert_1.strict.strictEqual(projectedFn.priv.overloaded, result);
128
+ assert_1.strict.strictEqual(projectedUnchanged.priv.overloaded, result);
129
+ assert_1.strict.strictEqual(fn.priv.overloaded, owner);
130
+ assert_1.strict.strictEqual(unchanged.priv.overloaded, owner);
131
+ assert_1.strict.strictEqual(implementation.priv.overloaded, owner);
132
+ (0, assert_1.strict)((0, types_1.isFunction)(types_1.OverloadedType.getImplementation(result)));
133
+ assert_1.strict.notStrictEqual(types_1.OverloadedType.getImplementation(result), implementation);
134
+ });
135
+ test('OverloadResult does not treat a mixed Never payload as ordinary Never', () => {
136
+ const never = types_1.NeverType.createNever();
137
+ const result = types_1.OverloadResultType.create([never, intList], never, 2 /* TypeCategory.Any */);
138
+ assert_1.strict.notStrictEqual(result.category, 3 /* TypeCategory.Never */);
139
+ assert_1.strict.strictEqual(projected(result), never);
140
+ });
141
+ test('OverloadResult baseline projection retains unchanged inputs by identity', () => {
142
+ assert_1.strict.strictEqual(projected(intList), intList);
143
+ assert_1.strict.strictEqual(projected(signature(intType)).category, 4 /* TypeCategory.Function */);
144
+ });
145
+ test('OverloadResult projection reports depth cutoff without pretending to have a baseline', () => {
146
+ let nested = alternatives();
147
+ for (let depth = 0; depth < 21; depth++) {
148
+ nested = types_1.ClassType.specialize(listType, [nested]);
149
+ }
150
+ const result = (0, overloadResult_1.projectOverloadResultBaseline)(nested);
151
+ assert_1.strict.strictEqual(result.kind, 'blocked');
152
+ (0, assert_1.strict)(result.kind === 'blocked');
153
+ assert_1.strict.strictEqual(result.reason, 'depth');
154
+ (0, assert_1.strict)(!('type' in result));
155
+ const largerBudget = (0, overloadResult_1.projectOverloadResultBaseline)(nested, { maxDepth: 24 });
156
+ assert_1.strict.strictEqual(largerBudget.kind, 'projected');
157
+ });
158
+ test('OverloadResult projection reports node cutoff even for a shallow ordinary enclosing value', () => {
159
+ const args = Array.from({ length: 4096 }, (_, index) => ({
160
+ type: types_1.ClassType.cloneWithLiteral(intType, index),
161
+ isUnbounded: false,
162
+ }));
163
+ args.push({ type: types_1.ClassType.specialize(listType, [alternatives()]), isUnbounded: false });
164
+ const tuple = types_1.ClassType.specialize(instance('tuple'), [types_1.AnyType.create()], true, false, args);
165
+ const result = (0, overloadResult_1.projectOverloadResultBaseline)(tuple);
166
+ assert_1.strict.strictEqual(result.kind, 'blocked');
167
+ (0, assert_1.strict)(result.kind === 'blocked');
168
+ assert_1.strict.strictEqual(result.reason, 'nodes');
169
+ assert_1.strict.strictEqual(result.visitedNodes, 4096);
170
+ (0, assert_1.strict)(!('type' in result));
171
+ assert_1.strict.strictEqual((0, overloadResult_1.projectOverloadResultBaseline)(tuple, { maxNodes: 4110 }).kind, 'projected');
172
+ });
173
+ test('OverloadResult projection rejects recursive value edges rather than leaking a wrapper', () => {
174
+ const cyclic = types_1.TypeBase.cloneType(listType);
175
+ cyclic.priv.typeArgs = [cyclic, alternatives()];
176
+ const result = (0, overloadResult_1.projectOverloadResultBaseline)(cyclic);
177
+ assert_1.strict.strictEqual(result.kind, 'blocked');
178
+ (0, assert_1.strict)(result.kind === 'blocked');
179
+ assert_1.strict.strictEqual(result.reason, 'cycle');
180
+ (0, assert_1.strict)(!('type' in result));
181
+ });
182
+ //# sourceMappingURL=overloadResult.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overloadResult.test.js","sourceRoot":"","sources":["../../../../../src/tests/overloadResult.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,mCAA0C;AAE1C,+DAA2E;AAC3E,yDAAoE;AACpE,6CAqB2B;AAC3B,2CAAwC;AAGxC,SAAS,QAAQ,CAAC,IAAY;IAC1B,OAAO,iBAAS,CAAC,eAAe,CAC5B,iBAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,SAAG,CAAC,KAAK,EAAE,+BAAuB,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAC1G,CAAC;AACN,CAAC;AAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClC,MAAM,OAAO,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1D,SAAS,YAAY,CAAC,OAAO,GAAG,KAAK;IACjC,OAAO,0BAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,2BAAmB,CAAC;AACnH,CAAC;AAED,SAAS,SAAS,CAAC,WAAiB;IAChC,MAAM,EAAE,GAAG,oBAAY,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACvD,oBAAY,CAAC,QAAQ,CACjB,EAAE,EACF,qBAAa,CAAC,MAAM,+BAAuB,eAAO,CAAC,MAAM,EAAE,EAAE,0BAAkB,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,CAAC,CAClH,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC;IACvC,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IACzB,MAAM,MAAM,GAAG,IAAA,8CAA6B,EAAC,IAAI,CAAC,CAAC;IACnD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC7C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,IAAI,CAAC,mFAAmF,EAAE,GAAG,EAAE;IAC3F,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,0BAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,2BAAmB,CAAC;IAChF,UAAU,CAAC,OAAO,EAAE,CAAC;IACrB,eAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,IAAA,eAAM,EAAC,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;IACjC,IAAA,eAAM,EAAC,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;IACzB,IAAA,eAAM,EAAC,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;IACzB,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,EAAE,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,EAAE,IAAA,oBAAY,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wFAAwF,EAAE,GAAG,EAAE;IAChG,IAAA,eAAM,EAAC,IAAA,kBAAU,EAAC,YAAY,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,YAAY,EAAE,EAAE,0BAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,2BAAmB,CAAC,CAAC,CAAC;IAC9G,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,YAAY,EAAE,EAAE,0BAAkB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,+BAAuB,CAAC,CAAC,CAAC;AACtH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oFAAoF,EAAE,GAAG,EAAE;IAC5F,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;IAChG,eAAM,CAAC,WAAW,CACd,IAAA,uBAAS,EAAC,YAAY,EAAE,+BAAuB,QAAQ,CAAC,EACxD,sCAAsC,CACzC,CAAC;IACF,eAAM,CAAC,WAAW,CAAC,IAAA,uBAAS,EAAC,YAAY,EAAE,yCAA+B,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qEAAqE,EAAE,GAAG,EAAE;IAC7E,MAAM,QAAQ,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,eAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,KAAK,IAAI;QAChB,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC;QAC1B,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;KAC7B,EAAE,CAAC;QACA,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;QAClC,IAAA,eAAM,EAAC,IAAA,eAAO,EAAC,KAAK,CAAC,CAAC,CAAC;QACvB,eAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClD,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC,CAAC;QACnD,IAAA,eAAM,EAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAA,oBAAY,EAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,GAAG,EAAE;IAC9F,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,IAAA,kBAAU,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAClC,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAU,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC5B,IAAA,eAAM,EAAC,IAAA,kBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAChC,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4FAA4F,EAAE,GAAG,EAAE;IACpG,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;IAChE,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,sBAAc,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,IAAA,eAAM,EAAC,CAAC,IAAA,kBAAU,EAAC,KAAK,EAAE,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,IAAA,eAAM,EACF,CAAC,IAAA,kBAAU,EACP,sBAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/D,sBAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAC/D,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC9B,CACJ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gFAAgF,EAAE,GAAG,EAAE;IACxF,MAAM,KAAK,GAAG,iBAAS,CAAC,UAAU,CAC9B,iBAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EACzD,CAAC,YAAY,EAAE,CAAC,EAChB,KAAK,EACL,IAAI,EACJ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAA,eAAM,EAAC,IAAA,eAAO,EAAC,MAAM,CAAC,CAAC,CAAC;IACxB,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACzD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACxD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtD,eAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7G,IAAA,eAAM,EAAC,IAAA,wBAAgB,EAAC,KAAK,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qGAAqG,EAAE,GAAG,EAAE;IAC7G,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,qBAAa,CAAC,MAAM,+BAE1C,YAAY,EAAE,EACd,0BAAkB,CAAC,YAAY,EAC/B,GAAG,EACH,YAAY,EAAE,CACjB,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,kBAAkB,GAAG,YAAY,EAAE,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,sBAAsB,GAAG,YAAY,EAAE,CAAC;IAChD,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAA,eAAM,EAAC,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,GAAG,sBAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9E,eAAM,CAAC,WAAW,CAAC,oBAAY,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,eAAM,CAAC,WAAW,CAAC,oBAAY,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,eAAM,CAAC,WAAW,CAAC,oBAAY,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACrE,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAY,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,eAAM,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,eAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/D,eAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC9C,eAAM,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACrD,eAAM,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAA,eAAM,EAAC,IAAA,kBAAU,EAAC,sBAAc,CAAC,iBAAiB,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC;IAC9D,eAAM,CAAC,cAAc,CAAC,sBAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uEAAuE,EAAE,GAAG,EAAE;IAC/E,MAAM,KAAK,GAAG,iBAAS,CAAC,WAAW,EAAE,CAAC;IACtC,MAAM,MAAM,GAAG,0BAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,KAAK,2BAAmB,CAAC;IACpF,eAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,6BAAqB,CAAC;IAC3D,eAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,GAAG,EAAE;IACjF,eAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IAChD,eAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,gCAAwB,CAAC;AACtF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sFAAsF,EAAE,GAAG,EAAE;IAC9F,IAAI,MAAM,GAAS,YAAY,EAAE,CAAC;IAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,8CAA6B,EAAC,MAAM,CAAC,CAAC;IACrD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAClC,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAA,8CAA6B,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7E,eAAM,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2FAA2F,EAAE,GAAG,EAAE;IACnG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,iBAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC;QAChD,WAAW,EAAE,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,iBAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,eAAO,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,IAAA,8CAA6B,EAAC,KAAK,CAAC,CAAC;IACpD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAClC,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAA,eAAM,EAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IAC5B,eAAM,CAAC,WAAW,CAAC,IAAA,8CAA6B,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uFAAuF,EAAE,GAAG,EAAE;IAC/F,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAA,8CAA6B,EAAC,MAAM,CAAC,CAAC;IACrD,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAClC,eAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAA,eAAM,EAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};