Lewati ke konten
i18n-error-base
Bahasa Indonesia
Esc
↑↓navigasi↵buka⌘Jpratinjau
Di halaman ini

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 message dinamis dengan setGlobalConfig({ lang }) Valibot
  • Daftarkan pesan tiap bahasa belakangan dengan setErrorMessage. Fungsi penerima meta juga boleh
  • Bahasa tak terdaftar memakai pesan default konstruktor
  • Tambah awalan via static prefix per kelas
  • Simpan meta dan teruskan ke fungsi pembuat pesan
  • instanceof Error, cause, dan stack dapat dipakai apa adanya

Struktur

Cara kerja

message diselesaikan dengan urutan berikut setiap dibaca.

  1. Mendapatkan lang dari getGlobalConfig(). Jika belum diatur, "en"
  2. Jika ada pendaftaran (kelas × lang), jalankan dengan meta
  3. Jika tidak, kembalikan pesan default konstruktor
  4. Jika static prefix diatur, gabung di awal

Langkah selanjutnya

Mulailah dari Instalasi, lalu periksa alur di Penggunaan. Detail di Referensi API.

Apakah halaman ini membantu?