Siirry sisältöön
i18n-error-base
Suomi
Esc
↑↓siirry↵avaa⌘Jesikatselu
Tällä sivulla

i18n-error-base

Valibotin kieliasetuksen mukana vaihtuvia virheviestejä tarjoava Error-perusluokka.

Error-perusluokka, joka vaihtaa message-arvoa Valibotin lang-arvon mukaisesti.

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 viittaa lang-arvoon jokaisella käyttökerralla. Vaihda ilman uusien instanssien luomista. Rekisteröimättömät kielet käyttävät rakentajan oletusviestiä.

Ominaisuudet

  • Ratkaisee message-arvon dynaamisesti Valibotin setGlobalConfig({ lang }) -asetuksella
  • Kielikohtaiset viestit rekisteröidään jälkikäteen setErrorMessage-funktiolla. Myös meta-arvon vastaanottavat funktiot sallitaan
  • Rekisteröimättömät kielet käyttävät rakentajan oletusviestiä
  • Lisää etuliitteen luokkakohtaisella static prefix -ominaisuudella
  • Säilyttää meta-arvon ja välittää sen viestin luontifunktioille
  • instanceof Error, cause ja stack toimivat sellaisenaan

Rakenne

Miten se toimii

message ratkaistaan jokaisella käyttökerralla seuraavassa järjestyksessä.

  1. Hakee arvon lang funktiolla getGlobalConfig(). "en", jos sitä ei ole asetettu
  2. Jos (luokka × lang) -rekisteröinti löytyy, se suoritetaan meta-arvolla
  3. Muussa tapauksessa palautetaan rakentajan oletusviesti
  4. Jos static prefix on asetettu, se liitetään alkuun

Seuraavat vaiheet

Aloita asennuksesta ja katso työnkulku käyttöohjeesta. Yksityiskohdat on koottu API-viitteeseen.

Oliko tästä sivusta apua?