Vai al contenuto
i18n-error-base
Italiano
Esc
↑↓naviga↵apri⌘Janteprima
In questa pagina

i18n-error-base

Classe base di Error che cambia i messaggi di errore in sincronia con l'impostazione della lingua di Valibot.

Classe base Error che cambia message con il lang di 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 consulta lang a ogni lettura. Cambio senza ricreare le istanze. Le lingue non registrate usano il messaggio predefinito del costruttore.

Funzionalità

  • Risolve message dinamicamente con setGlobalConfig({ lang }) di Valibot.
  • I messaggi per lingua si registrano dopo con setErrorMessage. Ammesse anche funzioni che ricevono meta.
  • Le lingue non registrate usano il messaggio predefinito del costruttore.
  • Aggiunge un prefisso tramite static prefix per classe.
  • Conserva meta e lo passa alle funzioni di generazione dei messaggi.
  • instanceof Error, cause e stack funzionano come al solito.

Struttura

Come funziona

message viene risolto a ogni lettura nel seguente ordine.

  1. Ottiene lang da getGlobalConfig(). Se non impostato, "en".
  2. Se esiste una registrazione (classe × lang), la esegue con meta.
  3. Altrimenti restituisce il messaggio predefinito del costruttore.
  4. Se static prefix è impostato, lo antepone.

Passaggi successivi

Inizia dall’Installazione, poi vedi il flusso nell’Utilizzo. I dettagli sono nel Riferimento API.

Questa pagina ti è stata utile?