Към съдържанието
i18n-error-base
Български
Esc
↑↓навигация↵отвори⌘Jпреглед
На тази страница

i18n-error-base

Базов клас за Error, който превключва съобщенията за грешки според езиковата настройка на Valibot.

Error базов клас, който превключва message с lang на Valibot.

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 динамично с setGlobalConfig({ lang }) на Valibot
  • Регистрира впоследствие съобщения по език чрез setErrorMessage. Допустими са и функции, получаващи meta
  • Нерегистрираните езици използват съобщението по подразбиране от конструктора
  • Добавя префикс чрез static prefix на ниво клас
  • Пази meta и го подава на фабричните функции за съобщения
  • instanceof Error, cause и stack работят както обикновено

Структура

Как работи

message се разрешава при всеки достъп в следния ред.

  1. Взема lang от getGlobalConfig(). "en" когато не е зададен
  2. Ако има регистрация (клас × lang), я изпълнява с meta
  3. Иначе връща съобщението по подразбиране от конструктора
  4. Ако е зададен static prefix, го добавя в началото

Следващи стъпки

Започнете с Инсталиране, после вижте процеса в Употреба. Подробностите са в API справка.

Беше ли полезна тази страница?