বিষয়বস্তুতে যান
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];

শুধু TMeta undefined হলেই meta-বিহীন রূপ অনুমোদিত।

I18nErrorBaseConstructor

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

setErrorMessage-এর ১ম আর্গুমেন্টের টাইপ।

পরিপূরক

  • lang-এর ডিফল্ট মান "en"। setGlobalConfig({ lang }) দিয়ে স্পষ্টভাবে বদলান
  • ভাষা কোড স্বাভাবিককরণ বা ফলব্যাক চেইন নেই (যেমন en-US → en)। অনিবন্ধিত ভাষা ডিফল্ট বার্তা হয়

এই পৃষ্ঠাটি কি সহায়ক ছিল?