gnjs.a() bug

by toubia95

JavaScript

var gnjs=function(){"use strict";var e={m:[" janvier "," février "," mars "," avril "," mai "," juin "," juillet "," août "," septembre "," octobre "," novembre "," décembre "]},t=function(e,t,n){return new Date(n,t-1,e)},n=function(t,n){return t instanceof Date?void 0===n?t.getDate()+e.m[t.getMonth()]+(t.getYear()+1900):t.getDate()+n+(t.getMonth()+1)+n+(t.getYear()+1900):void 0},a=function(e,t){return e instanceof Date&&isFinite(parseInt(t,10))?{s:new Date(e.getYear()-1-t,e.getMonth(),e.getDate()+1),e:new Date(e.getYear()+1-t,e.getMonth(),e.getDate()-1),y:parseInt(e.getYear()+1900-t,10)}:void 0},r=function(e,t){return e instanceof Date&&t instanceof Date?{s:e>t?t:e,e:e>t?e:t,l:Math.round(Math.abs((t-e)/864e5)+1)}:void 0},i=function(e,t){var n,a,r;return e&&t&&e.s instanceof Date&&e.e instanceof Date&&t.s instanceof Date&&t.e instanceof Date&&(e.e<t.s||e.s>t.e?n={l:0}:(a=new Date(Math.max(e.s,t.s)),r=new Date(Math.min(e.e,t.e)),n=this.p(a,r))),n};return{c:e,d:t,df:n,a:a,p:r,po:i}}();

var date1 = gnjs.d(20, 4, 2015); 
console.log(date1); // Date {Mon Apr 20 2015 00:00:00 GMT+0200 (CEST)}
var date2 = gnjs.d(22, 4, 2013);
console.log(date2); // Date {Mon Apr 22 2013 00:00:00 GMT+0200 (CEST)}
var date3 = gnjs.d(21, 8, 2016);
console.log(date3); // Date {Thu Apr 21 2016 00:00:00 GMT+0200 (CEST)}
var periode1 = gnjs.p(date1, date2);
console.log(periode1.s); // Date {Mon Apr 22 2013 00:00:00 GMT+0200 (CEST)}
console.log(periode1.e); // Date {Mon Apr 20 2015 00:00:00 GMT+0200 (CEST)}
console.log(periode1.l); // 729
var acte = gnjs.a(date3, 2);
console.log(acte.s); // Date {Sat Apr 22 0113 00:00:00 GMT+0200 (CET)}
console.log(acte.e); // Date {Sat Apr 20 0115 00:00:00 GMT+0100 (CET)}
console.log(acte.y); // 2014
var date4 = gnjs.d(22, 8, 2013);
console.log(date4); // Date {Thu Aug 22 2013 00:00:00 GMT+0200 (CEST)}
var date5 = gnjs.d(20, 8, 2015);
console.log(date5); // Date {Thu Aug 20 2015 00:00:00 GMT+0200 (CEST)}
var periode2 = gnjs.p(date4,...