i18n-error-base
Základná trieda Error, ktorá prepína chybové správy podľa nastavenia jazyka Valibotu.
Základná trieda Error, ktorá prepína message podľa lang Valibotu.
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 odkazuje na lang pri každom čítaní. Prepínajte bez opätovného vytvárania inštancií. Neregistrované jazyky používajú predvolenú správu z konštruktora.
Funkcie
- Dynamicky vyhodnocuje
messagepomocousetGlobalConfig({ lang })Valibotu - Správy pre jazyky dodatočne registruje pomocou
setErrorMessage. Možno aj funkcie prijímajúcemeta - Neregistrované jazyky používajú predvolenú správu z konštruktora
- Pridáva predponu cez
static prefixna úrovni triedy - Uchováva
metaa odovzdáva ich funkciám generujúcim správy instanceof Error,causeajstackfungujú bez zmeny
Štruktúra
Inštalácia
Pridanie balíčka a peer závislosť.
Použitie
Od definície cez prepínanie, prefix až po fallback.
Referenčná príručka API
Špecifikácia I18nErrorBase a setErrorMessage.
Ako to funguje
message sa pri každom čítaní vyhodnocuje v nasledujúcom poradí.
- Získa
langzgetGlobalConfig(). Ak nie je nastavené, je to"en" - Ak existuje registrácia
(trieda × lang), spustí ju smeta - Inak vráti predvolenú správu z konštruktora
- Ak je nastavený
static prefix, pripojí ho na začiatok
Ďalšie kroky
Začnite inštaláciou a postup nájdete v časti Použitie. Podrobnosti sú v referenčnej príručke API.