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 } आदि)। |
समाधान क्रम
getGlobalConfig()काlangप्राप्त करता है (सेट न होने पर"en")- उस वर्ग और भाषा के पंजीकृत फ़ंक्शन को
metaसहित चलाता है - अपंजीकृत होने पर डिफ़ॉल्ट संदेश का उपयोग करता है
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) नहीं है। अपंजीकृत भाषाएँ डिफ़ॉल्ट संदेश बनती हैं