Μετάβαση στο περιεχόμενο
i18n-error-base
Ελληνικά
Esc
↑↓πλοήγηση↵άνοιγμα⌘Jπροεπισκόπηση
Σε αυτή τη σελίδα

Αναφορά 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 }).

Σειρά επίλυσης

  1. Λαμβάνει τη lang του getGlobalConfig() ("en" όταν δεν έχει οριστεί)
  2. Εκτελεί την καταχωρημένη συνάρτηση για αυτή την κλάση και γλώσσα με meta
  3. Όταν δεν υπάρχει καταχώρηση, χρησιμοποιεί το προεπιλεγμένο μήνυμα
  4. Αν έχει οριστεί 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). Οι μη καταχωρημένες γλώσσες δίνουν το προεπιλεγμένο μήνυμα

Σας φάνηκε χρήσιμη αυτή η σελίδα;