ical-generator 10.2.0-develop.2 → 10.2.0-develop.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/dist/index.cjs +34 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +76 -1
- package/dist/index.d.ts +76 -1
- package/dist/index.js +32 -29
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/event.ts +175 -0
- package/src/index.ts +3 -0
- package/src/types.ts +32 -0
package/dist/index.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";var j=Object.defineProperty;var
|
|
2
|
-
`).map(function(t){let
|
|
3
|
-
`,
|
|
4
|
-
`)}function l(e,t,n
|
|
1
|
+
"use strict";var j=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var et=(e,t)=>{for(var a in t)j(e,a,{get:t[a],enumerable:!0})},at=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of _(t))!tt.call(e,i)&&i!==a&&j(e,i,{get:()=>t[i],enumerable:!(n=$(t,i))||n.enumerable});return e};var nt=e=>at(j({},"__esModule",{value:!0}),e);var ot={};et(ot,{ICalAlarm:()=>c,ICalAlarmRelatesTo:()=>H,ICalAlarmType:()=>P,ICalAttendee:()=>g,ICalAttendeeRole:()=>v,ICalAttendeeStatus:()=>U,ICalAttendeeType:()=>z,ICalCalendar:()=>D,ICalCalendarMethod:()=>k,ICalCategory:()=>y,ICalEvent:()=>T,ICalEventBusyStatus:()=>B,ICalEventClass:()=>F,ICalEventRepeatingFreq:()=>R,ICalEventStatus:()=>Z,ICalEventTransparency:()=>J,ICalEventTravelTimeSuggestion:()=>Y,ICalEventTravelTimeTransportation:()=>G,ICalWeekday:()=>A,default:()=>lt,escape:()=>r,foldLines:()=>N,formatDate:()=>l,formatDateTZ:()=>E});module.exports=nt(ot);var R=(u=>(u.DAILY="DAILY",u.HOURLY="HOURLY",u.MINUTELY="MINUTELY",u.MONTHLY="MONTHLY",u.SECONDLY="SECONDLY",u.WEEKLY="WEEKLY",u.YEARLY="YEARLY",u))(R||{}),Y=(n=>(n.AUTOMATIC="AUTOMATIC",n.DISABLED="DISABLED",n.ENABLED="ENABLED",n))(Y||{}),G=(i=>(i.BICYCLE="BICYCLE",i.CAR="CAR",i.TRANSIT="TRANSIT",i.WALKING="WALKING",i))(G||{}),A=(u=>(u.FR="FR",u.MO="MO",u.SA="SA",u.SU="SU",u.TH="TH",u.TU="TU",u.WE="WE",u))(A||{});function o(e,t,a){if(Array.isArray(t))e.x=t.map(n=>{if(Array.isArray(n))return n;if(typeof n.key!="string"||typeof n.value!="string")throw new Error("Either key or value is not a string!");if(n.key.substr(0,2)!=="X-")throw new Error("Key has to start with `X-`!");return[n.key,n.value]});else if(typeof t=="object")e.x=Object.entries(t).map(([n,i])=>{if(typeof n!="string"||typeof i!="string")throw new Error("Either key or value is not a string!");if(n.substr(0,2)!=="X-")throw new Error("Key has to start with `X-`!");return[n,i]});else if(typeof t=="string"&&typeof a=="string"){if(t.substr(0,2)!=="X-")throw new Error("Key has to start with `X-`!");e.x.push([t,a])}else return e.x.map(n=>({key:n[0],value:n[1]}))}function m(e,t){if(e instanceof Date&&isNaN(e.getTime())||typeof e=="string"&&isNaN(new Date(e).getTime()))throw new Error(`\`${t}\` has to be a valid date!`);if(e instanceof Date||typeof e=="string"||typeof e=="object"&&e!==null&&(I(e)||S(e)||x(e)||M(e))||O(e)&&e.isValid===!0||(w(e)||it(e))&&e.isValid())return e;throw new Error(`\`${t}\` has to be a valid date!`)}function d(e,t){let a=Object.values(e),n=String(t).toUpperCase();if(!n||!a.includes(n))throw new Error(`Input must be one of the following: ${a.join(", ")}`);return n}function C(e,t){let a=null;if(typeof t=="string"){let n=t.match(/^(.+) ?<([^>]+)>$/);n?a={email:n[2].trim(),name:n[1].trim()}:t.includes("@")&&(a={email:t.trim(),name:t.trim()})}else typeof t=="object"&&(a={email:t.email,mailto:t.mailto,name:t.name,sentBy:t.sentBy});if(!a&&typeof t=="string")throw new Error("`"+e+"` isn't formated correctly. See https://sebbo2002.github.io/ical-generator/develop/reference/interfaces/ICalOrganizer.html");if(!a)throw new 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(!a.name)throw new Error("`"+e+".name` is empty!");if(!a.email)throw new Error("`"+e+".email` is empty!");return a}function r(e,t){return String(e).replace(t?/[\\"]/g:/[\\;,]/g,function(a){return"\\"+a}).replace(/(?:\r\n|\r|\n)/g,"\\n")}function N(e){return e.split(`\r
|
|
2
|
+
`).map(function(t){let a="",n=0;for(let i=0;i<t.length;i++){let s=t.charAt(i);s>="\uD800"&&s<="\uDBFF"&&(s+=t.charAt(++i));let W=new TextEncoder().encode(s).length;n+=W,n>74&&(a+=`\r
|
|
3
|
+
`,n=W),a+=s}return a}).join(`\r
|
|
4
|
+
`)}function l(e,t,a,n){if(e?.startsWith("/")&&(e=e.substr(1)),typeof t=="string"||t instanceof Date){let i=rt(t)?t.withTimeZone(e):new Date(t),s=i.getUTCFullYear().toString().padStart(4,"0")+String(i.getUTCMonth()+1).padStart(2,"0")+i.getUTCDate().toString().padStart(2,"0");return e&&(s=i.getFullYear().toString().padStart(2,"0")+String(i.getMonth()+1).padStart(2,"0")+i.getDate().toString().padStart(2,"0")),a?s:e?(s+="T"+i.getHours().toString().padStart(2,"0")+i.getMinutes().toString().padStart(2,"0")+i.getSeconds().toString().padStart(2,"0"),s):(s+="T"+i.getUTCHours().toString().padStart(2,"0")+i.getUTCMinutes().toString().padStart(2,"0")+i.getUTCSeconds().toString().padStart(2,"0")+(n?"":"Z"),s)}else if(w(t)){let i=e?q(t)&&!t.tz()?t.clone().tz(e):t:n||a&&q(t)&&t.tz()?t:t.utc();return i.format("YYYYMMDD")+(a?"":"T"+i.format("HHmmss")+(n||e?"":"Z"))}else if(O(t)){let i=e?t.setZone(e):n||a&&t.zone.type!=="system"?t:t.setZone("utc");return i.toFormat("yyyyLLdd")+(a?"":"T"+i.toFormat("HHmmss")+(n||e?"":"Z"))}else if(I(t)){let i=t;return e&&(i=t.withTimeZone(t.timeZoneId)),!e&&t.timeZoneId!=="UTC"&&(i=t.withTimeZone("UTC")),l(null,i.toPlainDateTime(),a,n||!!e)}else if(S(t)){if(a)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 l(e,i,a,n)}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")+(n||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")+(a?"":"T000000"+(n||e?"":"Z"));if(M(t)){let i=e||"UTC",s=t.toZonedDateTimeISO(i);return l(e,s,a,n)}else{let i=t;if(e)i=typeof t.tz=="function"?t.tz(e):t;else if(!n)if(typeof t.utc=="function")i=t.utc();else throw new Error("Unable to convert dayjs object to UTC value: UTC plugin is not available!");return i.format("YYYYMMDD")+(a?"":"T"+i.format("HHmmss")+(n||e?"":"Z"))}}}function E(e,t,a,n){let i="",s=n?.floating||!1;return n?.timezone&&(i=";TZID="+n.timezone,s=!0),t+i+":"+l(e,a,!1,s)}function b(e){let t=e.x.map(([a,n])=>a.toUpperCase()+":"+r(n,!1)).join(`\r
|
|
5
5
|
`);return t.length?t+`\r
|
|
6
|
-
`:""}function
|
|
7
|
-
`,t}type(t){return t===void 0?this.data.type:t?(this.data.type=d(
|
|
6
|
+
`:""}function it(e){return typeof e=="object"&&e!==null&&!(e instanceof Date)&&!w(e)&&!O(e)&&!V(e)}function O(e){return typeof e=="object"&&e!==null&&"toJSDate"in e&&typeof e.toJSDate=="function"&&!V(e)}function w(e){return e!=null&&e._isAMomentObject!=null&&!V(e)}function K(e){return e!==null&&typeof e=="object"&&"asSeconds"in e&&typeof e.asSeconds=="function"}function q(e){return w(e)&&"tz"in e&&typeof e.tz=="function"}function L(e){return e!==null&&typeof e=="object"&&"between"in e&&typeof e.between=="function"&&typeof e.toString=="function"}function V(e){return I(e)||S(e)||x(e)||M(e)}function M(e){return typeof e=="object"&&e!==null&&!I(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!==null&&!I(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!==null&&!I(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 I(e){return typeof e=="object"&&e!==null&&"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 rt(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 X(e){if(typeof e=="string"||e instanceof Date)return new Date(e);if(I(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)):M(e)?new Date(e.epochMilliseconds):O(e)?e.toJSDate():e.toDate()}function f(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",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 h(e){return e?typeof e=="string"?e:I(e)?h(e.withTimeZone("UTC").toPlainDateTime()):(V(e),e.toJSON()):null}var v=(i=>(i.CHAIR="CHAIR",i.NON="NON-PARTICIPANT",i.OPT="OPT-PARTICIPANT",i.REQ="REQ-PARTICIPANT",i))(v||{}),Q=(n=>(n.CLIENT="CLIENT",n.NONE="NONE",n.SERVER="SERVER",n))(Q||{}),U=(s=>(s.ACCEPTED="ACCEPTED",s.DECLINED="DECLINED",s.DELEGATED="DELEGATED",s.NEEDSACTION="NEEDS-ACTION",s.TENTATIVE="TENTATIVE",s))(U||{}),z=(s=>(s.GROUP="GROUP",s.INDIVIDUAL="INDIVIDUAL",s.RESOURCE="RESOURCE",s.ROOM="ROOM",s.UNKNOWN="UNKNOWN",s))(z||{}),g=class e{data;parent;constructor(t,a){if(this.data={delegatedFrom:null,delegatedTo:null,email:"",mailto:null,name:null,role:"REQ-PARTICIPANT",rsvp:null,scheduleAgent:null,sentBy:null,status:null,type:null,x:[]},this.parent=a,!this.parent)throw new Error("`event` option required!");if(!t.email)throw new Error("No value for `email` in ICalAttendee given!");t.name!==void 0&&this.name(t.name),t.email!==void 0&&this.email(t.email),t.mailto!==void 0&&this.mailto(t.mailto),t.sentBy!==void 0&&this.sentBy(t.sentBy),t.status!==void 0&&this.status(t.status),t.role!==void 0&&this.role(t.role),t.rsvp!==void 0&&this.rsvp(t.rsvp),t.type!==void 0&&this.type(t.type),t.delegatedTo!==void 0&&this.delegatedTo(t.delegatedTo),t.delegatedFrom!==void 0&&this.delegatedFrom(t.delegatedFrom),t.delegatesTo&&this.delegatesTo(t.delegatesTo),t.delegatesFrom&&this.delegatesFrom(t.delegatesFrom),t.scheduleAgent!==void 0&&this.scheduleAgent(t.scheduleAgent),t.x!==void 0&&this.x(t.x)}delegatedFrom(t){return t===void 0?this.data.delegatedFrom:(t?typeof t=="string"?this.data.delegatedFrom=new e(C("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(C("delegatedTo",t),this.parent):t instanceof e?this.data.delegatedTo=t:this.data.delegatedTo=new e(t,this.parent),this.data.status="DELEGATED",this):(this.data.delegatedTo=null,this.data.status==="DELEGATED"&&(this.data.status=null),this)}delegatesFrom(t){let a=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedFrom(a),a.delegatedTo(this),a}delegatesTo(t){let a=t instanceof e?t:this.parent.createAttendee(t);return this.delegatedTo(a),a.delegatedFrom(this),a}email(t){return t?(this.data.email=t,this):this.data.email}mailto(t){return t===void 0?this.data.mailto:(this.data.mailto=t||null,this)}name(t){return t===void 0?this.data.name:(this.data.name=t||null,this)}role(t){return t===void 0?this.data.role:(this.data.role=d(v,t),this)}rsvp(t){return t===void 0?this.data.rsvp:t===null?(this.data.rsvp=null,this):(this.data.rsvp=!!t,this)}scheduleAgent(t){return t===void 0?this.data.scheduleAgent:t?typeof t=="string"&&t.toUpperCase().startsWith("X-")?(this.data.scheduleAgent=t,this):(this.data.scheduleAgent=d(Q,t),this):(this.data.scheduleAgent=null,this)}sentBy(t){return t?(this.data.sentBy=t,this):this.data.sentBy}status(t){return t===void 0?this.data.status:t?(this.data.status=d(U,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(){let t="ATTENDEE";if(!this.data.email)throw new 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),this.data.rsvp!==null&&(t+=";RSVP="+this.data.rsvp.toString().toUpperCase()),this.data.sentBy!==null&&(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="'+r(this.data.name,!0)+'"'),this.data.email&&this.data.mailto&&(t+=";EMAIL="+r(this.data.email,!1)),this.data.scheduleAgent&&(t+=";SCHEDULE-AGENT="+this.data.scheduleAgent),this.data.x.length&&(t+=";"+this.data.x.map(([a,n])=>a.toUpperCase()+"="+r(n,!1)).join(";")),t+=":MAILTO:"+r(this.data.mailto||this.data.email,!1)+`\r
|
|
7
|
+
`,t}type(t){return t===void 0?this.data.type:t?(this.data.type=d(z,t),this):(this.data.type=null,this)}x(t,a){if(t===void 0)return o(this.data);if(typeof t=="string"&&typeof a=="string")o(this.data,t,a);else if(typeof t=="object")o(this.data,t);else throw new Error("Either key or value is not a string!");return this}};var P=(n=>(n.audio="audio",n.display="display",n.email="email",n))(P||{}),H={end:"END",start:"START"},c=class{data;event;constructor(t,a){if(this.data={attach:null,attendees:[],description:null,interval:null,relatesTo:null,repeat:null,summary:null,trigger:-600,type:"display",x:[]},this.event=a,!a)throw new Error("`event` option required!");t.type!==void 0&&this.type(t.type),"trigger"in t&&t.trigger!==void 0&&this.trigger(t.trigger),"triggerBefore"in t&&t.triggerBefore!==void 0&&this.triggerBefore(t.triggerBefore),"triggerAfter"in t&&t.triggerAfter!==void 0&&this.triggerAfter(t.triggerAfter),t.repeat&&this.repeat(t.repeat),t.attach!==void 0&&this.attach(t.attach),t.description!==void 0&&this.description(t.description),t.summary!==void 0&&this.summary(t.summary),t.attendees!==void 0&&this.attendees(t.attendees),t.x!==void 0&&this.x(t.x)}attach(t){if(t===void 0)return this.data.attach;if(!t)return this.data.attach=null,this;let a;if(typeof t=="string")a={mime:null,uri:t};else if(typeof t=="object")a={mime:t.mime||null,uri:t.uri};else throw new 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(!a.uri)throw new Error("`attach.uri` is empty!");return this.data.attach={mime:a.mime,uri:a.uri},this}attendees(t){return t?(t.forEach(a=>this.createAttendee(a)),this):this.data.attendees}createAttendee(t){if(t instanceof g)return this.data.attendees.push(t),t;typeof t=="string"&&(t=C("data",t));let a=new g(t,this);return this.data.attendees.push(a),a}description(t){return t===void 0?this.data.description:t?(this.data.description=t,this):(this.data.description=null,this)}relatesTo(t){if(t===void 0)return this.data.relatesTo;if(!t)return this.data.relatesTo=null,this;if(!Object.values(H).includes(t))throw new Error("`relatesTo` is not correct, must be either `START` or `END`!");return this.data.relatesTo=t,this}repeat(t){if(t===void 0)return this.data.repeat;if(!t)return this.data.repeat=null,this;if(typeof t!="object")throw new Error("`repeat` is not correct, must be an object!");if(typeof t.times!="number"||!isFinite(t.times))throw new Error("`repeat.times` is not correct, must be numeric!");if(typeof t.interval!="number"||!isFinite(t.interval))throw new Error("`repeat.interval` is not correct, must be numeric!");return this.data.repeat=t,this}summary(t){return t===void 0?this.data.summary:t?(this.data.summary=t,this):(this.data.summary=null,this)}toJSON(){let t=this.trigger();return Object.assign({},this.data,{trigger:typeof t=="number"?t:h(t),x:this.x()})}toString(){let t=`BEGIN:VALARM\r
|
|
8
8
|
`;if(t+="ACTION:"+this.data.type.toUpperCase()+`\r
|
|
9
|
-
`,typeof this.data.trigger=="number"&&this.data.relatesTo===null?this.data.trigger>0?t+="TRIGGER;RELATED=END:"+
|
|
10
|
-
`:t+="TRIGGER:"+
|
|
11
|
-
`:typeof this.data.trigger=="number"?t+="TRIGGER;RELATED="+this.data.relatesTo?.toUpperCase()+":"+
|
|
9
|
+
`,typeof this.data.trigger=="number"&&this.data.relatesTo===null?this.data.trigger>0?t+="TRIGGER;RELATED=END:"+f(this.data.trigger)+`\r
|
|
10
|
+
`:t+="TRIGGER:"+f(this.data.trigger)+`\r
|
|
11
|
+
`:typeof this.data.trigger=="number"?t+="TRIGGER;RELATED="+this.data.relatesTo?.toUpperCase()+":"+f(this.data.trigger)+`\r
|
|
12
12
|
`:t+="TRIGGER;VALUE=DATE-TIME:"+l(this.event.timezone(),this.data.trigger)+`\r
|
|
13
13
|
`,this.data.repeat){if(!this.data.repeat.times)throw new Error("No value for `repeat.times` in ICalAlarm given, but required for `interval`!");if(!this.data.repeat.interval)throw new Error("No value for `repeat.interval` in ICalAlarm given, but required for `repeat`!");t+="REPEAT:"+this.data.repeat.times+`\r
|
|
14
|
-
`,t+="DURATION:"+
|
|
14
|
+
`,t+="DURATION:"+f(this.data.repeat.interval)+`\r
|
|
15
15
|
`}return this.data.type==="audio"&&this.data.attach&&this.data.attach.mime?t+="ATTACH;FMTTYPE="+r(this.data.attach.mime,!1)+":"+r(this.data.attach.uri,!1)+`\r
|
|
16
16
|
`:this.data.type==="audio"&&this.data.attach?t+="ATTACH;VALUE=URI:"+r(this.data.attach.uri,!1)+`\r
|
|
17
17
|
`:this.data.type==="audio"&&(t+=`ATTACH;VALUE=URI:Basso\r
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
`:this.data.type!=="audio"&&(t+="DESCRIPTION:"+r(this.event.summary(),!1)+`\r
|
|
20
20
|
`),this.data.type==="email"&&this.data.summary?t+="SUMMARY:"+r(this.data.summary,!1)+`\r
|
|
21
21
|
`:this.data.type==="email"&&(t+="SUMMARY:"+r(this.event.summary(),!1)+`\r
|
|
22
|
-
`),this.data.type==="email"&&this.data.attendees.forEach(
|
|
23
|
-
`,t}trigger(t){if(t===void 0&&typeof this.data.trigger=="number")return-1*this.data.trigger;if(t===void 0)return this.data.trigger;if(typeof t=="number"&&isFinite(t))this.data.trigger=-1*t;else{if(!t||typeof t=="number")throw new Error("`trigger` is not correct, must be a finite number or a supported date!");this.data.trigger=m(t,"trigger")}return this}triggerAfter(t){return t===void 0?this.data.trigger:this.trigger(typeof t=="number"?-1*t:t)}triggerBefore(t){return t===void 0?this.trigger():this.trigger(t)}type(t){if(t===void 0)return this.data.type;if(!t||!Object.keys(
|
|
22
|
+
`),this.data.type==="email"&&this.data.attendees.forEach(a=>{t+=a.toString()}),t+=b(this.data),t+=`END:VALARM\r
|
|
23
|
+
`,t}trigger(t){if(t===void 0&&typeof this.data.trigger=="number")return-1*this.data.trigger;if(t===void 0)return this.data.trigger;if(typeof t=="number"&&isFinite(t))this.data.trigger=-1*t;else{if(!t||typeof t=="number")throw new Error("`trigger` is not correct, must be a finite number or a supported date!");this.data.trigger=m(t,"trigger")}return this}triggerAfter(t){return t===void 0?this.data.trigger:this.trigger(typeof t=="number"?-1*t:t)}triggerBefore(t){return t===void 0?this.trigger():this.trigger(t)}type(t){if(t===void 0)return this.data.type;if(!t||!Object.keys(P).includes(t))throw new Error("`type` is not correct, must be either `display` or `audio`!");return this.data.type=t,this}x(t,a){if(t===void 0)return o(this.data);if(typeof t=="string"&&typeof a=="string")o(this.data,t,a);else if(typeof t=="object")o(this.data,t);else throw new Error("Either key or value is not a string!");return this}};var y=class{data;constructor(t){if(this.data={name:""},!t.name)throw new Error("No value for `name` in ICalCategory given!");this.name(t.name)}name(t){return t===void 0?this.data.name:(this.data.name=t,this)}toJSON(){return Object.assign({},this.data)}toString(){return r(this.data.name,!1)}};var B=(i=>(i.BUSY="BUSY",i.FREE="FREE",i.OOF="OOF",i.TENTATIVE="TENTATIVE",i))(B||{}),F=(n=>(n.CONFIDENTIAL="CONFIDENTIAL",n.PRIVATE="PRIVATE",n.PUBLIC="PUBLIC",n))(F||{}),Z=(n=>(n.CANCELLED="CANCELLED",n.CONFIRMED="CONFIRMED",n.TENTATIVE="TENTATIVE",n))(Z||{}),J=(a=>(a.OPAQUE="OPAQUE",a.TRANSPARENT="TRANSPARENT",a))(J||{}),T=class{calendar;data;constructor(t,a){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=a,!a)throw new Error("`calendar` option required!");t.id&&this.id(t.id),t.sequence!==void 0&&this.sequence(t.sequence),t.start&&this.start(t.start),t.end!==void 0&&this.end(t.end),t.recurrenceId!==void 0&&this.recurrenceId(t.recurrenceId),t.timezone!==void 0&&this.timezone(t.timezone),t.stamp!==void 0&&this.stamp(t.stamp),t.allDay!==void 0&&this.allDay(t.allDay),t.floating!==void 0&&this.floating(t.floating),t.repeating!==void 0&&this.repeating(t.repeating),t.summary!==void 0&&this.summary(t.summary),t.location!==void 0&&this.location(t.location),t.description!==void 0&&this.description(t.description),t.organizer!==void 0&&this.organizer(t.organizer),t.attendees!==void 0&&this.attendees(t.attendees),t.alarms!==void 0&&this.alarms(t.alarms),t.categories!==void 0&&this.categories(t.categories),t.status!==void 0&&this.status(t.status),t.busystatus!==void 0&&this.busystatus(t.busystatus),t.priority!==void 0&&this.priority(t.priority),t.url!==void 0&&this.url(t.url),t.attachments!==void 0&&this.attachments(t.attachments),t.transparency!==void 0&&this.transparency(t.transparency),t.travelTime!==void 0&&this.travelTime(t.travelTime),t.created!==void 0&&this.created(t.created),t.lastModified!==void 0&&this.lastModified(t.lastModified),t.class!==void 0&&this.class(t.class),t.x!==void 0&&this.x(t.x)}alarms(t){return t?(t.forEach(a=>this.createAlarm(a)),this):this.data.alarms}allDay(t){return t===void 0?this.data.allDay:(this.data.allDay=!!t,this)}attachments(t){return t?(t.forEach(a=>this.createAttachment(a)),this):this.data.attachments}attendees(t){return t?(t.forEach(a=>this.createAttendee(a)),this):this.data.attendees}busystatus(t){return t===void 0?this.data.busystatus:t===null?(this.data.busystatus=null,this):(this.data.busystatus=d(B,t),this)}categories(t){return t?(t.forEach(a=>this.createCategory(a)),this):this.data.categories}class(t){return t===void 0?this.data.class:t===null?(this.data.class=null,this):(this.data.class=d(F,t),this)}createAlarm(t){let a=t instanceof c?t:new c(t,this);return this.data.alarms.push(a),a}createAttachment(t){return this.data.attachments.push(t),this}createAttendee(t){if(t instanceof g)return this.data.attendees.push(t),t;typeof t=="string"&&(t=C("data",t));let a=new g(t,this);return this.data.attendees.push(a),a}createCategory(t){let a=t instanceof y?t:new y(t);return this.data.categories.push(a),a}created(t){return t===void 0?this.data.created:t===null?(this.data.created=null,this):(this.data.created=m(t,"created"),this)}description(t){return t===void 0?this.data.description:t===null?(this.data.description=null,this):(typeof t=="string"?this.data.description={plain:t}:this.data.description=t,this)}end(t){return t===void 0?(this.swapStartAndEndIfRequired(),this.data.end):t===null?(this.data.end=null,this):(this.data.end=m(t,"end"),this)}floating(t){return t===void 0?this.data.floating:(this.data.floating=!!t,this.data.floating&&(this.data.timezone=null),this)}id(t){return t===void 0?this.data.id:(this.data.id=String(t),this)}lastModified(t){return t===void 0?this.data.lastModified:t===null?(this.data.lastModified=null,this):(this.data.lastModified=m(t,"lastModified"),this)}location(t){if(t===void 0)return this.data.location;if(typeof t=="string")return this.data.location={title:t},this;if(t&&("title"in t&&!t.title||t?.geo&&(typeof t.geo.lat!="number"||!isFinite(t.geo.lat)||typeof t.geo.lon!="number"||!isFinite(t.geo.lon))||!("title"in t)&&!t?.geo))throw new 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 t===void 0?this.data.organizer:t===null?(this.data.organizer=null,this):(this.data.organizer=C("organizer",t),this)}priority(t){if(t===void 0)return this.data.priority;if(t===null)return this.data.priority=null,this;if(t<0||t>9)throw new Error("`priority` is invalid, musst be 0 \u2264 priority \u2264 9.");return this.data.priority=Math.round(t),this}recurrenceId(t){return t===void 0?this.data.recurrenceId:t===null?(this.data.recurrenceId=null,this):(this.data.recurrenceId=m(t,"recurrenceId"),this)}repeating(t){if(t===void 0)return this.data.repeating;if(!t)return this.data.repeating=null,this;if(L(t)||typeof t=="string")return this.data.repeating=t,this;if(this.data.repeating={freq:d(R,t.freq)},t.count){if(!isFinite(t.count))throw new Error("`repeating.count` must be a finite number!");this.data.repeating.count=t.count}if(t.interval){if(!isFinite(t.interval))throw new Error("`repeating.interval` must be a finite number!");this.data.repeating.interval=t.interval}if(t.until!==void 0&&(this.data.repeating.until=m(t.until,"repeating.until")),t.byDay){let a=Array.isArray(t.byDay)?t.byDay:[t.byDay];this.data.repeating.byDay=a.map(n=>d(A,n))}if(t.byMonth){let a=Array.isArray(t.byMonth)?t.byMonth:[t.byMonth];this.data.repeating.byMonth=a.map(n=>{if(typeof n!="number"||n<1||n>12)throw new Error("`repeating.byMonth` contains invalid value `"+n+"`!");return n})}if(t.byMonthDay){let a=Array.isArray(t.byMonthDay)?t.byMonthDay:[t.byMonthDay];this.data.repeating.byMonthDay=a.map(n=>{if(typeof n!="number"||n<-31||n>31||n===0)throw new Error("`repeating.byMonthDay` contains invalid value `"+n+"`!");return n})}if(t.bySetPos){if(!this.data.repeating.byDay)throw"`repeating.bySetPos` must be used along with `repeating.byDay`!";let a=Array.isArray(t.bySetPos)?t.bySetPos:[t.bySetPos];this.data.repeating.bySetPos=a.map(n=>{if(typeof n!="number"||n<-366||n>366||n===0)throw"`repeating.bySetPos` contains invalid value `"+n+"`!";return n})}if(t.exclude){let a=Array.isArray(t.exclude)?t.exclude:[t.exclude];this.data.repeating.exclude=a.map((n,i)=>m(n,`repeating.exclude[${i}]`))}return t.startOfWeek&&(this.data.repeating.startOfWeek=d(A,t.startOfWeek)),this}sequence(t){if(t===void 0)return this.data.sequence;let a=parseInt(String(t),10);if(isNaN(a))throw new Error("`sequence` must be a number!");return this.data.sequence=t,this}stamp(t){return t===void 0?this.data.stamp:(this.data.stamp=m(t,"stamp"),this)}start(t){return t===void 0?(this.swapStartAndEndIfRequired(),this.data.start):(this.data.start=m(t,"start"),this)}status(t){return t===void 0?this.data.status:t===null?(this.data.status=null,this):(this.data.status=d(Z,t),this)}summary(t){return t===void 0?this.data.summary:(this.data.summary=t?String(t):"",this)}timestamp(t){return t===void 0?this.stamp():this.stamp(t)}timezone(t){return t===void 0&&this.data.timezone!==null?this.data.timezone:t===void 0?this.calendar.timezone():(this.data.timezone=t&&t!=="UTC"?t.toString():null,this.data.timezone&&(this.data.floating=!1),this)}toJSON(){let t=null;return L(this.data.repeating)||typeof this.data.repeating=="string"?t=this.data.repeating.toString():this.data.repeating&&(t=Object.assign({},this.data.repeating,{exclude:this.data.repeating.exclude?.map(a=>h(a)),until:h(this.data.repeating.until)||void 0})),this.swapStartAndEndIfRequired(),Object.assign({},this.data,{created:h(this.data.created)||null,end:h(this.data.end)||null,lastModified:h(this.data.lastModified)||null,recurrenceId:h(this.data.recurrenceId)||null,repeating:t,stamp:h(this.data.stamp)||null,start:h(this.data.start)||null,x:this.x()})}toString(){let t="";if(t+=`BEGIN:VEVENT\r
|
|
24
24
|
`,t+="UID:"+this.data.id+`\r
|
|
25
25
|
`,t+="SEQUENCE:"+this.data.sequence+`\r
|
|
26
26
|
`,this.swapStartAndEndIfRequired(),t+="DTSTAMP:"+l(this.calendar.timezone(),this.data.stamp)+`\r
|
|
@@ -28,38 +28,41 @@
|
|
|
28
28
|
`,this.data.end&&(t+="DTEND;VALUE=DATE:"+l(this.timezone(),this.data.end,!0)+`\r
|
|
29
29
|
`),t+=`X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\r
|
|
30
30
|
`,t+=`X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\r
|
|
31
|
-
`):(t+=
|
|
32
|
-
`,this.data.end&&(t+=
|
|
33
|
-
`)),
|
|
31
|
+
`):(t+=E(this.timezone(),"DTSTART",this.data.start,this.data)+`\r
|
|
32
|
+
`,this.data.end&&(t+=E(this.timezone(),"DTEND",this.data.end,this.data)+`\r
|
|
33
|
+
`)),L(this.data.repeating)||typeof this.data.repeating=="string"){let a=this.data.repeating.toString().replace(/\r\n/g,`
|
|
34
34
|
`).split(`
|
|
35
|
-
`).filter(
|
|
36
|
-
`);!
|
|
37
|
-
`)&&!
|
|
35
|
+
`).filter(n=>n&&!n.startsWith("DTSTART:")).join(`\r
|
|
36
|
+
`);!a.includes(`\r
|
|
37
|
+
`)&&!a.startsWith("RRULE:")&&(a="RRULE:"+a),t+=a.trim()+`\r
|
|
38
38
|
`}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="+l(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
|
|
39
|
-
`,this.data.repeating.exclude&&(this.data.allDay?t+="EXDATE;VALUE=DATE:"+this.data.repeating.exclude.map(
|
|
40
|
-
`:(t+="EXDATE",this.timezone()?t+=";TZID="+this.timezone()+":"+this.data.repeating.exclude.map(
|
|
41
|
-
`:t+=":"+this.data.repeating.exclude.map(
|
|
42
|
-
`)));
|
|
39
|
+
`,this.data.repeating.exclude&&(this.data.allDay?t+="EXDATE;VALUE=DATE:"+this.data.repeating.exclude.map(a=>l(this.calendar.timezone(),a,!0)).join(",")+`\r
|
|
40
|
+
`:(t+="EXDATE",this.timezone()?t+=";TZID="+this.timezone()+":"+this.data.repeating.exclude.map(a=>l(this.timezone(),a,!1,!0)).join(",")+`\r
|
|
41
|
+
`:t+=":"+this.data.repeating.exclude.map(a=>l(this.timezone(),a,!1,this.floating())).join(",")+`\r
|
|
42
|
+
`)));if(this.data.recurrenceId&&(t+=E(this.timezone(),"RECURRENCE-ID",this.data.recurrenceId,this.data)+`\r
|
|
43
43
|
`),t+="SUMMARY:"+r(this.data.summary,!1)+`\r
|
|
44
44
|
`,this.data.transparency&&(t+="TRANSP:"+r(this.data.transparency,!1)+`\r
|
|
45
45
|
`),this.data.location&&"title"in this.data.location&&this.data.location.title&&(t+="LOCATION:"+r(this.data.location.title+(this.data.location.address?`
|
|
46
46
|
`+this.data.location.address:""),!1)+`\r
|
|
47
47
|
`,this.data.location.radius&&this.data.location.geo&&(t+="X-APPLE-STRUCTURED-LOCATION;VALUE=URI;"+(this.data.location.address?"X-ADDRESS="+r(this.data.location.address,!1)+";":"")+"X-APPLE-RADIUS="+r(this.data.location.radius,!1)+";X-TITLE="+r(this.data.location.title,!1)+":geo:"+r(this.data.location.geo?.lat,!1)+","+r(this.data.location.geo?.lon,!1)+`\r
|
|
48
48
|
`)),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(t+="GEO:"+r(this.data.location.geo.lat,!1)+";"+r(this.data.location.geo.lon,!1)+`\r
|
|
49
|
-
`),this.data.
|
|
49
|
+
`),this.data.travelTime&&(t+="X-APPLE-TRAVEL-DURATION;VALUE=DURATION:"+f(this.data.travelTime.seconds)+`\r
|
|
50
|
+
`,this.data.location&&(this.data.travelTime.suggestionBehavior&&(t+="X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:"+this.data.travelTime.suggestionBehavior+`\r
|
|
51
|
+
`),this.data.travelTime.startFrom))){t+="X-APPLE-TRAVEL-START;";let a=[];a.push("ROUTING="+this.data.travelTime.startFrom.transportation),a.push("VALUE=URI"),"address"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.address&&a.push("X-ADDRESS="+r(this.data.travelTime.startFrom.location.address,!1)),"radius"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.radius&&a.push("X-APPLE-RADIUS="+r(this.data.travelTime.startFrom.location.radius,!1)),"title"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.title&&a.push("X-TITLE="+r(this.data.travelTime.startFrom.location.title,!1)),t+=a.join(";"),"geo"in this.data.travelTime.startFrom.location&&this.data.travelTime.startFrom.location.geo&&(t+=":geo:"+r(this.data.travelTime.startFrom.location.geo?.lat,!1)+","+r(this.data.travelTime.startFrom.location.geo?.lon,!1)),t+=`\r
|
|
52
|
+
`}return this.data.description&&(t+="DESCRIPTION:"+r(this.data.description.plain,!1)+`\r
|
|
50
53
|
`,this.data.description.html&&(t+="X-ALT-DESC;FMTTYPE=text/html:"+r(this.data.description.html,!1)+`\r
|
|
51
54
|
`)),this.data.organizer&&(t+='ORGANIZER;CN="'+r(this.data.organizer.name,!0)+'"',this.data.organizer.sentBy&&(t+=';SENT-BY="mailto:'+r(this.data.organizer.sentBy,!0)+'"'),this.data.organizer.email&&this.data.organizer.mailto&&(t+=";EMAIL="+r(this.data.organizer.email,!1)),t+=":",this.data.organizer.email&&(t+="mailto:"+r(this.data.organizer.mailto||this.data.organizer.email,!1)),t+=`\r
|
|
52
|
-
`),this.data.attendees.forEach(function(
|
|
55
|
+
`),this.data.attendees.forEach(function(a){t+=a.toString()}),this.data.alarms.forEach(function(a){t+=a.toString()}),this.data.categories.length>0&&(t+="CATEGORIES:"+this.data.categories.map(a=>a.toString()).join()+`\r
|
|
53
56
|
`),this.data.url&&(t+="URL;VALUE=URI:"+r(this.data.url,!1)+`\r
|
|
54
|
-
`),this.data.attachments.length>0&&this.data.attachments.forEach(
|
|
57
|
+
`),this.data.attachments.length>0&&this.data.attachments.forEach(a=>{t+="ATTACH:"+r(a,!1)+`\r
|
|
55
58
|
`}),this.data.status&&(t+="STATUS:"+this.data.status.toUpperCase()+`\r
|
|
56
59
|
`),this.data.busystatus&&(t+="X-MICROSOFT-CDO-BUSYSTATUS:"+this.data.busystatus.toUpperCase()+`\r
|
|
57
60
|
`),this.data.priority!==null&&(t+="PRIORITY:"+this.data.priority+`\r
|
|
58
|
-
`),t+=
|
|
61
|
+
`),t+=b(this.data),this.data.created&&(t+="CREATED:"+l(this.calendar.timezone(),this.data.created)+`\r
|
|
59
62
|
`),this.data.lastModified&&(t+="LAST-MODIFIED:"+l(this.calendar.timezone(),this.data.lastModified)+`\r
|
|
60
63
|
`),this.data.class&&(t+="CLASS:"+this.data.class.toUpperCase()+`\r
|
|
61
64
|
`),t+=`END:VEVENT\r
|
|
62
|
-
`,t}transparency(t){return t===void 0?this.data.transparency:t?(this.data.transparency=d(J,t),this):(this.data.transparency=null,this)}uid(t){return t===void 0?this.id():this.id(t)}url(t){return t===void 0?this.data.url:(this.data.url=t?String(t):null,this)}x(t,
|
|
65
|
+
`,t}transparency(t){return t===void 0?this.data.transparency:t?(this.data.transparency=d(J,t),this):(this.data.transparency=null,this)}travelTime(t){if(t===void 0)return this.data.travelTime;if(typeof t=="number"&&t<=0)throw new Error("`travelTime` has to be more than 0!");if(t&&typeof t=="object"&&"seconds"in t&&t.seconds<=0)throw new Error("`travelTime.seconds` has to be more than 0!");return typeof t=="number"?(this.data.travelTime={seconds:t},this):(this.data.travelTime=t,this)}uid(t){return t===void 0?this.id():this.id(t)}url(t){return t===void 0?this.data.url:(this.data.url=t?String(t):null,this)}x(t,a){return t===void 0?o(this.data):(typeof t=="string"&&typeof a=="string"&&o(this.data,t,a),typeof t=="object"&&o(this.data,t),this)}swapStartAndEndIfRequired(){if(this.data.start&&this.data.end&&X(this.data.start).getTime()>X(this.data.end).getTime()){let t=this.data.start;this.data.start=this.data.end,this.data.end=t}}};var k=(p=>(p.ADD="ADD",p.CANCEL="CANCEL",p.COUNTER="COUNTER",p.DECLINECOUNTER="DECLINECOUNTER",p.PUBLISH="PUBLISH",p.REFRESH="REFRESH",p.REPLY="REPLY",p.REQUEST="REQUEST",p))(k||{}),D=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:[]},t.prodId!==void 0&&this.prodId(t.prodId),t.method!==void 0&&this.method(t.method),t.name!==void 0&&this.name(t.name),t.description!==void 0&&this.description(t.description),t.timezone!==void 0&&this.timezone(t.timezone),t.source!==void 0&&this.source(t.source),t.url!==void 0&&this.url(t.url),t.scale!==void 0&&this.scale(t.scale),t.ttl!==void 0&&this.ttl(t.ttl),t.color!==void 0&&this.color(t.color),t.events!==void 0&&this.events(t.events),t.x!==void 0&&this.x(t.x)}clear(){return this.data.events=[],this}color(t){if(t===void 0)return this.data.color;if(typeof t=="string"&&!/^#[A-F0-9]{6}$/gi.test(t))throw new Error("`color` is malformed!");return this.data.color=t?String(t).toUpperCase():null,this}createEvent(t){let a=t instanceof T?t:new T(t,this);return this.data.events.push(a),a}description(t){return t===void 0?this.data.description:(this.data.description=t?String(t):null,this)}events(t){return t?(t.forEach(a=>this.createEvent(a)),this):this.data.events}length(){return this.data.events.length}method(t){return t===void 0?this.data.method:t?(this.data.method=d(k,t),this):(this.data.method=null,this)}name(t){return t===void 0?this.data.name:(this.data.name=t?String(t):null,this)}prodId(t){if(!t)return this.data.prodId;if(typeof t=="string")return this.data.prodId=t,this;if(typeof t!="object")throw new Error("`prodid` needs to be a string or an object!");if(!t.company)throw new Error("`prodid.company` is a mandatory item!");if(!t.product)throw new Error("`prodid.product` is a mandatory item!");let a=(t.language||"EN").toUpperCase();return this.data.prodId="//"+t.company+"//"+t.product+"//"+a,this}scale(t){return t===void 0?this.data.scale:(t===null?this.data.scale=null:this.data.scale=t.toUpperCase(),this)}source(t){return t===void 0?this.data.source:(this.data.source=t||null,this)}timezone(t){return t===void 0?this.data.timezone?.name||null:(t==="UTC"?this.data.timezone=null:typeof t=="string"?this.data.timezone={name:t}:t===null?this.data.timezone=null:this.data.timezone=t,this)}toJSON(){return Object.assign({},this.data,{events:this.data.events.map(t=>t.toJSON()),timezone:this.timezone(),x:this.x()})}toString(){let t="";return t=`BEGIN:VCALENDAR\r
|
|
63
66
|
VERSION:2.0\r
|
|
64
67
|
`,t+="PRODID:-"+this.data.prodId+`\r
|
|
65
68
|
`,this.data.url&&(t+="URL:"+this.data.url+`\r
|
|
@@ -69,13 +72,13 @@ VERSION:2.0\r
|
|
|
69
72
|
`),this.data.name&&(t+="NAME:"+this.data.name+`\r
|
|
70
73
|
`,t+="X-WR-CALNAME:"+this.data.name+`\r
|
|
71
74
|
`),this.data.description&&(t+="X-WR-CALDESC:"+this.data.description+`\r
|
|
72
|
-
`),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(
|
|
75
|
+
`),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(n=>n.timezone())])].filter(n=>n!==null&&!n.startsWith("/")).forEach(n=>{if(!this.data.timezone?.generator)return;let i=this.data.timezone.generator(n);i&&(t+=i.replace(/\r\n/g,`
|
|
73
76
|
`).replace(/\n/g,`\r
|
|
74
77
|
`).trim()+`\r
|
|
75
78
|
`)}),this.data.timezone?.name&&(t+="TIMEZONE-ID:"+this.data.timezone.name+`\r
|
|
76
79
|
`,t+="X-WR-TIMEZONE:"+this.data.timezone.name+`\r
|
|
77
|
-
`),this.data.ttl&&(t+="REFRESH-INTERVAL;VALUE=DURATION:"+
|
|
78
|
-
`,t+="X-PUBLISHED-TTL:"+
|
|
80
|
+
`),this.data.ttl&&(t+="REFRESH-INTERVAL;VALUE=DURATION:"+f(this.data.ttl)+`\r
|
|
81
|
+
`,t+="X-PUBLISHED-TTL:"+f(this.data.ttl)+`\r
|
|
79
82
|
`),this.data.color&&(t+="X-APPLE-CALENDAR-COLOR:"+this.data.color+`\r
|
|
80
|
-
`),this.data.events.forEach(
|
|
83
|
+
`),this.data.events.forEach(a=>t+=a.toString()),t+=b(this.data),t+="END:VCALENDAR",N(t)}ttl(t){return t===void 0?this.data.ttl:(K(t)?this.data.ttl=t.asSeconds():t&&t>0?this.data.ttl=t:this.data.ttl=null,this)}url(t){return t===void 0?this.data.url:(this.data.url=t||null,this)}x(t,a){if(t===void 0)return o(this.data);if(typeof t=="string"&&typeof a=="string")o(this.data,t,a);else if(typeof t=="object")o(this.data,t);else throw new Error("Either key or value is not a string!");return this}};function st(e){return new D(e)}var lt=st;0&&(module.exports={ICalAlarm,ICalAlarmRelatesTo,ICalAlarmType,ICalAttendee,ICalAttendeeRole,ICalAttendeeStatus,ICalAttendeeType,ICalCalendar,ICalCalendarMethod,ICalCategory,ICalEvent,ICalEventBusyStatus,ICalEventClass,ICalEventRepeatingFreq,ICalEventStatus,ICalEventTransparency,ICalEventTravelTimeSuggestion,ICalEventTravelTimeTransportation,ICalWeekday,escape,foldLines,formatDate,formatDateTZ});
|
|
81
84
|
//# sourceMappingURL=index.cjs.map
|