Skip to content

Commit 549ba36

Browse files
committed
Merge remote-tracking branch 'origin/main' into fix/regression-signature-instantiation-with-default-type-arg
2 parents ee5ecfa + 9987812 commit 549ba36

File tree

194 files changed

+3380
-1760
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+3380
-1760
lines changed

.dprint.jsonc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@
5959
// Note: if adding new languages, make sure settings.template.json is updated too.
6060
// Also, if updating typescript, update the one in package.json.
6161
"plugins": [
62-
"https://plugins.dprint.dev/typescript-0.91.4.wasm",
62+
"https://plugins.dprint.dev/typescript-0.91.6.wasm",
6363
"https://plugins.dprint.dev/json-0.19.3.wasm",
64-
"https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c"
64+
"https://plugins.dprint.dev/prettier-0.46.1.json@e5bd083088a8dfc6e5ce2d3c9bee81489b065bd5345ef55b59f5d96627928b7a"
6565
]
6666
}

package-lock.json

Lines changed: 259 additions & 278 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,46 +40,46 @@
4040
],
4141
"devDependencies": {
4242
"@dprint/formatter": "^0.4.1",
43-
"@dprint/typescript": "0.91.4",
43+
"@dprint/typescript": "0.91.6",
4444
"@esfx/canceltoken": "^1.0.0",
4545
"@eslint/js": "^8.57.0",
4646
"@octokit/rest": "^21.0.1",
47-
"@types/chai": "^4.3.16",
47+
"@types/chai": "^4.3.17",
4848
"@types/diff": "^5.2.1",
4949
"@types/minimist": "^1.2.5",
5050
"@types/mocha": "^10.0.7",
5151
"@types/ms": "^0.7.34",
5252
"@types/node": "latest",
5353
"@types/source-map-support": "^0.5.10",
5454
"@types/which": "^3.0.4",
55-
"@typescript-eslint/utils": "^7.17.0",
55+
"@typescript-eslint/utils": "^7.18.0",
5656
"azure-devops-node-api": "^14.0.1",
5757
"c8": "^10.1.2",
58-
"chai": "^4.4.1",
58+
"chai": "^4.5.0",
5959
"chalk": "^4.1.2",
6060
"chokidar": "^3.6.0",
6161
"diff": "^5.2.0",
6262
"dprint": "^0.47.2",
6363
"esbuild": "^0.23.0",
6464
"eslint": "^8.57.0",
6565
"eslint-formatter-autolinkable-stylish": "^1.3.0",
66-
"fast-xml-parser": "^4.4.0",
66+
"fast-xml-parser": "^4.4.1",
6767
"glob": "^10.4.5",
68-
"globals": "^13.24.0",
68+
"globals": "^15.9.0",
6969
"hereby": "^1.9.0",
7070
"jsonc-parser": "^3.3.1",
71-
"knip": "^5.26.0",
71+
"knip": "^5.27.0",
7272
"minimist": "^1.2.8",
7373
"mocha": "^10.7.0",
7474
"mocha-fivemat-progress-reporter": "^0.1.0",
75-
"monocart-coverage-reports": "^2.9.3",
75+
"monocart-coverage-reports": "^2.10.0",
7676
"ms": "^2.1.3",
7777
"node-fetch": "^3.3.2",
7878
"playwright": "^1.45.3",
7979
"source-map-support": "^0.5.21",
8080
"tslib": "^2.6.3",
8181
"typescript": "^5.5.4",
82-
"typescript-eslint": "^7.17.0",
82+
"typescript-eslint": "^7.18.0",
8383
"which": "^3.0.1"
8484
},
8585
"overrides": {

src/compiler/checker.ts

Lines changed: 102 additions & 21 deletions
Large diffs are not rendered by default.

src/compiler/factory/nodeFactory.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6553,6 +6553,8 @@ export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNode
65536553
return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
65546554
case SyntaxKind.NonNullExpression:
65556555
return updateNonNullExpression(outerExpression, expression);
6556+
case SyntaxKind.ExpressionWithTypeArguments:
6557+
return updateExpressionWithTypeArguments(outerExpression, expression, outerExpression.typeArguments);
65566558
case SyntaxKind.PartiallyEmittedExpression:
65576559
return updatePartiallyEmittedExpression(outerExpression, expression);
65586560
}

