Przejdź do treści
i18n-error-base
Polski
Esc
↑↓nawigacja↵otwórz⌘Jpodgląd
Na tej stronie

i18n-error-base

Klasa bazowa Error, która przełącza komunikaty o błędach zgodnie z ustawieniem językowym Valibot.

Bazowa klasa Error, która przełącza message wraz z 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 odwołuje się do lang przy każdym odczycie. Przełącz bez odtwarzania instancji. Niezarejestrowane języki używają domyślnego komunikatu z konstruktora.

Funkcje

  • Dynamicznie rozwiązuje message przez setGlobalConfig({ lang }) Valibotu
  • Rejestruje komunikaty dla języków później przez setErrorMessage. Dozwolone są też funkcje przyjmujące meta
  • Niezarejestrowane języki używają domyślnego komunikatu z konstruktora
  • Dodaje prefiks przez static prefix na poziomie klasy
  • Przechowuje meta i przekazuje je do funkcji tworzących komunikat
  • instanceof Error, cause i stack działają jak zwykle

Struktura

Jak to działa

message jest rozwiązywany przy każdym odczycie w następującej kolejności.

  1. Pobiera lang z getGlobalConfig(). Gdy nie ustawiono, "en"
  2. Jeśli istnieje rejestracja (klasa × lang), wykonuje ją z meta
  3. W przeciwnym razie zwraca domyślny komunikat z konstruktora
  4. Jeśli ustawiono static prefix, dodaje go na początku

Następne kroki

Zacznij od Instalacji, potem zobacz przepływ w Użyciu. Szczegóły w Dokumentacji API.

Czy ta strona była pomocna?