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
- Získa
langzgetGlobalConfig()("en", ak nie je nastavené) - Spustí registrovanú funkciu pre danú triedu a jazyk s
meta - Ak nie je registrovaná, použije predvolenú správu
- 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é
langje"en". Prepínajte pomocousetGlobalConfig({ lang }) - Bez normalizácie kódov jazykov a fallback reťazca (napr.
en-US→en). Neregistrované jazyky používajú predvolenú správu