i18n-error-base
Kelas dasar Error yang mengganti pesan kesalahan seiring dengan pengaturan bahasa Valibot.
Kelas dasar Error yang mengganti message dengan 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 merujuk ke lang setiap dibaca. Beralih tanpa membuat ulang. Bahasa tak terdaftar memakai pesan default konstruktor.
Fitur
- Menyelesaikan
messagedinamis dengansetGlobalConfig({ lang })Valibot - Daftarkan pesan tiap bahasa belakangan dengan
setErrorMessage. Fungsi penerimametajuga boleh - Bahasa tak terdaftar memakai pesan default konstruktor
- Tambah awalan via
static prefixper kelas - Simpan
metadan teruskan ke fungsi pembuat pesan instanceof Error,cause, danstackdapat dipakai apa adanya
Struktur
Instalasi
Penambahan paket dan dependensi peer.
Penggunaan
Dari definisi hingga pengalihan, prefix, dan fallback.
Referensi API
Spesifikasi I18nErrorBase dan setErrorMessage.
Cara kerja
message diselesaikan dengan urutan berikut setiap dibaca.
- Mendapatkan
langdarigetGlobalConfig(). Jika belum diatur,"en" - Jika ada pendaftaran (kelas × lang), jalankan dengan
meta - Jika tidak, kembalikan pesan default konstruktor
- Jika
static prefixdiatur, gabung di awal
Langkah selanjutnya
Mulailah dari Instalasi, lalu periksa alur di Penggunaan. Detail di Referensi API.