Saltar al contenido
i18n-error-base
Español
Esc
↑↓navegar↵abrir⌘Jvista previa
En esta página

i18n-error-base

Clase base de Error que cambia los mensajes de error según la configuración de idioma de Valibot.

Clase base Error que cambia message con el lang de 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 en cada lectura. Cambio sin recrear instancias. Los idiomas no registrados usan el mensaje predeterminado del constructor.

Características

  • Resuelve message dinámicamente con setGlobalConfig({ lang }) de Valibot.
  • Los mensajes por idioma se registran después con setErrorMessage. También se admiten funciones que reciben meta.
  • Los idiomas no registrados usan el mensaje predeterminado del constructor.
  • Añade un prefijo con static prefix por clase.
  • Conserva meta y lo pasa a las funciones generadoras de mensajes.
  • instanceof Error, cause y stack funcionan como siempre.

Estructura

Cómo funciona

message se resuelve en cada lectura en el siguiente orden.

  1. Obtiene lang de getGlobalConfig(). Si no está configurado, "en".
  2. Si existe un registro (clase × lang), lo ejecuta con meta.
  3. Si no, devuelve el mensaje predeterminado del constructor.
  4. Si static prefix está configurado, lo antepone.

Siguientes pasos

Comience con la instalación y vea el flujo en uso. Los detalles están en la referencia de la API.

¿Te ha resultado útil esta página?