ical-generator 10.2.0-develop.2 → 10.2.0-develop.4
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 +78 -75
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2281 -2201
- package/dist/index.d.mts +2526 -0
- package/dist/index.mjs +84 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +13 -12
- package/src/event.ts +175 -0
- package/src/index.ts +3 -0
- package/src/types.ts +32 -0
- package/dist/index.d.ts +0 -2446
- package/dist/index.js +0 -81
- package/dist/index.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,81 +1,84 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
`).map(function(
|
|
3
|
-
`,a
|
|
4
|
-
`)}function
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});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
|
|
2
|
+
`).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
|
|
3
|
+
`,n=a),t+=i}return t}).join(`\r
|
|
4
|
+
`)}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
|
|
5
5
|
`);return t.length?t+`\r
|
|
6
|
-
|
|
7
|
-
`,
|
|
8
|
-
`;if(
|
|
9
|
-
`,typeof this.data.trigger
|
|
10
|
-
`:
|
|
11
|
-
`:typeof this.data.trigger
|
|
12
|
-
`:
|
|
13
|
-
`,this.data.repeat){if(!this.data.repeat.times)throw
|
|
14
|
-
`,
|
|
15
|
-
`}return this.data.type
|
|
16
|
-
`:this.data.type
|
|
17
|
-
`:this.data.type
|
|
18
|
-
`),this.data.type
|
|
19
|
-
`:this.data.type
|
|
20
|
-
`),this.data.type
|
|
21
|
-
`:this.data.type
|
|
22
|
-
`),this.data.type
|
|
23
|
-
`,
|
|
24
|
-
`,
|
|
25
|
-
`,
|
|
26
|
-
`,this.swapStartAndEndIfRequired(),
|
|
27
|
-
`,this.data.allDay?(
|
|
28
|
-
`,this.data.end&&(
|
|
29
|
-
`),
|
|
30
|
-
`,
|
|
31
|
-
`):(
|
|
32
|
-
`,this.data.end&&(
|
|
33
|
-
`)),
|
|
6
|
+
`:``}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
|
|
7
|
+
`,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
|
|
8
|
+
`;if(e+=`ACTION:`+this.data.type.toUpperCase()+`\r
|
|
9
|
+
`,typeof this.data.trigger==`number`&&this.data.relatesTo===null?this.data.trigger>0?e+=`TRIGGER;RELATED=END:`+E(this.data.trigger)+`\r
|
|
10
|
+
`:e+=`TRIGGER:`+E(this.data.trigger)+`\r
|
|
11
|
+
`:typeof this.data.trigger==`number`?e+=`TRIGGER;RELATED=`+this.data.relatesTo?.toUpperCase()+`:`+E(this.data.trigger)+`\r
|
|
12
|
+
`:e+=`TRIGGER;VALUE=DATE-TIME:`+u(this.event.timezone(),this.data.trigger)+`\r
|
|
13
|
+
`,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
|
|
14
|
+
`,e+=`DURATION:`+E(this.data.repeat.interval)+`\r
|
|
15
|
+
`}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
|
|
16
|
+
`:this.data.type===`audio`&&this.data.attach?e+=`ATTACH;VALUE=URI:`+c(this.data.attach.uri,!1)+`\r
|
|
17
|
+
`:this.data.type===`audio`&&(e+=`ATTACH;VALUE=URI:Basso\r
|
|
18
|
+
`),this.data.type!==`audio`&&this.data.description?e+=`DESCRIPTION:`+c(this.data.description,!1)+`\r
|
|
19
|
+
`:this.data.type!==`audio`&&(e+=`DESCRIPTION:`+c(this.event.summary(),!1)+`\r
|
|
20
|
+
`),this.data.type===`email`&&this.data.summary?e+=`SUMMARY:`+c(this.data.summary,!1)+`\r
|
|
21
|
+
`:this.data.type===`email`&&(e+=`SUMMARY:`+c(this.event.summary(),!1)+`\r
|
|
22
|
+
`),this.data.type===`email`&&this.data.attendees.forEach(t=>{e+=t.toString()}),e+=f(this.data),e+=`END:VALARM\r
|
|
23
|
+
`,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
|
|
24
|
+
`,e+=`UID:`+this.data.id+`\r
|
|
25
|
+
`,e+=`SEQUENCE:`+this.data.sequence+`\r
|
|
26
|
+
`,this.swapStartAndEndIfRequired(),e+=`DTSTAMP:`+u(this.calendar.timezone(),this.data.stamp)+`\r
|
|
27
|
+
`,this.data.allDay?(e+=`DTSTART;VALUE=DATE:`+u(this.timezone(),this.data.start,!0)+`\r
|
|
28
|
+
`,this.data.end&&(e+=`DTEND;VALUE=DATE:`+u(this.timezone(),this.data.end,!0)+`\r
|
|
29
|
+
`),e+=`X-MICROSOFT-CDO-ALLDAYEVENT:TRUE\r
|
|
30
|
+
`,e+=`X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE\r
|
|
31
|
+
`):(e+=d(this.timezone(),`DTSTART`,this.data.start,this.data)+`\r
|
|
32
|
+
`,this.data.end&&(e+=d(this.timezone(),`DTEND`,this.data.end,this.data)+`\r
|
|
33
|
+
`)),v(this.data.repeating)||typeof this.data.repeating==`string`){let t=this.data.repeating.toString().replace(/\r\n/g,`
|
|
34
34
|
`).split(`
|
|
35
|
-
`).filter(
|
|
36
|
-
`);!
|
|
37
|
-
`)&&!
|
|
38
|
-
`}else this.data.repeating&&(
|
|
39
|
-
`,this.data.repeating.exclude&&(this.data.allDay?
|
|
40
|
-
`:(
|
|
41
|
-
`:
|
|
42
|
-
`)));
|
|
43
|
-
`),
|
|
44
|
-
`,this.data.transparency&&(
|
|
45
|
-
`),this.data.location
|
|
46
|
-
`+this.data.location.address
|
|
47
|
-
`,this.data.location.radius&&this.data.location.geo&&(
|
|
48
|
-
`)),this.data.location?.geo?.lat&&this.data.location.geo.lon&&(
|
|
49
|
-
`),this.data.
|
|
50
|
-
`,this.data.
|
|
51
|
-
`)),this.data.
|
|
52
|
-
`
|
|
53
|
-
|
|
54
|
-
`),this.data.
|
|
55
|
-
`}),this.data.
|
|
56
|
-
`),this.data.
|
|
57
|
-
`),this.data.
|
|
58
|
-
`),
|
|
59
|
-
`),this.data.
|
|
60
|
-
`),this.data.
|
|
61
|
-
`),
|
|
62
|
-
|
|
35
|
+
`).filter(e=>e&&!e.startsWith(`DTSTART:`)).join(`\r
|
|
36
|
+
`);!t.includes(`\r
|
|
37
|
+
`)&&!t.startsWith(`RRULE:`)&&(t=`RRULE:`+t),e+=t.trim()+`\r
|
|
38
|
+
`}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
|
|
39
|
+
`,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
|
|
40
|
+
`:(e+=`EXDATE`,this.timezone()?e+=`;TZID=`+this.timezone()+`:`+this.data.repeating.exclude.map(e=>u(this.timezone(),e,!1,!0)).join(`,`)+`\r
|
|
41
|
+
`:e+=`:`+this.data.repeating.exclude.map(e=>u(this.timezone(),e,!1,this.floating())).join(`,`)+`\r
|
|
42
|
+
`)));if(this.data.recurrenceId&&(e+=d(this.timezone(),`RECURRENCE-ID`,this.data.recurrenceId,this.data)+`\r
|
|
43
|
+
`),e+=`SUMMARY:`+c(this.data.summary,!1)+`\r
|
|
44
|
+
`,this.data.transparency&&(e+=`TRANSP:`+c(this.data.transparency,!1)+`\r
|
|
45
|
+
`),this.data.location&&`title`in this.data.location&&this.data.location.title&&(e+=`LOCATION:`+c(this.data.location.title+(this.data.location.address?`
|
|
46
|
+
`+this.data.location.address:``),!1)+`\r
|
|
47
|
+
`,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
|
|
48
|
+
`)),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
|
|
49
|
+
`),this.data.travelTime&&(e+=`X-APPLE-TRAVEL-DURATION;VALUE=DURATION:`+E(this.data.travelTime.seconds)+`\r
|
|
50
|
+
`,this.data.location&&(this.data.travelTime.suggestionBehavior&&(e+=`X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:`+this.data.travelTime.suggestionBehavior+`\r
|
|
51
|
+
`),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
|
|
52
|
+
`}return this.data.description&&(e+=`DESCRIPTION:`+c(this.data.description.plain,!1)+`\r
|
|
53
|
+
`,this.data.description.html&&(e+=`X-ALT-DESC;FMTTYPE=text/html:`+c(this.data.description.html,!1)+`\r
|
|
54
|
+
`)),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
|
|
55
|
+
`),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
|
|
56
|
+
`),this.data.url&&(e+=`URL;VALUE=URI:`+c(this.data.url,!1)+`\r
|
|
57
|
+
`),this.data.attachments.length>0&&this.data.attachments.forEach(t=>{e+=`ATTACH:`+c(t,!1)+`\r
|
|
58
|
+
`}),this.data.status&&(e+=`STATUS:`+this.data.status.toUpperCase()+`\r
|
|
59
|
+
`),this.data.busystatus&&(e+=`X-MICROSOFT-CDO-BUSYSTATUS:`+this.data.busystatus.toUpperCase()+`\r
|
|
60
|
+
`),this.data.priority!==null&&(e+=`PRIORITY:`+this.data.priority+`\r
|
|
61
|
+
`),e+=f(this.data),this.data.created&&(e+=`CREATED:`+u(this.calendar.timezone(),this.data.created)+`\r
|
|
62
|
+
`),this.data.lastModified&&(e+=`LAST-MODIFIED:`+u(this.calendar.timezone(),this.data.lastModified)+`\r
|
|
63
|
+
`),this.data.class&&(e+=`CLASS:`+this.data.class.toUpperCase()+`\r
|
|
64
|
+
`),e+=`END:VEVENT\r
|
|
65
|
+
`,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
|
|
63
66
|
VERSION:2.0\r
|
|
64
|
-
`,
|
|
65
|
-
`,this.data.url&&(
|
|
66
|
-
`),this.data.source&&(
|
|
67
|
-
`),this.data.scale&&(
|
|
68
|
-
`),this.data.method&&(
|
|
69
|
-
`),this.data.name&&(
|
|
70
|
-
`,
|
|
71
|
-
`),this.data.description&&(
|
|
72
|
-
`),this.data.timezone?.generator&&[...new Set([this.timezone(),...this.data.events.map(
|
|
67
|
+
`,e+=`PRODID:-`+this.data.prodId+`\r
|
|
68
|
+
`,this.data.url&&(e+=`URL:`+this.data.url+`\r
|
|
69
|
+
`),this.data.source&&(e+=`SOURCE;VALUE=URI:`+this.data.source+`\r
|
|
70
|
+
`),this.data.scale&&(e+=`CALSCALE:`+this.data.scale+`\r
|
|
71
|
+
`),this.data.method&&(e+=`METHOD:`+this.data.method+`\r
|
|
72
|
+
`),this.data.name&&(e+=`NAME:`+this.data.name+`\r
|
|
73
|
+
`,e+=`X-WR-CALNAME:`+this.data.name+`\r
|
|
74
|
+
`),this.data.description&&(e+=`X-WR-CALDESC:`+this.data.description+`\r
|
|
75
|
+
`),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,`
|
|
73
76
|
`).replace(/\n/g,`\r
|
|
74
77
|
`).trim()+`\r
|
|
75
|
-
`)}),this.data.timezone?.name&&(
|
|
76
|
-
`,
|
|
77
|
-
`),this.data.ttl&&(
|
|
78
|
-
`,
|
|
79
|
-
`),this.data.color&&(
|
|
80
|
-
`),this.data.events.forEach(
|
|
78
|
+
`)}),this.data.timezone?.name&&(e+=`TIMEZONE-ID:`+this.data.timezone.name+`\r
|
|
79
|
+
`,e+=`X-WR-TIMEZONE:`+this.data.timezone.name+`\r
|
|
80
|
+
`),this.data.ttl&&(e+=`REFRESH-INTERVAL;VALUE=DURATION:`+E(this.data.ttl)+`\r
|
|
81
|
+
`,e+=`X-PUBLISHED-TTL:`+E(this.data.ttl)+`\r
|
|
82
|
+
`),this.data.color&&(e+=`X-APPLE-CALENDAR-COLOR:`+this.data.color+`\r
|
|
83
|
+
`),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)}exports.ICalAlarm=F,exports.ICalAlarmRelatesTo=P,exports.ICalAlarmType=N,exports.ICalAttendee=M,exports.ICalAttendeeRole=O,exports.ICalAttendeeStatus=A,exports.ICalAttendeeType=j,exports.ICalCalendar=U,exports.ICalCalendarMethod=H,exports.ICalCategory=I,exports.ICalEvent=V,exports.ICalEventBusyStatus=L,exports.ICalEventClass=R,exports.ICalEventRepeatingFreq=e,exports.ICalEventStatus=z,exports.ICalEventTransparency=B,exports.ICalEventTravelTimeSuggestion=t,exports.ICalEventTravelTimeTransportation=n,exports.ICalWeekday=r,exports.default=W,exports.escape=c,exports.foldLines=l,exports.formatDate=u,exports.formatDateTZ=d;
|
|
81
84
|
//# sourceMappingURL=index.cjs.map
|