सामग्री पर जाएँ
i18n-error-base
हिन्दी
Esc
↑↓नेविगेट↵खोलें⌘Jप्रीव्यू
इस पेज पर

API संदर्भ

I18nErrorBase, setErrorMessage तथा संबंधित प्रकारों की विशिष्टता।

I18nErrorBase

Error को विस्तारित करने के लिए आधार वर्ग है। message lang के अनुसार हल होता है।

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

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

प्रकार पैरामीटर

Prop Type Default Description
TMeta ErrorMeta | undefined ErrorMeta | undefined meta का प्रकार। उपयोग न करने पर undefined निर्दिष्ट करें।

स्थैतिक गुण

Prop Type Default Description
prefix? string undefined हल किए गए संदेश की शुरुआत में जोड़ा जाता है।

इंस्टेंस गुण

Prop Type Description
meta TMeta कंस्ट्रक्टर की सहायक जानकारी। पठनीय और लेखनीय है।
message string वर्तमान lang के अनुसार हल होता है। गणनीय है।
cause unknown ErrorOptions से दिया गया कारण। Error का मानक गुण है।

कंस्ट्रक्टर

TMeta में undefined शामिल न होने पर, meta आवश्यक है।

new MyError(meta, message, options?)

TMeta के undefined होने पर, meta छोड़ा जा सकता है।

new MyError(message, options?)
new MyError(meta, message, options?)
पैरामीटर प्रकार विवरण
meta TMeta संदेश निर्माण में उपयोग की जाने वाली सहायक जानकारी।
message string | MessageFactory<TMeta> अपंजीकृत भाषा के लिए डिफ़ॉल्ट संदेश। फ़ंक्शन होने पर meta प्राप्त करता है।
options ErrorOptions Error के दूसरे तर्क के साथ संगत विकल्प ({ cause } आदि)।

समाधान क्रम

  1. getGlobalConfig() का lang प्राप्त करता है (सेट न होने पर "en")
  2. उस वर्ग और भाषा के पंजीकृत फ़ंक्शन को meta सहित चलाता है
  3. अपंजीकृत होने पर डिफ़ॉल्ट संदेश का उपयोग करता है
  4. static prefix होने पर शुरुआत में जोड़ता है

setErrorMessage

प्रत्येक भाषा का संदेश निर्माण फ़ंक्शन पंजीकृत करता है।

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

setErrorMessage(MyError, (meta) => `...: ${meta.code}`, "ja");
पैरामीटर प्रकार विवरण
reference I18nErrorBaseConstructor I18nErrorBase को विस्तारित करने वाला वर्ग। अन्यथा प्रकार त्रुटि है।
message string | (meta) => string पंजीकृत संदेश। meta का प्रकार लक्षित वर्ग से अनुमानित होता है।
lang string | Iterable<string> लक्षित भाषा। एकल कोड या पुनरावर्तनीय वस्तु (ऐरे आदि)।

समान वर्ग・समान भाषा में पुनः पंजीकरण अधिलेखन है।

प्रकार

ErrorMeta

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

TMeta की डिफ़ॉल्ट बाध्यता है। मनमाने गुणों वाली केवल-पठनीय वस्तु।

ErrorOptions

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

Error के दूसरे तर्क से व्युत्पन्न प्रकार है। cause दिया जा सकता है।

MessageFactory<TMeta>

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

meta से संदेश बनाने वाला फ़ंक्शन है। डिफ़ॉल्ट और पंजीकृत दोनों में उपयोग होता है।

I18nErrorBaseParams<TMeta>

कंस्ट्रक्टर तर्कों के ओवरलोड।

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 केवल तभी छोड़ा जा सकता है जब TMeta undefined हो।

I18nErrorBaseConstructor

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

setErrorMessage के पहले तर्क का प्रकार है।

पूरक

  • lang का डिफ़ॉल्ट "en" है। setGlobalConfig({ lang }) से स्पष्ट रूप से बदलें
  • भाषा कोड का सामान्यीकरण या फ़ॉलबैक श्रृंखला (उदा. en-US → en) नहीं है। अपंजीकृत भाषाएँ डिफ़ॉल्ट संदेश बनती हैं

क्या यह पेज सहायक था?