createLegbaCore
expérimentaldepuis 0.1.0@legba-core/core
createLegbaCore
Ce que ça fait
Crée une instance @legba-core/core à partir d’une configuration, validée immédiatement.
Signature
function createLegbaCore(config: LegbaCoreConfig): LegbaCore
Paramètres
| Nom | Type | Requis | Défaut | Description |
|---|---|---|---|---|
config.appName | string | oui | — | Nom de l’application, non vide |
config.logLevel | "silent" | "error" | "warn" | "info" | "debug" | non | "info" | Niveau de journalisation |
Retour
Un objet LegbaCore avec config (résolue), events (bus d’événements), isDisposed et dispose().
Erreurs
| Code | Quand | Comment corriger |
|---|---|---|
LEGBA_INVALID_CONFIG | appName vide, ou logLevel hors des valeurs acceptées | Corriger le champ cité dans le message d’erreur avant de rappeler createLegbaCore |
Exemple minimal
import { createLegbaCore } from "@legba-core/core";
const core = createLegbaCore({ appName: "mon-app" });
core.dispose();
Exemple complet
import { createLegbaCore, LegbaConfigError } from "@legba-core/core";
try {
const core = createLegbaCore({ appName: "mon-app", logLevel: "debug" });
core.events.on("dispose", () => console.log("core disposé"));
core.dispose();
core.dispose(); // no-op, ne lève pas
} catch (error) {
if (error instanceof LegbaConfigError) {
console.error(`Configuration invalide (${error.code}) : ${error.message}`);
}
}
Pièges
- La validation se fait à l’appel de
createLegbaCore, pas à l’utilisation ultérieure de l’instance : ne pas envelopper les appels suivants dans le mêmetry/catchen pensant capturer une erreur de configuration tardive. dispose()retire tous les écouteurs d’événements : un écouteur ajouté aprèsdispose()ne sera jamais notifié par un seconddispose().