diff --git a/.changeset/silent-hats-stare.md b/.changeset/silent-hats-stare.md new file mode 100644 index 000000000000..3294f491ce6d --- /dev/null +++ b/.changeset/silent-hats-stare.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: add type arguments to Map and Set diff --git a/packages/svelte/src/reactivity/map.js b/packages/svelte/src/reactivity/map.js index b2b3ab605b64..59fcfc1cf09c 100644 --- a/packages/svelte/src/reactivity/map.js +++ b/packages/svelte/src/reactivity/map.js @@ -7,6 +7,7 @@ import { map } from './utils.js'; /** * @template K * @template V + * @extends {Map} */ export class ReactiveMap extends Map { /** @type {Map>} */ diff --git a/packages/svelte/src/reactivity/set.js b/packages/svelte/src/reactivity/set.js index 1855090cdfa5..7466885366ba 100644 --- a/packages/svelte/src/reactivity/set.js +++ b/packages/svelte/src/reactivity/set.js @@ -10,6 +10,7 @@ var inited = false; /** * @template T + * @extends {Set} */ export class ReactiveSet extends Set { /** @type {Map>} */ diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index 401b569a611b..d70e59d5ebbb 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1985,38 +1985,18 @@ declare module 'svelte/reactivity' { constructor(...values: any[]); #private; } - class ReactiveSet extends Set { + class ReactiveSet extends Set { constructor(value?: Iterable | null | undefined); - has(value: T): boolean; - add(value: T): this; - - delete(value: T): boolean; - keys(): IterableIterator; - values(): IterableIterator; - entries(): IterableIterator<[T, T]>; - [Symbol.iterator](): IterableIterator; #private; } - class ReactiveMap extends Map { + class ReactiveMap extends Map { constructor(value?: Iterable | null | undefined); - has(key: K): boolean; - - forEach(callbackfn: (value: V, key: K, map: Map) => void, this_arg?: any): void; - - get(key: K): V | undefined; - set(key: K, value: V): this; - - delete(key: K): boolean; - keys(): IterableIterator; - values(): IterableIterator; - entries(): IterableIterator<[K, V]>; - [Symbol.iterator](): IterableIterator<[K, V]>; #private; } class ReactiveURL extends URL {