diff --git a/moment/moment-tests.ts b/moment/moment-tests.ts index 684c91e3f9..7f11c50076 100644 --- a/moment/moment-tests.ts +++ b/moment/moment-tests.ts @@ -164,62 +164,6 @@ localLang.lang('fr'); localLang.format('LLLL'); globalLang.format('LLLL'); -moment.months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; -moment.monthsShort = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; -moment.weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; -moment.weekdaysShort = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; -moment.weekdaysMin = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]; -moment.longDateFormat = { - LT: "h:mm A", - L: "MM/DD/YYYY", - LL: "MMMM D YYYY", - LLL: "MMMM D YYYY LT", - LLLL: "dddd, MMMM D YYYY LT" -}; -moment.relativeTime = { - future: "in %s", - past: "%s ago", - s: "seconds", - m: "a minute", - mm: "%d minutes", - h: "an hour", - hh: "%d hours", - d: "a day", - dd: "%d days", - M: "a month", - MM: "%d months", - y: "a year", - yy: "%d years" -}; -moment.meridiem = function (hour, minute, isLower) { - if (hour < 9) { - return "??"; - } else if (hour < 11 && minute < 30) { - return "??"; - } else if (hour < 13 && minute < 30) { - return "??"; - } else if (hour < 18) { - return "??"; - } else { - return "??"; - } -}; -moment.calendar = { - lastDay : '[Yesterday at] LT', - sameDay : '[Today at] LT', - nextDay : '[Tomorrow at] LT', - lastWeek : '[last] dddd [at] LT', - nextWeek : 'dddd [at] LT', - sameElse : 'L' -}; -moment.ordinal = function (number) { - var b = number % 10; - return (~~ (number % 100 / 10) === 1) ? 'th' : - (b === 1) ? 'st' : - (b === 2) ? 'nd' : - (b === 3) ? 'rd' : 'th'; -}; - moment.duration(100); moment.duration(2, 'seconds'); moment.duration({ @@ -239,6 +183,65 @@ moment.duration(500).asSeconds(); moment.duration().minutes(); moment.duration().asMinutes(); +// Defining a custom language: +moment.lang('en', { + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + weekdays: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + weekdaysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + longDateFormat: { + LT: "h:mm A", + L: "MM/DD/YYYY", + LL: "MMMM D YYYY", + LLL: "MMMM D YYYY LT", + LLLL: "dddd, MMMM D YYYY LT" + }, + relativeTime: { + future: "in %s", + past: "%s ago", + s: "seconds", + m: "a minute", + mm: "%d minutes", + h: "an hour", + hh: "%d hours", + d: "a day", + dd: "%d days", + M: "a month", + MM: "%d months", + y: "a year", + yy: "%d years" + }, + meridiem: function (hour, minute, isLower) { + if (hour < 9) { + return "??"; + } else if (hour < 11 && minute < 30) { + return "??"; + } else if (hour < 13 && minute < 30) { + return "??"; + } else if (hour < 18) { + return "??"; + } else { + return "??"; + } + }, + calendar: { + lastDay: '[Yesterday at] LT', + sameDay: '[Today at] LT', + nextDay: '[Tomorrow at] LT', + lastWeek: '[last] dddd [at] LT', + nextWeek: 'dddd [at] LT', + sameElse: 'L' + }, + ordinal: function (number) { + var b = number % 10; + return (~~(number % 100 / 10) === 1) ? 'th' : + (b === 1) ? 'st' : + (b === 2) ? 'nd' : + (b === 3) ? 'rd' : 'th'; + } +}); + moment.lang('en', { months : [ "January", "February", "March", "April", "May", "June", "July", diff --git a/moment/moment.d.ts b/moment/moment.d.ts index 700a2a1c14..38bf0335f1 100644 --- a/moment/moment.d.ts +++ b/moment/moment.d.ts @@ -1,6 +1,7 @@ -// Type definitions for Moment.js 2.1.0 +// Type definitions for Moment.js 2.4.0 // Project: https://github.com/timrwood/moment // Definitions by: Michael Lakerveld +// 2.4.0 Aaron King // DefinitelyTyped: https://github.com/borisyankov/DefinitelyTyped @@ -165,6 +166,23 @@ interface Moment { lang(reset: boolean): void; lang(): string; + max(date: Date): Moment; + max(date: number): Moment; + max(date: Array): Moment; + max(date: string): Moment; + max(date: string, format: string): Moment; + max(clone: Moment): Moment; + + min(date: Date): Moment; + min(date: number): Moment; + min(date: Array): Moment; + min(date: string): Moment; + min(date: string, format: string): Moment; + min(clone: Moment): Moment; + + get(unit: string): number; + set(unit: string, value: number): Moment; + } interface MomentCalendar { @@ -229,12 +247,13 @@ interface MomentRelativeTime { interface MomentStatic { (): Moment; - (date: number): Moment; - (date: string): Moment; - (date: string, time: string): Moment; - (date: Date): Moment; - (date: string, formats: string[]): Moment; - (date: number[]): Moment; + (dateObject: Object, language?: string, strict?: boolean): Moment; + (date: number, language?: string, strict?: boolean): Moment; + (date: string, language?: string, strict?: boolean): Moment; + (date: string, format: string, language?: string, strict?: boolean): Moment; + (date: string, formats: string[], language?: string, strict?: boolean): Moment; + (date: Date, language?: string, strict?: boolean): Moment; + (date: number[], language?: string, strict?: boolean): Moment; (clone: Moment): Moment; unix(timestamp: number): Moment; @@ -244,16 +263,13 @@ interface MomentStatic { utc(array: number[]): Moment; // parse an array of numbers matching Date.UTC() parameters utc(String: string): Moment; // parse string into UTC mode utc(String1: string, String2: string): Moment; // parse a string and format into UTC mode + utc(date: Date): Moment; + utc(clone: Moment): Moment; isMoment(): boolean; isMoment(m: any): boolean; lang(language: string): any; lang(language: string, definition: MomentLanguage): any; - months: string[]; - monthsShort: string[]; - weekdays: string[]; - weekdaysShort: string[]; - weekdaysMin: string[]; longDateFormat: any; relativeTime: any; meridiem: (hour: number, minute: number, isLowercase: boolean) => string; @@ -265,39 +281,33 @@ interface MomentStatic { duration(input: MomentInput): Duration; duration(object: any): Duration; duration(): Duration; - - isBefore(b: Moment): boolean; - isBefore(b: string): boolean; - isBefore(b: Number): boolean; - isBefore(b: Date): boolean; - isBefore(b: number[]): boolean; - isBefore(b: Moment, granularity: string): boolean; - isBefore(b: String, granularity: string): boolean; - isBefore(b: Number, granularity: string): boolean; - isBefore(b: Date, granularity: string): boolean; - isBefore(b: number[], granularity: string): boolean; - - isAfter(b: Moment): boolean; - isAfter(b: string): boolean; - isAfter(b: Number): boolean; - isAfter(b: Date): boolean; - isAfter(b: number[]): boolean; - isAfter(b: Moment, granularity: string): boolean; - isAfter(b: String, granularity: string): boolean; - isAfter(b: Number, granularity: string): boolean; - isAfter(b: Date, granularity: string): boolean; - isAfter(b: number[], granularity: string): boolean; - - isSame(b: Moment): boolean; - isSame(b: string): boolean; - isSame(b: Number): boolean; - isSame(b: Date): boolean; - isSame(b: number[]): boolean; - isSame(b: Moment, granularity: string): boolean; - isSame(b: String, granularity: string): boolean; - isSame(b: Number, granularity: string): boolean; - isSame(b: Date, granularity: string): boolean; - isSame(b: number[], granularity: string): boolean; + + parseZone(date: string): Moment; + + months(): string[]; + months(index: number): string; + months(format: string): string[]; + months(format: string, index: number): string; + monthsShort(): string[]; + monthsShort(index: number): string; + monthsShort(format: string): string[]; + monthsShort(format: string, index: number): string; + weekdays(): string[]; + weekdays(index: number): string; + weekdays(format: string): string[]; + weekdays(format: string, index: number): string; + weekdaysShort(): string[]; + weekdaysShort(index: number): string; + weekdaysShort(format: string): string[]; + weekdaysShort(format: string, index: number): string; + weekdaysMin(): string[]; + weekdaysMin(index: number): string; + weekdaysMin(format: string): string[]; + weekdaysMin(format: string, index: number): string; + + normalizeUnits(unit: string): string; + + invalid(parsingFlags?: Object): Moment; } declare var moment: MomentStatic;