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

NomTypeRequisDéfautDescription
config.appNamestringouiNom 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

CodeQuandComment corriger
LEGBA_INVALID_CONFIGappName vide, ou logLevel hors des valeurs acceptéesCorriger 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ême try/catch en pensant capturer une erreur de configuration tardive.
  • dispose() retire tous les écouteurs d’événements : un écouteur ajouté après dispose() ne sera jamais notifié par un second dispose().

Voir aussi