@liquid-js/qr-code-styling 5.5.0-1 → 5.5.0-2

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.
@@ -1,2 +1,2 @@
1
- var e=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])),t={action:"ACTION",description:"DESCRIPTION",duration:"DURATION",repeat:"REPEAT",summary:"SUMMARY",trigger:"TRIGGER",attachments:"ATTACH",attendees:"ATTENDEE"};e(t),e({method:"METHOD",prodId:"PRODID",version:"VERSION",name:"X-WR-CALNAME"});var r={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"};e(r),e({id:"TZID",lastModified:"LAST-MODIFIED",url:"TZURL"}),e({comment:"COMMENT",name:"TZNAME",offsetFrom:"TZOFFSETFROM",offsetTo:"TZOFFSETTO",recurrenceDate:"RDATE",recurrenceRule:"RRULE",start:"DTSTART"}),e({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"}),e({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"}),e({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"}),e({stamp:"DTSTAMP",start:"DTSTART",uid:"UID",url:"URL",organizer:"ORGANIZER",attendees:"ATTENDEE",comment:"COMMENT",end:"DTEND",freeBusy:"FREEBUSY"});var n=/\r\n/,a=(e,t,r)=>r?null==t?"":`${e};${r}:${t}\r`:`${e}:${t}\r`,o=e=>{if(!(e.length<1))return`${e.map(e=>`${e.key}=${e.value}`).join(";")}`},i=(e,t)=>t?`"MAILTO:${e}"`:`MAILTO:${e}`,l=(e,t)=>{var r=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.delegatedFrom&&{key:"DELEGATED-FROM",value:i(e.delegatedFrom,!0)},e.member&&{key:"MEMBER",value:i(e.member,!0)},e.role&&{key:"ROLE",value:e.role},e.name&&{key:"CN",value:e.name},e.partstat&&{key:"PARTSTAT",value:e.partstat},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy,!0)},void 0!==e.rsvp&&(!0===e.rsvp||!1===e.rsvp)&&{key:"RSVP",value:!0===e.rsvp?"TRUE":"FALSE"},e.cutype&&{key:"CUTYPE",value:e.cutype}].filter(e=>!!e));return a(t,i(e.email),r)},u=e=>{if(0!==Object.values(e).filter(e=>"number"==typeof e).length){var t="";return e.before&&(t+="-"),t+="P",void 0!==e.weeks&&(t+=`${e.weeks}W`),void 0!==e.days&&(t+=`${e.days}D`),(void 0!==e.hours||void 0!==e.minutes||void 0!==e.seconds)&&(t+="T",void 0!==e.hours&&(t+=`${e.hours}H`),void 0!==e.minutes&&(t+=`${e.minutes}M`),void 0!==e.seconds&&(t+=`${e.seconds}S`)),t}},s=Symbol.for("constructDateFrom");function c(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&s in e?e[s](t):e instanceof Date?new e.constructor(t):new Date(t)}function d(e,t){return c(t||e,e)}function v(e,t,r){var n=d(e,null==r?void 0:r.in);return isNaN(t)?c((null==r?void 0:r.in)||e,NaN):(t&&n.setDate(n.getDate()+t),n)}function y(e,t){var r=d(e,void 0);if(isNaN(t))return c(e,NaN);if(!t)return r;var n=r.getDate();return(e=c(e,r.getTime())).setMonth(r.getMonth()+t+1,0),n>=(t=e.getDate())?e:(r.setFullYear(e.getFullYear(),e.getMonth(),n),r)}var f={};function E(e,t){var r,n,a,o,i=(null==t?void 0:t.weekStartsOn)??(null==(n=null==(r=null==t?void 0:t.locale)?void 0:r.options)?void 0:n.weekStartsOn)??f.weekStartsOn??(null==(o=null==(a=f.locale)?void 0:a.options)?void 0:o.weekStartsOn)??0;return i=((t=(e=d(e,null==t?void 0:t.in)).getDay())<i?7:0)+t-i,e.setDate(e.getDate()-i),e.setHours(0,0,0,0),e}function p(e,t){return(e=d(e,void 0)).setTime(e.getTime()+6e4*t),e}function T(e,t){return(e=+d(e)-+d(t))<0?-1:e>0?1:e}function m(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}function D(e){var t=(e=d(e,void 0)).getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e}function g(e){var[t,r]=function(e,...t){return e=c.bind(null,t.find(e=>"object"==typeof e)),t.map(e)}(void 0,e.start,e.end),{start:n,end:a}={start:t,end:r},o=(e=+n>+a)?+n:+a,i=e?a:n;i.setHours(0,0,0,0);for(var l=[];+i<=o;)l.push(c(n,i)),i.setDate(i.getDate()+1),i.setHours(0,0,0,0);return e?l.reverse():l}function A(e){return(e=d(e,void 0)).setDate(1),e.setHours(0,0,0,0),e}function M(e){var t=d(e,void 0);e=t.getFullYear();var r=t.getMonth();return(t=c(t,0)).setFullYear(e,r+1,0),t.setHours(0,0,0,0),t.getDate()}function S(e,t,r){var n,a,o,i,l=(null==r?void 0:r.weekStartsOn)??(null==(a=null==(n=null==r?void 0:r.locale)?void 0:n.options)?void 0:a.weekStartsOn)??f.weekStartsOn??(null==(i=null==(o=f.locale)?void 0:o.options)?void 0:i.weekStartsOn)??0;return n=(e=d(e,null==r?void 0:r.in)).getDay(),l=7-l,v(e,t<0||t>6?t-(n+l)%7:((t%7+7)%7+l)%7-(n+l)%7,r)}function R(e,t){e=+d(e,void 0);var[r,n]=[+d(t.start,void 0),+d(t.end,void 0)].sort((e,t)=>e-t);return e>=r&&e<=n}var O="SU MO TU WE TH FR SA".split(" "),h=(e,t)=>void 0!==t&&e>=t,Y=(e,t,r,n,a)=>void 0!==a?a<0?(n=S(t,r,{weekStartsOn:n}),N(function(e){return(e=d(e,void 0)).setHours(0,0,0,0),e}(v(n,7*-(-(a||1)-1+(t<n?1:0)),void 0)))):v(n=S(e,r,{weekStartsOn:n}),7*((a||1)-1+(e>n?1:0)),void 0):g({start:e,end:t}).map(e=>p(e,-e.getTimezoneOffset())).filter(r=>R(r,{start:e,end:t})).filter(e=>r===d(e,void 0).getDay()),N=e=>p(e,-e.getTimezoneOffset()),b=(e,t,r)=>(e.byMonth&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0),n=r.getFullYear(),a=r.getDate(),o=c(e,0);return o.setFullYear(n,t,15),o.setHours(0,0,0,0),n=M(o),r.setMonth(t,Math.min(a,n)),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonth)),e.byWeekNo&&(r=((e,t,r,n)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r,a,o,i,l,u,s,v,y={weekStartsOn:n},p=d(e,null==y?void 0:y.in),T=d(p,null==y?void 0:y.in),m=+E(T,y),D=(null==y?void 0:y.firstWeekContainsDate)??(null==(a=null==(r=null==y?void 0:y.locale)?void 0:r.options)?void 0:a.firstWeekContainsDate)??f.firstWeekContainsDate??(null==(i=null==(o=f.locale)?void 0:o.options)?void 0:i.firstWeekContainsDate)??1;return a=(r=d(T,null==y?void 0:y.in)).getFullYear(),o=(null==y?void 0:y.firstWeekContainsDate)??(null==(u=null==(l=null==y?void 0:y.locale)?void 0:l.options)?void 0:u.firstWeekContainsDate)??f.firstWeekContainsDate??(null==(v=null==(s=f.locale)?void 0:s.options)?void 0:v.firstWeekContainsDate)??1,(l=c((null==y?void 0:y.in)||T,0)).setFullYear(a+1,0,o),l.setHours(0,0,0,0),l=E(l,y),(u=c((null==y?void 0:y.in)||T,0)).setFullYear(a,0,o),u.setHours(0,0,0,0),u=E(u,y),l=+r>=+l?a+1:+r>=+u?a:a-1,(T=c((null==y?void 0:y.in)||T,0)).setFullYear(l,0,D),T.setHours(0,0,0,0),D=E(T,y),t=Math.round((m-+D)/6048e5)+1-t,p.setDate(p.getDate()-7*t),d(p,null==y?void 0:y.in)}))):t)(e,r,e.byWeekNo,t.weekStartsOn)),e.byYearday&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMonth(0),r.setDate(t),r}))):"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getFullYear()))))(e,r,e.byYearday)),e.byMonthday&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency?t.map(e=>e.flatMap(e=>{var t=M(e);return r.map(r=>{if(r>t)r=void 0;else{let t=d(e,void 0);t.setDate(r),r=t}return r}).filter(e=>!!e)})):"WEEKLY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonthday)),e.byDay&&(r=((e,t,r,n)=>{var a=r.map(({day:e,occurrence:t})=>({occurrence:t,day:O.indexOf(e)}));return"YEARLY"===e.frequency?e.byYearday||e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):e.byWeekNo?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):e.byMonth?t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>{var a=Y,o=d(e,void 0);o.setFullYear(o.getFullYear(),0,1),o.setHours(0,0,0,0),o=p(o,-o.getTimezoneOffset());var i=d(e,void 0),l=i.getFullYear();return i.setFullYear(l+1,0,0),i.setHours(23,59,59,999),a(o,p(i,-i.getTimezoneOffset()),t,n,r)}))):"MONTHLY"===e.frequency?e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):"WEEKLY"===e.frequency?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay())))})(e,r,e.byDay,t.weekStartsOn)),e.byHour&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setHours(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getHours()))))(e,r,e.byHour)),e.byMinute&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMinutes(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMinutes()))))(e,r,e.byMinute)),e.bySecond&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency||"MINUTELY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setSeconds(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e).getSeconds()))))(e,r,e.bySecond)),e.bySetPos&&(r=((e,t,r)=>e.byYearday||e.byWeekNo||e.byMonthday||e.byMonth||e.byDay||e.byHour||e.byMinute||e.bySecond?t.map(e=>e.sort(T).filter((t,n)=>r.some(t=>t>0?0!==n&&n%t===0:0===n?e.length-1+t===0:n%(e.length-1+t)===0))):t)(e,r,e.bySetPos)),r.map(e=>e.sort(T).filter(e=>!(t.exceptions.length>0&&t.exceptions.some(t=>+d(t)==+d(e))||!R(e,{start:t.start,end:t.end}))))),k=(e,t)=>{var r,n=t.start,a=(null==(r=e.until)?void 0:r.date)||(null==t?void 0:t.end)||y(n,24);t=t.exceptions||[],r=(e.workweekStart?O.indexOf(e.workweekStart):1)%7;var o=[[n]];return((e,{start:t,end:r},n)=>{if(!h(n.length,e.count)){var a=e.frequency,o=e.interval||1;if(a)if("SECONDLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=1e3*o,t=c(a,+d(a)+t),n.push([t]);else if("MINUTELY"===a)for(;t<r&&!h(n.length,e.count);)t=p(t,o),n.push([t]);else if("HOURLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=36e5*o,t=c(a,+d(a)+t),n.push([t]);else if("DAILY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,o),n.push([t]);else if("WEEKLY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,7*o,void 0),n.push([t]);else if("MONTHLY"===a)for(;t<r;)t=y(t,o),n.push([t]);else if("YEARLY"===a)for(;t<r;)t=y(t,12*o),n.push([t])}})(e,{start:n,end:a},o),n=b(e,{start:n,end:a,exceptions:t,weekStartsOn:r},o),e.count?n.flat().splice(0,e.count):n.flat()},I=e=>{var t="+"===e[0]?1:-1;return 1e3*(60*(60*Number(e.slice(1,3))+(e.length>3?Number(e.slice(3,5)):0))+(e=e.length>5?Number(e.slice(5,7)):0))*t},L=(e,t,r)=>{if(r=null==r?void 0:r.find(e=>e.id===t)){r=((e,t)=>t.flatMap(t=>!t.recurrenceRule||t.recurrenceRule.until&&t.recurrenceRule.until.date<e?t:k(t.recurrenceRule,{start:t.start,end:e}).map(e=>({...t,start:e}))))(e,r.props).sort((e,t)=>T(e.start,t.start));for(var n=0;n<r.length;n+=1)if(e<r[n].start)return{offset:e=(e=r[n-1]?r[n-1].offsetTo:r[n].offsetFrom).length>5?e.substring(0,5):e,milliseconds:I(e)};return{offset:e=(e=r[r.length-1].offsetTo).length>5?e.substring(0,5):e,milliseconds:I(e)}}if(e=((e,t)=>{var r=new Date(t.toLocaleString("en-US",{timeZone:"UTC"}));try{return new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-r.getTime()}catch{return t.getTime()-r.getTime()}})(t,e),!Number.isNaN(e))return r=Math.abs(Math.trunc(e/36e5)),n=Math.abs(Math.trunc(e/6e4))-60*r,{offset:`${e<0?"-":"+"}${1===r.toString().length?`0${r}`:r.toString()}${1===n.toString().length?`0${n}`:n.toString()}`,milliseconds:e}},C=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);var t=e.toISOString();return`${e=t.slice(0,4)}${t.slice(5,7)}${t=t.slice(8,10)}`},U=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);return H(e)},H=(e,t)=>{var r=e.toISOString();return`${e=r.slice(0,4)}${r.slice(5,7)}${r.slice(8,10)}T${r.slice(11,13)}${r.slice(14,16)}${r=r.slice(17,19)}${t?"":"Z"}`},$=e=>{var t="X-";for(let r of e)r===r.toUpperCase()&&(t+="-"),t+=r.toUpperCase();return t},F=(e,t)=>{var r=[],n="",a=0;for(let o=0;o<e.length;o++){let i=e[o],l=""===i?2:1;a+l>t?(r.push(0===r.length?n:`${n}`),n=i,a=l):(n+=i,a+=l)}return n&&r.push(0===r.length?n:`${n}`),r},w=(e,t)=>{var r=Object.keys(e),i=t.childComponents,l=i?Object.keys(i):[],u=t.generateArrayValues,s=u?Object.keys(u):[],c="";return c+=`BEGIN:${t.icsComponent}\r`,r.forEach(r=>{if(!l.includes(r)&&!s.includes(r)&&"nonStandard"!==r){var n=t.icsKeyMap[r];if(n){var o=e[r];if(null!=o){var i=t.generateValues[r];c=i?c+i({icsKey:n,value:o,key:r}):c+a(n,String(o))}}}}),i&&l&&l.length>0&&l.forEach(t=>{var r=e[t];r&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{var r=i[t];r&&(c+=r(e))})}),u&&s&&s.length>0&&s.forEach(r=>{var n=u[r];if(n){var a=t.icsKeyMap[r];a&&(r=e[r])&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{c+=n({icsKey:a,value:e})})}}),e.nonStandard&&(c+=((e,t)=>{if(!e)return"";var r="";return Object.entries(e).forEach(([e,n])=>{var i=null==t?void 0:t[e];i?(e=i.generate(n))&&(r+=a(i.name,e.value,e.options?o(Object.entries(e.options).map(([e,t])=>({key:e,value:t}))):void 0)):r+=a($(e),null==n?void 0:n.toString())}),r})(e.nonStandard,null==t?void 0:t.nonStandard)),c+=`END:${t.icsComponent}\r`,null!=t&&t.skipFormatLines?c:(e=>{var t=[];return e.split(n).forEach(e=>{(e=>{var t=(e.match(/\n/g)||[]).length;return e.length+t})(e)<75?t.push(e):F(e,75).forEach(e=>{t.push(e)})}),t.join("\r")})(c)},q=(e,r)=>w(e,{icsComponent:"VALARM",icsKeyMap:t,generateValues:{trigger:({value:e})=>(e=>{var t,r,n=o([(null==(t=e.options)?void 0:t.related)&&{key:"RELATED",value:e.options.related}].filter(e=>!!e));return"absolute"===e.type?a("TRIGGER",U(null==(r=e.value)?void 0:r.date)):"relative"===e.type?a("TRIGGER",u(e.value),n):void 0})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),repeat:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString())},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),attachments:({value:e})=>(e=>{if("uri"===e.type){var t=o([e.formatType&&{key:"FMTTYPE",value:e.formatType}].filter(e=>!!e));return a("ATTACH",e.url,t)}if("binary"===e.type)return t=o([e.value&&{key:"VALUE",value:e.value},e.encoding&&{key:"ENCODING",value:e.encoding}].filter(e=>!!e)),a("ATTACH",e.binary,t);throw Error(`IcsAttachment has no type! ${JSON.stringify(e)}`)})(e)},nonStandard:null==r?void 0:r.nonStandard,skipFormatLines:null==r?void 0:r.skipFormatLines}),K=(e,t,r=[],n)=>(r=o([t.type&&{key:"VALUE",value:t.type},t.local&&!(null!=n&&n.forceUtc)&&{key:"TZID",value:t.local.timezone},...r].filter(e=>!!e)),t="DATE"===t.type?C(t.date):!t.local||null!=n&&n.forceUtc?U(t.date):((e,t,r)=>{var n=t.date;if(!m(n))throw Error(`Incorrect date object: ${n}`);return L(n,t.timezone,r)?H(n,!0):U(e)})(t.date,t.local,null==n?void 0:n.timezones),a(e,t,r)),P=e=>e.replace(/([\\;,])|(\n)/g,(e,t)=>t?`\\${t}`:"\\n"),W=e=>w(e,{icsComponent:"VEVENT",icsKeyMap:r,generateValues:{stamp:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0,forceUtc:!0}),start:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),end:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),created:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),lastModified:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),categories:({icsKey:e,value:t})=>a(e,t.join(",")),description:({icsKey:t,value:r})=>{var n=e.descriptionAltRep?[{key:"ALTREP",value:`"${e.descriptionAltRep}"`}]:void 0;return a(t,P(r),n?o(n):void 0)},location:({icsKey:e,value:t})=>a(e,P(t),void 0),comment:({icsKey:e,value:t})=>a(e,P(t),void 0),summary:({icsKey:e,value:t})=>a(e,P(t),void 0),recurrenceRule:({value:e})=>(e=>{var t,r="",n=o([e.frequency&&{key:"FREQ",value:e.frequency},e.byDay&&{key:"BYDAY",value:e.byDay.map(e=>e.occurrence?`${e.occurrence}${e.day}`:e.day).join(",")},e.byHour&&{key:"BYHOUR",value:e.byHour.join(",")},e.byMinute&&{key:"BYMINUTE",value:e.byMinute.join(",")},e.byMonth&&{key:"BYMONTH",value:e.byMonth.map(e=>e+1).join(",")},e.byMonthday&&{key:"BYMONTHDAY",value:e.byMonthday.join(",")},e.bySecond&&{key:"BYSECOND",value:e.bySecond.join(",")},e.bySetPos&&{key:"BYSETPOS",value:e.bySetPos.join(",")},e.byWeekNo&&{key:"BYWEEKNO",value:e.byWeekNo.join(",")},e.byYearday&&{key:"BYYEARDAY",value:e.byYearday.join(",")},e.count&&{key:"COUNT",value:e.count.toString()},e.interval&&{key:"INTERVAL",value:e.interval.toString()},e.until&&{key:"UNTIL",value:"DATE"===e.until.type?C(e.until.date):U((null==(t=e.until.local)?void 0:t.date)||e.until.date)},e.workweekStart&&{key:"WKST",value:e.workweekStart}].filter(e=>!!e));return r+a("RRULE",n)})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),organizer:({value:e})=>(e=>{var t=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.name&&{key:"CN",value:e.name},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy)}].filter(e=>!!e));return a("ORGANIZER",i(e.email),t)})(e),sequence:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString()),recurrenceId:({value:e})=>{var t="";return t+=K("RECURRENCE-ID",e.value,e.range?[{key:"RANGE",value:e.range}]:void 0,{timezones:void 0})}},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),exceptionDates:({value:e})=>K("EXDATE",e,void 0,{timezones:void 0})},childComponents:{alarms:e=>q(e,{nonStandard:void 0,skipFormatLines:!0})},nonStandard:void 0,skipFormatLines:void 0});function j(e){if(e)return"string"==typeof e?new Date(e):e}export default class{pluginOptions;uuid;constructor(e,t){this.pluginOptions=e,this.uuid=t}configure(e){return e.data=W({...this.pluginOptions,stamp:{date:j(this.pluginOptions.start),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},start:{date:j(this.pluginOptions.start),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},end:{date:j(this.pluginOptions.end),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},geo:this.pluginOptions.geo?`${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}`:void 0,uid:this.uuid||""}),e}}
1
+ var t,e={DAILY:"DAILY",HOURLY:"HOURLY",MINUTELY:"MINUTELY",MONTHLY:"MONTHLY",SECONDLY:"SECONDLY",WEEKLY:"WEEKLY",YEARLY:"YEARLY"};t=e;var a,i={};function r(t,e,a){if(Array.isArray(e))t.x=e.map(t=>{if(Array.isArray(t))return t;if("string"!=typeof t.key||"string"!=typeof t.value)throw Error("Either key or value is not a string!");if("X-"!==t.key.substr(0,2))throw Error("Key has to start with `X-`!");return[t.key,t.value]});else if("object"==typeof e)t.x=Object.entries(e).map(([t,e])=>{if("string"!=typeof t||"string"!=typeof e)throw Error("Either key or value is not a string!");if("X-"!==t.substr(0,2))throw Error("Key has to start with `X-`!");return[t,e]});else{if("string"!=typeof e||"string"!=typeof a)return t.x.map(t=>({key:t[0],value:t[1]}));if("X-"!==e.substr(0,2))throw Error("Key has to start with `X-`!");t.x.push([e,a])}}function s(t,e){if(t instanceof Date&&isNaN(t.getTime())||"string"==typeof t&&isNaN(new Date(t).getTime()))throw Error(`\`${e}\` has to be a valid date!`);var a;if((a=t instanceof Date||"string"==typeof t||"object"==typeof t&&t&&(v(t)||T(t)||E(t)||y(t))||c(t)&&!0===t.isValid)||((a=m(t))||(a=!("object"!=typeof t||!t||t instanceof Date||m(t)||c(t)||f(t))),a=a&&t.isValid()),a)return t;throw Error(`\`${e}\` has to be a valid date!`)}function n(t,e){if(t=Object.values(t),!(e=String(e).toUpperCase())||!t.includes(e))throw Error(`Input must be one of the following: ${t.join(",")}`);return e}function o(t,e){var a=null;if("string"==typeof e){let t=e.match(/^(.+) ?<([^>]+)>$/);t?a={email:t[2].trim(),name:t[1].trim()}:e.includes("@")&&(a={email:e.trim(),name:e.trim()})}else"object"==typeof e&&(a={email:e.email,mailto:e.mailto,name:e.name,sentBy:e.sentBy});if(!a&&"string"==typeof e)throw Error("`"+t+"` isn't formated correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html");if(!a)throw Error("`"+t+"` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html");if(!a.name)throw Error("`"+t+".name` is empty!");if(!a.email)throw Error("`"+t+".email` is empty!");return a}function d(t,e){return String(t).replace(e?/[\\"]/g:/[\\;,]/g,function(t){return"\\"+t}).replace(/(?:\r\n|\r|\n)/g,"\\n")}function h(t,e,a,i){if(t?.startsWith("/")&&(t=t.substr(1)),"string"==typeof e||e instanceof Date){var r=(e=e instanceof Date&&"internal"in e&&e.internal instanceof Date&&"withTimeZone"in e&&"function"==typeof e.withTimeZone&&"tzComponents"in e&&"function"==typeof e.tzComponents?e.withTimeZone(t):new Date(e)).getUTCFullYear().toString().padStart(4,"0")+String(e.getUTCMonth()+1).padStart(2,"0")+e.getUTCDate().toString().padStart(2,"0");return t&&(r=e.getFullYear().toString().padStart(2,"0")+String(e.getMonth()+1).padStart(2,"0")+e.getDate().toString().padStart(2,"0")),a?r:t?r+="T"+e.getHours().toString().padStart(2,"0")+e.getMinutes().toString().padStart(2,"0")+e.getSeconds().toString().padStart(2,"0"):r+="T"+e.getUTCHours().toString().padStart(2,"0")+e.getUTCMinutes().toString().padStart(2,"0")+e.getUTCSeconds().toString().padStart(2,"0")+(i?"":"Z")}if(m(e))return(e=t?p(e)&&!e.tz()?e.clone().tz(t):e:i||a&&p(e)&&e.tz()?e:e.utc()).format("YYYYMMDD")+(a?"":"T"+e.format("HHmmss")+(i||t?"":"Z"));if(c(e))return(e=t?e.setZone(t):i||a&&"system"!==e.zone.type?e:e.setZone("utc")).toFormat("yyyyLLdd")+(a?"":"T"+e.toFormat("HHmmss")+(i||t?"":"Z"));if(v(e))return r=e,t&&(r=e.withTimeZone(e.timeZoneId)),!t&&"UTC"!==e.timeZoneId&&(r=e.withTimeZone("UTC")),h(null,r.toPlainDateTime(),a,i||!!t);if(T(e))return a?e.year.toString().padStart(4,"0")+e.month.toString().padStart(2,"0")+e.day.toString().padStart(2,"0"):t?h(t,e=e.toZonedDateTime(t),a,i):e.year.toString().padStart(4,"0")+e.month.toString().padStart(2,"0")+e.day.toString().padStart(2,"0")+"T"+e.hour.toString().padStart(2,"0")+e.minute.toString().padStart(2,"0")+e.second.toString().padStart(2,"0")+(i||t?"":"Z");if(E(e))return e.year.toString().padStart(4,"0")+e.month.toString().padStart(2,"0")+e.day.toString().padStart(2,"0")+(a?"":"T000000"+(i||t?"":"Z"));if(y(e))return h(t,e=e.toZonedDateTimeISO(t||"UTC"),a,i);if(r=e,t)r="function"==typeof e.tz?e.tz(t):e;else if(!i){if("function"!=typeof e.utc)throw Error("Unable to convert dayjs object to UTC value: UTC plugin is not available!");r=e.utc()}return r.format("YYYYMMDD")+(a?"":"T"+r.format("HHmmss")+(i||t?"":"Z"))}function l(t,e,a,i){var r="",s=i?.floating||!1;return i?.timezone&&(r=";TZID="+i.timezone,s=!0),e+r+":"+h(t,a,!1,s)}function u(t){return(t=t.x.map(([t,e])=>t.toUpperCase()+":"+d(e,!1)).join("\r")).length?t+"\r":""}function c(t){return"object"==typeof t&&!!t&&"toJSDate"in t&&"function"==typeof t.toJSDate&&!f(t)}function m(t){return null!=t&&null!=t._isAMomentObject&&!f(t)}function p(t){return m(t)&&"tz"in t&&"function"==typeof t.tz}function g(t){return"object"==typeof t&&!!t&&"between"in t&&"function"==typeof t.between&&"function"==typeof t.toString}function f(t){return v(t)||T(t)||E(t)||y(t)}function y(t){return!("object"!=typeof t||!t||v(t)||T(t)||E(t)||!("toZonedDateTimeISO"in t)||"function"!=typeof t.toZonedDateTimeISO||"year"in t||"timeZoneId"in t)}function E(t){return"object"==typeof t&&!!t&&!v(t)&&!T(t)&&"toPlainDateTime"in t&&"function"==typeof t.toPlainDateTime&&"year"in t&&"number"==typeof t.year&&"month"in t&&"number"==typeof t.month&&"day"in t&&"number"==typeof t.day&&!("hour"in t)&&!("timeZoneId"in t)&&!("epochSeconds"in t)}function T(t){return"object"==typeof t&&!!t&&!v(t)&&"toZonedDateTime"in t&&"function"==typeof t.toZonedDateTime&&"toPlainDate"in t&&"function"==typeof t.toPlainDate&&"year"in t&&"number"==typeof t.year&&"month"in t&&"number"==typeof t.month&&"day"in t&&"number"==typeof t.day&&"hour"in t&&"number"==typeof t.hour&&"minute"in t&&"number"==typeof t.minute&&"second"in t&&"number"==typeof t.second&&!("timeZone"in t)}function v(t){return"object"==typeof t&&!!t&&"timeZoneId"in t&&"string"==typeof t.timeZoneId&&"toPlainDateTime"in t&&"function"==typeof t.toPlainDateTime&&"year"in t&&"number"==typeof t.year&&"month"in t&&"number"==typeof t.month&&"day"in t&&"number"==typeof t.day&&"hour"in t&&"number"==typeof t.hour&&"minute"in t&&"number"==typeof t.minute&&"second"in t&&"number"==typeof t.second}function A(t){return"string"==typeof t||t instanceof Date?new Date(t):v(t)?(t=t.toInstant(),new Date(t.epochMilliseconds)):T(t)?new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second)):E(t)?new Date(Date.UTC(t.year,t.month-1,t.day)):y(t)?new Date(t.epochMilliseconds):c(t)?t.toJSDate():t.toDate()}function S(t){var e="";return t<0&&(e="-",t*=-1),e+="P",t>=86400&&(e+=Math.floor(t/86400)+"D",t%=86400),!t&&e.length>1||(e+="T",t>=3600&&(e+=Math.floor(t/3600)+"H",t%=3600),t>=60&&(e+=Math.floor(t/60)+"M",t%=60),t>0?e+=t+"S":e.length<=2&&(e+="0S")),e}function D(t){return t?"string"==typeof t?t:v(t)?D(t.withTimeZone("UTC").toPlainDateTime()):(f(t),t.toJSON()):null}i.FR="FR",i.MO="MO",i.SA="SA",i.SU="SU",i.TH="TH",i.TU="TU",i.WE="WE",a=i;var b,I={CHAIR:"CHAIR",NON:"NON-PARTICIPANT",OPT:"OPT-PARTICIPANT",REQ:"REQ-PARTICIPANT"};b=I;var R,N={CLIENT:"CLIENT",NONE:"NONE",SERVER:"SERVER"};R=N;var O,C={ACCEPTED:"ACCEPTED",DECLINED:"DECLINED",DELEGATED:"DELEGATED",NEEDSACTION:"NEEDS-ACTION",TENTATIVE:"TENTATIVE"};O=C;var U,L={GROUP:"GROUP",INDIVIDUAL:"INDIVIDUAL",RESOURCE:"RESOURCE",ROOM:"ROOM",UNKNOWN:"UNKNOWN"};U=L;var w,M=class{data;parent;constructor(t,e){if(this.data={delegatedFrom:null,delegatedTo:null,email:"",mailto:null,name:null,role:b.REQ,rsvp:null,scheduleAgent:null,sentBy:null,status:null,type:null,x:[]},this.parent=e,!this.parent)throw Error("`event` option required!");if(!t.email)throw Error("No value for `email` in ICalAttendee given!");void 0!==t.name&&this.name(t.name),void 0!==t.email&&this.email(t.email),void 0!==t.mailto&&this.mailto(t.mailto),void 0!==t.sentBy&&this.sentBy(t.sentBy),void 0!==t.status&&this.status(t.status),void 0!==t.role&&this.role(t.role),void 0!==t.rsvp&&this.rsvp(t.rsvp),void 0!==t.type&&this.type(t.type),void 0!==t.delegatedTo&&this.delegatedTo(t.delegatedTo),void 0!==t.delegatedFrom&&this.delegatedFrom(t.delegatedFrom),t.delegatesTo&&this.delegatesTo(t.delegatesTo),t.delegatesFrom&&this.delegatesFrom(t.delegatesFrom),void 0!==t.scheduleAgent&&this.scheduleAgent(t.scheduleAgent),void 0!==t.x&&this.x(t.x)}delegatedFrom(t){return void 0===t?this.data.delegatedFrom:(this.data.delegatedFrom=t?"string"==typeof t?new M(o("delegatedFrom",t),this.parent):t instanceof M?t:new M(t,this.parent):null,this)}delegatedTo(t){return void 0===t?this.data.delegatedTo:t?(this.data.delegatedTo="string"==typeof t?new M(o("delegatedTo",t),this.parent):t instanceof M?t:new M(t,this.parent),this.data.status=O.DELEGATED,this):(this.data.delegatedTo=null,this.data.status===O.DELEGATED&&(this.data.status=null),this)}delegatesFrom(t){return t=t instanceof M?t:this.parent.createAttendee(t),this.delegatedFrom(t),t.delegatedTo(this),t}delegatesTo(t){return t=t instanceof M?t:this.parent.createAttendee(t),this.delegatedTo(t),t.delegatedFrom(this),t}email(t){return t?(this.data.email=t,this):this.data.email}mailto(t){return void 0===t?this.data.mailto:(this.data.mailto=t||null,this)}name(t){return void 0===t?this.data.name:(this.data.name=t||null,this)}role(t){return void 0===t?this.data.role:(this.data.role=n(b,t),this)}rsvp(t){return void 0===t?this.data.rsvp:null===t?(this.data.rsvp=null,this):(this.data.rsvp=!!t,this)}scheduleAgent(t){return void 0===t?this.data.scheduleAgent:t?"string"==typeof t&&t.toUpperCase().startsWith("X-")?(this.data.scheduleAgent=t,this):(this.data.scheduleAgent=n(R,t),this):(this.data.scheduleAgent=null,this)}sentBy(t){return t?(this.data.sentBy=t,this):this.data.sentBy}status(t){return void 0===t?this.data.status:t?(this.data.status=n(O,t),this):(this.data.status=null,this)}toJSON(){return Object.assign({},this.data,{delegatedFrom:this.data.delegatedFrom?.email()||null,delegatedTo:this.data.delegatedTo?.email()||null,x:this.x()})}toString(){var t="ATTENDEE";if(!this.data.email)throw Error("No value for `email` in ICalAttendee given!");return t+=";ROLE="+this.data.role,this.data.type&&(t+=";CUTYPE="+this.data.type),this.data.status&&(t+=";PARTSTAT="+this.data.status),null!==this.data.rsvp&&(t+=";RSVP="+this.data.rsvp.toString().toUpperCase()),null!==this.data.sentBy&&(t+=';SENT-BY="mailto:'+this.data.sentBy+'"'),this.data.delegatedTo&&(t+=';DELEGATED-TO="'+this.data.delegatedTo.email()+'"'),this.data.delegatedFrom&&(t+=';DELEGATED-FROM="'+this.data.delegatedFrom.email()+'"'),this.data.name&&(t+=';CN="'+d(this.data.name,!0)+'"'),this.data.email&&this.data.mailto&&(t+=";EMAIL="+d(this.data.email,!1)),this.data.scheduleAgent&&(t+=";SCHEDULE-AGENT="+this.data.scheduleAgent),this.data.x.length&&(t+=";"+this.data.x.map(([t,e])=>t.toUpperCase()+"="+d(e,!1)).join(";")),t+=":MAILTO:"+d(this.data.mailto||this.data.email,!1)+"\r"}type(t){return void 0===t?this.data.type:t?(this.data.type=n(U,t),this):(this.data.type=null,this)}x(t,e){if(void 0===t)return r(this.data);if("string"==typeof t&&"string"==typeof e)r(this.data,t,e);else{if("object"!=typeof t)throw Error("Either key or value is not a string!");r(this.data,t)}return this}},z={audio:"audio",display:"display",email:"email"};w=z;var P,F={end:"END",start:"START"},j=class{data;event;constructor(t,e){if(this.data={attach:null,attendees:[],description:null,interval:null,relatesTo:null,repeat:null,summary:null,trigger:-600,type:w.display,x:[]},this.event=e,!e)throw Error("`event` option required!");void 0!==t.type&&this.type(t.type),"trigger"in t&&void 0!==t.trigger&&this.trigger(t.trigger),"triggerBefore"in t&&void 0!==t.triggerBefore&&this.triggerBefore(t.triggerBefore),"triggerAfter"in t&&void 0!==t.triggerAfter&&this.triggerAfter(t.triggerAfter),t.repeat&&this.repeat(t.repeat),void 0!==t.attach&&this.attach(t.attach),void 0!==t.description&&this.description(t.description),void 0!==t.summary&&this.summary(t.summary),void 0!==t.attendees&&this.attendees(t.attendees),void 0!==t.x&&this.x(t.x)}attach(t){if(void 0===t)return this.data.attach;if(!t)return this.data.attach=null,this;if("string"==typeof t)var e=null;else{if("object"!=typeof t)throw Error("`attachment` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalAlarm.html#attach");e=t.mime||null,t=t.uri}if(!t)throw Error("`attach.uri` is empty!");return this.data.attach={mime:e,uri:t},this}attendees(t){return t?(t.forEach(t=>this.createAttendee(t)),this):this.data.attendees}createAttendee(t){return t instanceof M?(this.data.attendees.push(t),t):("string"==typeof t&&(t=o("data",t)),t=new M(t,this),this.data.attendees.push(t),t)}description(t){return void 0===t?this.data.description:t?(this.data.description=t,this):(this.data.description=null,this)}relatesTo(t){if(void 0===t)return this.data.relatesTo;if(!t)return this.data.relatesTo=null,this;if(!Object.values(F).includes(t))throw Error("`relatesTo` is not correct, must be either `START` or `END`!");return this.data.relatesTo=t,this}repeat(t){if(void 0===t)return this.data.repeat;if(!t)return this.data.repeat=null,this;if("object"!=typeof t)throw Error("`repeat` is not correct, must be an object!");if("number"!=typeof t.times||!isFinite(t.times))throw Error("`repeat.times` is not correct, must be numeric!");if("number"!=typeof t.interval||!isFinite(t.interval))throw Error("`repeat.interval` is not correct, must be numeric!");return this.data.repeat=t,this}summary(t){return void 0===t?this.data.summary:t?(this.data.summary=t,this):(this.data.summary=null,this)}toJSON(){var t=this.trigger();return Object.assign({},this.data,{trigger:"number"==typeof t?t:D(t),x:this.x()})}toString(){var t="BEGIN:VALARM\r";if(t+="ACTION:"+this.data.type.toUpperCase()+"\r","number"==typeof this.data.trigger&&null===this.data.relatesTo?this.data.trigger>0?t+="TRIGGER;RELATED=END:"+S(this.data.trigger)+"\r":t+="TRIGGER:"+S(this.data.trigger)+"\r":"number"==typeof this.data.trigger?t+="TRIGGER;RELATED="+this.data.relatesTo?.toUpperCase()+":"+S(this.data.trigger)+"\r":t+="TRIGGER;VALUE=DATE-TIME:"+h(this.event.timezone(),this.data.trigger)+"\r",this.data.repeat){if(!this.data.repeat.times)throw Error("No value for `repeat.times` in ICalAlarm given, but required for `interval`!");if(!this.data.repeat.interval)throw Error("No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!");t+="REPEAT:"+this.data.repeat.times+"\r",t+="DURATION:"+S(this.data.repeat.interval)+"\r"}return"audio"===this.data.type&&this.data.attach&&this.data.attach.mime?t+="ATTACH;FMTTYPE="+d(this.data.attach.mime,!1)+":"+d(this.data.attach.uri,!1)+"\r":"audio"===this.data.type&&this.data.attach?t+="ATTACH;VALUE=URI:"+d(this.data.attach.uri,!1)+"\r":"audio"===this.data.type&&(t+="ATTACH;VALUE=URI:Basso\r"),"audio"!==this.data.type&&this.data.description?t+="DESCRIPTION:"+d(this.data.description,!1)+"\r":"audio"!==this.data.type&&(t+="DESCRIPTION:"+d(this.event.summary(),!1)+"\r"),"email"===this.data.type&&this.data.summary?t+="SUMMARY:"+d(this.data.summary,!1)+"\r":"email"===this.data.type&&(t+="SUMMARY:"+d(this.event.summary(),!1)+"\r"),"email"===this.data.type&&this.data.attendees.forEach(e=>{t+=e.toString()}),t+=u(this.data),t+="END:VALARM\r"}trigger(t){if(void 0===t&&"number"==typeof this.data.trigger)return-1*this.data.trigger;if(void 0===t)return this.data.trigger;if("number"==typeof t&&isFinite(t))this.data.trigger=-1*t;else{if(!t||"number"==typeof t)throw Error("`trigger` is not correct, must be a finite number or a supported date!");this.data.trigger=s(t,"trigger")}return this}triggerAfter(t){return void 0===t?this.data.trigger:this.trigger("number"==typeof t?-1*t:t)}triggerBefore(t){return void 0===t?this.trigger():this.trigger(t)}type(t){if(void 0===t)return this.data.type;if(!t||!Object.keys(w).includes(t))throw Error("`type` is not correct, must be either `display` or `audio`!");return this.data.type=t,this}x(t,e){if(void 0===t)return r(this.data);if("string"==typeof t&&"string"==typeof e)r(this.data,t,e);else{if("object"!=typeof t)throw Error("Either key or value is not a string!");r(this.data,t)}return this}},x=class{data;constructor(t){if(this.data={name:""},!t.name)throw Error("No value for `name` in ICalCategory given!");this.name(t.name)}name(t){return void 0===t?this.data.name:(this.data.name=t,this)}toJSON(){return Object.assign({},this.data)}toString(){return d(this.data.name,!1)}},Y={BUSY:"BUSY",FREE:"FREE",OOF:"OOF",TENTATIVE:"TENTATIVE"};P=Y;var V,B={CONFIDENTIAL:"CONFIDENTIAL",PRIVATE:"PRIVATE",PUBLIC:"PUBLIC"};V=B;var H,Z={CANCELLED:"CANCELLED",CONFIRMED:"CONFIRMED",TENTATIVE:"TENTATIVE"};H=Z;var X,G={OPAQUE:"OPAQUE",TRANSPARENT:"TRANSPARENT"};X=G;var q,W=class{calendar;data;constructor(t,e){if(this.data={alarms:[],allDay:!1,attachments:[],attendees:[],busystatus:null,categories:[],class:null,created:null,description:null,end:null,floating:!1,id:crypto.randomUUID(),lastModified:null,location:null,organizer:null,priority:null,recurrenceId:null,repeating:null,sequence:0,stamp:new Date,start:new Date,status:null,summary:"",timezone:null,transparency:null,travelTime:null,url:null,x:[]},this.calendar=e,!e)throw Error("`calendar` option required!");t.id&&this.id(t.id),void 0!==t.sequence&&this.sequence(t.sequence),t.start&&this.start(t.start),void 0!==t.end&&this.end(t.end),void 0!==t.recurrenceId&&this.recurrenceId(t.recurrenceId),void 0!==t.timezone&&this.timezone(t.timezone),void 0!==t.stamp&&this.stamp(t.stamp),void 0!==t.allDay&&this.allDay(t.allDay),void 0!==t.floating&&this.floating(t.floating),void 0!==t.repeating&&this.repeating(t.repeating),void 0!==t.summary&&this.summary(t.summary),void 0!==t.location&&this.location(t.location),void 0!==t.description&&this.description(t.description),void 0!==t.organizer&&this.organizer(t.organizer),void 0!==t.attendees&&this.attendees(t.attendees),void 0!==t.alarms&&this.alarms(t.alarms),void 0!==t.categories&&this.categories(t.categories),void 0!==t.status&&this.status(t.status),void 0!==t.busystatus&&this.busystatus(t.busystatus),void 0!==t.priority&&this.priority(t.priority),void 0!==t.url&&this.url(t.url),void 0!==t.attachments&&this.attachments(t.attachments),void 0!==t.transparency&&this.transparency(t.transparency),void 0!==t.travelTime&&this.travelTime(t.travelTime),void 0!==t.created&&this.created(t.created),void 0!==t.lastModified&&this.lastModified(t.lastModified),void 0!==t.class&&this.class(t.class),void 0!==t.x&&this.x(t.x)}alarms(t){return t?(t.forEach(t=>this.createAlarm(t)),this):this.data.alarms}allDay(t){return void 0===t?this.data.allDay:(this.data.allDay=!!t,this)}attachments(t){return t?(t.forEach(t=>this.createAttachment(t)),this):this.data.attachments}attendees(t){return t?(t.forEach(t=>this.createAttendee(t)),this):this.data.attendees}busystatus(t){return void 0===t?this.data.busystatus:null===t?(this.data.busystatus=null,this):(this.data.busystatus=n(P,t),this)}categories(t){return t?(t.forEach(t=>this.createCategory(t)),this):this.data.categories}class(t){return void 0===t?this.data.class:null===t?(this.data.class=null,this):(this.data.class=n(V,t),this)}createAlarm(t){return t=t instanceof j?t:new j(t,this),this.data.alarms.push(t),t}createAttachment(t){return this.data.attachments.push(t),this}createAttendee(t){return t instanceof M?(this.data.attendees.push(t),t):("string"==typeof t&&(t=o("data",t)),t=new M(t,this),this.data.attendees.push(t),t)}createCategory(t){return t=t instanceof x?t:new x(t),this.data.categories.push(t),t}created(t){return void 0===t?this.data.created:null===t?(this.data.created=null,this):(this.data.created=s(t,"created"),this)}description(t){return void 0===t?this.data.description:null===t?(this.data.description=null,this):(this.data.description="string"==typeof t?{plain:t}:t,this)}end(t){return void 0===t?(this.swapStartAndEndIfRequired(),this.data.end):null===t?(this.data.end=null,this):(this.data.end=s(t,"end"),this)}floating(t){return void 0===t?this.data.floating:(this.data.floating=!!t,this.data.floating&&(this.data.timezone=null),this)}id(t){return void 0===t?this.data.id:(this.data.id=String(t),this)}lastModified(t){return void 0===t?this.data.lastModified:null===t?(this.data.lastModified=null,this):(this.data.lastModified=s(t,"lastModified"),this)}location(t){if(void 0===t)return this.data.location;if("string"==typeof t)return this.data.location={title:t},this;if(t&&("title"in t&&!t.title||t?.geo&&("number"!=typeof t.geo.lat||!isFinite(t.geo.lat)||"number"!=typeof t.geo.lon||!isFinite(t.geo.lon))||!("title"in t)&&!t?.geo))throw Error("`location` isn't formatted correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalEvent.html#location");return this.data.location=t||null,this}organizer(t){return void 0===t?this.data.organizer:null===t?(this.data.organizer=null,this):(this.data.organizer=o("organizer",t),this)}priority(t){if(void 0===t)return this.data.priority;if(null===t)return this.data.priority=null,this;if(t<0||t>9)throw Error("`priority` is invalid, musst be 0 ≤ priority ≤ 9.");return this.data.priority=Math.round(t),this}recurrenceId(t){return void 0===t?this.data.recurrenceId:null===t?(this.data.recurrenceId=null,this):(this.data.recurrenceId=s(t,"recurrenceId"),this)}repeating(e){if(void 0===e)return this.data.repeating;if(!e)return this.data.repeating=null,this;if(g(e)||"string"==typeof e)return this.data.repeating=e,this;if(this.data.repeating={freq:n(t,e.freq)},e.count){if(!isFinite(e.count))throw Error("`repeating.count` must be a finite number!");this.data.repeating.count=e.count}if(e.interval){if(!isFinite(e.interval))throw Error("`repeating.interval` must be a finite number!");this.data.repeating.interval=e.interval}if(void 0!==e.until&&(this.data.repeating.until=s(e.until,"repeating.until")),e.byDay){var i=Array.isArray(e.byDay)?e.byDay:[e.byDay];this.data.repeating.byDay=i.map(t=>n(a,t))}if(e.byMonth&&(i=Array.isArray(e.byMonth)?e.byMonth:[e.byMonth],this.data.repeating.byMonth=i.map(t=>{if("number"!=typeof t||t<1||t>12)throw Error("`repeating.byMonth` contains invalid value `"+t+"`!");return t})),e.byMonthDay&&(i=Array.isArray(e.byMonthDay)?e.byMonthDay:[e.byMonthDay],this.data.repeating.byMonthDay=i.map(t=>{if("number"!=typeof t||t<-31||t>31||0===t)throw Error("`repeating.byMonthDay` contains invalid value `"+t+"`!");return t})),e.bySetPos){if(!this.data.repeating.byDay)throw"`repeating.bySetPos` must be used along with `repeating.byDay`!";i=Array.isArray(e.bySetPos)?e.bySetPos:[e.bySetPos],this.data.repeating.bySetPos=i.map(t=>{if("number"!=typeof t||t<-366||t>366||0===t)throw"`repeating.bySetPos` contains invalid value `"+t+"`!";return t})}return e.exclude&&(i=Array.isArray(e.exclude)?e.exclude:[e.exclude],this.data.repeating.exclude=i.map((t,e)=>s(t,`repeating.exclude[${e}]`))),e.startOfWeek&&(this.data.repeating.startOfWeek=n(a,e.startOfWeek)),this}sequence(t){if(void 0===t)return this.data.sequence;if(isNaN(parseInt(String(t),10)))throw Error("`sequence` must be a number!");return this.data.sequence=t,this}stamp(t){return void 0===t?this.data.stamp:(this.data.stamp=s(t,"stamp"),this)}start(t){return void 0===t?(this.swapStartAndEndIfRequired(),this.data.start):(this.data.start=s(t,"start"),this)}status(t){return void 0===t?this.data.status:null===t?(this.data.status=null,this):(this.data.status=n(H,t),this)}summary(t){return void 0===t?this.data.summary:(this.data.summary=t?String(t):"",this)}timestamp(t){return void 0===t?this.stamp():this.stamp(t)}timezone(t){return void 0===t&&null!==this.data.timezone?this.data.timezone:void 0===t?this.calendar.timezone():(this.data.timezone=t&&"UTC"!==t?t.toString():null,this.data.timezone&&(this.data.floating=!1),this)}toJSON(){var t=null;return g(this.data.repeating)||"string"==typeof this.data.repeating?t=this.data.repeating.toString():this.data.repeating&&(t=Object.assign({},this.data.repeating,{exclude:this.data.repeating.exclude?.map(t=>D(t)),until:D(this.data.repeating.until)||void 0})),this.swapStartAndEndIfRequired(),Object.assign({},this.data,{created:D(this.data.created)||null,end:D(this.data.end)||null,lastModified:D(this.data.lastModified)||null,recurrenceId:D(this.data.recurrenceId)||null,repeating:t,stamp:D(this.data.stamp)||null,start:D(this.data.start)||null,x:this.x()})}toString(){var t="";if(t+="BEGIN:VEVENT\r",t+="UID:"+this.data.id+"\r",t+="SEQUENCE:"+this.data.sequence+"\r",this.swapStartAndEndIfRequired(),t+="DTSTAMP:"+h(this.calendar.timezone(),this.data.stamp)+"\r",this.data.allDay?(t+="DTSTART;VALUE=DATE:"+h(this.timezone(),this.data.start,!0)+"\r",this.data.end&&(t+="DTEND;VALUE=DATE:"+h(this.timezone(),this.data.end,!0)+"\r"),t+="X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\r",t+="X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\r"):(t+=l(this.timezone(),"DTSTART",this.data.start,this.data)+"\r",this.data.end&&(t+=l(this.timezone(),"DTEND",this.data.end,this.data)+"\r")),g(this.data.repeating)||"string"==typeof this.data.repeating){var e=this.data.repeating.toString().replace(/\r\n/g,"").split("").filter(t=>t&&!t.startsWith("DTSTART:")).join("\r");e.includes("\r")||e.startsWith("RRULE:")||(e="RRULE:"+e),t+=e.trim()+"\r"}else this.data.repeating&&(t+="RRULE:FREQ="+this.data.repeating.freq,this.data.repeating.count&&(t+=";COUNT="+this.data.repeating.count),this.data.repeating.interval&&(t+=";INTERVAL="+this.data.repeating.interval),this.data.repeating.until&&(t+=";UNTIL="+h(this.calendar.timezone(),this.data.repeating.until,!1,this.floating())),this.data.repeating.byDay&&(t+=";BYDAY="+this.data.repeating.byDay.join(",")),this.data.repeating.byMonth&&(t+=";BYMONTH="+this.data.repeating.byMonth.join(",")),this.data.repeating.byMonthDay&&(t+=";BYMONTHDAY="+this.data.repeating.byMonthDay.join(",")),this.data.repeating.bySetPos&&(t+=";BYSETPOS="+this.data.repeating.bySetPos.join(",")),this.data.repeating.startOfWeek&&(t+=";WKST="+this.data.repeating.startOfWeek),t+="\r",this.data.repeating.exclude&&(this.data.allDay?t+="EXDATE;VALUE=DATE:"+this.data.repeating.exclude.map(t=>h(this.calendar.timezone(),t,!0)).join(",")+"\r":(t+="EXDATE",this.timezone()?t+=";TZID="+this.timezone()+":"+this.data.repeating.exclude.map(t=>h(this.timezone(),t,!1,!0)).join(",")+"\r":t+=":"+this.data.repeating.exclude.map(t=>h(this.timezone(),t,!1,this.floating())).join(",")+"\r")));return this.data.recurrenceId&&(t+=l(this.timezone(),"RECURRENCE-ID",this.data.recurrenceId,this.data)+"\r"),t+="SUMMARY:"+d(this.data.summary,!1)+"\r",this.data.transparency&&(t+="TRANSP:"+d(this.data.transparency,!1)+"\r"),this.data.location&&"title"in this.data.location&&this.data.location.title&&(t+="LOCATION:"+d(this.data.location.title+(this.data.location.address?""+this.data.location.address:""),!1)+"\r",this.data.location.radius&&this.data.location.geo&&(t+="X-APPLE-STRUCTURED-LOCATION;VALUE=URI;"+(this.data.location.address?"X-ADDRESS="+d(this.data.location.address,!1)+";":"")+"X-APPLE-RADIUS="+d(this.data.location.radius,!1)+";X-TITLE="+d(this.data.location.title,!1)+":geo:"+d(this.data.location.geo?.lat,!1)+","+d(this.data.location.geo?.lon,!1)+"\r")),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(t+="GEO:"+d(this.data.location.geo.lat,!1)+";"+d(this.data.location.geo.lon,!1)+"\r"),this.data.travelTime&&(t+="X-APPLE-TRAVEL-DURATION;VALUE=DURATION:"+S(this.data.travelTime.seconds)+"\r",this.data.location&&(this.data.travelTime.suggestionBehavior&&(t+="X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:"+this.data.travelTime.suggestionBehavior+"\r"),this.data.travelTime.startFrom))&&(t+="X-APPLE-TRAVEL-START;",(e=[]).push("ROUTING="+this.data.travelTime.startFrom.transportation),e.push("VALUE=URI"),"address"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.address&&e.push("X-ADDRESS="+d(this.data.travelTime.startFrom.location.address,!1)),"radius"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.radius&&e.push("X-APPLE-RADIUS="+d(this.data.travelTime.startFrom.location.radius,!1)),"title"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.title&&e.push("X-TITLE="+d(this.data.travelTime.startFrom.location.title,!1)),t+=e.join(";"),"geo"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.geo&&(t+=":geo:"+d(this.data.travelTime.startFrom.location.geo?.lat,!1)+","+d(this.data.travelTime.startFrom.location.geo?.lon,!1)),t+="\r"),this.data.description&&(t+="DESCRIPTION:"+d(this.data.description.plain,!1)+"\r",this.data.description.html&&(t+="X-ALT-DESC;FMTTYPE=text/html:"+d(this.data.description.html,!1)+"\r")),this.data.organizer&&(t+='ORGANIZER;CN="'+d(this.data.organizer.name,!0)+'"',this.data.organizer.sentBy&&(t+=';SENT-BY="mailto:'+d(this.data.organizer.sentBy,!0)+'"'),this.data.organizer.email&&this.data.organizer.mailto&&(t+=";EMAIL="+d(this.data.organizer.email,!1)),t+=":",this.data.organizer.email&&(t+="mailto:"+d(this.data.organizer.mailto||this.data.organizer.email,!1)),t+="\r"),this.data.attendees.forEach(function(e){t+=e.toString()}),this.data.alarms.forEach(function(e){t+=e.toString()}),this.data.categories.length>0&&(t+="CATEGORIES:"+this.data.categories.map(t=>t.toString()).join()+"\r"),this.data.url&&(t+="URL;VALUE=URI:"+d(this.data.url,!1)+"\r"),this.data.attachments.length>0&&this.data.attachments.forEach(e=>{t+="ATTACH:"+d(e,!1)+"\r"}),this.data.status&&(t+="STATUS:"+this.data.status.toUpperCase()+"\r"),this.data.busystatus&&(t+="X-MICROSOFT-CDO-BUSYSTATUS:"+this.data.busystatus.toUpperCase()+"\r"),null!==this.data.priority&&(t+="PRIORITY:"+this.data.priority+"\r"),t+=u(this.data),this.data.created&&(t+="CREATED:"+h(this.calendar.timezone(),this.data.created)+"\r"),this.data.lastModified&&(t+="LAST-MODIFIED:"+h(this.calendar.timezone(),this.data.lastModified)+"\r"),this.data.class&&(t+="CLASS:"+this.data.class.toUpperCase()+"\r"),t+="END:VEVENT\r"}transparency(t){return void 0===t?this.data.transparency:t?(this.data.transparency=n(X,t),this):(this.data.transparency=null,this)}travelTime(t){if(void 0===t)return this.data.travelTime;if("number"==typeof t&&t<=0)throw Error("`travelTime` has to be more than 0!");if(t&&"object"==typeof t&&"seconds"in t&&t.seconds<=0)throw Error("`travelTime.seconds` has to be more than 0!");return"number"==typeof t?(this.data.travelTime={seconds:t},this):(this.data.travelTime=t,this)}uid(t){return void 0===t?this.id():this.id(t)}url(t){return void 0===t?this.data.url:(this.data.url=t?String(t):null,this)}x(t,e){return void 0===t?r(this.data):("string"==typeof t&&"string"==typeof e&&r(this.data,t,e),"object"==typeof t&&r(this.data,t),this)}swapStartAndEndIfRequired(){if(this.data.start&&this.data.end&&A(this.data.start).getTime()>A(this.data.end).getTime()){let t=this.data.start;this.data.start=this.data.end,this.data.end=t}}},k={ADD:"ADD",CANCEL:"CANCEL",COUNTER:"COUNTER",DECLINECOUNTER:"DECLINECOUNTER",PUBLISH:"PUBLISH",REFRESH:"REFRESH",REPLY:"REPLY",REQUEST:"REQUEST"};q=k;var Q=class{data;constructor(t={}){this.data={color:null,description:null,events:[],method:null,name:null,prodId:"//sebbo.net//ical-generator//EN",scale:null,source:null,timezone:null,ttl:null,url:null,x:[]},void 0!==t.prodId&&this.prodId(t.prodId),void 0!==t.method&&this.method(t.method),void 0!==t.name&&this.name(t.name),void 0!==t.description&&this.description(t.description),void 0!==t.timezone&&this.timezone(t.timezone),void 0!==t.source&&this.source(t.source),void 0!==t.url&&this.url(t.url),void 0!==t.scale&&this.scale(t.scale),void 0!==t.ttl&&this.ttl(t.ttl),void 0!==t.color&&this.color(t.color),void 0!==t.events&&this.events(t.events),void 0!==t.x&&this.x(t.x)}clear(){return this.data.events=[],this}color(t){if(void 0===t)return this.data.color;if("string"==typeof t&&!/^#[A-F0-9]{6}$/gi.test(t))throw Error("`color` is malformed!");return this.data.color=t?String(t).toUpperCase():null,this}createEvent(t){return t=t instanceof W?t:new W(t,this),this.data.events.push(t),t}description(t){return void 0===t?this.data.description:(this.data.description=t?String(t):null,this)}events(t){return t?(t.forEach(t=>this.createEvent(t)),this):this.data.events}length(){return this.data.events.length}method(t){return void 0===t?this.data.method:t?(this.data.method=n(q,t),this):(this.data.method=null,this)}name(t){return void 0===t?this.data.name:(this.data.name=t?String(t):null,this)}prodId(t){if(!t)return this.data.prodId;if("string"==typeof t)return this.data.prodId=t,this;if("object"!=typeof t)throw Error("`prodid` needs to be a string or an object!");if(!t.company)throw Error("`prodid.company` is a mandatory item!");if(!t.product)throw Error("`prodid.product` is a mandatory item!");var e=(t.language||"EN").toUpperCase();return this.data.prodId="//"+t.company+"//"+t.product+"//"+e,this}scale(t){return void 0===t?this.data.scale:(this.data.scale=null===t?null:t.toUpperCase(),this)}source(t){return void 0===t?this.data.source:(this.data.source=t||null,this)}timezone(t){return void 0===t?this.data.timezone?.name||null:(this.data.timezone="UTC"===t?null:"string"==typeof t?{name:t}:null===t?null:t,this)}toJSON(){return Object.assign({},this.data,{events:this.data.events.map(t=>t.toJSON()),timezone:this.timezone(),x:this.x()})}toString(){var t="";return t="BEGIN:VCALENDAR\r VERSION:2.0\r",t+="PRODID:-"+this.data.prodId+"\r",this.data.url&&(t+="URL:"+this.data.url+"\r"),this.data.source&&(t+="SOURCE;VALUE=URI:"+this.data.source+"\r"),this.data.scale&&(t+="CALSCALE:"+this.data.scale+"\r"),this.data.method&&(t+="METHOD:"+this.data.method+"\r"),this.data.name&&(t+="NAME:"+this.data.name+"\r",t+="X-WR-CALNAME:"+this.data.name+"\r"),this.data.description&&(t+="X-WR-CALDESC:"+this.data.description+"\r"),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(t=>t.timezone())])].filter(t=>null!==t&&!t.startsWith("/")).forEach(e=>{this.data.timezone?.generator&&(e=this.data.timezone.generator(e))&&(t+=e.replace(/\r\n/g,"").replace(/\n/g,"\r").trim()+"\r")}),this.data.timezone?.name&&(t+="TIMEZONE-ID:"+this.data.timezone.name+"\r",t+="X-WR-TIMEZONE:"+this.data.timezone.name+"\r"),this.data.ttl&&(t+="REFRESH-INTERVAL;VALUE=DURATION:"+S(this.data.ttl)+"\r",t+="X-PUBLISHED-TTL:"+S(this.data.ttl)+"\r"),this.data.color&&(t+="X-APPLE-CALENDAR-COLOR:"+this.data.color+"\r"),this.data.events.forEach(e=>t+=e.toString()),t+=u(this.data),function(t){return t.split("\r").map(function(t){var e="",a=0;for(let i=0;i<t.length;i++){let r=t.charAt(i);r>="\ud800"&&r<="\udbff"&&(r+=t.charAt(++i));let s=(new TextEncoder).encode(r).length;(a+=s)>74&&(e+="\r",a=s),e+=r}return e}).join("\r")}(t+="END:VCALENDAR")}ttl(t){return void 0===t?this.data.ttl:("object"==typeof t&&t&&"asSeconds"in t&&"function"==typeof t.asSeconds?this.data.ttl=t.asSeconds():this.data.ttl=t&&t>0?t:null,this)}url(t){return void 0===t?this.data.url:(this.data.url=t||null,this)}x(t,e){if(void 0===t)return r(this.data);if("string"==typeof t&&"string"==typeof e)r(this.data,t,e);else{if("object"!=typeof t)throw Error("Either key or value is not a string!");r(this.data,t)}return this}};function J(t){if(t)return"string"==typeof t?new Date(t):t}export default class{pluginOptions;uuid;constructor(t,e){this.pluginOptions=t,this.uuid=e}configure(t){var e=new Q({name:"QR calendar"});return t.data=e.createEvent({...this.pluginOptions,start:J(this.pluginOptions.start),end:J(this.pluginOptions.end),location:this.pluginOptions.location||this.pluginOptions.geo?{title:this.pluginOptions.location,geo:this.pluginOptions.geo}:void 0,organizer:this.pluginOptions.organizer?{name:this.pluginOptions.organizer.name||this.pluginOptions.organizer.email,email:this.pluginOptions.organizer.email}:void 0,id:this.uuid}).toString().split("\n").filter(t=>!t.startsWith("SEQUENCE:")&&!t.startsWith("DTSTAMP:")&&(this.uuid||!t.startsWith("UID:"))).join("\n"),t.qrOptions.mode=void 0,t}}
2
2
  //# sourceMappingURL=event-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-plugin.js","sources":["../node_modules/ts-ics/dist/index.js","../src/plugins/event.ts"],"sourcesContent":["var x=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=x(Ce),hn=I($e),Kn=I(Ce);var Ne={method:\"METHOD\",prodId:\"PRODID\",version:\"VERSION\",name:\"X-WR-CALNAME\"},Ze=x(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=x(ve),Un=I(Xe),Wn=I(ve);var Ae={id:\"TZID\",lastModified:\"LAST-MODIFIED\",url:\"TZURL\"},Qe=x(Ae),wn=I(Qe),Hn=I(Ae);var be={comment:\"COMMENT\",name:\"TZNAME\",offsetFrom:\"TZOFFSETFROM\",offsetTo:\"TZOFFSETTO\",recurrenceDate:\"RDATE\",recurrenceRule:\"RRULE\",start:\"DTSTART\"},et=x(be),Zn=I(et),Xn=I(be);var St={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=x(St),to=I(tt),ro=I(St);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=x(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=x(Me),io=I(nt),uo=I(Me);var ze={stamp:\"DTSTAMP\",start:\"DTSTART\",uid:\"UID\",url:\"URL\",organizer:\"ORGANIZER\",attendees:\"ATTENDEE\",comment:\"COMMENT\",end:\"DTEND\",freeBusy:\"FREEBUSY\"},ot=x(ze),yo=I(ot),lo=I(ze);var at=\"BEGIN\",st=\"END\",Se=\"VCALENDAR\",X=\"VTIMEZONE\",ct=\"STANDARD\",mt=\"DAYLIGHT\",Q=\"VEVENT\",ee=\"VALARM\",te=\"VTODO\",re=\"VJOURNAL\",ne=\"VFREEBUSY\",Io=[Se,X,ct,mt,Q,ee,te,re,ne];var it=t=>new RegExp(`${at}:${t}([\\\\s\\\\S]*?)${st}:${t}`,\"g\"),Dt=t=>new RegExp(`${at}:${t}|${st}:${t}`,\"g\");var gt=/\\r\\n/,De=/\\r\\n|\\r|\\n/,Le=`\\r\n`,ut=`\n`,xt=\":\",b=\",\",Ot='\"',oe=\";\",Vo=\" \",ge=\"=\",dt=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 D=t=>{if(!(t.length<1))return`${t.map(e=>`${e.key}${ge}${e.value}`).join(oe)}`};var Nt=t=>{if(t.type===\"uri\"){let e=D([t.formatType&&{key:\"FMTTYPE\",value:t.formatType}].filter(r=>!!r));return f(\"ATTACH\",t.url,e)}if(t.type===\"binary\"){let e=D([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=D([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\"},t.cutype&&{key:\"CUTYPE\",value:t.cutype}].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,Go=-mn,vt=6048e5,At=864e5,ce=6e4,me=36e5;var un=3600;var bt=un*24,Jo=bt*7,dn=bt*365.2425,pn=dn/12,wo=pn*3,pt=Symbol.for(\"constructDateFrom\");function S(t,e){return typeof t==\"function\"?t(e):t&&typeof t==\"object\"&&pt in t?t[pt](e):t instanceof Date?new t.constructor(e):new Date(e)}function i(t,e){return S(e||t,t)}function Y(t,e,r){let n=i(t,r==null?void 0:r.in);return isNaN(e)?S((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 S((r==null?void 0:r.in)||t,NaN);if(!e)return n;let o=n.getDate(),s=S((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 S((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,u,p;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??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.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=S.bind(null,t||e.find(n=>typeof n==\"object\"));return e.map(r)}function xe(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=xe(n),a=xe(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 ue(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(S(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 p,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=(p=e==null?void 0:e.locale)==null?void 0:p.options)==null?void 0:l.firstWeekContainsDate)??o.firstWeekContainsDate??((v=(E=o.locale)==null?void 0:E.options)==null?void 0:v.firstWeekContainsDate)??1,a=S((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=S((e==null?void 0:e.in)||t,0);m.setFullYear(n,0,s),m.setHours(0,0,0,0);let u=ae(m,e);return+r>=+c?n+1:+r>=+u?n:n-1}function Ft(t,e){var c,m,u,p;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??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.firstWeekContainsDate)??1,o=Bt(t,e),s=S((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=S(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,g;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??((g=(v=n.locale)==null?void 0:v.options)==null?void 0:g.weekStartsOn)??0,s=i(t,r==null?void 0:r.in),a=s.getDay(),m=(e%7+7)%7,u=7-o,p=e<0||e>6?e-(a+u)%7:(m+u)%7-(a+u)%7;return Y(s,p,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=S((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 vc=(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,p=Math.abs(_t(e,t))-c*60;return{before:t>e,weeks:r,days:o,hours:a,minutes:m,seconds:p}};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 zc=t=>t.end?t.end.date:ar(t.start.date,t.duration);var _c=[\"PUBLISH\"],hc=[\"2.0\"];var sr=[ct,mt];var Yc=[\"FREE\",\"BUSY\",\"BUSY-UNAVAILABLE\",\"BUSY-TENTATIVE\"];var Fc=[\"BASE64\"],jc=[\"BINARY\"];var Wc=[\"NEEDS-ACTION\",\"ACCEPTED\",\"DECLINED\",\"TENTATIVE\",\"DELEGATED\"];var Jc=[\"DATE\",\"DATE-TIME\"];var cr=[\"SECONDLY\",\"MINUTELY\",\"HOURLY\",\"DAILY\",\"WEEKLY\",\"MONTHLY\",\"YEARLY\"];var qc=[\"TENTATIVE\",\"CONFIRMED\",\"CANCELLED\"],$c=[\"NEEDS-ACTION\",\"COMPLETED\",\"IN-PROGRESS\",\"CANCELLED\"],Zc=[\"DRAFT\",\"FINAL\",\"CANCELLED\"];var Qc=[\"START\",\"END\"];var Ge=[\"SU\",\"MO\",\"TU\",\"WE\",\"TH\",\"FR\",\"SA\"];var rm=[\"PRIVATE\",\"PUBLIC\",\"CONFIDENTIAL\"];var om=[\"TRANSPARENT\",\"OPAQUE\"];var de=(t,e)=>e===void 0?!1:t>=e,mr=(t,{start:e,end:r},n)=>{if(de(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(de(n.length,t.count))return;a=Pe(a,s),n.push([a])}return}if(o===\"MINUTELY\"){for(;a<r;){if(de(n.length,t.count))return;a=ie(a,s),n.push([a])}return}if(o===\"HOURLY\"){for(;a<r;){if(de(n.length,t.count))return;a=Ke(a,s),n.push([a])}return}if(o===\"DAILY\"){for(;a<r;){if(de(n.length,t.count))return;a=Y(a,s),n.push([a])}return}if(o===\"WEEKLY\"){for(;a<r;){if(de(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 p=Re(t,r,{weekStartsOn:n}),l=t>p;return j(p,(o||1)-1+(l?1:0))}let c=Re(e,r,{weekStartsOn:n}),m=e<c;return W(xe(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 ur=(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 dr=(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 pr=(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(ue).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=pr(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=ur(t,n,t.byHour)),t.byMinute&&(n=dr(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(ue).filter(a=>!(e.exceptions.length>0&&e.exceptions.some(c=>wt(c,a))||!We(a,{start:e.start,end:e.end}))))};var yn=2,Sr=(t,e)=>{var u;let r=e.start,n=((u=t.until)==null?void 0:u.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 Dr=(t,e)=>e.flatMap(r=>!r.recurrenceRule||r.recurrenceRule.until&&r.recurrenceRule.until.date<t?r:Sr(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 gr=(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=Dr(t,n.props).sort((m,u)=>ue(m.start,u.start));for(let m=0;m<s.length;m+=1)if(t<s[m].start){let u=s[m-1]?s[m-1].offsetTo:s[m].offsetFrom,p=u.length>5?u.substring(0,5):u;return{offset:p,milliseconds:se(p)}}let a=s[s.length-1].offsetTo,c=a.length>5?a.substring(0,5):a;return{offset:c,milliseconds:se(c)}}let o=gr(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(),u=c.toString().length===1?`0${c}`:c.toString();return{offset:`${s?\"-\":\"+\"}${m}${u}`,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)},xr=(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=D([((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?D(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(gt),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===`\n`?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 u=e.icsKeyMap[m];if(!u)return;let p=t[m];if(p==null)return;let l=e.generateValues[m];if(l){c+=l({icsKey:u,value:p,key:m});return}c+=f(u,String(p))}),n&&o&&o.length>0&&o.forEach(m=>{let u=t[m];!u||!Array.isArray(u)||u.length===0||u.forEach(p=>{let l=n[m];l&&(c+=l(p))})}),s&&a&&a.length>0&&a.forEach(m=>{let u=s[m];if(!u)return;let p=e.icsKeyMap[m];if(!p)return;let l=t[m];!l||!Array.isArray(l)||l.length===0||l.forEach(E=>{c+=u({icsKey:p,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=D([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)?xr(e.date,e.local,n==null?void 0:n.timezones):A(e.date);return f(t,s,o)};var pe=(t,e,r)=>T(e,t,void 0,r);var G=t=>{let e=D([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=D([t.frequency&&{key:\"FREQ\",value:t.frequency},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.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?D(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})=>pe(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})=>pe(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})=>pe(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=D([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 gd=(t,e)=>O(t,{icsComponent:Se,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 d=(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 d(t,r)};var w=t=>t.replace(/mailto:/gi,\"\");var L=(t,e)=>{var r,n,o,s,a,c,m,u,p,l,E,v;return d(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:(u=e.options)!=null&&u[\"SENT-BY\"]?w(e.options[\"SENT-BY\"]):void 0,rsvp:(p=e.options)!=null&&p.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,cutype:(v=e.options)==null?void 0:v.CUTYPE})};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 d(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 d(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 d(t,m)},Yr=(t,e,r)=>{let n=se(r),o=H(void 0,e),s=nr(o,n);return d(t,s)};var En=(t,e)=>{var s,a,c,m,u,p;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:(u=t.options)!=null&&u.TZID?{date:n,timezone:(p=t.options)==null?void 0:p.TZID,tzoffset:o.offset}:void 0}:{date:n,type:r}},y=(t,e,r)=>d(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 d(t,n)};var Sn=t=>t.startsWith('\"')&&t.endsWith('\"')?t.slice(1,-1):t,Et=t=>t.map(e=>{let[r,...n]=e.split(ge),o=n.join(ge);return{property:r,value:Sn(o)}},{}),Dn=t=>t.reduce((e,r)=>(e[r.property]=r.value,e),{}),Fr=t=>Dn(Et(t));var gn=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)===xt&&!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}=gn(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),xn=t=>/^[A-Z]+(?:-[A-Z]+)*[:;]/.test(t),Wr=t=>{let e=[],r=t.split(De);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])||!xn(r[o]));)r[o]===\"\"?s+=ut:Ur(r[o])?s+=r[o].substring(1):(s+=ut,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(([u,p])=>p.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]]=d(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(Dt(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 g=r.objectKeyMap[E];if(!g)return;let Ie=(P=r.convertArrayValues)==null?void 0:P[g];if(Ie){let Z=Ie({line:v});if(!Z)return;(a[g]===void 0||a[g]===null||!Array.isArray(a[g]))&&(a[g]=[]),Array.isArray(Z)?a[g].push(...Z):a[g].push(Z);return}let qe=(Ee=r.convertValues)==null?void 0:Ee[g];if(qe){let Z=qe({line:v});if(!Z)return;a[g]=Z;return}a[g]=v.value});let m=r.childComponents,u=m?Object.keys(m||{}):[];m&&u.length>0&&u.forEach(l=>{let E=m==null?void 0:m[l];if(!E)return;let v=Array.isArray(E.icsComponent)?E.icsComponent:[E.icsComponent],g=[],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&&g.push(Ee)}),g.length!==0&&(a[l]=g)});let p=d(t,a);return r!=null&&r.nonStandard?Gr(p,c,r==null?void 0:r.nonStandard):p};var q=(t,e)=>{var r,n,o;return d(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 d(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)=>d(t,Rn(e.value));var Hr=(t,e)=>d(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(u=>Number(u));return}if(m===\"byMonth\"){n[m]=c.split(b).map(u=>Number(u)-1);return}if(Vn(m)){n[m]=c.split(b).map(u=>wr(void 0,{value:u}));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}}}),d(t,n)};var le=(t,e)=>d(t,e.value);var qr=(t,e)=>d(t,e.value);var Te=(t,e,r)=>d(t,e.value.split(\",\").map(n=>y(void 0,{value:n,options:e.options},r)));var $r=(t,e)=>d(t,e.value),Zr=(t,e)=>d(t,e.value),Xr=(t,e)=>d(t,e.value);var K=(t,e)=>d(t,Number.parseInt(e.value,10));var Qr=t=>t.replace(/\\\\(([,;\\\\])|([nN]))/g,(e,r,n)=>n||`\n`);var N=(t,e)=>d(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(De)[0],s=sr.includes(o)?o:\"STANDARD\",a=r.split(\"TZOFFSETTO:\")[1].split(De)[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 d(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 xy=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:Se,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{De as BREAK_REGEX,b as COMMA,Le as CRLF_BREAK,gt as CRLF_BREAK_REGEX,yn as DEFAULT_END_IN_YEARS,ge as EQUAL_SIGN,Io as ICS_COMPONENTS,ut as LF_BREAK,dt as MAX_LINE_LENGTH,st as OBJECT_END,at as OBJECT_START,Ot as QUOTE,to as RRULE_KEYS,ro as RRULE_OBJECT_KEYS,St as RRULE_TO_KEYS,tt as RRULE_TO_OBJECT_KEYS,oe as SEMICOLON,xt 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,Se 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,uo 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,Fc as attachmentEncodingTypes,jc as attachmentValueTypes,Wc as attendeePartStatusTypes,_c as calendarMethods,hc as calendarVersions,rm as classTypes,en as convertIcsAlarm,Pr as convertIcsAttachment,L as convertIcsAttendee,xy 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,Dt as createReplaceRegex,Jc as dateObjectTypes,qc as eventStatusTypes,Sr as extendByRecurrenceRule,Dr as extendTimezoneProps,Yc as freeBusyTypes,vr as generateIcsAlarm,Nt as generateIcsAttachment,V as generateIcsAttendee,gd as generateIcsCalendar,we as generateIcsDate,M as generateIcsDuration,Vr as generateIcsEvent,Kr as generateIcsFreeBusy,h as generateIcsInteger,_r as generateIcsJournal,xr 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,vc as getDurationFromInterval,zc as getEventEnd,ar as getEventEndFromDuration,Je as getTimezoneObjectOffset,Zc as journalStatusTypes,zn as recurrenceObjectKeyIsNumber,An as recurrenceObjectKeyIsNumberArray,Nn as recurrenceObjectKeyIsTimeStamp,Vn as recurrenceObjectKeyIsWeekdayNumberArray,cr as recurrenceRuleFrequencies,om as timeTransparentTypes,se as timeZoneOffsetToMilliseconds,$c as todoStatusTypes,Qc as triggerRelations,Ge as weekDays};\n","import { generateIcsEvent } from 'ts-ics'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date | string\r\n end: Date | string\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: string\r\n lon: string\r\n }\r\n organizer: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = generateIcsEvent({\r\n ...this.pluginOptions,\r\n stamp: { date: toDate(this.pluginOptions.start)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n start: { date: toDate(this.pluginOptions.start)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n end: { date: toDate(this.pluginOptions.end)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n geo: this.pluginOptions.geo ? `${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}` : undefined,\r\n uid: this.uuid || ''\r\n })\r\n return options\r\n }\r\n\r\n}\r\n"],"names":["x","t","Object","fromEntries","entries","map","e","r","Ce","action","description","duration","repeat","summary","trigger","attachments","attendees","Ne","method","prodId","version","name","ve","alarms","categories","created","lastModified","location","exceptionDates","recurrenceRule","stamp","start","uid","timeTransparent","url","end","geo","class","organizer","priority","sequence","status","attach","recurrenceId","comment","k","Ae","id","be","offsetFrom","offsetTo","recurrenceDate","St","byDay","byHour","byMinute","byMonth","byMonthday","bySecond","bySetPos","byWeekNo","byYearday","count","frequency","interval","until","workweekStart","Ve","completed","due","percentComplete","Me","ze","freeBusy","gt","f","D","length","key","value","join","oe","V","dir","delegatedFrom","member","role","partstat","sentBy","rsvp","cutype","filter","n","email","M","values","before","weeks","days","hours","minutes","seconds","pt","Symbol","for","S","Date","constructor","i","Y","in","isNaN","NaN","setDate","getDate","he","o","s","getTime","setMonth","getMonth","setFullYear","getFullYear","fn","ae","c","m","u","p","weekStartsOn","locale","options","a","getDay","setHours","ie","setTime","ce","ue","Ye","prototype","toString","call","yt","Pt","F","bind","find","push","reverse","lt","je","Re","l","E","v","g","We","sort","Ge","split","de","Tt","W","xe","getTimezoneOffset","Er","flatMap","Math","min","includes","pr","h","q","firstWeekContainsDate","P","round","vt","Tr","Ir","fr","day","occurrence","indexOf","ir","getHours","ur","setMinutes","getMinutes","dr","setSeconds","getSeconds","yr","some","lr","exceptions","Sr","date","b","me","mr","flat","splice","se","Number","slice","Je","Dr","props","offset","substring","milliseconds","toLocaleString","timeZone","gr","abs","trunc","we","Error","toISOString","A","It","ln","toUpperCase","In","O","keys","childComponents","generateArrayValues","icsComponent","forEach","icsKeyMap","generateValues","icsKey","String","Array","isArray","nonStandard","generate","Cr","skipFormatLines","match","Tn","Le","Nr","vr","ee","related","type","Rr","formatType","encoding","binary","JSON","stringify","Nt","T","local","forceUtc","timezone","xr","timezones","br","replace","Vr","Q","d","descriptionAltRep","J","G","range","toDate","val","pluginOptions","uuid","this","configure","data","generateIcsEvent","allDay","lat","lon","undefined"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"event-plugin.js","sources":["../node_modules/ical-generator/dist/index.mjs","../src/plugins/event.ts"],"sourcesContent":["let e=function(e){return e.DAILY=`DAILY`,e.HOURLY=`HOURLY`,e.MINUTELY=`MINUTELY`,e.MONTHLY=`MONTHLY`,e.SECONDLY=`SECONDLY`,e.WEEKLY=`WEEKLY`,e.YEARLY=`YEARLY`,e}({}),t=function(e){return e.AUTOMATIC=`AUTOMATIC`,e.DISABLED=`DISABLED`,e.ENABLED=`ENABLED`,e}({}),n=function(e){return e.BICYCLE=`BICYCLE`,e.CAR=`CAR`,e.TRANSIT=`TRANSIT`,e.WALKING=`WALKING`,e}({}),r=function(e){return e.FR=`FR`,e.MO=`MO`,e.SA=`SA`,e.SU=`SU`,e.TH=`TH`,e.TU=`TU`,e.WE=`WE`,e}({});function i(e,t,n){if(Array.isArray(t))e.x=t.map(e=>{if(Array.isArray(e))return e;if(typeof e.key!=`string`||typeof e.value!=`string`)throw Error(`Either key or value is not a string!`);if(e.key.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e.key,e.value]});else if(typeof t==`object`)e.x=Object.entries(t).map(([e,t])=>{if(typeof e!=`string`||typeof t!=`string`)throw Error(`Either key or value is not a string!`);if(e.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");return[e,t]});else if(typeof t==`string`&&typeof n==`string`){if(t.substr(0,2)!==`X-`)throw Error(\"Key has to start with `X-`!\");e.x.push([t,n])}else return e.x.map(e=>({key:e[0],value:e[1]}))}function a(e,t){if(e instanceof Date&&isNaN(e.getTime())||typeof e==`string`&&isNaN(new Date(e).getTime()))throw Error(`\\`${t}\\` has to be a valid date!`);if(e instanceof Date||typeof e==`string`||typeof e==`object`&&e&&(C(e)||S(e)||x(e)||b(e))||m(e)&&e.isValid===!0||(h(e)||p(e))&&e.isValid())return e;throw Error(`\\`${t}\\` has to be a valid date!`)}function o(e,t){let n=Object.values(e),r=String(t).toUpperCase();if(!r||!n.includes(r))throw Error(`Input must be one of the following: ${n.join(`, `)}`);return r}function s(e,t){let n=null;if(typeof t==`string`){let e=t.match(/^(.+) ?<([^>]+)>$/);e?n={email:e[2].trim(),name:e[1].trim()}:t.includes(`@`)&&(n={email:t.trim(),name:t.trim()})}else typeof t==`object`&&(n={email:t.email,mailto:t.mailto,name:t.name,sentBy:t.sentBy});if(!n&&typeof t==`string`)throw Error(\"`\"+e+\"` isn't formated correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n)throw Error(\"`\"+e+\"` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html\");if(!n.name)throw Error(\"`\"+e+\".name` is empty!\");if(!n.email)throw Error(\"`\"+e+\".email` is empty!\");return n}function c(e,t){return String(e).replace(t?/[\\\\\"]/g:/[\\\\;,]/g,function(e){return`\\\\`+e}).replace(/(?:\\r\\n|\\r|\\n)/g,`\\\\n`)}function l(e){return e.split(`\\r\n`).map(function(e){let t=``,n=0;for(let r=0;r<e.length;r++){let i=e.charAt(r);i>=`\\ud800`&&i<=`\\udbff`&&(i+=e.charAt(++r));let a=new TextEncoder().encode(i).length;n+=a,n>74&&(t+=`\\r\n `,n=a),t+=i}return t}).join(`\\r\n`)}function u(e,t,n,r){if(e?.startsWith(`/`)&&(e=e.substr(1)),typeof t==`string`||t instanceof Date){let i=w(t)?t.withTimeZone(e):new Date(t),a=i.getUTCFullYear().toString().padStart(4,`0`)+String(i.getUTCMonth()+1).padStart(2,`0`)+i.getUTCDate().toString().padStart(2,`0`);return e&&(a=i.getFullYear().toString().padStart(2,`0`)+String(i.getMonth()+1).padStart(2,`0`)+i.getDate().toString().padStart(2,`0`)),n?a:e?(a+=`T`+i.getHours().toString().padStart(2,`0`)+i.getMinutes().toString().padStart(2,`0`)+i.getSeconds().toString().padStart(2,`0`),a):(a+=`T`+i.getUTCHours().toString().padStart(2,`0`)+i.getUTCMinutes().toString().padStart(2,`0`)+i.getUTCSeconds().toString().padStart(2,`0`)+(r?``:`Z`),a)}else if(h(t)){let i=e?_(t)&&!t.tz()?t.clone().tz(e):t:r||n&&_(t)&&t.tz()?t:t.utc();return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}else if(m(t)){let i=e?t.setZone(e):r||n&&t.zone.type!==`system`?t:t.setZone(`utc`);return i.toFormat(`yyyyLLdd`)+(n?``:`T`+i.toFormat(`HHmmss`)+(r||e?``:`Z`))}else if(C(t)){let i=t;return e&&(i=t.withTimeZone(t.timeZoneId)),!e&&t.timeZoneId!==`UTC`&&(i=t.withTimeZone(`UTC`)),u(null,i.toPlainDateTime(),n,r||!!e)}else if(S(t)){if(n)return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`);if(e){let i=t.toZonedDateTime(e);return u(e,i,n,r)}return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+`T`+t.hour.toString().padStart(2,`0`)+t.minute.toString().padStart(2,`0`)+t.second.toString().padStart(2,`0`)+(r||e?``:`Z`)}else if(x(t))return t.year.toString().padStart(4,`0`)+t.month.toString().padStart(2,`0`)+t.day.toString().padStart(2,`0`)+(n?``:`T000000`+(r||e?``:`Z`));else if(b(t)){let i=e||`UTC`,a=t.toZonedDateTimeISO(i);return u(e,a,n,r)}else{let i=t;if(e)i=typeof t.tz==`function`?t.tz(e):t;else if(!r)if(typeof t.utc==`function`)i=t.utc();else throw Error(`Unable to convert dayjs object to UTC value: UTC plugin is not available!`);return i.format(`YYYYMMDD`)+(n?``:`T`+i.format(`HHmmss`)+(r||e?``:`Z`))}}function d(e,t,n,r){let i=``,a=r?.floating||!1;return r?.timezone&&(i=`;TZID=`+r.timezone,a=!0),t+i+`:`+u(e,n,!1,a)}function f(e){let t=e.x.map(([e,t])=>e.toUpperCase()+`:`+c(t,!1)).join(`\\r\n`);return t.length?t+`\\r\n`:``}function p(e){return typeof e==`object`&&!!e&&!(e instanceof Date)&&!h(e)&&!m(e)&&!y(e)}function m(e){return typeof e==`object`&&!!e&&`toJSDate`in e&&typeof e.toJSDate==`function`&&!y(e)}function h(e){return e!=null&&e._isAMomentObject!=null&&!y(e)}function g(e){return typeof e==`object`&&!!e&&`asSeconds`in e&&typeof e.asSeconds==`function`}function _(e){return h(e)&&`tz`in e&&typeof e.tz==`function`}function v(e){return typeof e==`object`&&!!e&&`between`in e&&typeof e.between==`function`&&typeof e.toString==`function`}function y(e){return C(e)||S(e)||x(e)||b(e)}function b(e){return typeof e==`object`&&!!e&&!C(e)&&!S(e)&&!x(e)&&`toZonedDateTimeISO`in e&&typeof e.toZonedDateTimeISO==`function`&&!(`year`in e)&&!(`timeZoneId`in e)}function x(e){return typeof e==`object`&&!!e&&!C(e)&&!S(e)&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&!(`hour`in e)&&!(`timeZoneId`in e)&&!(`epochSeconds`in e)}function S(e){return typeof e==`object`&&!!e&&!C(e)&&`toZonedDateTime`in e&&typeof e.toZonedDateTime==`function`&&`toPlainDate`in e&&typeof e.toPlainDate==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`&&!(`timeZone`in e)}function C(e){return typeof e==`object`&&!!e&&`timeZoneId`in e&&typeof e.timeZoneId==`string`&&`toPlainDateTime`in e&&typeof e.toPlainDateTime==`function`&&`year`in e&&typeof e.year==`number`&&`month`in e&&typeof e.month==`number`&&`day`in e&&typeof e.day==`number`&&`hour`in e&&typeof e.hour==`number`&&`minute`in e&&typeof e.minute==`number`&&`second`in e&&typeof e.second==`number`}function w(e){return e instanceof Date&&`internal`in e&&e.internal instanceof Date&&`withTimeZone`in e&&typeof e.withTimeZone==`function`&&`tzComponents`in e&&typeof e.tzComponents==`function`}function T(e){if(typeof e==`string`||e instanceof Date)return new Date(e);if(C(e)){let t=e.toInstant();return new Date(t.epochMilliseconds)}return S(e)?new Date(Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second)):x(e)?new Date(Date.UTC(e.year,e.month-1,e.day)):b(e)?new Date(e.epochMilliseconds):m(e)?e.toJSDate():e.toDate()}function E(e){let t=``;return e<0&&(t=`-`,e*=-1),t+=`P`,e>=86400&&(t+=Math.floor(e/86400)+`D`,e%=86400),!e&&t.length>1?t:(t+=`T`,e>=3600&&(t+=Math.floor(e/3600)+`H`,e%=3600),e>=60&&(t+=Math.floor(e/60)+`M`,e%=60),e>0?t+=e+`S`:t.length<=2&&(t+=`0S`),t)}function D(e){return e?typeof e==`string`?e:C(e)?D(e.withTimeZone(`UTC`).toPlainDateTime()):(y(e),e.toJSON()):null}let O=function(e){return e.CHAIR=`CHAIR`,e.NON=`NON-PARTICIPANT`,e.OPT=`OPT-PARTICIPANT`,e.REQ=`REQ-PARTICIPANT`,e}({}),k=function(e){return e.CLIENT=`CLIENT`,e.NONE=`NONE`,e.SERVER=`SERVER`,e}({}),A=function(e){return e.ACCEPTED=`ACCEPTED`,e.DECLINED=`DECLINED`,e.DELEGATED=`DELEGATED`,e.NEEDSACTION=`NEEDS-ACTION`,e.TENTATIVE=`TENTATIVE`,e}({}),j=function(e){return e.GROUP=`GROUP`,e.INDIVIDUAL=`INDIVIDUAL`,e.RESOURCE=`RESOURCE`,e.ROOM=`ROOM`,e.UNKNOWN=`UNKNOWN`,e}({});var M=class e{data;parent;constructor(e,t){if(this.data={delegatedFrom:null,delegatedTo:null,email:``,mailto:null,name:null,role:O.REQ,rsvp:null,scheduleAgent:null,sentBy:null,status:null,type:null,x:[]},this.parent=t,!this.parent)throw Error(\"`event` option required!\");if(!e.email)throw Error(\"No value for `email` in ICalAttendee given!\");e.name!==void 0&&this.name(e.name),e.email!==void 0&&this.email(e.email),e.mailto!==void 0&&this.mailto(e.mailto),e.sentBy!==void 0&&this.sentBy(e.sentBy),e.status!==void 0&&this.status(e.status),e.role!==void 0&&this.role(e.role),e.rsvp!==void 0&&this.rsvp(e.rsvp),e.type!==void 0&&this.type(e.type),e.delegatedTo!==void 0&&this.delegatedTo(e.delegatedTo),e.delegatedFrom!==void 0&&this.delegatedFrom(e.delegatedFrom),e.delegatesTo&&this.delegatesTo(e.delegatesTo),e.delegatesFrom&&this.delegatesFrom(e.delegatesFrom),e.scheduleAgent!==void 0&&this.scheduleAgent(e.scheduleAgent),e.x!==void 0&&this.x(e.x)}delegatedFrom(t){return t===void 0?this.data.delegatedFrom:(t?typeof t==`string`?this.data.delegatedFrom=new e(s(`delegatedFrom`,t),this.parent):t instanceof e?this.data.delegatedFrom=t:this.data.delegatedFrom=new e(t,this.parent):this.data.delegatedFrom=null,this)}delegatedTo(t){return t===void 0?this.data.delegatedTo:t?(typeof t==`string`?this.data.delegatedTo=new e(s(`delegatedTo`,t),this.parent):t instanceof e?this.data.delegatedTo=t:this.data.delegatedTo=new e(t,this.parent),this.data.status=A.DELEGATED,this):(this.data.delegatedTo=null,this.data.status===A.DELEGATED&&(this.data.status=null),this)}delegatesFrom(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedFrom(n),n.delegatedTo(this),n}delegatesTo(t){let n=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedTo(n),n.delegatedFrom(this),n}email(e){return e?(this.data.email=e,this):this.data.email}mailto(e){return e===void 0?this.data.mailto:(this.data.mailto=e||null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e||null,this)}role(e){return e===void 0?this.data.role:(this.data.role=o(O,e),this)}rsvp(e){return e===void 0?this.data.rsvp:e===null?(this.data.rsvp=null,this):(this.data.rsvp=!!e,this)}scheduleAgent(e){return e===void 0?this.data.scheduleAgent:e?typeof e==`string`&&e.toUpperCase().startsWith(`X-`)?(this.data.scheduleAgent=e,this):(this.data.scheduleAgent=o(k,e),this):(this.data.scheduleAgent=null,this)}sentBy(e){return e?(this.data.sentBy=e,this):this.data.sentBy}status(e){return e===void 0?this.data.status:e?(this.data.status=o(A,e),this):(this.data.status=null,this)}toJSON(){return Object.assign({},this.data,{delegatedFrom:this.data.delegatedFrom?.email()||null,delegatedTo:this.data.delegatedTo?.email()||null,x:this.x()})}toString(){let e=`ATTENDEE`;if(!this.data.email)throw Error(\"No value for `email` in ICalAttendee given!\");return e+=`;ROLE=`+this.data.role,this.data.type&&(e+=`;CUTYPE=`+this.data.type),this.data.status&&(e+=`;PARTSTAT=`+this.data.status),this.data.rsvp!==null&&(e+=`;RSVP=`+this.data.rsvp.toString().toUpperCase()),this.data.sentBy!==null&&(e+=`;SENT-BY=\"mailto:`+this.data.sentBy+`\"`),this.data.delegatedTo&&(e+=`;DELEGATED-TO=\"`+this.data.delegatedTo.email()+`\"`),this.data.delegatedFrom&&(e+=`;DELEGATED-FROM=\"`+this.data.delegatedFrom.email()+`\"`),this.data.name&&(e+=`;CN=\"`+c(this.data.name,!0)+`\"`),this.data.email&&this.data.mailto&&(e+=`;EMAIL=`+c(this.data.email,!1)),this.data.scheduleAgent&&(e+=`;SCHEDULE-AGENT=`+this.data.scheduleAgent),this.data.x.length&&(e+=`;`+this.data.x.map(([e,t])=>e.toUpperCase()+`=`+c(t,!1)).join(`;`)),e+=`:MAILTO:`+c(this.data.mailto||this.data.email,!1)+`\\r\n`,e}type(e){return e===void 0?this.data.type:e?(this.data.type=o(j,e),this):(this.data.type=null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};let N=function(e){return e.audio=`audio`,e.display=`display`,e.email=`email`,e}({});const P={end:`END`,start:`START`};var F=class{data;event;constructor(e,t){if(this.data={attach:null,attendees:[],description:null,interval:null,relatesTo:null,repeat:null,summary:null,trigger:-600,type:N.display,x:[]},this.event=t,!t)throw Error(\"`event` option required!\");e.type!==void 0&&this.type(e.type),`trigger`in e&&e.trigger!==void 0&&this.trigger(e.trigger),`triggerBefore`in e&&e.triggerBefore!==void 0&&this.triggerBefore(e.triggerBefore),`triggerAfter`in e&&e.triggerAfter!==void 0&&this.triggerAfter(e.triggerAfter),e.repeat&&this.repeat(e.repeat),e.attach!==void 0&&this.attach(e.attach),e.description!==void 0&&this.description(e.description),e.summary!==void 0&&this.summary(e.summary),e.attendees!==void 0&&this.attendees(e.attendees),e.x!==void 0&&this.x(e.x)}attach(e){if(e===void 0)return this.data.attach;if(!e)return this.data.attach=null,this;let t;if(typeof e==`string`)t={mime:null,uri:e};else if(typeof e==`object`)t={mime:e.mime||null,uri:e.uri};else throw Error(\"`attachment` needs to be a valid formed string or an object. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalAlarm.html#attach\");if(!t.uri)throw Error(\"`attach.uri` is empty!\");return this.data.attach={mime:t.mime,uri:t.uri},this}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}createAttendee(e){if(e instanceof M)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new M(e,this);return this.data.attendees.push(t),t}description(e){return e===void 0?this.data.description:e?(this.data.description=e,this):(this.data.description=null,this)}relatesTo(e){if(e===void 0)return this.data.relatesTo;if(!e)return this.data.relatesTo=null,this;if(!Object.values(P).includes(e))throw Error(\"`relatesTo` is not correct, must be either `START` or `END`!\");return this.data.relatesTo=e,this}repeat(e){if(e===void 0)return this.data.repeat;if(!e)return this.data.repeat=null,this;if(typeof e!=`object`)throw Error(\"`repeat` is not correct, must be an object!\");if(typeof e.times!=`number`||!isFinite(e.times))throw Error(\"`repeat.times` is not correct, must be numeric!\");if(typeof e.interval!=`number`||!isFinite(e.interval))throw Error(\"`repeat.interval` is not correct, must be numeric!\");return this.data.repeat=e,this}summary(e){return e===void 0?this.data.summary:e?(this.data.summary=e,this):(this.data.summary=null,this)}toJSON(){let e=this.trigger();return Object.assign({},this.data,{trigger:typeof e==`number`?e:D(e),x:this.x()})}toString(){let e=`BEGIN:VALARM\\r\n`;if(e+=`ACTION:`+this.data.type.toUpperCase()+`\\r\n`,typeof this.data.trigger==`number`&&this.data.relatesTo===null?this.data.trigger>0?e+=`TRIGGER;RELATED=END:`+E(this.data.trigger)+`\\r\n`:e+=`TRIGGER:`+E(this.data.trigger)+`\\r\n`:typeof this.data.trigger==`number`?e+=`TRIGGER;RELATED=`+this.data.relatesTo?.toUpperCase()+`:`+E(this.data.trigger)+`\\r\n`:e+=`TRIGGER;VALUE=DATE-TIME:`+u(this.event.timezone(),this.data.trigger)+`\\r\n`,this.data.repeat){if(!this.data.repeat.times)throw Error(\"No value for `repeat.times` in ICalAlarm given, but required for `interval`!\");if(!this.data.repeat.interval)throw Error(\"No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!\");e+=`REPEAT:`+this.data.repeat.times+`\\r\n`,e+=`DURATION:`+E(this.data.repeat.interval)+`\\r\n`}return this.data.type===`audio`&&this.data.attach&&this.data.attach.mime?e+=`ATTACH;FMTTYPE=`+c(this.data.attach.mime,!1)+`:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&this.data.attach?e+=`ATTACH;VALUE=URI:`+c(this.data.attach.uri,!1)+`\\r\n`:this.data.type===`audio`&&(e+=`ATTACH;VALUE=URI:Basso\\r\n`),this.data.type!==`audio`&&this.data.description?e+=`DESCRIPTION:`+c(this.data.description,!1)+`\\r\n`:this.data.type!==`audio`&&(e+=`DESCRIPTION:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.summary?e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`:this.data.type===`email`&&(e+=`SUMMARY:`+c(this.event.summary(),!1)+`\\r\n`),this.data.type===`email`&&this.data.attendees.forEach(t=>{e+=t.toString()}),e+=f(this.data),e+=`END:VALARM\\r\n`,e}trigger(e){if(e===void 0&&typeof this.data.trigger==`number`)return-1*this.data.trigger;if(e===void 0)return this.data.trigger;if(typeof e==`number`&&isFinite(e))this.data.trigger=-1*e;else if(!e||typeof e==`number`)throw Error(\"`trigger` is not correct, must be a finite number or a supported date!\");else this.data.trigger=a(e,`trigger`);return this}triggerAfter(e){return e===void 0?this.data.trigger:this.trigger(typeof e==`number`?-1*e:e)}triggerBefore(e){return e===void 0?this.trigger():this.trigger(e)}type(e){if(e===void 0)return this.data.type;if(!e||!Object.keys(N).includes(e))throw Error(\"`type` is not correct, must be either `display` or `audio`!\");return this.data.type=e,this}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}},I=class{data;constructor(e){if(this.data={name:``},!e.name)throw Error(\"No value for `name` in ICalCategory given!\");this.name(e.name)}name(e){return e===void 0?this.data.name:(this.data.name=e,this)}toJSON(){return Object.assign({},this.data)}toString(){return c(this.data.name,!1)}};let L=function(e){return e.BUSY=`BUSY`,e.FREE=`FREE`,e.OOF=`OOF`,e.TENTATIVE=`TENTATIVE`,e}({}),R=function(e){return e.CONFIDENTIAL=`CONFIDENTIAL`,e.PRIVATE=`PRIVATE`,e.PUBLIC=`PUBLIC`,e}({}),z=function(e){return e.CANCELLED=`CANCELLED`,e.CONFIRMED=`CONFIRMED`,e.TENTATIVE=`TENTATIVE`,e}({}),B=function(e){return e.OPAQUE=`OPAQUE`,e.TRANSPARENT=`TRANSPARENT`,e}({});var V=class{calendar;data;constructor(e,t){if(this.data={alarms:[],allDay:!1,attachments:[],attendees:[],busystatus:null,categories:[],class:null,created:null,description:null,end:null,floating:!1,id:crypto.randomUUID(),lastModified:null,location:null,organizer:null,priority:null,recurrenceId:null,repeating:null,sequence:0,stamp:new Date,start:new Date,status:null,summary:``,timezone:null,transparency:null,travelTime:null,url:null,x:[]},this.calendar=t,!t)throw Error(\"`calendar` option required!\");e.id&&this.id(e.id),e.sequence!==void 0&&this.sequence(e.sequence),e.start&&this.start(e.start),e.end!==void 0&&this.end(e.end),e.recurrenceId!==void 0&&this.recurrenceId(e.recurrenceId),e.timezone!==void 0&&this.timezone(e.timezone),e.stamp!==void 0&&this.stamp(e.stamp),e.allDay!==void 0&&this.allDay(e.allDay),e.floating!==void 0&&this.floating(e.floating),e.repeating!==void 0&&this.repeating(e.repeating),e.summary!==void 0&&this.summary(e.summary),e.location!==void 0&&this.location(e.location),e.description!==void 0&&this.description(e.description),e.organizer!==void 0&&this.organizer(e.organizer),e.attendees!==void 0&&this.attendees(e.attendees),e.alarms!==void 0&&this.alarms(e.alarms),e.categories!==void 0&&this.categories(e.categories),e.status!==void 0&&this.status(e.status),e.busystatus!==void 0&&this.busystatus(e.busystatus),e.priority!==void 0&&this.priority(e.priority),e.url!==void 0&&this.url(e.url),e.attachments!==void 0&&this.attachments(e.attachments),e.transparency!==void 0&&this.transparency(e.transparency),e.travelTime!==void 0&&this.travelTime(e.travelTime),e.created!==void 0&&this.created(e.created),e.lastModified!==void 0&&this.lastModified(e.lastModified),e.class!==void 0&&this.class(e.class),e.x!==void 0&&this.x(e.x)}alarms(e){return e?(e.forEach(e=>this.createAlarm(e)),this):this.data.alarms}allDay(e){return e===void 0?this.data.allDay:(this.data.allDay=!!e,this)}attachments(e){return e?(e.forEach(e=>this.createAttachment(e)),this):this.data.attachments}attendees(e){return e?(e.forEach(e=>this.createAttendee(e)),this):this.data.attendees}busystatus(e){return e===void 0?this.data.busystatus:e===null?(this.data.busystatus=null,this):(this.data.busystatus=o(L,e),this)}categories(e){return e?(e.forEach(e=>this.createCategory(e)),this):this.data.categories}class(e){return e===void 0?this.data.class:e===null?(this.data.class=null,this):(this.data.class=o(R,e),this)}createAlarm(e){let t=e instanceof F?e:new F(e,this);return this.data.alarms.push(t),t}createAttachment(e){return this.data.attachments.push(e),this}createAttendee(e){if(e instanceof M)return this.data.attendees.push(e),e;typeof e==`string`&&(e=s(`data`,e));let t=new M(e,this);return this.data.attendees.push(t),t}createCategory(e){let t=e instanceof I?e:new I(e);return this.data.categories.push(t),t}created(e){return e===void 0?this.data.created:e===null?(this.data.created=null,this):(this.data.created=a(e,`created`),this)}description(e){return e===void 0?this.data.description:e===null?(this.data.description=null,this):(typeof e==`string`?this.data.description={plain:e}:this.data.description=e,this)}end(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.end):e===null?(this.data.end=null,this):(this.data.end=a(e,`end`),this)}floating(e){return e===void 0?this.data.floating:(this.data.floating=!!e,this.data.floating&&(this.data.timezone=null),this)}id(e){return e===void 0?this.data.id:(this.data.id=String(e),this)}lastModified(e){return e===void 0?this.data.lastModified:e===null?(this.data.lastModified=null,this):(this.data.lastModified=a(e,`lastModified`),this)}location(e){if(e===void 0)return this.data.location;if(typeof e==`string`)return this.data.location={title:e},this;if(e&&(`title`in e&&!e.title||e?.geo&&(typeof e.geo.lat!=`number`||!isFinite(e.geo.lat)||typeof e.geo.lon!=`number`||!isFinite(e.geo.lon))||!(`title`in e)&&!e?.geo))throw Error(\"`location` isn't formatted correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/classes/ICalEvent.html#location\");return this.data.location=e||null,this}organizer(e){return e===void 0?this.data.organizer:e===null?(this.data.organizer=null,this):(this.data.organizer=s(`organizer`,e),this)}priority(e){if(e===void 0)return this.data.priority;if(e===null)return this.data.priority=null,this;if(e<0||e>9)throw Error(\"`priority` is invalid, musst be 0 ≤ priority ≤ 9.\");return this.data.priority=Math.round(e),this}recurrenceId(e){return e===void 0?this.data.recurrenceId:e===null?(this.data.recurrenceId=null,this):(this.data.recurrenceId=a(e,`recurrenceId`),this)}repeating(t){if(t===void 0)return this.data.repeating;if(!t)return this.data.repeating=null,this;if(v(t)||typeof t==`string`)return this.data.repeating=t,this;if(this.data.repeating={freq:o(e,t.freq)},t.count){if(!isFinite(t.count))throw Error(\"`repeating.count` must be a finite number!\");this.data.repeating.count=t.count}if(t.interval){if(!isFinite(t.interval))throw Error(\"`repeating.interval` must be a finite number!\");this.data.repeating.interval=t.interval}if(t.until!==void 0&&(this.data.repeating.until=a(t.until,`repeating.until`)),t.byDay){let e=Array.isArray(t.byDay)?t.byDay:[t.byDay];this.data.repeating.byDay=e.map(e=>o(r,e))}if(t.byMonth){let e=Array.isArray(t.byMonth)?t.byMonth:[t.byMonth];this.data.repeating.byMonth=e.map(e=>{if(typeof e!=`number`||e<1||e>12)throw Error(\"`repeating.byMonth` contains invalid value `\"+e+\"`!\");return e})}if(t.byMonthDay){let e=Array.isArray(t.byMonthDay)?t.byMonthDay:[t.byMonthDay];this.data.repeating.byMonthDay=e.map(e=>{if(typeof e!=`number`||e<-31||e>31||e===0)throw Error(\"`repeating.byMonthDay` contains invalid value `\"+e+\"`!\");return e})}if(t.bySetPos){if(!this.data.repeating.byDay)throw\"`repeating.bySetPos` must be used along with `repeating.byDay`!\";let e=Array.isArray(t.bySetPos)?t.bySetPos:[t.bySetPos];this.data.repeating.bySetPos=e.map(e=>{if(typeof e!=`number`||e<-366||e>366||e===0)throw\"`repeating.bySetPos` contains invalid value `\"+e+\"`!\";return e})}if(t.exclude){let e=Array.isArray(t.exclude)?t.exclude:[t.exclude];this.data.repeating.exclude=e.map((e,t)=>a(e,`repeating.exclude[${t}]`))}return t.startOfWeek&&(this.data.repeating.startOfWeek=o(r,t.startOfWeek)),this}sequence(e){if(e===void 0)return this.data.sequence;if(isNaN(parseInt(String(e),10)))throw Error(\"`sequence` must be a number!\");return this.data.sequence=e,this}stamp(e){return e===void 0?this.data.stamp:(this.data.stamp=a(e,`stamp`),this)}start(e){return e===void 0?(this.swapStartAndEndIfRequired(),this.data.start):(this.data.start=a(e,`start`),this)}status(e){return e===void 0?this.data.status:e===null?(this.data.status=null,this):(this.data.status=o(z,e),this)}summary(e){return e===void 0?this.data.summary:(this.data.summary=e?String(e):``,this)}timestamp(e){return e===void 0?this.stamp():this.stamp(e)}timezone(e){return e===void 0&&this.data.timezone!==null?this.data.timezone:e===void 0?this.calendar.timezone():(this.data.timezone=e&&e!==`UTC`?e.toString():null,this.data.timezone&&(this.data.floating=!1),this)}toJSON(){let e=null;return v(this.data.repeating)||typeof this.data.repeating==`string`?e=this.data.repeating.toString():this.data.repeating&&(e=Object.assign({},this.data.repeating,{exclude:this.data.repeating.exclude?.map(e=>D(e)),until:D(this.data.repeating.until)||void 0})),this.swapStartAndEndIfRequired(),Object.assign({},this.data,{created:D(this.data.created)||null,end:D(this.data.end)||null,lastModified:D(this.data.lastModified)||null,recurrenceId:D(this.data.recurrenceId)||null,repeating:e,stamp:D(this.data.stamp)||null,start:D(this.data.start)||null,x:this.x()})}toString(){let e=``;if(e+=`BEGIN:VEVENT\\r\n`,e+=`UID:`+this.data.id+`\\r\n`,e+=`SEQUENCE:`+this.data.sequence+`\\r\n`,this.swapStartAndEndIfRequired(),e+=`DTSTAMP:`+u(this.calendar.timezone(),this.data.stamp)+`\\r\n`,this.data.allDay?(e+=`DTSTART;VALUE=DATE:`+u(this.timezone(),this.data.start,!0)+`\\r\n`,this.data.end&&(e+=`DTEND;VALUE=DATE:`+u(this.timezone(),this.data.end,!0)+`\\r\n`),e+=`X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\\r\n`,e+=`X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\\r\n`):(e+=d(this.timezone(),`DTSTART`,this.data.start,this.data)+`\\r\n`,this.data.end&&(e+=d(this.timezone(),`DTEND`,this.data.end,this.data)+`\\r\n`)),v(this.data.repeating)||typeof this.data.repeating==`string`){let t=this.data.repeating.toString().replace(/\\r\\n/g,`\n`).split(`\n`).filter(e=>e&&!e.startsWith(`DTSTART:`)).join(`\\r\n`);!t.includes(`\\r\n`)&&!t.startsWith(`RRULE:`)&&(t=`RRULE:`+t),e+=t.trim()+`\\r\n`}else this.data.repeating&&(e+=`RRULE:FREQ=`+this.data.repeating.freq,this.data.repeating.count&&(e+=`;COUNT=`+this.data.repeating.count),this.data.repeating.interval&&(e+=`;INTERVAL=`+this.data.repeating.interval),this.data.repeating.until&&(e+=`;UNTIL=`+u(this.calendar.timezone(),this.data.repeating.until,!1,this.floating())),this.data.repeating.byDay&&(e+=`;BYDAY=`+this.data.repeating.byDay.join(`,`)),this.data.repeating.byMonth&&(e+=`;BYMONTH=`+this.data.repeating.byMonth.join(`,`)),this.data.repeating.byMonthDay&&(e+=`;BYMONTHDAY=`+this.data.repeating.byMonthDay.join(`,`)),this.data.repeating.bySetPos&&(e+=`;BYSETPOS=`+this.data.repeating.bySetPos.join(`,`)),this.data.repeating.startOfWeek&&(e+=`;WKST=`+this.data.repeating.startOfWeek),e+=`\\r\n`,this.data.repeating.exclude&&(this.data.allDay?e+=`EXDATE;VALUE=DATE:`+this.data.repeating.exclude.map(e=>u(this.calendar.timezone(),e,!0)).join(`,`)+`\\r\n`:(e+=`EXDATE`,this.timezone()?e+=`;TZID=`+this.timezone()+`:`+this.data.repeating.exclude.map(e=>u(this.timezone(),e,!1,!0)).join(`,`)+`\\r\n`:e+=`:`+this.data.repeating.exclude.map(e=>u(this.timezone(),e,!1,this.floating())).join(`,`)+`\\r\n`)));if(this.data.recurrenceId&&(e+=d(this.timezone(),`RECURRENCE-ID`,this.data.recurrenceId,this.data)+`\\r\n`),e+=`SUMMARY:`+c(this.data.summary,!1)+`\\r\n`,this.data.transparency&&(e+=`TRANSP:`+c(this.data.transparency,!1)+`\\r\n`),this.data.location&&`title`in this.data.location&&this.data.location.title&&(e+=`LOCATION:`+c(this.data.location.title+(this.data.location.address?`\n`+this.data.location.address:``),!1)+`\\r\n`,this.data.location.radius&&this.data.location.geo&&(e+=`X-APPLE-STRUCTURED-LOCATION;VALUE=URI;`+(this.data.location.address?`X-ADDRESS=`+c(this.data.location.address,!1)+`;`:``)+`X-APPLE-RADIUS=`+c(this.data.location.radius,!1)+`;X-TITLE=`+c(this.data.location.title,!1)+`:geo:`+c(this.data.location.geo?.lat,!1)+`,`+c(this.data.location.geo?.lon,!1)+`\\r\n`)),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(e+=`GEO:`+c(this.data.location.geo.lat,!1)+`;`+c(this.data.location.geo.lon,!1)+`\\r\n`),this.data.travelTime&&(e+=`X-APPLE-TRAVEL-DURATION;VALUE=DURATION:`+E(this.data.travelTime.seconds)+`\\r\n`,this.data.location&&(this.data.travelTime.suggestionBehavior&&(e+=`X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:`+this.data.travelTime.suggestionBehavior+`\\r\n`),this.data.travelTime.startFrom))){e+=`X-APPLE-TRAVEL-START;`;let t=[];t.push(`ROUTING=`+this.data.travelTime.startFrom.transportation),t.push(`VALUE=URI`),`address`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.address&&t.push(`X-ADDRESS=`+c(this.data.travelTime.startFrom.location.address,!1)),`radius`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.radius&&t.push(`X-APPLE-RADIUS=`+c(this.data.travelTime.startFrom.location.radius,!1)),`title`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.title&&t.push(`X-TITLE=`+c(this.data.travelTime.startFrom.location.title,!1)),e+=t.join(`;`),`geo`in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.geo&&(e+=`:geo:`+c(this.data.travelTime.startFrom.location.geo?.lat,!1)+`,`+c(this.data.travelTime.startFrom.location.geo?.lon,!1)),e+=`\\r\n`}return this.data.description&&(e+=`DESCRIPTION:`+c(this.data.description.plain,!1)+`\\r\n`,this.data.description.html&&(e+=`X-ALT-DESC;FMTTYPE=text/html:`+c(this.data.description.html,!1)+`\\r\n`)),this.data.organizer&&(e+=`ORGANIZER;CN=\"`+c(this.data.organizer.name,!0)+`\"`,this.data.organizer.sentBy&&(e+=`;SENT-BY=\"mailto:`+c(this.data.organizer.sentBy,!0)+`\"`),this.data.organizer.email&&this.data.organizer.mailto&&(e+=`;EMAIL=`+c(this.data.organizer.email,!1)),e+=`:`,this.data.organizer.email&&(e+=`mailto:`+c(this.data.organizer.mailto||this.data.organizer.email,!1)),e+=`\\r\n`),this.data.attendees.forEach(function(t){e+=t.toString()}),this.data.alarms.forEach(function(t){e+=t.toString()}),this.data.categories.length>0&&(e+=`CATEGORIES:`+this.data.categories.map(e=>e.toString()).join()+`\\r\n`),this.data.url&&(e+=`URL;VALUE=URI:`+c(this.data.url,!1)+`\\r\n`),this.data.attachments.length>0&&this.data.attachments.forEach(t=>{e+=`ATTACH:`+c(t,!1)+`\\r\n`}),this.data.status&&(e+=`STATUS:`+this.data.status.toUpperCase()+`\\r\n`),this.data.busystatus&&(e+=`X-MICROSOFT-CDO-BUSYSTATUS:`+this.data.busystatus.toUpperCase()+`\\r\n`),this.data.priority!==null&&(e+=`PRIORITY:`+this.data.priority+`\\r\n`),e+=f(this.data),this.data.created&&(e+=`CREATED:`+u(this.calendar.timezone(),this.data.created)+`\\r\n`),this.data.lastModified&&(e+=`LAST-MODIFIED:`+u(this.calendar.timezone(),this.data.lastModified)+`\\r\n`),this.data.class&&(e+=`CLASS:`+this.data.class.toUpperCase()+`\\r\n`),e+=`END:VEVENT\\r\n`,e}transparency(e){return e===void 0?this.data.transparency:e?(this.data.transparency=o(B,e),this):(this.data.transparency=null,this)}travelTime(e){if(e===void 0)return this.data.travelTime;if(typeof e==`number`&&e<=0)throw Error(\"`travelTime` has to be more than 0!\");if(e&&typeof e==`object`&&`seconds`in e&&e.seconds<=0)throw Error(\"`travelTime.seconds` has to be more than 0!\");return typeof e==`number`?(this.data.travelTime={seconds:e},this):(this.data.travelTime=e,this)}uid(e){return e===void 0?this.id():this.id(e)}url(e){return e===void 0?this.data.url:(this.data.url=e?String(e):null,this)}x(e,t){return e===void 0?i(this.data):(typeof e==`string`&&typeof t==`string`&&i(this.data,e,t),typeof e==`object`&&i(this.data,e),this)}swapStartAndEndIfRequired(){if(this.data.start&&this.data.end&&T(this.data.start).getTime()>T(this.data.end).getTime()){let e=this.data.start;this.data.start=this.data.end,this.data.end=e}}};let H=function(e){return e.ADD=`ADD`,e.CANCEL=`CANCEL`,e.COUNTER=`COUNTER`,e.DECLINECOUNTER=`DECLINECOUNTER`,e.PUBLISH=`PUBLISH`,e.REFRESH=`REFRESH`,e.REPLY=`REPLY`,e.REQUEST=`REQUEST`,e}({});var U=class{data;constructor(e={}){this.data={color:null,description:null,events:[],method:null,name:null,prodId:`//sebbo.net//ical-generator//EN`,scale:null,source:null,timezone:null,ttl:null,url:null,x:[]},e.prodId!==void 0&&this.prodId(e.prodId),e.method!==void 0&&this.method(e.method),e.name!==void 0&&this.name(e.name),e.description!==void 0&&this.description(e.description),e.timezone!==void 0&&this.timezone(e.timezone),e.source!==void 0&&this.source(e.source),e.url!==void 0&&this.url(e.url),e.scale!==void 0&&this.scale(e.scale),e.ttl!==void 0&&this.ttl(e.ttl),e.color!==void 0&&this.color(e.color),e.events!==void 0&&this.events(e.events),e.x!==void 0&&this.x(e.x)}clear(){return this.data.events=[],this}color(e){if(e===void 0)return this.data.color;if(typeof e==`string`&&!/^#[A-F0-9]{6}$/gi.test(e))throw Error(\"`color` is malformed!\");return this.data.color=e?String(e).toUpperCase():null,this}createEvent(e){let t=e instanceof V?e:new V(e,this);return this.data.events.push(t),t}description(e){return e===void 0?this.data.description:(this.data.description=e?String(e):null,this)}events(e){return e?(e.forEach(e=>this.createEvent(e)),this):this.data.events}length(){return this.data.events.length}method(e){return e===void 0?this.data.method:e?(this.data.method=o(H,e),this):(this.data.method=null,this)}name(e){return e===void 0?this.data.name:(this.data.name=e?String(e):null,this)}prodId(e){if(!e)return this.data.prodId;if(typeof e==`string`)return this.data.prodId=e,this;if(typeof e!=`object`)throw Error(\"`prodid` needs to be a string or an object!\");if(!e.company)throw Error(\"`prodid.company` is a mandatory item!\");if(!e.product)throw Error(\"`prodid.product` is a mandatory item!\");let t=(e.language||`EN`).toUpperCase();return this.data.prodId=`//`+e.company+`//`+e.product+`//`+t,this}scale(e){return e===void 0?this.data.scale:(e===null?this.data.scale=null:this.data.scale=e.toUpperCase(),this)}source(e){return e===void 0?this.data.source:(this.data.source=e||null,this)}timezone(e){return e===void 0?this.data.timezone?.name||null:(e===`UTC`?this.data.timezone=null:typeof e==`string`?this.data.timezone={name:e}:e===null?this.data.timezone=null:this.data.timezone=e,this)}toJSON(){return Object.assign({},this.data,{events:this.data.events.map(e=>e.toJSON()),timezone:this.timezone(),x:this.x()})}toString(){let e=``;return e=`BEGIN:VCALENDAR\\r\nVERSION:2.0\\r\n`,e+=`PRODID:-`+this.data.prodId+`\\r\n`,this.data.url&&(e+=`URL:`+this.data.url+`\\r\n`),this.data.source&&(e+=`SOURCE;VALUE=URI:`+this.data.source+`\\r\n`),this.data.scale&&(e+=`CALSCALE:`+this.data.scale+`\\r\n`),this.data.method&&(e+=`METHOD:`+this.data.method+`\\r\n`),this.data.name&&(e+=`NAME:`+this.data.name+`\\r\n`,e+=`X-WR-CALNAME:`+this.data.name+`\\r\n`),this.data.description&&(e+=`X-WR-CALDESC:`+this.data.description+`\\r\n`),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(e=>e.timezone())])].filter(e=>e!==null&&!e.startsWith(`/`)).forEach(t=>{if(!this.data.timezone?.generator)return;let n=this.data.timezone.generator(t);n&&(e+=n.replace(/\\r\\n/g,`\n`).replace(/\\n/g,`\\r\n`).trim()+`\\r\n`)}),this.data.timezone?.name&&(e+=`TIMEZONE-ID:`+this.data.timezone.name+`\\r\n`,e+=`X-WR-TIMEZONE:`+this.data.timezone.name+`\\r\n`),this.data.ttl&&(e+=`REFRESH-INTERVAL;VALUE=DURATION:`+E(this.data.ttl)+`\\r\n`,e+=`X-PUBLISHED-TTL:`+E(this.data.ttl)+`\\r\n`),this.data.color&&(e+=`X-APPLE-CALENDAR-COLOR:`+this.data.color+`\\r\n`),this.data.events.forEach(t=>e+=t.toString()),e+=f(this.data),e+=`END:VCALENDAR`,l(e)}ttl(e){return e===void 0?this.data.ttl:(g(e)?this.data.ttl=e.asSeconds():e&&e>0?this.data.ttl=e:this.data.ttl=null,this)}url(e){return e===void 0?this.data.url:(this.data.url=e||null,this)}x(e,t){if(e===void 0)return i(this.data);if(typeof e==`string`&&typeof t==`string`)i(this.data,e,t);else if(typeof e==`object`)i(this.data,e);else throw Error(`Either key or value is not a string!`);return this}};function W(e){return new U(e)}export{F as ICalAlarm,P as ICalAlarmRelatesTo,N as ICalAlarmType,M as ICalAttendee,O as ICalAttendeeRole,A as ICalAttendeeStatus,j as ICalAttendeeType,U as ICalCalendar,H as ICalCalendarMethod,I as ICalCategory,V as ICalEvent,L as ICalEventBusyStatus,R as ICalEventClass,e as ICalEventRepeatingFreq,z as ICalEventStatus,B as ICalEventTransparency,t as ICalEventTravelTimeSuggestion,n as ICalEventTravelTimeTransportation,r as ICalWeekday,W as default,c as escape,l as foldLines,u as formatDate,d as formatDateTZ};\n//# sourceMappingURL=index.mjs.map","import ical from 'ical-generator'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date | string\r\n end: Date | string\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: string\r\n lon: string\r\n }\r\n organizer: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n const calendar = ical({ name: 'QR calendar' })\r\n options.data = calendar.createEvent({\r\n ...this.pluginOptions,\r\n start: toDate(this.pluginOptions.start)!,\r\n end: toDate(this.pluginOptions.end),\r\n location: this.pluginOptions.location || this.pluginOptions.geo ? {\r\n title: this.pluginOptions.location,\r\n geo: this.pluginOptions.geo\r\n } as any : undefined,\r\n organizer: this.pluginOptions.organizer ? {\r\n name: this.pluginOptions.organizer.name || this.pluginOptions.organizer.email,\r\n email: this.pluginOptions.organizer.email\r\n } : undefined,\r\n id: this.uuid\r\n }).toString().split('\\n').filter(v => !v.startsWith('SEQUENCE:') && !v.startsWith('DTSTAMP:') && (this.uuid || !v.startsWith('UID:'))).join('\\n')\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n}\r\n"],"names":["e","g","h","k","i","t","n","Array","isArray","x","map","key","value","substr","Object","entries","Error","push","a","isNaN","getTime","Date","c","p","q","r","isValid","v","m","y","o","values","String","toUpperCase","includes","join","s","match","email","trim","name","mailto","sentBy","replace","u","startsWith","internal","withTimeZone","tzComponents","getUTCFullYear","toString","padStart","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getUTCHours","getUTCMinutes","getUTCSeconds","_","tz","clone","utc","format","setZone","zone","type","toFormat","C","timeZoneId","toPlainDateTime","S","year","month","day","toZonedDateTime","hour","minute","second","b","toZonedDateTimeISO","d","floating","timezone","f","length","toJSDate","_isAMomentObject","between","toPlainDate","T","toInstant","epochMilliseconds","UTC","toDate","E","Math","floor","D","toJSON","FR","MO","SA","SU","TH","TU","WE","I","J","K","L","M","N","O","P","R","data","parent","constructor","this","delegatedFrom","delegatedTo","role","REQ","rsvp","scheduleAgent","status","delegatesTo","delegatesFrom","A","DELEGATED","createAttendee","assign","j","da","end","start","F","event","attach","attendees","description","interval","relatesTo","repeat","summary","trigger","display","triggerBefore","triggerAfter","mime","uri","forEach","times","isFinite","keys","V","ea","W","fa","X","ha","Y","ja","calendar","alarms","allDay","attachments","busystatus","categories","class","created","id","crypto","randomUUID","lastModified","location","organizer","priority","recurrenceId","repeating","sequence","stamp","transparency","travelTime","url","createAlarm","createAttachment","createCategory","plain","swapStartAndEndIfRequired","title","geo","lat","lon","round","freq","count","until","byDay","byMonth","byMonthDay","bySetPos","exclude","startOfWeek","parseInt","z","timestamp","split","filter","address","radius","seconds","suggestionBehavior","startFrom","transportation","html","B","uid","Z","U","color","events","method","prodId","scale","source","ttl","clear","test","createEvent","H","company","product","language","generator","Set","l","charAt","encode","TextEncoder","asSeconds","val","pluginOptions","uuid","configure","options","ical","undefined","qrOptions","mode"],"mappings":"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","x_google_ignoreList":[0]}
@@ -28,40 +28,38 @@ export declare enum SocialType {
28
28
  GaduGadu = "gadu-gadu"
29
29
  }
30
30
  export interface VCardPluginOptions {
31
- data: {
32
- fullName: string;
33
- name?: {
34
- first?: string;
35
- last?: string;
36
- middle?: string;
37
- prefix?: string;
38
- suffix?: string;
39
- nick?: string;
40
- };
41
- title?: string;
42
- birthday?: Date | string;
43
- phone?: Array<{
44
- type?: `${PhoneType}`;
45
- value: string;
46
- }>;
47
- email?: Array<{
48
- type?: `${AddressType}`;
49
- value: string;
50
- }>;
51
- address?: {
52
- work?: Address;
53
- home?: Address;
54
- };
55
- note?: string;
31
+ fullName: string;
32
+ name?: {
33
+ first?: string;
34
+ last?: string;
35
+ middle?: string;
36
+ prefix?: string;
37
+ suffix?: string;
38
+ nick?: string;
39
+ };
40
+ title?: string;
41
+ birthday?: Date | string;
42
+ phone?: Array<{
43
+ type?: `${PhoneType}`;
44
+ value: string;
45
+ }>;
46
+ email?: Array<{
47
+ type?: `${AddressType}`;
48
+ value: string;
49
+ }>;
50
+ address?: {
51
+ work?: Address;
52
+ home?: Address;
53
+ };
54
+ note?: string;
55
+ company?: string;
56
+ social?: Array<{
57
+ type: `${SocialType}`;
58
+ value: string;
59
+ }>;
60
+ website?: {
61
+ personal?: string;
56
62
  company?: string;
57
- social?: Array<{
58
- type: `${SocialType}`;
59
- value: string;
60
- }>;
61
- website?: {
62
- personal?: string;
63
- company?: string;
64
- };
65
63
  };
66
64
  }
67
65
  export default class VCardPlugin implements Plugin {
@@ -1,2 +1,2 @@
1
- function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),t}var t=r(Object.freeze({__proto__:null,default:{}}));function n(e,r){for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t--;t)e.unshift("..");return e}var a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;function o(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var a=t>=0?arguments[t]:"/";if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,r="/"===a.charAt(0))}return(r?"/":"")+(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||"."}function i(e){var r=s(e),t="/"===g(e,-1);return(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e}function s(e){return"/"===e.charAt(0)}function l(){return i(d(Array.prototype.slice.call(arguments,0),function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function u(e,r){function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=o(e).substr(1),r=o(r).substr(1),e=t(e.split("/")),r=t(r.split("/"));for(var n=Math.min(e.length,r.length),a=n,i=0;i<n;i++)if(e[i]!==r[i]){a=i;break}for(n=[],i=a;i<e.length;i++)n.push("..");return(n=n.concat(r.slice(a))).join("/")}function c(e){var r=a.exec(e).slice(1);return e=r[0],r=r[1],e||r?(r&&=r.substr(0,r.length-1),e+r):"."}function p(e,r){return e=a.exec(e).slice(1)[2],r&&e.substr(-1*r.length)===r&&(e=e.substr(0,e.length-r.length)),e}function h(e){return a.exec(e).slice(1)[3]}var f={extname:h,basename:p,dirname:c,sep:"/",delimiter:":",relative:u,join:l,isAbsolute:s,normalize:i,resolve:o};function d(e,r){if(e.filter)return e.filter(r);for(var t=[],n=0;n<e.length;n++)r(e[n],n,e)&&t.push(e[n]);return t}var m,y,E,g="b"==="ab".substr(-1)?function(e,r,t){return e.substr(r,t)}:function(e,r,t){return r<0&&(r=e.length+r),e.substr(r,t)},v=r(Object.freeze({__proto__:null,basename:p,default:f,delimiter:":",dirname:c,extname:h,isAbsolute:s,join:l,normalize:i,relative:u,resolve:o,sep:"/"})),A={exports:{}};function b(){return m||(m=1,function(){function e(e){return e?("string"!=typeof e&&(e=""+e),e.replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;")):""}function r(){return"\r\n"}function t(r,t,n,o){return r+(a>=4?o?";ENCODING=b;MEDIATYPE=image/":";MEDIATYPE=image/":3===a?o?";ENCODING=b;TYPE=":";TYPE=":o?";ENCODING=BASE64;":";")+n+":"+e(t)+"\r\n"}function n(e){return e.getFullYear()+("0"+(e.getMonth()+1)).slice(-2)+("0"+e.getDate()).slice(-2)}var a="3";A.exports={getFormattedString:function(o){a=o.getMajorVersion();var i="";i+="BEGIN:VCARD\r\n",i+="VERSION:"+o.version+"\r\n";var s=a>=4?"":";CHARSET=UTF-8",l=o.formattedName;if(l||(l="",[o.firstName,o.middleName,o.lastName].forEach(function(e){e&&l&&(l+=" "),l+=e})),i+="FN"+s+":"+e(l)+"\r\n",i+="N"+s+":"+e(o.lastName)+";"+e(o.firstName)+";"+e(o.middleName)+";"+e(o.namePrefix)+";"+e(o.nameSuffix)+"\r\n",o.nickname&&a>=3&&(i+="NICKNAME"+s+":"+e(o.nickname)+"\r\n"),o.gender&&(i+="GENDER:"+e(o.gender)+"\r\n"),o.uid&&(i+="UID"+s+":"+e(o.uid)+"\r\n"),o.birthday&&(i+="BDAY:"+n(o.birthday)+"\r\n"),o.anniversary&&(i+="ANNIVERSARY:"+n(o.anniversary)+"\r\n"),o.email&&(Array.isArray(o.email)||(o.email=[o.email]),o.email.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=HOME:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=HOME,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";HOME;INTERNET:"+e(r)+"\r\n"})),o.workEmail&&(Array.isArray(o.workEmail)||(o.workEmail=[o.workEmail]),o.workEmail.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=WORK:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=WORK,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";WORK;INTERNET:"+e(r)+"\r\n"})),o.otherEmail&&(Array.isArray(o.otherEmail)||(o.otherEmail=[o.otherEmail]),o.otherEmail.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=OTHER:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=OTHER,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";OTHER;INTERNET:"+e(r)+"\r\n"})),o.logo.url&&(i+=t("LOGO",o.logo.url,o.logo.mediaType,o.logo.base64)),o.photo.url&&(i+=t("PHOTO",o.photo.url,o.photo.mediaType,o.photo.base64)),o.cellPhone&&(Array.isArray(o.cellPhone)||(o.cellPhone=[o.cellPhone]),o.cellPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=CELL:"+e(r)+"\r\n"})),o.pagerPhone&&(Array.isArray(o.pagerPhone)||(o.pagerPhone=[o.pagerPhone]),o.pagerPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="pager,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=PAGER:"+e(r)+"\r\n"})),o.homePhone&&(Array.isArray(o.homePhone)||(o.homePhone=[o.homePhone]),o.homePhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,VOICE:"+e(r)+"\r\n"})),o.workPhone&&(Array.isArray(o.workPhone)||(o.workPhone=[o.workPhone]),o.workPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,VOICE:"+e(r)+"\r\n"})),o.homeFax&&(Array.isArray(o.homeFax)||(o.homeFax=[o.homeFax]),o.homeFax.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="fax,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,FAX:"+e(r)+"\r\n"})),o.workFax&&(Array.isArray(o.workFax)||(o.workFax=[o.workFax]),o.workFax.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="fax,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,FAX:"+e(r)+"\r\n"})),o.otherPhone&&(Array.isArray(o.otherPhone)||(o.otherPhone=[o.otherPhone]),o.otherPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,other":tel:'+e(r)+"\r\n":i+"TEL;TYPE=OTHER:"+e(r)+"\r\n"})),[{details:o.homeAddress,type:"HOME"},{details:o.workAddress,type:"WORK"}].forEach(function(r){var t=i,n="";(r.details.label||r.details.street||r.details.city||r.details.stateProvince||r.details.postalCode||r.details.countryRegion)&&(a>=4?n="ADR"+s+";TYPE="+r.type+(r.details.label?';LABEL="'+e(r.details.label)+'"':"")+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n":(r.details.label&&(n="LABEL"+s+";TYPE="+r.type+":"+e(r.details.label)+"\r\n"),n+="ADR"+s+";TYPE="+r.type+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n")),i=t+n}),o.title&&(i+="TITLE"+s+":"+e(o.title)+"\r\n"),o.role&&(i+="ROLE"+s+":"+e(o.role)+"\r\n"),o.organization&&(i+="ORG"+s+":"+e(o.organization)+"\r\n"),o.url&&(i+="URL"+s+":"+e(o.url)+"\r\n"),o.workUrl&&(i+="URL;type=WORK"+s+":"+e(o.workUrl)+"\r\n"),o.note&&(i+="NOTE"+s+":"+e(o.note)+"\r\n"),o.socialUrls)for(var u in o.socialUrls)o.socialUrls.hasOwnProperty(u)&&o.socialUrls[u]&&(i+="X-SOCIALPROFILE"+s+";TYPE="+u+":"+e(o.socialUrls[u])+r());return o.source&&(i+="SOURCE"+s+":"+e(o.source)+"\r\n"),i+="REV:"+(new Date).toISOString()+"\r\n",o.isOrganization&&(i+="X-ABShowAs:COMPANY\r\n"),i+="END:VCARD\r\n"}}}()),A.exports}E||(E=1,y=function(){function e(){return{url:"",mediaType:"",base64:!1,attachFromUrl:function(e,r){this.url=e,this.mediaType=r,this.base64=!1},embedFromFile:function(e){this.mediaType=v.extname(e).toUpperCase().replace(/\./g,""),this.url=t.readFileSync(e).toString("base64"),this.base64=!0},embedFromString:function(e,r){this.mediaType=r,this.url=e,this.base64=!0}}}return{uid:"",birthday:"",cellPhone:"",pagerPhone:"",email:"",workEmail:"",firstName:"",formattedName:"",gender:"",homeAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},homePhone:"",homeFax:"",lastName:"",logo:e(),middleName:"",namePrefix:"",nameSuffix:"",nickname:"",note:"",organization:"",photo:e(),role:"",socialUrls:{facebook:"",linkedIn:"",twitter:"",flickr:""},source:"",title:"",url:"",workUrl:"",workAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},workPhone:"",workFax:"",version:"3.0",getMajorVersion:function(){var e=this.version?this.version.split(".")[0]:"4";return isNaN(e)?4:parseInt(e)},getFormattedString:function(){return b().getFormattedString(this)},saveToFile:function(e){var r=b().getFormattedString(this);t.writeFileSync(e,r,{encoding:"utf8"})}}});var w,P,O=e(y);var x,T,k,L,N,C={exports:{}};function S(){function e(r,t,n){if(!(this instanceof e))return new e(t);null!=n&&Object.assign(this,n),this._field=r,this._data=t,Object.defineProperty(this,"_field",{enumerable:!1}),Object.defineProperty(this,"_data",{enumerable:!1})}function r(e){return e.replace(/([A-Z])/g,"-$1").toUpperCase()}return k?T:(k=1,e.fromJSON=function(r){var t=r[0],n=r[1];return/text/i.test(r[2])||(n.value=r[2]),new e(t,r=Array.isArray(r[3])?r[3].join(";"):r[3],n)},e.prototype={constructor:e,is:function(e){return e=(e+"").toLowerCase(),Array.isArray(this.type)?this.type.indexOf(e)>=0:this.type===e},isEmpty:function(){return null==this._data&&0===Object.keys(this).length},clone:function(){return new e(this._field,this._data,this)},toString:function(e){for(var t=(this.group?this.group+".":"")+r(this._field),n=Object.keys(this),a=[],o=0;o<n.length;o++)if("group"!==n[o])switch(t){case"TEL":case"ADR":case"EMAIL":"2.1"===e?Array.isArray(this[n[o]])?a.push(this[n[o]].join(";")):a.push(this[n[o]]):a.push(r(n[o])+"="+this[n[o]]);break;default:a.push(r(n[o])+"="+this[n[o]])}return"2.1"===e||"3.0"===e?t+(a.length?";"+a.join(";").toUpperCase():a.toString().toUpperCase())+":"+(Array.isArray(this._data)?this._data.join(";"):this._data):t+(a.length?";"+a.join(";"):a)+":"+(Array.isArray(this._data)?this._data.join(";"):this._data)},valueOf:function(){return this._data},toJSON:function(){var e=Object.assign({},this);switch("text"===e.value&&(e.value=void 0,delete e.value),e=[this._field,e,this.value||"text"],this._field){default:e.push(this._data);break;case"adr":case"n":e.push(this._data.split(";"))}return e}},T=e)}function R(){function e(e,r,t){Array.isArray(e[r])?e[r].push(t):e[r]=null!=e[r]?[e[r],t]:t}function r(r,n){n=n.split("=");var a=t(n[0]),o=n[1];return null!=o&&""!==o||(o=n[0],a="type"),"type"===a?('"'===o[0]&&'"'===o[o.length-1]&&-1!==o.indexOf(",")&&(o=o.slice(1,-1)),o.toLowerCase().split(",").forEach(function(t){e(r,a,t)}),r):(e(r,a,o),r)}if(N)return L;N=1;var t=function(){if(x)return C.exports;x=1;var e=(e,r)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");return r=Object.assign({pascalCase:!1},r),e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim(),0===e.length?"":1===e.length?r.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=(e=>{var r=!1,t=!1,n=!1;for(let a=0;a<e.length;a++){let o=e[a];r&&/[a-zA-Z]/.test(o)&&o.toUpperCase()===o?(e=e.slice(0,a)+"-"+e.slice(a),r=!1,n=t,t=!0,a++):t&&n&&/[a-zA-Z]/.test(o)&&o.toLowerCase()===o?(e=e.slice(0,a-1)+"-"+e.slice(a-1),n=t,t=!1,r=!0):(r=o.toLowerCase()===o&&o.toUpperCase()!==o,n=t,t=o.toUpperCase()===o&&o.toLowerCase()!==o)}return e})(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),t=e,r.pascalCase?t.charAt(0).toUpperCase()+t.slice(1):t);var t};return C.exports=e,C.exports.default=e,C.exports}(),n=S();return L=function(a){for(var o,i={},s=/^([^;:]+)((?:;(?:[^;:]+))*)(?::([\s\S]+))?$/i,l=a.length-1,u=1;u<l;u++){o=a[u];var c=s.exec(o);if(c){var p=c[1].split(".");o=p.pop();var h=p.pop();p=c[3],c=(c[2]?c[2].replace(/^;|;$/g,"").split(";"):[]).reduce(r,h?{group:h}:{}),e(i,o=t(o),p=new n(o,p,c))}}return i}}var I,U,j,F=e(function(){function e(){if(!(this instanceof e))return new e;this.version=e.versions[e.versions.length-1],this.data={}}return U?I:(U=1,e.mimeType="text/vcard",e.extension=".vcf",e.versions=["2.1","3.0","4.0"],e.EOL="\r\n",e.foldLine=function(){function e(e,r,t){if(null!=r&&r<2)throw Error("Maximum length must not be less than 2");if(null!=r&&r>998)throw Error("Maximum length must not exceed 998");if(r=r||78,(e=e.replace(/[\r\n]+/g,"")).length<=r)return e;for(var n="",a=0,o=0,i=e.length,s=0,l=0;a<i;){if(!t&&~(o=e.lastIndexOf(" ",a+r))?o>a?(n+=e.slice(a,o)+"\r\n ",a=o):(n+=e.slice(a,a+r-l)+"\r\n ",a=a+r-l,t=!0):(n+=e.slice(a,a+r-l)+"\r\n ",a=a+r-l),i-a<r){n+=e.slice(a);break}0===s&&(l=1),s++}return n}return P?w:(P=1,e.unfold=function(e){return e.replace(/\r\n\s/gm,"")},w=e)}(),e.normalize=function(e){return(e+"").replace(/^[\s\r\n]+|[\s\r\n]+$/g,"").replace(/(\r\n)[\x09\x20]?(\r\n)|$/g,"$1").replace(/\r\n[\x20\x09]/g,"")},e.isSupported=function(r){return/^\d\.\d$/.test(r)&&-1!==e.versions.indexOf(r)},e.parse=function(r){r=(r+"").split(/(?=BEGIN:VCARD)/gi);for(var t=[],n=0;n<r.length;n++)t.push((new e).parse(r[n]));return t},e.parseLines=R(),e.fromJSON=function(r){if(null==(r="string"==typeof r?JSON.parse(r):r)||!Array.isArray(r))return new e;if(!/vcard/i.test(r[0]))throw Error("Object not in jCard format");var t=new e;return r[1].forEach(function(r){t.addProperty(e.Property.fromJSON(r))}),t},e.format=function(r,t){if(t=t||r.version||e.versions[e.versions.length-1],!e.isSupported(t))throw Error('Unsupported vCard version "'+t+'"');var n=[];n.push("BEGIN:VCARD"),n.push("VERSION:"+t);for(var a,o=Object.keys(r.data),i=0;i<o.length;i++)if("version"!==o[i])if(a=r.data[o[i]],Array.isArray(a))for(var s=0;s<a.length;s++)a[s].isEmpty()||n.push(e.foldLine(a[s].toString(t),75));else a.isEmpty()||n.push(e.foldLine(a.toString(t),75));return n.push("END:VCARD"),n.join(e.EOL)},e.Property=S(),e.prototype={constructor:e,get:function(e){return null==this.data[e]?this.data[e]:Array.isArray(this.data[e])?this.data[e].map(function(e){return e.clone()}):this.data[e].clone()},set:function(r,t,n){return this.setProperty(new e.Property(r,t,n))},add:function(r,t,n){return r=new e.Property(r,t,n),this.addProperty(r),this},setProperty:function(e){return this.data[e._field]=e,this},addProperty:function(e){var r=e._field;return Array.isArray(this.data[r])?this.data[r].push(e):this.data[r]=null!=this.data[r]?[this.data[r],e]:e,this},parse:function(r){var t=(r=e.normalize(r).split(/\r\n/g))[0],n=r[1],a=r[r.length-1],o=/VERSION:\d\.\d/i;if(!/BEGIN:VCARD/i.test(t))throw new SyntaxError('Invalid vCard: Expected "BEGIN:VCARD" but found "'+t+'"');if(!/END:VCARD/i.test(a))throw new SyntaxError('Invalid vCard: Expected "END:VCARD" but found "'+a+'"');if(!o.test(n)&&!(n=r.find(e=>o.test(e))))throw new SyntaxError('Invalid vCard: Expected "VERSION:\\d.\\d" but none found');if(this.version=n.substring(8,11),!e.isSupported(this.version))throw Error('Unsupported version "'+this.version+'"');return this.data=e.parseLines(r),this},toString:function(r){return r=r||this.version,e.format(this,r)},toJCard:function(e){e=e||"4.0";var r=Object.keys(this.data);e=[["version",{},"text",e]];for(var t,n=0;n<r.length;n++)if("version"!==r[n])if(t=this.data[r[n]],Array.isArray(t))for(var a=0;a<t.length;a++)e.push(t[a].toJSON());else e.push(t.toJSON());return["vcard",e]},toJSON:function(){return this.toJCard(this.version)}},I=e)}()),_=j||={};_.Home="home",_.Work="work";var M,D=M||={};D.Home="home",D.Work="work",D.Cell="cell",D.Pager="pager";var V,Y=V||={};Y.Messenger="messenger",Y.Twitter="twitter",Y.Facebook="facebook",Y.LinkedIn="linkedin",Y.SinaWeibo="weibo",Y.Jabber="jabber",Y.QQ="qq",Y.GaduGadu="gadu-gadu";var J={[V.Twitter]:"https://x.com/",[V.Facebook]:"https://www.facebook.com/",[V.LinkedIn]:"https://www.linkedin.com/in/",[V.SinaWeibo]:"https://weibo.com/n/",[V.Messenger]:"https://www.messenger.com/t/"};export default class{pluginOptions;uuid;constructor(e,r){this.pluginOptions=e,this.uuid=r}configure(e){return e.data=this.generateVCard(),e}generateVCard(){var{data:e}=this.pluginOptions,r=O();r.version="3.0",r.formattedName=e.fullName;var t=[],n=1;if(e.name){let n=e.name;n.first&&(r.firstName=n.first),n.last&&(r.lastName=n.last),n.middle&&(r.middleName=n.middle),n.nick&&(r.nickname=n.nick,t.push(F.Property.fromJSON(["xAndroidCustom",{},"text",["vnd.android.cursor.item/nickname",n.nick,"1","","","","","","","","","","","","",""]]))),n.prefix&&(r.namePrefix=n.prefix),n.suffix&&(r.nameSuffix=n.suffix)}e.title&&(r.title=e.title),e.birthday&&(r.birthday=function(e){if(e)return"string"==typeof e?new Date(e):e}(e.birthday)),e.phone?.forEach(e=>{var t="otherPhone";switch(e.type){case M.Work:t="workPhone";break;case M.Cell:t="cellPhone";break;case M.Pager:t="pagerPhone";break;case M.Home:t="homePhone"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.email?.forEach(e=>{var t="otherEmail";switch(e.type){case j.Work:t="workEmail";break;case j.Home:t="email"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.address&&Object.entries(e.address).forEach(([e,t])=>{var n="homeAddress";switch(e){case"home":n="homeAddress";break;case"work":n="workAddress"}t.streetAddress&&(r[n].street=t.streetAddress),t.locality&&(r[n].city=t.locality),t.postalCode&&(r[n].postalCode=t.postalCode),t.stateProvince&&(r[n].stateProvince=t.stateProvince),e=[],t.region&&e.push(t.region),t.country&&e.push(t.country),(t=e.map(e=>e.trim()).filter(e=>!!e).join(", "))&&(r[n].countryRegion=t)}),e.note&&(r.note=e.note),e.company&&(r.organization=e.company);var a=(e,r,a,o)=>{var i="item"+n++;t.push(F.Property.fromJSON([r,{group:i},"text",e])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",o])),i="item"+n++,t.push(F.Property.fromJSON(["impp",{group:i,xServiceType:o},"text",`${a}:${e}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",o]))};e.social&&e.social.forEach(e=>{switch(e.type){case V.Messenger:t.push(F.Property.fromJSON(["xSocialprofile",{type:"messenger",xUser:e.value},"text","x-apple:messenger"]));var o="item"+n++;t.push(F.Property.fromJSON(["impp",{group:o,xServiceType:"Facebook"},"text",`xmpp:${e.value}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:o},"text","Facebook"]));break;case V.Twitter:case V.Facebook:case V.LinkedIn:case V.SinaWeibo:(o=function({value:e,type:r}){if(e=e?.trim(),!e.match(/^https?:\/\//im))try{let t=new URL(J[r]);t.pathname=(t.pathname+"/"+e).replace(/[\/\\]+/g,"/"),e=t.toString()}catch{return}return e}(e))&&(r.socialUrls[e.type]=o);break;case V.Jabber:a(e.value,"xJabber","xmpp","Jabber");break;case V.QQ:a(e.value,"xQq","x-apple","QQ");break;case V.GaduGadu:a(e.value,"xGaduGadu","x-apple","GaduGadu")}}),e.website?.company&&(r.workUrl=e.website.company),e.website?.personal&&(r.url=e.website.personal),this.uuid&&(r.uid=this.uuid);var o=F.parse(r.getFormattedString())[0];return t.forEach(e=>o.addProperty(e)),o.toString("3.0").replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi,"X-SOCIALPROFILE;").replace(/X-AB-LABEL/gi,"X-ABLabel").replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi,(e,r)=>e.replace(r,r.toLowerCase().replace("type=messenger","type=Messenger"))).replace(/;TYPE=OTHER[^;:]*?([;:])/gi,(e,r)=>r)}}export{j as AddressType,M as PhoneType,V as SocialType};
1
+ function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),t}var t=r(Object.freeze({__proto__:null,default:{}}));function n(e,r){for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t--;t)e.unshift("..");return e}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;function a(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var o=t>=0?arguments[t]:"/";if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");o&&(e=o+"/"+e,r="/"===o.charAt(0))}return(r?"/":"")+(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||"."}function i(e){var r=s(e),t="/"===g(e,-1);return(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e}function s(e){return"/"===e.charAt(0)}function l(){return i(d(Array.prototype.slice.call(arguments,0),function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function u(e,r){function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=a(e).substr(1),r=a(r).substr(1),e=t(e.split("/")),r=t(r.split("/"));for(var n=Math.min(e.length,r.length),o=n,i=0;i<n;i++)if(e[i]!==r[i]){o=i;break}for(n=[],i=o;i<e.length;i++)n.push("..");return(n=n.concat(r.slice(o))).join("/")}function c(e){var r=o.exec(e).slice(1);return e=r[0],r=r[1],e||r?(r&&=r.substr(0,r.length-1),e+r):"."}function p(e,r){return e=o.exec(e).slice(1)[2],r&&e.substr(-1*r.length)===r&&(e=e.substr(0,e.length-r.length)),e}function h(e){return o.exec(e).slice(1)[3]}var f={extname:h,basename:p,dirname:c,sep:"/",delimiter:":",relative:u,join:l,isAbsolute:s,normalize:i,resolve:a};function d(e,r){if(e.filter)return e.filter(r);for(var t=[],n=0;n<e.length;n++)r(e[n],n,e)&&t.push(e[n]);return t}var m,y,E,g="b"==="ab".substr(-1)?function(e,r,t){return e.substr(r,t)}:function(e,r,t){return r<0&&(r=e.length+r),e.substr(r,t)},v=r(Object.freeze({__proto__:null,basename:p,default:f,delimiter:":",dirname:c,extname:h,isAbsolute:s,join:l,normalize:i,relative:u,resolve:a,sep:"/"})),A={exports:{}};function b(){return m||(m=1,function(){function e(e){return e?("string"!=typeof e&&(e=""+e),e.replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;")):""}function r(){return"\r\n"}function t(r,t,n,a){return r+(o>=4?a?";ENCODING=b;MEDIATYPE=image/":";MEDIATYPE=image/":3===o?a?";ENCODING=b;TYPE=":";TYPE=":a?";ENCODING=BASE64;":";")+n+":"+e(t)+"\r\n"}function n(e){return e.getFullYear()+("0"+(e.getMonth()+1)).slice(-2)+("0"+e.getDate()).slice(-2)}var o="3";A.exports={getFormattedString:function(a){o=a.getMajorVersion();var i="";i+="BEGIN:VCARD\r\n",i+="VERSION:"+a.version+"\r\n";var s=o>=4?"":";CHARSET=UTF-8",l=a.formattedName;if(l||(l="",[a.firstName,a.middleName,a.lastName].forEach(function(e){e&&l&&(l+=" "),l+=e})),i+="FN"+s+":"+e(l)+"\r\n",i+="N"+s+":"+e(a.lastName)+";"+e(a.firstName)+";"+e(a.middleName)+";"+e(a.namePrefix)+";"+e(a.nameSuffix)+"\r\n",a.nickname&&o>=3&&(i+="NICKNAME"+s+":"+e(a.nickname)+"\r\n"),a.gender&&(i+="GENDER:"+e(a.gender)+"\r\n"),a.uid&&(i+="UID"+s+":"+e(a.uid)+"\r\n"),a.birthday&&(i+="BDAY:"+n(a.birthday)+"\r\n"),a.anniversary&&(i+="ANNIVERSARY:"+n(a.anniversary)+"\r\n"),a.email&&(Array.isArray(a.email)||(a.email=[a.email]),a.email.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=HOME:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=HOME,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";HOME;INTERNET:"+e(r)+"\r\n"})),a.workEmail&&(Array.isArray(a.workEmail)||(a.workEmail=[a.workEmail]),a.workEmail.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=WORK:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=WORK,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";WORK;INTERNET:"+e(r)+"\r\n"})),a.otherEmail&&(Array.isArray(a.otherEmail)||(a.otherEmail=[a.otherEmail]),a.otherEmail.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=OTHER:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=OTHER,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";OTHER;INTERNET:"+e(r)+"\r\n"})),a.logo.url&&(i+=t("LOGO",a.logo.url,a.logo.mediaType,a.logo.base64)),a.photo.url&&(i+=t("PHOTO",a.photo.url,a.photo.mediaType,a.photo.base64)),a.cellPhone&&(Array.isArray(a.cellPhone)||(a.cellPhone=[a.cellPhone]),a.cellPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=CELL:"+e(r)+"\r\n"})),a.pagerPhone&&(Array.isArray(a.pagerPhone)||(a.pagerPhone=[a.pagerPhone]),a.pagerPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="pager,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=PAGER:"+e(r)+"\r\n"})),a.homePhone&&(Array.isArray(a.homePhone)||(a.homePhone=[a.homePhone]),a.homePhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,VOICE:"+e(r)+"\r\n"})),a.workPhone&&(Array.isArray(a.workPhone)||(a.workPhone=[a.workPhone]),a.workPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,VOICE:"+e(r)+"\r\n"})),a.homeFax&&(Array.isArray(a.homeFax)||(a.homeFax=[a.homeFax]),a.homeFax.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="fax,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,FAX:"+e(r)+"\r\n"})),a.workFax&&(Array.isArray(a.workFax)||(a.workFax=[a.workFax]),a.workFax.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="fax,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,FAX:"+e(r)+"\r\n"})),a.otherPhone&&(Array.isArray(a.otherPhone)||(a.otherPhone=[a.otherPhone]),a.otherPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,other":tel:'+e(r)+"\r\n":i+"TEL;TYPE=OTHER:"+e(r)+"\r\n"})),[{details:a.homeAddress,type:"HOME"},{details:a.workAddress,type:"WORK"}].forEach(function(r){var t=i,n="";(r.details.label||r.details.street||r.details.city||r.details.stateProvince||r.details.postalCode||r.details.countryRegion)&&(o>=4?n="ADR"+s+";TYPE="+r.type+(r.details.label?';LABEL="'+e(r.details.label)+'"':"")+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n":(r.details.label&&(n="LABEL"+s+";TYPE="+r.type+":"+e(r.details.label)+"\r\n"),n+="ADR"+s+";TYPE="+r.type+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n")),i=t+n}),a.title&&(i+="TITLE"+s+":"+e(a.title)+"\r\n"),a.role&&(i+="ROLE"+s+":"+e(a.role)+"\r\n"),a.organization&&(i+="ORG"+s+":"+e(a.organization)+"\r\n"),a.url&&(i+="URL"+s+":"+e(a.url)+"\r\n"),a.workUrl&&(i+="URL;type=WORK"+s+":"+e(a.workUrl)+"\r\n"),a.note&&(i+="NOTE"+s+":"+e(a.note)+"\r\n"),a.socialUrls)for(var u in a.socialUrls)a.socialUrls.hasOwnProperty(u)&&a.socialUrls[u]&&(i+="X-SOCIALPROFILE"+s+";TYPE="+u+":"+e(a.socialUrls[u])+r());return a.source&&(i+="SOURCE"+s+":"+e(a.source)+"\r\n"),i+="REV:"+(new Date).toISOString()+"\r\n",a.isOrganization&&(i+="X-ABShowAs:COMPANY\r\n"),i+="END:VCARD\r\n"}}}()),A.exports}E||(E=1,y=function(){function e(){return{url:"",mediaType:"",base64:!1,attachFromUrl:function(e,r){this.url=e,this.mediaType=r,this.base64=!1},embedFromFile:function(e){this.mediaType=v.extname(e).toUpperCase().replace(/\./g,""),this.url=t.readFileSync(e).toString("base64"),this.base64=!0},embedFromString:function(e,r){this.mediaType=r,this.url=e,this.base64=!0}}}return{uid:"",birthday:"",cellPhone:"",pagerPhone:"",email:"",workEmail:"",firstName:"",formattedName:"",gender:"",homeAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},homePhone:"",homeFax:"",lastName:"",logo:e(),middleName:"",namePrefix:"",nameSuffix:"",nickname:"",note:"",organization:"",photo:e(),role:"",socialUrls:{facebook:"",linkedIn:"",twitter:"",flickr:""},source:"",title:"",url:"",workUrl:"",workAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},workPhone:"",workFax:"",version:"3.0",getMajorVersion:function(){var e=this.version?this.version.split(".")[0]:"4";return isNaN(e)?4:parseInt(e)},getFormattedString:function(){return b().getFormattedString(this)},saveToFile:function(e){var r=b().getFormattedString(this);t.writeFileSync(e,r,{encoding:"utf8"})}}});var w,P,O=e(y);var x,T,k,L,N,C={exports:{}};function S(){function e(r,t,n){if(!(this instanceof e))return new e(t);null!=n&&Object.assign(this,n),this._field=r,this._data=t,Object.defineProperty(this,"_field",{enumerable:!1}),Object.defineProperty(this,"_data",{enumerable:!1})}function r(e){return e.replace(/([A-Z])/g,"-$1").toUpperCase()}return k?T:(k=1,e.fromJSON=function(r){var t=r[0],n=r[1];return/text/i.test(r[2])||(n.value=r[2]),new e(t,r=Array.isArray(r[3])?r[3].join(";"):r[3],n)},e.prototype={constructor:e,is:function(e){return e=(e+"").toLowerCase(),Array.isArray(this.type)?this.type.indexOf(e)>=0:this.type===e},isEmpty:function(){return null==this._data&&0===Object.keys(this).length},clone:function(){return new e(this._field,this._data,this)},toString:function(e){for(var t=(this.group?this.group+".":"")+r(this._field),n=Object.keys(this),o=[],a=0;a<n.length;a++)if("group"!==n[a])switch(t){case"TEL":case"ADR":case"EMAIL":"2.1"===e?Array.isArray(this[n[a]])?o.push(this[n[a]].join(";")):o.push(this[n[a]]):o.push(r(n[a])+"="+this[n[a]]);break;default:o.push(r(n[a])+"="+this[n[a]])}return"2.1"===e||"3.0"===e?t+(o.length?";"+o.join(";").toUpperCase():o.toString().toUpperCase())+":"+(Array.isArray(this._data)?this._data.join(";"):this._data):t+(o.length?";"+o.join(";"):o)+":"+(Array.isArray(this._data)?this._data.join(";"):this._data)},valueOf:function(){return this._data},toJSON:function(){var e=Object.assign({},this);switch("text"===e.value&&(e.value=void 0,delete e.value),e=[this._field,e,this.value||"text"],this._field){default:e.push(this._data);break;case"adr":case"n":e.push(this._data.split(";"))}return e}},T=e)}function R(){function e(e,r,t){Array.isArray(e[r])?e[r].push(t):e[r]=null!=e[r]?[e[r],t]:t}function r(r,n){n=n.split("=");var o=t(n[0]),a=n[1];return null!=a&&""!==a||(a=n[0],o="type"),"type"===o?('"'===a[0]&&'"'===a[a.length-1]&&-1!==a.indexOf(",")&&(a=a.slice(1,-1)),a.toLowerCase().split(",").forEach(function(t){e(r,o,t)}),r):(e(r,o,a),r)}if(N)return L;N=1;var t=function(){if(x)return C.exports;x=1;var e=(e,r)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");return r=Object.assign({pascalCase:!1},r),e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim(),0===e.length?"":1===e.length?r.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=(e=>{var r=!1,t=!1,n=!1;for(let o=0;o<e.length;o++){let a=e[o];r&&/[a-zA-Z]/.test(a)&&a.toUpperCase()===a?(e=e.slice(0,o)+"-"+e.slice(o),r=!1,n=t,t=!0,o++):t&&n&&/[a-zA-Z]/.test(a)&&a.toLowerCase()===a?(e=e.slice(0,o-1)+"-"+e.slice(o-1),n=t,t=!1,r=!0):(r=a.toLowerCase()===a&&a.toUpperCase()!==a,n=t,t=a.toUpperCase()===a&&a.toLowerCase()!==a)}return e})(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),t=e,r.pascalCase?t.charAt(0).toUpperCase()+t.slice(1):t);var t};return C.exports=e,C.exports.default=e,C.exports}(),n=S();return L=function(o){for(var a,i={},s=/^([^;:]+)((?:;(?:[^;:]+))*)(?::([\s\S]+))?$/i,l=o.length-1,u=1;u<l;u++){a=o[u];var c=s.exec(a);if(c){var p=c[1].split(".");a=p.pop();var h=p.pop();p=c[3],c=(c[2]?c[2].replace(/^;|;$/g,"").split(";"):[]).reduce(r,h?{group:h}:{}),e(i,a=t(a),p=new n(a,p,c))}}return i}}var I,U,j,F=e(function(){function e(){if(!(this instanceof e))return new e;this.version=e.versions[e.versions.length-1],this.data={}}return U?I:(U=1,e.mimeType="text/vcard",e.extension=".vcf",e.versions=["2.1","3.0","4.0"],e.EOL="\r\n",e.foldLine=function(){function e(e,r,t){if(null!=r&&r<2)throw Error("Maximum length must not be less than 2");if(null!=r&&r>998)throw Error("Maximum length must not exceed 998");if(r=r||78,(e=e.replace(/[\r\n]+/g,"")).length<=r)return e;for(var n="",o=0,a=0,i=e.length,s=0,l=0;o<i;){if(!t&&~(a=e.lastIndexOf(" ",o+r))?a>o?(n+=e.slice(o,a)+"\r\n ",o=a):(n+=e.slice(o,o+r-l)+"\r\n ",o=o+r-l,t=!0):(n+=e.slice(o,o+r-l)+"\r\n ",o=o+r-l),i-o<r){n+=e.slice(o);break}0===s&&(l=1),s++}return n}return P?w:(P=1,e.unfold=function(e){return e.replace(/\r\n\s/gm,"")},w=e)}(),e.normalize=function(e){return(e+"").replace(/^[\s\r\n]+|[\s\r\n]+$/g,"").replace(/(\r\n)[\x09\x20]?(\r\n)|$/g,"$1").replace(/\r\n[\x20\x09]/g,"")},e.isSupported=function(r){return/^\d\.\d$/.test(r)&&-1!==e.versions.indexOf(r)},e.parse=function(r){r=(r+"").split(/(?=BEGIN:VCARD)/gi);for(var t=[],n=0;n<r.length;n++)t.push((new e).parse(r[n]));return t},e.parseLines=R(),e.fromJSON=function(r){if(null==(r="string"==typeof r?JSON.parse(r):r)||!Array.isArray(r))return new e;if(!/vcard/i.test(r[0]))throw Error("Object not in jCard format");var t=new e;return r[1].forEach(function(r){t.addProperty(e.Property.fromJSON(r))}),t},e.format=function(r,t){if(t=t||r.version||e.versions[e.versions.length-1],!e.isSupported(t))throw Error('Unsupported vCard version "'+t+'"');var n=[];n.push("BEGIN:VCARD"),n.push("VERSION:"+t);for(var o,a=Object.keys(r.data),i=0;i<a.length;i++)if("version"!==a[i])if(o=r.data[a[i]],Array.isArray(o))for(var s=0;s<o.length;s++)o[s].isEmpty()||n.push(e.foldLine(o[s].toString(t),75));else o.isEmpty()||n.push(e.foldLine(o.toString(t),75));return n.push("END:VCARD"),n.join(e.EOL)},e.Property=S(),e.prototype={constructor:e,get:function(e){return null==this.data[e]?this.data[e]:Array.isArray(this.data[e])?this.data[e].map(function(e){return e.clone()}):this.data[e].clone()},set:function(r,t,n){return this.setProperty(new e.Property(r,t,n))},add:function(r,t,n){return r=new e.Property(r,t,n),this.addProperty(r),this},setProperty:function(e){return this.data[e._field]=e,this},addProperty:function(e){var r=e._field;return Array.isArray(this.data[r])?this.data[r].push(e):this.data[r]=null!=this.data[r]?[this.data[r],e]:e,this},parse:function(r){var t=(r=e.normalize(r).split(/\r\n/g))[0],n=r[1],o=r[r.length-1],a=/VERSION:\d\.\d/i;if(!/BEGIN:VCARD/i.test(t))throw new SyntaxError('Invalid vCard: Expected "BEGIN:VCARD" but found "'+t+'"');if(!/END:VCARD/i.test(o))throw new SyntaxError('Invalid vCard: Expected "END:VCARD" but found "'+o+'"');if(!a.test(n)&&!(n=r.find(e=>a.test(e))))throw new SyntaxError('Invalid vCard: Expected "VERSION:\\d.\\d" but none found');if(this.version=n.substring(8,11),!e.isSupported(this.version))throw Error('Unsupported version "'+this.version+'"');return this.data=e.parseLines(r),this},toString:function(r){return r=r||this.version,e.format(this,r)},toJCard:function(e){e=e||"4.0";var r=Object.keys(this.data);e=[["version",{},"text",e]];for(var t,n=0;n<r.length;n++)if("version"!==r[n])if(t=this.data[r[n]],Array.isArray(t))for(var o=0;o<t.length;o++)e.push(t[o].toJSON());else e.push(t.toJSON());return["vcard",e]},toJSON:function(){return this.toJCard(this.version)}},I=e)}()),_=j||={};_.Home="home",_.Work="work";var M,D=M||={};D.Home="home",D.Work="work",D.Cell="cell",D.Pager="pager";var V,Y=V||={};Y.Messenger="messenger",Y.Twitter="twitter",Y.Facebook="facebook",Y.LinkedIn="linkedin",Y.SinaWeibo="weibo",Y.Jabber="jabber",Y.QQ="qq",Y.GaduGadu="gadu-gadu";var J={[V.Twitter]:"https://x.com/",[V.Facebook]:"https://www.facebook.com/",[V.LinkedIn]:"https://www.linkedin.com/in/",[V.SinaWeibo]:"https://weibo.com/n/",[V.Messenger]:"https://www.messenger.com/t/"};export default class{pluginOptions;uuid;constructor(e,r){this.pluginOptions=e,this.uuid=r}configure(e){return e.data=this.generateVCard(),e.qrOptions.mode=void 0,e}generateVCard(){var e=this.pluginOptions,r=O();r.version="3.0",r.formattedName=e.fullName;var t=[],n=1;if(e.name){let n=e.name;n.first&&(r.firstName=n.first),n.last&&(r.lastName=n.last),n.middle&&(r.middleName=n.middle),n.nick&&(r.nickname=n.nick,t.push(F.Property.fromJSON(["xAndroidCustom",{},"text",["vnd.android.cursor.item/nickname",n.nick,"1","","","","","","","","","","","","",""]]))),n.prefix&&(r.namePrefix=n.prefix),n.suffix&&(r.nameSuffix=n.suffix)}e.title&&(r.title=e.title),e.birthday&&(r.birthday=function(e){if(e)return"string"==typeof e?new Date(e):e}(e.birthday)),e.phone?.forEach(e=>{var t="otherPhone";switch(e.type){case M.Work:t="workPhone";break;case M.Cell:t="cellPhone";break;case M.Pager:t="pagerPhone";break;case M.Home:t="homePhone"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.email?.forEach(e=>{var t="otherEmail";switch(e.type){case j.Work:t="workEmail";break;case j.Home:t="email"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.address&&Object.entries(e.address).forEach(([e,t])=>{var n="homeAddress";switch(e){case"home":n="homeAddress";break;case"work":n="workAddress"}t.streetAddress&&(r[n].street=t.streetAddress),t.locality&&(r[n].city=t.locality),t.postalCode&&(r[n].postalCode=t.postalCode),t.stateProvince&&(r[n].stateProvince=t.stateProvince),e=[],t.region&&e.push(t.region),t.country&&e.push(t.country),(t=e.map(e=>e.trim()).filter(e=>!!e).join(", "))&&(r[n].countryRegion=t)}),e.note&&(r.note=e.note),e.company&&(r.organization=e.company);var o=(e,r,o,a)=>{var i="item"+n++;t.push(F.Property.fromJSON([r,{group:i},"text",e])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",a])),i="item"+n++,t.push(F.Property.fromJSON(["impp",{group:i,xServiceType:a},"text",`${o}:${e}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",a]))};e.social&&e.social.forEach(e=>{switch(e.type){case V.Messenger:t.push(F.Property.fromJSON(["xSocialprofile",{type:"messenger",xUser:e.value},"text","x-apple:messenger"]));var a="item"+n++;t.push(F.Property.fromJSON(["impp",{group:a,xServiceType:"Facebook"},"text",`xmpp:${e.value}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:a},"text","Facebook"]));break;case V.Twitter:case V.Facebook:case V.LinkedIn:case V.SinaWeibo:(a=function({value:e,type:r}){if(e=e?.trim(),!e.match(/^https?:\/\//im))try{let t=new URL(J[r]);t.pathname=(t.pathname+"/"+e).replace(/[\/\\]+/g,"/"),e=t.toString()}catch{return}return e}(e))&&(r.socialUrls[e.type]=a);break;case V.Jabber:o(e.value,"xJabber","xmpp","Jabber");break;case V.QQ:o(e.value,"xQq","x-apple","QQ");break;case V.GaduGadu:o(e.value,"xGaduGadu","x-apple","GaduGadu")}}),e.website?.company&&(r.workUrl=e.website.company),e.website?.personal&&(r.url=e.website.personal),this.uuid&&(r.uid=this.uuid);var a=F.parse(r.getFormattedString())[0];return t.forEach(e=>a.addProperty(e)),a.toString("3.0").replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi,"X-SOCIALPROFILE;").replace(/X-AB-LABEL/gi,"X-ABLabel").replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi,(e,r)=>e.replace(r,r.toLowerCase().replace("type=messenger","type=Messenger"))).replace(/;TYPE=OTHER[^;:]*?([;:])/gi,(e,r)=>r)}}export{j as AddressType,M as PhoneType,V as SocialType};
2
2
  //# sourceMappingURL=vcard-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcard-plugin.js","sources":["../node_modules/vcards-js/lib/vCardFormatter.js","../node_modules/vcards-js/index.js","../node_modules/vcf/lib/property.js","../node_modules/vcf/lib/parse-lines.js","../node_modules/camelcase/index.js","../src/plugins/vcard.ts","../node_modules/vcf/lib/vcard.js","../node_modules/foldline/foldline.js"],"sourcesContent":["/********************************************************************************\n vCards-js, Eric J Nesser, November 2014,\n ********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * vCard formatter for formatting vCards in VCF format\n */\n(function vCardFormatter() {\n\tvar majorVersion = '3';\n\n\t/**\n\t * Encode string\n\t * @param {String} value to encode\n\t * @return {String} encoded string\n\t */\n\tfunction e(value) {\n\t\tif (value) {\n\t\t\tif (typeof(value) !== 'string') {\n\t\t\t\tvalue = '' + value;\n\t\t\t}\n\t\t\treturn value.replace(/\\n/g, '\\\\n').replace(/,/g, '\\\\,').replace(/;/g, '\\\\;');\n\t\t}\n\t\treturn '';\n\t}\n\n\t/**\n\t * Return new line characters\n\t * @return {String} new line characters\n\t */\n\tfunction nl() {\n\t\treturn '\\r\\n';\n\t}\n\n\t/**\n\t * Get formatted photo\n\t * @param {String} photoType Photo type (PHOTO, LOGO)\n\t * @param {String} url URL to attach photo from\n\t * @param {String} mediaType Media-type of photo (JPEG, PNG, GIF)\n\t * @return {String} Formatted photo\n\t */\n\tfunction getFormattedPhoto(photoType, url, mediaType, base64) {\n\n\t\tvar params;\n\n\t\tif (majorVersion >= 4) {\n\t\t\tparams = base64 ? ';ENCODING=b;MEDIATYPE=image/' : ';MEDIATYPE=image/';\n\t\t} else if (majorVersion === 3) {\n\t\t\tparams = base64 ? ';ENCODING=b;TYPE=' : ';TYPE=';\n\t\t} else {\n\t\t\tparams = base64 ? ';ENCODING=BASE64;' : ';';\n\t\t}\n\n\t\tvar formattedPhoto = photoType + params + mediaType + ':' + e(url) + nl();\n\t\treturn formattedPhoto;\n\t}\n\n\t/**\n\t * Get formatted address\n\t * @param {object} address\n\t * @param {object} encoding prefix\n\t * @return {String} Formatted address\n\t */\n\tfunction getFormattedAddress(encodingPrefix, address) {\n\n\t\tvar formattedAddress = '';\n\n\t\tif (address.details.label ||\n\t\t\taddress.details.street ||\n\t\t\taddress.details.city ||\n\t\t\taddress.details.stateProvince ||\n\t\t\taddress.details.postalCode ||\n\t\t\taddress.details.countryRegion) {\n\n\t\t\tif (majorVersion >= 4) {\n\t\t\t\tformattedAddress = 'ADR' + encodingPrefix + ';TYPE=' + address.type +\n\t\t\t\t\t(address.details.label ? ';LABEL=\"' + e(address.details.label) + '\"' : '') + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\t\t\t} else {\n\t\t\t\tif (address.details.label) {\n\t\t\t\t\tformattedAddress = 'LABEL' + encodingPrefix + ';TYPE=' + address.type + ':' + e(address.details.label) + nl();\n\t\t\t\t}\n\t\t\t\tformattedAddress += 'ADR' + encodingPrefix + ';TYPE=' + address.type + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\n\t\t\t}\n\t\t}\n\n\t\treturn formattedAddress;\n\t}\n\n\t/**\n\t * Convert date to YYYYMMDD format\n\t * @param {Date} date to encode\n\t * @return {String} encoded date\n\t */\n\tfunction YYYYMMDD(date) {\n\t\treturn date.getFullYear() + ('0' + (date.getMonth()+1)).slice(-2) + ('0' + date.getDate()).slice(-2);\n\t}\n\n\tmodule.exports = {\n\n\t\t/**\n\t\t * Get formatted vCard in VCF format\n\t\t * @param {object} vCard object\n\t\t * @return {String} Formatted vCard in VCF format\n\t\t */\n\t\tgetFormattedString: function(vCard) {\n\n\t\t\tmajorVersion = vCard.getMajorVersion();\n\n\t\t\tvar formattedVCardString = '';\n\t\t\tformattedVCardString += 'BEGIN:VCARD' + nl();\n\t\t\tformattedVCardString += 'VERSION:' + vCard.version + nl();\n\n\t\t\tvar encodingPrefix = majorVersion >= 4 ? '' : ';CHARSET=UTF-8';\n\t\t\tvar formattedName = vCard.formattedName;\n\n\t\t\tif (!formattedName) {\n\t\t\t\tformattedName = '';\n\n\t\t\t\t[vCard.firstName, vCard.middleName, vCard.lastName]\n\t\t\t\t\t.forEach(function(name) {\n\t\t\t\t\t\tif (name) {\n\t\t\t\t\t\t\tif (formattedName) {\n\t\t\t\t\t\t\t\tformattedName += ' ';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tformattedName += name;\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tformattedVCardString += 'FN' + encodingPrefix + ':' + e(formattedName) + nl();\n\t\t\tformattedVCardString += 'N' + encodingPrefix + ':' +\n\t\t\t\te(vCard.lastName) + ';' +\n\t\t\t\te(vCard.firstName) + ';' +\n\t\t\t\te(vCard.middleName) + ';' +\n\t\t\t\te(vCard.namePrefix) + ';' +\n\t\t\t\te(vCard.nameSuffix) + nl();\n\n\t\t\tif (vCard.nickname && majorVersion >= 3) {\n\t\t\t\tformattedVCardString += 'NICKNAME' + encodingPrefix + ':' + e(vCard.nickname) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.gender) {\n\t\t\t\tformattedVCardString += 'GENDER:' + e(vCard.gender) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.uid) {\n\t\t\t\tformattedVCardString += 'UID' + encodingPrefix + ':' + e(vCard.uid) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.birthday) {\n\t\t\t\tformattedVCardString += 'BDAY:' + YYYYMMDD(vCard.birthday) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.anniversary) {\n\t\t\t\tformattedVCardString += 'ANNIVERSARY:' + YYYYMMDD(vCard.anniversary) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.email) {\n\t\t\t\tif(!Array.isArray(vCard.email)){\n\t\t\t\t\tvCard.email = [vCard.email];\n\t\t\t\t}\n\t\t\t\tvCard.email.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';HOME;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workEmail) {\n\t\t\t\tif(!Array.isArray(vCard.workEmail)){\n\t\t\t\t\tvCard.workEmail = [vCard.workEmail];\n\t\t\t\t}\n\t\t\t\tvCard.workEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';WORK;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherEmail) {\n\t\t\t\tif(!Array.isArray(vCard.otherEmail)){\n\t\t\t\t\tvCard.otherEmail = [vCard.otherEmail];\n\t\t\t\t}\n\t\t\t\tvCard.otherEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';OTHER;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.logo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('LOGO', vCard.logo.url, vCard.logo.mediaType, vCard.logo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.photo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('PHOTO', vCard.photo.url, vCard.photo.mediaType, vCard.photo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.cellPhone) {\n\t\t\t\tif(!Array.isArray(vCard.cellPhone)){\n\t\t\t\t\tvCard.cellPhone = [vCard.cellPhone];\n\t\t\t\t}\n\t\t\t\tvCard.cellPhone.forEach(\n\t\t\t\t\tfunction(number){\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=CELL:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.pagerPhone) {\n\t\t\t\tif(!Array.isArray(vCard.pagerPhone)){\n\t\t\t\t\tvCard.pagerPhone = [vCard.pagerPhone];\n\t\t\t\t}\n\t\t\t\tvCard.pagerPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"pager,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=PAGER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homePhone) {\n\t\t\t\tif(!Array.isArray(vCard.homePhone)){\n\t\t\t\t\tvCard.homePhone = [vCard.homePhone];\n\t\t\t\t}\n\t\t\t\tvCard.homePhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,home\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workPhone) {\n\t\t\t\tif(!Array.isArray(vCard.workPhone)){\n\t\t\t\t\tvCard.workPhone = [vCard.workPhone];\n\t\t\t\t}\n\t\t\t\tvCard.workPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homeFax) {\n\t\t\t\tif(!Array.isArray(vCard.homeFax)){\n\t\t\t\t\tvCard.homeFax = [vCard.homeFax];\n\t\t\t\t}\n\t\t\t\tvCard.homeFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,home\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workFax) {\n\t\t\t\tif(!Array.isArray(vCard.workFax)){\n\t\t\t\t\tvCard.workFax = [vCard.workFax];\n\t\t\t\t}\n\t\t\t\tvCard.workFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherPhone) {\n\t\t\t\tif(!Array.isArray(vCard.otherPhone)){\n\t\t\t\t\tvCard.otherPhone = [vCard.otherPhone];\n\t\t\t\t}\n\t\t\t\tvCard.otherPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,other\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=OTHER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t[{\n\t\t\t\tdetails: vCard.homeAddress,\n\t\t\t\ttype: 'HOME'\n\t\t\t}, {\n\t\t\t\tdetails: vCard.workAddress,\n\t\t\t\ttype: 'WORK'\n\t\t\t}].forEach(\n\t\t\t\tfunction(address) {\n\t\t\t\t\tformattedVCardString += getFormattedAddress(encodingPrefix, address);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (vCard.title) {\n\t\t\t\tformattedVCardString += 'TITLE' + encodingPrefix + ':' + e(vCard.title) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.role) {\n\t\t\t\tformattedVCardString += 'ROLE' + encodingPrefix + ':' + e(vCard.role) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.organization) {\n\t\t\t\tformattedVCardString += 'ORG' + encodingPrefix + ':' + e(vCard.organization) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.url) {\n\t\t\t\tformattedVCardString += 'URL' + encodingPrefix + ':' + e(vCard.url) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.workUrl) {\n\t\t\t\tformattedVCardString += 'URL;type=WORK' + encodingPrefix + ':' + e(vCard.workUrl) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.note) {\n\t\t\t\tformattedVCardString += 'NOTE' + encodingPrefix + ':' + e(vCard.note) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.socialUrls) {\n\t\t\t\tfor (var key in vCard.socialUrls) {\n\t\t\t\t\tif (vCard.socialUrls.hasOwnProperty(key) &&\n\t\t\t\t\t\tvCard.socialUrls[key]) {\n\t\t\t\t\t\tformattedVCardString += 'X-SOCIALPROFILE' + encodingPrefix + ';TYPE=' + key + ':' + e(vCard.socialUrls[key]) + nl();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (vCard.source) {\n\t\t\t\tformattedVCardString += 'SOURCE' + encodingPrefix + ':' + e(vCard.source) + nl();\n\t\t\t}\n\n\t\t\tformattedVCardString += 'REV:' + (new Date()).toISOString() + nl();\n\t\t\t\n\t\t\tif (vCard.isOrganization) {\n\t\t\t\tformattedVCardString += 'X-ABShowAs:COMPANY' + nl();\n\t\t\t} \n\t\t\t\n\t\t\tformattedVCardString += 'END:VCARD' + nl();\n\t\t\treturn formattedVCardString;\n\t\t}\n\t};\n})();","/********************************************************************************\n vCards-js, Eric J Nesser, November 2014\n********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * Represents a contact that can be imported into Outlook, iOS, Mac OS, Android devices, and more\n */\nvar vCard = (function () {\n /**\n * Get photo object for storing photos in vCards\n */\n function getPhoto() {\n return {\n url: '',\n mediaType: '',\n base64: false,\n\n /**\n * Attach a photo from a URL\n * @param {string} url URL where photo can be found\n * @param {string} mediaType Media type of photo (JPEG, PNG, GIF)\n */\n attachFromUrl: function(url, mediaType) {\n this.url = url;\n this.mediaType = mediaType;\n this.base64 = false;\n },\n\n /**\n * Embed a photo from a file using base-64 encoding (not implemented yet)\n * @param {string} filename\n */\n embedFromFile: function(fileLocation) {\n var fs = require('fs');\n var path = require('path');\n this.mediaType = path.extname(fileLocation).toUpperCase().replace(/\\./g, \"\");\n var imgData = fs.readFileSync(fileLocation);\n this.url = imgData.toString('base64');\n this.base64 = true;\n },\n\n /**\n * Embed a photo from a base-64 string\n * @param {string} base64String\n */\n embedFromString: function(base64String, mediaType) {\n this.mediaType = mediaType;\n this.url = base64String;\n this.base64 = true;\n }\n };\n }\n\n /**\n * Get a mailing address to attach to a vCard.\n */\n function getMailingAddress() {\n return {\n /**\n * Represents the actual text that should be put on the mailing label when delivering a physical package\n * @type {String}\n */\n label: '',\n\n /**\n * Street address\n * @type {String}\n */\n street: '',\n\n /**\n * City\n * @type {String}\n */\n city: '',\n\n /**\n * State or province\n * @type {String}\n */\n stateProvince: '',\n\n /**\n * Postal code\n * @type {String}\n */\n postalCode: '',\n\n /**\n * Country or region\n * @type {String}\n */\n countryRegion: ''\n };\n }\n\n /**\n * Get social media URLs\n * @return {object} Social media URL hash group\n */\n function getSocialUrls() {\n return {\n 'facebook': '',\n 'linkedIn': '',\n 'twitter': '',\n 'flickr': ''\n };\n }\n\n /********************************************************************************\n * Public interface for vCard\n ********************************************************************************/\n return {\n\n /**\n * Specifies a value that represents a persistent, globally unique identifier associated with the vCard\n * @type {String}\n */\n uid: '',\n\n /**\n * Date of birth\n * @type {Datetime}\n */\n birthday: '',\n\n /**\n * Cell phone number\n * @type {String}\n */\n cellPhone: '',\n\n /**\n * Other cell phone number or pager\n * @type {String}\n */\n pagerPhone: '',\n\n /**\n * The address for private electronic mail communication\n * @type {String}\n */\n email: '',\n\n /**\n * The address for work-related electronic mail communication\n * @type {String}\n */\n workEmail: '',\n\n /**\n * First name\n * @type {String}\n */\n firstName: '',\n\n /**\n * Formatted name string associated with the vCard object (will automatically populate if not set)\n * @type {String}\n */\n formattedName: '',\n\n /**\n * Gender.\n * @type {String} Must be M or F for Male or Female\n */\n gender: '',\n\n /**\n * Home mailing address\n * @type {object}\n */\n homeAddress: getMailingAddress(),\n\n /**\n * Home phone\n * @type {String}\n */\n homePhone: '',\n\n /**\n * Home facsimile\n * @type {String}\n */\n homeFax: '',\n\n /**\n * Last name\n * @type {String}\n */\n lastName: '',\n\n /**\n * Logo\n * @type {object}\n */\n logo: getPhoto(),\n\n /**\n * Middle name\n * @type {String}\n */\n middleName: '',\n\n /**\n * Prefix for individual's name\n * @type {String}\n */\n namePrefix: '',\n\n /**\n * Suffix for individual's name\n * @type {String}\n */\n nameSuffix: '',\n\n /**\n * Nickname of individual\n * @type {String}\n */\n nickname: '',\n\n /**\n * Specifies supplemental information or a comment that is associated with the vCard\n * @type {String}\n */\n note: '',\n\n /**\n * The name and optionally the unit(s) of the organization associated with the vCard object\n * @type {String}\n */\n organization: '',\n\n /**\n * Individual's photo\n * @type {object}\n */\n photo: getPhoto(),\n\n /**\n * The role, occupation, or business category of the vCard object within an organization\n * @type {String}\n */\n role: '',\n\n /**\n * Social URLs attached to the vCard object (ex: Facebook, Twitter, LinkedIn)\n * @type {String}\n */\n socialUrls: getSocialUrls(),\n\n /**\n * A URL that can be used to get the latest version of this vCard\n * @type {String}\n */\n source: '',\n\n /**\n * Specifies the job title, functional position or function of the individual within an organization\n * @type {String}\n */\n title: '',\n\n /**\n * URL pointing to a website that represents the person in some way\n * @type {String}\n */\n url: '',\n\n /**\n * URL pointing to a website that represents the person's work in some way\n * @type {String}\n */\n workUrl: '',\n\n /**\n * Work mailing address\n * @type {object}\n */\n workAddress: getMailingAddress(),\n\n /**\n * Work phone\n * @type {String}\n */\n workPhone: '',\n\n /**\n * Work facsimile\n * @type {String}\n */\n workFax: '',\n\n /**\n * vCard version\n * @type {String}\n */\n version: '3.0',\n\n /**\n * Get major version of the vCard format\n * @return {integer}\n */\n getMajorVersion: function() {\n var majorVersionString = this.version ? this.version.split('.')[0] : '4';\n if (!isNaN(majorVersionString)) {\n return parseInt(majorVersionString);\n }\n return 4;\n },\n\n /**\n * Get formatted vCard\n * @return {String} Formatted vCard in VCF format\n */\n getFormattedString: function() {\n var vCardFormatter = require('./lib/vCardFormatter');\n return vCardFormatter.getFormattedString(this);\n },\n\n /**\n * Save formatted vCard to file\n * @param {String} filename\n */\n saveToFile: function(filename) {\n var vCardFormatter = require('./lib/vCardFormatter');\n var contents = vCardFormatter.getFormattedString(this);\n\n var fs = require('fs');\n fs.writeFileSync(filename, contents, { encoding: 'utf8' });\n }\n };\n});\n\nmodule.exports = vCard;\n","/**\n * vCard Property\n * @constructor\n * @memberOf vCard\n * @param {String} field\n * @param {String} value\n * @param {Object} params\n * @return {Property}\n */\nfunction Property( field, value, params ) {\n\n if( !(this instanceof Property) )\n return new Property( value )\n\n if( params != null )\n Object.assign( this, params )\n\n this._field = field\n this._data = value\n\n Object.defineProperty( this, '_field', { enumerable: false })\n Object.defineProperty( this, '_data', { enumerable: false })\n\n}\n\n/**\n * Constructs a vCard.Property from jCard data\n * @param {Array} data\n * @return {Property}\n */\nProperty.fromJSON = function( data ) {\n\n var field = data[0]\n var params = data[1]\n\n if( !/text/i.test( data[2] ) )\n params.value = data[2]\n\n var value = Array.isArray( data[3] ) ?\n data[3].join( ';' ) : data[3]\n\n return new Property( field, value, params )\n\n}\n\n/**\n * Turn a string into capitalized dash-case\n * @internal used by `Property#toString()`\n * @param {String} value\n * @return {String}\n * @ignore\n */\nfunction capitalDashCase( value ) {\n return value.replace( /([A-Z])/g, '-$1' ).toUpperCase()\n}\n\n/**\n * Property prototype\n * @type {Object}\n */\nProperty.prototype = {\n\n constructor: Property,\n\n /**\n * Check whether the property is of a given type\n * @param {String} type\n * @return {Boolean}\n */\n is: function( type ) {\n type = ( type + '' ).toLowerCase()\n return Array.isArray( this.type ) ?\n this.type.indexOf( type ) >= 0 :\n this.type === type\n },\n\n /**\n * Check whether the property is empty\n * @return {Boolean}\n */\n isEmpty: function() {\n return this._data == null &&\n Object.keys( this ).length === 0\n },\n\n /**\n * Clone the property\n * @return {Property}\n */\n clone: function() {\n return new Property( this._field, this._data, this )\n },\n\n /**\n * Format the property as vcf with given version\n * @param {String} version\n * @return {String}\n */\n toString: function( version ) {\n\n var propName = (this.group ? this.group + '.' : '') + capitalDashCase( this._field )\n var keys = Object.keys( this )\n var params = []\n\n for( var i = 0; i < keys.length; i++ ) {\n if (keys[i] === 'group') continue\n\n switch (propName) {\n case 'TEL':\n case 'ADR':\n case 'EMAIL':\n if (version === '2.1') {\n if (Array.isArray(this[keys[i]]))\n params.push(this[keys[i]].join(';'))\n else\n params.push(this[keys[i]])\n }\n else\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n break\n default:\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n }\n }\n\n if (version === '2.1' || version === '3.0')\n return propName +\n ( params.length ? ';' + params.join( ';' ).toUpperCase() : params.toString().toUpperCase() ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n else\n return propName +\n ( params.length ? ';' + params.join( ';' ) : params ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n\n },\n\n /**\n * Get the property's value\n * @return {String}\n */\n valueOf: function() {\n return this._data\n },\n\n /**\n * Format the property as jCard data\n * @return {Array}\n */\n toJSON: function() {\n\n var params = Object.assign({},this)\n\n if( params.value === 'text' ) {\n params.value = void 0\n delete params.value\n }\n\n var data = [ this._field, params, this.value || 'text' ]\n\n switch( this._field ) {\n default: data.push( this._data ); break\n case 'adr':\n case 'n':\n data.push( this._data.split( ';' ) )\n }\n\n return data\n\n },\n\n}\n\n// Exports\nmodule.exports = Property\n","var camelCase = require( 'camelcase' )\nvar Property = require( './property' )\n\nfunction set( object, key, value ) {\n if( Array.isArray( object[ key ] ) ) {\n object[ key ].push( value )\n } else if( object[ key ] != null ) {\n object[ key ] = [ object[ key ], value ]\n } else {\n object[ key ] = value\n }\n}\n\nfunction createParams( params, param ) {\n\n var parts = param.split( '=' )\n var k = camelCase( parts[0] )\n var value = parts[1]\n\n if( value == null || value === '' ) {\n value = parts[0]\n k = 'type'\n }\n\n if( k === 'type' ) {\n\n if (value[ 0 ] === '\"' && value[ value.length - 1 ] === '\"' && value.indexOf(',') !== -1)\n value = value.slice(1, -1)\n value.toLowerCase().split( ',' ).forEach( function( value ) {\n set( params, k, value )\n })\n\n return params\n\n }\n\n set( params, k, value )\n\n return params\n\n}\n\nfunction parseLines( lines ) {\n\n var data = {}\n\n // NOTE: Line format:\n // PROPERTY[;PARAMETER[=VALUE]]:Attribute[;Attribute]\n var line = null\n var pattern = /^([^;:]+)((?:;(?:[^;:]+))*)(?:\\:([\\s\\S]+))?$/i\n var len = lines.length - 1\n\n for( var i = 1; i < len; i++ ) {\n\n line = lines[i]\n\n var match = pattern.exec( line )\n if( !match ) continue;\n\n var name = match[1].split('.')\n var property = name.pop()\n var group = name.pop()\n var value = match[3]\n var params = match[2] ?\n match[2].replace( /^;|;$/g, '' ).split( ';' ) : []\n\n var propParams = params.reduce( createParams, group ? { group: group } : {})\n var propName = camelCase( property )\n var propVal = new Property( propName, value, propParams )\n\n set( data, propName, propVal )\n\n }\n\n return data\n\n}\n\nmodule.exports = parseLines\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import VCard from 'vcards-js'\r\nimport vcf from 'vcf'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface Address {\r\n streetAddress?: string\r\n locality?: string\r\n postalCode?: string\r\n stateProvince?: string\r\n region?: string\r\n country?: string\r\n}\r\n\r\nexport enum AddressType {\r\n Home = 'home',\r\n Work = 'work'\r\n}\r\n\r\nexport enum PhoneType {\r\n Home = 'home',\r\n Work = 'work',\r\n Cell = 'cell',\r\n Pager = 'pager'\r\n}\r\n\r\nexport enum SocialType {\r\n Messenger = 'messenger',\r\n Twitter = 'twitter',\r\n Facebook = 'facebook',\r\n LinkedIn = 'linkedin',\r\n SinaWeibo = 'weibo',\r\n Jabber = 'jabber',\r\n QQ = 'qq',\r\n GaduGadu = 'gadu-gadu'\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport interface VCardPluginOptions {\r\n data: {\r\n fullName: string\r\n name?: {\r\n first?: string\r\n last?: string\r\n middle?: string\r\n prefix?: string\r\n suffix?: string\r\n nick?: string\r\n }\r\n title?: string\r\n birthday?: Date | string\r\n phone?: Array<{ type?: `${PhoneType}`, value: string }>\r\n email?: Array<{ type?: `${AddressType}`, value: string }>\r\n address?: {\r\n work?: Address\r\n home?: Address\r\n }\r\n note?: string\r\n company?: string\r\n social?: Array<{ type: `${SocialType}`, value: string }>\r\n website?: {\r\n personal?: string\r\n company?: string\r\n }\r\n }\r\n}\r\n\r\nexport default class VCardPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: VCardPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateVCard()\r\n return options\r\n }\r\n\r\n private generateVCard() {\r\n const { data } = this.pluginOptions\r\n const card = VCard()\r\n card.version = '3.0'\r\n\r\n card.formattedName = data.fullName\r\n\r\n const extraProps = new Array<vcf.Property>()\r\n let groupCounter = 1\r\n const getGroup = () => `item${groupCounter++}`\r\n\r\n if (data.name) {\r\n const n = data.name\r\n if (n.first)\r\n card.firstName = n.first\r\n if (n.last)\r\n card.lastName = n.last\r\n if (n.middle)\r\n card.middleName = n.middle\r\n if (n.nick) {\r\n card.nickname = n.nick\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAndroidCustom',\r\n {},\r\n 'text',\r\n ['vnd.android.cursor.item/nickname', n.nick, '1', '', '', '', '', '', '', '', '', '', '', '', '', '']\r\n ]))\r\n }\r\n if (n.prefix)\r\n card.namePrefix = n.prefix\r\n if (n.suffix)\r\n card.nameSuffix = n.suffix\r\n }\r\n\r\n if (data.title)\r\n card.title = data.title\r\n\r\n if (data.birthday)\r\n card.birthday = toDate(data.birthday)!\r\n\r\n data.phone?.forEach(el => {\r\n let key: 'workPhone' | 'cellPhone' | 'pagerPhone' | 'homePhone' | 'otherPhone' = 'otherPhone'\r\n switch (el.type) {\r\n case PhoneType.Work:\r\n key = 'workPhone'\r\n break\r\n\r\n case PhoneType.Cell:\r\n key = 'cellPhone'\r\n break\r\n\r\n case PhoneType.Pager:\r\n key = 'pagerPhone'\r\n break\r\n\r\n case PhoneType.Home:\r\n key = 'homePhone'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n data.email?.forEach(el => {\r\n let key: 'workEmail' | 'email' | 'otherEmail' = 'otherEmail'\r\n switch (el.type) {\r\n case AddressType.Work:\r\n key = 'workEmail'\r\n break\r\n\r\n case AddressType.Home:\r\n key = 'email'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n if (data.address) {\r\n Object.entries(data.address).forEach(([k, v]) => {\r\n let key: 'workAddress' | 'homeAddress' = 'homeAddress'\r\n switch (k) {\r\n case 'home':\r\n key = 'homeAddress'\r\n break\r\n\r\n case 'work':\r\n key = 'workAddress'\r\n break\r\n }\r\n if (v.streetAddress)\r\n card[key].street = v.streetAddress\r\n if (v.locality)\r\n card[key].city = v.locality\r\n if (v.postalCode)\r\n card[key].postalCode = v.postalCode\r\n if (v.stateProvince)\r\n card[key].stateProvince = v.stateProvince\r\n\r\n const cr = new Array<string>()\r\n if (v.region)\r\n cr.push(v.region)\r\n\r\n if (v.country)\r\n cr.push(v.country)\r\n\r\n const countryRegion = cr\r\n .map(p => p.trim())\r\n .filter(p => !!p)\r\n .join(', ')\r\n\r\n if (countryRegion)\r\n card[key].countryRegion = countryRegion\r\n })\r\n }\r\n\r\n if (data.note)\r\n card.note = data.note\r\n\r\n if (data.company)\r\n card.organization = data.company\r\n\r\n const pushMsgProtocol = (username: string, type: string, protocol: string, service: string) => {\r\n let group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n type,\r\n {\r\n group\r\n },\r\n 'text',\r\n username\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n\r\n group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: service\r\n },\r\n 'text',\r\n `${protocol}:${username}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n }\r\n\r\n if (data.social)\r\n data.social.forEach((v) => {\r\n switch (v.type) {\r\n case SocialType.Messenger:\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xSocialprofile',\r\n {\r\n type: 'messenger',\r\n xUser: v.value\r\n },\r\n 'text',\r\n 'x-apple:messenger'\r\n ]))\r\n const group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: 'Facebook'\r\n },\r\n 'text',\r\n `xmpp:${v.value}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n 'Facebook'\r\n ]))\r\n break\r\n\r\n case SocialType.Twitter:\r\n case SocialType.Facebook:\r\n case SocialType.LinkedIn:\r\n case SocialType.SinaWeibo:\r\n const surl = getSocialUrl(v)\r\n if (surl)\r\n card.socialUrls[v.type] = surl\r\n break\r\n\r\n case SocialType.Jabber:\r\n pushMsgProtocol(v.value, 'xJabber', 'xmpp', 'Jabber')\r\n break\r\n\r\n case SocialType.QQ:\r\n pushMsgProtocol(v.value, 'xQq', 'x-apple', 'QQ')\r\n break\r\n\r\n case SocialType.GaduGadu:\r\n pushMsgProtocol(v.value, 'xGaduGadu', 'x-apple', 'GaduGadu')\r\n break\r\n }\r\n })\r\n\r\n if (data.website?.company)\r\n card.workUrl = data.website.company\r\n\r\n if (data.website?.personal)\r\n card.url = data.website.personal\r\n\r\n if (this.uuid)\r\n card.uid = this.uuid\r\n\r\n const parsed = vcf.parse(card.getFormattedString())[0]\r\n extraProps.forEach(prop => parsed.addProperty(prop))\r\n\r\n return parsed.toString('3.0')\r\n .replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi, 'X-SOCIALPROFILE;')\r\n .replace(/X-AB-LABEL/gi, 'X-ABLabel')\r\n .replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi, (tx, m) => tx.replace(m, m.toLowerCase().replace('type=messenger', 'type=Messenger')))\r\n .replace(/;TYPE=OTHER[^;:]*?([;:])/ig, (_, m) => m)\r\n }\r\n}\r\n\r\nconst socialUrls = {\r\n [SocialType.Twitter]: 'https://x.com/',\r\n [SocialType.Facebook]: 'https://www.facebook.com/',\r\n [SocialType.LinkedIn]: 'https://www.linkedin.com/in/',\r\n [SocialType.SinaWeibo]: 'https://weibo.com/n/',\r\n [SocialType.Messenger]: 'https://www.messenger.com/t/'\r\n}\r\n\r\nfunction getSocialUrl({ value, type }: { value: string, type: `${SocialType}` }) {\r\n let val = value?.trim()\r\n if (!val.match(/^https?:\\/\\//im)) {\r\n try {\r\n const u = new URL(socialUrls[type as keyof typeof socialUrls])\r\n u.pathname = (u.pathname + '/' + val).replace(/[\\/\\\\]+/g, '/')\r\n val = u.toString()\r\n } catch {\r\n return undefined\r\n }\r\n }\r\n return val\r\n}\r\n\r\n","/**\n * vCard\n * @constructor\n * @return {vCard}\n */\nfunction vCard() {\n\n if( !(this instanceof vCard) )\n return new vCard()\n\n /** @type {String} Version number */\n this.version = vCard.versions[ vCard.versions.length - 1 ]\n /** @type {Object} Card data */\n this.data = {}\n\n}\n\n/**\n * vCard MIME type\n * @type {String}\n */\nvCard.mimeType = 'text/vcard'\n\n/**\n * vCard file extension\n * @type {String}\n */\nvCard.extension = '.vcf'\n\n/**\n * vCard versions\n * @type {Array}\n */\nvCard.versions = [ '2.1', '3.0', '4.0' ]\n\n/**\n * VCF EOL character sequence\n * @type {String}\n */\nvCard.EOL = '\\r\\n'\n\n/**\n * Folds a long line according to the RFC 5322.\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n * @param {String} input\n * @param {Number} maxLength\n * @param {Boolean} hardWrap\n * @return {String}\n */\nvCard.foldLine = require( 'foldline' )\n\n/**\n * Normalizes input (cast to string, line folding, whitespace)\n * @param {String} input\n * @return {String}\n */\nvCard.normalize = function( input ) {\n return ( input + '' )\n // Trim whitespace\n .replace( /^[\\s\\r\\n]+|[\\s\\r\\n]+$/g, '' )\n // Trim blank lines\n .replace( /(\\r\\n)[\\x09\\x20]?(\\r\\n)|$/g, '$1' )\n // Unfold folded lines\n .replace( /\\r\\n[\\x20\\x09]/g, \"\" )\n}\n\n/**\n * Check whether a given version is supported\n * @param {String} version\n * @return {Boolean}\n */\nvCard.isSupported = function( version ) {\n return /^\\d\\.\\d$/.test( version ) &&\n vCard.versions.indexOf( version ) !== -1\n}\n\n/**\n * Parses a string or buffer into a vCard object\n * @param {String|Buffer} value\n * @return {Array<vCard>}\n */\nvCard.parse = function( value ) {\n\n var objects = ( value + '' ).split( /(?=BEGIN\\:VCARD)/gi )\n var cards = []\n\n for( var i = 0; i < objects.length; i++ ) {\n cards.push( new vCard().parse( objects[i] ) )\n }\n\n return cards\n\n}\n\n/**\n * Parse an array of vcf formatted lines\n * @internal used by `vCard#parse()`\n * @type {Function}\n */\nvCard.parseLines = require( './parse-lines' )\n\n/**\n * Constructs a vCard from jCard data\n * @param {Array} jcard\n * @return {vCard}\n */\nvCard.fromJSON = function( jcard ) {\n\n jcard = typeof jcard === 'string' ?\n JSON.parse( jcard ) : jcard\n\n if( jcard == null || !Array.isArray( jcard ) )\n return new vCard()\n\n if( !/vcard/i.test( jcard[0] ) )\n throw new Error( 'Object not in jCard format' )\n\n var card = new vCard()\n\n jcard[1].forEach( function( prop ) {\n card.addProperty( vCard.Property.fromJSON( prop ) )\n })\n\n return card\n\n}\n\n/**\n * Format a card object according to the given version\n * @param {vCard} card\n * @param {String} version\n * @return {String}\n */\nvCard.format = function( card, version ) {\n\n version = version || card.version ||\n vCard.versions[ vCard.versions.length - 1 ]\n\n if( !vCard.isSupported( version ) )\n throw new Error( 'Unsupported vCard version \"' + version + '\"' )\n\n var vcf = []\n\n vcf.push( 'BEGIN:VCARD' )\n vcf.push( 'VERSION:' + version )\n\n var props = Object.keys( card.data )\n var prop = ''\n\n for( var i = 0; i < props.length; i++ ) {\n if( props[i] === 'version' ) continue;\n prop = card.data[ props[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n if( prop[k].isEmpty() ) continue\n vcf.push( vCard.foldLine( prop[k].toString( version ), 75 ) )\n }\n } else if( !prop.isEmpty() ) {\n vcf.push( vCard.foldLine( prop.toString( version ), 75 ) )\n }\n }\n\n vcf.push( 'END:VCARD' )\n\n return vcf.join( vCard.EOL )\n\n}\n\n// vCard Property constructor\nvCard.Property = require( './property' )\n\n/**\n * vCard prototype\n * @type {Object}\n */\nvCard.prototype = {\n\n constructor: vCard,\n\n /**\n * Get a vCard property\n * @param {String} key\n * @return {Object|Array}\n */\n get: function( key ) {\n\n if( this.data[ key ] == null ) {\n return this.data[ key ]\n }\n\n if( Array.isArray( this.data[ key ] ) ) {\n return this.data[ key ].map( function( prop ) {\n return prop.clone()\n })\n } else {\n return this.data[ key ].clone()\n }\n\n },\n\n /**\n * Set a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n set: function( key, value, params ) {\n return this.setProperty( new vCard.Property( key, value, params ) )\n },\n\n /**\n * Add a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n add: function( key, value, params ) {\n var prop = new vCard.Property( key, value, params )\n this.addProperty( prop )\n return this\n },\n\n /**\n * Set a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n setProperty: function( prop ) {\n this.data[ prop._field ] = prop\n return this\n },\n\n /**\n * Add a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n addProperty: function( prop ) {\n\n var key = prop._field\n\n if( Array.isArray( this.data[ key ] ) ) {\n this.data[ key ].push( prop )\n } else if( this.data[ key ] != null ) {\n this.data[ key ] = [ this.data[ key ], prop ]\n } else {\n this.data[ key ] = prop\n }\n\n return this\n\n },\n\n /**\n * Parse a vcf formatted vCard\n * @param {String} value\n * @return {vCard}\n */\n parse: function( value ) {\n\n // Normalize & split\n var lines = vCard.normalize( value )\n .split( /\\r\\n/g )\n\n // Keep begin and end markers\n // for eventual error messages\n var begin = lines[0]\n var version = lines[1]\n var end = lines[ lines.length - 1 ]\n\n // Multiple used RegExp's\n const regexp_version = /VERSION:\\d\\.\\d/i\n\n if( !/BEGIN:VCARD/i.test( begin ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"BEGIN:VCARD\" but found \"'+ begin +'\"' )\n\n if( !/END:VCARD/i.test( end ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"END:VCARD\" but found \"'+ end +'\"' )\n\n if( !regexp_version.test( version ) ) {\n // VERSION mostly follows BEGIN, but it has only mandatory follow BEGIN, for version 4.0\n // Let's do the more expensive lookup for the lesser used version variant\n if( !(version = lines.find( line => regexp_version.test( line ) ) ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"VERSION:\\\\d.\\\\d\" but none found' )\n // TODO: Do we need to throw an error if version = 4.0 or != 3.0|2.1? (because not followed BEGIN)?\n }\n\n this.version = version.substring( 8, 11 )\n\n if( !vCard.isSupported( this.version ) )\n throw new Error( 'Unsupported version \"' + this.version + '\"' )\n\n this.data = vCard.parseLines( lines )\n\n return this\n\n },\n\n /**\n * Format the vCard as vcf with given version\n * @param {String} version\n * @param {String} charset\n * @return {String}\n */\n toString: function( version, charset ) {\n version = version || this.version\n return vCard.format( this, version )\n },\n\n /**\n * Format the card as jCard\n * @param {String} version='4.0'\n * @return {Array} jCard\n */\n toJCard: function( version ) {\n\n version = version || '4.0'\n\n var keys = Object.keys( this.data )\n var data = [ [ 'version', {}, 'text', version ] ]\n var prop = null\n\n for( var i = 0; i < keys.length; i++ ) {\n if( keys[i] === 'version' ) continue;\n prop = this.data[ keys[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n data.push( prop[k].toJSON() )\n }\n } else {\n data.push( prop.toJSON() )\n }\n }\n\n return [ 'vcard', data ]\n\n },\n\n /**\n * Format the card as jCard\n * @return {Array} jCard\n */\n toJSON: function() {\n return this.toJCard( this.version )\n },\n\n}\n\n// Exports\nmodule.exports = vCard\n","\nconst CRLF = '\\r\\n'\n\nconst SP = ' '\n\n\n/**\n * Maximum line length (excluding <CR><LF>)\n * There are two limits that RFC 5322 places on the number of\n * characters in a line. Each line of characters MUST be\n * no more than 998 characters, and SHOULD be no more\n * than 78 characters, excluding the <CR><LF>.\n * @type {Number}\n * @constant\n */\nconst MAX_LINE_LENGTH = 998\n\n/**\n * Default maximum line length (excluding <CR><LF>)\n * @type {Number}\n * @constant\n */\nconst DEFAULT_LINE_LENGTH = 78\n\n/**\n * Minimum `maxLength` that can be used\n * @type {Number}\n * @constant\n */\nconst MIN_LINE_LENGTH = 2\n\n/**\n * Folds a long line according to RFC 5322\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n *\n * @param {String} input - input string\n * @param {Number} maxLength - maximum line length (excluding CRLF)\n * @param {Boolean} hardWrap - whether to insert a hard break at `maxLength`\n * @returns {String}\n */\nfunction foldLine( input, maxLength, hardWrap ) {\n\n if( maxLength != null && maxLength < MIN_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not be less than ' + MIN_LINE_LENGTH )\n }\n\n if( maxLength != null && maxLength > MAX_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not exceed ' + MAX_LINE_LENGTH )\n }\n\n // RFC compliant default line length\n maxLength = maxLength || DEFAULT_LINE_LENGTH\n\n input = input.replace( /[\\r\\n]+/g, '' )\n\n // We really don't need to fold this\n if( input.length <= maxLength ) {\n return input\n }\n\n var output = ''\n var index = 0\n var nextIndex = 0\n var length = input.length\n var line = 0\n var trim = 0\n\n while( index < length ) {\n if( !hardWrap && ~( nextIndex = input.lastIndexOf( SP, index + maxLength ) ) ) {\n if( nextIndex > index ) {\n output += input.slice( index, nextIndex ) + CRLF + SP\n index = nextIndex\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n hardWrap = true\n }\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n }\n if( ( length - index ) < maxLength ) {\n output += input.slice( index )\n break\n }\n if( line === 0 ) {\n trim = 1\n }\n line++\n }\n\n return output\n\n}\n\nfoldLine.unfold = function unfold( input ) {\n return input.replace( /\\r\\n\\s/gm, '' )\n}\n\nmodule.exports = foldLine\n"],"names":["vCardFormatter$1","e","value","replace","nl","getFormattedPhoto","photoType","url","mediaType","base64","majorVersion","YYYYMMDD","date","getFullYear","getMonth","slice","getDate","vCardFormatterModule","getFormattedString","vCard","getMajorVersion","formattedVCardString","version","encodingPrefix","formattedName","firstName","middleName","lastName","forEach","name","namePrefix","nameSuffix","nickname","gender","uid","birthday","anniversary","email","Array","isArray","address","workEmail","otherEmail","logo","photo","cellPhone","number","pagerPhone","homePhone","workPhone","homeFax","workFax","otherPhone","details","homeAddress","type","workAddress","formattedAddress","label","street","city","stateProvince","postalCode","countryRegion","title","role","organization","workUrl","note","socialUrls","key","hasOwnProperty","source","toISOString","Date","isOrganization","vcardsJs","getPhoto","attachFromUrl","this","embedFromFile","fileLocation","require$$1","extname","toUpperCase","require$$0","readFileSync","toString","embedFromString","base64String","facebook","linkedIn","twitter","flickr","majorVersionString","split","parseInt","require$$2","saveToFile","filename","contents","writeFileSync","encoding","Property","field","params","Object","assign","_field","_data","defineProperty","enumerable","capitalDashCase","fromJSON","Property.fromJSON","data","test","join","prototype","constructor","is","toLowerCase","indexOf","isEmpty","keys","length","clone","propName","group","i","push","valueOf","toJSON","property","set","object","createParams","param","parts","k","camelCase","input","options","TypeError","pascalCase","map","x","trim","filter","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","_","p1","m","charAt","postProcess","camelcaseModule","exports","default","parseLines_1","parseLines","lines","line","pattern","len","match","exec","pop","propParams","reduce","propVal","AddressType","versions","mimeType","extension","EOL","foldLine","maxLength","hardWrap","MIN_LINE_LENGTH","Error","MAX_LINE_LENGTH","DEFAULT_LINE_LENGTH","output","index","nextIndex","lastIndexOf","SP","CRLF","unfold","foldLine.unfold","foldline","normalize","vCard.normalize","isSupported","vCard.isSupported","parse","vCard.parse","objects","cards","vCard.fromJSON","jcard","JSON","card","prop","addProperty","format","vCard.format","vcf","props","get","setProperty","add","begin","end","regexp_version","SyntaxError","find","substring","toJCard","vcard","na","Home","Work","PhoneType","X","Cell","Pager","SocialType","Z","Messenger","Twitter","Facebook","LinkedIn","SinaWeibo","Jabber","QQ","GaduGadu","pluginOptions","uuid","configure","generateVCard","VCard","fullName","extraProps","groupCounter","n","first","last","middle","nick","prefix","suffix","toDate","val","phone","el","v","entries","streetAddress","locality","cr","region","country","p","company","pushMsgProtocol","username","protocol","service","xServiceType","social","xUser","getSocialUrl","u","URL","pathname","surl","website","personal","parsed","tx"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6,7]}
1
+ {"version":3,"file":"vcard-plugin.js","sources":["../node_modules/vcards-js/lib/vCardFormatter.js","../node_modules/vcards-js/index.js","../node_modules/vcf/lib/property.js","../node_modules/vcf/lib/parse-lines.js","../node_modules/camelcase/index.js","../src/plugins/vcard.ts","../node_modules/vcf/lib/vcard.js","../node_modules/foldline/foldline.js"],"sourcesContent":["/********************************************************************************\n vCards-js, Eric J Nesser, November 2014,\n ********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * vCard formatter for formatting vCards in VCF format\n */\n(function vCardFormatter() {\n\tvar majorVersion = '3';\n\n\t/**\n\t * Encode string\n\t * @param {String} value to encode\n\t * @return {String} encoded string\n\t */\n\tfunction e(value) {\n\t\tif (value) {\n\t\t\tif (typeof(value) !== 'string') {\n\t\t\t\tvalue = '' + value;\n\t\t\t}\n\t\t\treturn value.replace(/\\n/g, '\\\\n').replace(/,/g, '\\\\,').replace(/;/g, '\\\\;');\n\t\t}\n\t\treturn '';\n\t}\n\n\t/**\n\t * Return new line characters\n\t * @return {String} new line characters\n\t */\n\tfunction nl() {\n\t\treturn '\\r\\n';\n\t}\n\n\t/**\n\t * Get formatted photo\n\t * @param {String} photoType Photo type (PHOTO, LOGO)\n\t * @param {String} url URL to attach photo from\n\t * @param {String} mediaType Media-type of photo (JPEG, PNG, GIF)\n\t * @return {String} Formatted photo\n\t */\n\tfunction getFormattedPhoto(photoType, url, mediaType, base64) {\n\n\t\tvar params;\n\n\t\tif (majorVersion >= 4) {\n\t\t\tparams = base64 ? ';ENCODING=b;MEDIATYPE=image/' : ';MEDIATYPE=image/';\n\t\t} else if (majorVersion === 3) {\n\t\t\tparams = base64 ? ';ENCODING=b;TYPE=' : ';TYPE=';\n\t\t} else {\n\t\t\tparams = base64 ? ';ENCODING=BASE64;' : ';';\n\t\t}\n\n\t\tvar formattedPhoto = photoType + params + mediaType + ':' + e(url) + nl();\n\t\treturn formattedPhoto;\n\t}\n\n\t/**\n\t * Get formatted address\n\t * @param {object} address\n\t * @param {object} encoding prefix\n\t * @return {String} Formatted address\n\t */\n\tfunction getFormattedAddress(encodingPrefix, address) {\n\n\t\tvar formattedAddress = '';\n\n\t\tif (address.details.label ||\n\t\t\taddress.details.street ||\n\t\t\taddress.details.city ||\n\t\t\taddress.details.stateProvince ||\n\t\t\taddress.details.postalCode ||\n\t\t\taddress.details.countryRegion) {\n\n\t\t\tif (majorVersion >= 4) {\n\t\t\t\tformattedAddress = 'ADR' + encodingPrefix + ';TYPE=' + address.type +\n\t\t\t\t\t(address.details.label ? ';LABEL=\"' + e(address.details.label) + '\"' : '') + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\t\t\t} else {\n\t\t\t\tif (address.details.label) {\n\t\t\t\t\tformattedAddress = 'LABEL' + encodingPrefix + ';TYPE=' + address.type + ':' + e(address.details.label) + nl();\n\t\t\t\t}\n\t\t\t\tformattedAddress += 'ADR' + encodingPrefix + ';TYPE=' + address.type + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\n\t\t\t}\n\t\t}\n\n\t\treturn formattedAddress;\n\t}\n\n\t/**\n\t * Convert date to YYYYMMDD format\n\t * @param {Date} date to encode\n\t * @return {String} encoded date\n\t */\n\tfunction YYYYMMDD(date) {\n\t\treturn date.getFullYear() + ('0' + (date.getMonth()+1)).slice(-2) + ('0' + date.getDate()).slice(-2);\n\t}\n\n\tmodule.exports = {\n\n\t\t/**\n\t\t * Get formatted vCard in VCF format\n\t\t * @param {object} vCard object\n\t\t * @return {String} Formatted vCard in VCF format\n\t\t */\n\t\tgetFormattedString: function(vCard) {\n\n\t\t\tmajorVersion = vCard.getMajorVersion();\n\n\t\t\tvar formattedVCardString = '';\n\t\t\tformattedVCardString += 'BEGIN:VCARD' + nl();\n\t\t\tformattedVCardString += 'VERSION:' + vCard.version + nl();\n\n\t\t\tvar encodingPrefix = majorVersion >= 4 ? '' : ';CHARSET=UTF-8';\n\t\t\tvar formattedName = vCard.formattedName;\n\n\t\t\tif (!formattedName) {\n\t\t\t\tformattedName = '';\n\n\t\t\t\t[vCard.firstName, vCard.middleName, vCard.lastName]\n\t\t\t\t\t.forEach(function(name) {\n\t\t\t\t\t\tif (name) {\n\t\t\t\t\t\t\tif (formattedName) {\n\t\t\t\t\t\t\t\tformattedName += ' ';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tformattedName += name;\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tformattedVCardString += 'FN' + encodingPrefix + ':' + e(formattedName) + nl();\n\t\t\tformattedVCardString += 'N' + encodingPrefix + ':' +\n\t\t\t\te(vCard.lastName) + ';' +\n\t\t\t\te(vCard.firstName) + ';' +\n\t\t\t\te(vCard.middleName) + ';' +\n\t\t\t\te(vCard.namePrefix) + ';' +\n\t\t\t\te(vCard.nameSuffix) + nl();\n\n\t\t\tif (vCard.nickname && majorVersion >= 3) {\n\t\t\t\tformattedVCardString += 'NICKNAME' + encodingPrefix + ':' + e(vCard.nickname) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.gender) {\n\t\t\t\tformattedVCardString += 'GENDER:' + e(vCard.gender) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.uid) {\n\t\t\t\tformattedVCardString += 'UID' + encodingPrefix + ':' + e(vCard.uid) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.birthday) {\n\t\t\t\tformattedVCardString += 'BDAY:' + YYYYMMDD(vCard.birthday) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.anniversary) {\n\t\t\t\tformattedVCardString += 'ANNIVERSARY:' + YYYYMMDD(vCard.anniversary) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.email) {\n\t\t\t\tif(!Array.isArray(vCard.email)){\n\t\t\t\t\tvCard.email = [vCard.email];\n\t\t\t\t}\n\t\t\t\tvCard.email.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';HOME;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workEmail) {\n\t\t\t\tif(!Array.isArray(vCard.workEmail)){\n\t\t\t\t\tvCard.workEmail = [vCard.workEmail];\n\t\t\t\t}\n\t\t\t\tvCard.workEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';WORK;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherEmail) {\n\t\t\t\tif(!Array.isArray(vCard.otherEmail)){\n\t\t\t\t\tvCard.otherEmail = [vCard.otherEmail];\n\t\t\t\t}\n\t\t\t\tvCard.otherEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';OTHER;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.logo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('LOGO', vCard.logo.url, vCard.logo.mediaType, vCard.logo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.photo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('PHOTO', vCard.photo.url, vCard.photo.mediaType, vCard.photo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.cellPhone) {\n\t\t\t\tif(!Array.isArray(vCard.cellPhone)){\n\t\t\t\t\tvCard.cellPhone = [vCard.cellPhone];\n\t\t\t\t}\n\t\t\t\tvCard.cellPhone.forEach(\n\t\t\t\t\tfunction(number){\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=CELL:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.pagerPhone) {\n\t\t\t\tif(!Array.isArray(vCard.pagerPhone)){\n\t\t\t\t\tvCard.pagerPhone = [vCard.pagerPhone];\n\t\t\t\t}\n\t\t\t\tvCard.pagerPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"pager,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=PAGER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homePhone) {\n\t\t\t\tif(!Array.isArray(vCard.homePhone)){\n\t\t\t\t\tvCard.homePhone = [vCard.homePhone];\n\t\t\t\t}\n\t\t\t\tvCard.homePhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,home\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workPhone) {\n\t\t\t\tif(!Array.isArray(vCard.workPhone)){\n\t\t\t\t\tvCard.workPhone = [vCard.workPhone];\n\t\t\t\t}\n\t\t\t\tvCard.workPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homeFax) {\n\t\t\t\tif(!Array.isArray(vCard.homeFax)){\n\t\t\t\t\tvCard.homeFax = [vCard.homeFax];\n\t\t\t\t}\n\t\t\t\tvCard.homeFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,home\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workFax) {\n\t\t\t\tif(!Array.isArray(vCard.workFax)){\n\t\t\t\t\tvCard.workFax = [vCard.workFax];\n\t\t\t\t}\n\t\t\t\tvCard.workFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherPhone) {\n\t\t\t\tif(!Array.isArray(vCard.otherPhone)){\n\t\t\t\t\tvCard.otherPhone = [vCard.otherPhone];\n\t\t\t\t}\n\t\t\t\tvCard.otherPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,other\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=OTHER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t[{\n\t\t\t\tdetails: vCard.homeAddress,\n\t\t\t\ttype: 'HOME'\n\t\t\t}, {\n\t\t\t\tdetails: vCard.workAddress,\n\t\t\t\ttype: 'WORK'\n\t\t\t}].forEach(\n\t\t\t\tfunction(address) {\n\t\t\t\t\tformattedVCardString += getFormattedAddress(encodingPrefix, address);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (vCard.title) {\n\t\t\t\tformattedVCardString += 'TITLE' + encodingPrefix + ':' + e(vCard.title) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.role) {\n\t\t\t\tformattedVCardString += 'ROLE' + encodingPrefix + ':' + e(vCard.role) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.organization) {\n\t\t\t\tformattedVCardString += 'ORG' + encodingPrefix + ':' + e(vCard.organization) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.url) {\n\t\t\t\tformattedVCardString += 'URL' + encodingPrefix + ':' + e(vCard.url) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.workUrl) {\n\t\t\t\tformattedVCardString += 'URL;type=WORK' + encodingPrefix + ':' + e(vCard.workUrl) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.note) {\n\t\t\t\tformattedVCardString += 'NOTE' + encodingPrefix + ':' + e(vCard.note) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.socialUrls) {\n\t\t\t\tfor (var key in vCard.socialUrls) {\n\t\t\t\t\tif (vCard.socialUrls.hasOwnProperty(key) &&\n\t\t\t\t\t\tvCard.socialUrls[key]) {\n\t\t\t\t\t\tformattedVCardString += 'X-SOCIALPROFILE' + encodingPrefix + ';TYPE=' + key + ':' + e(vCard.socialUrls[key]) + nl();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (vCard.source) {\n\t\t\t\tformattedVCardString += 'SOURCE' + encodingPrefix + ':' + e(vCard.source) + nl();\n\t\t\t}\n\n\t\t\tformattedVCardString += 'REV:' + (new Date()).toISOString() + nl();\n\t\t\t\n\t\t\tif (vCard.isOrganization) {\n\t\t\t\tformattedVCardString += 'X-ABShowAs:COMPANY' + nl();\n\t\t\t} \n\t\t\t\n\t\t\tformattedVCardString += 'END:VCARD' + nl();\n\t\t\treturn formattedVCardString;\n\t\t}\n\t};\n})();","/********************************************************************************\n vCards-js, Eric J Nesser, November 2014\n********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * Represents a contact that can be imported into Outlook, iOS, Mac OS, Android devices, and more\n */\nvar vCard = (function () {\n /**\n * Get photo object for storing photos in vCards\n */\n function getPhoto() {\n return {\n url: '',\n mediaType: '',\n base64: false,\n\n /**\n * Attach a photo from a URL\n * @param {string} url URL where photo can be found\n * @param {string} mediaType Media type of photo (JPEG, PNG, GIF)\n */\n attachFromUrl: function(url, mediaType) {\n this.url = url;\n this.mediaType = mediaType;\n this.base64 = false;\n },\n\n /**\n * Embed a photo from a file using base-64 encoding (not implemented yet)\n * @param {string} filename\n */\n embedFromFile: function(fileLocation) {\n var fs = require('fs');\n var path = require('path');\n this.mediaType = path.extname(fileLocation).toUpperCase().replace(/\\./g, \"\");\n var imgData = fs.readFileSync(fileLocation);\n this.url = imgData.toString('base64');\n this.base64 = true;\n },\n\n /**\n * Embed a photo from a base-64 string\n * @param {string} base64String\n */\n embedFromString: function(base64String, mediaType) {\n this.mediaType = mediaType;\n this.url = base64String;\n this.base64 = true;\n }\n };\n }\n\n /**\n * Get a mailing address to attach to a vCard.\n */\n function getMailingAddress() {\n return {\n /**\n * Represents the actual text that should be put on the mailing label when delivering a physical package\n * @type {String}\n */\n label: '',\n\n /**\n * Street address\n * @type {String}\n */\n street: '',\n\n /**\n * City\n * @type {String}\n */\n city: '',\n\n /**\n * State or province\n * @type {String}\n */\n stateProvince: '',\n\n /**\n * Postal code\n * @type {String}\n */\n postalCode: '',\n\n /**\n * Country or region\n * @type {String}\n */\n countryRegion: ''\n };\n }\n\n /**\n * Get social media URLs\n * @return {object} Social media URL hash group\n */\n function getSocialUrls() {\n return {\n 'facebook': '',\n 'linkedIn': '',\n 'twitter': '',\n 'flickr': ''\n };\n }\n\n /********************************************************************************\n * Public interface for vCard\n ********************************************************************************/\n return {\n\n /**\n * Specifies a value that represents a persistent, globally unique identifier associated with the vCard\n * @type {String}\n */\n uid: '',\n\n /**\n * Date of birth\n * @type {Datetime}\n */\n birthday: '',\n\n /**\n * Cell phone number\n * @type {String}\n */\n cellPhone: '',\n\n /**\n * Other cell phone number or pager\n * @type {String}\n */\n pagerPhone: '',\n\n /**\n * The address for private electronic mail communication\n * @type {String}\n */\n email: '',\n\n /**\n * The address for work-related electronic mail communication\n * @type {String}\n */\n workEmail: '',\n\n /**\n * First name\n * @type {String}\n */\n firstName: '',\n\n /**\n * Formatted name string associated with the vCard object (will automatically populate if not set)\n * @type {String}\n */\n formattedName: '',\n\n /**\n * Gender.\n * @type {String} Must be M or F for Male or Female\n */\n gender: '',\n\n /**\n * Home mailing address\n * @type {object}\n */\n homeAddress: getMailingAddress(),\n\n /**\n * Home phone\n * @type {String}\n */\n homePhone: '',\n\n /**\n * Home facsimile\n * @type {String}\n */\n homeFax: '',\n\n /**\n * Last name\n * @type {String}\n */\n lastName: '',\n\n /**\n * Logo\n * @type {object}\n */\n logo: getPhoto(),\n\n /**\n * Middle name\n * @type {String}\n */\n middleName: '',\n\n /**\n * Prefix for individual's name\n * @type {String}\n */\n namePrefix: '',\n\n /**\n * Suffix for individual's name\n * @type {String}\n */\n nameSuffix: '',\n\n /**\n * Nickname of individual\n * @type {String}\n */\n nickname: '',\n\n /**\n * Specifies supplemental information or a comment that is associated with the vCard\n * @type {String}\n */\n note: '',\n\n /**\n * The name and optionally the unit(s) of the organization associated with the vCard object\n * @type {String}\n */\n organization: '',\n\n /**\n * Individual's photo\n * @type {object}\n */\n photo: getPhoto(),\n\n /**\n * The role, occupation, or business category of the vCard object within an organization\n * @type {String}\n */\n role: '',\n\n /**\n * Social URLs attached to the vCard object (ex: Facebook, Twitter, LinkedIn)\n * @type {String}\n */\n socialUrls: getSocialUrls(),\n\n /**\n * A URL that can be used to get the latest version of this vCard\n * @type {String}\n */\n source: '',\n\n /**\n * Specifies the job title, functional position or function of the individual within an organization\n * @type {String}\n */\n title: '',\n\n /**\n * URL pointing to a website that represents the person in some way\n * @type {String}\n */\n url: '',\n\n /**\n * URL pointing to a website that represents the person's work in some way\n * @type {String}\n */\n workUrl: '',\n\n /**\n * Work mailing address\n * @type {object}\n */\n workAddress: getMailingAddress(),\n\n /**\n * Work phone\n * @type {String}\n */\n workPhone: '',\n\n /**\n * Work facsimile\n * @type {String}\n */\n workFax: '',\n\n /**\n * vCard version\n * @type {String}\n */\n version: '3.0',\n\n /**\n * Get major version of the vCard format\n * @return {integer}\n */\n getMajorVersion: function() {\n var majorVersionString = this.version ? this.version.split('.')[0] : '4';\n if (!isNaN(majorVersionString)) {\n return parseInt(majorVersionString);\n }\n return 4;\n },\n\n /**\n * Get formatted vCard\n * @return {String} Formatted vCard in VCF format\n */\n getFormattedString: function() {\n var vCardFormatter = require('./lib/vCardFormatter');\n return vCardFormatter.getFormattedString(this);\n },\n\n /**\n * Save formatted vCard to file\n * @param {String} filename\n */\n saveToFile: function(filename) {\n var vCardFormatter = require('./lib/vCardFormatter');\n var contents = vCardFormatter.getFormattedString(this);\n\n var fs = require('fs');\n fs.writeFileSync(filename, contents, { encoding: 'utf8' });\n }\n };\n});\n\nmodule.exports = vCard;\n","/**\n * vCard Property\n * @constructor\n * @memberOf vCard\n * @param {String} field\n * @param {String} value\n * @param {Object} params\n * @return {Property}\n */\nfunction Property( field, value, params ) {\n\n if( !(this instanceof Property) )\n return new Property( value )\n\n if( params != null )\n Object.assign( this, params )\n\n this._field = field\n this._data = value\n\n Object.defineProperty( this, '_field', { enumerable: false })\n Object.defineProperty( this, '_data', { enumerable: false })\n\n}\n\n/**\n * Constructs a vCard.Property from jCard data\n * @param {Array} data\n * @return {Property}\n */\nProperty.fromJSON = function( data ) {\n\n var field = data[0]\n var params = data[1]\n\n if( !/text/i.test( data[2] ) )\n params.value = data[2]\n\n var value = Array.isArray( data[3] ) ?\n data[3].join( ';' ) : data[3]\n\n return new Property( field, value, params )\n\n}\n\n/**\n * Turn a string into capitalized dash-case\n * @internal used by `Property#toString()`\n * @param {String} value\n * @return {String}\n * @ignore\n */\nfunction capitalDashCase( value ) {\n return value.replace( /([A-Z])/g, '-$1' ).toUpperCase()\n}\n\n/**\n * Property prototype\n * @type {Object}\n */\nProperty.prototype = {\n\n constructor: Property,\n\n /**\n * Check whether the property is of a given type\n * @param {String} type\n * @return {Boolean}\n */\n is: function( type ) {\n type = ( type + '' ).toLowerCase()\n return Array.isArray( this.type ) ?\n this.type.indexOf( type ) >= 0 :\n this.type === type\n },\n\n /**\n * Check whether the property is empty\n * @return {Boolean}\n */\n isEmpty: function() {\n return this._data == null &&\n Object.keys( this ).length === 0\n },\n\n /**\n * Clone the property\n * @return {Property}\n */\n clone: function() {\n return new Property( this._field, this._data, this )\n },\n\n /**\n * Format the property as vcf with given version\n * @param {String} version\n * @return {String}\n */\n toString: function( version ) {\n\n var propName = (this.group ? this.group + '.' : '') + capitalDashCase( this._field )\n var keys = Object.keys( this )\n var params = []\n\n for( var i = 0; i < keys.length; i++ ) {\n if (keys[i] === 'group') continue\n\n switch (propName) {\n case 'TEL':\n case 'ADR':\n case 'EMAIL':\n if (version === '2.1') {\n if (Array.isArray(this[keys[i]]))\n params.push(this[keys[i]].join(';'))\n else\n params.push(this[keys[i]])\n }\n else\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n break\n default:\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n }\n }\n\n if (version === '2.1' || version === '3.0')\n return propName +\n ( params.length ? ';' + params.join( ';' ).toUpperCase() : params.toString().toUpperCase() ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n else\n return propName +\n ( params.length ? ';' + params.join( ';' ) : params ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n\n },\n\n /**\n * Get the property's value\n * @return {String}\n */\n valueOf: function() {\n return this._data\n },\n\n /**\n * Format the property as jCard data\n * @return {Array}\n */\n toJSON: function() {\n\n var params = Object.assign({},this)\n\n if( params.value === 'text' ) {\n params.value = void 0\n delete params.value\n }\n\n var data = [ this._field, params, this.value || 'text' ]\n\n switch( this._field ) {\n default: data.push( this._data ); break\n case 'adr':\n case 'n':\n data.push( this._data.split( ';' ) )\n }\n\n return data\n\n },\n\n}\n\n// Exports\nmodule.exports = Property\n","var camelCase = require( 'camelcase' )\nvar Property = require( './property' )\n\nfunction set( object, key, value ) {\n if( Array.isArray( object[ key ] ) ) {\n object[ key ].push( value )\n } else if( object[ key ] != null ) {\n object[ key ] = [ object[ key ], value ]\n } else {\n object[ key ] = value\n }\n}\n\nfunction createParams( params, param ) {\n\n var parts = param.split( '=' )\n var k = camelCase( parts[0] )\n var value = parts[1]\n\n if( value == null || value === '' ) {\n value = parts[0]\n k = 'type'\n }\n\n if( k === 'type' ) {\n\n if (value[ 0 ] === '\"' && value[ value.length - 1 ] === '\"' && value.indexOf(',') !== -1)\n value = value.slice(1, -1)\n value.toLowerCase().split( ',' ).forEach( function( value ) {\n set( params, k, value )\n })\n\n return params\n\n }\n\n set( params, k, value )\n\n return params\n\n}\n\nfunction parseLines( lines ) {\n\n var data = {}\n\n // NOTE: Line format:\n // PROPERTY[;PARAMETER[=VALUE]]:Attribute[;Attribute]\n var line = null\n var pattern = /^([^;:]+)((?:;(?:[^;:]+))*)(?:\\:([\\s\\S]+))?$/i\n var len = lines.length - 1\n\n for( var i = 1; i < len; i++ ) {\n\n line = lines[i]\n\n var match = pattern.exec( line )\n if( !match ) continue;\n\n var name = match[1].split('.')\n var property = name.pop()\n var group = name.pop()\n var value = match[3]\n var params = match[2] ?\n match[2].replace( /^;|;$/g, '' ).split( ';' ) : []\n\n var propParams = params.reduce( createParams, group ? { group: group } : {})\n var propName = camelCase( property )\n var propVal = new Property( propName, value, propParams )\n\n set( data, propName, propVal )\n\n }\n\n return data\n\n}\n\nmodule.exports = parseLines\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import VCard from 'vcards-js'\r\nimport vcf from 'vcf'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface Address {\r\n streetAddress?: string\r\n locality?: string\r\n postalCode?: string\r\n stateProvince?: string\r\n region?: string\r\n country?: string\r\n}\r\n\r\nexport enum AddressType {\r\n Home = 'home',\r\n Work = 'work'\r\n}\r\n\r\nexport enum PhoneType {\r\n Home = 'home',\r\n Work = 'work',\r\n Cell = 'cell',\r\n Pager = 'pager'\r\n}\r\n\r\nexport enum SocialType {\r\n Messenger = 'messenger',\r\n Twitter = 'twitter',\r\n Facebook = 'facebook',\r\n LinkedIn = 'linkedin',\r\n SinaWeibo = 'weibo',\r\n Jabber = 'jabber',\r\n QQ = 'qq',\r\n GaduGadu = 'gadu-gadu'\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport interface VCardPluginOptions {\r\n fullName: string\r\n name?: {\r\n first?: string\r\n last?: string\r\n middle?: string\r\n prefix?: string\r\n suffix?: string\r\n nick?: string\r\n }\r\n title?: string\r\n birthday?: Date | string\r\n phone?: Array<{ type?: `${PhoneType}`, value: string }>\r\n email?: Array<{ type?: `${AddressType}`, value: string }>\r\n address?: {\r\n work?: Address\r\n home?: Address\r\n }\r\n note?: string\r\n company?: string\r\n social?: Array<{ type: `${SocialType}`, value: string }>\r\n website?: {\r\n personal?: string\r\n company?: string\r\n }\r\n}\r\n\r\nexport default class VCardPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: VCardPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateVCard()\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n private generateVCard() {\r\n const data = this.pluginOptions\r\n const card = VCard()\r\n card.version = '3.0'\r\n\r\n card.formattedName = data.fullName\r\n\r\n const extraProps = new Array<vcf.Property>()\r\n let groupCounter = 1\r\n const getGroup = () => `item${groupCounter++}`\r\n\r\n if (data.name) {\r\n const n = data.name\r\n if (n.first)\r\n card.firstName = n.first\r\n if (n.last)\r\n card.lastName = n.last\r\n if (n.middle)\r\n card.middleName = n.middle\r\n if (n.nick) {\r\n card.nickname = n.nick\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAndroidCustom',\r\n {},\r\n 'text',\r\n ['vnd.android.cursor.item/nickname', n.nick, '1', '', '', '', '', '', '', '', '', '', '', '', '', '']\r\n ]))\r\n }\r\n if (n.prefix)\r\n card.namePrefix = n.prefix\r\n if (n.suffix)\r\n card.nameSuffix = n.suffix\r\n }\r\n\r\n if (data.title)\r\n card.title = data.title\r\n\r\n if (data.birthday)\r\n card.birthday = toDate(data.birthday)!\r\n\r\n data.phone?.forEach(el => {\r\n let key: 'workPhone' | 'cellPhone' | 'pagerPhone' | 'homePhone' | 'otherPhone' = 'otherPhone'\r\n switch (el.type) {\r\n case PhoneType.Work:\r\n key = 'workPhone'\r\n break\r\n\r\n case PhoneType.Cell:\r\n key = 'cellPhone'\r\n break\r\n\r\n case PhoneType.Pager:\r\n key = 'pagerPhone'\r\n break\r\n\r\n case PhoneType.Home:\r\n key = 'homePhone'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n data.email?.forEach(el => {\r\n let key: 'workEmail' | 'email' | 'otherEmail' = 'otherEmail'\r\n switch (el.type) {\r\n case AddressType.Work:\r\n key = 'workEmail'\r\n break\r\n\r\n case AddressType.Home:\r\n key = 'email'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n if (data.address) {\r\n Object.entries(data.address).forEach(([k, v]) => {\r\n let key: 'workAddress' | 'homeAddress' = 'homeAddress'\r\n switch (k) {\r\n case 'home':\r\n key = 'homeAddress'\r\n break\r\n\r\n case 'work':\r\n key = 'workAddress'\r\n break\r\n }\r\n if (v.streetAddress)\r\n card[key].street = v.streetAddress\r\n if (v.locality)\r\n card[key].city = v.locality\r\n if (v.postalCode)\r\n card[key].postalCode = v.postalCode\r\n if (v.stateProvince)\r\n card[key].stateProvince = v.stateProvince\r\n\r\n const cr = new Array<string>()\r\n if (v.region)\r\n cr.push(v.region)\r\n\r\n if (v.country)\r\n cr.push(v.country)\r\n\r\n const countryRegion = cr\r\n .map(p => p.trim())\r\n .filter(p => !!p)\r\n .join(', ')\r\n\r\n if (countryRegion)\r\n card[key].countryRegion = countryRegion\r\n })\r\n }\r\n\r\n if (data.note)\r\n card.note = data.note\r\n\r\n if (data.company)\r\n card.organization = data.company\r\n\r\n const pushMsgProtocol = (username: string, type: string, protocol: string, service: string) => {\r\n let group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n type,\r\n {\r\n group\r\n },\r\n 'text',\r\n username\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n\r\n group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: service\r\n },\r\n 'text',\r\n `${protocol}:${username}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n }\r\n\r\n if (data.social)\r\n data.social.forEach((v) => {\r\n switch (v.type) {\r\n case SocialType.Messenger:\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xSocialprofile',\r\n {\r\n type: 'messenger',\r\n xUser: v.value\r\n },\r\n 'text',\r\n 'x-apple:messenger'\r\n ]))\r\n const group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: 'Facebook'\r\n },\r\n 'text',\r\n `xmpp:${v.value}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n 'Facebook'\r\n ]))\r\n break\r\n\r\n case SocialType.Twitter:\r\n case SocialType.Facebook:\r\n case SocialType.LinkedIn:\r\n case SocialType.SinaWeibo:\r\n const surl = getSocialUrl(v)\r\n if (surl)\r\n card.socialUrls[v.type] = surl\r\n break\r\n\r\n case SocialType.Jabber:\r\n pushMsgProtocol(v.value, 'xJabber', 'xmpp', 'Jabber')\r\n break\r\n\r\n case SocialType.QQ:\r\n pushMsgProtocol(v.value, 'xQq', 'x-apple', 'QQ')\r\n break\r\n\r\n case SocialType.GaduGadu:\r\n pushMsgProtocol(v.value, 'xGaduGadu', 'x-apple', 'GaduGadu')\r\n break\r\n }\r\n })\r\n\r\n if (data.website?.company)\r\n card.workUrl = data.website.company\r\n\r\n if (data.website?.personal)\r\n card.url = data.website.personal\r\n\r\n if (this.uuid)\r\n card.uid = this.uuid\r\n\r\n const parsed = vcf.parse(card.getFormattedString())[0]\r\n extraProps.forEach(prop => parsed.addProperty(prop))\r\n\r\n return parsed.toString('3.0')\r\n .replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi, 'X-SOCIALPROFILE;')\r\n .replace(/X-AB-LABEL/gi, 'X-ABLabel')\r\n .replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi, (tx, m) => tx.replace(m, m.toLowerCase().replace('type=messenger', 'type=Messenger')))\r\n .replace(/;TYPE=OTHER[^;:]*?([;:])/ig, (_, m) => m)\r\n }\r\n}\r\n\r\nconst socialUrls = {\r\n [SocialType.Twitter]: 'https://x.com/',\r\n [SocialType.Facebook]: 'https://www.facebook.com/',\r\n [SocialType.LinkedIn]: 'https://www.linkedin.com/in/',\r\n [SocialType.SinaWeibo]: 'https://weibo.com/n/',\r\n [SocialType.Messenger]: 'https://www.messenger.com/t/'\r\n}\r\n\r\nfunction getSocialUrl({ value, type }: { value: string, type: `${SocialType}` }) {\r\n let val = value?.trim()\r\n if (!val.match(/^https?:\\/\\//im)) {\r\n try {\r\n const u = new URL(socialUrls[type as keyof typeof socialUrls])\r\n u.pathname = (u.pathname + '/' + val).replace(/[\\/\\\\]+/g, '/')\r\n val = u.toString()\r\n } catch {\r\n return undefined\r\n }\r\n }\r\n return val\r\n}\r\n\r\n","/**\n * vCard\n * @constructor\n * @return {vCard}\n */\nfunction vCard() {\n\n if( !(this instanceof vCard) )\n return new vCard()\n\n /** @type {String} Version number */\n this.version = vCard.versions[ vCard.versions.length - 1 ]\n /** @type {Object} Card data */\n this.data = {}\n\n}\n\n/**\n * vCard MIME type\n * @type {String}\n */\nvCard.mimeType = 'text/vcard'\n\n/**\n * vCard file extension\n * @type {String}\n */\nvCard.extension = '.vcf'\n\n/**\n * vCard versions\n * @type {Array}\n */\nvCard.versions = [ '2.1', '3.0', '4.0' ]\n\n/**\n * VCF EOL character sequence\n * @type {String}\n */\nvCard.EOL = '\\r\\n'\n\n/**\n * Folds a long line according to the RFC 5322.\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n * @param {String} input\n * @param {Number} maxLength\n * @param {Boolean} hardWrap\n * @return {String}\n */\nvCard.foldLine = require( 'foldline' )\n\n/**\n * Normalizes input (cast to string, line folding, whitespace)\n * @param {String} input\n * @return {String}\n */\nvCard.normalize = function( input ) {\n return ( input + '' )\n // Trim whitespace\n .replace( /^[\\s\\r\\n]+|[\\s\\r\\n]+$/g, '' )\n // Trim blank lines\n .replace( /(\\r\\n)[\\x09\\x20]?(\\r\\n)|$/g, '$1' )\n // Unfold folded lines\n .replace( /\\r\\n[\\x20\\x09]/g, \"\" )\n}\n\n/**\n * Check whether a given version is supported\n * @param {String} version\n * @return {Boolean}\n */\nvCard.isSupported = function( version ) {\n return /^\\d\\.\\d$/.test( version ) &&\n vCard.versions.indexOf( version ) !== -1\n}\n\n/**\n * Parses a string or buffer into a vCard object\n * @param {String|Buffer} value\n * @return {Array<vCard>}\n */\nvCard.parse = function( value ) {\n\n var objects = ( value + '' ).split( /(?=BEGIN\\:VCARD)/gi )\n var cards = []\n\n for( var i = 0; i < objects.length; i++ ) {\n cards.push( new vCard().parse( objects[i] ) )\n }\n\n return cards\n\n}\n\n/**\n * Parse an array of vcf formatted lines\n * @internal used by `vCard#parse()`\n * @type {Function}\n */\nvCard.parseLines = require( './parse-lines' )\n\n/**\n * Constructs a vCard from jCard data\n * @param {Array} jcard\n * @return {vCard}\n */\nvCard.fromJSON = function( jcard ) {\n\n jcard = typeof jcard === 'string' ?\n JSON.parse( jcard ) : jcard\n\n if( jcard == null || !Array.isArray( jcard ) )\n return new vCard()\n\n if( !/vcard/i.test( jcard[0] ) )\n throw new Error( 'Object not in jCard format' )\n\n var card = new vCard()\n\n jcard[1].forEach( function( prop ) {\n card.addProperty( vCard.Property.fromJSON( prop ) )\n })\n\n return card\n\n}\n\n/**\n * Format a card object according to the given version\n * @param {vCard} card\n * @param {String} version\n * @return {String}\n */\nvCard.format = function( card, version ) {\n\n version = version || card.version ||\n vCard.versions[ vCard.versions.length - 1 ]\n\n if( !vCard.isSupported( version ) )\n throw new Error( 'Unsupported vCard version \"' + version + '\"' )\n\n var vcf = []\n\n vcf.push( 'BEGIN:VCARD' )\n vcf.push( 'VERSION:' + version )\n\n var props = Object.keys( card.data )\n var prop = ''\n\n for( var i = 0; i < props.length; i++ ) {\n if( props[i] === 'version' ) continue;\n prop = card.data[ props[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n if( prop[k].isEmpty() ) continue\n vcf.push( vCard.foldLine( prop[k].toString( version ), 75 ) )\n }\n } else if( !prop.isEmpty() ) {\n vcf.push( vCard.foldLine( prop.toString( version ), 75 ) )\n }\n }\n\n vcf.push( 'END:VCARD' )\n\n return vcf.join( vCard.EOL )\n\n}\n\n// vCard Property constructor\nvCard.Property = require( './property' )\n\n/**\n * vCard prototype\n * @type {Object}\n */\nvCard.prototype = {\n\n constructor: vCard,\n\n /**\n * Get a vCard property\n * @param {String} key\n * @return {Object|Array}\n */\n get: function( key ) {\n\n if( this.data[ key ] == null ) {\n return this.data[ key ]\n }\n\n if( Array.isArray( this.data[ key ] ) ) {\n return this.data[ key ].map( function( prop ) {\n return prop.clone()\n })\n } else {\n return this.data[ key ].clone()\n }\n\n },\n\n /**\n * Set a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n set: function( key, value, params ) {\n return this.setProperty( new vCard.Property( key, value, params ) )\n },\n\n /**\n * Add a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n add: function( key, value, params ) {\n var prop = new vCard.Property( key, value, params )\n this.addProperty( prop )\n return this\n },\n\n /**\n * Set a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n setProperty: function( prop ) {\n this.data[ prop._field ] = prop\n return this\n },\n\n /**\n * Add a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n addProperty: function( prop ) {\n\n var key = prop._field\n\n if( Array.isArray( this.data[ key ] ) ) {\n this.data[ key ].push( prop )\n } else if( this.data[ key ] != null ) {\n this.data[ key ] = [ this.data[ key ], prop ]\n } else {\n this.data[ key ] = prop\n }\n\n return this\n\n },\n\n /**\n * Parse a vcf formatted vCard\n * @param {String} value\n * @return {vCard}\n */\n parse: function( value ) {\n\n // Normalize & split\n var lines = vCard.normalize( value )\n .split( /\\r\\n/g )\n\n // Keep begin and end markers\n // for eventual error messages\n var begin = lines[0]\n var version = lines[1]\n var end = lines[ lines.length - 1 ]\n\n // Multiple used RegExp's\n const regexp_version = /VERSION:\\d\\.\\d/i\n\n if( !/BEGIN:VCARD/i.test( begin ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"BEGIN:VCARD\" but found \"'+ begin +'\"' )\n\n if( !/END:VCARD/i.test( end ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"END:VCARD\" but found \"'+ end +'\"' )\n\n if( !regexp_version.test( version ) ) {\n // VERSION mostly follows BEGIN, but it has only mandatory follow BEGIN, for version 4.0\n // Let's do the more expensive lookup for the lesser used version variant\n if( !(version = lines.find( line => regexp_version.test( line ) ) ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"VERSION:\\\\d.\\\\d\" but none found' )\n // TODO: Do we need to throw an error if version = 4.0 or != 3.0|2.1? (because not followed BEGIN)?\n }\n\n this.version = version.substring( 8, 11 )\n\n if( !vCard.isSupported( this.version ) )\n throw new Error( 'Unsupported version \"' + this.version + '\"' )\n\n this.data = vCard.parseLines( lines )\n\n return this\n\n },\n\n /**\n * Format the vCard as vcf with given version\n * @param {String} version\n * @param {String} charset\n * @return {String}\n */\n toString: function( version, charset ) {\n version = version || this.version\n return vCard.format( this, version )\n },\n\n /**\n * Format the card as jCard\n * @param {String} version='4.0'\n * @return {Array} jCard\n */\n toJCard: function( version ) {\n\n version = version || '4.0'\n\n var keys = Object.keys( this.data )\n var data = [ [ 'version', {}, 'text', version ] ]\n var prop = null\n\n for( var i = 0; i < keys.length; i++ ) {\n if( keys[i] === 'version' ) continue;\n prop = this.data[ keys[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n data.push( prop[k].toJSON() )\n }\n } else {\n data.push( prop.toJSON() )\n }\n }\n\n return [ 'vcard', data ]\n\n },\n\n /**\n * Format the card as jCard\n * @return {Array} jCard\n */\n toJSON: function() {\n return this.toJCard( this.version )\n },\n\n}\n\n// Exports\nmodule.exports = vCard\n","\nconst CRLF = '\\r\\n'\n\nconst SP = ' '\n\n\n/**\n * Maximum line length (excluding <CR><LF>)\n * There are two limits that RFC 5322 places on the number of\n * characters in a line. Each line of characters MUST be\n * no more than 998 characters, and SHOULD be no more\n * than 78 characters, excluding the <CR><LF>.\n * @type {Number}\n * @constant\n */\nconst MAX_LINE_LENGTH = 998\n\n/**\n * Default maximum line length (excluding <CR><LF>)\n * @type {Number}\n * @constant\n */\nconst DEFAULT_LINE_LENGTH = 78\n\n/**\n * Minimum `maxLength` that can be used\n * @type {Number}\n * @constant\n */\nconst MIN_LINE_LENGTH = 2\n\n/**\n * Folds a long line according to RFC 5322\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n *\n * @param {String} input - input string\n * @param {Number} maxLength - maximum line length (excluding CRLF)\n * @param {Boolean} hardWrap - whether to insert a hard break at `maxLength`\n * @returns {String}\n */\nfunction foldLine( input, maxLength, hardWrap ) {\n\n if( maxLength != null && maxLength < MIN_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not be less than ' + MIN_LINE_LENGTH )\n }\n\n if( maxLength != null && maxLength > MAX_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not exceed ' + MAX_LINE_LENGTH )\n }\n\n // RFC compliant default line length\n maxLength = maxLength || DEFAULT_LINE_LENGTH\n\n input = input.replace( /[\\r\\n]+/g, '' )\n\n // We really don't need to fold this\n if( input.length <= maxLength ) {\n return input\n }\n\n var output = ''\n var index = 0\n var nextIndex = 0\n var length = input.length\n var line = 0\n var trim = 0\n\n while( index < length ) {\n if( !hardWrap && ~( nextIndex = input.lastIndexOf( SP, index + maxLength ) ) ) {\n if( nextIndex > index ) {\n output += input.slice( index, nextIndex ) + CRLF + SP\n index = nextIndex\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n hardWrap = true\n }\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n }\n if( ( length - index ) < maxLength ) {\n output += input.slice( index )\n break\n }\n if( line === 0 ) {\n trim = 1\n }\n line++\n }\n\n return output\n\n}\n\nfoldLine.unfold = function unfold( input ) {\n return input.replace( /\\r\\n\\s/gm, '' )\n}\n\nmodule.exports = foldLine\n"],"names":["vCardFormatter$1","e","value","replace","nl","getFormattedPhoto","photoType","url","mediaType","base64","majorVersion","YYYYMMDD","date","getFullYear","getMonth","slice","getDate","vCardFormatterModule","getFormattedString","vCard","getMajorVersion","formattedVCardString","version","encodingPrefix","formattedName","firstName","middleName","lastName","forEach","name","namePrefix","nameSuffix","nickname","gender","uid","birthday","anniversary","email","Array","isArray","address","workEmail","otherEmail","logo","photo","cellPhone","number","pagerPhone","homePhone","workPhone","homeFax","workFax","otherPhone","details","homeAddress","type","workAddress","formattedAddress","label","street","city","stateProvince","postalCode","countryRegion","title","role","organization","workUrl","note","socialUrls","key","hasOwnProperty","source","toISOString","Date","isOrganization","vcardsJs","getPhoto","attachFromUrl","this","embedFromFile","fileLocation","require$$1","extname","toUpperCase","require$$0","readFileSync","toString","embedFromString","base64String","facebook","linkedIn","twitter","flickr","majorVersionString","split","parseInt","require$$2","saveToFile","filename","contents","writeFileSync","encoding","Property","field","params","Object","assign","_field","_data","defineProperty","enumerable","capitalDashCase","fromJSON","Property.fromJSON","data","test","join","prototype","constructor","is","toLowerCase","indexOf","isEmpty","keys","length","clone","propName","group","i","push","valueOf","toJSON","property","set","object","createParams","param","parts","k","camelCase","input","options","TypeError","pascalCase","map","x","trim","filter","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","_","p1","m","charAt","postProcess","camelcaseModule","exports","default","parseLines_1","parseLines","lines","line","pattern","len","match","exec","pop","propParams","reduce","propVal","AddressType","versions","mimeType","extension","EOL","foldLine","maxLength","hardWrap","MIN_LINE_LENGTH","Error","MAX_LINE_LENGTH","DEFAULT_LINE_LENGTH","output","index","nextIndex","lastIndexOf","SP","CRLF","unfold","foldLine.unfold","foldline","normalize","vCard.normalize","isSupported","vCard.isSupported","parse","vCard.parse","objects","cards","vCard.fromJSON","jcard","JSON","card","prop","addProperty","format","vCard.format","vcf","props","get","setProperty","add","begin","end","regexp_version","SyntaxError","find","substring","toJCard","vcard","na","Home","Work","PhoneType","X","Cell","Pager","SocialType","Z","Messenger","Twitter","Facebook","LinkedIn","SinaWeibo","Jabber","QQ","GaduGadu","pluginOptions","uuid","configure","generateVCard","qrOptions","mode","undefined","VCard","fullName","extraProps","groupCounter","n","first","last","middle","nick","prefix","suffix","toDate","val","phone","el","v","entries","streetAddress","locality","region","cr","country","p","company","pushMsgProtocol","username","protocol","service","xServiceType","social","xUser","u","URL","pathname","getSocialUrl","surl","website","personal","parsed","tx"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6,7]}
@@ -1,2 +1,2 @@
1
- var i,p=i||={};p.wep="WEP",p.wpa="WPA",p.wpaEap="WPA2-EAP";var n=new Set(["\\",";",",",":",'"']);function t(i,p=!1){return i=i.split("").map(i=>n.has(i)?"\\"+i:i).join(""),p&&i.match(/^[0-9a-f]+$/i)?`"${i}"`:i}export default class{pluginOptions;constructor(i){this.pluginOptions=i}configure(i){return i.data=this.generateWiFi(),i}generateWiFi(){var{ssid:p,hidden:n}=this.pluginOptions,e=[];return e.push({key:"S",value:t(p)}),"encryption"in this.pluginOptions&&this.pluginOptions.encryption?(e.push({key:"T",value:t(this.pluginOptions.encryption)},{key:"P",value:t(this.pluginOptions.password||"",!0)}),this.pluginOptions.encryption==i.wpaEap&&(this.pluginOptions.eapMethod&&e.push({key:"E",value:t(this.pluginOptions.eapMethod)}),this.pluginOptions.eapIdentity&&e.push({key:"I",value:t(this.pluginOptions.eapIdentity)}),this.pluginOptions.eapAnonymousIdentity&&e.push({key:"A",value:t(this.pluginOptions.eapAnonymousIdentity)}),this.pluginOptions.eapPhase2Method&&e.push({key:"PH2",value:t(this.pluginOptions.eapPhase2Method)}))):e.push({key:"T",value:"nopass"}),e.push({key:"H",value:n?"true":"false"}),`WIFI:${e.map(({key:i,value:p})=>[i,p].join(":")).join(";")};;`}}export{i as EncryptionType};
1
+ var i,p=i||={};p.wep="WEP",p.wpa="WPA",p.wpaEap="WPA2-EAP";var n=new Set(["\\",";",",",":",'"']);function t(i,p=!1){return i=i.split("").map(i=>n.has(i)?"\\"+i:i).join(""),p&&i.match(/^[0-9a-f]+$/i)?`"${i}"`:i}export default class{pluginOptions;constructor(i){this.pluginOptions=i}configure(i){return i.data=this.generateWiFi(),i.qrOptions.mode=void 0,i}generateWiFi(){var{ssid:p,hidden:n}=this.pluginOptions,e=[];return e.push({key:"S",value:t(p)}),"encryption"in this.pluginOptions&&this.pluginOptions.encryption?(e.push({key:"T",value:t(this.pluginOptions.encryption)},{key:"P",value:t(this.pluginOptions.password||"",!0)}),this.pluginOptions.encryption==i.wpaEap&&(this.pluginOptions.eapMethod&&e.push({key:"E",value:t(this.pluginOptions.eapMethod)}),this.pluginOptions.eapIdentity&&e.push({key:"I",value:t(this.pluginOptions.eapIdentity)}),this.pluginOptions.eapAnonymousIdentity&&e.push({key:"A",value:t(this.pluginOptions.eapAnonymousIdentity)}),this.pluginOptions.eapPhase2Method&&e.push({key:"PH2",value:t(this.pluginOptions.eapPhase2Method)}))):e.push({key:"T",value:"nopass"}),e.push({key:"H",value:n?"true":"false"}),`WIFI:${e.map(({key:i,value:p})=>[i,p].join(":")).join(";")};;`}}export{i as EncryptionType};
2
2
  //# sourceMappingURL=wifi-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wifi-plugin.js","sources":["../src/plugins/wifi.ts"],"sourcesContent":["import { Options, Plugin } from '../utils/options.js'\r\n\r\nexport enum EncryptionType {\r\n wep = 'WEP',\r\n wpa = 'WPA',\r\n wpaEap = 'WPA2-EAP'\r\n}\r\n\r\nexport type WiFiPluginOptions = {\r\n ssid: string\r\n hidden?: boolean\r\n} & ({\r\n encryption: `${EncryptionType.wep | EncryptionType.wpa}`\r\n password: string\r\n} | {}) & (({\r\n encryption: `${EncryptionType.wpaEap}`\r\n password?: string\r\n /** EAP method, like PEAP, TTLS or PWD */\r\n eapMethod?: string\r\n /** EAP identity */\r\n eapIdentity?: string\r\n /** EAP anonymous identity */\r\n eapAnonymousIdentity?: string\r\n /** EAP phase 2 method, like MSCHAPV2 or TLS */\r\n eapPhase2Method?: string\r\n} & {}) | {})\r\n\r\nexport default class WiFiPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: WiFiPluginOptions\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateWiFi()\r\n return options\r\n }\r\n\r\n private generateWiFi() {\r\n // https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11\r\n\r\n const { ssid, hidden } = this.pluginOptions\r\n\r\n const parts = new Array<{ key: 'T' | 'S' | 'P' | 'H' | 'E' | 'A' | 'I' | 'PH2', value: string }>()\r\n parts.push({\r\n key: 'S',\r\n value: escape_string(ssid)\r\n })\r\n if ('encryption' in this.pluginOptions && this.pluginOptions.encryption) {\r\n parts.push({\r\n key: 'T',\r\n value: escape_string(this.pluginOptions.encryption)\r\n }, {\r\n key: 'P',\r\n value: escape_string(this.pluginOptions.password || '', true)\r\n })\r\n if (this.pluginOptions.encryption == EncryptionType.wpaEap) {\r\n if (this.pluginOptions.eapMethod)\r\n parts.push({\r\n key: 'E',\r\n value: escape_string(this.pluginOptions.eapMethod)\r\n })\r\n if (this.pluginOptions.eapIdentity)\r\n parts.push({\r\n key: 'I',\r\n value: escape_string(this.pluginOptions.eapIdentity)\r\n })\r\n if (this.pluginOptions.eapAnonymousIdentity)\r\n parts.push({\r\n key: 'A',\r\n value: escape_string(this.pluginOptions.eapAnonymousIdentity)\r\n })\r\n if (this.pluginOptions.eapPhase2Method)\r\n parts.push({\r\n key: 'PH2',\r\n value: escape_string(this.pluginOptions.eapPhase2Method)\r\n })\r\n }\r\n } else\r\n parts.push({\r\n key: 'T',\r\n value: 'nopass'\r\n })\r\n\r\n parts.push({\r\n key: 'H',\r\n value: hidden ? 'true' : 'false'\r\n })\r\n\r\n const content = parts.map(({ key, value }) => [key, value].join(':')).join(';')\r\n\r\n return `WIFI:${content};;`\r\n }\r\n\r\n}\r\n\r\nconst to_escape = new Set(['\\\\', ';', ',', ':', '\"'])\r\n\r\nfunction escape_string(val: string, quoteHex = false) {\r\n const value = val.split('').map(v => to_escape.has(v) ? '\\\\' + v : v).join('')\r\n if (quoteHex && value.match(/^[0-9a-f]+$/i))\r\n return `\"${value}\"`\r\n return value\r\n};\r\n"],"names":["EncryptionType","d","wep","wpa","wpaEap","to_escape","Set","escape_string","val","quoteHex","value","split","map","v","has","join","match","WiFiPlugin","pluginOptions","constructor","this","configure","options","data","generateWiFi","ssid","hidden","parts","push","key","encryption","password","eapMethod","eapIdentity","eapAnonymousIdentity","eapPhase2Method"],"mappings":"IAEYA,EAAAC,EAAAD,IAAc,CAAA,EACtBA,EAAAE,IAAA,MACAF,EAAAG,IAAA,QACAC,OAAA,WA2FJ,IAAAC,EAAe,IAAGC,IAAI,CAAG,KAAM,IAAK,IAAK,IAAK,MAErCC,SAAAA,EAAcC,EAAaC,GAAW,GAE3C,OADAC,EAAWF,EAAGG,MAAI,IAAQC,IAAEC,GAAKR,EAAIS,IAAUD,GAAM,KAAOA,EAAIA,GAAIE,KAAE,IAClEN,GAAYC,EAAMM,MAAM,gBACjB,IAAIN,KACRA,CAJyC,gBAvE/BO,MAGIC,cADrBC,WAAAA,CACqBD,GAAAE,KAAAF,cAAAA,CAAgC,CAGrDG,SAAAA,CAAUC,GAEN,OADAA,EAAQC,KAAOH,KAAKI,eACbF,CAFe,CAKlBE,YAAAA,GAGJ,IAAMC,KAAAA,EAAMC,OAAAA,GAAUN,KAAGF,cAEzBS,EAAW,GAgDX,SA/CMC,KAAK,CACPC,IAAK,IACLnB,MAAOH,EAAckB,KAErB,eAAgBL,KAAKF,eAAiBE,KAAKF,cAAcY,YACzDH,EAAMC,KAAK,CACPC,IAAK,IACLnB,MAAOH,EAAca,KAAKF,cAAcY,aACzC,CACCD,IAAK,IACLnB,MAAOH,EAAca,KAAKF,cAAca,UAAY,IAAI,KAExDX,KAAKF,cAAcY,YAAc9B,EAAeI,SAC5CgB,KAAKF,cAAcc,WACnBL,EAAMC,KAAK,CACPC,IAAK,IACLnB,MAAOH,EAAca,KAAKF,cAAcc,aAE5CZ,KAAKF,cAAce,aACnBN,EAAMC,KAAK,CACPC,IAAK,IACLnB,MAAOH,EAAca,KAAKF,cAAce,eAE5Cb,KAAKF,cAAcgB,sBACnBP,EAAMC,KAAK,CACPC,IAAK,IACLnB,MAAOH,EAAca,KAAKF,cAAcgB,wBAE5Cd,KAAKF,cAAciB,iBACnBR,EAAMC,KAAK,CACPC,IAAK,MACLnB,MAAOH,EAAca,KAAKF,cAAciB,qBAIpDR,EAAMC,KAAK,CACPC,IAAK,IACLnB,MAAO,aAGTkB,KAAK,CACPC,IAAK,IACLnB,MAAOgB,EAAS,OAAS,UAKtB,QAFMC,EAAGf,IAAM,EAAKiB,IAAAA,EAAKnB,MAAAA,KAAS,CAAAmB,EAASnB,GAAOK,KAAE,MAASA,KAAE,QAnDtD"}
1
+ {"version":3,"file":"wifi-plugin.js","sources":["../src/plugins/wifi.ts"],"sourcesContent":["import { Options, Plugin } from '../utils/options.js'\r\n\r\nexport enum EncryptionType {\r\n wep = 'WEP',\r\n wpa = 'WPA',\r\n wpaEap = 'WPA2-EAP'\r\n}\r\n\r\nexport type WiFiPluginOptions = {\r\n ssid: string\r\n hidden?: boolean\r\n} & ({\r\n encryption: `${EncryptionType.wep | EncryptionType.wpa}`\r\n password: string\r\n} | {}) & (({\r\n encryption: `${EncryptionType.wpaEap}`\r\n password?: string\r\n /** EAP method, like PEAP, TTLS or PWD */\r\n eapMethod?: string\r\n /** EAP identity */\r\n eapIdentity?: string\r\n /** EAP anonymous identity */\r\n eapAnonymousIdentity?: string\r\n /** EAP phase 2 method, like MSCHAPV2 or TLS */\r\n eapPhase2Method?: string\r\n} & {}) | {})\r\n\r\nexport default class WiFiPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: WiFiPluginOptions\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateWiFi()\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n private generateWiFi() {\r\n // https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11\r\n\r\n const { ssid, hidden } = this.pluginOptions\r\n\r\n const parts = new Array<{ key: 'T' | 'S' | 'P' | 'H' | 'E' | 'A' | 'I' | 'PH2', value: string }>()\r\n parts.push({\r\n key: 'S',\r\n value: escape_string(ssid)\r\n })\r\n if ('encryption' in this.pluginOptions && this.pluginOptions.encryption) {\r\n parts.push({\r\n key: 'T',\r\n value: escape_string(this.pluginOptions.encryption)\r\n }, {\r\n key: 'P',\r\n value: escape_string(this.pluginOptions.password || '', true)\r\n })\r\n if (this.pluginOptions.encryption == EncryptionType.wpaEap) {\r\n if (this.pluginOptions.eapMethod)\r\n parts.push({\r\n key: 'E',\r\n value: escape_string(this.pluginOptions.eapMethod)\r\n })\r\n if (this.pluginOptions.eapIdentity)\r\n parts.push({\r\n key: 'I',\r\n value: escape_string(this.pluginOptions.eapIdentity)\r\n })\r\n if (this.pluginOptions.eapAnonymousIdentity)\r\n parts.push({\r\n key: 'A',\r\n value: escape_string(this.pluginOptions.eapAnonymousIdentity)\r\n })\r\n if (this.pluginOptions.eapPhase2Method)\r\n parts.push({\r\n key: 'PH2',\r\n value: escape_string(this.pluginOptions.eapPhase2Method)\r\n })\r\n }\r\n } else\r\n parts.push({\r\n key: 'T',\r\n value: 'nopass'\r\n })\r\n\r\n parts.push({\r\n key: 'H',\r\n value: hidden ? 'true' : 'false'\r\n })\r\n\r\n const content = parts.map(({ key, value }) => [key, value].join(':')).join(';')\r\n\r\n return `WIFI:${content};;`\r\n }\r\n\r\n}\r\n\r\nconst to_escape = new Set(['\\\\', ';', ',', ':', '\"'])\r\n\r\nfunction escape_string(val: string, quoteHex = false) {\r\n const value = val.split('').map(v => to_escape.has(v) ? '\\\\' + v : v).join('')\r\n if (quoteHex && value.match(/^[0-9a-f]+$/i))\r\n return `\"${value}\"`\r\n return value\r\n};\r\n"],"names":["EncryptionType","d","wep","wpa","wpaEap","to_escape","Set","escape_string","val","quoteHex","value","split","map","v","has","join","match","WiFiPlugin","pluginOptions","constructor","this","configure","options","data","generateWiFi","qrOptions","mode","undefined","ssid","hidden","parts","push","key","encryption","password","eapMethod","eapIdentity","eapAnonymousIdentity","eapPhase2Method"],"mappings":"IAEYA,EAAAC,EAAAD,IAAc,CAAA,EACtBA,EAAAE,IAAA,MACAF,EAAAG,IAAA,QACAC,OAAA,WA6FJ,IAAAC,EAAe,IAAGC,IAAI,CAAG,KAAM,IAAK,IAAK,IAAK,MAErCC,SAAAA,EAAcC,EAAaC,GAAW,GAE3C,OADAC,EAAWF,EAAGG,MAAI,IAAQC,IAAEC,GAAKR,EAAIS,IAAUD,GAAM,KAAOA,EAAIA,GAAIE,KAAE,IAClEN,GAAYC,EAAMM,MAAM,gBACjB,IAAIN,KACRA,CAJyC,gBAzE/BO,MAGIC,cADrBC,WAAAA,CACqBD,GAAAE,KAAAF,cAAAA,CAAgC,CAGrDG,SAAAA,CAAUC,GAIN,OAHAA,EAAQC,KAAOH,KAAKI,eAEpBF,EAAQG,UAAUC,UAAOC,GAHH,CAOlBH,YAAAA,GAGJ,IAAMI,KAAAA,EAAMC,OAAAA,GAAUT,KAAGF,cAEzBY,EAAW,GAgDX,SA/CMC,KAAK,CACPC,IAAK,IACLtB,MAAOH,EAAcqB,oBAELR,KAAKF,eAAiBE,KAAKF,cAAce,YACzDH,EAAMC,KAAK,CACPC,IAAK,IACLtB,MAAOH,EAAca,KAAKF,cAAce,aACzC,CACCD,IAAK,IACLtB,MAAOH,EAAca,KAAKF,cAAcgB,UAAY,IAAI,KAExDd,KAAKF,cAAce,YAAcjC,EAAeI,SAC5CgB,KAAKF,cAAciB,WACnBL,EAAMC,KAAK,CACPC,IAAK,IACLtB,MAAOH,EAAca,KAAKF,cAAciB,aAE5Cf,KAAKF,cAAckB,aACnBN,EAAMC,KAAK,CACPC,IAAK,IACLtB,MAAOH,EAAca,KAAKF,cAAckB,eAE5ChB,KAAKF,cAAcmB,sBACnBP,EAAMC,KAAK,CACPC,IAAK,IACLtB,MAAOH,EAAca,KAAKF,cAAcmB,wBAE5CjB,KAAKF,cAAcoB,iBACnBR,EAAMC,KAAK,CACPC,IAAK,MACLtB,MAAOH,EAAca,KAAKF,cAAcoB,qBAIpDR,EAAMC,KAAK,CACPC,IAAK,IACLtB,MAAO,aAGTqB,KAAK,CACPC,IAAK,IACLtB,MAAOmB,EAAS,OAAS,UAKtB,QAFMC,EAAGlB,IAAM,EAAKoB,IAAAA,EAAKtB,MAAAA,KAAS,CAAAsB,EAAStB,GAAOK,KAAE,MAASA,KAAE,QAnDtD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liquid-js/qr-code-styling",
3
- "version": "5.5.0-1",
3
+ "version": "5.5.0-2",
4
4
  "description": "Generate styled QR codes on web or in Node",
5
5
  "type": "module",
6
6
  "main": "./lib/qr-code-styling-node.js",
@@ -51,8 +51,8 @@
51
51
  "@liquid-js/qrcode-generator": "^1.1.0",
52
52
  "@xmldom/xmldom": "^0.9.0",
53
53
  "file-type": "^21.0.0 || ^22.0.0",
54
+ "ical-generator": "^10.2.0",
54
55
  "sharp": ">0.32.1 <1.0.0",
55
- "ts-ics": "^2.4.0",
56
56
  "vcards-js": "^2.10.0",
57
57
  "vcf": "^2.1.0"
58
58
  },