i18n-error-base
En Error-basklass som växlar felmeddelanden i takt med Valibots språkinställning.
En Error-basklass som växlar 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 refererar till lang vid varje läsning. Byt utan att återskapa instanser. Oregistrerade språk använder konstruktorns standardmeddelande.
Funktioner
- Löser
messagedynamiskt med ValibotssetGlobalConfig({ lang }) - Registrera språkspecifika meddelanden i efterhand med
setErrorMessage. Funktioner som tar emotmetaär också tillåtna - Oregistrerade språk använder konstruktorns standardmeddelande
- Lägger till ett prefix via
static prefixper klass - Behåller
metaoch skickar den till meddelandefunktioner instanceof Error,causeochstackfungerar som vanligt
Struktur
Installation
Hur man lägger till paketet och dess peer-beroende.
Användning
Från definition till språkbyte, prefix och fallback.
API-referens
Specifikationer för I18nErrorBase och setErrorMessage.
Så fungerar det
message löses i följande ordning vid varje åtkomst.
- Hämtar
langfrångetGlobalConfig()."en"när den inte är inställd - Om en
(klass × lang)-registrering finns körs den medmeta - Annars returneras konstruktorns standardmeddelande
- Om
static prefixär inställt läggs det till i början
Nästa steg
Börja med Installation och se sedan flödet i Användning. Detaljer finns i API-referensen.