Vés al contingut
i18n-error-base
Català
Esc
↑↓navega↵obre⌘Jprevisualitza
En aquesta pàgina

i18n-error-base

Classe base d'Error que canvia els missatges d'error segons la configuració d'idioma de Valibot.

Classe base Error que canvia message amb 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 consulta lang a cada lectura. Canvieu sense tornar a crear les instàncies. Els idiomes sense registre utilitzen el missatge per defecte del constructor.

Característiques

  • Resol message dinàmicament amb setGlobalConfig({ lang }) de Valibot
  • Els missatges per idioma es registren posteriorment amb setErrorMessage. També s’accepten funcions que reben meta
  • Els idiomes sense registre utilitzen el missatge per defecte del constructor
  • Afegeix un prefix amb static prefix per classe
  • Conserva meta i la passa a les funcions de generació de missatges
  • instanceof Error, cause i stack funcionen com sempre

Estructura

Com funciona

message es resol en l’ordre següent a cada accés.

  1. Obté lang de getGlobalConfig(). "en" si no està configurat
  2. Si hi ha un registre (classe × lang), l’executa amb meta
  3. En cas contrari, retorna el missatge per defecte del constructor
  4. Si static prefix està configurat, el concatena al principi

Següents passos

Comenceu per la Instal·lació i vegeu el flux a Ús. Els detalls són a la Referència de l’API.

Aquesta pàgina t'ha estat útil?