```js // @noErrors import { derived, fromStore, get, readable, readonly, toStore, writable } from 'svelte/store'; ``` ## derived Store de dérivation de valeur synchronisant un ou plusieurs stores de lecture en appliquant une fonction d'aggregation sur leurs valeurs.
```dts function derived( stores: S, fn: ( values: StoresValues, set: (value: T) => void, update: (fn: Updater) => void ) => Unsubscriber | void, initial_value?: T | undefined ): Readable; ```
```dts function derived( stores: S, fn: (values: StoresValues) => T, initial_value?: T | undefined ): Readable; ```
## fromStore
```dts function fromStore(store: Writable): { current: V; }; ```
```dts function fromStore(store: Readable): { readonly current: V; }; ```
## get Récupère la valeur courante d'un store en s'y abonnant puis en s'y désabonnant immédiatement.
```dts function get(store: Readable): T; ```
## readable Crée un store `Readable` (de lecture) qui permet la lecture de sa valeur via abonnement.
```dts function readable( value?: T | undefined, start?: StartStopNotifier | undefined ): Readable; ```
## readonly Prend un store et renvoie un nouveau store en lecture seule dérivé de l'original.
```dts function readonly(store: Readable): Readable; ```
## toStore
```dts function toStore( get: () => V, set: (v: V) => void ): Writable; ```
```dts function toStore(get: () => V): Readable; ```
## writable Crée un store `Writable` (d'écriture) qui permet la mise à jour de sa valeur et sa lecture via abonnement.
```dts function writable( value?: T | undefined, start?: StartStopNotifier | undefined ): Writable; ```
## Readable Interface du store `Readable` permettant uniquement la lecture.
```dts interface Readable {/*…*/} ```
```dts subscribe(this: void, run: Subscriber, invalidate?: () => void): Unsubscriber; ```
- `run` callback d'abonnement - `invalidate` callback de nettoyage
Permet l'abonnement aux mises à jour de valeur.
## StartStopNotifier Callbacks de notification Start et Stop. Cette fonction est exécutée lorsqu'un premier abonné s'abonne.
```dts type StartStopNotifier = ( set: (value: T) => void, update: (fn: Updater) => void ) => void | (() => void); ```
## Subscriber Callback pour informer des mises à jour de valeur.
```dts type Subscriber = (value: T) => void; ```
## Unsubscriber Permet de se désabonner des mises à jour de valeur.
```dts type Unsubscriber = () => void; ```
## Updater Callback pour mettre à jour une valeur.
```dts type Updater = (value: T) => T; ```
## Writable Interface du store `Writable` permettant la lecture et l'écriture.
```dts interface Writable extends Readable {/*…*/} ```
```dts set(this: void, value: T): void; ```
- `value` valeur à définir
Définit une valeur et informe les abonnés.
```dts update(this: void, updater: Updater): void; ```
- `updater` callback
Met à jour la valeur en utilisant un callback et informe les abonnés.