API-viite
I18nErrorBase-, setErrorMessage- ja niihin liittyvien tyyppien määritykset.
I18nErrorBase
Error-luokan periyttämiseen tarkoitettu perusluokka. message ratkaistaan lang-arvon mukaisesti.
import { I18nErrorBase } from "i18n-error-base";
class MyError extends I18nErrorBase<{ code: string }> {}
Tyyppiparametrit
| Prop | Type | Default | Description |
|---|---|---|---|
TMeta |
ErrorMeta | undefined |
ErrorMeta | undefined |
meta-ominaisuuden tyyppi. Jos sitä ei käytetä, anna undefined. |
Staattiset ominaisuudet
| Prop | Type | Default | Description |
|---|---|---|---|
prefix? |
string |
undefined |
Liitetään ratkaistun viestin alkuun. |
Instanssiominaisuudet
| Prop | Type | Description |
|---|---|---|
meta |
TMeta |
Rakentajan liitännäistiedot. Luettavissa ja kirjoitettavissa. |
message |
string |
Ratkaistaan lang-arvon mukaisesti. Lueteltavissa. |
cause |
unknown |
ErrorOptions-valinnalla annettu syy. Error-luokan vakiominaisuus. |
Rakentaja
Jos TMeta ei sisällä undefined-arvoa, meta on pakollinen.
new MyError(meta, message, options?)
Jos TMeta on undefined, meta voidaan jättää pois.
new MyError(message, options?)
new MyError(meta, message, options?)
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
meta |
TMeta |
Viestin luomisen liitännäistiedot. |
message |
string | MessageFactory<TMeta> |
Oletusviesti rekisteröimättömille kielille. Funktio vastaanottaa meta-arvon. |
options |
ErrorOptions |
Error-luokan toisen argumentin kanssa yhteensopivat valinnat (esim. { cause }). |
Selvitysjärjestys
- Hakee
lang-arvongetGlobalConfig()-funktiolla ("en", jos asetusta ei ole) - Suorittaa kyseisen luokan ja kielen rekisteröidyn funktion
meta-arvolla - Jos rekisteröintiä ei ole, käyttää oletusviestiä
- Jos
static prefixon asetettu, liittää sen alkuun
setErrorMessage
Rekisteröi kielikohtaiset viestin luontifunktiot.
import { setErrorMessage } from "i18n-error-base";
setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
reference |
I18nErrorBaseConstructor |
I18nErrorBase-luokasta peritty luokka. Perimättömät luokat aiheuttavat tyyppivirheen. |
message |
string | (meta) => string |
Rekisteröitävä viesti. meta-tyyppi päätellään kohdeluokasta. |
lang |
string | Iterable<string> |
Kohdekieli. Yksittäinen koodi tai iteroitava kokoelma (esim. taulukko). |
Saman luokan ja kielen uudelleenrekisteröinti korvaa.
Tyypit
ErrorMeta
type ErrorMeta = {
readonly [prop: string]: unknown;
};
TMeta-tyypin oletusrajoite. Vain luettava objekti, jolla on mielivaltaisia ominaisuuksia.
ErrorOptions
type ErrorOptions =
ConstructorParameters<typeof Error> extends [
message?: unknown,
options?: (infer TOptions) | undefined,
]
? TOptions
: { readonly cause?: unknown };
Error-luokan toisesta argumentista johdettu tyyppi. Sillä voidaan antaa cause.
MessageFactory<TMeta>
interface MessageFactory<TMeta extends ErrorMeta | undefined = ErrorMeta | undefined> {
(meta: TMeta): string;
}
Funktio, joka luo viestin meta-arvosta. Käytetään sekä oletus- että rekisteröidyissä viesteissä.
I18nErrorBaseParams<TMeta>
Rakentajan argumenttien ylikuormitukset.
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];
Vain kun TMeta on undefined, meta voidaan jättää pois.
I18nErrorBaseConstructor
interface I18nErrorBaseConstructor {
new (...args: any): I18nErrorBase;
}
setErrorMessage-funktion ensimmäisen argumentin tyyppi.
Lisätiedot
lang-arvon oletus on"en". Vaihda se erikseensetGlobalConfig({ lang })-funktiolla- Kielikoodien normalisointia tai varaketjua (esim.
en-US→en) ei ole. Rekisteröimättömät kielet käyttävät oletusviestiä