flow-typed/npm/moment_v2.x.x.js
// flow-typed signature: b8d2d85f70b82d72377cf60c3606a2d9
// flow-typed version: 0cd8e983b3/moment_v2.x.x/flow_>=v0.25.x
type moment$MomentOptions = {
y?: number | string,
year?: number | string,
years?: number | string,
M?: number | string,
month?: number | string,
months?: number | string,
d?: number | string,
day?: number | string,
days?: number | string,
date?: number | string,
h?: number | string,
hour?: number | string,
hours?: number | string,
m?: number | string,
minute?: number | string,
minutes?: number | string,
s?: number | string,
second?: number | string,
seconds?: number | string,
ms?: number | string,
millisecond?: number | string,
milliseconds?: number | string
};
type moment$MomentObject = {
years: number,
months: number,
date: number,
hours: number,
minutes: number,
seconds: number,
milliseconds: number
};
type moment$MomentCreationData = {
input: string,
format: string,
locale: Object,
isUTC: boolean,
strict: boolean
};
type moment$CalendarFormat = string | ((moment: moment$Moment) => string);
type moment$CalendarFormats = {
sameDay?: moment$CalendarFormat,
nextDay?: moment$CalendarFormat,
nextWeek?: moment$CalendarFormat,
lastDay?: moment$CalendarFormat,
lastWeek?: moment$CalendarFormat,
sameElse?: moment$CalendarFormat
};
type moment$Inclusivity = "()" | "[)" | "()" | "(]" | "[]";
declare class moment$LocaleData {
months(moment: moment$Moment): string;
monthsShort(moment: moment$Moment): string;
monthsParse(month: string): number;
weekdays(moment: moment$Moment): string;
weekdaysShort(moment: moment$Moment): string;
weekdaysMin(moment: moment$Moment): string;
weekdaysParse(weekDay: string): number;
longDateFormat(dateFormat: string): string;
isPM(date: string): boolean;
meridiem(hours: number, minutes: number, isLower: boolean): string;
calendar(
key:
| "sameDay"
| "nextDay"
| "lastDay"
| "nextWeek"
| "prevWeek"
| "sameElse",
moment: moment$Moment
): string;
relativeTime(
number: number,
withoutSuffix: boolean,
key: "s" | "m" | "mm" | "h" | "hh" | "d" | "dd" | "M" | "MM" | "y" | "yy",
isFuture: boolean
): string;
pastFuture(diff: any, relTime: string): string;
ordinal(number: number): string;
preparse(str: string): any;
postformat(str: string): any;
week(moment: moment$Moment): string;
invalidDate(): string;
firstDayOfWeek(): number;
firstDayOfYear(): number;
}
declare class moment$MomentDuration {
humanize(suffix?: boolean): string;
milliseconds(): number;
asMilliseconds(): number;
seconds(): number;
asSeconds(): number;
minutes(): number;
asMinutes(): number;
hours(): number;
asHours(): number;
days(): number;
asDays(): number;
months(): number;
asWeeks(): number;
weeks(): number;
asMonths(): number;
years(): number;
asYears(): number;
add(value: number | moment$MomentDuration | Object, unit?: string): this;
subtract(value: number | moment$MomentDuration | Object, unit?: string): this;
as(unit: string): number;
get(unit: string): number;
toJSON(): string;
toISOString(): string;
isValid(): boolean;
}
declare class moment$Moment {
static ISO_8601: string;
static (string?: ?string): moment$Moment;
static (
initDate:
| moment$MomentOptions
| number
| Date
| Array<number>
| moment$Moment
| string
| null
| void
| []
| {}
): moment$Moment;
static (array: []): moment$Moment;
static (object: {}): moment$Moment;
static (string: ?string, format: string | Array<string>): moment$Moment;
static (
string: ?string,
format: string | Array<string>,
strict: boolean
): moment$Moment;
static (
string: ?string,
format: string | Array<string>,
locale: string
): moment$Moment;
static (
string: ?string,
format: string | Array<string>,
locale: string,
strict: boolean
): moment$Moment;
static unix(seconds: number): moment$Moment;
static utc(): moment$Moment;
static utc(
initDate:
| moment$MomentOptions
| number
| Date
| Array<number>
| moment$Moment
| string
| null
| void
): moment$Moment;
static utc(string: string, format: string | Array<string>): moment$Moment;
static utc(
string: string,
format: string | Array<string>,
strict: boolean
): moment$Moment;
static utc(
string: string,
format: string | Array<string>,
locale: string
): moment$Moment;
static utc(
string: string,
format: string | Array<string>,
locale: string,
strict: boolean
): moment$Moment;
static parseZone(): moment$Moment;
static parseZone(rawDate: string | null | void): moment$Moment;
static parseZone(
rawDate: string,
format: string | Array<string>
): moment$Moment;
static parseZone(
rawDate: string,
format: string | Array<string>,
strict: boolean
): moment$Moment;
static parseZone(
rawDate: string,
format: string | Array<string>,
locale: string
): moment$Moment;
static parseZone(
rawDate: string,
format: string | Array<string>,
locale: string,
strict: boolean
): moment$Moment;
isValid(): boolean;
invalidAt(): 0 | 1 | 2 | 3 | 4 | 5 | 6;
creationData(): moment$MomentCreationData;
millisecond(number: number): this;
milliseconds(number: number): this;
millisecond(): number;
milliseconds(): number;
second(number: number): this;
seconds(number: number): this;
second(): number;
seconds(): number;
minute(number: number): this;
minutes(number: number): this;
minute(): number;
minutes(): number;
hour(number: number): this;
hours(number: number): this;
hour(): number;
hours(): number;
date(number: number): this;
dates(number: number): this;
date(): number;
dates(): number;
day(day: number | string): this;
days(day: number | string): this;
day(): number;
days(): number;
weekday(number: number): this;
weekday(): number;
isoWeekday(day: number | string): this;
isoWeekday(): number;
dayOfYear(day: number): this;
dayOfYear(): number;
week(number: number): this;
weeks(number: number): this;
week(): number;
weeks(): number;
isoWeek(number: number): this;
isoWeeks(number: number): this;
isoWeek(): number;
isoWeeks(): number;
month(number: number): this;
months(number: number): this;
month(): number;
months(): number;
quarter(number: number): this;
quarter(): number;
year(number: number): this;
years(number: number): this;
year(): number;
years(): number;
weekYear(number: number): this;
weekYear(): number;
isoWeekYear(number: number): this;
isoWeekYear(): number;
weeksInYear(): number;
isoWeeksInYear(): number;
get(string: string): number;
set(unit: string, value: number): this;
set(options: { [unit: string]: number }): this;
static max(...dates: Array<moment$Moment>): moment$Moment;
static max(dates: Array<moment$Moment>): moment$Moment;
static min(...dates: Array<moment$Moment>): moment$Moment;
static min(dates: Array<moment$Moment>): moment$Moment;
add(
value: number | moment$MomentDuration | moment$Moment | Object,
unit?: string
): this;
subtract(
value: number | moment$MomentDuration | moment$Moment | string | Object,
unit?: string
): this;
startOf(unit: string): this;
endOf(unit: string): this;
local(): this;
utc(): this;
utcOffset(
offset: number | string,
keepLocalTime?: boolean,
keepMinutes?: boolean
): this;
utcOffset(): number;
format(format?: string): string;
fromNow(removeSuffix?: boolean): string;
from(
value: moment$Moment | string | number | Date | Array<number>,
removePrefix?: boolean
): string;
toNow(removePrefix?: boolean): string;
to(
value: moment$Moment | string | number | Date | Array<number>,
removePrefix?: boolean
): string;
calendar(refTime?: any, formats?: moment$CalendarFormats): string;
diff(
date: moment$Moment | string | number | Date | Array<number>,
format?: string,
floating?: boolean
): number;
valueOf(): number;
unix(): number;
daysInMonth(): number;
toDate(): Date;
toArray(): Array<number>;
toJSON(): string;
toISOString(keepOffset?: boolean): string;
toObject(): moment$MomentObject;
isBefore(
date?: moment$Moment | string | number | Date | Array<number>,
units?: ?string
): boolean;
isSame(
date?: moment$Moment | string | number | Date | Array<number>,
units?: ?string
): boolean;
isAfter(
date?: moment$Moment | string | number | Date | Array<number>,
units?: ?string
): boolean;
isSameOrBefore(
date?: moment$Moment | string | number | Date | Array<number>,
units?: ?string
): boolean;
isSameOrAfter(
date?: moment$Moment | string | number | Date | Array<number>,
units?: ?string
): boolean;
isBetween(
from: moment$Moment | string | number | Date | Array<number>,
to: moment$Moment | string | number | Date | Array<number>,
units?: string,
inclusivity?: moment$Inclusivity
): boolean;
isDST(): boolean;
isDSTShifted(): boolean;
isLeapYear(): boolean;
clone(): moment$Moment;
static isMoment(obj: any): boolean;
static isDate(obj: any): boolean;
static updateLocale(locale: string, localeData?: ?Object): void;
static defineLocale(locale: string, localeData?: ?Object): void;
static locale(locale?: string, localeData?: Object): string;
static locale(locales: Array<string>): string;
locale(locale: string, customization?: Object | null): moment$Moment;
locale(): string;
static months(): Array<string>;
static monthsShort(): Array<string>;
static weekdays(): Array<string>;
static weekdaysShort(): Array<string>;
static weekdaysMin(): Array<string>;
static months(): string;
static monthsShort(): string;
static weekdays(): string;
static weekdaysShort(): string;
static weekdaysMin(): string;
static localeData(key?: string): moment$LocaleData;
static duration(
value: number | Object | string,
unit?: string
): moment$MomentDuration;
static isDuration(obj: any): boolean;
static normalizeUnits(unit: string): string;
static invalid(object: any): moment$Moment;
}
declare module "moment" {
declare module.exports: Class<moment$Moment>;
}