Merge pull request #5182 from Burgov/moment-range

definitions for moment-range
This commit is contained in:
Masahiro Wakame
2015-08-04 00:22:59 +09:00
2 changed files with 103 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
/// <reference path="moment-range.d.ts" />
var range: moment.Range = moment.range(new Date(2012, 0, 15), new Date(2012, 4, 23));
var range2: moment.Range = moment.range(moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD"));
var range3: moment.Range = moment.range([moment("2011-04-15", "YYYY-MM-DD"), moment("2011-11-27", "YYYY-MM-DD")]);
var range4: moment.Range = moment.range("2015-01-17T09:50:04+00:00/2015-04-17T08:29:55+00:00");
var date: moment.Moment = moment('2012-05- 15');
var res1: boolean = range.contains(date);
var res2: boolean = range.contains(date, false);
var res3: boolean = range.contains(date, true);
var res4: boolean = date.within(range);
var res5: boolean = range.overlaps(range2);
var res6: moment.Range = range.intersect(range2);
var res7: moment.Range = range.add(range2);
var res8: Array<moment.Range> = range.subtract(range2);
range.by('days', (moment: moment.Moment) => { });
range.by(range2, (moment: moment.Moment) => { });
range.by('d', (moment: moment.Moment) => { }, true);
var res9: boolean = range.isSame(range2);
var res10: number = range.diff('months');
var res11: number = range.diff('days');
var res12: number = range.diff();
var res13: Date = range.toDate();
var res14: string = range.toString();
var res15: number = range.valueOf();
var res16: number = range.center();
var res17: moment.Range = range.clone();
var res18: moment.Moment = range.start;
var res19: moment.Moment = range.end;
+59
View File
@@ -0,0 +1,59 @@
// Type definitions for Moment.js 2.0.3
// Project: https://github.com/gf3/moment-range
// Definitions by: Bart van den Burg <https://github.com/Burgov>, Wilgert Velinga <https://github.com/wilgert>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../moment/moment.d.ts" />
declare module moment {
interface Moment {
within (x: Range): boolean;
}
interface MomentStatic {
range(range: string): Range;
range(range: Date[]): Range;
range(range: Moment[]): Range;
range(start: Date, end: Date): Range;
range(start: Moment, end: Moment): Range;
}
interface Range {
start: Moment;
end: Moment;
contains (other: Date, exclusive?: boolean): boolean;
contains (other: Moment, exclusive?: boolean): boolean;
overlaps (range: Range): boolean;
intersect (other: Range): Range;
add (other: Range): Range;
subtract (other: Range): Range[];
by (range: string, hollaback: (current: Moment) => void, exclusive?: boolean): void;
by (range: Range, hollaback: (current: Moment) => void, exclusive?: boolean): void;
isSame (other: Range): boolean;
diff (unit?: string): number;
toDate (): Date;
toString (): string;
valueOf (): number;
center (): number;
clone (): Range;
}
}