docs: tweak createSubscriber explanation (#16398)

* docs: tweak createSubscriber explanation

* regenerate
pull/16407/head
Rich Harris 2 months ago committed by GitHub
parent 58788db27b
commit c11c5ec0e3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -6,10 +6,13 @@ import { DEV } from 'esm-env';
import { queue_micro_task } from '../internal/client/dom/task.js';
/**
* Returns a `subscribe` function that, if called in an effect (including expressions in the template),
* calls its `start` callback with an `update` function. Whenever `update` is called, the effect re-runs.
* Returns a `subscribe` function that integrates external event-based systems with Svelte's reactivity.
* It's particularly useful for integrating with web APIs like `MediaQuery`, `IntersectionObserver`, or `WebSocket`.
*
* If `start` returns a function, it will be called when the effect is destroyed.
* If `subscribe` is called inside an effect (including indirectly, for example inside a getter),
* the `start` callback will be called with an `update` function. Whenever `update` is called, the effect re-runs.
*
* If `start` returns a cleanup function, it will be called when the effect is destroyed.
*
* If `subscribe` is called in multiple effects, `start` will only be called once as long as the effects
* are active, and the returned teardown function will only be called when all effects are destroyed.
@ -37,6 +40,7 @@ import { queue_micro_task } from '../internal/client/dom/task.js';
* }
*
* get current() {
* // This makes the getter reactive, if read in an effect
* this.#subscribe();
*
* // Return the current state of the query, whether or not we're in an effect

@ -2335,10 +2335,13 @@ declare module 'svelte/reactivity' {
constructor(query: string, fallback?: boolean | undefined);
}
/**
* Returns a `subscribe` function that, if called in an effect (including expressions in the template),
* calls its `start` callback with an `update` function. Whenever `update` is called, the effect re-runs.
* Returns a `subscribe` function that integrates external event-based systems with Svelte's reactivity.
* It's particularly useful for integrating with web APIs like `MediaQuery`, `IntersectionObserver`, or `WebSocket`.
*
* If `start` returns a function, it will be called when the effect is destroyed.
* If `subscribe` is called inside an effect (including indirectly, for example inside a getter),
* the `start` callback will be called with an `update` function. Whenever `update` is called, the effect re-runs.
*
* If `start` returns a cleanup function, it will be called when the effect is destroyed.
*
* If `subscribe` is called in multiple effects, `start` will only be called once as long as the effects
* are active, and the returned teardown function will only be called when all effects are destroyed.
@ -2366,6 +2369,7 @@ declare module 'svelte/reactivity' {
* }
*
* get current() {
* // This makes the getter reactive, if read in an effect
* this.#subscribe();
*
* // Return the current state of the query, whether or not we're in an effect

Loading…
Cancel
Save