forked from GitHubMirrors/silverbullet-icalendar
All checks were successful
Build SilverBullet Plug / build (push) Successful in 31s
6 lines
44 KiB
JavaScript
6 lines
44 KiB
JavaScript
var g=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),I=t=>Object.keys(t);var Ce={action:"ACTION",description:"DESCRIPTION",duration:"DURATION",repeat:"REPEAT",summary:"SUMMARY",trigger:"TRIGGER",attachments:"ATTACH",attendees:"ATTENDEE"},$e=g(Ce),hn=I($e),Kn=I(Ce);var Ne={method:"METHOD",prodId:"PRODID",version:"VERSION",name:"X-WR-CALNAME"},Ze=g(Ne),Yn=I(Ze),Bn=I(Ne);var ve={alarms:"ALARM",categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",timeTransparent:"TRANSP",url:"URL",end:"DTEND",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"},Xe=g(ve),Un=I(Xe),Wn=I(ve);var Ae={id:"TZID",lastModified:"LAST-MODIFIED",url:"TZURL"},Qe=g(Ae),wn=I(Qe),Hn=I(Ae);var be={comment:"COMMENT",name:"TZNAME",offsetFrom:"TZOFFSETFROM",offsetTo:"TZOFFSETTO",recurrenceDate:"RDATE",recurrenceRule:"RRULE",start:"DTSTART"},et=g(be),Zn=I(et),Xn=I(be);var xt={byDay:"BYDAY",byHour:"BYHOUR",byMinute:"BYMINUTE",byMonth:"BYMONTH",byMonthday:"BYMONTHDAY",bySecond:"BYSECOND",bySetPos:"BYSETPOS",byWeekNo:"BYWEEKNO",byYearday:"BYYEARDAY",count:"COUNT",frequency:"FREQ",interval:"INTERVAL",until:"UNTIL",workweekStart:"WKST"},tt=g(xt),to=I(tt),ro=I(xt);var Ve={categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT",completed:"COMPLETED",due:"DUE",percentComplete:"PERCENT-COMPLETE"},rt=g(Ve),ao=I(rt),so=I(Ve);var Me={categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"},nt=g(Me),io=I(nt),po=I(Me);var ze={stamp:"DTSTAMP",start:"DTSTART",uid:"UID",url:"URL",organizer:"ORGANIZER",attendees:"ATTENDEE",comment:"COMMENT",end:"DTEND",freeBusy:"FREEBUSY"},ot=g(ze),yo=I(ot),lo=I(ze);var at="BEGIN",st="END",xe="VCALENDAR",X="VTIMEZONE",ct="STANDARD",mt="DAYLIGHT",Q="VEVENT",ee="VALARM",te="VTODO",re="VJOURNAL",ne="VFREEBUSY",Io=[xe,X,ct,mt,Q,ee,te,re,ne];var it=t=>new RegExp(`${at}:${t}([\\s\\S]*?)${st}:${t}`,"g"),St=t=>new RegExp(`${at}:${t}|${st}:${t}`,"g");var Dt=/\r\n/,Se=/\r\n|\r|\n/,Le=`\r
|
|
`,pt=`
|
|
`,gt=":",b=",",Ot='"',oe=";",Vo=" ",De="=",ut=75;var _e=t=>`${t}${Le}`,f=(t,e,r)=>r?e==null?"":_e(`${t};${r}:${e}`):_e(`${t}:${e}`),Rt=t=>_e(`BEGIN:${t}`),Ct=t=>_e(`END:${t}`);var S=t=>{if(!(t.length<1))return`${t.map(e=>`${e.key}${De}${e.value}`).join(oe)}`};var Nt=t=>{if(t.type==="uri"){let e=S([t.formatType&&{key:"FMTTYPE",value:t.formatType}].filter(r=>!!r));return f("ATTACH",t.url,e)}if(t.type==="binary"){let e=S([t.value&&{key:"VALUE",value:t.value},t.encoding&&{key:"ENCODING",value:t.encoding}].filter(r=>!!r));return f("ATTACH",t.binary,e)}throw Error(`IcsAttachment has no type! ${JSON.stringify(t)}`)};var k=(t,e)=>e?`"MAILTO:${t}"`:`MAILTO:${t}`;var V=(t,e)=>{let r=S([t.dir&&{key:"DIR",value:`"${t.dir}"`},t.delegatedFrom&&{key:"DELEGATED-FROM",value:k(t.delegatedFrom,!0)},t.member&&{key:"MEMBER",value:k(t.member,!0)},t.role&&{key:"ROLE",value:t.role},t.name&&{key:"CN",value:t.name},t.partstat&&{key:"PARTSTAT",value:t.partstat},t.sentBy&&{key:"SENT-BY",value:k(t.sentBy,!0)},t.rsvp!==void 0&&(t.rsvp===!0||t.rsvp===!1)&&{key:"RSVP",value:t.rsvp===!0?"TRUE":"FALSE"}].filter(n=>!!n));return f(e,k(t.email),r)};var M=t=>{if(Object.values(t).filter(r=>typeof r=="number").length===0)return;let e="";return t.before&&(e+="-"),e+="P",t.weeks!==void 0&&(e+=`${t.weeks}W`),t.days!==void 0&&(e+=`${t.days}D`),(t.hours!==void 0||t.minutes!==void 0||t.seconds!==void 0)&&(e+="T",t.hours!==void 0&&(e+=`${t.hours}H`),t.minutes!==void 0&&(e+=`${t.minutes}M`),t.seconds!==void 0&&(e+=`${t.seconds}S`)),e};var mn=Math.pow(10,8)*24*60*60*1e3,qo=-mn,vt=6048e5,At=864e5,ce=6e4,me=36e5;var pn=3600;var bt=pn*24,$o=bt*7,un=bt*365.2425,dn=un/12,Zo=dn*3,dt=Symbol.for("constructDateFrom");function x(t,e){return typeof t=="function"?t(e):t&&typeof t=="object"&&dt in t?t[dt](e):t instanceof Date?new t.constructor(e):new Date(e)}function i(t,e){return x(e||t,t)}function Y(t,e,r){let n=i(t,r==null?void 0:r.in);return isNaN(e)?x((r==null?void 0:r.in)||t,NaN):(e&&n.setDate(n.getDate()+e),n)}function he(t,e,r){let n=i(t,r==null?void 0:r.in);if(isNaN(e))return x((r==null?void 0:r.in)||t,NaN);if(!e)return n;let o=n.getDate(),s=x((r==null?void 0:r.in)||t,n.getTime());s.setMonth(n.getMonth()+e+1,0);let a=s.getDate();return o>=a?s:(n.setFullYear(s.getFullYear(),s.getMonth(),o),n)}function z(t,e,r){return x((r==null?void 0:r.in)||t,+i(t)+e)}function Ke(t,e,r){return z(t,e*me,r)}var fn={};function B(){return fn}function ae(t,e){var c,m,p,d;let r=B(),n=(e==null?void 0:e.weekStartsOn)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.weekStartsOn)??r.weekStartsOn??((d=(p=r.locale)==null?void 0:p.options)==null?void 0:d.weekStartsOn)??0,o=i(t,e==null?void 0:e.in),s=o.getDay(),a=(s<n?7:0)+s-n;return o.setDate(o.getDate()-a),o.setHours(0,0,0,0),o}function ft(t){let e=i(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function F(t,...e){let r=x.bind(null,t||e.find(n=>typeof n=="object"));return e.map(r)}function ge(t,e){let r=i(t,e==null?void 0:e.in);return r.setHours(0,0,0,0),r}function Vt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=ge(n),a=ge(o),c=+s-ft(s),m=+a-ft(a);return Math.round((c-m)/At)}function ie(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setTime(n.getTime()+e*ce),n}function Pe(t,e,r){return z(t,e*1e3,r)}function j(t,e,r){return Y(t,e*7,r)}function ke(t,e,r){return he(t,e*12,r)}function pe(t,e){let r=+i(t)-+i(e);return r<0?-1:r>0?1:r}function Ye(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function Be(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=Mt(n,o),a=Math.abs(Vt(n,o));n.setDate(n.getDate()-s*a);let c=+(Mt(n,o)===-s),m=s*(a-c);return m===0?0:m}function Mt(t,e){let r=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return r<0?-1:r>0?1:r}function U(t){return e=>{let n=(t?Math[t]:Math.trunc)(e);return n===0?0:n}}function zt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=(+n-+o)/me;return U(r==null?void 0:r.roundingMethod)(s)}function Fe(t,e){return+i(t)-+i(e)}function Lt(t,e,r){let n=Fe(t,e)/ce;return U(r==null?void 0:r.roundingMethod)(n)}function yt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function _t(t,e,r){let n=Fe(t,e)/1e3;return U(r==null?void 0:r.roundingMethod)(n)}function ht(t,e,r){let n=Be(t,e,r)/7;return U(r==null?void 0:r.roundingMethod)(n)}function Kt(t,e){let[r,n]=F(t,e.start,e.end);return{start:r,end:n}}function Pt(t,e){let{start:r,end:n}=Kt(e==null?void 0:e.in,t),o=+r>+n,s=o?+r:+n,a=o?n:r;a.setHours(0,0,0,0);let c=(e==null?void 0:e.step)??1;if(!c)return[];c<0&&(c=-c,o=!o);let m=[];for(;+a<=s;)m.push(x(r,a)),a.setDate(a.getDate()+c),a.setHours(0,0,0,0);return o?m.reverse():m}function lt(t,e){let r=i(t,e==null?void 0:e.in);return r.setDate(1),r.setHours(0,0,0,0),r}function kt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear();return r.setFullYear(n+1,0,0),r.setHours(23,59,59,999),r}function Yt(t,e){let r=i(t,e==null?void 0:e.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}function Bt(t,e){var d,l,E,v;let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=B(),s=(e==null?void 0:e.firstWeekContainsDate)??((l=(d=e==null?void 0:e.locale)==null?void 0:d.options)==null?void 0:l.firstWeekContainsDate)??o.firstWeekContainsDate??((v=(E=o.locale)==null?void 0:E.options)==null?void 0:v.firstWeekContainsDate)??1,a=x((e==null?void 0:e.in)||t,0);a.setFullYear(n+1,0,s),a.setHours(0,0,0,0);let c=ae(a,e),m=x((e==null?void 0:e.in)||t,0);m.setFullYear(n,0,s),m.setHours(0,0,0,0);let p=ae(m,e);return+r>=+c?n+1:+r>=+p?n:n-1}function Ft(t,e){var c,m,p,d;let r=B(),n=(e==null?void 0:e.firstWeekContainsDate)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.firstWeekContainsDate)??r.firstWeekContainsDate??((d=(p=r.locale)==null?void 0:p.options)==null?void 0:d.firstWeekContainsDate)??1,o=Bt(t,e),s=x((e==null?void 0:e.in)||t,0);return s.setFullYear(o,0,n),s.setHours(0,0,0,0),ae(s,e)}function jt(t,e){let r=i(t,e==null?void 0:e.in),n=+ae(r,e)-+Ft(r,e);return Math.round(n/vt)+1}function Oe(t,e){return i(t,e==null?void 0:e.in).getDay()}function je(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=r.getMonth(),s=x(r,0);return s.setFullYear(n,o+1,0),s.setHours(0,0,0,0),s.getDate()}function Ut(t,e){return i(t,e==null?void 0:e.in).getHours()}function Wt(t,e){return i(t,e==null?void 0:e.in).getMinutes()}function Ue(t,e){return i(t,e==null?void 0:e.in).getMonth()}function Gt(t){return i(t).getSeconds()}function Jt(t,e){return i(t,e==null?void 0:e.in).getFullYear()}function wt(t,e){return+i(t)==+i(e)}function Ht(t,e,r){let n=i(t,r==null?void 0:r.in),o=jt(n,r)-e;return n.setDate(n.getDate()-o*7),i(n,r==null?void 0:r.in)}function Re(t,e,r){var l,E,v,D;let n=B(),o=(r==null?void 0:r.weekStartsOn)??((E=(l=r==null?void 0:r.locale)==null?void 0:l.options)==null?void 0:E.weekStartsOn)??n.weekStartsOn??((D=(v=n.locale)==null?void 0:v.options)==null?void 0:D.weekStartsOn)??0,s=i(t,r==null?void 0:r.in),a=s.getDay(),m=(e%7+7)%7,p=7-o,d=e<0||e>6?e-(a+p)%7:(m+p)%7-(a+p)%7;return Y(s,d,r)}function We(t,e,r){let n=+i(t,r==null?void 0:r.in),[o,s]=[+i(e.start,r==null?void 0:r.in),+i(e.end,r==null?void 0:r.in)].sort((a,c)=>a-c);return n>=o&&n<=s}function qt(t){let e=t/me;return Math.trunc(e)}function $t(t){let e=t/ce;return Math.trunc(e)}function Zt(t,e,r){let n=i(t,r==null?void 0:r.in),o=n.getFullYear(),s=n.getDate(),a=x((r==null?void 0:r.in)||t,0);a.setFullYear(o,e,15),a.setHours(0,0,0,0);let c=je(a);return n.setMonth(e,Math.min(s,c)),n}function Xt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setDate(e),n}function Qt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMonth(0),n.setDate(e),n}function er(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setHours(e),n}function tr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMinutes(e),n}function rr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setSeconds(e),n}function nr(t,e,r){return z(t,-e,r)}function or(t,e,r){return j(t,-e,r)}var Mc=(t,e)=>{let r=Math.abs(ht(e,t)),n=Math.abs(Be(e,t)),o=n-r*7,s=Math.abs(zt(e,t)),a=s-n*24,c=Math.abs(Lt(e,t)),m=c-s*60,d=Math.abs(_t(e,t))-c*60;return{before:t>e,weeks:r,days:o,hours:a,minutes:m,seconds:d}};var ar=(t,e)=>{let r=e.before?-1:1,n=(e.seconds||0)*r,o=(e.minutes||0)*r,s=(e.hours||0)*r,a=(e.days||0)*r,c=(e.weeks||0)*r;return j(Y(Ke(ie(Pe(t,n),o),s),a),c)};var Yc=t=>t.end?t.end.date:ar(t.start.date,t.duration);var Fc=["PUBLISH"],jc=["2.0"];var sr=[ct,mt];var Jc=["FREE","BUSY","BUSY-UNAVAILABLE","BUSY-TENTATIVE"];var om=["BASE64"],am=["BINARY"];var cm=["NEEDS-ACTION","ACCEPTED","DECLINED","TENTATIVE","DELEGATED"];var im=["DATE","DATE-TIME"];var cr=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];var dm=["TENTATIVE","CONFIRMED","CANCELLED"],fm=["NEEDS-ACTION","COMPLETED","IN-PROGRESS","CANCELLED"],ym=["DRAFT","FINAL","CANCELLED"];var Tm=["START","END"];var Ge=["SU","MO","TU","WE","TH","FR","SA"];var xm=["PRIVATE","PUBLIC","CONFIDENTIAL"];var Dm=["TRANSPARENT","OPAQUE"];var ue=(t,e)=>e===void 0?!1:t>=e,mr=(t,{start:e,end:r},n)=>{if(ue(n.length,t.count))return;let o=t.frequency,s=t.interval||1;if(!o)return;let a=e;if(o==="SECONDLY"){for(;a<r;){if(ue(n.length,t.count))return;a=Pe(a,s),n.push([a])}return}if(o==="MINUTELY"){for(;a<r;){if(ue(n.length,t.count))return;a=ie(a,s),n.push([a])}return}if(o==="HOURLY"){for(;a<r;){if(ue(n.length,t.count))return;a=Ke(a,s),n.push([a])}return}if(o==="DAILY"){for(;a<r;){if(ue(n.length,t.count))return;a=Y(a,s),n.push([a])}return}if(o==="WEEKLY"){for(;a<r;){if(ue(n.length,t.count))return;a=j(a,s),n.push([a])}return}if(o==="MONTHLY"){for(;a<r;)a=he(a,s),n.push([a]);return}if(o==="YEARLY"){for(;a<r;)a=ke(a,s),n.push([a]);return}};var ir=(t,e,r,n)=>{let o=r.map(({day:s,occurrence:a})=>({occurrence:a,day:Ge.indexOf(s)}));return t.frequency==="YEARLY"?t.byYearday||t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):t.byWeekNo?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):t.byMonth?e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(Yt(a)),W(kt(a)),c,n,m)))):t.frequency==="MONTHLY"?t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):t.frequency==="WEEKLY"?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a))))},Tt=(t,e,r,n,o)=>{if(o!==void 0){if(!(o<0)){let d=Re(t,r,{weekStartsOn:n}),l=t>d;return j(d,(o||1)-1+(l?1:0))}let c=Re(e,r,{weekStartsOn:n}),m=e<c;return W(ge(or(c,-(o||1)-1+(m?1:0))))}return Pt({start:t,end:e}).map(a=>W(a)).filter(a=>We(a,{start:t,end:e})).filter(a=>r===Oe(a))},W=t=>ie(t,-t.getTimezoneOffset());var pr=(t,e,r)=>t.frequency==="YEARLY"||t.frequency==="MONTHLY"||t.frequency==="WEEKLY"||t.frequency==="DAILY"?e.map(n=>n.flatMap(o=>r.map(s=>er(o,s)))):e.map(n=>n.filter(o=>r.includes(Ut(o))));var ur=(t,e,r)=>t.frequency==="YEARLY"||t.frequency==="MONTHLY"||t.frequency==="WEEKLY"||t.frequency==="DAILY"||t.frequency==="HOURLY"?e.map(n=>n.flatMap(o=>r.map(s=>tr(o,s)))):e.map(n=>n.filter(o=>r.includes(Wt(o))));var dr=(t,e,r)=>t.frequency==="YEARLY"?e.map(n=>n.flatMap(o=>r.map(s=>Zt(o,s)))):e.map(n=>n.filter(o=>r.includes(Ue(o))));var fr=(t,e,r)=>t.frequency==="YEARLY"||t.frequency==="MONTHLY"?e.map(n=>n.flatMap(o=>{let s=je(o);return r.map(a=>a>s?void 0:Xt(o,a)).filter(a=>!!a)})):t.frequency==="WEEKLY"?e:e.map(n=>n.filter(o=>r.includes(Ue(o))));var yr=(t,e,r)=>t.frequency==="YEARLY"||t.frequency==="MONTHLY"||t.frequency==="WEEKLY"||t.frequency==="DAILY"||t.frequency==="HOURLY"||t.frequency==="MINUTELY"?e.map(n=>n.flatMap(o=>r.map(s=>rr(o,s)))):e.map(n=>n.filter(o=>r.includes(Gt(o))));var lr=(t,e,r)=>!t.byYearday&&!t.byWeekNo&&!t.byMonthday&&!t.byMonth&&!t.byDay&&!t.byHour&&!t.byMinute&&!t.bySecond?e:e.map(n=>n.sort(pe).filter((o,s)=>r.some(a=>a>0?s===0?!1:s%a===0:s===0?n.length-1+a===0:s%(n.length-1+a)===0)));var Tr=(t,e,r,n)=>t.frequency==="YEARLY"?e.map(o=>o.flatMap(s=>r.map(a=>Ht(s,a,{weekStartsOn:n})))):e;var Ir=(t,e,r)=>t.frequency==="YEARLY"?e.map(n=>n.flatMap(o=>r.map(s=>Qt(o,s)))):t.frequency==="MONTHLY"||t.frequency==="WEEKLY"||t.frequency==="DAILY"?e:e.map(n=>n.filter(o=>r.includes(Jt(o))));var Er=(t,e,r)=>{let n=r;return t.byMonth&&(n=dr(t,n,t.byMonth)),t.byWeekNo&&(n=Tr(t,n,t.byWeekNo,e.weekStartsOn)),t.byYearday&&(n=Ir(t,n,t.byYearday)),t.byMonthday&&(n=fr(t,n,t.byMonthday)),t.byDay&&(n=ir(t,n,t.byDay,e.weekStartsOn)),t.byHour&&(n=pr(t,n,t.byHour)),t.byMinute&&(n=ur(t,n,t.byMinute)),t.bySecond&&(n=yr(t,n,t.bySecond)),t.bySetPos&&(n=lr(t,n,t.bySetPos)),n.map(s=>s.sort(pe).filter(a=>!(e.exceptions.length>0&&e.exceptions.some(c=>wt(c,a))||!We(a,{start:e.start,end:e.end}))))};var yn=2,xr=(t,e)=>{var p;let r=e.start,n=((p=t.until)==null?void 0:p.date)||(e==null?void 0:e.end)||ke(r,yn),o=e.exceptions||[],s=(t.workweekStart?Ge.indexOf(t.workweekStart):1)%7,a=[[r]];mr(t,{start:r,end:n},a);let c=Er(t,{start:r,end:n,exceptions:o,weekStartsOn:s},a);return t.count?c.flat().splice(0,t.count):c.flat()};var Sr=(t,e)=>e.flatMap(r=>!r.recurrenceRule||r.recurrenceRule.until&&r.recurrenceRule.until.date<t?r:xr(r.recurrenceRule,{start:r.start,end:t}).map(o=>({...r,start:o})));var se=t=>{let e=t[0]==="+"?1:-1,r=Number(t.slice(1,3)),n=t.length>3?Number(t.slice(3,5)):0,o=t.length>5?Number(t.slice(5,7)):0;return((r*60+n)*60+o)*1e3*e};var Dr=(t,e)=>{let r="en-US",n=new Date(e.toLocaleString(r,{timeZone:"UTC"}));try{return new Date(e.toLocaleString(r,{timeZone:t})).getTime()-n.getTime()}catch{return e.getTime()-n.getTime()}};var Je=(t,e,r)=>{let n=r==null?void 0:r.find(s=>s.id===e);if(n){let s=Sr(t,n.props).sort((m,p)=>pe(m.start,p.start));for(let m=0;m<s.length;m+=1)if(t<s[m].start){let p=s[m-1]?s[m-1].offsetTo:s[m].offsetFrom,d=p.length>5?p.substring(0,5):p;return{offset:d,milliseconds:se(d)}}let a=s[s.length-1].offsetTo,c=a.length>5?a.substring(0,5):a;return{offset:c,milliseconds:se(c)}}let o=Dr(e,t);if(!Number.isNaN(o)){let s=o<0,a=Math.abs(qt(o)),c=Math.abs($t(o))-a*60,m=a.toString().length===1?`0${a}`:a.toString(),p=c.toString().length===1?`0${c}`:c.toString();return{offset:`${s?"-":"+"}${m}${p}`,milliseconds:o}}};var we=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);let e=t.toISOString(),r=e.slice(0,4),n=e.slice(5,7),o=e.slice(8,10);return`${r}${n}${o}`},A=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);return It(t)},gr=(t,e,r)=>{let n=e.date;if(!Ye(n))throw Error(`Incorrect date object: ${n}`);return Je(n,e.timezone,r)?It(n,!0):A(t)},It=(t,e)=>{let r=t.toISOString(),n=r.slice(0,4),o=r.slice(5,7),s=r.slice(8,10),a=r.slice(11,13),c=r.slice(14,16),m=r.slice(17,19);return`${n}${o}${s}T${a}${c}${m}${e?"":"Z"}`},Or=(t,e)=>{let r=se(e),n=z(t,r);return It(n,!0)};var Rr=t=>{var r,n;let e=S([((r=t.options)==null?void 0:r.related)&&{key:"RELATED",value:t.options.related}].filter(o=>!!o));if(t.type==="absolute")return f("TRIGGER",A((n=t.value)==null?void 0:n.date));if(t.type==="relative")return f("TRIGGER",M(t.value),e)};var He=t=>Object.keys(t);var Cr=(t,e)=>{if(!t)return"";let r="";return Object.entries(t).forEach(([n,o])=>{let s=e==null?void 0:e[n];if(!s){r+=f(ln(n),o==null?void 0:o.toString());return}let a=s.generate(o);a&&(r+=f(s.name,a.value,a.options?S(Object.entries(a.options).map(([c,m])=>({key:c,value:m}))):void 0))}),r},ln=t=>{let e="X-";for(let r of t)r===r.toUpperCase()&&(e+="-"),e+=r.toUpperCase();return e};var Tn=t=>{let e=(t.match(/\n/g)||[]).length;return t.length+e},Nr=t=>{let e=t.split(Dt),r=[];return e.forEach(n=>{if(Tn(n)<75){r.push(n);return}In(n,75).forEach(o=>{r.push(o)})}),r.join(Le)},In=(t,e)=>{let r=[],n="",o=0;for(let s=0;s<t.length;s++){let a=t[s],m=a===`
|
|
`?2:1;o+m>e?(r.push(r.length===0?n:` ${n}`),n=a,o=m):(n+=a,o+=m)}return n&&r.push(r.length===0?n:` ${n}`),r};var O=(t,e)=>{let r=He(t),n=e.childComponents,o=n?He(n):[],s=e.generateArrayValues,a=s?He(s):[],c="";return c+=Rt(e.icsComponent),r.forEach(m=>{if(o.includes(m)||a.includes(m)||m==="nonStandard")return;let p=e.icsKeyMap[m];if(!p)return;let d=t[m];if(d==null)return;let l=e.generateValues[m];if(l){c+=l({icsKey:p,value:d,key:m});return}c+=f(p,String(d))}),n&&o&&o.length>0&&o.forEach(m=>{let p=t[m];!p||!Array.isArray(p)||p.length===0||p.forEach(d=>{let l=n[m];l&&(c+=l(d))})}),s&&a&&a.length>0&&a.forEach(m=>{let p=s[m];if(!p)return;let d=e.icsKeyMap[m];if(!d)return;let l=t[m];!l||!Array.isArray(l)||l.length===0||l.forEach(E=>{c+=p({icsKey:d,value:E})})}),t.nonStandard&&(c+=Cr(t.nonStandard,e==null?void 0:e.nonStandard)),c+=Ct(e.icsComponent),e!=null&&e.skipFormatLines?c:Nr(c)};var h=(t,e)=>f(t,Math.trunc(e).toString());var vr=(t,e)=>O(t,{icsComponent:ee,icsKeyMap:Ce,generateValues:{trigger:({value:r})=>Rr(r),duration:({icsKey:r,value:n})=>f(r,M(n)),repeat:({icsKey:r,value:n})=>h(r,n)},generateArrayValues:{attendees:({value:r})=>V(r,"ATTENDEE"),attachments:({value:r})=>Nt(r)},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var T=(t,e,r=[],n)=>{let o=S([e.type&&{key:"VALUE",value:e.type},e.local&&!(n!=null&&n.forceUtc)&&{key:"TZID",value:e.local.timezone},...r].filter(a=>!!a)),s=e.type==="DATE"?we(e.date):e.local&&!(n!=null&&n.forceUtc)?gr(e.date,e.local,n==null?void 0:n.timezones):A(e.date);return f(t,s,o)};var de=(t,e,r)=>T(e,t,void 0,r);var G=t=>{let e=S([t.dir&&{key:"DIR",value:`"${t.dir}"`},t.name&&{key:"CN",value:t.name},t.sentBy&&{key:"SENT-BY",value:k(t.sentBy)}].filter(r=>!!r));return f("ORGANIZER",k(t.email),e)};var Ar=t=>t.occurrence?`${t.occurrence}${t.day}`:t.day;var J=t=>{var n;let e="",r=S([t.byDay&&{key:"BYDAY",value:t.byDay.map(o=>Ar(o)).join(",")},t.byHour&&{key:"BYHOUR",value:t.byHour.join(",")},t.byMinute&&{key:"BYMINUTE",value:t.byMinute.join(",")},t.byMonth&&{key:"BYMONTH",value:t.byMonth.map(o=>o+1).join(",")},t.byMonthday&&{key:"BYMONTHDAY",value:t.byMonthday.join(",")},t.bySecond&&{key:"BYSECOND",value:t.bySecond.join(",")},t.bySetPos&&{key:"BYSETPOS",value:t.bySetPos.join(",")},t.byWeekNo&&{key:"BYWEEKNO",value:t.byWeekNo.join(",")},t.byYearday&&{key:"BYYEARDAY",value:t.byYearday.join(",")},t.count&&{key:"COUNT",value:t.count.toString()},t.frequency&&{key:"FREQ",value:t.frequency},t.interval&&{key:"INTERVAL",value:t.interval.toString()},t.until&&{key:"UNTIL",value:t.until.type==="DATE"?we(t.until.date):A(((n=t.until.local)==null?void 0:n.date)||t.until.date)},t.workweekStart&&{key:"WKST",value:t.workweekStart}].filter(o=>!!o));return e+=f("RRULE",r),e};var fe=(t,e)=>{let r="";return r+=T("RECURRENCE-ID",t.value,t.range?[{key:"RANGE",value:t.range}]:void 0,e),r};var br=t=>t.replace(/([\\;,])|(\n)/g,(e,r)=>r?`\\${r}`:"\\n");var R=(t,e,r)=>f(t,br(e),r?S(r):void 0);var Vr=(t,e)=>O(t,{icsComponent:Q,icsKeyMap:ve,omitGenerateKeys:["descriptionAltRep"],generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(",")),description:({icsKey:r,value:n})=>R(r,n,t.descriptionAltRep?[{key:"ALTREP",value:`"${t.descriptionAltRep}"`}]:void 0),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,"ATTENDEE"),exceptionDates:({value:r})=>de(r,"EXDATE",{timezones:e==null?void 0:e.timezones})},childComponents:{alarms:r=>vr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var Mr=(t,e)=>O(t,{icsComponent:t.type,icsKeyMap:be,generateValues:{start:({icsKey:r,value:n})=>f(r,Or(n,t.offsetTo)),recurrenceRule:({value:r})=>J(r),recurrenceDate:({icsKey:r,value:n})=>T(r,n)},omitGenerateKeys:["type"],nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var zr=(t,e)=>O(t,{icsComponent:X,icsKeyMap:Ae,generateValues:{lastModified:({icsKey:r,value:n})=>f(r,A(n))},childComponents:{props:r=>Mr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var Lr=(t,e)=>O(t,{icsComponent:te,icsKeyMap:Ve,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),due:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),completed:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(",")),description:({icsKey:r,value:n})=>R(r,n),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),percentComplete:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,"ATTENDEE"),exceptionDates:({value:r})=>de(r,"EXDATE",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var _r=(t,e)=>O(t,{icsComponent:re,icsKeyMap:Me,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(",")),description:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,"ATTENDEE"),exceptionDates:({value:r})=>de(r,"EXDATE",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var hr=(t,e)=>{let r=t.values.map(o=>`${A(o.start)}/${o.end?A(o.end):M(o.duration)}`).join(","),n=S([t.type&&{key:"FBTYPE",value:t.type}].filter(o=>!!o));return f(e,r,n)};var Kr=(t,e)=>O(t,{icsComponent:ne,icsKeyMap:ze,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),comment:({icsKey:r,value:n})=>R(r,n),organizer:({value:r})=>G(r)},generateArrayValues:{attendees:({value:r})=>V(r,"ATTENDEE"),freeBusy:({value:r})=>hr(r,"FREEBUSY")},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var Vd=(t,e)=>O(t,{icsComponent:xe,icsKeyMap:Ne,generateValues:{},childComponents:{timezones:r=>zr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0}),events:r=>Vr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),todos:r=>Lr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),journals:r=>_r(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),freeBusy:r=>Kr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard})},nonStandard:e==null?void 0:e.nonStandard});var u=(t,e)=>{if(t===void 0)return e;let r=t["~standard"].validate(e);if(r instanceof Promise)throw new TypeError("Schema validation must be synchronous");if(r.issues)throw new Error(JSON.stringify(r.issues,null,2));return r.value};var Pr=(t,e)=>{var n,o,s,a;let r=((n=e.options)==null?void 0:n.VALUE)==="BINARY"?{type:"binary",encoding:((o=e.options)==null?void 0:o.ENCODING)||"BASE64",binary:e.value,value:(s=e.options)==null?void 0:s.VALUE}:{type:"uri",url:e.value,formatType:(a=e.options)==null?void 0:a.FMTTYPE};return u(t,r)};var w=t=>t.replace(/mailto:/gi,"");var L=(t,e)=>{var r,n,o,s,a,c,m,p,d,l,E;return u(t,{email:w(e.value),delegatedFrom:(r=e.options)!=null&&r["DELEGATED-FROM"]?w((n=e.options)==null?void 0:n["DELEGATED-FROM"]):void 0,dir:(o=e.options)==null?void 0:o.DIR,member:(s=e.options)!=null&&s.MEMBER?w(e.options.MEMBER):void 0,name:(a=e.options)==null?void 0:a.CN,partstat:(c=e.options)==null?void 0:c.PARTSTAT,role:(m=e.options)==null?void 0:m.ROLE,sentBy:(p=e.options)!=null&&p["SENT-BY"]?w(e.options["SENT-BY"]):void 0,rsvp:(d=e.options)!=null&&d.RSVP?((l=e.options)==null?void 0:l.RSVP)==="TRUE"?!0:((E=e.options)==null?void 0:E.RSVP)==="FALSE"?!1:void 0:void 0})};var _=(t,e)=>{let r=e.value,n={};r[0]==="-"&&(n.before=!0,r=r.slice(1)),r=r.slice(1);let o=r.split("T"),s=o[0];if(s.includes("D")){let[c,m]=s.split("D");n.days=Number(c),s=m}if(s.includes("W")){let[c,m]=s.split("W");n.weeks=Number(c),s=m}let a=o[1];if(a){if(a.includes("H")){let[c,m]=a.split("H");n.hours=Number(c),a=m}if(a.includes("M")){let[c,m]=a.split("M");n.minutes=Number(c),a=m}if(a.includes("S")){let[c,m]=a.split("S");n.seconds=Number(c),a=m}}return u(t,n)};var kr=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=new Date(Date.UTC(r,n,o));return u(t,s)},H=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=Number.parseInt(e.value.slice(9,11),10),a=Number.parseInt(e.value.slice(11,13),10),c=Number.parseInt(e.value.slice(13,15),10),m=new Date(Date.UTC(r,n,o,s,a,c));return u(t,m)},Yr=(t,e,r)=>{let n=se(r),o=H(void 0,e),s=nr(o,n);return u(t,s)};var En=(t,e)=>{var s,a,c,m,p,d;if(((s=t.options)==null?void 0:s.VALUE)==="DATE")return{date:kr(void 0,t),type:(a=t.options)==null?void 0:a.VALUE};let r=((c=t.options)==null?void 0:c.VALUE)||"DATE-TIME",n=H(void 0,t);if(!((m=t.options)!=null&&m.TZID))return{date:n,type:r};let o=Je(n,t.options.TZID,e==null?void 0:e.timezones);return o?{date:z(n,-o.milliseconds),type:r,local:(p=t.options)!=null&&p.TZID?{date:n,timezone:(d=t.options)==null?void 0:d.TZID,tzoffset:o.offset}:void 0}:{date:n,type:r}},y=(t,e,r)=>u(t,En(e,r));var Br=(t,e,r)=>{var o,s,a,c;let n=((o=e.options)==null?void 0:o.VALUE)==="DATE-TIME"||((s=e.options)==null?void 0:s.VALUE)==="DATE"?{type:"absolute",value:y(void 0,e,r),options:{related:(a=e.options)==null?void 0:a.RELATED}}:{type:"relative",value:_(void 0,e),options:{related:(c=e.options)==null?void 0:c.RELATED}};return u(t,n)};var xn=t=>t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t,Et=t=>t.map(e=>{let[r,...n]=e.split(De),o=n.join(De);return{property:r,value:xn(o)}},{}),Sn=t=>t.reduce((e,r)=>(e[r.property]=r.value,e),{}),Fr=t=>Sn(Et(t));var Dn=t=>{let e=!1,r;for(let s=0;s<t.length&&r===void 0;s+=1)t.charAt(s)===Ot&&(e=!e),t.charAt(s)===gt&&!e&&(r=s);if(r===void 0)throw Error(`Line not valid: ${t}`);let n=t.substring(0,r),o=t.substring(r+1);return{property:n,value:o}},jr=t=>{let{property:e,value:r}=Dn(t);if(e.includes(oe)){let[n,...o]=e.split(oe),s=Fr(o);return{property:n,line:{options:s,value:r}}}return{property:e,line:{value:r}}};var Ur=t=>/^[ \t]/.test(t),gn=t=>/^[A-Z]+(?:-[A-Z]+)*[:;]/.test(t),Wr=t=>{let e=[],r=t.split(Se);for(;r[0]==="";)r.shift();let n=r.length;for(;n>0&&r[n-1]==="";)n-=1,r.pop();for(let o=0;o<r.length;){let s=r[o];for(o+=1;r[o]!==void 0&&(Ur(r[o])||!gn(r[o]));)r[o]===""?s+=pt:Ur(r[o])?s+=r[o].substring(1):(s+=pt,s+=r[o]),o+=1;e.push(s)}return e.filter(o=>o!=="")};var Gr=(t,e,r)=>{if(!e)return t;let n={};return Object.entries(e).forEach(([o,s])=>{let a=Object.entries(r||{}).find(([p,d])=>d.name===o);if(!a){n[On(o)]=s.value;return}let c=a[1].convert(s),m=a[1].schema;if(!m){n[a[0]]=c;return}n[a[0]]=u(m,c)}),t.nonStandard=n,t},On=t=>{let e=t.startsWith("X-")?t.slice(2):t,r="",n=!1;for(let o of e)o==="-"?n=!0:(r+=n?o.toUpperCase():o.toLowerCase(),n=!1);return r};var Jr=t=>t.startsWith("X-");var C=(t,e,r)=>{let n=e.replace(St(r==null?void 0:r.icsComponent),""),o=[...new Set(Object.values(r.childComponents||{}).flatMap(({icsComponent:l})=>l))],s=Wr(o.reduce((l,E)=>l.replace(it(E),""),n)),a=r.defaultValues||{},c={};s.forEach(l=>{var P,Ee;let{property:E,line:v}=jr(l);Jr(E)&&(c[E]=v);let D=r.objectKeyMap[E];if(!D)return;let Ie=(P=r.convertArrayValues)==null?void 0:P[D];if(Ie){let Z=Ie({line:v});if(!Z)return;(a[D]===void 0||a[D]===null||!Array.isArray(a[D]))&&(a[D]=[]),Array.isArray(Z)?a[D].push(...Z):a[D].push(Z);return}let qe=(Ee=r.convertValues)==null?void 0:Ee[D];if(qe){let Z=qe({line:v});if(!Z)return;a[D]=Z;return}a[D]=v.value});let m=r.childComponents,p=m?Object.keys(m||{}):[];m&&p.length>0&&p.forEach(l=>{let E=m==null?void 0:m[l];if(!E)return;let v=Array.isArray(E.icsComponent)?E.icsComponent:[E.icsComponent],D=[],Ie=[];v.forEach(P=>{Ie.push(...n.matchAll(it(P)))}),Ie.map(P=>P[0]).forEach(P=>{let Ee=E.convert(P,{data:a});Ee&&D.push(Ee)}),D.length!==0&&(a[l]=D)});let d=u(t,a);return r!=null&&r.nonStandard?Gr(d,c,r==null?void 0:r.nonStandard):d};var q=(t,e)=>{var r,n,o;return u(t,{name:(r=e.options)==null?void 0:r.CN,dir:(n=e.options)==null?void 0:n.DIR,sentBy:(o=e.options)!=null&&o["SENT-BY"]?w(e.options["SENT-BY"]):void 0,email:w(e.value)})};var ye=(t,e,r)=>{var n;return u(t,{value:y(void 0,e,r),range:(n=e.options)==null?void 0:n.RANGE})};var Rn=t=>{if(t.length===2)return{day:t};let r=t.slice(0,-2);return{day:t.replace(r,""),occurrence:Number(r)}},wr=(t,e)=>u(t,Rn(e.value));var Hr=(t,e)=>u(t,e.value);var Cn=["until"],Nn=t=>Cn.includes(t),vn=["bySecond","byMinute","byHour","byMonthday","byYearday","byWeekNo","bySetPos"],An=t=>vn.includes(t),bn=["byDay"],Vn=t=>bn.includes(t),Mn=["count","interval"],zn=t=>Mn.includes(t),$=(t,e,r)=>{let n={};return Et(e.value.split(oe)).forEach(s=>{let{property:a,value:c}=s,m=tt[a];if(m){if(Nn(m)){n[m]=y(void 0,{value:c,options:{VALUE:c.includes("T")?"DATE-TIME":"DATE"}},{timezones:r==null?void 0:r.timezones});return}if(An(m)){n[m]=c.split(b).map(p=>Number(p));return}if(m==="byMonth"){n[m]=c.split(b).map(p=>Number(p)-1);return}if(Vn(m)){n[m]=c.split(b).map(p=>wr(void 0,{value:p}));return}if(zn(m)){n[m]=Number(c);return}if(m==="frequency"){if(!c||!cr.includes(c))return;n[m]=c;return}if(m==="workweekStart"){n[m]=Hr(void 0,{value:c});return}}}),u(t,n)};var le=(t,e)=>u(t,e.value);var qr=(t,e)=>u(t,e.value);var Te=(t,e,r)=>u(t,e.value.split(",").map(n=>y(void 0,{value:n,options:e.options},r)));var $r=(t,e)=>u(t,e.value),Zr=(t,e)=>u(t,e.value),Xr=(t,e)=>u(t,e.value);var K=(t,e)=>u(t,Number.parseInt(e.value,10));var Qr=t=>t.replace(/\\(([,;\\])|([nN]))/g,(e,r,n)=>n||`
|
|
`);var N=(t,e)=>u(t,Qr(e.value));var en=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ee,objectKeyMap:$e,convertValues:{trigger:({line:o})=>Br(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),repeat:({line:o})=>K(void 0,o)},convertArrayValues:{attachments:({line:o})=>Pr(void 0,o),attendees:({line:o})=>L(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var tn=(...t)=>{let[e,r,n]=t,o,s=C(e,r,{icsComponent:Q,objectKeyMap:Xe,convertValues:{stamp:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),start:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),end:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),created:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),lastModified:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),categories:({line:a})=>a.value.split(b),description:({line:a})=>{var c;return(c=a.options)!=null&&c.ALTREP&&(o=a.options.ALTREP),N(void 0,a)},location:({line:a})=>N(void 0,a),comment:({line:a})=>N(void 0,a),summary:({line:a})=>N(void 0,a),recurrenceRule:({line:a})=>$(void 0,a,{timezones:n==null?void 0:n.timezones}),duration:({line:a})=>_(void 0,a),organizer:({line:a})=>q(void 0,a),sequence:({line:a})=>K(void 0,a),class:({line:a})=>le(void 0,a),recurrenceId:({line:a})=>ye(void 0,a,{timezones:n==null?void 0:n.timezones}),status:({line:a})=>$r(void 0,a),timeTransparent:({line:a})=>qr(void 0,a)},convertArrayValues:{attendees:({line:a})=>L(void 0,a),exceptionDates:({line:a})=>Te(void 0,a,{timezones:n==null?void 0:n.timezones})},childComponents:{alarms:{icsComponent:ee,convert:a=>en(void 0,a,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},timezones:n==null?void 0:n.timezones,nonStandard:n==null?void 0:n.nonStandard});return o&&(s.descriptionAltRep=o),s};var rn=(...t)=>{let[e,r,n]=t,o=r.split("BEGIN:")[1].split(Se)[0],s=sr.includes(o)?o:"STANDARD",a=r.split("TZOFFSETTO:")[1].split(Se)[0];return C(e,r,{icsComponent:s,objectKeyMap:et,defaultValues:{type:s},convertValues:{start:({line:c})=>Yr(void 0,c,a),recurrenceRule:({line:c})=>$(void 0,c,{timezones:n==null?void 0:n.timezones}),recurrenceDate:({line:c})=>y(void 0,c,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var nn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:X,objectKeyMap:Qe,convertValues:{lastModified:({line:o})=>H(void 0,o)},childComponents:{props:{icsComponent:["DAYLIGHT","STANDARD"],convert:o=>rn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var on=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:te,objectKeyMap:rt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),due:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),completed:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),location:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),percentComplete:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Zr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var an=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:re,objectKeyMap:nt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Xr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var sn=(t,e)=>{var r;return u(t,{type:(r=e.options)==null?void 0:r.FBTYPE,values:e.value.split(",").map(n=>{let[o,s]=n.split("/"),a=H(void 0,{value:o});if(s.startsWith("PT")){let m=_(void 0,{value:s});return{start:a,duration:m}}let c=H(void 0,{value:s});return{start:a,end:c}})})};var cn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ne,objectKeyMap:ot,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),end:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),comment:({line:o})=>N(void 0,o),organizer:({line:o})=>q(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),freeBusy:({line:o})=>sn(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var mT=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:xe,objectKeyMap:Ze,convertValues:{version:({line:o})=>o.value},childComponents:{timezones:{icsComponent:X,convert:o=>nn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard})},events:{icsComponent:Q,convert:(o,{data:s})=>tn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},todos:{icsComponent:te,convert:(o,{data:s})=>on(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},journals:{icsComponent:re,convert:(o,{data:s})=>an(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},freeBusy:{icsComponent:ne,convert:(o,{data:s})=>cn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})}},nonStandard:n==null?void 0:n.nonStandard})};export{Se as BREAK_REGEX,b as COMMA,Le as CRLF_BREAK,Dt as CRLF_BREAK_REGEX,yn as DEFAULT_END_IN_YEARS,De as EQUAL_SIGN,Io as ICS_COMPONENTS,pt as LF_BREAK,ut as MAX_LINE_LENGTH,st as OBJECT_END,at as OBJECT_START,Ot as QUOTE,to as RRULE_KEYS,ro as RRULE_OBJECT_KEYS,xt as RRULE_TO_KEYS,tt as RRULE_TO_OBJECT_KEYS,oe as SEMICOLON,gt as SEPARATOR,Vo as SPACE,sr as TIMEZONE_PROP_COMPONENTS,hn as VALARM_KEYS,ee as VALARM_OBJECT_KEY,Kn as VALARM_OBJECT_KEYS,Ce as VALARM_TO_KEYS,$e as VALARM_TO_OBJECT_KEYS,Yn as VCALENDAR_KEYS,xe as VCALENDAR_OBJECT_KEY,Bn as VCALENDAR_OBJECT_KEYS,Ne as VCALENDAR_TO_KEYS,Ze as VCALENDAR_TO_OBJECT_KEYS,Un as VEVENT_KEYS,Q as VEVENT_OBJECT_KEY,Wn as VEVENT_OBJECT_KEYS,ve as VEVENT_TO_KEYS,Xe as VEVENT_TO_OBJECT_KEYS,yo as VFREEBUSY_KEYS,ne as VFREEBUSY_OBJECT_KEY,lo as VFREEBUSY_OBJECT_KEYS,ze as VFREEBUSY_TO_KEYS,ot as VFREEBUSY_TO_OBJECT_KEYS,io as VJOURNAL_KEYS,re as VJOURNAL_OBJECT_KEY,po as VJOURNAL_OBJECT_KEYS,Me as VJOURNAL_TO_KEYS,nt as VJOURNAL_TO_OBJECT_KEYS,mt as VTIMEZONE_DAYLIGHT_OBJECT_KEY,wn as VTIMEZONE_KEYS,X as VTIMEZONE_OBJECT_KEY,Hn as VTIMEZONE_OBJECT_KEYS,Zn as VTIMEZONE_PROP_KEYS,Xn as VTIMEZONE_PROP_OBJECT_KEYS,be as VTIMEZONE_PROP_TO_KEYS,et as VTIMEZONE_PROP_TO_OBJECT_KEYS,ct as VTIMEZONE_STANDARD_OBJECT_KEY,Ae as VTIMEZONE_TO_KEYS,Qe as VTIMEZONE_TO_OBJECT_KEYS,ao as VTODO_KEYS,te as VTODO_OBJECT_KEY,so as VTODO_OBJECT_KEYS,Ve as VTODO_TO_KEYS,rt as VTODO_TO_OBJECT_KEYS,om as attachmentEncodingTypes,am as attachmentValueTypes,cm as attendeePartStatusTypes,Fc as calendarMethods,jc as calendarVersions,xm as classTypes,en as convertIcsAlarm,Pr as convertIcsAttachment,L as convertIcsAttendee,mT as convertIcsCalendar,le as convertIcsClass,kr as convertIcsDate,H as convertIcsDateTime,_ as convertIcsDuration,tn as convertIcsEvent,$r as convertIcsEventStatus,Te as convertIcsExceptionDates,cn as convertIcsFreeBusy,K as convertIcsInteger,an as convertIcsJournal,Xr as convertIcsJournalStatus,Yr as convertIcsLocalOnlyDateTime,q as convertIcsOrganizer,ye as convertIcsRecurrenceId,$ as convertIcsRecurrenceRule,N as convertIcsText,y as convertIcsTimeStamp,qr as convertIcsTimeTransparent,nn as convertIcsTimezone,rn as convertIcsTimezoneProp,on as convertIcsTodo,Zr as convertIcsTodoStatus,Br as convertIcsTrigger,Hr as convertIcsWeekDay,wr as convertIcsWeekDayNumber,Gr as convertNonStandardValues,it as createGetRegex,St as createReplaceRegex,im as dateObjectTypes,dm as eventStatusTypes,xr as extendByRecurrenceRule,Sr as extendTimezoneProps,Jc as freeBusyTypes,vr as generateIcsAlarm,Nt as generateIcsAttachment,V as generateIcsAttendee,Vd as generateIcsCalendar,we as generateIcsDate,M as generateIcsDuration,Vr as generateIcsEvent,Kr as generateIcsFreeBusy,h as generateIcsInteger,_r as generateIcsJournal,gr as generateIcsLocalDateTime,Or as generateIcsLocalOnlyDateTime,k as generateIcsMail,G as generateIcsOrganizer,J as generateIcsRecurrenceRule,R as generateIcsText,T as generateIcsTimeStamp,zr as generateIcsTimezone,Mr as generateIcsTimezoneProp,Lr as generateIcsTodo,Rr as generateIcsTrigger,A as generateIcsUtcDateTime,Ar as generateIcsWeekdayNumber,Cr as generateNonStandardValues,Mc as getDurationFromInterval,Yc as getEventEnd,ar as getEventEndFromDuration,Je as getTimezoneObjectOffset,ym as journalStatusTypes,zn as recurrenceObjectKeyIsNumber,An as recurrenceObjectKeyIsNumberArray,Nn as recurrenceObjectKeyIsTimeStamp,Vn as recurrenceObjectKeyIsWeekdayNumberArray,cr as recurrenceRuleFrequencies,Dm as timeTransparentTypes,se as timeZoneOffsetToMilliseconds,fm as todoStatusTypes,Tm as triggerRelations,Ge as weekDays};
|