Αναφορά API
Προδιαγραφές των I18nErrorBase, setErrorMessage και των σχετικών τύπων.
I18nErrorBase
Η βασική κλάση για επέκταση του Error. Το message επιλύεται ανάλογα με τη lang.
import { I18nErrorBase } from "i18n-error-base";
class MyError extends I18nErrorBase<{ code: string }> {}
Παράμετροι τύπου
| Prop | Type | Default | Description |
|---|---|---|---|
TMeta |
ErrorMeta | undefined |
ErrorMeta | undefined |
Ο τύπος του meta. Αν δεν το χρησιμοποιείτε, δώστε undefined. |
Στατικές ιδιότητες
| Prop | Type | Default | Description |
|---|---|---|---|
prefix? |
string |
undefined |
Συνδέεται στην αρχή του επιλυμένου μηνύματος. |
Ιδιότητες στιγμιότυπου
| Prop | Type | Description |
|---|---|---|
meta |
TMeta |
Βοηθητική πληροφορία του κατασκευαστή. Διαβάζεται και γράφεται. |
message |
string |
Το μήνυμα που επιλύεται ανάλογα με τη lang. Είναι απαριθμήσιμο. |
cause |
unknown |
Η αιτία από το ErrorOptions. Τυπική ιδιότητα του Error. |
Κατασκευαστής
Όταν το TMeta αποκλείει το undefined, το meta είναι υποχρεωτικό.
new MyError(meta, message, options?)
Όταν το TMeta είναι undefined, το meta μπορεί να παραλειφθεί.
new MyError(message, options?)
new MyError(meta, message, options?)
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
meta |
TMeta |
Βοηθητική πληροφορία για δημιουργία μηνυμάτων. |
message |
string | MessageFactory<TMeta> |
Το προεπιλεγμένο μήνυμα για γλώσσες χωρίς καταχώρηση. Αν είναι συνάρτηση, λαμβάνει το meta. |
options |
ErrorOptions |
Επιλογές συμβατές με το 2ο όρισμα του Error (π.χ. { cause }). |
Σειρά επίλυσης
- Λαμβάνει τη
langτουgetGlobalConfig()("en"όταν δεν έχει οριστεί) - Εκτελεί την καταχωρημένη συνάρτηση για αυτή την κλάση και γλώσσα με
meta - Όταν δεν υπάρχει καταχώρηση, χρησιμοποιεί το προεπιλεγμένο μήνυμα
- Αν έχει οριστεί
static prefix, το συνδέει στην αρχή
setErrorMessage
Καταχωρεί συναρτήσεις εργοστασίου μηνυμάτων ανά γλώσσα.
import { setErrorMessage } from "i18n-error-base";
setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
| Παράμετρος | Τύπος | Περιγραφή |
|---|---|---|
reference |
I18nErrorBaseConstructor |
Κλάση που επεκτείνει το I18nErrorBase. Οι άλλες είναι σφάλμα τύπου. |
message |
string | (meta) => string |
Το μήνυμα προς καταχώρηση. Το meta συνάγεται από την κλάση-στόχο. |
lang |
string | Iterable<string> |
Η γλώσσα-στόχος. Ένας κωδικός ή επαναλήψιμο (π.χ. πίνακας). |
Η εκ νέου καταχώρηση για την ίδια κλάση και γλώσσα αντικαθιστά.
Τύποι
ErrorMeta
type ErrorMeta = {
readonly [prop: string]: unknown;
};
Ο προεπιλεγμένος περιορισμός του TMeta. Αντικείμενο μόνο για ανάγνωση με αυθαίρετες ιδιότητες.
ErrorOptions
type ErrorOptions =
ConstructorParameters<typeof Error> extends [
message?: unknown,
options?: (infer TOptions) | undefined,
]
? TOptions
: { readonly cause?: unknown };
Τύπος από το 2ο όρισμα του Error. Μπορείτε να δώσετε cause.
MessageFactory<TMeta>
interface MessageFactory<TMeta extends ErrorMeta | undefined = ErrorMeta | undefined> {
(meta: TMeta): string;
}
Συνάρτηση που δημιουργεί μήνυμα από το meta. Χρησιμοποιείται και για προεπιλεγμένα και για καταχωρημένα μηνύματα.
I18nErrorBaseParams<TMeta>
Υπερφορτώσεις ορισμάτων του κατασκευαστή.
type I18nErrorBaseParams<TMeta extends ErrorMeta | undefined = ErrorMeta | undefined> =
[TMeta] extends [undefined]
?
| [message: string | MessageFactory<TMeta>, options?: ErrorOptions | undefined]
| [meta: undefined, message: string | MessageFactory<TMeta>, options?: ErrorOptions | undefined]
: [meta: TMeta, message: string | MessageFactory<TMeta>, options?: ErrorOptions | undefined];
Παράλειψη του meta μόνο όταν το TMeta είναι undefined.
I18nErrorBaseConstructor
interface I18nErrorBaseConstructor {
new (...args: any): I18nErrorBase;
}
Ο τύπος του 1ου ορίσματος του setErrorMessage.
Σημειώσεις
- Η προεπιλογή
langείναι"en". Αλλάξτε μεsetGlobalConfig({ lang }) - Χωρίς κανονικοποίηση κωδικών ή αλυσίδα εναλλακτικής (π.χ.
en-US→en). Οι μη καταχωρημένες γλώσσες δίνουν το προεπιλεγμένο μήνυμα