UNPKG

@zener/nepali-date

Version:

Nepali Date is a lightweight utility designed to handle Nepali dates.

67 lines (66 loc) 2.14 kB
import { findADfromBS, findBSfromAD } from '../utils/calendar'; import { ILang, formatADDate } from '../utils/commons'; type LangReturnType<T extends ILang> = T extends 'en' ? number : string; type ADReturnType<T extends ILang> = T extends 'en' ? { year: number; month: number; date: number; toString: () => string; } : { year: string; month: string; date: string; toString: () => string; }; interface DateObject { year: number; month: number; date: number; day: number; } interface NepaliDateObject { year: string; month: string; date: string; day: string; } type IManipulateDate = 'day' | 'week' | 'month' | 'year' | 'd' | 'w' | 'm' | 'y'; declare class NepaliDate { #private; constructor(); constructor(date: string | Date | NepaliDate); constructor(year: number, monthIndex: number, date: number); format(format?: string, lang?: ILang): string; toString(lang?: ILang): string; toJson(lang?: 'en'): DateObject; toJson(lang?: 'np'): NepaliDateObject; toAD<T extends ILang = 'en'>(lang?: T): ADReturnType<T>; toADasDate(): Date; getFullYear<T extends ILang = 'en'>(lang?: T): LangReturnType<T>; getMonth<T extends ILang = 'en'>(lang?: T): LangReturnType<T>; getMonthName(lang?: ILang): string; getDate<T extends ILang = 'en'>(lang?: T): LangReturnType<T>; getDay<T extends ILang = 'en'>(lang?: T): LangReturnType<T>; getDayName(lang?: ILang): string; getDayNameFull(lang?: ILang): string; subtract(value: number, type: IManipulateDate): NepaliDate; add(value: number, type: IManipulateDate): NepaliDate; setDate(date: number): void; setMonth(month: number): void; setFullYear(year: number): void; static now(lang?: ILang): { day: number; toString: () => string; year: number; month: number; date: number; } | { year: string; month: string; date: string; day: string; toString: () => string; }; } export { findADfromBS as toAD, findBSfromAD as toBS, formatADDate }; export default NepaliDate;