Skip to content

Commit afa94c5

Browse files
author
Andy
authored
Un-consolidate overloads for Map and WeakMap (#28052)
1 parent 8e0142d commit afa94c5

File tree

7 files changed

+28
-2
lines changed

7 files changed

+28
-2
lines changed

src/lib/es2015.collection.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ interface Map<K, V> {
99
}
1010

1111
interface MapConstructor {
12-
new <K = any, V = any>(entries?: ReadonlyArray<[K, V]> | null): Map<K, V>;
12+
new(): Map<any, any>;
13+
new<K, V>(entries?: ReadonlyArray<[K, V]> | null): Map<K, V>;
1314
readonly prototype: Map<any, any>;
1415
}
1516
declare var Map: MapConstructor;

src/lib/es2015.iterable.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ interface MapConstructor {
135135
interface WeakMap<K extends object, V> { }
136136

137137
interface WeakMapConstructor {
138-
new <K extends object = object, V = any>(iterable: Iterable<[K, V]>): WeakMap<K, V>;
138+
new <K extends object, V>(iterable: Iterable<[K, V]>): WeakMap<K, V>;
139139
}
140140

141141
interface Set<T> {
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
tests/cases/compiler/newMap.ts(1,9): error TS2558: Expected 0-2 type arguments, but got 1.
2+
3+
4+
==== tests/cases/compiler/newMap.ts (1 errors) ====
5+
new Map<string>();
6+
~~~~~~
7+
!!! error TS2558: Expected 0-2 type arguments, but got 1.
8+

tests/baselines/reference/newMap.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//// [newMap.ts]
2+
new Map<string>();
3+
4+
5+
//// [newMap.js]
6+
new Map();
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
=== tests/cases/compiler/newMap.ts ===
2+
new Map<string>();
3+
>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
4+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
=== tests/cases/compiler/newMap.ts ===
2+
new Map<string>();
3+
>new Map<string>() : any
4+
>Map : MapConstructor
5+

tests/cases/compiler/newMap.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// @lib: es6
2+
new Map<string>();

0 commit comments

Comments
 (0)