Pular para o conteúdo
i18n-error-base
Português (Brasil)
Esc
↑↓navegar↵abrir⌘Jpré-visualizar
Nesta página

i18n-error-base

Classe base de Error que alterna as mensagens de erro em sincronia com a configuração de idioma do Valibot.

Classe base Error que alterna message com o lang do 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

A message consulta o lang a cada leitura. Troca sem recriar instâncias. Idiomas sem registro usam a mensagem padrão do construtor.

Recursos

  • Resolve message dinamicamente com setGlobalConfig({ lang }) do Valibot.
  • Você registra as mensagens de cada idioma depois com setErrorMessage. Funções que recebem meta também valem.
  • Idiomas sem registro usam a mensagem padrão do construtor.
  • Adiciona um prefixo com static prefix por classe.
  • Salva o meta e passa para as funções que geram a mensagem.
  • instanceof Error, cause e stack funcionam normalmente.

Estrutura

Como funciona

A message resolve a cada leitura nesta ordem.

  1. Pega o lang de getGlobalConfig(). Se não configurado, "en".
  2. Se houver registro (classe × lang), executa passando o meta.
  3. Se não houver, retorna a mensagem padrão do construtor.
  4. Se static prefix estiver configurado, coloca no início.

Próximos passos

Comece pela instalação e confira o fluxo em uso. Os detalhes estão na referência da API.

Esta página foi útil?