thorium-store-context / [Exports](modules.md)

# StoreContext

thorium-store-context / [Documentation](docs/modules.md)

# Documentation de la Bibliothèque StoreContext

La bibliothèque StoreContext est une puissante bibliothèque en TypeScript qui vous permet de gérer des contextes de magasin et des états de magasin de manière efficace. Cette documentation fournit des informations sur la manière d'utiliser la bibliothèque, y compris des exemples d'utilisation.

## Installation

Pour installer StoreContext, vous pouvez utiliser npm ou yarn :

```bash
npm install store-context
```

ou

```bash
yarn add store-context
```

## **Utilisation de base**

### **Création d'un contexte**

Pour créer un contexte, utilisez la fonction **`create`** de l'API **`storeContext`** :

```tsx
typescriptCopy code
import { storeContext } from 'store-context';

const contextName = 'monContexte';
const context = storeContext().create(contextName);
// Le contexte a été créé avec succès
```

### **Utilisation d'un contexte**

Une fois que vous avez créé un contexte, vous pouvez utiliser ses méthodes pour gérer les états du magasin et écouter les événements. Voici quelques exemples :

```tsx
// Ajout d'un état au contexte
const key = 'monEtat';
const value = 42;
const state = context.set(key, value);

// Écoute des événements de mise à jour
context.on('update', (oldValue, newValue) => {
  console.log(`L'état ${key} a été mis à jour de ${oldValue} à ${newValue}`);
});

// Mise à jour de l'état
const newValue = 55;
context.update(key, newValue);

// Suppression de l'état
context.remove(key);
```

### **Suppression d'un contexte**

Vous pouvez supprimer un contexte avec la fonction **`delete`** de l'API **`storeContext`** :

```tsx
const contextId = context.uuid;
storeContext().delete(contextId);

// Le contexte a été supprimé avec succès
```

## **API de la Bibliothèque**

La bibliothèque StoreContext propose une API complète pour la gestion des contextes de magasin. Voici un aperçu des principales fonctions de l'API :

- **`create(contextName: string, options?: StoreContextOptions): IStoreContext`**: Crée un nouveau contexte.
- **`delete(storeUuid: TStoreUUID): boolean`**: Supprime un contexte existant.
- **`getContextById(storeUuid: TStoreUUID): IStoreContext`**: Récupère un contexte par son ID.
- **`getContextByHuid(storeHuid: _HUID): IStoreContext`**: Récupère un contexte par son HUID.
- **`getContextByUnId(storeUnid: string): IStoreContext`**: Récupère un contexte par son UNID.
- **`getContextByName(contextName: string): IStoreContext[]`**: Récupère tous les contextes portant un nom donné.
- **`getParentContext(storeHuid: _HUID): IStoreContext`**: Récupère le contexte parent d'un contexte donné.
- **`getChildrenContext(storeHuid: _HUID): IStoreContext[]`**: Récupère les contextes enfants d'un contexte donné.

## **Exemples avancés**

La bibliothèque StoreContext offre de nombreuses fonctionnalités avancées, telles que la gestion des événements, la création de contextes enfants, etc. Vous pouvez trouver des exemples détaillés dans la documentation complète.

## **Contribution**

Si vous souhaitez contribuer à la bibliothèque StoreContext, n'hésitez pas à ouvrir une demande de tirage (pull request) sur GitHub. Nous sommes heureux de recevoir des contributions de la communauté.

## **Licence**

Ce projet est sous licence MIT. Pour plus d'informations, consultez le fichier [LICENSE](https://chat.openai.com/c/LICENSE).

Nous espérons que cette documentation vous aidera à utiliser la bibliothèque StoreContext de manière efficace. Si vous avez des questions ou des commentaires, n'hésitez pas à les partager sur la page GitHub du projet.
