```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.