Aller au contenu
i18n-error-base
Français
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

i18n-error-base

Classe de base Error qui bascule les messages d'erreur en fonction du paramètre linguistique de Valibot.

Une classe de base Error qui bascule message avec le lang de Valibot.

import { setGlobalConfig } from "valibot";
import { I18nErrorBase, setErrorMessage } from "i18n-error-base";

class NotFoundError extends I18nErrorBase<{ resource: string }> {}

setErrorMessage(NotFoundError, ({ resource }) => `リソースが見つかりません: ${resource}`, "ja");
setErrorMessage(NotFoundError, ({ resource }) => `Resource not found: ${resource}`, "en");

const error = new NotFoundError({ resource: "user" }, "fallback message");

setGlobalConfig({ lang: "ja" });
console.log(error.message); // リソースが見つかりません: user

setGlobalConfig({ lang: "en" });
console.log(error.message); // Resource not found: user

message se réfère à lang à chaque lecture. Changement sans recréer d’instance. Les langues non enregistrées utilisent le message par défaut du constructeur.

Fonctionnalités

  • Résout dynamiquement message avec setGlobalConfig({ lang }) de Valibot.
  • Les messages par langue s’enregistrent ultérieurement avec setErrorMessage. Les fonctions recevant meta sont aussi acceptées.
  • Les langues non enregistrées utilisent le message par défaut du constructeur.
  • Ajoute un préfixe via static prefix par classe.
  • Conserve meta et le transmet aux fonctions de génération de messages.
  • instanceof Error, cause et stack fonctionnent comme d’habitude.

Structure

Fonctionnement

message est résolu à chaque lecture dans l’ordre suivant.

  1. Obtient lang depuis getGlobalConfig(). "en" si non défini.
  2. S’il existe un enregistrement (classe × lang), l’exécute avec meta.
  3. Sinon, retourne le message par défaut du constructeur.
  4. Si static prefix est défini, l’ajoute au début.

Étapes suivantes

Commencez par l’Installation, puis voyez le flux dans l’Utilisation. Les détails sont dans la Référence API.

Cette page vous a-t-elle été utile ?