Skip to content

Commit dcfa503

Browse files
authored
fix: use type arguments when extending Map/Set (#10820)
* use type arguments when extending Map/Set * changeset
1 parent fd5f5bb commit dcfa503

File tree

4 files changed

+9
-22
lines changed

4 files changed

+9
-22
lines changed

.changeset/silent-hats-stare.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: add type arguments to Map and Set

packages/svelte/src/reactivity/map.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { map } from './utils.js';
77
/**
88
* @template K
99
* @template V
10+
* @extends {Map<K, V>}
1011
*/
1112
export class ReactiveMap extends Map {
1213
/** @type {Map<K, import('#client').Source<V>>} */

packages/svelte/src/reactivity/set.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var inited = false;
1010

1111
/**
1212
* @template T
13+
* @extends {Set<T>}
1314
*/
1415
export class ReactiveSet extends Set {
1516
/** @type {Map<T, import('#client').Source<boolean>>} */

packages/svelte/types/index.d.ts

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1985,38 +1985,18 @@ declare module 'svelte/reactivity' {
19851985
constructor(...values: any[]);
19861986
#private;
19871987
}
1988-
class ReactiveSet<T> extends Set<any> {
1988+
class ReactiveSet<T> extends Set<T> {
19891989

19901990
constructor(value?: Iterable<T> | null | undefined);
19911991

1992-
has(value: T): boolean;
1993-
19941992
add(value: T): this;
1995-
1996-
delete(value: T): boolean;
1997-
keys(): IterableIterator<T>;
1998-
values(): IterableIterator<T>;
1999-
entries(): IterableIterator<[T, T]>;
2000-
[Symbol.iterator](): IterableIterator<T>;
20011993
#private;
20021994
}
2003-
class ReactiveMap<K, V> extends Map<any, any> {
1995+
class ReactiveMap<K, V> extends Map<K, V> {
20041996

20051997
constructor(value?: Iterable<readonly [K, V]> | null | undefined);
20061998

2007-
has(key: K): boolean;
2008-
2009-
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, this_arg?: any): void;
2010-
2011-
get(key: K): V | undefined;
2012-
20131999
set(key: K, value: V): this;
2014-
2015-
delete(key: K): boolean;
2016-
keys(): IterableIterator<K>;
2017-
values(): IterableIterator<V>;
2018-
entries(): IterableIterator<[K, V]>;
2019-
[Symbol.iterator](): IterableIterator<[K, V]>;
20202000
#private;
20212001
}
20222002
class ReactiveURL extends URL {

0 commit comments

Comments
 (0)