date-and-time 4.2.0 → 4.3.0
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.
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.js +1 -1
- package/dist/plugin.cjs +1 -1
- package/dist/plugin.d.ts +4 -3
- package/dist/plugin.js +1 -1
- package/dist/plugins/day-of-week.cjs +1 -1
- package/dist/plugins/day-of-week.d.ts +2 -2
- package/dist/plugins/day-of-week.js +1 -1
- package/dist/plugins/microsecond.d.ts +2 -2
- package/dist/plugins/nanosecond.d.ts +2 -2
- package/dist/plugins/ordinal.d.ts +2 -2
- package/dist/plugins/two-digit-year.d.ts +2 -2
- package/package.json +13 -11
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/** @preserve Copyright (c) KNOWLEDGECODE - MIT License */const e=/\\\[/g,t=/\\\]/g,r=/\uE000/g,n=/\uE001/g,s=/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g,o=o=>{const a=o.replace(e,"").replace(t,"").match(s)??[];return[o,...a.map(e=>e.replace(r,"[").replace(n,"]"))]},a=new Map,i=e=>a.get(e)??(()=>{const t=new Intl.DateTimeFormat("en-US",{hour12:!1,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,timeZone:e});return e&&a.set(e,t),t})(),c=e=>!!e&&"object"==typeof e&&"zone_name"in e&&"gmt_offset"in e,u=e=>"string"==typeof e&&"UTC"===e.toUpperCase(),l=(e,t)=>new Date(e-1e3*((e,t)=>{const r=i("UTC"),n=i(t.zone_name),s=t.gmt_offset;for(let t=0;t<2;t++){const o=r.format(e-86400*t*1e3);for(let r=0,a=s.length;r<a;r++)if(n.format(e-1e3*(s[r]+86400*t))===o)return s[r]}return NaN})(e,t)),d=(e,t)=>{if(u(t))return{weekday:e.getUTCDay(),year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),fractionalSecond:e.getUTCMilliseconds(),timezoneOffset:0};const r=i(t).formatToParts(e).reduce((e,{type:t,value:r})=>{switch(t){case"weekday":e[t]="SunMonTueWedThuFriSat".indexOf(r)/3;break;case"hour":e[t]=+r%24;break;case"year":case"month":case"day":case"minute":case"second":case"fractionalSecond":e[t]=+r}return e},{weekday:4,year:1970,month:1,day:1,hour:0,minute:0,second:0,fractionalSecond:0,timezoneOffset:0});return r.timezoneOffset=(e.getTime()-Date.UTC(r.year,r.month-(r.year<100?22801:1),r.day,r.hour,r.minute,r.second,r.fractionalSecond))/6e4,r},h=e=>Date.UTC(e.year,e.month-(e.year<100?22801:1),e.day,e.hour,e.minute,e.second,e.fractionalSecond+6e4*e.timezoneOffset);class m{constructor(e,t){this.parts=d(e,t),this.time=e.getTime()}getFullYear(){return this.parts.year}getMonth(){return this.parts.month-1}getDate(){return this.parts.day}getHours(){return this.parts.hour}getMinutes(){return this.parts.minute}getSeconds(){return this.parts.second}getMilliseconds(){return this.parts.fractionalSecond}getDay(){return this.parts.weekday}getTime(){return this.time}getTimezoneOffset(){return this.parts.timezoneOffset}}class g{}const M=(e,t)=>e.getFullYear()+("buddhist"===t?543:0);const f=new class extends g{YYYY(e,t){return`000${String(M(e,t.calendar))}`.slice(-4)}YY(e,t){return`0${String(M(e,t.calendar))}`.slice(-2)}Y(e,t){return String(M(e,t.calendar))}MMMM(e,t,r){return t.locale.getMonthList({style:"long",compiledObj:r})[e.getMonth()]??""}MMM(e,t,r){return t.locale.getMonthList({style:"short",compiledObj:r})[e.getMonth()]??""}MM(e){return`0${String(e.getMonth()+1)}`.slice(-2)}M(e){return String(e.getMonth()+1)}DD(e){return`0${String(e.getDate())}`.slice(-2)}D(e){return String(e.getDate())}HH(e,t){return`0${String(e.getHours()||("h24"===t.hour24?24:0))}`.slice(-2)}H(e,t){return String(e.getHours()||("h24"===t.hour24?24:0))}AA(e,t,r){return t.locale.getMeridiemList({style:"long",compiledObj:r,case:"uppercase"})[+(e.getHours()>11)]??""}A(e,t,r){return t.locale.getMeridiemList({style:"short",compiledObj:r,case:"uppercase"})[+(e.getHours()>11)]??""}aa(e,t,r){return t.locale.getMeridiemList({style:"long",compiledObj:r,case:"lowercase"})[+(e.getHours()>11)]??""}a(e,t,r){return t.locale.getMeridiemList({style:"short",compiledObj:r,case:"lowercase"})[+(e.getHours()>11)]??""}hh(e,t){return`0${String(e.getHours()%12||("h12"===t.hour12?12:0))}`.slice(-2)}h(e,t){return String(e.getHours()%12||("h12"===t.hour12?12:0))}mm(e){return`0${String(e.getMinutes())}`.slice(-2)}m(e){return String(e.getMinutes())}ss(e){return`0${String(e.getSeconds())}`.slice(-2)}s(e){return String(e.getSeconds())}SSS(e){return`00${String(e.getMilliseconds())}`.slice(-3)}SS(e){return`00${String(e.getMilliseconds())}`.slice(-3,-1)}S(e){return`00${String(e.getMilliseconds())}`.slice(-3,-2)}dddd(e,t,r){return t.locale.getDayOfWeekList({style:"long",compiledObj:r})[e.getDay()]??""}ddd(e,t,r){return t.locale.getDayOfWeekList({style:"short",compiledObj:r})[e.getDay()]??""}dd(e,t,r){return t.locale.getDayOfWeekList({style:"narrow",compiledObj:r})[e.getDay()]??""}Z(e){const t=e.getTimezoneOffset(),r=Math.abs(t);return`${t>0?"-":"+"}${`0${String(r/60|0)}`.slice(-2)}${`0${String(r%60)}`.slice(-2)}`}ZZ(e){const t=e.getTimezoneOffset(),r=Math.abs(t);return`${t>0?"-":"+"}${`0${String(r/60|0)}`.slice(-2)}:${`0${String(r%60)}`.slice(-2)}`}},p={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"],AA:["A.M.","P.M."],a:["am","pm"],aa:["a.m.","p.m."]};var y=new class{getLocale(){return"en"}getMonthList(e){return"long"===e.style?p.MMMM:p.MMM}getDayOfWeekList(e){return"long"===e.style?p.dddd:"short"===e.style?p.ddd:p.dd}getMeridiemList(e){return"long"===e.style?"lowercase"===e.case?p.aa:p.AA:"lowercase"===e.case?p.a:p.A}},S={encode:e=>e,decode:e=>e};const D=/^\[(.*)\]$/;function L(e,t,r){const n=("string"==typeof t?o(t):t).slice(1),s=c(r?.timeZone)?r.timeZone.zone_name:r?.timeZone,a=s?new m(e,s):e,i={hour12:r?.hour12??"h12",hour24:r?.hour24??"h23",numeral:r?.numeral??S,calendar:r?.calendar??"gregory",timeZone:r?.timeZone,locale:r?.locale??y},u=[...r?.plugins??[],f],l=i.numeral.encode;return n.reduce((e,t)=>e+((e,t)=>{for(const r of u)if(r[e])return l(r[e](a,i,t));return D.test(e)?e.replace(D,"$1"):e})(t,n),"")}class T{}const C=(e,t,r)=>{const n=e.exec(t)?.[0]??"";return{value:+n,length:n.length,token:r}},w=(e,t,r)=>e.reduce((e,n,s)=>n.length>e.length&&!t.indexOf(n)?{value:s,length:n.length,token:r}:e,{value:-1,length:0,token:r});const b=new class extends T{YYYY(e){return C(/^\d{4}/,e,"Y")}Y(e){return C(/^\d{1,4}/,e,"Y")}MMMM(e,t,r){const n=t.locale.getMonthList({style:"long",compiledObj:r}),s=t.locale.getLocale(),o=t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"M"):w(n,e,"M");return o.value++,o}MMM(e,t,r){const n=t.locale.getMonthList({style:"short",compiledObj:r}),s=t.locale.getLocale(),o=t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"M"):w(n,e,"M");return o.value++,o}MM(e){return C(/^\d\d/,e,"M")}M(e){return C(/^\d\d?/,e,"M")}DD(e){return C(/^\d\d/,e,"D")}D(e){return C(/^\d\d?/,e,"D")}HH(e){return C(/^\d\d/,e,"H")}H(e){return C(/^\d\d?/,e,"H")}AA(e,t,r){const n=t.locale.getMeridiemList({style:"long",compiledObj:r,case:"uppercase"}),s=t.locale.getLocale();return t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(n,e,"A")}A(e,t,r){const n=t.locale.getMeridiemList({style:"short",compiledObj:r,case:"uppercase"}),s=t.locale.getLocale();return t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(n,e,"A")}aa(e,t,r){const n=t.locale.getMeridiemList({style:"long",compiledObj:r,case:"lowercase"}),s=t.locale.getLocale();return t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(n,e,"A")}a(e,t,r){const n=t.locale.getMeridiemList({style:"short",compiledObj:r,case:"lowercase"}),s=t.locale.getLocale();return t.ignoreCase?w(n.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(n,e,"A")}hh(e){return C(/^\d\d/,e,"h")}h(e){return C(/^\d\d?/,e,"h")}mm(e){return C(/^\d\d/,e,"m")}m(e){return C(/^\d\d?/,e,"m")}ss(e){return C(/^\d\d/,e,"s")}s(e){return C(/^\d\d?/,e,"s")}SSS(e){return C(/^\d{1,3}/,e,"S")}SS(e){const t=C(/^\d\d?/,e,"S");return t.value*=10,t}S(e){const t=C(/^\d/,e,"S");return t.value*=100,t}Z(e){const t=C(/^[+-][01]\d[0-5]\d/,e,"Z");return t.value=-60*(t.value/100|0)-t.value%100,t}ZZ(e){const t=/^([+-][01]\d):([0-5]\d)/.exec(e)??["","",""],r=+(t[1]+t[2]);return{value:-60*(r/100|0)-r%100,length:t[0].length,token:"Z"}}},O=/^\[(.*)\]$/;function x(e,t,r){const n=("string"==typeof t?o(t):t).slice(1),s={hour12:r?.hour12??"h12",hour24:r?.hour24??"h23",numeral:r?.numeral??S,calendar:r?.calendar??"gregory",ignoreCase:r?.ignoreCase??!1,timeZone:c(r?.timeZone)||u(r?.timeZone)?r.timeZone:void 0,locale:r?.locale??y},a={_index:0,_length:0,_match:0},i=[...r?.plugins??[],b],l=(e,t)=>{for(const r of i)if(r[e])return r[e](t,s,n)};e=s.numeral.decode(e);for(const t of n){const r=e.substring(a._index),n=l(t,r);if(n){if(!n.length)break;n.token&&(a[n.token]=n.value+0),a._index+=n.length,a._match++}else if(t===r[0]||" "===t)a._index++;else{if(!O.test(t)||r.indexOf(t.replace(O,"$1"))){if("..."===t){a._index=e.length;break}break}a._index+=t.length-2}}return a._length=e.length,a}function A(e,t){const r=void 0===e.Y?1970:e.Y-("buddhist"===t?.calendar?543:0),[n,s]="h11"===t?.hour12?[0,11]:[1,12],[o,a]="h24"===t?.hour24?[1,24]:[0,23],i=(e,t,r)=>void 0===e||e>=t&&e<=r;return e._index>0&&e._length>0&&e._index===e._length&&e._match>0&&i(r,1,9999)&&i(e.M,1,12)&&i(e.D,1,(c=r,u=e.M??1,new Date(c,u-(c<100?22800:0),0).getDate()))&&i(e.H,o,a)&&i(e.A,0,1)&&i(e.h,n,s)&&i(e.m,0,59)&&i(e.s,0,59)&&i(e.S,0,999)&&i(e.Z,-840,720);var c,u}function Y(e,t,r){const n=x(e,t,r);return A(n,r)?(n.Y=n.Y?n.Y-("buddhist"===r?.calendar?543:0):1970,n.M=(n.M??1)-(n.Y<100?22801:1),n.D??=1,n.H=(n.H??0)%24||12*(n.A??0)+(n.h??0)%12,n.m??=0,n.s??=0,n.S??=0,c(r?.timeZone)?l(Date.UTC(n.Y,n.M,n.D,n.H,n.m,n.s,n.S),r.timeZone):u(r?.timeZone)||"Z"in n?new Date(Date.UTC(n.Y,n.M,n.D,n.H,n.m+(n.Z??0),n.s,n.S)):new Date(n.Y,n.M,n.D,n.H,n.m,n.s,n.S)):new Date(NaN)}function $(e,t,r){if(c(r)){const n=d(e,r.zone_name);n.month+=t,n.timezoneOffset=0;const s=new Date(h(n));return s.getUTCDate()<n.day&&s.setUTCDate(0),l(h({...n,year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate()}),r)}const n=new Date(e.getTime());return u(r)?(n.setUTCMonth(n.getUTCMonth()+t),n.getUTCDate()<e.getUTCDate()?(n.setUTCDate(0),n):n):(n.setMonth(n.getMonth()+t),n.getDate()<e.getDate()?(n.setDate(0),n):n)}const v=/^\[(.*)\]$/,U=(e,t)=>(e.F=Math.trunc(1e6*t),e),H=(e,t)=>(e.f=Math.trunc(1e3*t),U(e,1e3*Math.abs(t)%1/1e3)),Z=(e,t)=>(e.S=Math.trunc(t),H(e,Math.abs(t)%1)),_=(e,t)=>(e.s=Math.trunc(t/1e3),Z(e,Math.abs(t)%1e3)),k=(e,t)=>(e.m=Math.trunc(t/6e4),_(e,Math.abs(t)%6e4)),j=(e,t)=>(e.H=Math.trunc(t/36e5),k(e,Math.abs(t)%36e5)),z=(e,t,r=S)=>{const n=o(t).slice(1);return n.reduce((t,n)=>t+(t=>{if(t[0]in e){const n=e[t[0]]??0;return r.encode(`${(e=>e<0||0===e&&1/e==-1/0?"-":"")(n)}${String(Math.abs(n)).padStart(t.length,"0")}`)}return v.test(t)?t.replace(v,"$1"):t})(n),"")};class F{constructor(e){this.time=e}toNanoseconds(){return{value:1e6*this.time,format:(e,t)=>z(U({},this.time),e,t),toParts:()=>({nanoseconds:Math.trunc(1e6*this.time)+0})}}toMicroseconds(){return{value:1e3*this.time,format:(e,t)=>z(H({},this.time),e,t),toParts:()=>({microseconds:Math.trunc(1e3*this.time)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMilliseconds(){return{value:this.time,format:(e,t)=>z(Z({},this.time),e,t),toParts:()=>({milliseconds:Math.trunc(this.time)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toSeconds(){return{value:this.time/1e3,format:(e,t)=>z(_({},this.time),e,t),toParts:()=>({seconds:Math.trunc(this.time/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMinutes(){return{value:this.time/6e4,format:(e,t)=>z(k({},this.time),e,t),toParts:()=>({minutes:Math.trunc(this.time/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toHours(){return{value:this.time/36e5,format:(e,t)=>z(j({},this.time),e,t),toParts:()=>({hours:Math.trunc(this.time/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toDays(){return{value:this.time/864e5,format:(e,t)=>{return z((r={},n=this.time,r.D=Math.trunc(n/864e5),j(r,Math.abs(n)%864e5)),e,t);var r,n},toParts:()=>({days:Math.trunc(this.time/864e5)+0,hours:Math.trunc(this.time%864e5/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}}exports.Duration=F,exports.addDays=function(e,t,r){if(c(r)){const n=d(e,r.zone_name);return n.day+=t,n.timezoneOffset=0,l(h(n),r)}const n=new Date(e.getTime());return u(r)?(n.setUTCDate(n.getUTCDate()+t),n):(n.setDate(n.getDate()+t),n)},exports.addHours=function(e,t){return new Date(e.getTime()+36e5*t)},exports.addMilliseconds=function(e,t){return new Date(e.getTime()+t)},exports.addMinutes=function(e,t){return new Date(e.getTime()+6e4*t)},exports.addMonths=$,exports.addSeconds=function(e,t){return new Date(e.getTime()+1e3*t)},exports.addYears=function(e,t,r){return $(e,12*t,r)},exports.compile=o,exports.format=L,exports.isLeapYear=e=>!((e%4||!(e%100))&&e%400),exports.isSameDay=(e,t)=>e.toDateString()===t.toDateString(),exports.isValid=function(e,t,r){return A(x(e,t,r),r)},exports.parse=Y,exports.preparse=x,exports.subtract=(e,t)=>new F(t.getTime()-e.getTime()),exports.transform=function(e,t,r,n,s){return L(Y(e,t,n),r,s)};
|
|
2
|
+
/** @preserve Copyright (c) KNOWLEDGECODE - MIT License */const e=/\\\[/g,t=/\\\]/g,n=/\uE000/g,r=/\uE001/g,s=/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g,o=o=>{const a=o.replace(e,"").replace(t,"").match(s)??[];return[o,...a.map(e=>e.replace(n,"[").replace(r,"]"))]},a=new Map,i=e=>a.get(e)??(()=>{const t=new Intl.DateTimeFormat("en-US",{hour12:!1,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,timeZone:e});return e&&a.set(e,t),t})(),c=e=>Date.UTC(e.year,e.month-(e.year<100?22801:1),e.day,e.hour,e.minute,e.second,e.fractionalSecond+6e4*e.timezoneOffset),u=(e,t)=>e.formatToParts(t).reduce((e,{type:t,value:n})=>{switch(t){case"weekday":e[t]="SunMonTueWedThuFriSat".indexOf(n)/3;break;case"hour":e[t]=+n%24;break;case"year":case"month":case"day":case"minute":case"second":case"fractionalSecond":e[t]=+n}return e},{weekday:4,year:1970,month:1,day:1,hour:0,minute:0,second:0,fractionalSecond:0,timezoneOffset:0}),l=e=>"string"==typeof e&&"UTC"===e.toUpperCase(),d=(e,t)=>{if(l(t))return{weekday:e.getUTCDay(),year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),fractionalSecond:e.getUTCMilliseconds(),timezoneOffset:0};const n=e.getTime(),r=u(i(t),n);return r.timezoneOffset=(n-c(r))/6e4,r};class h{constructor(e,t){this.parts=d(e,t),this.time=e.getTime()}getFullYear(){return this.parts.year}getMonth(){return this.parts.month-1}getDate(){return this.parts.day}getHours(){return this.parts.hour}getMinutes(){return this.parts.minute}getSeconds(){return this.parts.second}getMilliseconds(){return this.parts.fractionalSecond}getDay(){return this.parts.weekday}getTime(){return this.time}getTimezoneOffset(){return this.parts.timezoneOffset}}class m{}const g=(e,t)=>e.getFullYear()+("buddhist"===t?543:0);const M=new class extends m{YYYY(e,t){return`000${String(g(e,t.calendar))}`.slice(-4)}YY(e,t){return`0${String(g(e,t.calendar))}`.slice(-2)}Y(e,t){return String(g(e,t.calendar))}MMMM(e,t,n){return t.locale.getMonthList({style:"long",compiledObj:n})[e.getMonth()]??""}MMM(e,t,n){return t.locale.getMonthList({style:"short",compiledObj:n})[e.getMonth()]??""}MM(e){return`0${String(e.getMonth()+1)}`.slice(-2)}M(e){return String(e.getMonth()+1)}DD(e){return`0${String(e.getDate())}`.slice(-2)}D(e){return String(e.getDate())}HH(e,t){return`0${String(e.getHours()||("h24"===t.hour24?24:0))}`.slice(-2)}H(e,t){return String(e.getHours()||("h24"===t.hour24?24:0))}AA(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}A(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}aa(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}a(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}hh(e,t){return`0${String(e.getHours()%12||("h12"===t.hour12?12:0))}`.slice(-2)}h(e,t){return String(e.getHours()%12||("h12"===t.hour12?12:0))}mm(e){return`0${String(e.getMinutes())}`.slice(-2)}m(e){return String(e.getMinutes())}ss(e){return`0${String(e.getSeconds())}`.slice(-2)}s(e){return String(e.getSeconds())}SSS(e){return`00${String(e.getMilliseconds())}`.slice(-3)}SS(e){return`00${String(e.getMilliseconds())}`.slice(-3,-1)}S(e){return`00${String(e.getMilliseconds())}`.slice(-3,-2)}dddd(e,t,n){return t.locale.getDayOfWeekList({style:"long",compiledObj:n})[e.getDay()]??""}ddd(e,t,n){return t.locale.getDayOfWeekList({style:"short",compiledObj:n})[e.getDay()]??""}dd(e,t,n){return t.locale.getDayOfWeekList({style:"narrow",compiledObj:n})[e.getDay()]??""}Z(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}${`0${String(n%60)}`.slice(-2)}`}ZZ(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}:${`0${String(n%60)}`.slice(-2)}`}},f={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"],AA:["A.M.","P.M."],a:["am","pm"],aa:["a.m.","p.m."]};var p=new class{getLocale(){return"en"}getMonthList(e){return"long"===e.style?f.MMMM:f.MMM}getDayOfWeekList(e){return"long"===e.style?f.dddd:"short"===e.style?f.ddd:f.dd}getMeridiemList(e){return"long"===e.style?"lowercase"===e.case?f.aa:f.AA:"lowercase"===e.case?f.a:f.A}},y={encode:e=>e,decode:e=>e};const S=e=>!!e&&"object"==typeof e&&"zone_name"in e&&"gmt_offset"in e,D=(e,t)=>{const n=S(t)?t.zone_name:t;return new Date(e-((e,t)=>{const n=(()=>{try{return i(t)}catch{return}})(),r=new Set;if(n)for(let t=0;t<2;t++){const s=e-86400*t*1e3;let o=54822e3;do{const e=c(u(n,s-o))-s;if(0===e)return o;r.add(o),o+=e}while(!r.has(o));r.clear()}return NaN})(e,n))},T=/^\[(.*)\]$/;function b(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s=S(n?.timeZone)?n.timeZone.zone_name:n?.timeZone,a=s?new h(e,s):e,i={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??y,calendar:n?.calendar??"gregory",timeZone:n?.timeZone,locale:n?.locale??p},c=[...n?.plugins??[],M],u=i.numeral.encode;return r.reduce((e,t)=>e+((e,t)=>{for(const n of c)if(n[e])return u(n[e](a,i,t));return T.test(e)?e.replace(T,"$1"):e})(t,r),"")}class w{}const O=(e,t,n)=>{const r=e.exec(t)?.[0]??"";return{value:+r,length:r.length,token:n}},x=(e,t,n,r)=>{const[s,o]=n.ignoreCase?(()=>{const r=n.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(r)),t.toLocaleLowerCase(r)]})():[e,t];return s.reduce((e,t,n)=>t.length>e.length&&!o.indexOf(t)?{value:n,length:t.length,token:r}:e,{value:-1,length:0,token:r})},C=new Set(["Y","M","D","H","A","h","m","s","S","Z"]),v=e=>C.has(e);const Y=new class extends w{YYYY(e){return O(/^\d{4}/,e,"Y")}Y(e){return O(/^\d{1,4}/,e,"Y")}MMMM(e,t,n){const r=t.locale.getMonthList({style:"long",compiledObj:n}),s=x(r,e,t,"M");return s.value++,s}MMM(e,t,n){const r=t.locale.getMonthList({style:"short",compiledObj:n}),s=x(r,e,t,"M");return s.value++,s}MM(e){return O(/^\d\d/,e,"M")}M(e){return O(/^\d\d?/,e,"M")}DD(e){return O(/^\d\d/,e,"D")}D(e){return O(/^\d\d?/,e,"D")}HH(e){return O(/^\d\d/,e,"H")}H(e){return O(/^\d\d?/,e,"H")}AA(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"});return x(r,e,t,"A")}A(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"});return x(r,e,t,"A")}aa(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"});return x(r,e,t,"A")}a(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"});return x(r,e,t,"A")}hh(e){return O(/^\d\d/,e,"h")}h(e){return O(/^\d\d?/,e,"h")}mm(e){return O(/^\d\d/,e,"m")}m(e){return O(/^\d\d?/,e,"m")}ss(e){return O(/^\d\d/,e,"s")}s(e){return O(/^\d\d?/,e,"s")}SSS(e){return O(/^\d{1,3}/,e,"S")}SS(e){const t=O(/^\d\d?/,e,"S");return t.value*=10,t}S(e){const t=O(/^\d/,e,"S");return t.value*=100,t}Z(e){const t=O(/^[+-][01]\d[0-5]\d/,e,"Z");return t.value=-60*(t.value/100|0)-t.value%100,t}ZZ(e){const t=/^([+-][01]\d):([0-5]\d)/.exec(e)??["","",""],n=+(t[1]+t[2]);return{value:-60*(n/100|0)-n%100,length:t[0].length,token:"Z"}}},$=/^\[(.*)\]$/;function H(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??y,calendar:n?.calendar??"gregory",ignoreCase:n?.ignoreCase??!1,timeZone:(S(n?.timeZone)||"string"==typeof n?.timeZone)&&n.timeZone||void 0,locale:n?.locale??p},a={_index:0,_length:0,_match:0},i=[...n?.plugins??[],Y],c=(e,t)=>{for(const n of i)if(n[e])return n[e](t,s,r)};e=s.numeral.decode(e);for(const t of r){const n=e.substring(a._index),r=c(t,n);if(r){if(!r.length)break;r.token&&v(r.token)&&(a[r.token]=r.value+0),a._index+=r.length,a._match++}else if(t===n[0]||" "===t)a._index++;else{if(!$.test(t)||n.indexOf(t.replace($,"$1"))){if("..."===t){a._index=e.length;break}break}a._index+=t.length-2}}return a._length=e.length,a}function U(e,t){const n=void 0===e.Y?1970:e.Y-("buddhist"===t?.calendar?543:0),[r,s]="h11"===t?.hour12?[0,11]:[1,12],[o,a]="h24"===t?.hour24?[1,24]:[0,23],i=(e,t,n)=>void 0===e||e>=t&&e<=n;return e._index>0&&e._length>0&&e._index===e._length&&e._match>0&&i(n,1,9999)&&i(e.M,1,12)&&i(e.D,1,(c=n,u=e.M??1,new Date(Date.UTC(c,u-(c<100?22800:0),0)).getUTCDate()))&&i(e.H,o,a)&&i(e.A,0,1)&&i(e.h,r,s)&&i(e.m,0,59)&&i(e.s,0,59)&&i(e.S,0,999)&&i(e.Z,-913,956);var c,u}function A(e,t,n){const r=H(e,t,n);return U(r,n)?(r.Y=r.Y?r.Y-("buddhist"===n?.calendar?543:0):1970,r.M=(r.M??1)-(r.Y<100?22801:1),r.D??=1,r.H=(r.H??0)%24||12*(r.A??0)+(r.h??0)%12,r.m??=0,r.s??=0,r.S??=0,l(n?.timeZone)||"Z"in r?new Date(Date.UTC(r.Y,r.M,r.D,r.H,r.m+(r.Z??0),r.s,r.S)):n?.timeZone?D(Date.UTC(r.Y,r.M,r.D,r.H,r.m,r.s,r.S),n.timeZone):new Date(r.Y,r.M,r.D,r.H,r.m,r.s,r.S)):new Date(NaN)}function Z(e,t,n){const r=S(n)?n.zone_name:n??void 0;if(!r||l(r)){const r=new Date(e.getTime());return l(n)?(r.setUTCMonth(r.getUTCMonth()+t),r.getUTCDate()<e.getUTCDate()?(r.setUTCDate(0),r):r):(r.setMonth(r.getMonth()+t),r.getDate()<e.getDate()?(r.setDate(0),r):r)}const s=d(e,r);s.month+=t,s.timezoneOffset=0;const o=new Date(c(s));return o.getUTCDate()<s.day&&o.setUTCDate(0),D(c({...s,year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate()}),r)}const L=/^\[(.*)\]$/,k=(e,t)=>(e.F=Math.trunc(1e6*t),e),_=(e,t)=>(e.f=Math.trunc(1e3*t),k(e,1e3*Math.abs(t)%1/1e3)),j=(e,t)=>(e.S=Math.trunc(t),_(e,Math.abs(t)%1)),z=(e,t)=>(e.s=Math.trunc(t/1e3),j(e,Math.abs(t)%1e3)),F=(e,t)=>(e.m=Math.trunc(t/6e4),z(e,Math.abs(t)%6e4)),P=(e,t)=>(e.H=Math.trunc(t/36e5),F(e,Math.abs(t)%36e5)),W=(e,t,n=y)=>{const r=o(t).slice(1);return r.reduce((t,r)=>t+(t=>{if(t[0]in e){const r=e[t[0]]??0;return n.encode(`${(e=>e<0||0===e&&1/e==-1/0?"-":"")(r)}${String(Math.abs(r)).padStart(t.length,"0")}`)}return L.test(t)?t.replace(L,"$1"):t})(r),"")};class N{constructor(e){this.time=e}toNanoseconds(){return{value:1e6*this.time,format:(e,t)=>W(k({},this.time),e,t),toParts:()=>({nanoseconds:Math.trunc(1e6*this.time)+0})}}toMicroseconds(){return{value:1e3*this.time,format:(e,t)=>W(_({},this.time),e,t),toParts:()=>({microseconds:Math.trunc(1e3*this.time)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMilliseconds(){return{value:this.time,format:(e,t)=>W(j({},this.time),e,t),toParts:()=>({milliseconds:Math.trunc(this.time)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toSeconds(){return{value:this.time/1e3,format:(e,t)=>W(z({},this.time),e,t),toParts:()=>({seconds:Math.trunc(this.time/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMinutes(){return{value:this.time/6e4,format:(e,t)=>W(F({},this.time),e,t),toParts:()=>({minutes:Math.trunc(this.time/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toHours(){return{value:this.time/36e5,format:(e,t)=>W(P({},this.time),e,t),toParts:()=>({hours:Math.trunc(this.time/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toDays(){return{value:this.time/864e5,format:(e,t)=>{return W((n={},r=this.time,n.D=Math.trunc(r/864e5),P(n,Math.abs(r)%864e5)),e,t);var n,r},toParts:()=>({days:Math.trunc(this.time/864e5)+0,hours:Math.trunc(this.time%864e5/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}}exports.Duration=N,exports.addDays=function(e,t,n){const r=S(n)?n.zone_name:n??void 0;if(!r||l(r)){const r=new Date(e.getTime());return l(n)?(r.setUTCDate(r.getUTCDate()+t),r):(r.setDate(r.getDate()+t),r)}const s=d(e,r);return s.day+=t,s.timezoneOffset=0,D(c(s),r)},exports.addHours=function(e,t){return new Date(e.getTime()+36e5*t)},exports.addMilliseconds=function(e,t){return new Date(e.getTime()+t)},exports.addMinutes=function(e,t){return new Date(e.getTime()+6e4*t)},exports.addMonths=Z,exports.addSeconds=function(e,t){return new Date(e.getTime()+1e3*t)},exports.addYears=function(e,t,n){return Z(e,12*t,n)},exports.compile=o,exports.format=b,exports.isLeapYear=e=>!((e%4||!(e%100))&&e%400),exports.isSameDay=(e,t)=>e.toDateString()===t.toDateString(),exports.isValid=function(e,t,n){return U(H(e,t,n),n)},exports.parse=A,exports.preparse=H,exports.subtract=(e,t)=>new N(t.getTime()-e.getTime()),exports.transform=function(e,t,n,r,s){return b(A(e,t,r),n,s)};
|
package/dist/index.d.ts
CHANGED
|
@@ -156,10 +156,10 @@ interface ParserPluginOptions {
|
|
|
156
156
|
ignoreCase: boolean;
|
|
157
157
|
/**
|
|
158
158
|
* The time zone to use for parsing dates and times.
|
|
159
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
159
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
160
160
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
161
161
|
*/
|
|
162
|
-
timeZone: TimeZone |
|
|
162
|
+
timeZone: TimeZone | string | undefined;
|
|
163
163
|
/**
|
|
164
164
|
* The locale to use for parsing dates and times.
|
|
165
165
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -274,28 +274,28 @@ declare function transform(dateString: string, arg1: string | CompiledObject, ar
|
|
|
274
274
|
* Adds the specified number of years to a Date object.
|
|
275
275
|
* @param dateObj - The Date object to modify
|
|
276
276
|
* @param years - The number of years to add
|
|
277
|
-
* @param [timeZone] - Optional time zone object or 'UTC'
|
|
277
|
+
* @param [timeZone] - Optional time zone object, an IANA timezone name or 'UTC' to use Coordinated Universal Time.
|
|
278
278
|
* @returns A new Date object with the specified number of years added
|
|
279
279
|
*/
|
|
280
|
-
declare function addYears(dateObj: Date, years: number, timeZone?: TimeZone |
|
|
280
|
+
declare function addYears(dateObj: Date, years: number, timeZone?: TimeZone | string): Date;
|
|
281
281
|
|
|
282
282
|
/**
|
|
283
283
|
* Adds the specified number of months to a Date object.
|
|
284
284
|
* @param dateObj - The Date object to modify
|
|
285
285
|
* @param months - The number of months to add
|
|
286
|
-
* @param [timeZone] - Optional time zone object or 'UTC'
|
|
286
|
+
* @param [timeZone] - Optional time zone object, an IANA timezone name or 'UTC' to use Coordinated Universal Time.
|
|
287
287
|
* @returns A new Date object with the specified number of months added
|
|
288
288
|
*/
|
|
289
|
-
declare function addMonths(dateObj: Date, months: number, timeZone?: TimeZone |
|
|
289
|
+
declare function addMonths(dateObj: Date, months: number, timeZone?: TimeZone | string): Date;
|
|
290
290
|
|
|
291
291
|
/**
|
|
292
292
|
* Adds the specified number of days to a Date object.
|
|
293
293
|
* @param dateObj - The Date object to modify
|
|
294
294
|
* @param days - The number of days to add
|
|
295
|
-
* @param [timeZone] - Optional time zone object or 'UTC'
|
|
295
|
+
* @param [timeZone] - Optional time zone object, an IANA timezone name or 'UTC' to use Coordinated Universal Time.
|
|
296
296
|
* @returns A new Date object with the specified number of days added
|
|
297
297
|
*/
|
|
298
|
-
declare function addDays(dateObj: Date, days: number, timeZone?: TimeZone |
|
|
298
|
+
declare function addDays(dateObj: Date, days: number, timeZone?: TimeZone | string): Date;
|
|
299
299
|
|
|
300
300
|
/**
|
|
301
301
|
* Adds the specified number of hours to a Date object.
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** @preserve Copyright (c) KNOWLEDGECODE - MIT License */
|
|
2
|
-
const e=/\\\[/g,t=/\\\]/g,n=/\uE000/g,r=/\uE001/g,s=/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g,o=o=>{const a=o.replace(e,"").replace(t,"").match(s)??[];return[o,...a.map(e=>e.replace(n,"[").replace(r,"]"))]},a=new Map,i=e=>a.get(e)??(()=>{const t=new Intl.DateTimeFormat("en-US",{hour12:!1,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,timeZone:e});return e&&a.set(e,t),t})(),c=e=>!!e&&"object"==typeof e&&"zone_name"in e&&"gmt_offset"in e,u=e=>"string"==typeof e&&"UTC"===e.toUpperCase(),l=(e,t)=>new Date(e-1e3*((e,t)=>{const n=i("UTC"),r=i(t.zone_name),s=t.gmt_offset;for(let t=0;t<2;t++){const o=n.format(e-86400*t*1e3);for(let n=0,a=s.length;n<a;n++)if(r.format(e-1e3*(s[n]+86400*t))===o)return s[n]}return NaN})(e,t)),h=(e,t)=>{if(u(t))return{weekday:e.getUTCDay(),year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),fractionalSecond:e.getUTCMilliseconds(),timezoneOffset:0};const n=i(t).formatToParts(e).reduce((e,{type:t,value:n})=>{switch(t){case"weekday":e[t]="SunMonTueWedThuFriSat".indexOf(n)/3;break;case"hour":e[t]=+n%24;break;case"year":case"month":case"day":case"minute":case"second":case"fractionalSecond":e[t]=+n}return e},{weekday:4,year:1970,month:1,day:1,hour:0,minute:0,second:0,fractionalSecond:0,timezoneOffset:0});return n.timezoneOffset=(e.getTime()-Date.UTC(n.year,n.month-(n.year<100?22801:1),n.day,n.hour,n.minute,n.second,n.fractionalSecond))/6e4,n},d=e=>Date.UTC(e.year,e.month-(e.year<100?22801:1),e.day,e.hour,e.minute,e.second,e.fractionalSecond+6e4*e.timezoneOffset);class m{constructor(e,t){this.parts=h(e,t),this.time=e.getTime()}getFullYear(){return this.parts.year}getMonth(){return this.parts.month-1}getDate(){return this.parts.day}getHours(){return this.parts.hour}getMinutes(){return this.parts.minute}getSeconds(){return this.parts.second}getMilliseconds(){return this.parts.fractionalSecond}getDay(){return this.parts.weekday}getTime(){return this.time}getTimezoneOffset(){return this.parts.timezoneOffset}}class g{}const M=(e,t)=>e.getFullYear()+("buddhist"===t?543:0);const f=new class extends g{YYYY(e,t){return`000${String(M(e,t.calendar))}`.slice(-4)}YY(e,t){return`0${String(M(e,t.calendar))}`.slice(-2)}Y(e,t){return String(M(e,t.calendar))}MMMM(e,t,n){return t.locale.getMonthList({style:"long",compiledObj:n})[e.getMonth()]??""}MMM(e,t,n){return t.locale.getMonthList({style:"short",compiledObj:n})[e.getMonth()]??""}MM(e){return`0${String(e.getMonth()+1)}`.slice(-2)}M(e){return String(e.getMonth()+1)}DD(e){return`0${String(e.getDate())}`.slice(-2)}D(e){return String(e.getDate())}HH(e,t){return`0${String(e.getHours()||("h24"===t.hour24?24:0))}`.slice(-2)}H(e,t){return String(e.getHours()||("h24"===t.hour24?24:0))}AA(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}A(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}aa(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}a(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}hh(e,t){return`0${String(e.getHours()%12||("h12"===t.hour12?12:0))}`.slice(-2)}h(e,t){return String(e.getHours()%12||("h12"===t.hour12?12:0))}mm(e){return`0${String(e.getMinutes())}`.slice(-2)}m(e){return String(e.getMinutes())}ss(e){return`0${String(e.getSeconds())}`.slice(-2)}s(e){return String(e.getSeconds())}SSS(e){return`00${String(e.getMilliseconds())}`.slice(-3)}SS(e){return`00${String(e.getMilliseconds())}`.slice(-3,-1)}S(e){return`00${String(e.getMilliseconds())}`.slice(-3,-2)}dddd(e,t,n){return t.locale.getDayOfWeekList({style:"long",compiledObj:n})[e.getDay()]??""}ddd(e,t,n){return t.locale.getDayOfWeekList({style:"short",compiledObj:n})[e.getDay()]??""}dd(e,t,n){return t.locale.getDayOfWeekList({style:"narrow",compiledObj:n})[e.getDay()]??""}Z(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}${`0${String(n%60)}`.slice(-2)}`}ZZ(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}:${`0${String(n%60)}`.slice(-2)}`}},y={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"],AA:["A.M.","P.M."],a:["am","pm"],aa:["a.m.","p.m."]};var S=new class{getLocale(){return"en"}getMonthList(e){return"long"===e.style?y.MMMM:y.MMM}getDayOfWeekList(e){return"long"===e.style?y.dddd:"short"===e.style?y.ddd:y.dd}getMeridiemList(e){return"long"===e.style?"lowercase"===e.case?y.aa:y.AA:"lowercase"===e.case?y.a:y.A}},p={encode:e=>e,decode:e=>e};const D=/^\[(.*)\]$/;function T(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s=c(n?.timeZone)?n.timeZone.zone_name:n?.timeZone,a=s?new m(e,s):e,i={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??p,calendar:n?.calendar??"gregory",timeZone:n?.timeZone,locale:n?.locale??S},u=[...n?.plugins??[],f],l=i.numeral.encode;return r.reduce((e,t)=>e+((e,t)=>{for(const n of u)if(n[e])return l(n[e](a,i,t));return D.test(e)?e.replace(D,"$1"):e})(t,r),"")}class L{}const C=(e,t,n)=>{const r=e.exec(t)?.[0]??"";return{value:+r,length:r.length,token:n}},w=(e,t,n)=>e.reduce((e,r,s)=>r.length>e.length&&!t.indexOf(r)?{value:s,length:r.length,token:n}:e,{value:-1,length:0,token:n});const b=new class extends L{YYYY(e){return C(/^\d{4}/,e,"Y")}Y(e){return C(/^\d{1,4}/,e,"Y")}MMMM(e,t,n){const r=t.locale.getMonthList({style:"long",compiledObj:n}),s=t.locale.getLocale(),o=t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"M"):w(r,e,"M");return o.value++,o}MMM(e,t,n){const r=t.locale.getMonthList({style:"short",compiledObj:n}),s=t.locale.getLocale(),o=t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"M"):w(r,e,"M");return o.value++,o}MM(e){return C(/^\d\d/,e,"M")}M(e){return C(/^\d\d?/,e,"M")}DD(e){return C(/^\d\d/,e,"D")}D(e){return C(/^\d\d?/,e,"D")}HH(e){return C(/^\d\d/,e,"H")}H(e){return C(/^\d\d?/,e,"H")}AA(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"}),s=t.locale.getLocale();return t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(r,e,"A")}A(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"}),s=t.locale.getLocale();return t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(r,e,"A")}aa(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"}),s=t.locale.getLocale();return t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(r,e,"A")}a(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"}),s=t.locale.getLocale();return t.ignoreCase?w(r.map(e=>e.toLocaleLowerCase(s)),e.toLocaleLowerCase(s),"A"):w(r,e,"A")}hh(e){return C(/^\d\d/,e,"h")}h(e){return C(/^\d\d?/,e,"h")}mm(e){return C(/^\d\d/,e,"m")}m(e){return C(/^\d\d?/,e,"m")}ss(e){return C(/^\d\d/,e,"s")}s(e){return C(/^\d\d?/,e,"s")}SSS(e){return C(/^\d{1,3}/,e,"S")}SS(e){const t=C(/^\d\d?/,e,"S");return t.value*=10,t}S(e){const t=C(/^\d/,e,"S");return t.value*=100,t}Z(e){const t=C(/^[+-][01]\d[0-5]\d/,e,"Z");return t.value=-60*(t.value/100|0)-t.value%100,t}ZZ(e){const t=/^([+-][01]\d):([0-5]\d)/.exec(e)??["","",""],n=+(t[1]+t[2]);return{value:-60*(n/100|0)-n%100,length:t[0].length,token:"Z"}}},O=/^\[(.*)\]$/;function A(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??p,calendar:n?.calendar??"gregory",ignoreCase:n?.ignoreCase??!1,timeZone:c(n?.timeZone)||u(n?.timeZone)?n.timeZone:void 0,locale:n?.locale??S},a={_index:0,_length:0,_match:0},i=[...n?.plugins??[],b],l=(e,t)=>{for(const n of i)if(n[e])return n[e](t,s,r)};e=s.numeral.decode(e);for(const t of r){const n=e.substring(a._index),r=l(t,n);if(r){if(!r.length)break;r.token&&(a[r.token]=r.value+0),a._index+=r.length,a._match++}else if(t===n[0]||" "===t)a._index++;else{if(!O.test(t)||n.indexOf(t.replace(O,"$1"))){if("..."===t){a._index=e.length;break}break}a._index+=t.length-2}}return a._length=e.length,a}function $(e,t){const n=void 0===e.Y?1970:e.Y-("buddhist"===t?.calendar?543:0),[r,s]="h11"===t?.hour12?[0,11]:[1,12],[o,a]="h24"===t?.hour24?[1,24]:[0,23],i=(e,t,n)=>void 0===e||e>=t&&e<=n;return e._index>0&&e._length>0&&e._index===e._length&&e._match>0&&i(n,1,9999)&&i(e.M,1,12)&&i(e.D,1,(c=n,u=e.M??1,new Date(c,u-(c<100?22800:0),0).getDate()))&&i(e.H,o,a)&&i(e.A,0,1)&&i(e.h,r,s)&&i(e.m,0,59)&&i(e.s,0,59)&&i(e.S,0,999)&&i(e.Z,-840,720);var c,u}function v(e,t,n){return $(A(e,t,n),n)}function U(e,t,n){const r=A(e,t,n);return $(r,n)?(r.Y=r.Y?r.Y-("buddhist"===n?.calendar?543:0):1970,r.M=(r.M??1)-(r.Y<100?22801:1),r.D??=1,r.H=(r.H??0)%24||12*(r.A??0)+(r.h??0)%12,r.m??=0,r.s??=0,r.S??=0,c(n?.timeZone)?l(Date.UTC(r.Y,r.M,r.D,r.H,r.m,r.s,r.S),n.timeZone):u(n?.timeZone)||"Z"in r?new Date(Date.UTC(r.Y,r.M,r.D,r.H,r.m+(r.Z??0),r.s,r.S)):new Date(r.Y,r.M,r.D,r.H,r.m,r.s,r.S)):new Date(NaN)}function Y(e,t,n,r,s){return T(U(e,t,r),n,s)}function H(e,t,n){if(c(n)){const r=h(e,n.zone_name);r.month+=t,r.timezoneOffset=0;const s=new Date(d(r));return s.getUTCDate()<r.day&&s.setUTCDate(0),l(d({...r,year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate()}),n)}const r=new Date(e.getTime());return u(n)?(r.setUTCMonth(r.getUTCMonth()+t),r.getUTCDate()<e.getUTCDate()?(r.setUTCDate(0),r):r):(r.setMonth(r.getMonth()+t),r.getDate()<e.getDate()?(r.setDate(0),r):r)}function Z(e,t,n){return H(e,12*t,n)}function _(e,t,n){if(c(n)){const r=h(e,n.zone_name);return r.day+=t,r.timezoneOffset=0,l(d(r),n)}const r=new Date(e.getTime());return u(n)?(r.setUTCDate(r.getUTCDate()+t),r):(r.setDate(r.getDate()+t),r)}function k(e,t){return new Date(e.getTime()+36e5*t)}function j(e,t){return new Date(e.getTime()+6e4*t)}function x(e,t){return new Date(e.getTime()+1e3*t)}function z(e,t){return new Date(e.getTime()+t)}const F=/^\[(.*)\]$/,P=(e,t)=>(e.F=Math.trunc(1e6*t),e),W=(e,t)=>(e.f=Math.trunc(1e3*t),P(e,1e3*Math.abs(t)%1/1e3)),N=(e,t)=>(e.S=Math.trunc(t),W(e,Math.abs(t)%1)),J=(e,t)=>(e.s=Math.trunc(t/1e3),N(e,Math.abs(t)%1e3)),E=(e,t)=>(e.m=Math.trunc(t/6e4),J(e,Math.abs(t)%6e4)),I=(e,t)=>(e.H=Math.trunc(t/36e5),E(e,Math.abs(t)%36e5)),q=(e,t,n=p)=>{const r=o(t).slice(1);return r.reduce((t,r)=>t+(t=>{if(t[0]in e){const r=e[t[0]]??0;return n.encode(`${(e=>e<0||0===e&&1/e==-1/0?"-":"")(r)}${String(Math.abs(r)).padStart(t.length,"0")}`)}return F.test(t)?t.replace(F,"$1"):t})(r),"")};class B{constructor(e){this.time=e}toNanoseconds(){return{value:1e6*this.time,format:(e,t)=>q(P({},this.time),e,t),toParts:()=>({nanoseconds:Math.trunc(1e6*this.time)+0})}}toMicroseconds(){return{value:1e3*this.time,format:(e,t)=>q(W({},this.time),e,t),toParts:()=>({microseconds:Math.trunc(1e3*this.time)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMilliseconds(){return{value:this.time,format:(e,t)=>q(N({},this.time),e,t),toParts:()=>({milliseconds:Math.trunc(this.time)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toSeconds(){return{value:this.time/1e3,format:(e,t)=>q(J({},this.time),e,t),toParts:()=>({seconds:Math.trunc(this.time/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMinutes(){return{value:this.time/6e4,format:(e,t)=>q(E({},this.time),e,t),toParts:()=>({minutes:Math.trunc(this.time/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toHours(){return{value:this.time/36e5,format:(e,t)=>q(I({},this.time),e,t),toParts:()=>({hours:Math.trunc(this.time/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toDays(){return{value:this.time/864e5,format:(e,t)=>{return q((n={},r=this.time,n.D=Math.trunc(r/864e5),I(n,Math.abs(r)%864e5)),e,t);var n,r},toParts:()=>({days:Math.trunc(this.time/864e5)+0,hours:Math.trunc(this.time%864e5/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}}const G=(e,t)=>new B(t.getTime()-e.getTime()),K=e=>!((e%4||!(e%100))&&e%400),Q=(e,t)=>e.toDateString()===t.toDateString();export{B as Duration,_ as addDays,k as addHours,z as addMilliseconds,j as addMinutes,H as addMonths,x as addSeconds,Z as addYears,o as compile,T as format,K as isLeapYear,Q as isSameDay,v as isValid,U as parse,A as preparse,G as subtract,Y as transform};
|
|
2
|
+
const e=/\\\[/g,t=/\\\]/g,n=/\uE000/g,r=/\uE001/g,s=/\[(?:[^[\]]|\[[^[\]]*])*]|([A-Za-z])\1*|\.{3}|./g,o=o=>{const a=o.replace(e,"").replace(t,"").match(s)??[];return[o,...a.map(e=>e.replace(n,"[").replace(r,"]"))]},a=new Map,i=e=>a.get(e)??(()=>{const t=new Intl.DateTimeFormat("en-US",{hour12:!1,weekday:"short",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3,timeZone:e});return e&&a.set(e,t),t})(),c=e=>Date.UTC(e.year,e.month-(e.year<100?22801:1),e.day,e.hour,e.minute,e.second,e.fractionalSecond+6e4*e.timezoneOffset),u=(e,t)=>e.formatToParts(t).reduce((e,{type:t,value:n})=>{switch(t){case"weekday":e[t]="SunMonTueWedThuFriSat".indexOf(n)/3;break;case"hour":e[t]=+n%24;break;case"year":case"month":case"day":case"minute":case"second":case"fractionalSecond":e[t]=+n}return e},{weekday:4,year:1970,month:1,day:1,hour:0,minute:0,second:0,fractionalSecond:0,timezoneOffset:0}),l=e=>"string"==typeof e&&"UTC"===e.toUpperCase(),h=(e,t)=>{if(l(t))return{weekday:e.getUTCDay(),year:e.getUTCFullYear(),month:e.getUTCMonth()+1,day:e.getUTCDate(),hour:e.getUTCHours(),minute:e.getUTCMinutes(),second:e.getUTCSeconds(),fractionalSecond:e.getUTCMilliseconds(),timezoneOffset:0};const n=e.getTime(),r=u(i(t),n);return r.timezoneOffset=(n-c(r))/6e4,r};class d{constructor(e,t){this.parts=h(e,t),this.time=e.getTime()}getFullYear(){return this.parts.year}getMonth(){return this.parts.month-1}getDate(){return this.parts.day}getHours(){return this.parts.hour}getMinutes(){return this.parts.minute}getSeconds(){return this.parts.second}getMilliseconds(){return this.parts.fractionalSecond}getDay(){return this.parts.weekday}getTime(){return this.time}getTimezoneOffset(){return this.parts.timezoneOffset}}class m{}const g=(e,t)=>e.getFullYear()+("buddhist"===t?543:0);const M=new class extends m{YYYY(e,t){return`000${String(g(e,t.calendar))}`.slice(-4)}YY(e,t){return`0${String(g(e,t.calendar))}`.slice(-2)}Y(e,t){return String(g(e,t.calendar))}MMMM(e,t,n){return t.locale.getMonthList({style:"long",compiledObj:n})[e.getMonth()]??""}MMM(e,t,n){return t.locale.getMonthList({style:"short",compiledObj:n})[e.getMonth()]??""}MM(e){return`0${String(e.getMonth()+1)}`.slice(-2)}M(e){return String(e.getMonth()+1)}DD(e){return`0${String(e.getDate())}`.slice(-2)}D(e){return String(e.getDate())}HH(e,t){return`0${String(e.getHours()||("h24"===t.hour24?24:0))}`.slice(-2)}H(e,t){return String(e.getHours()||("h24"===t.hour24?24:0))}AA(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}A(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"})[+(e.getHours()>11)]??""}aa(e,t,n){return t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}a(e,t,n){return t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"})[+(e.getHours()>11)]??""}hh(e,t){return`0${String(e.getHours()%12||("h12"===t.hour12?12:0))}`.slice(-2)}h(e,t){return String(e.getHours()%12||("h12"===t.hour12?12:0))}mm(e){return`0${String(e.getMinutes())}`.slice(-2)}m(e){return String(e.getMinutes())}ss(e){return`0${String(e.getSeconds())}`.slice(-2)}s(e){return String(e.getSeconds())}SSS(e){return`00${String(e.getMilliseconds())}`.slice(-3)}SS(e){return`00${String(e.getMilliseconds())}`.slice(-3,-1)}S(e){return`00${String(e.getMilliseconds())}`.slice(-3,-2)}dddd(e,t,n){return t.locale.getDayOfWeekList({style:"long",compiledObj:n})[e.getDay()]??""}ddd(e,t,n){return t.locale.getDayOfWeekList({style:"short",compiledObj:n})[e.getDay()]??""}dd(e,t,n){return t.locale.getDayOfWeekList({style:"narrow",compiledObj:n})[e.getDay()]??""}Z(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}${`0${String(n%60)}`.slice(-2)}`}ZZ(e){const t=e.getTimezoneOffset(),n=Math.abs(t);return`${t>0?"-":"+"}${`0${String(n/60|0)}`.slice(-2)}:${`0${String(n%60)}`.slice(-2)}`}},f={MMMM:["January","February","March","April","May","June","July","August","September","October","November","December"],MMM:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dddd:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ddd:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dd:["Su","Mo","Tu","We","Th","Fr","Sa"],A:["AM","PM"],AA:["A.M.","P.M."],a:["am","pm"],aa:["a.m.","p.m."]};var y=new class{getLocale(){return"en"}getMonthList(e){return"long"===e.style?f.MMMM:f.MMM}getDayOfWeekList(e){return"long"===e.style?f.dddd:"short"===e.style?f.ddd:f.dd}getMeridiemList(e){return"long"===e.style?"lowercase"===e.case?f.aa:f.AA:"lowercase"===e.case?f.a:f.A}},S={encode:e=>e,decode:e=>e};const D=e=>!!e&&"object"==typeof e&&"zone_name"in e&&"gmt_offset"in e,p=(e,t)=>{const n=D(t)?t.zone_name:t;return new Date(e-((e,t)=>{const n=(()=>{try{return i(t)}catch{return}})(),r=new Set;if(n)for(let t=0;t<2;t++){const s=e-86400*t*1e3;let o=54822e3;do{const e=c(u(n,s-o))-s;if(0===e)return o;r.add(o),o+=e}while(!r.has(o));r.clear()}return NaN})(e,n))},T=/^\[(.*)\]$/;function b(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s=D(n?.timeZone)?n.timeZone.zone_name:n?.timeZone,a=s?new d(e,s):e,i={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??S,calendar:n?.calendar??"gregory",timeZone:n?.timeZone,locale:n?.locale??y},c=[...n?.plugins??[],M],u=i.numeral.encode;return r.reduce((e,t)=>e+((e,t)=>{for(const n of c)if(n[e])return u(n[e](a,i,t));return T.test(e)?e.replace(T,"$1"):e})(t,r),"")}class w{}const O=(e,t,n)=>{const r=e.exec(t)?.[0]??"";return{value:+r,length:r.length,token:n}},C=(e,t,n,r)=>{const[s,o]=n.ignoreCase?(()=>{const r=n.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(r)),t.toLocaleLowerCase(r)]})():[e,t];return s.reduce((e,t,n)=>t.length>e.length&&!o.indexOf(t)?{value:n,length:t.length,token:r}:e,{value:-1,length:0,token:r})},v=new Set(["Y","M","D","H","A","h","m","s","S","Z"]),$=e=>v.has(e);const U=new class extends w{YYYY(e){return O(/^\d{4}/,e,"Y")}Y(e){return O(/^\d{1,4}/,e,"Y")}MMMM(e,t,n){const r=t.locale.getMonthList({style:"long",compiledObj:n}),s=C(r,e,t,"M");return s.value++,s}MMM(e,t,n){const r=t.locale.getMonthList({style:"short",compiledObj:n}),s=C(r,e,t,"M");return s.value++,s}MM(e){return O(/^\d\d/,e,"M")}M(e){return O(/^\d\d?/,e,"M")}DD(e){return O(/^\d\d/,e,"D")}D(e){return O(/^\d\d?/,e,"D")}HH(e){return O(/^\d\d/,e,"H")}H(e){return O(/^\d\d?/,e,"H")}AA(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"uppercase"});return C(r,e,t,"A")}A(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"uppercase"});return C(r,e,t,"A")}aa(e,t,n){const r=t.locale.getMeridiemList({style:"long",compiledObj:n,case:"lowercase"});return C(r,e,t,"A")}a(e,t,n){const r=t.locale.getMeridiemList({style:"short",compiledObj:n,case:"lowercase"});return C(r,e,t,"A")}hh(e){return O(/^\d\d/,e,"h")}h(e){return O(/^\d\d?/,e,"h")}mm(e){return O(/^\d\d/,e,"m")}m(e){return O(/^\d\d?/,e,"m")}ss(e){return O(/^\d\d/,e,"s")}s(e){return O(/^\d\d?/,e,"s")}SSS(e){return O(/^\d{1,3}/,e,"S")}SS(e){const t=O(/^\d\d?/,e,"S");return t.value*=10,t}S(e){const t=O(/^\d/,e,"S");return t.value*=100,t}Z(e){const t=O(/^[+-][01]\d[0-5]\d/,e,"Z");return t.value=-60*(t.value/100|0)-t.value%100,t}ZZ(e){const t=/^([+-][01]\d):([0-5]\d)/.exec(e)??["","",""],n=+(t[1]+t[2]);return{value:-60*(n/100|0)-n%100,length:t[0].length,token:"Z"}}},Y=/^\[(.*)\]$/;function H(e,t,n){const r=("string"==typeof t?o(t):t).slice(1),s={hour12:n?.hour12??"h12",hour24:n?.hour24??"h23",numeral:n?.numeral??S,calendar:n?.calendar??"gregory",ignoreCase:n?.ignoreCase??!1,timeZone:(D(n?.timeZone)||"string"==typeof n?.timeZone)&&n.timeZone||void 0,locale:n?.locale??y},a={_index:0,_length:0,_match:0},i=[...n?.plugins??[],U],c=(e,t)=>{for(const n of i)if(n[e])return n[e](t,s,r)};e=s.numeral.decode(e);for(const t of r){const n=e.substring(a._index),r=c(t,n);if(r){if(!r.length)break;r.token&&$(r.token)&&(a[r.token]=r.value+0),a._index+=r.length,a._match++}else if(t===n[0]||" "===t)a._index++;else{if(!Y.test(t)||n.indexOf(t.replace(Y,"$1"))){if("..."===t){a._index=e.length;break}break}a._index+=t.length-2}}return a._length=e.length,a}function A(e,t){const n=void 0===e.Y?1970:e.Y-("buddhist"===t?.calendar?543:0),[r,s]="h11"===t?.hour12?[0,11]:[1,12],[o,a]="h24"===t?.hour24?[1,24]:[0,23],i=(e,t,n)=>void 0===e||e>=t&&e<=n;return e._index>0&&e._length>0&&e._index===e._length&&e._match>0&&i(n,1,9999)&&i(e.M,1,12)&&i(e.D,1,(c=n,u=e.M??1,new Date(Date.UTC(c,u-(c<100?22800:0),0)).getUTCDate()))&&i(e.H,o,a)&&i(e.A,0,1)&&i(e.h,r,s)&&i(e.m,0,59)&&i(e.s,0,59)&&i(e.S,0,999)&&i(e.Z,-913,956);var c,u}function Z(e,t,n){return A(H(e,t,n),n)}function L(e,t,n){const r=H(e,t,n);return A(r,n)?(r.Y=r.Y?r.Y-("buddhist"===n?.calendar?543:0):1970,r.M=(r.M??1)-(r.Y<100?22801:1),r.D??=1,r.H=(r.H??0)%24||12*(r.A??0)+(r.h??0)%12,r.m??=0,r.s??=0,r.S??=0,l(n?.timeZone)||"Z"in r?new Date(Date.UTC(r.Y,r.M,r.D,r.H,r.m+(r.Z??0),r.s,r.S)):n?.timeZone?p(Date.UTC(r.Y,r.M,r.D,r.H,r.m,r.s,r.S),n.timeZone):new Date(r.Y,r.M,r.D,r.H,r.m,r.s,r.S)):new Date(NaN)}function k(e,t,n,r,s){return b(L(e,t,r),n,s)}function _(e,t,n){const r=D(n)?n.zone_name:n??void 0;if(!r||l(r)){const r=new Date(e.getTime());return l(n)?(r.setUTCMonth(r.getUTCMonth()+t),r.getUTCDate()<e.getUTCDate()?(r.setUTCDate(0),r):r):(r.setMonth(r.getMonth()+t),r.getDate()<e.getDate()?(r.setDate(0),r):r)}const s=h(e,r);s.month+=t,s.timezoneOffset=0;const o=new Date(c(s));return o.getUTCDate()<s.day&&o.setUTCDate(0),p(c({...s,year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate()}),r)}function j(e,t,n){return _(e,12*t,n)}function x(e,t,n){const r=D(n)?n.zone_name:n??void 0;if(!r||l(r)){const r=new Date(e.getTime());return l(n)?(r.setUTCDate(r.getUTCDate()+t),r):(r.setDate(r.getDate()+t),r)}const s=h(e,r);return s.day+=t,s.timezoneOffset=0,p(c(s),r)}function z(e,t){return new Date(e.getTime()+36e5*t)}function F(e,t){return new Date(e.getTime()+6e4*t)}function P(e,t){return new Date(e.getTime()+1e3*t)}function W(e,t){return new Date(e.getTime()+t)}const N=/^\[(.*)\]$/,J=(e,t)=>(e.F=Math.trunc(1e6*t),e),E=(e,t)=>(e.f=Math.trunc(1e3*t),J(e,1e3*Math.abs(t)%1/1e3)),I=(e,t)=>(e.S=Math.trunc(t),E(e,Math.abs(t)%1)),q=(e,t)=>(e.s=Math.trunc(t/1e3),I(e,Math.abs(t)%1e3)),B=(e,t)=>(e.m=Math.trunc(t/6e4),q(e,Math.abs(t)%6e4)),G=(e,t)=>(e.H=Math.trunc(t/36e5),B(e,Math.abs(t)%36e5)),K=(e,t,n=S)=>{const r=o(t).slice(1);return r.reduce((t,r)=>t+(t=>{if(t[0]in e){const r=e[t[0]]??0;return n.encode(`${(e=>e<0||0===e&&1/e==-1/0?"-":"")(r)}${String(Math.abs(r)).padStart(t.length,"0")}`)}return N.test(t)?t.replace(N,"$1"):t})(r),"")};class Q{constructor(e){this.time=e}toNanoseconds(){return{value:1e6*this.time,format:(e,t)=>K(J({},this.time),e,t),toParts:()=>({nanoseconds:Math.trunc(1e6*this.time)+0})}}toMicroseconds(){return{value:1e3*this.time,format:(e,t)=>K(E({},this.time),e,t),toParts:()=>({microseconds:Math.trunc(1e3*this.time)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMilliseconds(){return{value:this.time,format:(e,t)=>K(I({},this.time),e,t),toParts:()=>({milliseconds:Math.trunc(this.time)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toSeconds(){return{value:this.time/1e3,format:(e,t)=>K(q({},this.time),e,t),toParts:()=>({seconds:Math.trunc(this.time/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toMinutes(){return{value:this.time/6e4,format:(e,t)=>K(B({},this.time),e,t),toParts:()=>({minutes:Math.trunc(this.time/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toHours(){return{value:this.time/36e5,format:(e,t)=>K(G({},this.time),e,t),toParts:()=>({hours:Math.trunc(this.time/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}toDays(){return{value:this.time/864e5,format:(e,t)=>{return K((n={},r=this.time,n.D=Math.trunc(r/864e5),G(n,Math.abs(r)%864e5)),e,t);var n,r},toParts:()=>({days:Math.trunc(this.time/864e5)+0,hours:Math.trunc(this.time%864e5/36e5)+0,minutes:Math.trunc(this.time%864e5%36e5/6e4)+0,seconds:Math.trunc(this.time%864e5%36e5%6e4/1e3)+0,milliseconds:Math.trunc(this.time%1e3)+0,microseconds:Math.trunc(1e3*this.time%1e3)+0,nanoseconds:Math.trunc(1e6*this.time%1e3)+0})}}}const R=(e,t)=>new Q(t.getTime()-e.getTime()),V=e=>!((e%4||!(e%100))&&e%400),X=(e,t)=>e.toDateString()===t.toDateString();export{Q as Duration,x as addDays,z as addHours,W as addMilliseconds,F as addMinutes,_ as addMonths,P as addSeconds,j as addYears,o as compile,b as format,V as isLeapYear,X as isSameDay,Z as isValid,L as parse,H as preparse,R as subtract,k as transform};
|
package/dist/plugin.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.FormatterPlugin=class{},exports.ParserPlugin=class{},exports.exec=(e,t,n)=>{const
|
|
1
|
+
"use strict";exports.FormatterPlugin=class{},exports.ParserPlugin=class{},exports.exec=(e,t,n)=>{const o=e.exec(t)?.[0]??"";return{value:+o,length:o.length,token:n}},exports.find=(e,t,n,o)=>{const[l,r]=n.ignoreCase?(()=>{const o=n.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(o)),t.toLocaleLowerCase(o)]})():[e,t];return l.reduce((e,t,n)=>t.length>e.length&&!r.indexOf(t)?{value:n,length:t.length,token:o}:e,{value:-1,length:0,token:o})};
|
package/dist/plugin.d.ts
CHANGED
|
@@ -137,10 +137,10 @@ interface ParserPluginOptions {
|
|
|
137
137
|
ignoreCase: boolean;
|
|
138
138
|
/**
|
|
139
139
|
* The time zone to use for parsing dates and times.
|
|
140
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
140
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
141
141
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
142
142
|
*/
|
|
143
|
-
timeZone: TimeZone |
|
|
143
|
+
timeZone: TimeZone | string | undefined;
|
|
144
144
|
/**
|
|
145
145
|
* The locale to use for parsing dates and times.
|
|
146
146
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -171,10 +171,11 @@ declare const exec: (re: RegExp, str: string, token?: ParserToken) => {
|
|
|
171
171
|
* Finds the best matching string from an array based on length and string position.
|
|
172
172
|
* @param array - Array of strings to search through
|
|
173
173
|
* @param str - The string to match against
|
|
174
|
+
* @param options - Parser plugin options
|
|
174
175
|
* @param [token] - Optional parser token to associate with the result
|
|
175
176
|
* @returns ParseResult with the index of the longest matching string at the start position
|
|
176
177
|
*/
|
|
177
|
-
declare const find: (array: string[], str: string, token?: ParserToken) => ParseResult;
|
|
178
|
+
declare const find: (array: string[], str: string, options: ParserPluginOptions, token?: ParserToken) => ParseResult;
|
|
178
179
|
|
|
179
180
|
export { FormatterPlugin, ParserPlugin, exec, find };
|
|
180
181
|
export type { CompiledObject, DateLike, FormatterPluginOptions, Locale, Numeral, ParseResult, ParserPluginOptions, TimeZone };
|
package/dist/plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
class e{}class
|
|
1
|
+
class e{}class t{}const n=(e,t,n)=>{const l=e.exec(t)?.[0]??"";return{value:+l,length:l.length,token:n}},l=(e,t,n,l)=>{const[o,a]=n.ignoreCase?(()=>{const l=n.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(l)),t.toLocaleLowerCase(l)]})():[e,t];return o.reduce((e,t,n)=>t.length>e.length&&!a.indexOf(t)?{value:n,length:t.length,token:l}:e,{value:-1,length:0,token:l})};export{e as FormatterPlugin,t as ParserPlugin,n as exec,l as find};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";class e{}const
|
|
1
|
+
"use strict";class e{}const t=(e,t,o,l)=>{const[s,n]=o.ignoreCase?(()=>{const l=o.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(l)),t.toLocaleLowerCase(l)]})():[e,t];return s.reduce((e,t,o)=>t.length>e.length&&!n.indexOf(t)?{value:o,length:t.length,token:l}:e,{value:-1,length:0,token:l})};const o=new class extends e{dddd(e,o,l){const s=o.locale.getDayOfWeekList({style:"long",compiledObj:l});return t(s,e,o)}ddd(e,o,l){const s=o.locale.getDayOfWeekList({style:"short",compiledObj:l});return t(s,e,o)}dd(e,o,l){const s=o.locale.getDayOfWeekList({style:"narrow",compiledObj:l});return t(s,e,o)}};exports.parser=o;
|
|
@@ -55,10 +55,10 @@ interface ParserPluginOptions {
|
|
|
55
55
|
ignoreCase: boolean;
|
|
56
56
|
/**
|
|
57
57
|
* The time zone to use for parsing dates and times.
|
|
58
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
58
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
59
59
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
60
60
|
*/
|
|
61
|
-
timeZone: TimeZone |
|
|
61
|
+
timeZone: TimeZone | string | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* The locale to use for parsing dates and times.
|
|
64
64
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
class e{}const
|
|
1
|
+
class e{}const t=(e,t,o,l)=>{const[n,s]=o.ignoreCase?(()=>{const l=o.locale.getLocale();return[e.map(e=>e.toLocaleLowerCase(l)),t.toLocaleLowerCase(l)]})():[e,t];return n.reduce((e,t,o)=>t.length>e.length&&!s.indexOf(t)?{value:o,length:t.length,token:l}:e,{value:-1,length:0,token:l})};const o=new class extends e{dddd(e,o,l){const n=o.locale.getDayOfWeekList({style:"long",compiledObj:l});return t(n,e,o)}ddd(e,o,l){const n=o.locale.getDayOfWeekList({style:"short",compiledObj:l});return t(n,e,o)}dd(e,o,l){const n=o.locale.getDayOfWeekList({style:"narrow",compiledObj:l});return t(n,e,o)}};export{o as parser};
|
|
@@ -55,10 +55,10 @@ interface ParserPluginOptions {
|
|
|
55
55
|
ignoreCase: boolean;
|
|
56
56
|
/**
|
|
57
57
|
* The time zone to use for parsing dates and times.
|
|
58
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
58
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
59
59
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
60
60
|
*/
|
|
61
|
-
timeZone: TimeZone |
|
|
61
|
+
timeZone: TimeZone | string | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* The locale to use for parsing dates and times.
|
|
64
64
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -55,10 +55,10 @@ interface ParserPluginOptions {
|
|
|
55
55
|
ignoreCase: boolean;
|
|
56
56
|
/**
|
|
57
57
|
* The time zone to use for parsing dates and times.
|
|
58
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
58
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
59
59
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
60
60
|
*/
|
|
61
|
-
timeZone: TimeZone |
|
|
61
|
+
timeZone: TimeZone | string | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* The locale to use for parsing dates and times.
|
|
64
64
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -137,10 +137,10 @@ interface ParserPluginOptions {
|
|
|
137
137
|
ignoreCase: boolean;
|
|
138
138
|
/**
|
|
139
139
|
* The time zone to use for parsing dates and times.
|
|
140
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
140
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
141
141
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
142
142
|
*/
|
|
143
|
-
timeZone: TimeZone |
|
|
143
|
+
timeZone: TimeZone | string | undefined;
|
|
144
144
|
/**
|
|
145
145
|
* The locale to use for parsing dates and times.
|
|
146
146
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
|
@@ -55,10 +55,10 @@ interface ParserPluginOptions {
|
|
|
55
55
|
ignoreCase: boolean;
|
|
56
56
|
/**
|
|
57
57
|
* The time zone to use for parsing dates and times.
|
|
58
|
-
* This can be a specific time zone object or 'UTC' to use Coordinated Universal Time.
|
|
58
|
+
* This can be a specific time zone object, an IANA time zone name, or 'UTC' to use Coordinated Universal Time.
|
|
59
59
|
* If not specified, it defaults to undefined, which means the local time zone will be used.
|
|
60
60
|
*/
|
|
61
|
-
timeZone: TimeZone |
|
|
61
|
+
timeZone: TimeZone | string | undefined;
|
|
62
62
|
/**
|
|
63
63
|
* The locale to use for parsing dates and times.
|
|
64
64
|
* This is an object that provides methods to get localized month names, day names, and meridiems.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "date-and-time",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "The simplest, most intuitive date and time library",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"date",
|
|
@@ -87,23 +87,25 @@
|
|
|
87
87
|
"type": "module",
|
|
88
88
|
"sideEffects": false,
|
|
89
89
|
"devDependencies": {
|
|
90
|
+
"@eslint/js": "^10.0.1",
|
|
90
91
|
"@rollup/plugin-alias": "^6.0.0",
|
|
91
92
|
"@rollup/plugin-terser": "^0.4.4",
|
|
92
|
-
"@stylistic/eslint-plugin": "^5.
|
|
93
|
-
"@types/node": "^25.0
|
|
94
|
-
"@vitest/coverage-v8": "^4.0.
|
|
95
|
-
"eslint": "^
|
|
96
|
-
"glob": "^13.0.
|
|
97
|
-
"prettier": "^3.8.
|
|
98
|
-
"rollup": "^4.
|
|
93
|
+
"@stylistic/eslint-plugin": "^5.9.0",
|
|
94
|
+
"@types/node": "^25.3.0",
|
|
95
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
96
|
+
"eslint": "^10.0.1",
|
|
97
|
+
"glob": "^13.0.6",
|
|
98
|
+
"prettier": "^3.8.1",
|
|
99
|
+
"rollup": "^4.58.0",
|
|
99
100
|
"rollup-plugin-dts": "^6.3.0",
|
|
100
101
|
"rollup-plugin-esbuild": "^6.2.1",
|
|
101
102
|
"tsx": "^4.21.0",
|
|
102
|
-
"typescript-eslint": "^8.
|
|
103
|
+
"typescript-eslint": "^8.56.0",
|
|
103
104
|
"vitepress": "^1.6.4",
|
|
104
|
-
"vitest": "^4.0.
|
|
105
|
+
"vitest": "^4.0.18"
|
|
105
106
|
},
|
|
106
107
|
"overrides": {
|
|
107
|
-
"esbuild": "^0.25.0"
|
|
108
|
+
"esbuild": "^0.25.0",
|
|
109
|
+
"minimatch": "^10.2.2"
|
|
108
110
|
}
|
|
109
111
|
}
|