i18n-error-base
Основна класа за Error која пребацује поруке о грешкама у складу са језичким подешавањем Valibot-а.
Error основна класа која пребацује message са Valibot 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 се при сваком читању односи на lang. Промените без поновног стварања инстанци. Нерегистровани језици користе подразумевану поруку из конструктора.
Карактеристике
- Динамички разрешава
messageса ValibotsetGlobalConfig({ lang }) - Накнадно региструје поруке по језику са
setErrorMessage. Дозвољене су и функције које примајуmeta - Нерегистровани језици користе подразумевану поруку из конструктора
- Додаје префикс путем
static prefixпо класи - Чува
metaи прослеђује га фабричким функцијама порука instanceof Error,causeиstackраде као обично
Структура
Инсталација
Како додати пакет и peer зависност.
Употреба
Од дефинисања до промене, префикса и резерве.
АПИ референца
Спецификације за I18nErrorBase и setErrorMessage.
Како ради
message се при сваком читању разрешава следећим редом.
- Преузима
langизgetGlobalConfig()."en"када није подешено - Ако постоји регистрација
(класа × lang), извршава је саmeta - Иначе враћа подразумевану поруку из конструктора
- Ако је подешен
static prefix, додаје се на почетак
Следећи кораци
Почните од инсталације, па ток погледајте у употреби. Детаљи су у АПИ референци.