Spring til indhold
i18n-error-base
Dansk
Esc
↑↓navigér↵åbn⌘Jforhåndsvis
På denne side

API-reference

Specifikationer for I18nErrorBase, setErrorMessage og relaterede typer.

I18nErrorBase

En basisklasse til nedarvning af Error. message løses efter lang.

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

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

Typeparametre

Prop Type Default Description
TMeta ErrorMeta | undefined ErrorMeta | undefined Typen for meta. Angiv undefined, når den ikke bruges.

Statiske egenskaber

Prop Type Default Description
prefix? string undefined Sættes foran den løste meddelelse.

Instansegenskaber

Prop Type Description
meta TMeta Hjælpeinfo fra konstruktøren. Kan læses og skrives.
message string Løses efter lang. Kan optælles.
cause unknown Årsagen fra ErrorOptions. En standard Error-egenskab.

Konstruktør

Når TMeta ikke omfatter undefined, er meta påkrævet.

new MyError(meta, message, options?)

Når TMeta er undefined, kan meta udelades.

new MyError(message, options?)
new MyError(meta, message, options?)
Parameter Type Description
meta TMeta Hjælpeinfo til meddelelsesgenerering.
message string | MessageFactory<TMeta> Standardmeddelelsen for sprog uden registrering. Funktioner modtager meta.
options ErrorOptions Indstillinger kompatible med det andet argument til Error (f.eks. { cause }).

Opløsningsrækkefølge

  1. Henter lang fra getGlobalConfig() ("en", når den ikke er angivet)
  2. Kører den registrerede funktion for den klasse og det sprog med meta
  3. Når uregistreret, bruges standardmeddelelsen
  4. Hvis static prefix er angivet, sættes det foran

setErrorMessage

Registrerer meddelelsesfunktioner pr. sprog.

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

setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
Parameter Type Description
reference I18nErrorBaseConstructor En klasse, der nedarver I18nErrorBase. Klasser uden nedarvning giver en typefejl.
message string | (meta) => string Meddelelsen, der skal registreres. meta udledes fra målklassen.
lang string | Iterable<string> Målsproget. En enkelt kode eller et itererbart objekt (f.eks. en matrix).

Genregistrering af samme klasse og sprog overskriver.

Typer

ErrorMeta

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

Standardbegrænsningen for TMeta. Et skrivebeskyttet objekt med vilkårlige egenskaber.

ErrorOptions

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

En type udledt fra det andet argument til Error. Du kan sende cause.

MessageFactory<TMeta>

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

En funktion, der laver en meddelelse ud fra meta. Bruges til både standard- og registrerede meddelelser.

I18nErrorBaseParams<TMeta>

Konstruktørargumenternes overloads.

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

Udelad kun meta, når TMeta er undefined.

I18nErrorBaseConstructor

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

Typen for det første argument til setErrorMessage.

Noter

  • Standard-lang er "en". Skift den eksplicit med setGlobalConfig({ lang })
  • Ingen normalisering af sprogkoder eller fallback-kæde (f.eks. en-US til en). Uregistrerede sprog bruger standardmeddelelsen

Var denne side nyttig?