Prijeđi na sadržaj
i18n-error-base
Hrvatski
Esc
↑↓navigacija↵otvori⌘Jpregled
Na ovoj stranici

API referenca

Specifikacija za I18nErrorBase, setErrorMessage i povezane tipove.

I18nErrorBase

Osnovna klasa za proširenje Error. message se razrješava prema lang.

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

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

Parametri tipa

Prop Type Default Description
TMeta ErrorMeta | undefined ErrorMeta | undefined Tip meta. Kad se ne koristi, navedite undefined.

Statička svojstva

Prop Type Default Description
prefix? string undefined Dodaje se na početak razriješene poruke.

Svojstva instance

Prop Type Description
meta TMeta Pomoćne info iz konstruktora. Mogu se čitati i pisati.
message string Poruka razriješena prema lang. Može se nabrojiti.
cause unknown Uzrok iz ErrorOptions. Standardno svojstvo Error.

Konstruktor

Ako TMeta isključuje undefined, meta je obavezan.

new MyError(meta, message, options?)

Ako je TMeta undefined, meta se može izostaviti.

new MyError(message, options?)
new MyError(meta, message, options?)
Parametar Tip Opis
meta TMeta Pomoćne info za generiranje poruke.
message string | MessageFactory<TMeta> Zadana poruka za neregistrirane jezike. Funkcije primaju meta.
options ErrorOptions Opcije kompatibilne s 2. argumentom Error (npr. { cause }).

Redoslijed razrješavanja

  1. Dohvaća lang iz getGlobalConfig() ("en" kad nije postavljeno)
  2. Izvršava registriranu funkciju za tu klasu i jezik s meta
  3. Kad nije registrirano, koristi zadanu poruku
  4. Ako je postavljen static prefix, dodaje ga na početak

setErrorMessage

Registrira tvorničke funkcije poruka po jeziku.

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

setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
Parametar Tip Opis
reference I18nErrorBaseConstructor Klasa koja proširuje I18nErrorBase. Ostale su pogreška tipa.
message string | (meta) => string Poruka za registraciju. meta se izvodi iz ciljane klase.
lang string | Iterable<string> Ciljani jezik. Jedan kod ili iterabil (npr. polje).

Ponovna registracija iste klase i jezika prepisuje.

Tipovi

ErrorMeta

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

Zadano ograničenje za TMeta. Objekt samo za čitanje s proizvoljnim svojstvima.

ErrorOptions

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

Tip izveden iz 2. argumenta Error. Može se proslijediti cause.

MessageFactory<TMeta>

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

Funkcija koja stvara poruku iz meta. Koristi se i za zadane i za registrirane poruke.

I18nErrorBaseParams<TMeta>

Preopterećenja argumenata konstruktora.

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

meta se izostavlja samo kad je TMeta undefined.

I18nErrorBaseConstructor

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

Tip 1. argumenta setErrorMessage.

Napomene

  • Zadani lang je "en". Prebacite s setGlobalConfig({ lang })
  • Nema normalizacije kodova ni lanca zamjene (npr. en-US → en). Neregistrirani jezici daju zadanu poruku

Je li vam ova stranica bila korisna?