diff --git a/.changeset/moody-wolves-talk.md b/.changeset/moody-wolves-talk.md new file mode 100644 index 000000000000..3454adf36404 --- /dev/null +++ b/.changeset/moody-wolves-talk.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: export `StoresValues` type diff --git a/packages/svelte/src/store/private.d.ts b/packages/svelte/src/store/private.d.ts index 5b41c8bd4b33..12696ef175c0 100644 --- a/packages/svelte/src/store/private.d.ts +++ b/packages/svelte/src/store/private.d.ts @@ -6,8 +6,4 @@ type SubscribeInvalidateTuple = [Subscriber, () => void]; /** One or more `Readable`s. */ type Stores = Readable | [Readable, ...Array>] | Array>; -/** One or more values from `Readable` stores. */ -type StoresValues = - T extends Readable ? U : { [K in keyof T]: T[K] extends Readable ? U : never }; - -export { SubscribeInvalidateTuple, Stores, StoresValues }; +export { SubscribeInvalidateTuple, Stores }; diff --git a/packages/svelte/src/store/public.d.ts b/packages/svelte/src/store/public.d.ts index 7af4c6b69012..7e353c6e1ccd 100644 --- a/packages/svelte/src/store/public.d.ts +++ b/packages/svelte/src/store/public.d.ts @@ -46,4 +46,8 @@ export interface Writable extends Readable { update(this: void, updater: Updater): void; } +/** One or more values from `Readable` stores. */ +export type StoresValues = + T extends Readable ? U : { [K in keyof T]: T[K] extends Readable ? U : never }; + export * from './index-client.js'; diff --git a/packages/svelte/src/store/shared/index.js b/packages/svelte/src/store/shared/index.js index 2b923609d16b..db46daefb6bb 100644 --- a/packages/svelte/src/store/shared/index.js +++ b/packages/svelte/src/store/shared/index.js @@ -1,5 +1,5 @@ -/** @import { Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable } from '../public.js' */ -/** @import { Stores, StoresValues, SubscribeInvalidateTuple } from '../private.js' */ +/** @import { Readable, StartStopNotifier, StoresValues, Subscriber, Unsubscriber, Updater, Writable } from '../public.js' */ +/** @import { Stores, SubscribeInvalidateTuple } from '../private.js' */ import { noop, run_all } from '../../internal/shared/utils.js'; import { safe_not_equal } from '../../internal/client/reactivity/equality.js'; import { subscribe_to_store } from '../utils.js'; diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index c6000fc4b67f..f6e093e91d6c 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -2157,6 +2157,10 @@ declare module 'svelte/store' { */ update(this: void, updater: Updater): void; } + + /** One or more values from `Readable` stores. */ + export type StoresValues = + T extends Readable ? U : { [K in keyof T]: T[K] extends Readable ? U : never }; export function toStore(get: () => V, set: (v: V) => void): Writable; export function toStore(get: () => V): Readable; @@ -2206,10 +2210,6 @@ declare module 'svelte/store' { /** One or more `Readable`s. */ type Stores = Readable | [Readable, ...Array>] | Array>; - /** One or more values from `Readable` stores. */ - type StoresValues = - T extends Readable ? U : { [K in keyof T]: T[K] extends Readable ? U : never }; - export {}; }