i18n-error-base
Βασική κλάση Error που αλλάζει μηνύματα σφάλματος σε συγχρονισμό με τη ρύθμιση γλώσσας του Valibot.
Βασική κλάση Error που αλλάζει το message με τη 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 αναφέρεται στη lang σε κάθε ανάγνωση. Αλλάξτε χωρίς νέα στιγμιότυπα. Οι μη καταχωρημένες γλώσσες χρησιμοποιούν το προεπιλεγμένο μήνυμα του κατασκευαστή.
Χαρακτηριστικά
- Επιλύει το
messageδυναμικά με τοsetGlobalConfig({ lang })του Valibot - Καταχωρεί μηνύματα ανά γλώσσα εκ των υστέρων με το
setErrorMessage. Επιτρέπονται και συναρτήσεις που λαμβάνουνmeta - Οι μη καταχωρημένες γλώσσες χρησιμοποιούν το προεπιλεγμένο μήνυμα του κατασκευαστή
- Προσθέτει πρόθεμα μέσω
static prefixανά κλάση - Διατηρεί το
metaκαι το διαβιβάζει στις συναρτήσεις εργοστασίου - Τα
instanceof Error,causeκαιstackλειτουργούν κανονικά
Δομή
Εγκατάσταση
Πώς να προσθέσετε το πακέτο και την peer εξάρτηση.
Χρήση
Από τον ορισμό έως την εναλλαγή, το πρόθεμα και την εναλλακτική.
Αναφορά API
Προδιαγραφές για τα I18nErrorBase και setErrorMessage.
Πώς λειτουργεί
Το message επιλύεται σε κάθε ανάγνωση με την εξής σειρά.
- Λαμβάνει τη
langαπό τοgetGlobalConfig()."en"όταν δεν έχει οριστεί - Αν υπάρχει καταχώρηση
(κλάση × lang), την εκτελεί με τοmeta - Διαφορετικά, επιστρέφει το προεπιλεγμένο μήνυμα του κατασκευαστή
- Αν έχει οριστεί
static prefix, το συνδέει στην αρχή
Επόμενα βήματα
Ξεκινήστε με την Εγκατάσταση και δείτε τη ροή στη Χρήση. Λεπτομέρειες στην Αναφορά API.