src/compiler/factory/utilities.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,9 +630,10 @@ export function isOuterExpression(node: Node, kinds = OuterExpressionKinds.All):
630630
return (kinds & OuterExpressionKinds.Parentheses) !== 0;
631631
case SyntaxKind.TypeAssertionExpression:
632632
case SyntaxKind.AsExpression:
633-
case SyntaxKind.ExpressionWithTypeArguments:
634633
case SyntaxKind.SatisfiesExpression:
635634
return (kinds & OuterExpressionKinds.TypeAssertions) !== 0;
635+
case SyntaxKind.ExpressionWithTypeArguments:
636+
return (kinds & OuterExpressionKinds.ExpressionsWithTypeArguments) !== 0;
636637
case SyntaxKind.NonNullExpression:
637638
return (kinds & OuterExpressionKinds.NonNullAssertions) !== 0;
638639
case SyntaxKind.PartiallyEmittedExpression:

src/compiler/transformers/ts.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1689,7 +1689,7 @@ export function transformTypeScript(context: TransformationContext) {
16891689
}
16901690

16911691
function visitParenthesizedExpression(node: ParenthesizedExpression): Expression {
1692-
const innerExpression = skipOuterExpressions(node.expression, ~OuterExpressionKinds.Assertions);
1692+
const innerExpression = skipOuterExpressions(node.expression, ~(OuterExpressionKinds.Assertions | OuterExpressionKinds.ExpressionsWithTypeArguments));
16931693
if (isAssertionExpression(innerExpression) || isSatisfiesExpression(innerExpression)) {
16941694
// Make sure we consider all nested cast expressions, e.g.:
16951695
// (<any><number><any>-A).x;

src/compiler/types.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8476,11 +8476,12 @@ export const enum OuterExpressionKinds {
84768476
TypeAssertions = 1 << 1,
84778477
NonNullAssertions = 1 << 2,
84788478
PartiallyEmittedExpressions = 1 << 3,
8479+
ExpressionsWithTypeArguments = 1 << 4,
84798480

84808481
Assertions = TypeAssertions | NonNullAssertions,
8481-
All = Parentheses | Assertions | PartiallyEmittedExpressions,
8482+
All = Parentheses | Assertions | PartiallyEmittedExpressions | ExpressionsWithTypeArguments,
84828483

8483-
ExcludeJSDocTypeAssertion = 1 << 4,
8484+
ExcludeJSDocTypeAssertion = 1 << 31,
84848485
}
84858486

84868487
/** @internal */
@@ -8490,6 +8491,7 @@ export type OuterExpression =
84908491
| SatisfiesExpression
84918492
| AsExpression
84928493
| NonNullExpression
8494+
| ExpressionWithTypeArguments
84938495
| PartiallyEmittedExpression;
84948496

84958497
/** @internal */

src/lib/dom.asynciterable.generated.d.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,22 @@
22
/// Window Async Iterable APIs
33
/////////////////////////////
44

5+
interface FileSystemDirectoryHandleAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {
6+
[Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<T>;
7+
}
8+
59
interface FileSystemDirectoryHandle {
6-
[Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>;
7-
entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>;
8-
keys(): BuiltinAsyncIterator<string, BuiltinIteratorReturn>;
9-
values(): BuiltinAsyncIterator<FileSystemHandle, BuiltinIteratorReturn>;
10+
[Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>;
11+
entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>;
12+
keys(): FileSystemDirectoryHandleAsyncIterator<string>;
13+
values(): FileSystemDirectoryHandleAsyncIterator<FileSystemHandle>;
14+
}
15+
16+
interface ReadableStreamAsyncIterator<T> extends AsyncIteratorObject<T, BuiltinIteratorReturn, unknown> {
17+
[Symbol.asyncIterator](): ReadableStreamAsyncIterator<T>;
1018
}
1119

1220
interface ReadableStream<R = any> {
13-
[Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator<R, BuiltinIteratorReturn>;
14-
values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator<R, BuiltinIteratorReturn>;
21+
[Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;
22+
values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator<R>;
1523
}

src/lib/dom.iterable.d.ts

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
11
/// <reference lib="dom" />
22

33
interface DOMTokenList {
4-
[Symbol.iterator](): BuiltinIterator<string, BuiltinIteratorReturn>;
4+
[Symbol.iterator](): ArrayIterator<string>;
5+
}
6+
7+
interface HeadersIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
8+
[Symbol.iterator](): HeadersIterator<T>;
59
}
610

711
interface Headers {
8-
[Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
12+
[Symbol.iterator](): HeadersIterator<[string, string]>;
913
/**
1014
* Returns an iterator allowing to go through all key/value pairs contained in this object.
1115
*/
12-
entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
16+
entries(): HeadersIterator<[string, string]>;
1317
/**
1418
* Returns an iterator allowing to go through all keys f the key/value pairs contained in this object.
1519
*/
16-
keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
20+
keys(): HeadersIterator<string>;
1721
/**
1822
* Returns an iterator allowing to go through all values of the key/value pairs contained in this object.
1923
*/
20-
values(): BuiltinIterator<string, BuiltinIteratorReturn>;
24+
values(): HeadersIterator<string>;
2125
}
2226

2327
interface NodeList {
2428
/**
2529
* Returns an array of key, value pairs for every entry in the list
2630
*/
27-
entries(): BuiltinIterator<[number, Node], BuiltinIteratorReturn>;
31+
entries(): ArrayIterator<[number, Node]>;
2832
/**
2933
* Performs the specified action for each node in an list.
3034
* @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list.
@@ -34,21 +38,21 @@ interface NodeList {
3438
/**
3539
* Returns an list of keys in the list
3640
*/
37-
keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
41+
keys(): ArrayIterator<number>;
3842

3943
/**
4044
* Returns an list of values in the list
4145
*/
42-
values(): BuiltinIterator<Node, BuiltinIteratorReturn>;
46+
values(): ArrayIterator<Node>;
4347

44-
[Symbol.iterator](): BuiltinIterator<Node, BuiltinIteratorReturn>;
48+
[Symbol.iterator](): ArrayIterator<Node>;
4549
}
4650

4751
interface NodeListOf<TNode extends Node> {
4852
/**
4953
* Returns an array of key, value pairs for every entry in the list
5054
*/
51-
entries(): BuiltinIterator<[number, TNode], BuiltinIteratorReturn>;
55+
entries(): ArrayIterator<[number, TNode]>;
5256

5357
/**
5458
* Performs the specified action for each node in an list.
@@ -59,55 +63,63 @@ interface NodeListOf<TNode extends Node> {
5963
/**
6064
* Returns an list of keys in the list
6165
*/
62-
keys(): BuiltinIterator<number, BuiltinIteratorReturn>;
66+
keys(): ArrayIterator<number>;
6367
/**
6468
* Returns an list of values in the list
6569
*/
66-
values(): BuiltinIterator<TNode, BuiltinIteratorReturn>;
70+
values(): ArrayIterator<TNode>;
6771

68-
[Symbol.iterator](): BuiltinIterator<TNode, BuiltinIteratorReturn>;
72+
[Symbol.iterator](): ArrayIterator<TNode>;
6973
}
7074

7175
interface HTMLCollectionBase {
72-
[Symbol.iterator](): BuiltinIterator<Element, BuiltinIteratorReturn>;
76+
[Symbol.iterator](): ArrayIterator<Element>;
7377
}
7478

7579
interface HTMLCollectionOf<T extends Element> {
76-
[Symbol.iterator](): BuiltinIterator<T, BuiltinIteratorReturn>;
80+
[Symbol.iterator](): ArrayIterator<T>;
81+
}
82+
83+
interface FormDataIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
84+
[Symbol.iterator](): FormDataIterator<T>;
7785
}
7886

7987
interface FormData {
8088
/**
8189
* Returns an array of key, value pairs for every entry in the list
8290
*/
83-
entries(): BuiltinIterator<[string, string | File], BuiltinIteratorReturn>;
91+
entries(): FormDataIterator<[string, string | File]>;
8492
/**
8593
* Returns a list of keys in the list
8694
*/
87-
keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
95+
keys(): FormDataIterator<string>;
8896
/**
8997
* Returns a list of values in the list
9098
*/
91-
values(): BuiltinIterator<string | File, BuiltinIteratorReturn>;
99+
values(): FormDataIterator<string | File>;
100+
101+
[Symbol.iterator](): FormDataIterator<string | File>;
102+
}
92103

93-
[Symbol.iterator](): BuiltinIterator<string | File, BuiltinIteratorReturn>;
104+
interface URLSearchParamsIterator<T> extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
105+
[Symbol.iterator](): URLSearchParamsIterator<T>;
94106
}
95107

96108
interface URLSearchParams {
97109
/**
98110
* Returns an array of key, value pairs for every entry in the search params
99111
*/
100-
entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
112+
entries(): URLSearchParamsIterator<[string, string]>;
101113
/**
102114
* Returns a list of keys in the search params
103115
*/
104-
keys(): BuiltinIterator<string, BuiltinIteratorReturn>;
116+
keys(): URLSearchParamsIterator<string>;
105117
/**
106118
* Returns a list of values in the search params
107119
*/
108-
values(): BuiltinIterator<string, BuiltinIteratorReturn>;
120+
values(): URLSearchParamsIterator<string>;
109121
/**
110122
* iterate over key/value pairs
111123
*/
112-
[Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>;
124+
[Symbol.iterator](): URLSearchParamsIterator<[string, string]>;
113125
}

0 commit comments

Comments
 (0)