@liquid-js/qr-code-styling 5.5.0-2 → 5.5.0-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/event-plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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}}
|
|
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))||m(t)&&!0===t.isValid)||((a=c(t))||(a=!("object"!=typeof t||!t||t instanceof Date||c(t)||m(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(c(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(m(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 m(t){return"object"==typeof t&&!!t&&"toJSDate"in t&&"function"==typeof t.toJSDate&&!f(t)}function c(t){return null!=t&&null!=t._isAMomentObject&&!f(t)}function p(t){return c(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):m(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 C,O={ACCEPTED:"ACCEPTED",DECLINED:"DECLINED",DELEGATED:"DELEGATED",NEEDSACTION:"NEEDS-ACTION",TENTATIVE:"TENTATIVE"};C=O;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=C.DELEGATED,this):(this.data.delegatedTo=null,this.data.status===C.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(C,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){return t.data=this.generateEvent(),t.qrOptions.mode=void 0,t}generateEvent(){var t=new Q({name:"QR calendar"}),{start:e,end:a,location:i,geo:r,organizer:s,...n}=this.pluginOptions,o="number"==typeof r?.lat&&"number"==typeof r.lon?r:void 0;return t.createEvent({...n,start:J(e),end:J(a),location:i?{title:i,geo:o}:o?{geo:o}:void 0,organizer:s?.email?{name:s.name||s.email,email:s.email}:void 0,id:this.uuid}).toString().split(/[\r\n]+/g).filter(t=>!t.startsWith("SEQUENCE:")&&!t.startsWith("DTSTAMP:")&&(this.uuid||!t.startsWith("UID:"))).join("\n")}}
|
|
2
2
|
//# sourceMappingURL=event-plugin.js.map
|
package/lib/event-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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]}
|
|
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: number\r\n lon: number\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 = this.generateEvent()\r\n // Auto mode\r\n options.qrOptions.mode = undefined\r\n return options\r\n }\r\n\r\n private generateEvent() {\r\n const calendar = ical({ name: 'QR calendar' })\r\n const { start, end, location, geo: _geo, organizer, ...cfg } = this.pluginOptions\r\n const geo = typeof _geo?.lat == 'number' && typeof _geo.lon == 'number' ? (_geo as { lat: number, lon: number }) : undefined\r\n return calendar.createEvent({\r\n ...cfg,\r\n start: toDate(start)!,\r\n end: toDate(end),\r\n location: location\r\n ? {\r\n title: location,\r\n geo\r\n }\r\n : geo\r\n ? {\r\n geo\r\n }\r\n : undefined,\r\n organizer: organizer?.email\r\n ? {\r\n name: organizer.name || organizer.email,\r\n email: organizer.email\r\n }\r\n : undefined,\r\n id: this.uuid\r\n }).toString()\r\n .split(/[\\r\\n]+/g)\r\n .filter(v => !v.startsWith('SEQUENCE:') && !v.startsWith('DTSTAMP:') && (this.uuid || !v.startsWith('UID:')))\r\n .join('\\n')\r\n }\r\n\r\n}\r\n"],"names":["e","g","k","l","i","t","n","Array","isArray","x","map","key","value","substr","Object","entries","Error","push","a","isNaN","getTime","Date","c","p","q","r","u","isValid","v","h","m","y","o","values","String","toUpperCase","includes","join","s","match","email","trim","name","mailto","sentBy","replace","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","J","K","L","M","N","O","ba","P","R","data","parent","constructor","this","delegatedFrom","delegatedTo","role","REQ","rsvp","scheduleAgent","status","delegatesTo","delegatesFrom","A","DELEGATED","createAttendee","assign","j","fa","end","start","F","event","attach","attendees","description","interval","relatesTo","repeat","summary","trigger","display","triggerBefore","triggerAfter","mime","uri","forEach","times","isFinite","keys","I","ha","W","ia","X","ja","Y","la","V","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","charAt","encode","TextEncoder","asSeconds","val","pluginOptions","uuid","configure","options","generateEvent","qrOptions","mode","ical","_geo","cfg"],"mappings":"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","x_google_ignoreList":[0]}
|
package/lib/plugins/event.d.ts
CHANGED
|
@@ -8,10 +8,10 @@ export interface EventPluginOptions {
|
|
|
8
8
|
url?: string;
|
|
9
9
|
location?: string;
|
|
10
10
|
geo?: {
|
|
11
|
-
lat:
|
|
12
|
-
lon:
|
|
11
|
+
lat: number;
|
|
12
|
+
lon: number;
|
|
13
13
|
};
|
|
14
|
-
organizer
|
|
14
|
+
organizer?: {
|
|
15
15
|
name?: string;
|
|
16
16
|
email: string;
|
|
17
17
|
};
|
|
@@ -21,4 +21,5 @@ export default class EventPlugin implements Plugin {
|
|
|
21
21
|
private readonly uuid?;
|
|
22
22
|
constructor(pluginOptions: EventPluginOptions, uuid?: string | undefined);
|
|
23
23
|
configure(options: Options): Options | undefined | void;
|
|
24
|
+
private generateEvent;
|
|
24
25
|
}
|
package/lib/vcard-plugin.js
CHANGED
|
@@ -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 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};
|
|
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.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];e.value&&(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];e.value&&(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=>{if(e.value&&e.type)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};
|
|
2
2
|
//# sourceMappingURL=vcard-plugin.js.map
|
package/lib/vcard-plugin.js.map
CHANGED
|
@@ -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 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
|
+
{"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 (el.value) {\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\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 (el.value) {\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\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 if (v.value && v.type)\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]}
|