Hoppa till innehåll
i18n-error-base
Svenska
Esc
↑↓navigera↵öppna⌘Jförhandsvisa
På den här sidan

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 message dynamiskt med Valibots setGlobalConfig({ lang })
  • Registrera språkspecifika meddelanden i efterhand med setErrorMessage. Funktioner som tar emot meta är också tillåtna
  • Oregistrerade språk använder konstruktorns standardmeddelande
  • Lägger till ett prefix via static prefix per klass
  • Behåller meta och skickar den till meddelandefunktioner
  • instanceof Error, cause och stack fungerar som vanligt

Struktur

Så fungerar det

message löses i följande ordning vid varje åtkomst.

  1. Hämtar lang från getGlobalConfig(). "en" när den inte är inställd
  2. Om en (klass × lang)-registrering finns körs den med meta
  3. Annars returneras konstruktorns standardmeddelande
  4. 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.

Var den här sidan till hjälp?