Siirry sisältöön
i18n-error-base
Suomi
Esc
↑↓siirry↵avaa⌘Jesikatselu
Tällä sivulla

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

  1. Hakee lang-arvon getGlobalConfig()-funktiolla ("en", jos asetusta ei ole)
  2. Suorittaa kyseisen luokan ja kielen rekisteröidyn funktion meta-arvolla
  3. Jos rekisteröintiä ei ole, käyttää oletusviestiä
  4. Jos static prefix on 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 erikseen setGlobalConfig({ lang }) -funktiolla
  • Kielikoodien normalisointia tai varaketjua (esim. en-US → en) ei ole. Rekisteröimättömät kielet käyttävät oletusviestiä

Oliko tästä sivusta apua?