UNPKG

6.25 kBJavaScriptView Raw
1var E="Invalid Date",L="YYYY-MM-DDTHH:mm:ssZ",b=/^(\d{4})[/-]?(\d{1,2})?[/-]?(\d{0,2})[\sTt]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,I=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;var A=t=>t,l=(t,r)=>r.reduce((e,n)=>(Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]),e),{}),D=t=>new Date(t),N=t=>{let r=-t,e=Math.abs(r),n=Math.floor(e/60),s=e%60;return`${r<=0?"+":"-"}${`${n}`.padStart(2,"0")}:${`${s}`.padStart(2,"0")}`},T=t=>typeof t=="object"&&t!==null&&Object.keys(t).length===0;var M=A({y:"year",M:"month",D:"date",h:"hour",m:"minute",s:"second",ms:"millisecond",d:"day",w:"week"}),v=Object.keys(M),V=Object.values(M),R=t=>v.includes(t),g=t=>{var e,n;return R(t)?M[t]:(n=(e=t==null?void 0:t.toLowerCase())==null?void 0:e.replace(/s$/,""))!=null?n:""};var P={name:"en",weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},C=P;var U="en",y={};y[U]=C;var k=t=>{if(t instanceof Date)return D(t);if(t===null)return new Date(Number.NaN);if(t===void 0)return new Date;if(T(t))return new Date;if(Array.isArray(t))return new Date(t[0],t[1],t[2],t[3],t[4],t[5],t[6]);if(typeof t=="string"&&!/z$/i.test(t)){let r=t.match(b);if(r){let e=+r[2]-1||0,n=+(r[7]||"0").slice(0,3);return new Date(+r[1],e,+(r[3]||1),+(r[4]||0),+(r[5]||0),+(r[6]||0),n)}}return new Date(t)},O=(t,r,e)=>{let n;if(!t)return U;if(typeof t=="string"){let s=t.toLowerCase();y[s]&&(n=s),e&&(y[s]=e,n=s);let o=t.split("-");if(!n&&o.length>1)return O(o[0])}else{let{name:s}=t;y[s]=t,n=s}return!r&&n&&(U=n),n||(r?"":U)};var h=class extends class{}{constructor(e,n){super();this._d=new Date;this._options=n||{},this._locale=O(this._options.locale,!0),this.parse(e),this._init()}parse(e){this._d=k(e)}_init(){this._year=this._d.getFullYear(),this._month=this._d.getMonth(),this._date=this._d.getDate(),this._hour=this._d.getHours(),this._minute=this._d.getMinutes(),this._second=this._d.getSeconds(),this._millisecond=this._d.getMilliseconds(),this._day=this._d.getDay()}valueOf(){return this._d.getTime()}unix(){return Math.floor(this.valueOf()/1e3)}isValid(){return this._d.toString()!==E}_startEndOf(e,n){let s=({year:d=this._year,month:c=this._month,date:p=this._date,hour:f=this._hour,minute:x=this._minute,second:u=this._second,millisecond:m=this._millisecond})=>new h([d,c,p,f,x,u,m],this._options),o=n?{month:0,date:1,hour:0,minute:0,second:0,millisecond:0}:{month:11,date:31,hour:23,minute:59,second:59,millisecond:999};switch(g(e)){case"year":return s(o);case"month":return s(n?l(o,["date","hour","minute","second","millisecond"]):{month:this._month+1,date:0,...l(o,["hour","minute","second","millisecond"])});case"date":case"day":return s(l(o,["hour","minute","second","millisecond"]));case"hour":return s(l(o,["minute","second","millisecond"]));case"minute":return s(l(o,["second","millisecond"]));case"second":return s(l(o,["millisecond"]));case"week":{let d=this.$locale().weekStart||0,c=(this._day<d?this._day+7:this._day)-d;return s({date:n?this._date-c:this._date+(6-c),...l(o,["hour","minute","second","millisecond"])})}case"millisecond":return this.clone()}}$locale(){return y[this._locale]}locale(e,n){if(!e)return this._locale;let s=this.clone(),o=O(e,!0,n);return o&&(s._locale=o),s}startOf(e){return this._startEndOf(e,!0)}endOf(e){return this._startEndOf(e,!1)}isSame(e,n="millisecond"){let s=i(e);return this.startOf(n)<=s&&s<=this.endOf(n)}isAfter(e,n="millisecond"){return i(e)<this.startOf(n)}isBefore(e,n="millisecond"){return this.endOf(n)<i(e)}clone(){return new h(this._d,this._options)}get(e){return this[`_${e}`]}set(e,n){let o={year:"setFullYear",month:"setMonth",date:"setDate",hour:"setHours",minute:"setMinutes",second:"setSeconds",millisecond:"setMilliseconds",day:"setDate"}[e];if(!o)return this;let a=D(this._d),d=e==="day"?this._date+(n-this._day):n;return e==="month"||e==="year"?(a.setDate(1),a[o](d),a.setDate(Math.min(this._date,i(a).daysInMonth()))):o&&a[o](d),i(a)}daysInMonth(){return this.endOf("month").date()}toDate(){return D(this._d)}toJSON(){return this.isValid()?this.toISOString():null}toISOString(){return this._d.toISOString()}toString(){return this._d.toUTCString()}utcOffset(){return-Math.round(this._d.getTimezoneOffset()/15)*15}format(e){let n=this.$locale();if(!this.isValid())return n.invalidDate||E;let s=e||L,o=N(this.utcOffset()),{weekdays:a,months:d}=n,c=(u,m,S,_)=>(u==null?void 0:u[m])||(S==null?void 0:S[m].slice(0,Math.max(0,_!=null?_:0))),p=u=>`${this._hour%12||12}`.padStart(u,"0"),f=n.meridiem||((u,m,S)=>{let _=u<12?"AM":"PM";return S?_.toLowerCase():_}),x={YY:String(this._year).slice(-2),YYYY:this._year,M:this._month+1,MM:`${this._month+1}`.padStart(2,"0"),MMM:c(n.monthsShort,this._month,d,3),MMMM:c(d,this._month),D:this._date,DD:`${this._date}`.padStart(2,"0"),d:String(this._day),dd:c(n.weekdaysMin,this._day,a,2),ddd:c(n.weekdaysShort,this._day,a,3),dddd:a[this._day],H:String(this._hour),HH:`${this._hour}`.padStart(2,"0"),h:p(1),hh:p(2),a:f(this._hour,this._minute,!0),A:f(this._hour,this._minute,!1),m:String(this._minute),mm:`${this._minute}`.padStart(2,"0"),s:String(this._second),ss:`${this._second}`.padStart(2,"0"),SSS:`${this._millisecond}`.padStart(3,"0"),Z:o};return s.replace(I,(u,m)=>m||x[u]||o.replace(":",""))}add(e,n){let s=g(n),o=p=>this.date(this.date()+Math.round(p*e));if(s==="month")return this.set("month",this._month+e);if(s==="year")return this.set("year",this._year+e);if(s==="day")return o(1);if(s==="week")return o(7);let d={minute:6e4,hour:36e5,second:1e3,millisecond:1}[s],c=this.valueOf()+e*d;return new h(c,this._options)}subtract(e,n){return this.add(e*-1,n)}},j=t=>{function r(e){return e===void 0?this.get(t):this.set(t,e)}return r};["year","month","date","hour","minute","second","millisecond","day"].forEach(t=>h.prototype[t]=j(t));var w=t=>t instanceof h,Y=t=>i(t*1e3),H=(t,r)=>(t._i||(t(h,i,r),t._i=!0),i),i=(t,r,e,n)=>{if(w(t))return t;typeof e=="boolean"&&(n=e,e=void 0);let s={format:r,locale:e,strict:n};return new h(t,s)};i.isDayjs=w;i.unix=Y;i.extend=H;i.locale=O;var st=i;export{h as Dayjs,i as dayjs,st as default,H as extend,w as isDayjs,O as locale,Y as unix};