fix: missing export of imported Invalidator type

fixes https://github.com/sveltejs/svelte/issues/12276

Signed-off-by: Florent Benoit <fbenoit@redhat.com>
pull/12311/head
Florent Benoit 2 years ago
parent e42bb61296
commit 1a02fc15e3

@ -48,6 +48,6 @@ interface Writable<T> extends Readable<T> {
update(this: void, updater: Updater<T>): void;
}
export { Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable };
export { Invalidator, Readable, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable };
export * from './index.js';

@ -1,5 +1,13 @@
import { describe, it, assert } from 'vitest';
import { readable, writable, derived, get, readonly, type Readable } from 'svelte/store';
import {
readable,
writable,
derived,
get,
readonly,
type Readable,
type Invalidator
} from 'svelte/store';
describe('writable', () => {
it('creates a writable store', () => {
@ -574,3 +582,13 @@ describe('readonly', () => {
assert.throws(() => readableStore.set(3));
});
});
describe('type Invalidator', () => {
it('check it is exported from the store', () => {
// dummy test importing Invalidator from store
// to check if it is exported
// it will fail with tsc if not exported
const invalidator: Invalidator<number> = () => {};
assert.equal(typeof invalidator, 'function');
});
});

@ -2298,7 +2298,7 @@ declare module 'svelte/store' {
* */
export function get<T>(store: Readable<T>): T;
export { Subscriber, Unsubscriber, Updater, StartStopNotifier, Readable, Writable };
export { Subscriber, Unsubscriber, Updater, StartStopNotifier, Readable, Writable, Invalidator };
}
declare module 'svelte/transition' {

Loading…
Cancel
Save