i18n-error-base
En Error-baseklasse som bytter feilmeldinger i takt med Valibots språkinnstilling.
En Error-baseklasse som bytter message med Valibots lang.
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 slår opp lang ved hver lesing. Bytt uten å gjenskape instanser. Uregistrerte språk bruker konstruktørens standardmelding.
Funksjoner
- Løser
messagedynamisk med ValibotssetGlobalConfig({ lang }) - Registrer språkspesifikke meldinger i etterkant med
setErrorMessage. Funksjoner som mottarmetaer også tillatt - Uregistrerte språk bruker konstruktørens standardmelding
- Legger til et prefiks via
static prefixper klasse - Beholder
metaog sender den til meldingsfunksjoner instanceof Error,causeogstackfungerer som vanlig
Struktur
Installasjon
Hvordan legge til pakken og dens peer-avhengighet.
Bruk
Fra definisjon til språkbytte, prefiks og fallback.
API-referanse
Spesifikasjoner for I18nErrorBase og setErrorMessage.
Slik fungerer det
message løses i følgende rekkefølge ved hver aksess.
- Henter
langfragetGlobalConfig()."en"når den ikke er satt - Hvis en
(klasse × lang)-registrering finnes, kjøres den medmeta - Ellers returneres konstruktørens standardmelding
- Hvis
static prefixer satt, legges det til foran
Neste trinn
Start med Installasjon, og se deretter flyten i Bruk. Detaljer står i API-referansen.