@date-io/hijri
Version:
Abstraction over common javascript date management libraries
42 lines (41 loc) • 1.83 kB
TypeScript
import Moment from "moment";
import iMoment from "moment-hijri";
import DefaultMomentUtils from "@date-io/moment";
import { DateIOFormats } from "@date-io/core/IUtils";
interface Opts {
instance?: typeof iMoment;
formats?: Partial<DateIOFormats>;
}
type Moment = iMoment.Moment;
export default class MomentUtils extends DefaultMomentUtils {
moment: typeof iMoment;
lib: string;
locale?: string;
formats: DateIOFormats;
constructor({ instance, formats }?: Opts);
private toIMoment;
parse: (value: string, format: string) => Moment.Moment | null;
date<TArg extends unknown = undefined, TResultingDate extends unknown = TArg extends null ? null : TArg extends undefined ? Moment : Moment | null>(value?: TArg): TResultingDate;
isBeforeYear: (date: Moment, value: Moment) => boolean;
isAfterYear: (date: Moment, value: Moment) => boolean;
getWeek: (date: Moment) => number;
getMonth: (date: Moment) => number;
getDaysInMonth: (date: Moment) => number;
startOfYear: (date: Moment) => Moment.Moment;
endOfYear: (date: Moment) => Moment.Moment;
startOfMonth: (date: Moment) => Moment.Moment;
endOfMonth: (date: Moment) => Moment.Moment;
getNextMonth: (date: Moment) => Moment.Moment;
getPreviousMonth: (date: Moment) => Moment.Moment;
getYear: (date: Moment) => number;
setYear: (date: Moment, year: number) => Moment.Moment;
getDate: (date: Moment) => number;
setDate: (date: Moment, year: number) => Moment.Moment;
getMeridiemText: (ampm: "am" | "pm") => string;
getWeekdays: () => string[];
isEqual: (value: any, comparing: any) => boolean;
formatNumber: (num: string) => string;
getWeekArray: (date: Moment) => Moment.Moment[][];
getYearRange: (start: Moment, end: Moment) => Moment.Moment[];
}
export {};