bongabdo
Version:
Modern TypeScript library for converting Gregorian dates to Bengali calendar (বঙ্গাব্দ)
60 lines (53 loc) • 2.47 kB
TypeScript
interface BanglaDate {
year: number;
date: number;
month: string;
day: string;
season: string;
}
interface BongabdoOptions {
date?: Date | string;
format?: string;
showSeason?: boolean;
showWeekDays?: boolean;
convertToBanglaDigits?: boolean;
}
/**
* Convert a Gregorian date to Bengali calendar date
*/
declare function convertToBanglaDate(givenDate: Date): BanglaDate;
/**
* Format a Bengali date according to the specified format
*/
declare function formatBanglaDate(banglaDate: BanglaDate, options?: BongabdoOptions): string;
/**
* Check if a year is a leap year
*/
declare function isLeapYear(year: number): boolean;
/**
* Convert English digits to Bengali digits
*/
declare function convertToBanglaDigits(text: string): string;
/**
* Parse date input to Date object
*/
declare function parseDateInput(dateInput?: Date | string): Date;
declare const BANGLA_MONTHS: readonly ["বৈশাখ", "জ্যৈষ্ঠ", "আষাঢ়", "শ্রাবণ", "ভাদ্র", "আশ্বিন", "কার্তিক", "অগ্রহায়ণ", "পৌষ", "মাঘ", "ফাল্গুন", "চৈত্র"];
declare const WEEK_DAYS: readonly ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"];
declare const BANGLA_SEASONS: readonly ["গ্রীষ্ম", "বর্ষা", "শরৎ", "হেমন্ত", "শীত", "বসন্ত"];
declare const TOTAL_MONTH_DAYS: readonly [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30];
declare const BANGLA_DIGITS: Record<string, string>;
declare const DEFAULT_FORMAT = "DD MM, YY";
/**
* Main function to convert a Gregorian date to Bengali calendar format
*/
declare function bongabdo(dateInput?: Date | string, options?: BongabdoOptions): string;
/**
* Get raw Bengali date object without formatting
*/
declare function getBanglaDate(dateInput?: Date | string): BanglaDate;
/**
* Format an existing Bengali date object
*/
declare function formatBanglaDateOnly(banglaDate: BanglaDate, options?: BongabdoOptions): string;
export { BANGLA_DIGITS, BANGLA_MONTHS, BANGLA_SEASONS, type BanglaDate, type BongabdoOptions, DEFAULT_FORMAT, TOTAL_MONTH_DAYS, WEEK_DAYS, bongabdo, convertToBanglaDate, convertToBanglaDigits, formatBanglaDate, formatBanglaDateOnly, getBanglaDate, isLeapYear, parseDateInput };