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];
শুধু TMeta undefined হলেই meta-বিহীন রূপ অনুমোদিত।
I18nErrorBaseConstructor
interface I18nErrorBaseConstructor {
new (...args: any): I18nErrorBase;
}
setErrorMessage-এর ১ম আর্গুমেন্টের টাইপ।
পরিপূরক
lang-এর ডিফল্ট মান"en"।setGlobalConfig({ lang })দিয়ে স্পষ্টভাবে বদলান- ভাষা কোড স্বাভাবিককরণ বা ফলব্যাক চেইন নেই (যেমন
en-US→en)। অনিবন্ধিত ভাষা ডিফল্ট বার্তা হয়