moment-range
Advanced tools
Comparing version 2.0.3 to 2.1.0
{ | ||
"name": "moment-range", | ||
"version": "2.0.3", | ||
"version": "2.1.0", | ||
"main": "./dist/moment-range.js", | ||
@@ -5,0 +5,0 @@ "ignore": [ |
@@ -72,4 +72,4 @@ (function (root, factory) { | ||
this.start = moment(s); | ||
this.end = moment(e); | ||
this.start = (s === null) ? moment(-8640000000000000) : moment(s); | ||
this.end = (e === null) ? moment(8640000000000000) : moment(e); | ||
} | ||
@@ -76,0 +76,0 @@ |
@@ -1,1 +0,1 @@ | ||
!function(a,b){"function"==typeof define&&define.amd?define(["moment"],function(c){return a.DateRange=b(c)}):"object"==typeof exports?module.exports=b(require("moment")):a.DateRange=b(moment)}(this,function(a){function b(b,c){var d,e=b,f=c;(1===arguments.length||void 0===c)&&("object"==typeof b&&2===b.length?(e=b[0],f=b[1]):"string"==typeof b&&(d=b.split("/"),e=d[0],f=d[1])),this.start=a(e),this.end=a(f)}function c(b,c,d){for(var e=a(this.start);this.contains(e,d);)c.call(this,e.clone()),e.add(1,b)}function d(b,c,d){var e=this/b,f=Math.floor(e);if(f!==1/0){f===e&&d&&f--;for(var g=0;f>=g;g++)c.call(this,a(this.start.valueOf()+b.valueOf()*g))}}var e={year:!0,month:!0,week:!0,day:!0,hour:!0,minute:!0,second:!0};return b.prototype.constructor=b,b.prototype.clone=function(){return a().range(this.start,this.end)},b.prototype.contains=function(a,c){var d=this.start,e=this.end;return a instanceof b?d<=a.start&&(e>a.end||e.isSame(a.end)&&!c):a>=d&&(e>a||e.isSame(a)&&!c)},b.prototype.overlaps=function(a){return null!==this.intersect(a)},b.prototype.intersect=function(a){var c=this.start,d=this.end;return c<=a.start&&a.start<d&&d<a.end?new b(a.start,d):a.start<c&&c<a.end&&a.end<=d?new b(c,a.end):a.start<c&&d>=c&&d<a.end?this:c<=a.start&&a.start<=a.end&&a.end<=d?a:null},b.prototype.add=function(c){return this.overlaps(c)?new b(a.min(this.start,c.start),a.max(this.end,c.end)):null},b.prototype.subtract=function(a){var c=this.start,d=this.end;return null===this.intersect(a)?[this]:a.start<=c&&d>c&&d<=a.end?[]:a.start<=c&&c<a.end&&a.end<d?[new b(a.end,d)]:c<a.start&&a.start<d&&d<=a.end?[new b(c,a.start)]:c<a.start&&a.start<a.end&&a.end<d?[new b(c,a.start),new b(a.end,d)]:c<a.start&&a.start<d&&a.end<d?[new b(c,a.start),new b(a.start,d)]:void 0},b.prototype.by=function(a,b,e){return"string"==typeof a?c.call(this,a,b,e):d.call(this,a,b,e),this},b.prototype.toString=function(){return this.start.format()+"/"+this.end.format()},b.prototype.valueOf=function(){return this.end-this.start},b.prototype.center=function(){var b=this.start+this.diff()/2;return a(b)},b.prototype.toDate=function(){return[this.start.toDate(),this.end.toDate()]},b.prototype.isSame=function(a){return this.start.isSame(a.start)&&this.end.isSame(a.end)},b.prototype.diff=function(a){return this.end.diff(this.start,a)},a.range=function(c,d){return c in e?new b(a(this).startOf(c),a(this).endOf(c)):new b(c,d)},a.range.constructor=b,a.fn.range=a.range,a.fn.within=function(a){return a.contains(this._d)},b}); | ||
!function(a,b){"function"==typeof define&&define.amd?define(["moment"],function(c){return a.DateRange=b(c)}):"object"==typeof exports?module.exports=b(require("moment")):a.DateRange=b(moment)}(this,function(a){function b(b,c){var d,e=b,f=c;(1===arguments.length||void 0===c)&&("object"==typeof b&&2===b.length?(e=b[0],f=b[1]):"string"==typeof b&&(d=b.split("/"),e=d[0],f=d[1])),this.start=a(null===e?-864e13:e),this.end=a(null===f?864e13:f)}function c(b,c,d){for(var e=a(this.start);this.contains(e,d);)c.call(this,e.clone()),e.add(1,b)}function d(b,c,d){var e=this/b,f=Math.floor(e);if(f!==1/0){f===e&&d&&f--;for(var g=0;f>=g;g++)c.call(this,a(this.start.valueOf()+b.valueOf()*g))}}var e={year:!0,month:!0,week:!0,day:!0,hour:!0,minute:!0,second:!0};return b.prototype.constructor=b,b.prototype.clone=function(){return a().range(this.start,this.end)},b.prototype.contains=function(a,c){var d=this.start,e=this.end;return a instanceof b?d<=a.start&&(e>a.end||e.isSame(a.end)&&!c):a>=d&&(e>a||e.isSame(a)&&!c)},b.prototype.overlaps=function(a){return null!==this.intersect(a)},b.prototype.intersect=function(a){var c=this.start,d=this.end;return c<=a.start&&a.start<d&&d<a.end?new b(a.start,d):a.start<c&&c<a.end&&a.end<=d?new b(c,a.end):a.start<c&&d>=c&&d<a.end?this:c<=a.start&&a.start<=a.end&&a.end<=d?a:null},b.prototype.add=function(c){return this.overlaps(c)?new b(a.min(this.start,c.start),a.max(this.end,c.end)):null},b.prototype.subtract=function(a){var c=this.start,d=this.end;return null===this.intersect(a)?[this]:a.start<=c&&d>c&&d<=a.end?[]:a.start<=c&&c<a.end&&a.end<d?[new b(a.end,d)]:c<a.start&&a.start<d&&d<=a.end?[new b(c,a.start)]:c<a.start&&a.start<a.end&&a.end<d?[new b(c,a.start),new b(a.end,d)]:c<a.start&&a.start<d&&a.end<d?[new b(c,a.start),new b(a.start,d)]:void 0},b.prototype.by=function(a,b,e){return"string"==typeof a?c.call(this,a,b,e):d.call(this,a,b,e),this},b.prototype.toString=function(){return this.start.format()+"/"+this.end.format()},b.prototype.valueOf=function(){return this.end-this.start},b.prototype.center=function(){var b=this.start+this.diff()/2;return a(b)},b.prototype.toDate=function(){return[this.start.toDate(),this.end.toDate()]},b.prototype.isSame=function(a){return this.start.isSame(a.start)&&this.end.isSame(a.end)},b.prototype.diff=function(a){return this.end.diff(this.start,a)},a.range=function(c,d){return c in e?new b(a(this).startOf(c),a(this).endOf(c)):new b(c,d)},a.range.constructor=b,a.fn.range=a.range,a.fn.within=function(a){return a.contains(this._d)},b}); |
@@ -56,4 +56,4 @@ //----------------------------------------------------------------------------- | ||
this.start = moment(s); | ||
this.end = moment(e); | ||
this.start = (s === null) ? moment(-8640000000000000) : moment(s); | ||
this.end = (e === null) ? moment(8640000000000000) : moment(e); | ||
} | ||
@@ -60,0 +60,0 @@ |
@@ -24,3 +24,3 @@ { | ||
}, | ||
"version": "2.0.3", | ||
"version": "2.1.0", | ||
"engines": { | ||
@@ -44,2 +44,3 @@ "node": "*" | ||
"mocha": "^2.1.0", | ||
"moment": ">= 1", | ||
"should": "^5.0.1" | ||
@@ -46,0 +47,0 @@ }, |
@@ -67,2 +67,17 @@ # moment-range | ||
You can also create a range from the start until the end of a named interval: | ||
``` javascript | ||
var date = moment("2011-04-15", "YYYY-MM-DD"); | ||
var range = date.range("month"); | ||
``` | ||
You can also create open-ended ranges which go to the earliest or latest possible date: | ||
``` javascript | ||
var rangeUntil = moment.range(null, "2011-05-05"); | ||
var rangeFrom = moment.range("2011-03-05", null); | ||
var rangeAllTime = moment.range(null, null); | ||
``` | ||
### Contains / Within / Overlaps / Intersect / Add / Subtract | ||
@@ -296,3 +311,3 @@ | ||
``` sh | ||
npm install moment-range --save-dev | ||
npm install moment-range | ||
``` | ||
@@ -299,0 +314,0 @@ |
@@ -14,2 +14,4 @@ /* jshint node: true, maxlen: 200, -W030 */ | ||
var mEnd = moment('2011-06-05', 'YYYY-MM-DD'); | ||
var or = moment.range(null, '2011-05-05'); | ||
var or2 = moment.range('2011-03-05', null); | ||
@@ -34,2 +36,6 @@ describe('#range()', function() { | ||
m2.within(dr).should.be.false; | ||
m1.within(or).should.be.true; | ||
m1.within(or2).should.be.true; | ||
m2.within(or).should.be.false; | ||
m2.within(or2).should.be.true; | ||
}); | ||
@@ -93,2 +99,12 @@ | ||
}); | ||
it('should allow initialization with open-ended ranges', function() { | ||
var dr = moment.range(null, m1); | ||
moment.isMoment(dr.start).should.be.true; | ||
dr = moment.range(m1, null); | ||
moment.isMoment(dr.end).should.be.true; | ||
}); | ||
@@ -95,0 +111,0 @@ it('should allow initialization without any arguments', function() { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
57443
1282
374
11