Ugrás a tartalomra
i18n-error-base
Magyar
Esc
↑↓navigálás↵megnyitás⌘Jelőnézet
Ezen az oldalon

API-referencia

Az I18nErrorBase, a setErrorMessage és a kapcsolódó típusok specifikációja.

I18nErrorBase

Az Error kiterjesztésére szolgáló alaposztály. A message a lang alapján oldódik fel.

import { I18nErrorBase } from "i18n-error-base";

class MyError extends I18nErrorBase<{ code: string }> {}

Típusparaméterek

Prop Típus Alapértelmezett Leírás
TMeta ErrorMeta | undefined ErrorMeta | undefined A meta típusa. Ha nem használja, adjon meg undefined értéket.

Statikus tulajdonságok

Prop Típus Alapértelmezett Leírás
prefix? string undefined A feloldott üzenet elejére fűződik.

Példánytulajdonságok

Prop Típus Leírás
meta TMeta A konstruktor kiegészítő adatai. Olvasható és írható.
message string Az aktuális lang alapján feloldva. Felsorolható.
cause unknown Az ErrorOptions segítségével átadott ok. Az Error szabványos tulajdonsága.

Konstruktor

Ha a TMeta nem tartalmazza az undefined értéket, a meta kötelező.

new MyError(meta, message, options?)

Ha a TMeta értéke undefined, a meta elhagyható.

new MyError(message, options?)
new MyError(meta, message, options?)
Paraméter Típus Leírás
meta TMeta Az üzenetgeneráláshoz használt kiegészítő adatok.
message string | MessageFactory<TMeta> Nem regisztrált nyelvek alapértelmezett üzenete. Függvény esetén a meta értéket fogadja.
options ErrorOptions Az Error második argumentumával kompatibilis opciók (pl. { cause }).

Feloldási sorrend

  1. Lekéri a getGlobalConfig() lang értékét ("en" beállítás hiányában)
  2. Végrehajtja az adott osztályhoz és nyelvhez regisztrált függvényt a meta átadásával
  3. Ha nincs regisztráció, az alapértelmezett üzenetet használja
  4. Ha van static prefix, az elejére fűzi

setErrorMessage

Nyelvenkénti üzenetkészítő függvényeket regisztrál.

import { setErrorMessage } from "i18n-error-base";

setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
Paraméter Típus Leírás
reference I18nErrorBaseConstructor Az I18nErrorBase osztályból öröklő osztály. Más osztályok típushibát okoznak.
message string | (meta) => string A regisztrálandó üzenet. A meta típusa a célosztályból következtethető.
lang string | Iterable<string> Célnyelv. Egyetlen kód vagy iterálható objektum (pl. tömb).

Azonos osztály és nyelv újbóli regisztrálása felülírja a bejegyzést.

Típusok

ErrorMeta

type ErrorMeta = {
  readonly [prop: string]: unknown;
};

A TMeta alapértelmezett korlátja. Tetszőleges tulajdonságú, csak olvasható objektum.

ErrorOptions

type ErrorOptions =
  ConstructorParameters<typeof Error> extends [
    message?: unknown,
    options?: (infer TOptions) | undefined,
  ]
    ? TOptions
    : { readonly cause?: unknown };

Az Error második argumentumából származtatott típus. cause értéket adhat át.

MessageFactory<TMeta>

interface MessageFactory<TMeta extends ErrorMeta | undefined = ErrorMeta | undefined> {
  (meta: TMeta): string;
}

A meta alapján üzenetet generáló függvény. Alapértelmezett és regisztrált üzenetekhez egyaránt használható.

I18nErrorBaseParams<TMeta>

A konstruktorargumentumok túlterhelései.

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];

A meta csak akkor hagyható el, ha a TMeta értéke undefined.

I18nErrorBaseConstructor

interface I18nErrorBaseConstructor {
  new (...args: any): I18nErrorBase;
}

A setErrorMessage első argumentumának típusa.

Megjegyzések

  • A message feloldásához használt lang alapértelmezett értéke "en". Váltson a setGlobalConfig({ lang }) segítségével
  • Nincs nyelvkód-normalizálás vagy tartalék lánc (pl. en-US → en). A nem regisztrált nyelvek az alapértelmezett üzenetet kapják

Hasznos volt ez az oldal?