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
messagedynamisch op met Valibot’ssetGlobalConfig({ lang }) - Registreer berichten per taal achteraf met
setErrorMessage. Functies diemetaontvangen zijn ook toegestaan - Talen zonder registratie gebruiken het standaardbericht uit de constructor
- Voegt een prefix toe via
static prefixper klasse - Bewaart
metaen geeft deze door aan berichtgenererende functies instanceof Error,causeenstackwerken zoals gewoonlijk
Structuur
Installatie
Het toevoegen van het pakket en de peer-afhankelijkheid.
Gebruik
Van definitie tot wisselen van taal, prefix en fallback.
API-referentie
De specificatie van I18nErrorBase en setErrorMessage.
Hoe het werkt
message wordt bij elke toegang in de volgende volgorde opgelost.
- Haalt
langop uitgetGlobalConfig()."en"indien niet ingesteld - Als er een
(klasse × lang)-registratie bestaat, wordt deze metmetauitgevoerd - Zo niet, dan wordt het standaardbericht uit de constructor teruggegeven
- Als
static prefixis ingesteld, wordt deze vooraan geplaatst
Volgende stappen
Begin met Installatie en bekijk de flow in Gebruik. Details staan in de API-referentie.