Skip to content

Potential breaking change in upcoming Svelte version #6

Open

Description

@rmunn

In sveltejs/svelte#6750, there is a proposed change to the StartStopNotifier type of Svelte stores, which will be a breaking change for anyone creating custom stores. See the PR for details, but the short version is that if that PR is accepted and merged into Svelte, you'll need to add an update parameter to the StartStopNotifier callback type, as follows:

diff --git a/src/runtime/store/index.ts b/src/runtime/store/index.ts
index e947fa074..afd4ccabd 100644
--- a/src/runtime/store/index.ts
+++ b/src/runtime/store/index.ts
@@ -13,7 +13,7 @@ export type Updater<T> = (value: T) => T;
 type Invalidator<T> = (value?: T) => void;
 
 /** Start and stop notification callbacks. */
-export type StartStopNotifier<T> = (set: Subscriber<T>) => Unsubscriber | void;
+export type StartStopNotifier<T> = (set: Subscriber<T>, update: (fn: Updater<T>) => void) => Unsubscriber | void;
 
 /** Readable interface for subscribing. */
 export interface Readable<T> {

In your repo, the affected code appears to be in src/interface.ts.

If you have any comments about the proposed breaking change, please come leave a comment on the Svelte PR to let me know whether it would make your life easier or harder.

Activity

  1. hmmhmmhm commented on Sep 27, 2021

    @hmmhmmhm
    Owner

    Thanks! i'll check it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions