validateConfig

expérimentaldepuis 0.1.0@legba-core/core

validateConfig

Ce que ça fait

Valide une configuration @legba-core/core et la normalise (applique les valeurs par défaut).

Signature

function validateConfig(config: LegbaCoreConfig): ResolvedLegbaCoreConfig

Paramètres

NomTypeRequisDéfautDescription
config.appNamestringouiNon vide, espaces seuls refusés
config.logLevelLogLevelnon"info"Doit être une des cinq valeurs de LOG_LEVELS

Retour

ResolvedLegbaCoreConfig : la configuration avec toutes les valeurs par défaut appliquées.

Erreurs

CodeQuandComment corriger
LEGBA_INVALID_CONFIGappName vide/espaces, ou logLevel inconnuLe message cite la valeur reçue et les valeurs acceptées

Exemple minimal

import { validateConfig } from "@legba-core/core";

const config = validateConfig({ appName: "mon-app" });
// { appName: "mon-app", logLevel: "info" }

Exemple complet

import { validateConfig, LegbaConfigError } from "@legba-core/core";

function loadConfig(raw: unknown) {
  try {
    return validateConfig(raw as { appName: string });
  } catch (error) {
    if (error instanceof LegbaConfigError) {
      throw new Error(`Configuration @legba-core invalide : ${error.message}`);
    }
    throw error;
  }
}

Pièges

  • createLegbaCore appelle déjà validateConfig en interne : ne pas la rappeler soi-même avant, ça ne fait que dupliquer la validation.

Voir aussi