Saltar para o conteúdo
i18n-error-base
Português
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 definiçã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 em cada leitura. Mudança sem voltar a criar instâncias. Idiomas sem registo usam a mensagem por omissão do construtor.

Funcionalidades

  • Resolve a message dinamicamente com setGlobalConfig({ lang }) do Valibot.
  • As mensagens por idioma registam-se depois com setErrorMessage. Funções que recebem meta também são aceites.
  • Idiomas sem registo usam a mensagem por omissão do construtor.
  • Adiciona um prefixo com static prefix por classe.
  • Guarda o meta e passa-o às funções de geração de mensagens.
  • instanceof Error, cause e stack funcionam como sempre.

Estrutura

Como funciona

A message é resolvida em cada leitura pela seguinte ordem.

  1. Obtém o lang de getGlobalConfig(). Se não definido, "en".
  2. Se existir um registo (classe × lang), executa-o com o meta.
  3. Caso contrário, devolve a mensagem por omissão do construtor.
  4. Se static prefix estiver definido, antepõe-no.

Próximos passos

Comece pela instalação e veja o fluxo na utilização. Os detalhes estão na referência da API.

Esta página foi útil?