vega-time 2.1.1 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -113,12 +113,11 @@
113
113
  if (step < 0) while (++step <= 0) {
114
114
  while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty
115
115
  } else while (--step >= 0) {
116
- while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty
116
+ while (offseti(date, 1), !test(date)) {} // eslint-disable-line no-empty
117
117
  }
118
118
  }
119
119
  });
120
120
  };
121
-
122
121
  if (count) {
123
122
  interval.count = (start, end) => {
124
123
  t0$1.setTime(+start), t1.setTime(+end);
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-util")):"function"==typeof define&&define.amd?define(["exports","vega-util"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vega={},e.vega)}(this,(function(e,t){"use strict";const n="year",r="quarter",o="month",u="week",s="date",a="day",i="dayofyear",l="hours",c="minutes",g="seconds",f="milliseconds",T=[n,r,o,u,s,a,i,l,c,g,f],h=T.reduce(((e,t,n)=>(e[t]=1+n,e)),{});function M(e){const n=t.array(e).slice(),l={};n.length||t.error("Missing time unit."),n.forEach((e=>{t.hasOwnProperty(h,e)?l[e]=1:t.error(`Invalid time unit: ${e}.`)}));return(l[u]||l[a]?1:0)+(l[r]||l[o]||l[s]?1:0)+(l[i]?1:0)>1&&t.error(`Incompatible time units: ${e}`),n.sort(((e,t)=>h[e]-h[t])),n}const U={[n]:"%Y ",[r]:"Q%q ",[o]:"%b ",[s]:"%d ",[u]:"W%U ",[a]:"%a ",[i]:"%j ",[l]:"%H:00",[c]:"00:%M",[g]:":%S",[f]:".%L",[`${n}-${o}`]:"%Y-%m ",[`${n}-${o}-${s}`]:"%Y-%m-%d ",[`${l}-${c}`]:"%H:%M"};const C=new Date,D=new Date;function d(e,t,n,r){function o(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return o.floor=t=>(e(t=new Date(+t)),t),o.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),o.round=e=>{const t=o(e),n=o.ceil(e);return e-t<n-e?t:n},o.offset=(e,n)=>(t(e=new Date(+e),null==n?1:Math.floor(n)),e),o.range=(n,r,u)=>{const s=[];if(n=o.ceil(n),u=null==u?1:Math.floor(u),!(n<r&&u>0))return s;let a;do{s.push(a=new Date(+n)),t(n,u),e(n)}while(a<n&&n<r);return s},o.filter=n=>d((t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),((e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););})),n&&(o.count=(t,r)=>(C.setTime(+t),D.setTime(+r),e(C),e(D),Math.floor(n(C,D))),o.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?o.filter(r?t=>r(t)%e==0:t=>o.count(0,t)%e==0):o:null)),o}const m=d((()=>{}),((e,t)=>{e.setTime(+e+t)}),((e,t)=>t-e));m.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?d((t=>{t.setTime(Math.floor(t/e)*e)}),((t,n)=>{t.setTime(+t+n*e)}),((t,n)=>(n-t)/e)):m:null),m.range;const F=1e3,Y=6e4,y=60*Y,w=24*y,v=7*w,H=d((e=>{e.setTime(e-e.getMilliseconds())}),((e,t)=>{e.setTime(+e+t*F)}),((e,t)=>(t-e)/F),(e=>e.getUTCSeconds()));H.range;const S=d((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*F)}),((e,t)=>{e.setTime(+e+t*Y)}),((e,t)=>(t-e)/Y),(e=>e.getMinutes()));S.range;const p=d((e=>{e.setUTCSeconds(0,0)}),((e,t)=>{e.setTime(+e+t*Y)}),((e,t)=>(t-e)/Y),(e=>e.getUTCMinutes()));p.range;const N=d((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*F-e.getMinutes()*Y)}),((e,t)=>{e.setTime(+e+t*y)}),((e,t)=>(t-e)/y),(e=>e.getHours()));N.range;const O=d((e=>{e.setUTCMinutes(0,0,0)}),((e,t)=>{e.setTime(+e+t*y)}),((e,t)=>(t-e)/y),(e=>e.getUTCHours()));O.range;const E=d((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Y)/w),(e=>e.getDate()-1));E.range;const z=d((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/w),(e=>e.getUTCDate()-1));z.range;function I(e){return d((t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),((e,t)=>{e.setDate(e.getDate()+7*t)}),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Y)/v))}d((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/w),(e=>Math.floor(e/w))).range;const $=I(0),b=I(1),q=I(2),x=I(3),A=I(4),k=I(5),R=I(6);function j(e){return d((t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)}),((e,t)=>(t-e)/v))}$.range,b.range,q.range,x.range,A.range,k.range,R.range;const L=j(0),Q=j(1),W=j(2),B=j(3),K=j(4),P=j(5),_=j(6);L.range,Q.range,W.range,B.range,K.range,P.range,_.range;const G=d((e=>{e.setDate(1),e.setHours(0,0,0,0)}),((e,t)=>{e.setMonth(e.getMonth()+t)}),((e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())),(e=>e.getMonth()));G.range;const J=d((e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)}),((e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())),(e=>e.getUTCMonth()));J.range;const V=d((e=>{e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,t)=>{e.setFullYear(e.getFullYear()+t)}),((e,t)=>t.getFullYear()-e.getFullYear()),(e=>e.getFullYear()));V.every=e=>isFinite(e=Math.floor(e))&&e>0?d((t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n*e)})):null,V.range;const X=d((e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)}),((e,t)=>t.getUTCFullYear()-e.getUTCFullYear()),(e=>e.getUTCFullYear()));function Z(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ee(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function te(){return 0}X.every=e=>isFinite(e=Math.floor(e))&&e>0?d((t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null,X.range;const ne=Math.sqrt(50),re=Math.sqrt(10),oe=Math.sqrt(2);function ue(e,t,n){const r=(t-e)/Math.max(0,n),o=Math.floor(Math.log10(r)),u=r/Math.pow(10,o),s=u>=ne?10:u>=re?5:u>=oe?2:1;let a,i,l;return o<0?(l=Math.pow(10,-o)/s,a=Math.round(e*l),i=Math.round(t*l),a/l<e&&++a,i/l>t&&--i,l=-l):(l=Math.pow(10,o)*s,a=Math.round(e/l),i=Math.round(t/l),a*l<e&&++a,i*l>t&&--i),i<a&&.5<=n&&n<2?ue(e,t,2*n):[a,i,l]}function se(e,t,n){return ue(e=+e,t=+t,n=+n)[2]}function ae(e,t,n){n=+n;const r=(t=+t)<(e=+e),o=r?se(t,e,n):se(e,t,n);return(r?-1:1)*(o<0?1/-o:o)}const ie=new Date;function le(e){return ie.setFullYear(e),ie.setMonth(0),ie.setDate(1),ie.setHours(0,0,0,0),ie}function ce(e){return E.count(le(e.getFullYear())-1,e)}function ge(e){return $.count(le(e.getFullYear())-1,e)}function fe(e){return le(e).getDay()}function Te(e,t,n,r,o,u,s){if(0<=e&&e<100){const a=new Date(-1,t,n,r,o,u,s);return a.setFullYear(e),a}return new Date(e,t,n,r,o,u,s)}function he(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return z.count(t-1,e)}function Me(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return L.count(t-1,e)}function Ue(e){return ie.setTime(Date.UTC(e,0,1)),ie.getUTCDay()}function Ce(e,t,n,r,o,u,s){if(0<=e&&e<100){const e=new Date(Date.UTC(-1,t,n,r,o,u,s));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,o,u,s))}function De(e,T,h,M,U){const C=T||1,D=t.peek(e),d=(e,t,n)=>function(e,t,n,r){const o=n<=1?e:r?(t,o)=>r+n*Math.floor((e(t,o)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(o(e,n),n):o}(h[n=n||e],M[n],e===D&&C,t),m=new Date,F=t.toSet(e),Y=F[n]?d(n):t.constant(2012),y=F[o]?d(o):F[r]?d(r):t.zero,w=F[u]&&F[a]?d(a,1,u+a):F[u]?d(u,1):F[a]?d(a,1):F[s]?d(s,1):F[i]?d(i,1):t.one,v=F[l]?d(l):t.zero,H=F[c]?d(c):t.zero,S=F[g]?d(g):t.zero,p=F[f]?d(f):t.zero;return function(e){m.setTime(+e);const t=Y(m);return U(t,y(m),w(m,t),v(m),H(m),S(m),p(m))}}function de(e,t,n){return t+7*e-(n+6)%7}const me={[n]:e=>e.getFullYear(),[r]:e=>Math.floor(e.getMonth()/3),[o]:e=>e.getMonth(),[s]:e=>e.getDate(),[l]:e=>e.getHours(),[c]:e=>e.getMinutes(),[g]:e=>e.getSeconds(),[f]:e=>e.getMilliseconds(),[i]:e=>ce(e),[u]:e=>ge(e),[u+a]:(e,t)=>de(ge(e),e.getDay(),fe(t)),[a]:(e,t)=>de(1,e.getDay(),fe(t))},Fe={[r]:e=>3*e,[u]:(e,t)=>de(e,0,fe(t))};const Ye={[n]:e=>e.getUTCFullYear(),[r]:e=>Math.floor(e.getUTCMonth()/3),[o]:e=>e.getUTCMonth(),[s]:e=>e.getUTCDate(),[l]:e=>e.getUTCHours(),[c]:e=>e.getUTCMinutes(),[g]:e=>e.getUTCSeconds(),[f]:e=>e.getUTCMilliseconds(),[i]:e=>he(e),[u]:e=>Me(e),[a]:(e,t)=>de(1,e.getUTCDay(),Ue(t)),[u+a]:(e,t)=>de(Me(e),e.getUTCDay(),Ue(t))},ye={[r]:e=>3*e,[u]:(e,t)=>de(e,0,Ue(t))};const we={[n]:V,[r]:G.every(3),[o]:G,[u]:$,[s]:E,[a]:E,[i]:E,[l]:N,[c]:S,[g]:H,[f]:m},ve={[n]:X,[r]:J.every(3),[o]:J,[u]:L,[s]:z,[a]:z,[i]:z,[l]:O,[c]:p,[g]:H,[f]:m};function He(e){return we[e]}function Se(e){return ve[e]}function pe(e,t,n){return e?e.offset(t,n):void 0}function Ne(e,t,n,r){return e?e.range(t,n,r):void 0}const Oe=1e3,Ee=6e4,ze=36e5,Ie=864e5,$e=2592e6,be=31536e6,qe=[n,o,s,l,c,g,f],xe=qe.slice(0,-1),Ae=xe.slice(0,-1),ke=Ae.slice(0,-1),Re=ke.slice(0,-1),je=[n,o],Le=[n],Qe=[[xe,1,Oe],[xe,5,5e3],[xe,15,15e3],[xe,30,3e4],[Ae,1,Ee],[Ae,5,3e5],[Ae,15,9e5],[Ae,30,18e5],[ke,1,ze],[ke,3,108e5],[ke,6,216e5],[ke,12,432e5],[Re,1,Ie],[[n,u],1,6048e5],[je,1,$e],[je,3,7776e6],[Le,1,be]];e.DATE=s,e.DAY=a,e.DAYOFYEAR=i,e.HOURS=l,e.MILLISECONDS=f,e.MINUTES=c,e.MONTH=o,e.QUARTER=r,e.SECONDS=g,e.TIME_UNITS=T,e.WEEK=u,e.YEAR=n,e.dayofyear=function(e){return ce(new Date(e))},e.timeBin=function(e){const n=e.extent,r=e.maxbins||40,o=Math.abs(t.span(n))/r;let u,s,a=function(e){let t,n,r;function o(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o<u){if(0!==t(r,r))return u;do{const t=o+u>>>1;n(e[t],r)<0?o=t+1:u=t}while(o<u)}return o}return 2!==e.length?(t=Z,n=(t,n)=>Z(e(t),n),r=(t,n)=>e(t)-n):(t=e===Z||e===ee?e:te,n=e,r=e),{left:o,center:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const u=o(e,t,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length)-1);return u>n&&r(e[u-1],t)>-r(e[u],t)?u-1:u},right:function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o<u){if(0!==t(r,r))return u;do{const t=o+u>>>1;n(e[t],r)<=0?o=t+1:u=t}while(o<u)}return o}}}((e=>e[2])).right(Qe,o);return a===Qe.length?(u=Le,s=ae(n[0]/be,n[1]/be,r)):a?(a=Qe[o/Qe[a-1][2]<Qe[a][2]/o?a-1:a],u=a[0],s=a[1]):(u=qe,s=Math.max(ae(n[0],n[1],r),1)),{units:u,step:s}},e.timeFloor=function(e,t){return De(e,t||1,me,Fe,Te)},e.timeInterval=He,e.timeOffset=function(e,t,n){return pe(He(e),t,n)},e.timeSequence=function(e,t,n,r){return Ne(He(e),t,n,r)},e.timeUnitSpecifier=function(e,n){const r=t.extend({},U,n),o=M(e),u=o.length;let s,a,i="",l=0;for(l=0;l<u;)for(s=o.length;s>l;--s)if(a=o.slice(l,s).join("-"),null!=r[a]){i+=r[a],l=s;break}return i.trim()},e.timeUnits=M,e.utcFloor=function(e,t){return De(e,t||1,Ye,ye,Ce)},e.utcInterval=Se,e.utcOffset=function(e,t,n){return pe(Se(e),t,n)},e.utcSequence=function(e,t,n,r){return Ne(Se(e),t,n,r)},e.utcdayofyear=function(e){return he(new Date(e))},e.utcweek=function(e){return Me(new Date(e))},e.week=function(e){return ge(new Date(e))}}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-util")):"function"==typeof define&&define.amd?define(["exports","vega-util"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).vega={},e.vega)}(this,(function(e,t){"use strict";const n="year",r="quarter",o="month",u="week",s="date",a="day",i="dayofyear",l="hours",c="minutes",g="seconds",f="milliseconds",T=[n,r,o,u,s,a,i,l,c,g,f],h=T.reduce(((e,t,n)=>(e[t]=1+n,e)),{});function M(e){const n=t.array(e).slice(),l={};n.length||t.error("Missing time unit."),n.forEach((e=>{t.hasOwnProperty(h,e)?l[e]=1:t.error(`Invalid time unit: ${e}.`)}));return(l[u]||l[a]?1:0)+(l[r]||l[o]||l[s]?1:0)+(l[i]?1:0)>1&&t.error(`Incompatible time units: ${e}`),n.sort(((e,t)=>h[e]-h[t])),n}const U={[n]:"%Y ",[r]:"Q%q ",[o]:"%b ",[s]:"%d ",[u]:"W%U ",[a]:"%a ",[i]:"%j ",[l]:"%H:00",[c]:"00:%M",[g]:":%S",[f]:".%L",[`${n}-${o}`]:"%Y-%m ",[`${n}-${o}-${s}`]:"%Y-%m-%d ",[`${l}-${c}`]:"%H:%M"};const C=new Date,D=new Date;function d(e,t,n,r){function o(t){return e(t=0===arguments.length?new Date:new Date(+t)),t}return o.floor=t=>(e(t=new Date(+t)),t),o.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),o.round=e=>{const t=o(e),n=o.ceil(e);return e-t<n-e?t:n},o.offset=(e,n)=>(t(e=new Date(+e),null==n?1:Math.floor(n)),e),o.range=(n,r,u)=>{const s=[];if(n=o.ceil(n),u=null==u?1:Math.floor(u),!(n<r&&u>0))return s;let a;do{s.push(a=new Date(+n)),t(n,u),e(n)}while(a<n&&n<r);return s},o.filter=n=>d((t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)}),((e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););})),n&&(o.count=(t,r)=>(C.setTime(+t),D.setTime(+r),e(C),e(D),Math.floor(n(C,D))),o.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?o.filter(r?t=>r(t)%e==0:t=>o.count(0,t)%e==0):o:null)),o}const m=d((()=>{}),((e,t)=>{e.setTime(+e+t)}),((e,t)=>t-e));m.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?d((t=>{t.setTime(Math.floor(t/e)*e)}),((t,n)=>{t.setTime(+t+n*e)}),((t,n)=>(n-t)/e)):m:null),m.range;const F=1e3,Y=6e4,y=36e5,w=864e5,v=6048e5,H=d((e=>{e.setTime(e-e.getMilliseconds())}),((e,t)=>{e.setTime(+e+t*F)}),((e,t)=>(t-e)/F),(e=>e.getUTCSeconds()));H.range;const S=d((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*F)}),((e,t)=>{e.setTime(+e+t*Y)}),((e,t)=>(t-e)/Y),(e=>e.getMinutes()));S.range;const p=d((e=>{e.setUTCSeconds(0,0)}),((e,t)=>{e.setTime(+e+t*Y)}),((e,t)=>(t-e)/Y),(e=>e.getUTCMinutes()));p.range;const N=d((e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*F-e.getMinutes()*Y)}),((e,t)=>{e.setTime(+e+t*y)}),((e,t)=>(t-e)/y),(e=>e.getHours()));N.range;const O=d((e=>{e.setUTCMinutes(0,0,0)}),((e,t)=>{e.setTime(+e+t*y)}),((e,t)=>(t-e)/y),(e=>e.getUTCHours()));O.range;const E=d((e=>e.setHours(0,0,0,0)),((e,t)=>e.setDate(e.getDate()+t)),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Y)/w),(e=>e.getDate()-1));E.range;const z=d((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/w),(e=>e.getUTCDate()-1));z.range;function I(e){return d((t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)}),((e,t)=>{e.setDate(e.getDate()+7*t)}),((e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Y)/v))}d((e=>{e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+t)}),((e,t)=>(t-e)/w),(e=>Math.floor(e/w))).range;const $=I(0),b=I(1),q=I(2),x=I(3),A=I(4),k=I(5),R=I(6);function j(e){return d((t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCDate(e.getUTCDate()+7*t)}),((e,t)=>(t-e)/v))}$.range,b.range,q.range,x.range,A.range,k.range,R.range;const L=j(0),Q=j(1),W=j(2),B=j(3),K=j(4),P=j(5),_=j(6);L.range,Q.range,W.range,B.range,K.range,P.range,_.range;const G=d((e=>{e.setDate(1),e.setHours(0,0,0,0)}),((e,t)=>{e.setMonth(e.getMonth()+t)}),((e,t)=>t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())),(e=>e.getMonth()));G.range;const J=d((e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)}),((e,t)=>t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())),(e=>e.getUTCMonth()));J.range;const V=d((e=>{e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,t)=>{e.setFullYear(e.getFullYear()+t)}),((e,t)=>t.getFullYear()-e.getFullYear()),(e=>e.getFullYear()));V.every=e=>isFinite(e=Math.floor(e))&&e>0?d((t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,n)=>{t.setFullYear(t.getFullYear()+n*e)})):null,V.range;const X=d((e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)}),((e,t)=>t.getUTCFullYear()-e.getUTCFullYear()),(e=>e.getUTCFullYear()));function Z(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ee(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function te(){return 0}X.every=e=>isFinite(e=Math.floor(e))&&e>0?d((t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)})):null,X.range;const ne=Math.sqrt(50),re=Math.sqrt(10),oe=Math.sqrt(2);function ue(e,t,n){const r=(t-e)/Math.max(0,n),o=Math.floor(Math.log10(r)),u=r/Math.pow(10,o),s=u>=ne?10:u>=re?5:u>=oe?2:1;let a,i,l;return o<0?(l=Math.pow(10,-o)/s,a=Math.round(e*l),i=Math.round(t*l),a/l<e&&++a,i/l>t&&--i,l=-l):(l=Math.pow(10,o)*s,a=Math.round(e/l),i=Math.round(t/l),a*l<e&&++a,i*l>t&&--i),i<a&&.5<=n&&n<2?ue(e,t,2*n):[a,i,l]}function se(e,t,n){return ue(e=+e,t=+t,n=+n)[2]}function ae(e,t,n){n=+n;const r=(t=+t)<(e=+e),o=r?se(t,e,n):se(e,t,n);return(r?-1:1)*(o<0?1/-o:o)}const ie=new Date;function le(e){return ie.setFullYear(e),ie.setMonth(0),ie.setDate(1),ie.setHours(0,0,0,0),ie}function ce(e){return E.count(le(e.getFullYear())-1,e)}function ge(e){return $.count(le(e.getFullYear())-1,e)}function fe(e){return le(e).getDay()}function Te(e,t,n,r,o,u,s){if(0<=e&&e<100){const a=new Date(-1,t,n,r,o,u,s);return a.setFullYear(e),a}return new Date(e,t,n,r,o,u,s)}function he(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return z.count(t-1,e)}function Me(e){const t=Date.UTC(e.getUTCFullYear(),0,1);return L.count(t-1,e)}function Ue(e){return ie.setTime(Date.UTC(e,0,1)),ie.getUTCDay()}function Ce(e,t,n,r,o,u,s){if(0<=e&&e<100){const e=new Date(Date.UTC(-1,t,n,r,o,u,s));return e.setUTCFullYear(n.y),e}return new Date(Date.UTC(e,t,n,r,o,u,s))}function De(e,T,h,M,U){const C=T||1,D=t.peek(e),d=(e,t,n)=>function(e,t,n,r){const o=n<=1?e:r?(t,o)=>r+n*Math.floor((e(t,o)-r)/n):(t,r)=>n*Math.floor(e(t,r)/n);return t?(e,n)=>t(o(e,n),n):o}(h[n=n||e],M[n],e===D&&C,t),m=new Date,F=t.toSet(e),Y=F[n]?d(n):t.constant(2012),y=F[o]?d(o):F[r]?d(r):t.zero,w=F[u]&&F[a]?d(a,1,u+a):F[u]?d(u,1):F[a]?d(a,1):F[s]?d(s,1):F[i]?d(i,1):t.one,v=F[l]?d(l):t.zero,H=F[c]?d(c):t.zero,S=F[g]?d(g):t.zero,p=F[f]?d(f):t.zero;return function(e){m.setTime(+e);const t=Y(m);return U(t,y(m),w(m,t),v(m),H(m),S(m),p(m))}}function de(e,t,n){return t+7*e-(n+6)%7}const me={[n]:e=>e.getFullYear(),[r]:e=>Math.floor(e.getMonth()/3),[o]:e=>e.getMonth(),[s]:e=>e.getDate(),[l]:e=>e.getHours(),[c]:e=>e.getMinutes(),[g]:e=>e.getSeconds(),[f]:e=>e.getMilliseconds(),[i]:e=>ce(e),[u]:e=>ge(e),[u+a]:(e,t)=>de(ge(e),e.getDay(),fe(t)),[a]:(e,t)=>de(1,e.getDay(),fe(t))},Fe={[r]:e=>3*e,[u]:(e,t)=>de(e,0,fe(t))};const Ye={[n]:e=>e.getUTCFullYear(),[r]:e=>Math.floor(e.getUTCMonth()/3),[o]:e=>e.getUTCMonth(),[s]:e=>e.getUTCDate(),[l]:e=>e.getUTCHours(),[c]:e=>e.getUTCMinutes(),[g]:e=>e.getUTCSeconds(),[f]:e=>e.getUTCMilliseconds(),[i]:e=>he(e),[u]:e=>Me(e),[a]:(e,t)=>de(1,e.getUTCDay(),Ue(t)),[u+a]:(e,t)=>de(Me(e),e.getUTCDay(),Ue(t))},ye={[r]:e=>3*e,[u]:(e,t)=>de(e,0,Ue(t))};const we={[n]:V,[r]:G.every(3),[o]:G,[u]:$,[s]:E,[a]:E,[i]:E,[l]:N,[c]:S,[g]:H,[f]:m},ve={[n]:X,[r]:J.every(3),[o]:J,[u]:L,[s]:z,[a]:z,[i]:z,[l]:O,[c]:p,[g]:H,[f]:m};function He(e){return we[e]}function Se(e){return ve[e]}function pe(e,t,n){return e?e.offset(t,n):void 0}function Ne(e,t,n,r){return e?e.range(t,n,r):void 0}const Oe=1e3,Ee=6e4,ze=36e5,Ie=864e5,$e=2592e6,be=31536e6,qe=[n,o,s,l,c,g,f],xe=qe.slice(0,-1),Ae=xe.slice(0,-1),ke=Ae.slice(0,-1),Re=ke.slice(0,-1),je=[n,o],Le=[n],Qe=[[xe,1,Oe],[xe,5,5e3],[xe,15,15e3],[xe,30,3e4],[Ae,1,Ee],[Ae,5,3e5],[Ae,15,9e5],[Ae,30,18e5],[ke,1,ze],[ke,3,108e5],[ke,6,216e5],[ke,12,432e5],[Re,1,Ie],[[n,u],1,6048e5],[je,1,$e],[je,3,7776e6],[Le,1,be]];e.DATE=s,e.DAY=a,e.DAYOFYEAR=i,e.HOURS=l,e.MILLISECONDS=f,e.MINUTES=c,e.MONTH=o,e.QUARTER=r,e.SECONDS=g,e.TIME_UNITS=T,e.WEEK=u,e.YEAR=n,e.dayofyear=function(e){return ce(new Date(e))},e.timeBin=function(e){const n=e.extent,r=e.maxbins||40,o=Math.abs(t.span(n))/r;let u,s,a=function(e){let t,n,r;function o(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o<u){if(0!==t(r,r))return u;do{const t=o+u>>>1;n(e[t],r)<0?o=t+1:u=t}while(o<u)}return o}return 2!==e.length?(t=Z,n=(t,n)=>Z(e(t),n),r=(t,n)=>e(t)-n):(t=e===Z||e===ee?e:te,n=e,r=e),{left:o,center:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const u=o(e,t,n,(arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length)-1);return u>n&&r(e[u-1],t)>-r(e[u],t)?u-1:u},right:function(e,r){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e.length;if(o<u){if(0!==t(r,r))return u;do{const t=o+u>>>1;n(e[t],r)<=0?o=t+1:u=t}while(o<u)}return o}}}((e=>e[2])).right(Qe,o);return a===Qe.length?(u=Le,s=ae(n[0]/be,n[1]/be,r)):a?(a=Qe[o/Qe[a-1][2]<Qe[a][2]/o?a-1:a],u=a[0],s=a[1]):(u=qe,s=Math.max(ae(n[0],n[1],r),1)),{units:u,step:s}},e.timeFloor=function(e,t){return De(e,t||1,me,Fe,Te)},e.timeInterval=He,e.timeOffset=function(e,t,n){return pe(He(e),t,n)},e.timeSequence=function(e,t,n,r){return Ne(He(e),t,n,r)},e.timeUnitSpecifier=function(e,n){const r=t.extend({},U,n),o=M(e),u=o.length;let s,a,i="",l=0;for(l=0;l<u;)for(s=o.length;s>l;--s)if(a=o.slice(l,s).join("-"),null!=r[a]){i+=r[a],l=s;break}return i.trim()},e.timeUnits=M,e.utcFloor=function(e,t){return De(e,t||1,Ye,ye,Ce)},e.utcInterval=Se,e.utcOffset=function(e,t,n){return pe(Se(e),t,n)},e.utcSequence=function(e,t,n,r){return Ne(Se(e),t,n,r)},e.utcdayofyear=function(e){return he(new Date(e))},e.utcweek=function(e){return Me(new Date(e))},e.week=function(e){return ge(new Date(e))}}));
2
2
  //# sourceMappingURL=vega-time.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vega-time.min.js","sources":["../src/units.js","../../../node_modules/d3-time/src/interval.js","../../../node_modules/d3-time/src/millisecond.js","../../../node_modules/d3-time/src/duration.js","../../../node_modules/d3-time/src/second.js","../../../node_modules/d3-time/src/minute.js","../../../node_modules/d3-time/src/hour.js","../../../node_modules/d3-time/src/day.js","../../../node_modules/d3-time/src/week.js","../../../node_modules/d3-time/src/month.js","../../../node_modules/d3-time/src/year.js","../../../node_modules/d3-array/src/ascending.js","../../../node_modules/d3-array/src/descending.js","../../../node_modules/d3-array/src/bisector.js","../../../node_modules/d3-array/src/ticks.js","../src/util.js","../src/floor.js","../src/interval.js","../src/bin.js"],"sourcesContent":["import {array, error, extend, hasOwnProperty} from 'vega-util';\n\nexport const YEAR = 'year';\nexport const QUARTER = 'quarter';\nexport const MONTH = 'month';\nexport const WEEK = 'week';\nexport const DATE = 'date';\nexport const DAY = 'day';\nexport const DAYOFYEAR = 'dayofyear';\nexport const HOURS = 'hours';\nexport const MINUTES = 'minutes';\nexport const SECONDS = 'seconds';\nexport const MILLISECONDS = 'milliseconds';\n\nexport const TIME_UNITS = [\n YEAR,\n QUARTER,\n MONTH,\n WEEK,\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MINUTES,\n SECONDS,\n MILLISECONDS\n];\n\nconst UNITS = TIME_UNITS.reduce((o, u, i) => (o[u] = 1 + i, o), {});\n\nexport function timeUnits(units) {\n const u = array(units).slice(),\n m = {};\n\n // check validity\n if (!u.length) error('Missing time unit.');\n\n u.forEach(unit => {\n if (hasOwnProperty(UNITS, unit)) {\n m[unit] = 1;\n } else {\n error(`Invalid time unit: ${unit}.`);\n }\n });\n\n const numTypes = (\n (m[WEEK] || m[DAY] ? 1 : 0) +\n (m[QUARTER] || m[MONTH] || m[DATE] ? 1 : 0) +\n (m[DAYOFYEAR] ? 1 : 0)\n );\n\n if (numTypes > 1) {\n error(`Incompatible time units: ${units}`);\n }\n\n // ensure proper sort order\n u.sort((a, b) => UNITS[a] - UNITS[b]);\n\n return u;\n}\n\nconst defaultSpecifiers = {\n [YEAR]: '%Y ',\n [QUARTER]: 'Q%q ',\n [MONTH]: '%b ',\n [DATE]: '%d ',\n [WEEK]: 'W%U ',\n [DAY]: '%a ',\n [DAYOFYEAR]: '%j ',\n [HOURS]: '%H:00',\n [MINUTES]: '00:%M',\n [SECONDS]: ':%S',\n [MILLISECONDS]: '.%L',\n [`${YEAR}-${MONTH}`]: '%Y-%m ',\n [`${YEAR}-${MONTH}-${DATE}`]: '%Y-%m-%d ',\n [`${HOURS}-${MINUTES}`]: '%H:%M'\n};\n\nexport function timeUnitSpecifier(units, specifiers) {\n const s = extend({}, defaultSpecifiers, specifiers),\n u = timeUnits(units),\n n = u.length;\n\n let fmt = '', start = 0, end, key;\n\n for (start=0; start<n; ) {\n for (end=u.length; end > start; --end) {\n key = u.slice(start, end).join('-');\n if (s[key] != null) {\n fmt += s[key];\n start = end;\n break;\n }\n }\n }\n\n return fmt.trim();\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","import {timeDay, timeWeek, utcDay, utcWeek} from 'd3-time';\n\nconst t0 = new Date;\n\nfunction localYear(y) {\n t0.setFullYear(y);\n t0.setMonth(0);\n t0.setDate(1);\n t0.setHours(0, 0, 0, 0);\n return t0;\n}\n\nexport function dayofyear(d) {\n return localDayOfYear(new Date(d));\n}\n\nexport function week(d) {\n return localWeekNum(new Date(d));\n}\n\nexport function localDayOfYear(d) {\n return timeDay.count(localYear(d.getFullYear()) - 1, d);\n}\n\nexport function localWeekNum(d) {\n return timeWeek.count(localYear(d.getFullYear()) - 1, d);\n}\n\nexport function localFirst(y) {\n return localYear(y).getDay();\n}\n\nexport function localDate(y, m, d, H, M, S, L) {\n if (0 <= y && y < 100) {\n const date = new Date(-1, m, d, H, M, S, L);\n date.setFullYear(y);\n return date;\n }\n return new Date(y, m, d, H, M, S, L);\n}\n\nexport function utcdayofyear(d) {\n return utcDayOfYear(new Date(d));\n}\n\nexport function utcweek(d) {\n return utcWeekNum(new Date(d));\n}\n\nexport function utcDayOfYear(d) {\n const y = Date.UTC(d.getUTCFullYear(), 0, 1);\n return utcDay.count(y - 1, d);\n}\n\nexport function utcWeekNum(d) {\n const y = Date.UTC(d.getUTCFullYear(), 0, 1);\n return utcWeek.count(y - 1, d);\n}\n\nexport function utcFirst(y) {\n t0.setTime(Date.UTC(y, 0, 1));\n return t0.getUTCDay();\n}\n\nexport function utcDate(y, m, d, H, M, S, L) {\n if (0 <= y && y < 100) {\n const date = new Date(Date.UTC(-1, m, d, H, M, S, L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(y, m, d, H, M, S, L));\n}\n","import {\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MILLISECONDS,\n MINUTES,\n MONTH,\n QUARTER,\n SECONDS,\n WEEK,\n YEAR\n} from './units';\nimport {\n localDate, localDayOfYear, localFirst, localWeekNum,\n utcDate, utcDayOfYear, utcFirst, utcWeekNum\n} from './util';\nimport {constant, one, peek, toSet, zero} from 'vega-util';\n\nfunction floor(units, step, get, inv, newDate) {\n const s = step || 1,\n b = peek(units),\n _ = (unit, p, key) => {\n key = key || unit;\n return getUnit(get[key], inv[key], unit === b && s, p);\n };\n\n const t = new Date,\n u = toSet(units),\n y = u[YEAR] ? _(YEAR) : constant(2012),\n m = u[MONTH] ? _(MONTH)\n : u[QUARTER] ? _(QUARTER)\n : zero,\n d = u[WEEK] && u[DAY] ? _(DAY, 1, WEEK + DAY)\n : u[WEEK] ? _(WEEK, 1)\n : u[DAY] ? _(DAY, 1)\n : u[DATE] ? _(DATE, 1)\n : u[DAYOFYEAR] ? _(DAYOFYEAR, 1)\n : one,\n H = u[HOURS] ? _(HOURS) : zero,\n M = u[MINUTES] ? _(MINUTES) : zero,\n S = u[SECONDS] ? _(SECONDS) : zero,\n L = u[MILLISECONDS] ? _(MILLISECONDS) : zero;\n\n return function(v) {\n t.setTime(+v);\n const year = y(t);\n return newDate(year, m(t), d(t, year), H(t), M(t), S(t), L(t));\n };\n}\n\nfunction getUnit(f, inv, step, phase) {\n const u = step <= 1 ? f\n : phase ? (d, y) => phase + step * Math.floor((f(d, y) - phase) / step)\n : (d, y) => step * Math.floor(f(d, y) / step);\n return inv ? (d, y) => inv(u(d, y), y) : u;\n}\n\n// returns the day of the year based on week number, day of week,\n// and the day of the week for the first day of the year\nfunction weekday(week, day, firstDay) {\n return day + week * 7 - (firstDay + 6) % 7;\n}\n\n// -- LOCAL TIME --\n\nconst localGet = {\n [YEAR]: d => d.getFullYear(),\n [QUARTER]: d => Math.floor(d.getMonth() / 3),\n [MONTH]: d => d.getMonth(),\n [DATE]: d => d.getDate(),\n [HOURS]: d => d.getHours(),\n [MINUTES]: d => d.getMinutes(),\n [SECONDS]: d => d.getSeconds(),\n [MILLISECONDS]: d => d.getMilliseconds(),\n [DAYOFYEAR]: d => localDayOfYear(d),\n [WEEK]: d => localWeekNum(d),\n [WEEK + DAY]: (d, y) => weekday(localWeekNum(d), d.getDay(), localFirst(y)),\n [DAY]: (d, y) => weekday(1, d.getDay(), localFirst(y))\n};\n\nconst localInv = {\n [QUARTER]: q => 3 * q,\n [WEEK]: (w, y) => weekday(w, 0, localFirst(y))\n};\n\nexport function timeFloor(units, step) {\n return floor(units, step || 1, localGet, localInv, localDate);\n}\n\n// -- UTC TIME --\n\nconst utcGet = {\n [YEAR]: d => d.getUTCFullYear(),\n [QUARTER]: d => Math.floor(d.getUTCMonth() / 3),\n [MONTH]: d => d.getUTCMonth(),\n [DATE]: d => d.getUTCDate(),\n [HOURS]: d => d.getUTCHours(),\n [MINUTES]: d => d.getUTCMinutes(),\n [SECONDS]: d => d.getUTCSeconds(),\n [MILLISECONDS]: d => d.getUTCMilliseconds(),\n [DAYOFYEAR]: d => utcDayOfYear(d),\n [WEEK]: d => utcWeekNum(d),\n [DAY]: (d, y) => weekday(1, d.getUTCDay(), utcFirst(y)),\n [WEEK + DAY]: (d, y) => weekday(utcWeekNum(d), d.getUTCDay(), utcFirst(y))\n};\n\nconst utcInv = {\n [QUARTER]: q => 3 * q,\n [WEEK]: (w, y) => weekday(w, 0, utcFirst(y))\n};\n\nexport function utcFloor(units, step) {\n return floor(units, step || 1, utcGet, utcInv, utcDate);\n}\n","import {\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MILLISECONDS,\n MINUTES,\n MONTH,\n QUARTER,\n SECONDS,\n WEEK,\n YEAR\n} from './units';\n\nimport {\n timeDay,\n timeHour,\n timeMillisecond,\n timeMinute,\n timeMonth,\n timeSecond,\n timeWeek,\n timeYear,\n utcDay,\n utcHour,\n utcMillisecond,\n utcMinute,\n utcMonth,\n utcSecond,\n utcWeek,\n utcYear\n} from 'd3-time';\n\nconst timeIntervals = {\n [YEAR]: timeYear,\n [QUARTER]: timeMonth.every(3),\n [MONTH]: timeMonth,\n [WEEK]: timeWeek,\n [DATE]: timeDay,\n [DAY]: timeDay,\n [DAYOFYEAR]: timeDay,\n [HOURS]: timeHour,\n [MINUTES]: timeMinute,\n [SECONDS]: timeSecond,\n [MILLISECONDS]: timeMillisecond\n};\n\nconst utcIntervals = {\n [YEAR]: utcYear,\n [QUARTER]: utcMonth.every(3),\n [MONTH]: utcMonth,\n [WEEK]: utcWeek,\n [DATE]: utcDay,\n [DAY]: utcDay,\n [DAYOFYEAR]: utcDay,\n [HOURS]: utcHour,\n [MINUTES]: utcMinute,\n [SECONDS]: utcSecond,\n [MILLISECONDS]: utcMillisecond\n};\n\nexport function timeInterval(unit) {\n return timeIntervals[unit];\n}\n\nexport function utcInterval(unit) {\n return utcIntervals[unit];\n}\n\nfunction offset(ival, date, step) {\n return ival ? ival.offset(date, step) : undefined;\n}\n\nexport function timeOffset(unit, date, step) {\n return offset(timeInterval(unit), date, step);\n}\n\nexport function utcOffset(unit, date, step) {\n return offset(utcInterval(unit), date, step);\n}\n\nfunction sequence(ival, start, stop, step) {\n return ival ? ival.range(start, stop, step) : undefined;\n}\n\nexport function timeSequence(unit, start, stop, step) {\n return sequence(timeInterval(unit), start, stop, step);\n}\n\nexport function utcSequence(unit, start, stop, step) {\n return sequence(utcInterval(unit), start, stop, step);\n}\n","import {DATE, HOURS, MILLISECONDS, MINUTES, MONTH, SECONDS, WEEK, YEAR} from './units';\nimport {span} from 'vega-util';\nimport {bisector, tickStep} from 'd3-array';\n\nconst durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nconst Milli = [YEAR, MONTH, DATE, HOURS, MINUTES, SECONDS, MILLISECONDS],\n Seconds = Milli.slice(0, -1),\n Minutes = Seconds.slice(0, -1),\n Hours = Minutes.slice(0, -1),\n Day = Hours.slice(0, -1),\n Week = [YEAR, WEEK],\n Month = [YEAR, MONTH],\n Year = [YEAR];\n\nconst intervals = [\n [Seconds, 1, durationSecond],\n [Seconds, 5, 5 * durationSecond],\n [Seconds, 15, 15 * durationSecond],\n [Seconds, 30, 30 * durationSecond],\n [Minutes, 1, durationMinute],\n [Minutes, 5, 5 * durationMinute],\n [Minutes, 15, 15 * durationMinute],\n [Minutes, 30, 30 * durationMinute],\n [ Hours, 1, durationHour ],\n [ Hours, 3, 3 * durationHour ],\n [ Hours, 6, 6 * durationHour ],\n [ Hours, 12, 12 * durationHour ],\n [ Day, 1, durationDay ],\n [ Week, 1, durationWeek ],\n [ Month, 1, durationMonth ],\n [ Month, 3, 3 * durationMonth ],\n [ Year, 1, durationYear ]\n];\n\nexport default function(opt) {\n const ext = opt.extent,\n max = opt.maxbins || 40,\n target = Math.abs(span(ext)) / max;\n\n let i = bisector(i => i[2]).right(intervals, target),\n units, step;\n\n if (i === intervals.length) {\n units = Year,\n step = tickStep(ext[0] / durationYear, ext[1] / durationYear, max);\n } else if (i) {\n i = intervals[target / intervals[i - 1][2] < intervals[i][2] / target ? i - 1 : i];\n units = i[0];\n step = i[1];\n } else {\n units = Milli;\n step = Math.max(tickStep(ext[0], ext[1], max), 1);\n }\n\n return {units, step};\n}\n"],"names":["YEAR","QUARTER","MONTH","WEEK","DATE","DAY","DAYOFYEAR","HOURS","MINUTES","SECONDS","MILLISECONDS","TIME_UNITS","UNITS","reduce","o","u","i","timeUnits","units","array","slice","m","length","error","forEach","unit","hasOwnProperty","sort","a","b","defaultSpecifiers","t0","Date","t1","timeInterval","floori","offseti","count","field","interval","date","arguments","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","test","setTime","end","every","isFinite","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","second","getMilliseconds","getUTCSeconds","timeMinute","getSeconds","getMinutes","utcMinute","setUTCSeconds","getUTCMinutes","timeHour","getHours","utcHour","setUTCMinutes","getUTCHours","timeDay","setHours","setDate","getDate","getTimezoneOffset","utcDay","setUTCHours","setUTCDate","getUTCDate","timeWeekday","getDay","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","setMonth","getMonth","getFullYear","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","timeYear","setFullYear","utcYear","setUTCFullYear","ascending","NaN","descending","zero","e10","sqrt","e5","e2","tickSpec","max","power","log10","pow","factor","i1","i2","inc","tickIncrement","tickStep","reverse","localYear","y","localDayOfYear","localWeekNum","timeWeek","localFirst","localDate","H","M","S","L","utcDayOfYear","UTC","utcWeekNum","utcWeek","utcFirst","utcDate","get","inv","newDate","s","peek","_","p","key","f","phase","getUnit","t","toSet","constant","one","v","year","weekday","week","day","firstDay","localGet","localInv","q","w","utcGet","getUTCMilliseconds","utcInv","timeIntervals","timeSecond","timeMillisecond","utcIntervals","utcSecond","utcMillisecond","utcInterval","ival","undefined","sequence","durationMonth","durationYear","Milli","Seconds","Minutes","Hours","Day","Month","Year","intervals","opt","ext","extent","maxbins","target","abs","span","compare1","compare2","delta","left","x","lo","hi","mid","center","right","bisector","specifiers","extend","n","fmt","join","trim"],"mappings":"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"}
