iamcal 1.0.2 → 1.1.0
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/README.md +7 -3
- package/lib/index.d.ts +130 -16
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +356 -20
- package/lib/parse.d.ts +5 -0
- package/lib/parse.d.ts.map +1 -1
- package/lib/parse.js +25 -1
- package/lib/types.d.ts +6 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +3 -0
- package/package.json +16 -5
- package/src/index.ts +445 -33
- package/src/parse.ts +24 -0
- package/src/types.ts +5 -0
package/lib/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CalendarEvent = exports.Calendar = exports.Component = void 0;
|
|
3
|
+
exports.CalendarEvent = exports.TimeZone = exports.Calendar = exports.Component = void 0;
|
|
4
|
+
const parse_1 = require("./parse");
|
|
4
5
|
// Max line length as defined by RFC 5545 3.1.
|
|
5
6
|
const MAX_LINE_LENGTH = 75;
|
|
6
7
|
class Component {
|
|
@@ -33,7 +34,7 @@ class Component {
|
|
|
33
34
|
// Wrap lines
|
|
34
35
|
while (line.length > MAX_LINE_LENGTH) {
|
|
35
36
|
lines.push(line.substring(0, MAX_LINE_LENGTH));
|
|
36
|
-
line =
|
|
37
|
+
line = ' ' + line.substring(MAX_LINE_LENGTH);
|
|
37
38
|
}
|
|
38
39
|
lines.push(line);
|
|
39
40
|
}
|
|
@@ -57,7 +58,7 @@ class Component {
|
|
|
57
58
|
for (const property of this.properties) {
|
|
58
59
|
if (property.name === name) {
|
|
59
60
|
property.value = value;
|
|
60
|
-
return;
|
|
61
|
+
return this;
|
|
61
62
|
}
|
|
62
63
|
}
|
|
63
64
|
this.properties.push({
|
|
@@ -65,6 +66,14 @@ class Component {
|
|
|
65
66
|
params: [],
|
|
66
67
|
value: value,
|
|
67
68
|
});
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
removePropertiesWithName(name) {
|
|
72
|
+
const index = this.properties.findIndex(p => p.name === name);
|
|
73
|
+
if (index === -1)
|
|
74
|
+
return this;
|
|
75
|
+
// Remove property at index
|
|
76
|
+
this.properties.splice(index, 1);
|
|
68
77
|
}
|
|
69
78
|
getPropertyParams(name) {
|
|
70
79
|
for (const property of this.properties) {
|
|
@@ -80,60 +89,387 @@ class Component {
|
|
|
80
89
|
property.params = params;
|
|
81
90
|
}
|
|
82
91
|
}
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
addComponent(component) {
|
|
95
|
+
this.components.push(component);
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Remove a component from this component
|
|
100
|
+
* @returns `true` if the component was removed. `false` if the component was not present
|
|
101
|
+
*/
|
|
102
|
+
removeComponent(component) {
|
|
103
|
+
const index = this.components.indexOf(component);
|
|
104
|
+
if (index === -1)
|
|
105
|
+
return false;
|
|
106
|
+
// Remove element at index from list
|
|
107
|
+
this.components.splice(index, 1);
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
getComponents(name) {
|
|
111
|
+
const components = [];
|
|
112
|
+
for (let component of this.components) {
|
|
113
|
+
if (component.name === name) {
|
|
114
|
+
components.push(component);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return components;
|
|
83
118
|
}
|
|
84
119
|
}
|
|
85
120
|
exports.Component = Component;
|
|
121
|
+
/**
|
|
122
|
+
* Represents a VCALENDAR component, the root component of an iCalendar file.
|
|
123
|
+
*/
|
|
86
124
|
class Calendar extends Component {
|
|
87
125
|
name = 'VCALENDAR';
|
|
88
|
-
constructor(
|
|
126
|
+
constructor(a, b) {
|
|
127
|
+
var component;
|
|
128
|
+
if (a instanceof Component) {
|
|
129
|
+
component = a;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const prodid = a;
|
|
133
|
+
const version = b ?? '2.0';
|
|
134
|
+
component = new Component('VCALENDAR');
|
|
135
|
+
component.setProperty('PRODID', prodid);
|
|
136
|
+
component.setProperty('VERSION', version);
|
|
137
|
+
}
|
|
89
138
|
super(component.name, component.properties, component.components);
|
|
90
139
|
}
|
|
91
140
|
events() {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
141
|
+
return this.getComponents('VEVENT').map(c => new CalendarEvent(c));
|
|
142
|
+
}
|
|
143
|
+
removeEvent(a) {
|
|
144
|
+
if (a instanceof CalendarEvent) {
|
|
145
|
+
const event = a;
|
|
146
|
+
return this.removeComponent(event);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
const uid = a;
|
|
150
|
+
for (const event of this.events()) {
|
|
151
|
+
if (event.uid() !== uid)
|
|
152
|
+
continue;
|
|
153
|
+
return this.removeComponent(event);
|
|
96
154
|
}
|
|
97
155
|
}
|
|
98
|
-
return
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
prodId() {
|
|
159
|
+
return this.getProperty('PRODID').value;
|
|
160
|
+
}
|
|
161
|
+
setProdId(value) {
|
|
162
|
+
return this.setProperty('PRODID', value);
|
|
163
|
+
}
|
|
164
|
+
version() {
|
|
165
|
+
return this.getProperty('VERSION').value;
|
|
166
|
+
}
|
|
167
|
+
setVersion(value) {
|
|
168
|
+
return this.setProperty('VERSION', value);
|
|
169
|
+
}
|
|
170
|
+
calScale() {
|
|
171
|
+
return this.getProperty('CALSCALE')?.value;
|
|
172
|
+
}
|
|
173
|
+
setCalScale(value) {
|
|
174
|
+
return this.setProperty('CALSCALE', value);
|
|
175
|
+
}
|
|
176
|
+
removeCalScale() {
|
|
177
|
+
this.removePropertiesWithName('CALSCALE');
|
|
178
|
+
}
|
|
179
|
+
method() {
|
|
180
|
+
return this.getProperty('METHOD')?.value;
|
|
181
|
+
}
|
|
182
|
+
setMethod(value) {
|
|
183
|
+
this.setProperty('METHOD', value);
|
|
184
|
+
}
|
|
185
|
+
removeMethod() {
|
|
186
|
+
this.removePropertiesWithName('METHOD');
|
|
187
|
+
}
|
|
188
|
+
calendarName() {
|
|
189
|
+
return this.getProperty('X-WR-CALNAME')?.value;
|
|
190
|
+
}
|
|
191
|
+
setCalendarName(value) {
|
|
192
|
+
this.setProperty('X-WR-CALNAME', value);
|
|
193
|
+
}
|
|
194
|
+
removeCalendarName() {
|
|
195
|
+
this.removePropertiesWithName('X-WR-CALNAME');
|
|
196
|
+
}
|
|
197
|
+
calendarDescription() {
|
|
198
|
+
return this.getProperty('X-WR-CALDESC')?.value;
|
|
199
|
+
}
|
|
200
|
+
setCalendarDescription(value) {
|
|
201
|
+
return this.setProperty('X-WR-CALDESC', value);
|
|
202
|
+
}
|
|
203
|
+
removeCalendarDescription() {
|
|
204
|
+
this.removePropertiesWithName('X-WR-CALDESC');
|
|
99
205
|
}
|
|
100
206
|
}
|
|
101
207
|
exports.Calendar = Calendar;
|
|
208
|
+
/**
|
|
209
|
+
* Represents a VTIMEZONE component, containing time zone definitions.
|
|
210
|
+
*/
|
|
211
|
+
class TimeZone extends Component {
|
|
212
|
+
constructor(a) {
|
|
213
|
+
var component;
|
|
214
|
+
if (a instanceof Component) {
|
|
215
|
+
component = a;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
const tzid = a;
|
|
219
|
+
component = new Component('VTIMEZONE');
|
|
220
|
+
component.setProperty('TZID', tzid);
|
|
221
|
+
}
|
|
222
|
+
super(component.name, component.properties, component.components);
|
|
223
|
+
}
|
|
224
|
+
id() {
|
|
225
|
+
return this.getProperty('TZID').value;
|
|
226
|
+
}
|
|
227
|
+
setId(value) {
|
|
228
|
+
return this.setProperty('TZID', value);
|
|
229
|
+
}
|
|
230
|
+
lastMod() {
|
|
231
|
+
const text = this.getProperty('LAST-MOD');
|
|
232
|
+
if (!text)
|
|
233
|
+
return;
|
|
234
|
+
return (0, parse_1.parseDate)(text);
|
|
235
|
+
}
|
|
236
|
+
setLastMod(value) {
|
|
237
|
+
return this.setProperty('LAST-MOD', value.toISOString());
|
|
238
|
+
}
|
|
239
|
+
removeLastMod() {
|
|
240
|
+
this.removePropertiesWithName('LAST-MOD');
|
|
241
|
+
}
|
|
242
|
+
url() {
|
|
243
|
+
return this.getProperty('TZURL')?.value;
|
|
244
|
+
}
|
|
245
|
+
setUrl(value) {
|
|
246
|
+
return this.setProperty('TZURL', value);
|
|
247
|
+
}
|
|
248
|
+
removeUrl() {
|
|
249
|
+
this.removePropertiesWithName('TZURL');
|
|
250
|
+
}
|
|
251
|
+
/** Get all time offsets. */
|
|
252
|
+
offsets() {
|
|
253
|
+
const offsets = [];
|
|
254
|
+
this.components.forEach(component => {
|
|
255
|
+
if (component.name === 'STANDARD' || component.name === 'DAYLIGHT') {
|
|
256
|
+
offsets.push(new TimeZoneOffset(component));
|
|
257
|
+
}
|
|
258
|
+
});
|
|
259
|
+
return offsets;
|
|
260
|
+
}
|
|
261
|
+
/** Get standard/winter time offsets. */
|
|
262
|
+
standardOffsets() {
|
|
263
|
+
return this.getComponents('STANDARD').map(c => new TimeZoneOffset(c));
|
|
264
|
+
}
|
|
265
|
+
/** Get daylight savings time offsets. */
|
|
266
|
+
daylightOffsets() {
|
|
267
|
+
return this.getComponents('DAYLIGHT').map(c => new TimeZoneOffset(c));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.TimeZone = TimeZone;
|
|
271
|
+
/** Represents a STANDARD or DAYLIGHT component, defining a time zone offset. */
|
|
272
|
+
class TimeZoneOffset extends Component {
|
|
273
|
+
constructor(a, b, c, d) {
|
|
274
|
+
var component;
|
|
275
|
+
if (a instanceof Component) {
|
|
276
|
+
component = a;
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
const name = a;
|
|
280
|
+
const start = b;
|
|
281
|
+
const offsetFrom = c;
|
|
282
|
+
const offsetTo = d;
|
|
283
|
+
component = new Component(name);
|
|
284
|
+
component.setProperty('DTSTART', (0, parse_1.toDateTimeString)(start));
|
|
285
|
+
component.setProperty('TZOFFSETFROM', offsetFrom);
|
|
286
|
+
component.setProperty('TZOFFSETTO', offsetTo);
|
|
287
|
+
}
|
|
288
|
+
super(component.name, component.properties, component.components);
|
|
289
|
+
}
|
|
290
|
+
start() {
|
|
291
|
+
return (0, parse_1.parseDate)(this.getProperty('DTSTART'));
|
|
292
|
+
}
|
|
293
|
+
setStart(value, fullDay = false) {
|
|
294
|
+
if (fullDay) {
|
|
295
|
+
this.setProperty('DTSTART', (0, parse_1.toDateString)(value));
|
|
296
|
+
this.setPropertyParams('DTSTART', ['VALUE=DATE']);
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
this.setProperty('DTSTART', (0, parse_1.toDateTimeString)(value));
|
|
300
|
+
}
|
|
301
|
+
return this;
|
|
302
|
+
}
|
|
303
|
+
offsetFrom() {
|
|
304
|
+
return this.getProperty('TZOFFSETFROM').value;
|
|
305
|
+
}
|
|
306
|
+
setOffsetFrom(value) {
|
|
307
|
+
return this.setProperty('TZOFFSETFROM', value);
|
|
308
|
+
}
|
|
309
|
+
offsetTo() {
|
|
310
|
+
return this.getProperty('TZOFFSETTO').value;
|
|
311
|
+
}
|
|
312
|
+
setOffsetTo(value) {
|
|
313
|
+
return this.setProperty('TZOFFSETTO', value);
|
|
314
|
+
}
|
|
315
|
+
comment() {
|
|
316
|
+
return this.getProperty('COMMENT')?.value;
|
|
317
|
+
}
|
|
318
|
+
setComment(value) {
|
|
319
|
+
return this.setProperty('COMMENT', value);
|
|
320
|
+
}
|
|
321
|
+
removeComment() {
|
|
322
|
+
this.removePropertiesWithName('COMMENT');
|
|
323
|
+
}
|
|
324
|
+
timeZoneName() {
|
|
325
|
+
return this.getProperty('TZNAME')?.value;
|
|
326
|
+
}
|
|
327
|
+
setTimeZoneName(value) {
|
|
328
|
+
return this.setProperty('TZNAME', value);
|
|
329
|
+
}
|
|
330
|
+
removeTimeZoneName() {
|
|
331
|
+
this.removePropertiesWithName('TZNAME');
|
|
332
|
+
}
|
|
333
|
+
}
|
|
102
334
|
class CalendarEvent extends Component {
|
|
103
335
|
name = 'VEVENT';
|
|
104
|
-
constructor(
|
|
336
|
+
constructor(a, b) {
|
|
337
|
+
var component;
|
|
338
|
+
if (b) {
|
|
339
|
+
const uid = a;
|
|
340
|
+
const dtstamp = b;
|
|
341
|
+
component = new Component('VEVENT');
|
|
342
|
+
component.setProperty('UID', uid);
|
|
343
|
+
component.setProperty('DTSTAMP', (0, parse_1.toDateTimeString)(dtstamp));
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
component = a;
|
|
347
|
+
}
|
|
105
348
|
super(component.name, component.properties, component.components);
|
|
106
349
|
}
|
|
350
|
+
stamp() {
|
|
351
|
+
return (0, parse_1.parseDate)(this.getProperty('DTSTAMP'));
|
|
352
|
+
}
|
|
353
|
+
setStamp(value, fullDay = false) {
|
|
354
|
+
if (fullDay) {
|
|
355
|
+
this.setProperty('DTSTAMP', (0, parse_1.toDateString)(value));
|
|
356
|
+
this.setPropertyParams('DTSTAMP', ['VALUE=DATE']);
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
this.setProperty('DTSTAMP', (0, parse_1.toDateTimeString)(value));
|
|
360
|
+
}
|
|
361
|
+
return this;
|
|
362
|
+
}
|
|
363
|
+
uid() {
|
|
364
|
+
return this.getProperty('UID').value;
|
|
365
|
+
}
|
|
366
|
+
setUid(value) {
|
|
367
|
+
return this.setProperty('UID', value);
|
|
368
|
+
}
|
|
107
369
|
summary() {
|
|
108
370
|
return this.getProperty('SUMMARY').value;
|
|
109
371
|
}
|
|
110
372
|
setSummary(value) {
|
|
111
|
-
this.setProperty(
|
|
373
|
+
return this.setProperty('SUMMARY', value);
|
|
374
|
+
}
|
|
375
|
+
removeSummary() {
|
|
376
|
+
this.removePropertiesWithName('SUMMARY');
|
|
112
377
|
}
|
|
113
378
|
description() {
|
|
114
379
|
return this.getProperty('DESCRIPTION').value;
|
|
115
380
|
}
|
|
116
381
|
setDescription(value) {
|
|
117
|
-
this.setProperty(
|
|
382
|
+
return this.setProperty('DESCRIPTION', value);
|
|
383
|
+
}
|
|
384
|
+
removeDescription() {
|
|
385
|
+
this.removePropertiesWithName('DESCRIPTION');
|
|
118
386
|
}
|
|
119
387
|
location() {
|
|
120
388
|
return this.getProperty('LOCATION')?.value;
|
|
121
389
|
}
|
|
122
390
|
setLocation(value) {
|
|
123
|
-
this.setProperty(
|
|
391
|
+
return this.setProperty('LOCATION', value);
|
|
124
392
|
}
|
|
393
|
+
removeLocation() {
|
|
394
|
+
this.removePropertiesWithName('LOCATION');
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Get the start of the event.
|
|
398
|
+
* If set as a full day the time will be at the start of the day.
|
|
399
|
+
*/
|
|
125
400
|
start() {
|
|
126
|
-
return
|
|
401
|
+
return (0, parse_1.parseDate)(this.getProperty('DTSTART'));
|
|
402
|
+
}
|
|
403
|
+
setStart(value, fullDay = false) {
|
|
404
|
+
if (fullDay) {
|
|
405
|
+
this.setProperty('DTSTART', (0, parse_1.toDateString)(value));
|
|
406
|
+
this.setPropertyParams('DTSTART', ['VALUE=DATE']);
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
this.setProperty('DTSTART', (0, parse_1.toDateTimeString)(value));
|
|
410
|
+
}
|
|
411
|
+
return this;
|
|
127
412
|
}
|
|
128
|
-
|
|
129
|
-
this.
|
|
413
|
+
removeStart() {
|
|
414
|
+
this.removePropertiesWithName('DTSTART');
|
|
130
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Get the end of the event.
|
|
418
|
+
* If set as a full day the time will be at the end of the day.
|
|
419
|
+
*/
|
|
131
420
|
end() {
|
|
132
|
-
|
|
421
|
+
const endDate = (0, parse_1.parseDate)(this.getProperty('DTEND'));
|
|
422
|
+
if (this.getPropertyParams('DTEND')?.includes('VALUE=DATE')) {
|
|
423
|
+
const ONE_DAY = 24 * 60 * 60 * 1000;
|
|
424
|
+
const endTime = new Date(endDate.getTime() + ONE_DAY);
|
|
425
|
+
return endTime;
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
return endDate;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
setEnd(value, fullDay = false) {
|
|
432
|
+
if (fullDay) {
|
|
433
|
+
this.setProperty('DTEND', (0, parse_1.toDateString)(value));
|
|
434
|
+
this.setPropertyParams('DTEND', ['VALUE=DATE']);
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
this.setProperty('DTEND', (0, parse_1.toDateTimeString)(value));
|
|
438
|
+
}
|
|
439
|
+
return this;
|
|
440
|
+
}
|
|
441
|
+
removeEnd() {
|
|
442
|
+
this.removePropertiesWithName('DTEND');
|
|
443
|
+
}
|
|
444
|
+
created() {
|
|
445
|
+
const property = this.getProperty('CREATED');
|
|
446
|
+
if (!property)
|
|
447
|
+
return;
|
|
448
|
+
return (0, parse_1.parseDate)(property);
|
|
449
|
+
}
|
|
450
|
+
setCreated(value) {
|
|
451
|
+
return this.setProperty('CREATED', (0, parse_1.toDateTimeString)(value));
|
|
452
|
+
}
|
|
453
|
+
removeCreated() {
|
|
454
|
+
this.removePropertiesWithName('CREATED');
|
|
455
|
+
}
|
|
456
|
+
geo() {
|
|
457
|
+
const text = this.getProperty('GEO')?.value;
|
|
458
|
+
if (!text)
|
|
459
|
+
return;
|
|
460
|
+
const pattern = /^[+-]?\d+(\.\d+)?,[+-]?\d+(\.\d+)?$/;
|
|
461
|
+
if (!pattern.test(text))
|
|
462
|
+
throw new Error(`Failed to parse GEO property: ${text}`);
|
|
463
|
+
const [longitude, latitude] = text.split(',');
|
|
464
|
+
return [parseFloat(longitude), parseFloat(latitude)];
|
|
465
|
+
}
|
|
466
|
+
setGeo(latitude, longitude) {
|
|
467
|
+
const text = `${latitude},${longitude}`;
|
|
468
|
+
return this;
|
|
133
469
|
}
|
|
134
|
-
|
|
135
|
-
this.
|
|
470
|
+
removeGeo() {
|
|
471
|
+
this.removePropertiesWithName('GEO');
|
|
136
472
|
}
|
|
137
473
|
}
|
|
138
474
|
exports.CalendarEvent = CalendarEvent;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsOENBQThDO0FBQzlDLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQTtBQUUxQixNQUFhLFNBQVM7SUFDbEIsSUFBSSxDQUFRO0lBQ1osVUFBVSxDQUFpQjtJQUMzQixVQUFVLENBQWtCO0lBRTVCLFlBQVksSUFBWSxFQUFFLFVBQTRCLEVBQUUsVUFBNkI7UUFDakYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFBO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1FBQ2pDLENBQUM7UUFDRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsZUFBZTtRQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUVwQyxLQUFLLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLElBQUksR0FDSixRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDckIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsR0FBRztnQkFDSCxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7WUFF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
|
|
475
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1FO0FBR25FLDhDQUE4QztBQUM5QyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUE7QUFFMUIsTUFBYSxTQUFTO0lBQ2xCLElBQUksQ0FBUTtJQUNaLFVBQVUsQ0FBWTtJQUN0QixVQUFVLENBQWE7SUFFdkIsWUFBWSxJQUFZLEVBQUUsVUFBdUIsRUFBRSxVQUF3QjtRQUN2RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUE7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDakMsQ0FBQztRQUNELElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDTCxlQUFlO1FBQ2YsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRXBDLEtBQUssSUFBSSxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksSUFBSSxHQUNKLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNyQixRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxHQUFHO2dCQUNILFFBQVEsQ0FBQyxPQUFPLENB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
|
package/lib/parse.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import readline from 'readline';
|
|
2
2
|
import { Calendar, CalendarEvent, Component } from '.';
|
|
3
|
+
import { Property } from './types';
|
|
3
4
|
export declare class DeserializationError extends Error {
|
|
4
5
|
name: string;
|
|
5
6
|
}
|
|
@@ -25,4 +26,8 @@ export declare function parseCalendar(text: string): Promise<Calendar>;
|
|
|
25
26
|
* @returns the parsed event
|
|
26
27
|
*/
|
|
27
28
|
export declare function parseEvent(text: string): Promise<CalendarEvent>;
|
|
29
|
+
export declare function parseDate(dateProperty: Property): Date;
|
|
30
|
+
export declare function toTimeString(date: Date): string;
|
|
31
|
+
export declare function toDateString(date: Date): string;
|
|
32
|
+
export declare function toDateTimeString(date: Date): string;
|
|
28
33
|
//# sourceMappingURL=parse.d.ts.map
|
package/lib/parse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,IAAI,SAAyB;CAChC;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAsH/E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAIxE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAKnE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKrE;AAED,wBAAgB,SAAS,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI,CAStD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE/C;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEnD"}
|
package/lib/parse.js
CHANGED
|
@@ -8,6 +8,10 @@ exports.deserialize = deserialize;
|
|
|
8
8
|
exports.deserializeString = deserializeString;
|
|
9
9
|
exports.parseCalendar = parseCalendar;
|
|
10
10
|
exports.parseEvent = parseEvent;
|
|
11
|
+
exports.parseDate = parseDate;
|
|
12
|
+
exports.toTimeString = toTimeString;
|
|
13
|
+
exports.toDateString = toDateString;
|
|
14
|
+
exports.toDateTimeString = toDateTimeString;
|
|
11
15
|
const readline_1 = __importDefault(require("readline"));
|
|
12
16
|
const stream_1 = require("stream");
|
|
13
17
|
const _1 = require(".");
|
|
@@ -162,4 +166,24 @@ async function parseEvent(text) {
|
|
|
162
166
|
throw new DeserializationError("Not an event");
|
|
163
167
|
return new _1.CalendarEvent(component);
|
|
164
168
|
}
|
|
165
|
-
|
|
169
|
+
function parseDate(dateProperty) {
|
|
170
|
+
const value = dateProperty.value.trim();
|
|
171
|
+
if (dateProperty.params.includes('VALUE=DATE')) {
|
|
172
|
+
// Parse date only
|
|
173
|
+
return new Date(`${value.substring(0, 4)}-${value.substring(4, 6)}-${value.substring(6, 8)}`);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
// Parse date and time
|
|
177
|
+
return new Date(`${value.substring(0, 4)}-${value.substring(4, 6)}-${value.substring(6, 8)} ${value.substring(9, 11)}:${value.substring(11, 13)}:${value.substring(13, 15)}`);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function toTimeString(date) {
|
|
181
|
+
return `${date.getHours().toString().padStart(2, '0')}${date.getMinutes().toString().padStart(2, '0')}${date.getSeconds().toString().padStart(2, '0')}`;
|
|
182
|
+
}
|
|
183
|
+
function toDateString(date) {
|
|
184
|
+
return `${date.getFullYear().toString().padStart(4, '0')}${date.getMonth().toString().padStart(2, '0')}${date.getDate().toString().padStart(2, '0')}`;
|
|
185
|
+
}
|
|
186
|
+
function toDateTimeString(date) {
|
|
187
|
+
return `${toDateString(date)}T${toTimeString(date)}`;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBYUEsa0NBc0hDO0FBTUQsOENBSUM7QUFPRCxzQ0FLQztBQU9ELGdDQUtDO0FBRUQsOEJBU0M7QUFFRCxvQ0FFQztBQUVELG9DQUVDO0FBRUQsNENBRUM7QUE1TEQsd0RBQStCO0FBQy9CLG1DQUFpQztBQUNqQyx3QkFBc0Q7QUFHdEQsTUFBYSxvQkFBcUIsU0FBUSxLQUFLO0lBQzNDLElBQUksR0FBRyxzQkFBc0IsQ0FBQTtDQUNoQztBQUZELG9EQUVDO0FBRUQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLFdBQVcsQ0FBQyxLQUF5QjtJQUN2RCxNQUFNLFNBQVMsR0FBRyxJQUFJLFlBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNuQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUE7SUFFaEIsb0RBQW9EO0lBQ3BELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUE7SUFFakMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFBO0lBRTdDLEtBQUssVUFBVSxXQUFXLENBQUMsSUFBWTtRQUNuQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsT0FBTTtRQUU5QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsTUFBTSxJQUFJLG9CQUFvQixDQUFDLG1DQUFtQyxDQUFDLENBQUE7UUFDdkUsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVCLGtCQUFrQjtZQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7WUFDOUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUVoQixJQUFJLEtB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
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB"}
|
package/lib/types.js
ADDED
package/package.json
CHANGED
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iamcal",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Read and write ICalendar files",
|
|
5
5
|
"files": [
|
|
6
6
|
"/lib",
|
|
7
7
|
"/src"
|
|
8
8
|
],
|
|
9
9
|
"exports": {
|
|
10
|
-
".":
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
".": {
|
|
11
|
+
"default": "./lib/index.js",
|
|
12
|
+
"types": "./lib/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./parse": {
|
|
15
|
+
"default": "./lib/parse.js",
|
|
16
|
+
"types": "./lib/parse.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./io": {
|
|
19
|
+
"default": "./lib/io.js",
|
|
20
|
+
"types": "./lib/io.d.ts"
|
|
21
|
+
}
|
|
13
22
|
},
|
|
23
|
+
"main": "./lib/index.js",
|
|
24
|
+
"types": "./lib/index.d.ts",
|
|
14
25
|
"scripts": {
|
|
15
26
|
"build": "rimraf lib && tsc",
|
|
16
27
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
@@ -34,4 +45,4 @@
|
|
|
34
45
|
"rimraf": "^6.0.1",
|
|
35
46
|
"typescript": "^5.7.2"
|
|
36
47
|
}
|
|
37
|
-
}
|
|
48
|
+
}
|