From 703c9b203ad83d2cb5cb2013e1fd209b2919d847 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 15 Mar 2024 15:17:51 -0400 Subject: [PATCH] fix: add types for svelte/reactivity - closes #10816 --- .changeset/serious-needles-joke.md | 5 +++ packages/svelte/scripts/generate-types.js | 1 + packages/svelte/types/index.d.ts | 43 +++++++++++++++++++++++ 3 files changed, 49 insertions(+) create mode 100644 .changeset/serious-needles-joke.md diff --git a/.changeset/serious-needles-joke.md b/.changeset/serious-needles-joke.md new file mode 100644 index 0000000000..1091bcf329 --- /dev/null +++ b/.changeset/serious-needles-joke.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: add types for svelte/reactivity diff --git a/packages/svelte/scripts/generate-types.js b/packages/svelte/scripts/generate-types.js index 5c0b042cf6..703180a143 100644 --- a/packages/svelte/scripts/generate-types.js +++ b/packages/svelte/scripts/generate-types.js @@ -29,6 +29,7 @@ await createBundle({ [`${pkg.name}/easing`]: `${dir}/src/easing/index.js`, [`${pkg.name}/legacy`]: `${dir}/src/legacy/legacy-client.js`, [`${pkg.name}/motion`]: `${dir}/src/motion/public.d.ts`, + [`${pkg.name}/reactivity`]: `${dir}/src/reactivity/index.js`, [`${pkg.name}/server`]: `${dir}/src/server/index.js`, [`${pkg.name}/store`]: `${dir}/src/store/public.d.ts`, [`${pkg.name}/transition`]: `${dir}/src/transition/public.d.ts`, diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index f3325cfad0..08af3e70ba 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1806,6 +1806,49 @@ declare module 'svelte/motion' { export function tweened(value?: T | undefined, defaults?: TweenedOptions | undefined): Tweened; } +declare module 'svelte/reactivity' { + export class Date extends Date { + static "__#5@#inited": boolean; + + constructor(...values: any[]); + #private; + } + export class Set 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; + } + export class Map 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; + } +} + declare module 'svelte/server' { export function render(component: (...args: any[]) => void, options: { props: Record;