1
+ {"version":3,"file":"vega-time.min.js","sources":["../src/units.js","../../../node_modules/d3-time/src/interval.js","../../../node_modules/d3-time/src/millisecond.js","../../../node_modules/d3-time/src/duration.js","../../../node_modules/d3-time/src/second.js","../../../node_modules/d3-time/src/minute.js","../../../node_modules/d3-time/src/hour.js","../../../node_modules/d3-time/src/day.js","../../../node_modules/d3-time/src/week.js","../../../node_modules/d3-time/src/month.js","../../../node_modules/d3-time/src/year.js","../../../node_modules/d3-array/src/ascending.js","../../../node_modules/d3-array/src/descending.js","../../../node_modules/d3-array/src/bisector.js","../../../node_modules/d3-array/src/ticks.js","../src/util.js","../src/floor.js","../src/interval.js","../src/bin.js"],"sourcesContent":["import {array, error, extend, hasOwnProperty} from 'vega-util';\n\nexport const YEAR = 'year';\nexport const QUARTER = 'quarter';\nexport const MONTH = 'month';\nexport const WEEK = 'week';\nexport const DATE = 'date';\nexport const DAY = 'day';\nexport const DAYOFYEAR = 'dayofyear';\nexport const HOURS = 'hours';\nexport const MINUTES = 'minutes';\nexport const SECONDS = 'seconds';\nexport const MILLISECONDS = 'milliseconds';\n\nexport const TIME_UNITS = [\n YEAR,\n QUARTER,\n MONTH,\n WEEK,\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MINUTES,\n SECONDS,\n MILLISECONDS\n];\n\nconst UNITS = TIME_UNITS.reduce((o, u, i) => (o[u] = 1 + i, o), {});\n\nexport function timeUnits(units) {\n const u = array(units).slice(),\n m = {};\n\n // check validity\n if (!u.length) error('Missing time unit.');\n\n u.forEach(unit => {\n if (hasOwnProperty(UNITS, unit)) {\n m[unit] = 1;\n } else {\n error(`Invalid time unit: ${unit}.`);\n }\n });\n\n const numTypes = (\n (m[WEEK] || m[DAY] ? 1 : 0) +\n (m[QUARTER] || m[MONTH] || m[DATE] ? 1 : 0) +\n (m[DAYOFYEAR] ? 1 : 0)\n );\n\n if (numTypes > 1) {\n error(`Incompatible time units: ${units}`);\n }\n\n // ensure proper sort order\n u.sort((a, b) => UNITS[a] - UNITS[b]);\n\n return u;\n}\n\nconst defaultSpecifiers = {\n [YEAR]: '%Y ',\n [QUARTER]: 'Q%q ',\n [MONTH]: '%b ',\n [DATE]: '%d ',\n [WEEK]: 'W%U ',\n [DAY]: '%a ',\n [DAYOFYEAR]: '%j ',\n [HOURS]: '%H:00',\n [MINUTES]: '00:%M',\n [SECONDS]: ':%S',\n [MILLISECONDS]: '.%L',\n [`${YEAR}-${MONTH}`]: '%Y-%m ',\n [`${YEAR}-${MONTH}-${DATE}`]: '%Y-%m-%d ',\n [`${HOURS}-${MINUTES}`]: '%H:%M'\n};\n\nexport function timeUnitSpecifier(units, specifiers) {\n const s = extend({}, defaultSpecifiers, specifiers),\n u = timeUnits(units),\n n = u.length;\n\n let fmt = '', start = 0, end, key;\n\n for (start=0; start<n; ) {\n for (end=u.length; end > start; --end) {\n key = u.slice(start, end).join('-');\n if (s[key] != null) {\n fmt += s[key];\n start = end;\n break;\n }\n }\n }\n\n return fmt.trim();\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export default function descending(a, b) {\n return a == null || b == null ? NaN\n : b < a ? -1\n : b > a ? 1\n : b >= a ? 0\n : NaN;\n}\n","import ascending from \"./ascending.js\";\nimport descending from \"./descending.js\";\n\nexport default function bisector(f) {\n let compare1, compare2, delta;\n\n // If an accessor is specified, promote it to a comparator. In this case we\n // can test whether the search value is (self-) comparable. We can’t do this\n // for a comparator (except for specific, known comparators) because we can’t\n // tell if the comparator is symmetric, and an asymmetric comparator can’t be\n // used to test whether a single value is comparable.\n if (f.length !== 2) {\n compare1 = ascending;\n compare2 = (d, x) => ascending(f(d), x);\n delta = (d, x) => f(d) - x;\n } else {\n compare1 = f === ascending || f === descending ? f : zero;\n compare2 = f;\n delta = f;\n }\n\n function left(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function right(a, x, lo = 0, hi = a.length) {\n if (lo < hi) {\n if (compare1(x, x) !== 0) return hi;\n do {\n const mid = (lo + hi) >>> 1;\n if (compare2(a[mid], x) <= 0) lo = mid + 1;\n else hi = mid;\n } while (lo < hi);\n }\n return lo;\n }\n\n function center(a, x, lo = 0, hi = a.length) {\n const i = left(a, x, lo, hi - 1);\n return i > lo && delta(a[i - 1], x) > -delta(a[i], x) ? i - 1 : i;\n }\n\n return {left, center, right};\n}\n\nfunction zero() {\n return 0;\n}\n","const e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nfunction tickSpec(start, stop, count) {\n const step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log10(step)),\n error = step / Math.pow(10, power),\n factor = error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1;\n let i1, i2, inc;\n if (power < 0) {\n inc = Math.pow(10, -power) / factor;\n i1 = Math.round(start * inc);\n i2 = Math.round(stop * inc);\n if (i1 / inc < start) ++i1;\n if (i2 / inc > stop) --i2;\n inc = -inc;\n } else {\n inc = Math.pow(10, power) * factor;\n i1 = Math.round(start / inc);\n i2 = Math.round(stop / inc);\n if (i1 * inc < start) ++i1;\n if (i2 * inc > stop) --i2;\n }\n if (i2 < i1 && 0.5 <= count && count < 2) return tickSpec(start, stop, count * 2);\n return [i1, i2, inc];\n}\n\nexport default function ticks(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n if (!(count > 0)) return [];\n if (start === stop) return [start];\n const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count);\n if (!(i2 >= i1)) return [];\n const n = i2 - i1 + 1, ticks = new Array(n);\n if (reverse) {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc;\n } else {\n if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc;\n else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc;\n }\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n return tickSpec(start, stop, count)[2];\n}\n\nexport function tickStep(start, stop, count) {\n stop = +stop, start = +start, count = +count;\n const reverse = stop < start, inc = reverse ? tickIncrement(stop, start, count) : tickIncrement(start, stop, count);\n return (reverse ? -1 : 1) * (inc < 0 ? 1 / -inc : inc);\n}\n","import {timeDay, timeWeek, utcDay, utcWeek} from 'd3-time';\n\nconst t0 = new Date;\n\nfunction localYear(y) {\n t0.setFullYear(y);\n t0.setMonth(0);\n t0.setDate(1);\n t0.setHours(0, 0, 0, 0);\n return t0;\n}\n\nexport function dayofyear(d) {\n return localDayOfYear(new Date(d));\n}\n\nexport function week(d) {\n return localWeekNum(new Date(d));\n}\n\nexport function localDayOfYear(d) {\n return timeDay.count(localYear(d.getFullYear()) - 1, d);\n}\n\nexport function localWeekNum(d) {\n return timeWeek.count(localYear(d.getFullYear()) - 1, d);\n}\n\nexport function localFirst(y) {\n return localYear(y).getDay();\n}\n\nexport function localDate(y, m, d, H, M, S, L) {\n if (0 <= y && y < 100) {\n const date = new Date(-1, m, d, H, M, S, L);\n date.setFullYear(y);\n return date;\n }\n return new Date(y, m, d, H, M, S, L);\n}\n\nexport function utcdayofyear(d) {\n return utcDayOfYear(new Date(d));\n}\n\nexport function utcweek(d) {\n return utcWeekNum(new Date(d));\n}\n\nexport function utcDayOfYear(d) {\n const y = Date.UTC(d.getUTCFullYear(), 0, 1);\n return utcDay.count(y - 1, d);\n}\n\nexport function utcWeekNum(d) {\n const y = Date.UTC(d.getUTCFullYear(), 0, 1);\n return utcWeek.count(y - 1, d);\n}\n\nexport function utcFirst(y) {\n t0.setTime(Date.UTC(y, 0, 1));\n return t0.getUTCDay();\n}\n\nexport function utcDate(y, m, d, H, M, S, L) {\n if (0 <= y && y < 100) {\n const date = new Date(Date.UTC(-1, m, d, H, M, S, L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(y, m, d, H, M, S, L));\n}\n","import {\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MILLISECONDS,\n MINUTES,\n MONTH,\n QUARTER,\n SECONDS,\n WEEK,\n YEAR\n} from './units';\nimport {\n localDate, localDayOfYear, localFirst, localWeekNum,\n utcDate, utcDayOfYear, utcFirst, utcWeekNum\n} from './util';\nimport {constant, one, peek, toSet, zero} from 'vega-util';\n\nfunction floor(units, step, get, inv, newDate) {\n const s = step || 1,\n b = peek(units),\n _ = (unit, p, key) => {\n key = key || unit;\n return getUnit(get[key], inv[key], unit === b && s, p);\n };\n\n const t = new Date,\n u = toSet(units),\n y = u[YEAR] ? _(YEAR) : constant(2012),\n m = u[MONTH] ? _(MONTH)\n : u[QUARTER] ? _(QUARTER)\n : zero,\n d = u[WEEK] && u[DAY] ? _(DAY, 1, WEEK + DAY)\n : u[WEEK] ? _(WEEK, 1)\n : u[DAY] ? _(DAY, 1)\n : u[DATE] ? _(DATE, 1)\n : u[DAYOFYEAR] ? _(DAYOFYEAR, 1)\n : one,\n H = u[HOURS] ? _(HOURS) : zero,\n M = u[MINUTES] ? _(MINUTES) : zero,\n S = u[SECONDS] ? _(SECONDS) : zero,\n L = u[MILLISECONDS] ? _(MILLISECONDS) : zero;\n\n return function(v) {\n t.setTime(+v);\n const year = y(t);\n return newDate(year, m(t), d(t, year), H(t), M(t), S(t), L(t));\n };\n}\n\nfunction getUnit(f, inv, step, phase) {\n const u = step <= 1 ? f\n : phase ? (d, y) => phase + step * Math.floor((f(d, y) - phase) / step)\n : (d, y) => step * Math.floor(f(d, y) / step);\n return inv ? (d, y) => inv(u(d, y), y) : u;\n}\n\n// returns the day of the year based on week number, day of week,\n// and the day of the week for the first day of the year\nfunction weekday(week, day, firstDay) {\n return day + week * 7 - (firstDay + 6) % 7;\n}\n\n// -- LOCAL TIME --\n\nconst localGet = {\n [YEAR]: d => d.getFullYear(),\n [QUARTER]: d => Math.floor(d.getMonth() / 3),\n [MONTH]: d => d.getMonth(),\n [DATE]: d => d.getDate(),\n [HOURS]: d => d.getHours(),\n [MINUTES]: d => d.getMinutes(),\n [SECONDS]: d => d.getSeconds(),\n [MILLISECONDS]: d => d.getMilliseconds(),\n [DAYOFYEAR]: d => localDayOfYear(d),\n [WEEK]: d => localWeekNum(d),\n [WEEK + DAY]: (d, y) => weekday(localWeekNum(d), d.getDay(), localFirst(y)),\n [DAY]: (d, y) => weekday(1, d.getDay(), localFirst(y))\n};\n\nconst localInv = {\n [QUARTER]: q => 3 * q,\n [WEEK]: (w, y) => weekday(w, 0, localFirst(y))\n};\n\nexport function timeFloor(units, step) {\n return floor(units, step || 1, localGet, localInv, localDate);\n}\n\n// -- UTC TIME --\n\nconst utcGet = {\n [YEAR]: d => d.getUTCFullYear(),\n [QUARTER]: d => Math.floor(d.getUTCMonth() / 3),\n [MONTH]: d => d.getUTCMonth(),\n [DATE]: d => d.getUTCDate(),\n [HOURS]: d => d.getUTCHours(),\n [MINUTES]: d => d.getUTCMinutes(),\n [SECONDS]: d => d.getUTCSeconds(),\n [MILLISECONDS]: d => d.getUTCMilliseconds(),\n [DAYOFYEAR]: d => utcDayOfYear(d),\n [WEEK]: d => utcWeekNum(d),\n [DAY]: (d, y) => weekday(1, d.getUTCDay(), utcFirst(y)),\n [WEEK + DAY]: (d, y) => weekday(utcWeekNum(d), d.getUTCDay(), utcFirst(y))\n};\n\nconst utcInv = {\n [QUARTER]: q => 3 * q,\n [WEEK]: (w, y) => weekday(w, 0, utcFirst(y))\n};\n\nexport function utcFloor(units, step) {\n return floor(units, step || 1, utcGet, utcInv, utcDate);\n}\n","import {\n DATE,\n DAY,\n DAYOFYEAR,\n HOURS,\n MILLISECONDS,\n MINUTES,\n MONTH,\n QUARTER,\n SECONDS,\n WEEK,\n YEAR\n} from './units';\n\nimport {\n timeDay,\n timeHour,\n timeMillisecond,\n timeMinute,\n timeMonth,\n timeSecond,\n timeWeek,\n timeYear,\n utcDay,\n utcHour,\n utcMillisecond,\n utcMinute,\n utcMonth,\n utcSecond,\n utcWeek,\n utcYear\n} from 'd3-time';\n\nconst timeIntervals = {\n [YEAR]: timeYear,\n [QUARTER]: timeMonth.every(3),\n [MONTH]: timeMonth,\n [WEEK]: timeWeek,\n [DATE]: timeDay,\n [DAY]: timeDay,\n [DAYOFYEAR]: timeDay,\n [HOURS]: timeHour,\n [MINUTES]: timeMinute,\n [SECONDS]: timeSecond,\n [MILLISECONDS]: timeMillisecond\n};\n\nconst utcIntervals = {\n [YEAR]: utcYear,\n [QUARTER]: utcMonth.every(3),\n [MONTH]: utcMonth,\n [WEEK]: utcWeek,\n [DATE]: utcDay,\n [DAY]: utcDay,\n [DAYOFYEAR]: utcDay,\n [HOURS]: utcHour,\n [MINUTES]: utcMinute,\n [SECONDS]: utcSecond,\n [MILLISECONDS]: utcMillisecond\n};\n\nexport function timeInterval(unit) {\n return timeIntervals[unit];\n}\n\nexport function utcInterval(unit) {\n return utcIntervals[unit];\n}\n\nfunction offset(ival, date, step) {\n return ival ? ival.offset(date, step) : undefined;\n}\n\nexport function timeOffset(unit, date, step) {\n return offset(timeInterval(unit), date, step);\n}\n\nexport function utcOffset(unit, date, step) {\n return offset(utcInterval(unit), date, step);\n}\n\nfunction sequence(ival, start, stop, step) {\n return ival ? ival.range(start, stop, step) : undefined;\n}\n\nexport function timeSequence(unit, start, stop, step) {\n return sequence(timeInterval(unit), start, stop, step);\n}\n\nexport function utcSequence(unit, start, stop, step) {\n return sequence(utcInterval(unit), start, stop, step);\n}\n","import {DATE, HOURS, MILLISECONDS, MINUTES, MONTH, SECONDS, WEEK, YEAR} from './units';\nimport {span} from 'vega-util';\nimport {bisector, tickStep} from 'd3-array';\n\nconst durationSecond = 1000,\n durationMinute = durationSecond * 60,\n durationHour = durationMinute * 60,\n durationDay = durationHour * 24,\n durationWeek = durationDay * 7,\n durationMonth = durationDay * 30,\n durationYear = durationDay * 365;\n\nconst Milli = [YEAR, MONTH, DATE, HOURS, MINUTES, SECONDS, MILLISECONDS],\n Seconds = Milli.slice(0, -1),\n Minutes = Seconds.slice(0, -1),\n Hours = Minutes.slice(0, -1),\n Day = Hours.slice(0, -1),\n Week = [YEAR, WEEK],\n Month = [YEAR, MONTH],\n Year = [YEAR];\n\nconst intervals = [\n [Seconds, 1, durationSecond],\n [Seconds, 5, 5 * durationSecond],\n [Seconds, 15, 15 * durationSecond],\n [Seconds, 30, 30 * durationSecond],\n [Minutes, 1, durationMinute],\n [Minutes, 5, 5 * durationMinute],\n [Minutes, 15, 15 * durationMinute],\n [Minutes, 30, 30 * durationMinute],\n [ Hours, 1, durationHour ],\n [ Hours, 3, 3 * durationHour ],\n [ Hours, 6, 6 * durationHour ],\n [ Hours, 12, 12 * durationHour ],\n [ Day, 1, durationDay ],\n [ Week, 1, durationWeek ],\n [ Month, 1, durationMonth ],\n [ Month, 3, 3 * durationMonth ],\n [ Year, 1, durationYear ]\n];\n\nexport default function(opt) {\n const ext = opt.extent,\n max = opt.maxbins || 40,\n target = Math.abs(span(ext)) / max;\n\n let i = bisector(i => i[2]).right(intervals, target),\n units, step;\n\n if (i === intervals.length) {\n units = Year,\n step = tickStep(ext[0] / durationYear, ext[1] / durationYear, max);\n } else if (i) {\n i = intervals[target / intervals[i - 1][2] < intervals[i][2] / target ? i - 1 : i];\n units = i[0];\n step = i[1];\n } else {\n units = Milli;\n step = Math.max(tickStep(ext[0], ext[1], max), 1);\n }\n\n return {units, step};\n}\n"],"names":["YEAR","QUARTER","MONTH","WEEK","DATE","DAY","DAYOFYEAR","HOURS","MINUTES","SECONDS","MILLISECONDS","TIME_UNITS","UNITS","reduce","o","u","i","timeUnits","units","array","slice","m","length","error","forEach","unit","hasOwnProperty","sort","a","b","defaultSpecifiers","t0","Date","t1","timeInterval","floori","offseti","count","field","interval","date","arguments","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","test","setTime","end","every","isFinite","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","second","getMilliseconds","getUTCSeconds","timeMinute","getSeconds","getMinutes","utcMinute","setUTCSeconds","getUTCMinutes","timeHour","getHours","utcHour","setUTCMinutes","getUTCHours","timeDay","setHours","setDate","getDate","getTimezoneOffset","utcDay","setUTCHours","setUTCDate","getUTCDate","timeWeekday","getDay","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","setMonth","getMonth","getFullYear","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","timeYear","setFullYear","utcYear","setUTCFullYear","ascending","NaN","descending","zero","e10","sqrt","e5","e2","tickSpec","max","power","log10","pow","factor","i1","i2","inc","tickIncrement","tickStep","reverse","localYear","y","localDayOfYear","localWeekNum","timeWeek","localFirst","localDate","H","M","S","L","utcDayOfYear","UTC","utcWeekNum","utcWeek","utcFirst","utcDate","get","inv","newDate","s","peek","_","p","key","f","phase","getUnit","t","toSet","constant","one","v","year","weekday","week","day","firstDay","localGet","localInv","q","w","utcGet","getUTCMilliseconds","utcInv","timeIntervals","timeSecond","timeMillisecond","utcIntervals","utcSecond","utcMillisecond","utcInterval","ival","undefined","sequence","durationMonth","durationYear","Milli","Seconds","Minutes","Hours","Day","Month","Year","intervals","opt","ext","extent","maxbins","target","abs","span","compare1","compare2","delta","left","x","lo","hi","mid","center","right","bisector","specifiers","extend","n","fmt","join","trim"],"mappings":"sRAEO,MAAMA,EAAO,OACPC,EAAU,UACVC,EAAQ,QACRC,EAAO,OACPC,EAAO,OACPC,EAAM,MACNC,EAAY,YACZC,EAAQ,QACRC,EAAU,UACVC,EAAU,UACVC,EAAe,eAEfC,EAAa,CACxBX,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGIE,EAAQD,EAAWE,QAAO,CAACC,EAAGC,EAAGC,KAAOF,EAAEC,GAAK,EAAIC,EAAGF,IAAI,CAAA,GAEzD,SAASG,EAAUC,GACxB,MAAMH,EAAII,EAAAA,MAAMD,GAAOE,QACjBC,EAAI,CAAE,EAGPN,EAAEO,QAAQC,EAAAA,MAAM,sBAErBR,EAAES,SAAQC,IACJC,EAAcA,eAACd,EAAOa,GACxBJ,EAAEI,GAAQ,EAEVF,EAAAA,MAAM,sBAAsBE,KAC9B,IAgBF,OAZGJ,EAAElB,IAASkB,EAAEhB,GAAO,EAAI,IACxBgB,EAAEpB,IAAYoB,EAAEnB,IAAUmB,EAAEjB,GAAQ,EAAI,IACxCiB,EAAEf,GAAa,EAAI,GAGP,GACbiB,EAAAA,MAAM,4BAA4BL,KAIpCH,EAAEY,MAAK,CAACC,EAAGC,IAAMjB,EAAMgB,GAAKhB,EAAMiB,KAE3Bd,CACT,CAEA,MAAMe,EAAoB,CACxB9B,CAACA,GAAO,MACRC,CAACA,GAAU,OACXC,CAACA,GAAQ,MACTE,CAACA,GAAO,MACRD,CAACA,GAAO,OACRE,CAACA,GAAM,MACPC,CAACA,GAAY,MACbC,CAACA,GAAQ,QACTC,CAACA,GAAU,QACXC,CAACA,GAAU,MACXC,CAACA,GAAe,MAChB,CAAC,GAAGV,KAAQE,KAAU,SACtB,CAAC,GAAGF,KAAQE,KAASE,KAAS,YAC9B,CAAC,GAAGG,KAASC,KAAY,SC3E3B,MAAMuB,EAAK,IAAIC,KAAMC,EAAK,IAAID,KAEvB,SAASE,EAAaC,EAAQC,EAASC,EAAOC,GAEnD,SAASC,EAASC,GAChB,OAAOL,EAAOK,EAA4B,IAArBC,UAAUnB,OAAe,IAAIU,KAAO,IAAIA,MAAMQ,IAAQA,CAC7E,CA6DA,OA3DAD,EAASG,MAASF,IACTL,EAAOK,EAAO,IAAIR,MAAMQ,IAAQA,GAGzCD,EAASI,KAAQH,IACRL,EAAOK,EAAO,IAAIR,KAAKQ,EAAO,IAAKJ,EAAQI,EAAM,GAAIL,EAAOK,GAAOA,GAG5ED,EAASK,MAASJ,IAChB,MAAMK,EAAKN,EAASC,GAAOM,EAAKP,EAASI,KAAKH,GAC9C,OAAOA,EAAOK,EAAKC,EAAKN,EAAOK,EAAKC,CAAE,EAGxCP,EAASQ,OAAS,CAACP,EAAMQ,KAChBZ,EAAQI,EAAO,IAAIR,MAAMQ,GAAe,MAARQ,EAAe,EAAIC,KAAKP,MAAMM,IAAQR,GAG/ED,EAASW,MAAQ,CAACC,EAAOC,EAAMJ,KAC7B,MAAME,EAAQ,GAGd,GAFAC,EAAQZ,EAASI,KAAKQ,GACtBH,EAAe,MAARA,EAAe,EAAIC,KAAKP,MAAMM,KAC/BG,EAAQC,GAAWJ,EAAO,GAAI,OAAOE,EAC3C,IAAIG,EACJ,GAAGH,EAAMI,KAAKD,EAAW,IAAIrB,MAAMmB,IAASf,EAAQe,EAAOH,GAAOb,EAAOgB,SAClEE,EAAWF,GAASA,EAAQC,GACnC,OAAOF,CAAK,EAGdX,EAASgB,OAAUC,GACVtB,GAAcM,IACnB,GAAIA,GAAQA,EAAM,KAAOL,EAAOK,IAAQgB,EAAKhB,IAAOA,EAAKiB,QAAQjB,EAAO,EAAE,IACzE,CAACA,EAAMQ,KACR,GAAIR,GAAQA,EACV,GAAIQ,EAAO,EAAG,OAASA,GAAQ,GAC7B,KAAOZ,EAAQI,GAAQ,IAAIgB,EAAKhB,UAC3B,OAASQ,GAAQ,GACtB,KAAOZ,EAAQI,EAAM,IAAMgB,EAAKhB,KAEpC,IAIAH,IACFE,EAASF,MAAQ,CAACc,EAAOO,KACvB3B,EAAG0B,SAASN,GAAQlB,EAAGwB,SAASC,GAChCvB,EAAOJ,GAAKI,EAAOF,GACZgB,KAAKP,MAAML,EAAMN,EAAIE,KAG9BM,EAASoB,MAASX,IAChBA,EAAOC,KAAKP,MAAMM,GACVY,SAASZ,IAAWA,EAAO,EAC3BA,EAAO,EACTT,EAASgB,OAAOjB,EACXuB,GAAMvB,EAAMuB,GAAKb,GAAS,EAC1Ba,GAAMtB,EAASF,MAAM,EAAGwB,GAAKb,GAAS,GAH7BT,EADoB,OAQrCA,CACT,CClEO,MAAMuB,EAAc5B,GAAa,SAErC,CAACM,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAK,IACzB,CAACG,EAAOO,IACFA,EAAMP,IAIfW,EAAYH,MAASI,IACnBA,EAAId,KAAKP,MAAMqB,GACVH,SAASG,IAAQA,EAAI,EACpBA,EAAI,EACH7B,GAAcM,IACnBA,EAAKiB,QAAQR,KAAKP,MAAMF,EAAOuB,GAAKA,EAAE,IACrC,CAACvB,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOe,EAAE,IAC7B,CAACZ,EAAOO,KACDA,EAAMP,GAASY,IANJD,EADgB,MAWXA,EAAYZ,MCxBjC,MAAMc,EAAiB,IACjBC,EAAiBD,IACjBE,EAAeD,KACfE,EAAcD,MACdE,EAAeD,OCDfE,EAASnC,GAAcM,IAClCA,EAAKiB,QAAQjB,EAAOA,EAAK8B,kBAAkB,IAC1C,CAAC9B,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOgB,EAAe,IAC1C,CAACb,EAAOO,KACDA,EAAMP,GAASa,IACrBxB,GACKA,EAAK+B,kBAGSF,EAAOnB,MCVvB,MAAMsB,EAAatC,GAAcM,IACtCA,EAAKiB,QAAQjB,EAAOA,EAAK8B,kBAAoB9B,EAAKiC,aAAeT,EAAe,IAC/E,CAACxB,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOiB,EAAe,IAC1C,CAACd,EAAOO,KACDA,EAAMP,GAASc,IACrBzB,GACKA,EAAKkC,eAGaF,EAAWtB,MAE/B,MAAMyB,EAAYzC,GAAcM,IACrCA,EAAKoC,cAAc,EAAG,EAAE,IACvB,CAACpC,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOiB,EAAe,IAC1C,CAACd,EAAOO,KACDA,EAAMP,GAASc,IACrBzB,GACKA,EAAKqC,kBAGYF,EAAUzB,MCtB7B,MAAM4B,EAAW5C,GAAcM,IACpCA,EAAKiB,QAAQjB,EAAOA,EAAK8B,kBAAoB9B,EAAKiC,aAAeT,EAAiBxB,EAAKkC,aAAeT,EAAe,IACpH,CAACzB,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOkB,EAAa,IACxC,CAACf,EAAOO,KACDA,EAAMP,GAASe,IACrB1B,GACKA,EAAKuC,aAGWD,EAAS5B,MAE3B,MAAM8B,EAAU9C,GAAcM,IACnCA,EAAKyC,cAAc,EAAG,EAAG,EAAE,IAC1B,CAACzC,EAAMQ,KACRR,EAAKiB,SAASjB,EAAOQ,EAAOkB,EAAa,IACxC,CAACf,EAAOO,KACDA,EAAMP,GAASe,IACrB1B,GACKA,EAAK0C,gBAGUF,EAAQ9B,MCtBzB,MAAMiC,EAAUjD,GACrBM,GAAQA,EAAK4C,SAAS,EAAG,EAAG,EAAG,KAC/B,CAAC5C,EAAMQ,IAASR,EAAK6C,QAAQ7C,EAAK8C,UAAYtC,KAC9C,CAACG,EAAOO,KAASA,EAAMP,GAASO,EAAI6B,oBAAsBpC,EAAMoC,qBAAuBtB,GAAkBE,IACzG3B,GAAQA,EAAK8C,UAAY,IAGHH,EAAQjC,MAEzB,MAAMsC,EAAStD,GAAcM,IAClCA,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAKkD,WAAWlD,EAAKmD,aAAe3C,EAAK,IACxC,CAACG,EAAOO,KACDA,EAAMP,GAASgB,IACrB3B,GACKA,EAAKmD,aAAe,IAGNH,EAAOtC,MCnB9B,SAAS0C,EAAY5E,GACnB,OAAOkB,GAAcM,IACnBA,EAAK6C,QAAQ7C,EAAK8C,WAAa9C,EAAKqD,SAAW,EAAI7E,GAAK,GACxDwB,EAAK4C,SAAS,EAAG,EAAG,EAAG,EAAE,IACxB,CAAC5C,EAAMQ,KACRR,EAAK6C,QAAQ7C,EAAK8C,UAAmB,EAAPtC,EAAS,IACtC,CAACG,EAAOO,KACDA,EAAMP,GAASO,EAAI6B,oBAAsBpC,EAAMoC,qBAAuBtB,GAAkBG,GAEpG,CDYuBlC,GAAcM,IACnCA,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAKkD,WAAWlD,EAAKmD,aAAe3C,EAAK,IACxC,CAACG,EAAOO,KACDA,EAAMP,GAASgB,IACrB3B,GACKS,KAAKP,MAAMF,EAAO2B,KAGKjB,MCpBzB,MAAM4C,EAAaF,EAAY,GACzBG,EAAaH,EAAY,GACzBI,EAAcJ,EAAY,GAC1BK,EAAgBL,EAAY,GAC5BM,EAAeN,EAAY,GAC3BO,EAAaP,EAAY,GACzBQ,EAAeR,EAAY,GAUxC,SAASS,EAAWrF,GAClB,OAAOkB,GAAcM,IACnBA,EAAKkD,WAAWlD,EAAKmD,cAAgBnD,EAAK8D,YAAc,EAAItF,GAAK,GACjEwB,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAKkD,WAAWlD,EAAKmD,aAAsB,EAAP3C,EAAS,IAC5C,CAACG,EAAOO,KACDA,EAAMP,GAASiB,GAE3B,CAjB2B0B,EAAW5C,MACX6C,EAAW7C,MACV8C,EAAY9C,MACV+C,EAAc/C,MACfgD,EAAahD,MACfiD,EAAWjD,MACTkD,EAAalD,MAanC,MAAMqD,EAAYF,EAAW,GACvBG,EAAYH,EAAW,GACvBI,EAAaJ,EAAW,GACxBK,EAAeL,EAAW,GAC1BM,EAAcN,EAAW,GACzBO,EAAYP,EAAW,GACvBQ,EAAcR,EAAW,GAEZE,EAAUrD,MACVsD,EAAUtD,MACTuD,EAAWvD,MACTwD,EAAaxD,MACdyD,EAAYzD,MACd0D,EAAU1D,MACR2D,EAAY3D,MCrDjC,MAAM4D,EAAY5E,GAAcM,IACrCA,EAAK6C,QAAQ,GACb7C,EAAK4C,SAAS,EAAG,EAAG,EAAG,EAAE,IACxB,CAAC5C,EAAMQ,KACRR,EAAKuE,SAASvE,EAAKwE,WAAahE,EAAK,IACpC,CAACG,EAAOO,IACFA,EAAIsD,WAAa7D,EAAM6D,WAAyD,IAA3CtD,EAAIuD,cAAgB9D,EAAM8D,iBACpEzE,GACKA,EAAKwE,aAGYF,EAAU5D,MAE7B,MAAMgE,EAAWhF,GAAcM,IACpCA,EAAKkD,WAAW,GAChBlD,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAK2E,YAAY3E,EAAK4E,cAAgBpE,EAAK,IAC1C,CAACG,EAAOO,IACFA,EAAI0D,cAAgBjE,EAAMiE,cAAkE,IAAjD1D,EAAI2D,iBAAmBlE,EAAMkE,oBAC7E7E,GACKA,EAAK4E,gBAGWF,EAAShE,MCxB3B,MAAMoE,EAAWpF,GAAcM,IACpCA,EAAKuE,SAAS,EAAG,GACjBvE,EAAK4C,SAAS,EAAG,EAAG,EAAG,EAAE,IACxB,CAAC5C,EAAMQ,KACRR,EAAK+E,YAAY/E,EAAKyE,cAAgBjE,EAAK,IAC1C,CAACG,EAAOO,IACFA,EAAIuD,cAAgB9D,EAAM8D,gBAC/BzE,GACKA,EAAKyE,gBAIdK,EAAS3D,MAASI,GACRH,SAASG,EAAId,KAAKP,MAAMqB,KAASA,EAAI,EAAY7B,GAAcM,IACrEA,EAAK+E,YAAYtE,KAAKP,MAAMF,EAAKyE,cAAgBlD,GAAKA,GACtDvB,EAAKuE,SAAS,EAAG,GACjBvE,EAAK4C,SAAS,EAAG,EAAG,EAAG,EAAE,IACxB,CAAC5C,EAAMQ,KACRR,EAAK+E,YAAY/E,EAAKyE,cAAgBjE,EAAOe,EAAE,IALC,KAS3BuD,EAASpE,MAE3B,MAAMsE,EAAUtF,GAAcM,IACnCA,EAAK2E,YAAY,EAAG,GACpB3E,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAKiF,eAAejF,EAAK6E,iBAAmBrE,EAAK,IAChD,CAACG,EAAOO,IACFA,EAAI2D,iBAAmBlE,EAAMkE,mBAClC7E,GACKA,EAAK6E,mBClCC,SAASK,EAAU9F,EAAGC,GACnC,OAAY,MAALD,GAAkB,MAALC,EAAY8F,IAAM/F,EAAIC,GAAI,EAAKD,EAAIC,EAAI,EAAID,GAAKC,EAAI,EAAI8F,GAC9E,CCFe,SAASC,GAAWhG,EAAGC,GACpC,OAAY,MAALD,GAAkB,MAALC,EAAY8F,IAC5B9F,EAAID,GAAI,EACRC,EAAID,EAAI,EACRC,GAAKD,EAAI,EACT+F,GACN,CC+CA,SAASE,KACP,OAAO,CACT,CHjBAL,EAAQ7D,MAASI,GACPH,SAASG,EAAId,KAAKP,MAAMqB,KAASA,EAAI,EAAY7B,GAAcM,IACrEA,EAAKiF,eAAexE,KAAKP,MAAMF,EAAK6E,iBAAmBtD,GAAKA,GAC5DvB,EAAK2E,YAAY,EAAG,GACpB3E,EAAKiD,YAAY,EAAG,EAAG,EAAG,EAAE,IAC3B,CAACjD,EAAMQ,KACRR,EAAKiF,eAAejF,EAAK6E,iBAAmBrE,EAAOe,EAAE,IALL,KAS5ByD,EAAQtE,MIhDhC,MAAM4E,GAAM7E,KAAK8E,KAAK,IAClBC,GAAK/E,KAAK8E,KAAK,IACfE,GAAKhF,KAAK8E,KAAK,GAEnB,SAASG,GAAS/E,EAAOC,EAAMf,GAC7B,MAAMW,GAAQI,EAAOD,GAASF,KAAKkF,IAAI,EAAG9F,GACtC+F,EAAQnF,KAAKP,MAAMO,KAAKoF,MAAMrF,IAC9BzB,EAAQyB,EAAOC,KAAKqF,IAAI,GAAIF,GAC5BG,EAAShH,GAASuG,GAAM,GAAKvG,GAASyG,GAAK,EAAIzG,GAAS0G,GAAK,EAAI,EACrE,IAAIO,EAAIC,EAAIC,EAeZ,OAdIN,EAAQ,GACVM,EAAMzF,KAAKqF,IAAI,IAAKF,GAASG,EAC7BC,EAAKvF,KAAKL,MAAMO,EAAQuF,GACxBD,EAAKxF,KAAKL,MAAMQ,EAAOsF,GACnBF,EAAKE,EAAMvF,KAASqF,EACpBC,EAAKC,EAAMtF,KAAQqF,EACvBC,GAAOA,IAEPA,EAAMzF,KAAKqF,IAAI,GAAIF,GAASG,EAC5BC,EAAKvF,KAAKL,MAAMO,EAAQuF,GACxBD,EAAKxF,KAAKL,MAAMQ,EAAOsF,GACnBF,EAAKE,EAAMvF,KAASqF,EACpBC,EAAKC,EAAMtF,KAAQqF,GAErBA,EAAKD,GAAM,IAAOnG,GAASA,EAAQ,EAAU6F,GAAS/E,EAAOC,EAAc,EAARf,GAChE,CAACmG,EAAIC,EAAIC,EAClB,CAmBO,SAASC,GAAcxF,EAAOC,EAAMf,GAEzC,OAAO6F,GADO/E,GAASA,EAAvBC,GAAQA,EAAsBf,GAASA,GACH,EACtC,CAEO,SAASuG,GAASzF,EAAOC,EAAMf,GACNA,GAASA,EACvC,MAAMwG,GADNzF,GAAQA,IAAMD,GAASA,GACOuF,EAAMG,EAAUF,GAAcvF,EAAMD,EAAOd,GAASsG,GAAcxF,EAAOC,EAAMf,GAC7G,OAAQwG,GAAY,EAAG,IAAMH,EAAM,EAAI,GAAKA,EAAMA,EACpD,CCpDA,MAAM3G,GAAK,IAAIC,KAEf,SAAS8G,GAAUC,GAKjB,OAJAhH,GAAGwF,YAAYwB,GACfhH,GAAGgF,SAAS,GACZhF,GAAGsD,QAAQ,GACXtD,GAAGqD,SAAS,EAAG,EAAG,EAAG,GACdrD,EACT,CAUO,SAASiH,GAAenF,GAC7B,OAAOsB,EAAQ9C,MAAMyG,GAAUjF,EAAEoD,eAAiB,EAAGpD,EACvD,CAEO,SAASoF,GAAapF,GAC3B,OAAOqF,EAAS7G,MAAMyG,GAAUjF,EAAEoD,eAAiB,EAAGpD,EACxD,CAEO,SAASsF,GAAWJ,GACzB,OAAOD,GAAUC,GAAGlD,QACtB,CAEO,SAASuD,GAAUL,EAAG1H,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,GAC1C,GAAI,GAAKT,GAAKA,EAAI,IAAK,CACrB,MAAMvG,EAAO,IAAIR,QAASX,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,GAEzC,OADAhH,EAAK+E,YAAYwB,GACVvG,CACT,CACA,OAAO,IAAIR,KAAK+G,EAAG1H,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,EACpC,CAUO,SAASC,GAAa5F,GAC3B,MAAMkF,EAAI/G,KAAK0H,IAAI7F,EAAEwD,iBAAkB,EAAG,GAC1C,OAAO7B,EAAOnD,MAAM0G,EAAI,EAAGlF,EAC7B,CAEO,SAAS8F,GAAW9F,GACzB,MAAMkF,EAAI/G,KAAK0H,IAAI7F,EAAEwD,iBAAkB,EAAG,GAC1C,OAAOuC,EAAQvH,MAAM0G,EAAI,EAAGlF,EAC9B,CAEO,SAASgG,GAASd,GAEvB,OADAhH,GAAG0B,QAAQzB,KAAK0H,IAAIX,EAAG,EAAG,IACnBhH,GAAGuE,WACZ,CAEO,SAASwD,GAAQf,EAAG1H,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,GACxC,GAAI,GAAKT,GAAKA,EAAI,IAAK,CACrB,MAAMvG,EAAO,IAAIR,KAAKA,KAAK0H,KAAM,EAAErI,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,IAElD,OADAhH,EAAKiF,eAAe5D,EAAEkF,GACfvG,CACT,CACA,OAAO,IAAIR,KAAKA,KAAK0H,IAAIX,EAAG1H,EAAGwC,EAAGwF,EAAGC,EAAGC,EAAGC,GAC7C,CCpDA,SAAS9G,GAAMxB,EAAO8B,EAAM+G,EAAKC,EAAKC,GACpC,MAAMC,EAAIlH,GAAQ,EACZnB,EAAIsI,EAAIA,KAACjJ,GACTkJ,EAAIA,CAAC3I,EAAM4I,EAAGC,IA6BtB,SAAiBC,EAAGP,EAAKhH,EAAMwH,GAC7B,MAAMzJ,EAAIiC,GAAQ,EAAIuH,EAClBC,EAAQ,CAAC3G,EAAGkF,IAAMyB,EAAQxH,EAAOC,KAAKP,OAAO6H,EAAE1G,EAAGkF,GAAKyB,GAASxH,GAChE,CAACa,EAAGkF,IAAM/F,EAAOC,KAAKP,MAAM6H,EAAE1G,EAAGkF,GAAK/F,GAC1C,OAAOgH,EAAM,CAACnG,EAAGkF,IAAMiB,EAAIjJ,EAAE8C,EAAGkF,GAAIA,GAAKhI,CAC3C,CAhCiB0J,CAAQV,EADfO,EAAMA,GAAO7I,GACYuI,EAAIM,GAAM7I,IAASI,GAAKqI,EAAGG,GAGtDK,EAAI,IAAI1I,KACRjB,EAAI4J,EAAKA,MAACzJ,GACV6H,EAAIhI,EAAEf,GAAQoK,EAAEpK,GAAQ4K,EAAQA,SAAC,MACjCvJ,EAAIN,EAAEb,GAASkK,EAAElK,GACba,EAAEd,GAAWmK,EAAEnK,GACf4H,EAAIA,KACRhE,EAAI9C,EAAEZ,IAASY,EAAEV,GAAO+J,EAAE/J,EAAK,EAAGF,EAAOE,GACrCU,EAAEZ,GAAQiK,EAAEjK,EAAM,GAClBY,EAAEV,GAAO+J,EAAE/J,EAAK,GAChBU,EAAEX,GAAQgK,EAAEhK,EAAM,GAClBW,EAAET,GAAa8J,EAAE9J,EAAW,GAC5BuK,EAAGA,IACPxB,EAAItI,EAAER,GAAS6J,EAAE7J,GAASsH,EAAIA,KAC9ByB,EAAIvI,EAAEP,GAAW4J,EAAE5J,GAAWqH,EAAIA,KAClC0B,EAAIxI,EAAEN,GAAW2J,EAAE3J,GAAWoH,EAAIA,KAClC2B,EAAIzI,EAAEL,GAAgB0J,EAAE1J,GAAgBmH,EAAIA,KAElD,OAAO,SAASiD,GACdJ,EAAEjH,SAASqH,GACX,MAAMC,EAAOhC,EAAE2B,GACf,OAAOT,EAAQc,EAAM1J,EAAEqJ,GAAI7G,EAAE6G,EAAGK,GAAO1B,EAAEqB,GAAIpB,EAAEoB,GAAInB,EAAEmB,GAAIlB,EAAEkB,GAC5D,CACH,CAWA,SAASM,GAAQC,EAAMC,EAAKC,GAC1B,OAAOD,EAAa,EAAPD,GAAYE,EAAW,GAAK,CAC3C,CAIA,MAAMC,GAAW,CACfpL,CAACA,GAAe6D,GAAKA,EAAEoD,cACvBhH,CAACA,GAAe4D,GAAKZ,KAAKP,MAAMmB,EAAEmD,WAAa,GAC/C9G,CAACA,GAAe2D,GAAKA,EAAEmD,WACvB5G,CAACA,GAAeyD,GAAKA,EAAEyB,UACvB/E,CAACA,GAAesD,GAAKA,EAAEkB,WACvBvE,CAACA,GAAeqD,GAAKA,EAAEa,aACvBjE,CAACA,GAAeoD,GAAKA,EAAEY,aACvB/D,CAACA,GAAemD,GAAKA,EAAES,kBACvBhE,CAACA,GAAeuD,GAAKmF,GAAenF,GACpC1D,CAACA,GAAe0D,GAAKoF,GAAapF,GAClC,CAAC1D,EAAOE,GAAQ,CAACwD,EAAGkF,IAAMiC,GAAQ/B,GAAapF,GAAIA,EAAEgC,SAAUsD,GAAWJ,IAC1E1I,CAACA,GAAe,CAACwD,EAAGkF,IAAMiC,GAAQ,EAAGnH,EAAEgC,SAAUsD,GAAWJ,KAGxDsC,GAAW,CACfpL,CAACA,GAAUqL,GAAK,EAAIA,EACpBnL,CAACA,GAAU,CAACoL,EAAGxC,IAAMiC,GAAQO,EAAG,EAAGpC,GAAWJ,KAShD,MAAMyC,GAAS,CACbxL,CAACA,GAAe6D,GAAKA,EAAEwD,iBACvBpH,CAACA,GAAe4D,GAAKZ,KAAKP,MAAMmB,EAAEuD,cAAgB,GAClDlH,CAACA,GAAe2D,GAAKA,EAAEuD,cACvBhH,CAACA,GAAeyD,GAAKA,EAAE8B,aACvBpF,CAACA,GAAesD,GAAKA,EAAEqB,cACvB1E,CAACA,GAAeqD,GAAKA,EAAEgB,gBACvBpE,CAACA,GAAeoD,GAAKA,EAAEU,gBACvB7D,CAACA,GAAemD,GAAKA,EAAE4H,qBACvBnL,CAACA,GAAeuD,GAAK4F,GAAa5F,GAClC1D,CAACA,GAAe0D,GAAK8F,GAAW9F,GAChCxD,CAACA,GAAe,CAACwD,EAAGkF,IAAMiC,GAAQ,EAAGnH,EAAEyC,YAAauD,GAASd,IAC7D,CAAC5I,EAAOE,GAAQ,CAACwD,EAAGkF,IAAMiC,GAAQrB,GAAW9F,GAAIA,EAAEyC,YAAauD,GAASd,KAGrE2C,GAAS,CACbzL,CAACA,GAAUqL,GAAK,EAAIA,EACpBnL,CAACA,GAAU,CAACoL,EAAGxC,IAAMiC,GAAQO,EAAG,EAAG1B,GAASd,KC5E9C,MAAM4C,GAAgB,CACpB3L,CAACA,GAAesH,EAChBrH,CAACA,GAAe6G,EAAUnD,MAAM,GAChCzD,CAACA,GAAe4G,EAChB3G,CAACA,GAAe+I,EAChB9I,CAACA,GAAe+E,EAChB9E,CAACA,GAAe8E,EAChB7E,CAACA,GAAe6E,EAChB5E,CAACA,GAAeuE,EAChBtE,CAACA,GAAegE,EAChB/D,CAACA,GAAemL,EAChBlL,CAACA,GAAemL,GAGZC,GAAe,CACnB9L,CAACA,GAAewH,EAChBvH,CAACA,GAAeiH,EAASvD,MAAM,GAC/BzD,CAACA,GAAegH,EAChB/G,CAACA,GAAeyJ,EAChBxJ,CAACA,GAAeoF,EAChBnF,CAACA,GAAemF,EAChBlF,CAACA,GAAekF,EAChBjF,CAACA,GAAeyE,EAChBxE,CAACA,GAAemE,EAChBlE,CAACA,GAAesL,EAChBrL,CAACA,GAAesL,GAGX,SAAS9J,GAAaT,GAC3B,OAAOkK,GAAclK,EACvB,CAEO,SAASwK,GAAYxK,GAC1B,OAAOqK,GAAarK,EACtB,CAEA,SAASsB,GAAOmJ,EAAM1J,EAAMQ,GAC1B,OAAOkJ,EAAOA,EAAKnJ,OAAOP,EAAMQ,QAAQmJ,CAC1C,CAUA,SAASC,GAASF,EAAM/I,EAAOC,EAAMJ,GACnC,OAAOkJ,EAAOA,EAAKhJ,MAAMC,EAAOC,EAAMJ,QAAQmJ,CAChD,CC/EA,MAAMnI,GAAiB,IACjBC,GAAiBD,IACjBE,GAAeD,KACfE,GAAcD,MAEdmI,GAAgBlI,OAChBmI,GAAenI,QAEfoI,GAAU,CAACvM,EAAME,EAAOE,EAAMG,EAAOC,EAASC,EAASC,GACvD8L,GAAUD,GAAMnL,MAAM,GAAG,GACzBqL,GAAUD,GAAQpL,MAAM,GAAG,GAC3BsL,GAAUD,GAAQrL,MAAM,GAAG,GAC3BuL,GAAUD,GAAMtL,MAAM,GAAG,GAEzBwL,GAAU,CAAC5M,EAAME,GACjB2M,GAAU,CAAC7M,GAEX8M,GAAY,CAChB,CAACN,GAAU,EAAQxI,IACnB,CAACwI,GAAU,EAAI,KACf,CAACA,GAAS,GAAI,MACd,CAACA,GAAS,GAAI,KACd,CAACC,GAAU,EAAQxI,IACnB,CAACwI,GAAU,EAAI,KACf,CAACA,GAAS,GAAI,KACd,CAACA,GAAS,GAAI,MACd,CAAGC,GAAQ,EAAQxI,IACnB,CAAGwI,GAAQ,EAAI,OACf,CAAGA,GAAQ,EAAI,OACf,CAAGA,GAAO,GAAI,OACd,CAAKC,GAAM,EAAQxI,IACnB,CAlBc,CAACnE,EAAMG,GAkBV,EA3BQgE,QA4BnB,CAAGyI,GAAQ,EAAQP,IACnB,CAAGO,GAAQ,EAAI,QACf,CAAIC,GAAO,EAAQP,0JH1Bd,SAAmBzI,GACxB,OAAOmF,GAAe,IAAIhH,KAAK6B,GACjC,YG2Be,SAASkJ,GACtB,MAAMC,EAAMD,EAAIE,OACV9E,EAAM4E,EAAIG,SAAW,GACrBC,EAASlK,KAAKmK,IAAIC,EAAIA,KAACL,IAAQ7E,EAErC,IACIjH,EAAO8B,EADPhC,EL3CS,SAAkBuJ,GAC/B,IAAI+C,EAAUC,EAAUC,EAiBxB,SAASC,EAAK7L,EAAG8L,GAA0B,IAAvBC,EAAElL,UAAAnB,OAAA,QAAA6K,IAAA1J,UAAA,GAAAA,UAAA,GAAG,EAAGmL,EAAEnL,UAAAnB,OAAAmB,QAAA0J,IAAA1J,UAAA0J,GAAA1J,UAAGb,GAAAA,EAAEN,OACjC,GAAIqM,EAAKC,EAAI,CACX,GAAuB,IAAnBN,EAASI,EAAGA,GAAU,OAAOE,EACjC,EAAG,CACD,MAAMC,EAAOF,EAAKC,IAAQ,EACtBL,EAAS3L,EAAEiM,GAAMH,GAAK,EAAGC,EAAKE,EAAM,EACnCD,EAAKC,CACX,OAAQF,EAAKC,EAChB,CACA,OAAOD,CACT,CAmBA,OAvCiB,IAAbpD,EAAEjJ,QACJgM,EAAW5F,EACX6F,EAAWA,CAAC1J,EAAG6J,IAAMhG,EAAU6C,EAAE1G,GAAI6J,GACrCF,EAAQA,CAAC3J,EAAG6J,IAAMnD,EAAE1G,GAAK6J,IAEzBJ,EAAW/C,IAAM7C,GAAa6C,IAAM3C,GAAa2C,EAAI1C,GACrD0F,EAAWhD,EACXiD,EAAQjD,GAgCH,CAACkD,OAAMK,OALd,SAAgBlM,EAAG8L,GAA0B,IAAvBC,EAAElL,UAAAnB,OAAA,QAAA6K,IAAA1J,UAAA,GAAAA,UAAA,GAAG,EACzB,MAAMzB,EAAIyM,EAAK7L,EAAG8L,EAAGC,GADSlL,UAAAnB,OAAAmB,QAAA0J,IAAA1J,UAAA0J,GAAA1J,UAAGb,GAAAA,EAAEN,QACL,GAC9B,OAAON,EAAI2M,GAAMH,EAAM5L,EAAEZ,EAAI,GAAI0M,IAAMF,EAAM5L,EAAEZ,GAAI0M,GAAK1M,EAAI,EAAIA,CAClE,EAEsB+M,MAjBtB,SAAenM,EAAG8L,GAA0B,IAAvBC,EAAElL,UAAAnB,OAAA,QAAA6K,IAAA1J,UAAA,GAAAA,UAAA,GAAG,EAAGmL,EAAEnL,UAAAnB,OAAAmB,QAAA0J,IAAA1J,UAAA0J,GAAA1J,UAAGb,GAAAA,EAAEN,OAClC,GAAIqM,EAAKC,EAAI,CACX,GAAuB,IAAnBN,EAASI,EAAGA,GAAU,OAAOE,EACjC,EAAG,CACD,MAAMC,EAAOF,EAAKC,IAAQ,EACtBL,EAAS3L,EAAEiM,GAAMH,IAAM,EAAGC,EAAKE,EAAM,EACpCD,EAAKC,CACX,OAAQF,EAAKC,EAChB,CACA,OAAOD,CACT,EAQF,CKLUK,EAAShN,GAAKA,EAAE,KAAI+M,MAAMjB,GAAWK,GAe7C,OAZInM,IAAM8L,GAAUxL,QAClBJ,EAAQ2L,GACR7J,EAAO4F,GAASoE,EAAI,GAAKV,GAAcU,EAAI,GAAKV,GAAcnE,IACrDnH,GACTA,EAAI8L,GAAUK,EAASL,GAAU9L,EAAI,GAAG,GAAK8L,GAAU9L,GAAG,GAAKmM,EAASnM,EAAI,EAAIA,GAChFE,EAAQF,EAAE,GACVgC,EAAOhC,EAAE,KAETE,EAAQqL,GACRvJ,EAAOC,KAAKkF,IAAIS,GAASoE,EAAI,GAAIA,EAAI,GAAI7E,GAAM,IAG1C,CAACjH,QAAO8B,OACjB,cFwBO,SAAmB9B,EAAO8B,GAC/B,OAAON,GAAMxB,EAAO8B,GAAQ,EAAGoI,GAAUC,GAAUjC,GACrD,iCCfO,SAAoB3H,EAAMe,EAAMQ,GACrC,OAAOD,GAAOb,GAAaT,GAAOe,EAAMQ,EAC1C,iBAUO,SAAsBvB,EAAM0B,EAAOC,EAAMJ,GAC9C,OAAOoJ,GAASlK,GAAaT,GAAO0B,EAAOC,EAAMJ,EACnD,sBjBTO,SAA2B9B,EAAO+M,GACvC,MAAM/D,EAAIgE,EAAMA,OAAC,GAAIpM,EAAmBmM,GAClClN,EAAIE,EAAUC,GACdiN,EAAIpN,EAAEO,OAEZ,IAAyBoC,EAAK4G,EAA1B8D,EAAM,GAAIjL,EAAQ,EAEtB,IAAKA,EAAM,EAAGA,EAAMgL,GAClB,IAAKzK,EAAI3C,EAAEO,OAAQoC,EAAMP,IAASO,EAEhC,GADA4G,EAAMvJ,EAAEK,MAAM+B,EAAOO,GAAK2K,KAAK,KACjB,MAAVnE,EAAEI,GAAc,CAClB8D,GAAOlE,EAAEI,GACTnH,EAAQO,EACR,KACF,CAIJ,OAAO0K,EAAIE,MACb,2BgBeO,SAAkBpN,EAAO8B,GAC9B,OAAON,GAAMxB,EAAO8B,GAAQ,EAAGwI,GAAQE,GAAQ5B,GACjD,+BCrCO,SAAmBrI,EAAMe,EAAMQ,GACpC,OAAOD,GAAOkJ,GAAYxK,GAAOe,EAAMQ,EACzC,gBAUO,SAAqBvB,EAAM0B,EAAOC,EAAMJ,GAC7C,OAAOoJ,GAASH,GAAYxK,GAAO0B,EAAOC,EAAMJ,EAClD,iBFlDO,SAAsBa,GAC3B,OAAO4F,GAAa,IAAIzH,KAAK6B,GAC/B,YAEO,SAAiBA,GACtB,OAAO8F,GAAW,IAAI3H,KAAK6B,GAC7B,SA/BO,SAAcA,GACnB,OAAOoF,GAAa,IAAIjH,KAAK6B,GAC/B","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vega-time",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "description": "JavaScript date/time utilities for Vega.",
5
5
  "keywords": [
6
6
  "vega",
@@ -24,7 +24,7 @@
24
24
  "dependencies": {
25
25
  "d3-array": "^3.2.2",
26
26
  "d3-time": "^3.1.0",
27
- "vega-util": "^1.17.1"
27
+ "vega-util": "^1.17.3"
28
28
  },
29
- "gitHead": "fb1092f6b931d450f9c210b67ae4752bd3dd461b"
29
+ "gitHead": "0e1eb8b091bc83a343bcb23caa87a6d8762abc54"
30
30
  }