Prejsť na obsah
i18n-error-base
Slovenčina
Esc
↑↓navigácia↵otvoriť⌘Jnáhľad
Na tejto stránke

Referenčná príručka API

Špecifikácia I18nErrorBase, setErrorMessage a súvisiacich typov.

I18nErrorBase

Základná trieda na dedenie z Error. message sa vyhodnocuje podľa lang.

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

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

Parametre typu

Prop Type Default Description
TMeta ErrorMeta | undefined ErrorMeta | undefined Typ meta. Ak sa nepoužíva, zadajte undefined.

Statické vlastnosti

Prop Type Default Description
prefix? string undefined Pripojí sa na začiatok vyhodnotenej správy.

Vlastnosti inštancie

Prop Type Description
meta TMeta Pomocné údaje konštruktora. Možno čítať aj zapisovať.
message string Vyhodnocuje sa podľa lang. Je enumerovateľná.
cause unknown Príčina z ErrorOptions. Štandardná vlastnosť Error.

Konštruktor

Ak TMeta nezahŕňa undefined, meta je povinné.

new MyError(meta, message, options?)

Ak je TMeta typu undefined, možno meta vynechať.

new MyError(message, options?)
new MyError(meta, message, options?)
Parameter Typ Popis
meta TMeta Pomocné údaje na generovanie správy.
message string | MessageFactory<TMeta> Predvolená správa pre jazyky bez registrácie. Funkcie prijímajú meta.
options ErrorOptions Voľby kompatibilné s druhým argumentom Error (napr. { cause }).

Poradie vyhodnotenia

  1. Získa lang z getGlobalConfig() ("en", ak nie je nastavené)
  2. Spustí registrovanú funkciu pre danú triedu a jazyk s meta
  3. Ak nie je registrovaná, použije predvolenú správu
  4. Ak je static prefix, pripojí ho na začiatok

setErrorMessage

Registruje funkcie na tvorbu správy pre jednotlivé jazyky.

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

setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
Parameter Typ Popis
reference I18nErrorBaseConstructor Trieda dediaca z I18nErrorBase. Ostatné triedy sú typovou chybou.
message string | (meta) => string Správa na registráciu. meta sa odvodí z cieľovej triedy.
lang string | Iterable<string> Cieľový jazyk. Jednotlivý kód alebo iterovateľný objekt (napr. pole).

Opätovná registrácia rovnakej triedy a jazyka hodnotu prepíše.

Typy

ErrorMeta

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

Predvolené obmedzenie pre TMeta. Objekt len na čítanie s ľubovoľnými vlastnosťami.

ErrorOptions

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

Typ odvodený z druhého argumentu Error. Možno odovzdať cause.

MessageFactory<TMeta>

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

Funkcia generujúca správu z meta. Používa sa pre predvolené aj registrované správy.

I18nErrorBaseParams<TMeta>

Preťaženie argumentov konštruktora.

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

Bez meta len vtedy, ak je TMeta typu undefined.

I18nErrorBaseConstructor

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

Typ prvého argumentu setErrorMessage.

Poznámky

  • Predvolené lang je "en". Prepínajte pomocou setGlobalConfig({ lang })
  • Bez normalizácie kódov jazykov a fallback reťazca (napr. en-US → en). Neregistrované jazyky používajú predvolenú správu

Bola táto stránka užitočná?