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
messagedinàmicament ambsetGlobalConfig({ lang })de Valibot - Els missatges per idioma es registren posteriorment amb
setErrorMessage. També s’accepten funcions que rebenmeta - Els idiomes sense registre utilitzen el missatge per defecte del constructor
- Afegeix un prefix amb
static prefixper classe - Conserva
metai la passa a les funcions de generació de missatges instanceof Error,causeistackfuncionen com sempre
Estructura
Instal·lació
L’addició del paquet i la seva dependència d’iguals.
Ús
De la definició al canvi d’idioma, el prefix i la reserva.
Referència de l'API
L’especificació de I18nErrorBase i setErrorMessage.
Com funciona
message es resol en l’ordre següent a cada accés.
- Obté
langdegetGlobalConfig()."en"si no està configurat - Si hi ha un registre
(classe × lang), l’executa ambmeta - En cas contrari, retorna el missatge per defecte del constructor
- Si
static prefixestà 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.