Referenční příručka API
Specifikace I18nErrorBase, setErrorMessage a souvisejících typů.
I18nErrorBase
Základní třída pro dědění z Error. message se resolvuje podle lang.
import { I18nErrorBase } from "i18n-error-base";
class MyError extends I18nErrorBase<{ code: string }> {}
Parametry typu
| Prop | Type | Default | Description |
|---|---|---|---|
TMeta |
ErrorMeta | undefined |
ErrorMeta | undefined |
Typ meta. Když se nepoužívá, zadejte undefined. |
Statické vlastnosti
| Prop | Type | Default | Description |
|---|---|---|---|
prefix? |
string |
undefined |
Připojí se na začátek vyhodnocené zprávy. |
Vlastnosti instance
| Prop | Type | Description |
|---|---|---|
meta |
TMeta |
Pomocné údaje konstruktoru. Lze číst i zapisovat. |
message |
string |
Vyhodnocuje se podle lang. Je enumerovatelná. |
cause |
unknown |
Příčina z ErrorOptions. Standardní vlastnost Error. |
Konstruktor
Pokud TMeta nezahrnuje undefined, je meta povinné.
new MyError(meta, message, options?)
Pokud je TMeta typu undefined, lze meta vynechat.
new MyError(message, options?)
new MyError(meta, message, options?)
| Parametr | Typ | Popis |
|---|---|---|
meta |
TMeta |
Pomocné údaje pro generování zprávy. |
message |
string | MessageFactory<TMeta> |
Výchozí zpráva pro jazyky bez registrace. Funkce přijímají meta. |
options |
ErrorOptions |
Volby kompatibilní s druhým argumentem Error (např. { cause }). |
Pořadí vyhodnocení
- Získá
langzgetGlobalConfig()("en", není-li nastaveno) - Spustí registrovanou funkci pro danou třídu a jazyk s
meta - Není-li registrována, použije výchozí zprávu
- Je-li
static prefix, připojí jej na začátek
setErrorMessage
Registruje funkce pro tvorbu zprávy pro jednotlivé jazyky.
import { setErrorMessage } from "i18n-error-base";
setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
| Parametr | Typ | Popis |
|---|---|---|
reference |
I18nErrorBaseConstructor |
Třída dědící z I18nErrorBase. Ostatní třídy jsou typovou chybou. |
message |
string | (meta) => string |
Zpráva k registraci. meta se odvodí z cílové třídy. |
lang |
string | Iterable<string> |
Cílový jazyk. Jednotlivý kód nebo iterovatelný objekt (např. pole). |
Opětovná registrace stejné třídy a jazyka hodnotu přepíše.
Typy
ErrorMeta
type ErrorMeta = {
readonly [prop: string]: unknown;
};
Výchozí omezení pro TMeta. Objekt jen pro čtení s libovolnými vlastnostmi.
ErrorOptions
type ErrorOptions =
ConstructorParameters<typeof Error> extends [
message?: unknown,
options?: (infer TOptions) | undefined,
]
? TOptions
: { readonly cause?: unknown };
Typ odvozený z druhého argumentu Error. Lze předat cause.
MessageFactory<TMeta>
interface MessageFactory<TMeta extends ErrorMeta | undefined = ErrorMeta | undefined> {
(meta: TMeta): string;
}
Funkce generující zprávu z meta. Používá se pro výchozí i registrované zprávy.
I18nErrorBaseParams<TMeta>
Přetížení argumentů konstruktoru.
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 jen tehdy, je-li TMeta typu undefined.
I18nErrorBaseConstructor
interface I18nErrorBaseConstructor {
new (...args: any): I18nErrorBase;
}
Typ prvního argumentu setErrorMessage.
Poznámky
- Výchozí
langje"en". Přepínejte pomocísetGlobalConfig({ lang }) - Bez normalizace kódů jazyků a fallback řetězce (např.
en-US→en). Neregistrované jazyky používají výchozí zprávu