Naar inhoud springen
i18n-error-base
Nederlands
Esc
↑↓navigeren↵openen⌘Jvoorbeeld
Op deze pagina

i18n-error-base

Een basisklasse voor Error die foutmeldingen schakelt in sync met de taalinstelling van Valibot.

Een Error-basisklasse die message schakelt met Valibot’s 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 verwijst bij elke toegang naar lang. Wissel zonder instanties opnieuw aan te maken. Talen zonder registratie gebruiken het standaardbericht uit de constructor.

Kenmerken

  • Lost message dynamisch op met Valibot’s setGlobalConfig({ lang })
  • Registreer berichten per taal achteraf met setErrorMessage. Functies die meta ontvangen zijn ook toegestaan
  • Talen zonder registratie gebruiken het standaardbericht uit de constructor
  • Voegt een prefix toe via static prefix per klasse
  • Bewaart meta en geeft deze door aan berichtgenererende functies
  • instanceof Error, cause en stack werken zoals gewoonlijk

Structuur

Hoe het werkt

message wordt bij elke toegang in de volgende volgorde opgelost.

  1. Haalt lang op uit getGlobalConfig(). "en" indien niet ingesteld
  2. Als er een (klasse × lang)-registratie bestaat, wordt deze met meta uitgevoerd
  3. Zo niet, dan wordt het standaardbericht uit de constructor teruggegeven
  4. Als static prefix is ingesteld, wordt deze vooraan geplaatst

Volgende stappen

Begin met Installatie en bekijk de flow in Gebruik. Details staan in de API-referentie.

Was deze pagina nuttig?