iamcal 4.0.0 → 4.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.
@@ -9,6 +9,7 @@ export declare class TimeZone extends Component {
9
9
  constructor(id: string);
10
10
  constructor(component: Component);
11
11
  validate(): void;
12
+ static fromName(tzName: string): TimeZone;
12
13
  getId(): string;
13
14
  setId(value: string): this;
14
15
  getLastModified(): CalendarDateOrTime | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TimeZone.d.ts","sourceRoot":"","sources":["../../src/components/TimeZone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,SAAS,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;GAEG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACnC,IAAI,SAAc;gBAEN,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,SAAS;IAchC,QAAQ;IAOR,KAAK,IAAI,MAAM;IAIf,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,eAAe,IAAI,kBAAkB,GAAG,SAAS;IAMjD,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAIlC,kBAAkB;IAIlB,MAAM,IAAI,MAAM,GAAG,SAAS;IAI5B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS;IAIT;;;OAGG;IACH,UAAU,IAAI,cAAc,EAAE;IAa9B;;;OAGG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAMtC;;;OAGG;IACH,kBAAkB,IAAI,cAAc,EAAE;CAKzC"}
1
+ {"version":3,"file":"TimeZone.d.ts","sourceRoot":"","sources":["../../src/components/TimeZone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAqB,MAAM,SAAS,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;GAEG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACnC,IAAI,SAAc;gBAEN,EAAE,EAAE,MAAM;gBACV,SAAS,EAAE,SAAS;IAchC,QAAQ;IAOR,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAUzC,KAAK,IAAI,MAAM;IAIf,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI1B,eAAe,IAAI,kBAAkB,GAAG,SAAS;IAMjD,eAAe,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI;IAIlC,kBAAkB;IAIlB,MAAM,IAAI,MAAM,GAAG,SAAS;IAI5B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3B,SAAS;IAIT;;;OAGG;IACH,UAAU,IAAI,cAAc,EAAE;IAa9B;;;OAGG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAMtC;;;OAGG;IACH,kBAAkB,IAAI,cAAc,EAAE;CAKzC"}
@@ -4,6 +4,8 @@ exports.TimeZone = void 0;
4
4
  const component_1 = require("../component");
5
5
  const date_1 = require("../date");
6
6
  const TimeZoneOffset_1 = require("./TimeZoneOffset");
7
+ const parse_1 = require("../parse");
8
+ const timezones_ical_library_1 = require("timezones-ical-library");
7
9
  /**
8
10
  * Represents a VTIMEZONE component, containing time zone definitions.
9
11
  */
@@ -28,6 +30,13 @@ class TimeZone extends component_1.Component {
28
30
  const requiredProperties = ['TZID'];
29
31
  this.validateAllProperties(requiredProperties);
30
32
  }
33
+ static fromName(tzName) {
34
+ const serializedTimezone = (0, timezones_ical_library_1.tzlib_get_ical_block)(tzName);
35
+ const timezone = (0, parse_1.deserializeComponentString)(typeof serializedTimezone === 'string'
36
+ ? serializedTimezone
37
+ : serializedTimezone[0]);
38
+ return new TimeZone(timezone);
39
+ }
31
40
  getId() {
32
41
  return this.getProperty('TZID').value;
33
42
  }
@@ -85,4 +94,4 @@ class TimeZone extends component_1.Component {
85
94
  }
86
95
  }
87
96
  exports.TimeZone = TimeZone;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZVpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9UaW1lWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBa0U7QUFDbEUsa0NBQStEO0FBRS9ELHFEQUFpRDtBQUVqRDs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLHFCQUFTO0lBQ25DLElBQUksR0FBRyxXQUFXLENBQUE7SUFJbEIsWUFBWSxDQUFxQjtRQUM3QixJQUFJLFNBQW9CLENBQUE7UUFDeEIsSUFBSSxDQUFDLFlBQVkscUJBQVMsRUFBRSxDQUFDO1lBQ3pCLFNBQVMsR0FBRyxDQUFDLENBQUE7WUFDYixRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDL0MsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLElBQUksR0FBRyxDQUFDLENBQUE7WUFDZCxTQUFTLEdBQUcsSUFBSSxxQkFBUyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ3RDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3ZDLENBQUM7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXO1lBQ3pCLE1BQU0sSUFBSSxvQ0FBd0IsQ0FBQywrQkFBK0IsQ0FBQyxDQUFBO1FBQ3ZFLE1BQU0sa0JBQWtCLEdBQXdCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFFLENBQUMsS0FBSyxDQUFBO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVELGVBQWU7UUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQzlDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTTtRQUNqQixPQUFPLElBQUEsd0JBQWlCLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUE7SUFDM0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDTixNQUFNLE9BQU8sR0FBcUIsRUFBRSxDQUFBO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLElBQ0ksU0FBUyxDQUFDLElBQUksS0FBSyxVQUFVO2dCQUM3QixTQUFTLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFDL0IsQ0FBQztnQkFDQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksK0JBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1lBQy9DLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sT0FBTyxDQUFBO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQzdDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSwrQkFBYyxDQUFDLENBQUMsQ0FBQyxDQUM3QixDQUFBO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FDN0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLCtCQUFjLENBQUMsQ0FBQyxDQUFDLENBQzdCLENBQUE7SUFDTCxDQUFDO0NBQ0o7QUEvRkQsNEJBK0ZDIn0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZVpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9UaW1lWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBa0U7QUFDbEUsa0NBQStEO0FBRS9ELHFEQUFpRDtBQUNqRCxvQ0FBcUQ7QUFDckQsbUVBQTZEO0FBRTdEOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEscUJBQVM7SUFDbkMsSUFBSSxHQUFHLFdBQVcsQ0FBQTtJQUlsQixZQUFZLENBQXFCO1FBQzdCLElBQUksU0FBb0IsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxxQkFBUyxFQUFFLENBQUM7WUFDekIsU0FBUyxHQUFHLENBQUMsQ0FBQTtZQUNiLFFBQVEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQTtZQUNkLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7WUFDdEMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUNELEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JFLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVc7WUFDekIsTUFBTSxJQUFJLG9DQUF3QixDQUFDLCtCQUErQixDQUFDLENBQUE7UUFDdkUsTUFBTSxrQkFBa0IsR0FBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4RCxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFjO1FBQzFCLE1BQU0sa0JBQWtC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
package/lib/date.d.ts CHANGED
@@ -53,10 +53,16 @@ export declare class CalendarDate implements CalendarDateOrTime {
53
53
  }
54
54
  export declare class CalendarDateTime implements CalendarDateOrTime {
55
55
  private date;
56
- constructor(date: Date | string | CalendarDateOrTime);
56
+ private absolute;
57
+ constructor(date: Date | string | CalendarDateOrTime, absolute?: boolean);
57
58
  getValue(): string;
58
59
  getDate(): Date;
59
60
  isFullDay(): this is CalendarDate;
61
+ /**
62
+ * Check if this datetime is absolute, i.e. if it is represented in UTC.
63
+ * @returns If the datetime is absolute.
64
+ */
65
+ isAbsolute(): boolean;
60
66
  /**
61
67
  * Get a new time offset by a duration.
62
68
  * @param duration The duration to offset the time by.
package/lib/date.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"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"}
package/lib/date.js CHANGED
@@ -122,16 +122,26 @@ class CalendarDate {
122
122
  exports.CalendarDate = CalendarDate;
123
123
  class CalendarDateTime {
124
124
  date;
125
- constructor(date) {
125
+ absolute;
126
+ constructor(date, absolute) {
126
127
  if (typeof date === 'object') {
127
128
  if (isDateObject(date)) {
128
129
  this.date = date;
130
+ this.absolute = false;
129
131
  }
130
132
  else {
131
- this.date = (date).getDate();
133
+ this.date = date.getDate();
134
+ this.absolute = date.isFullDay() ? false : date.isAbsolute();
132
135
  }
133
136
  }
134
137
  else {
138
+ this.absolute = absolute ?? date.endsWith('Z');
139
+ if (date.endsWith('Z') && !this.absolute) {
140
+ date = date.substring(0, date.length - 1);
141
+ }
142
+ else if (!date.endsWith('Z') && this.absolute) {
143
+ date += 'Z';
144
+ }
135
145
  try {
136
146
  this.date = parseDateTimeString(date);
137
147
  }
@@ -142,9 +152,14 @@ class CalendarDateTime {
142
152
  if (!this.date || isNaN(this.date.getTime())) {
143
153
  throw new Error('Invalid date provided');
144
154
  }
155
+ if (absolute !== undefined) {
156
+ this.absolute = absolute;
157
+ }
145
158
  }
146
159
  getValue() {
147
- return toDateTimeString(this.date);
160
+ return this.absolute
161
+ ? toDateTimeStringUTC(this.date, this.date.getTimezoneOffset())
162
+ : toDateTimeString(this.date);
148
163
  }
149
164
  getDate() {
150
165
  return new Date(this.date);
@@ -152,6 +167,13 @@ class CalendarDateTime {
152
167
  isFullDay() {
153
168
  return false;
154
169
  }
170
+ /**
171
+ * Check if this datetime is absolute, i.e. if it is represented in UTC.
172
+ * @returns If the datetime is absolute.
173
+ */
174
+ isAbsolute() {
175
+ return this.absolute;
176
+ }
155
177
  /**
156
178
  * Get a new time offset by a duration.
157
179
  * @param duration The duration to offset the time by.
@@ -433,4 +455,4 @@ function convertDate(date, fullDay = false) {
433
455
  return date;
434
456
  }
435
457
  }
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdLQSxvQ0FFQztBQU9ELG9EQVdDO0FBV0QsNEJBYUM7QUFPRCwwQkFFQztBQU9ELDRCQUVDO0FBT0Qsd0JBRUM7QUFPRCw0QkFFQztBQU9ELGdDQUVDO0FBT0QsZ0NBRUM7QUFTRCw4Q0FxQkM7QUFTRCxvQ0FHQztBQVFELG9DQUdDO0FBUUQsNENBR0M7QUFpQkQsa0RBUUM7QUFRRCxrREE0Q0M7QUFRRCwwQ0FtQkM7QUFpQkQsa0NBVUM7QUE3Y0QscURBQXNDO0FBSXpCLFFBQUEsYUFBYSxHQUFHLElBQUksQ0FBQTtBQUNwQixRQUFBLGFBQWEsR0FBRyxFQUFFLEdBQUcscUJBQWEsQ0FBQTtBQUNsQyxRQUFBLFdBQVcsR0FBRyxFQUFFLEdBQUcscUJBQWEsQ0FBQTtBQUNoQyxRQUFBLFVBQVUsR0FBRyxFQUFFLEdBQUcsbUJBQVcsQ0FBQTtBQUM3QixRQUFBLFdBQVcsR0FBRyxDQUFDLEdBQUcsa0JBQVUsQ0FBQTtBQUU1QixRQUFBLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtBQUN2QixRQUFBLGdCQUFnQixHQUFHLEVBQUUsR0FBRywwQkFBa0IsQ0FBQTtBQUMxQyxRQUFBLGVBQWUsR0FBRyxFQUFFLEdBQUcsd0JBQWdCLENBQUE7QUFDdkMsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsdUJBQWUsQ0FBQTtBQThCbkQ7OztHQUdHO0FBQ0gsTUFBYSxZQUFZO0lBQ2IsSUFBSSxDQUFNO0lBRWxCLFlBQVksSUFBd0M7UUFDaEQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtZQUNwQixDQUFDO2lCQUFN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SUFDL0MsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRTlDLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUMvRCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDakQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFB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
458
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdNQSxvQ0FFQztBQU9ELG9EQVdDO0FBV0QsNEJBYUM7QUFPRCwwQkFFQztBQU9ELDRCQUVDO0FBT0Qsd0JBRUM7QUFPRCw0QkFFQztBQU9ELGdDQUVDO0FBT0QsZ0NBRUM7QUFTRCw4Q0FxQkM7QUFTRCxvQ0FHQztBQVFELG9DQUdDO0FBUUQsNENBR0M7QUFpQkQsa0RBUUM7QUFRRCxrREE0Q0M7QUFRRCwwQ0FtQkM7QUFpQkQsa0NBVUM7QUFyZUQscURBQXNDO0FBSXpCLFFBQUEsYUFBYSxHQUFHLElBQUksQ0FBQTtBQUNwQixRQUFBLGFBQWEsR0FBRyxFQUFFLEdBQUcscUJBQWEsQ0FBQTtBQUNsQyxRQUFBLFdBQVcsR0FBRyxFQUFFLEdBQUcscUJBQWEsQ0FBQTtBQUNoQyxRQUFBLFVBQVUsR0FBRyxFQUFFLEdBQUcsbUJBQVcsQ0FBQTtBQUM3QixRQUFBLFdBQVcsR0FBRyxDQUFDLEdBQUcsa0JBQVUsQ0FBQTtBQUU1QixRQUFBLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtBQUN2QixRQUFBLGdCQUFnQixHQUFHLEVBQUUsR0FBRywwQkFBa0IsQ0FBQTtBQUMxQyxRQUFBLGVBQWUsR0FBRyxFQUFFLEdBQUcsd0JBQWdCLENBQUE7QUFDdkMsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsdUJBQWUsQ0FBQTtBQThCbkQ7OztHQUdHO0FBQ0gsTUFBYSxZQUFZO0lBQ2IsSUFBSSxDQUFNO0lBRWxCLFlBQVksSUFBd0M7UUFDaEQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtZQUNwQixDQUFDO2lCQUFN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LENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRTlDLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUMvRCxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDakQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNwRCxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3JFLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDekIsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FDdkIsSUFBSSxFQUNKLFVBQVUsRUFDVixHQUFHLEVBQ0gsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLENBQ1YsQ0FBQTtRQUNELE9BQU8sVUFBVSxDQUFBO0lBQ3JCLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNyRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUxQyxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksVUFBVSxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDL0QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDbEQsT0FBTyxVQUFVLENBQUE7QUFDckIsQ0FBQztBQWlCRCxTQUFnQixXQUFXLENBQ3ZCLElBQStCLEVBQy9CLFVBQW1CLEtBQUs7SUFFeEIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLE9BQU87WUFBRSxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBOztZQUNyQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDMUMsQ0FBQztTQUFNLENBQUM7UUFDSixPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7QUFDTCxDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iamcal",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Read and write ICalendar files",
5
5
  "files": [
6
6
  "/lib",
@@ -51,5 +51,8 @@
51
51
  "ts-jest": "^29.4.0",
52
52
  "typescript": "^5.7.2",
53
53
  "typescript-eslint": "^8.38.0"
54
+ },
55
+ "dependencies": {
56
+ "timezones-ical-library": "^2.1.2"
54
57
  }
55
58
  }
@@ -2,6 +2,8 @@ import { Component, ComponentValidationError } from '../component'
2
2
  import { CalendarDateOrTime, parseDateProperty } from '../date'
3
3
  import { KnownPropertyName } from '../property/names'
4
4
  import { TimeZoneOffset } from './TimeZoneOffset'
5
+ import { deserializeComponentString } from '../parse'
6
+ import { tzlib_get_ical_block } from 'timezones-ical-library'
5
7
 
6
8
  /**
7
9
  * Represents a VTIMEZONE component, containing time zone definitions.
@@ -31,6 +33,16 @@ export class TimeZone extends Component {
31
33
  this.validateAllProperties(requiredProperties)
32
34
  }
33
35
 
36
+ static fromName(tzName: string): TimeZone {
37
+ const serializedTimezone = tzlib_get_ical_block(tzName)
38
+ const timezone = deserializeComponentString(
39
+ typeof serializedTimezone === 'string'
40
+ ? serializedTimezone
41
+ : serializedTimezone[0]
42
+ )
43
+ return new TimeZone(timezone)
44
+ }
45
+
34
46
  getId(): string {
35
47
  return this.getProperty('TZID')!.value
36
48
  }
package/src/date.ts CHANGED
@@ -106,15 +106,25 @@ export class CalendarDate implements CalendarDateOrTime {
106
106
 
107
107
  export class CalendarDateTime implements CalendarDateOrTime {
108
108
  private date: Date
109
+ private absolute: boolean
109
110
 
110
- constructor(date: Date | string | CalendarDateOrTime) {
111
+ constructor(date: Date | string | CalendarDateOrTime, absolute?: boolean) {
111
112
  if (typeof date === 'object') {
112
113
  if (isDateObject(date)) {
113
114
  this.date = date
115
+ this.absolute = false
114
116
  } else {
115
- this.date = (date).getDate()
117
+ this.date = date.getDate()
118
+ this.absolute = date.isFullDay() ? false : (date as CalendarDateTime).isAbsolute()
116
119
  }
117
120
  } else {
121
+ this.absolute = absolute ?? date.endsWith('Z')
122
+ if (date.endsWith('Z') && !this.absolute) {
123
+ date = date.substring(0, date.length - 1)
124
+ } else if (!date.endsWith('Z') && this.absolute) {
125
+ date += 'Z'
126
+ }
127
+
118
128
  try {
119
129
  this.date = parseDateTimeString(date)
120
130
  } catch {
@@ -125,10 +135,16 @@ export class CalendarDateTime implements CalendarDateOrTime {
125
135
  if (!this.date || isNaN(this.date.getTime())) {
126
136
  throw new Error('Invalid date provided')
127
137
  }
138
+
139
+ if (absolute !== undefined) {
140
+ this.absolute = absolute
141
+ }
128
142
  }
129
143
 
130
144
  getValue(): string {
131
- return toDateTimeString(this.date)
145
+ return this.absolute
146
+ ? toDateTimeStringUTC(this.date, this.date.getTimezoneOffset())
147
+ : toDateTimeString(this.date)
132
148
  }
133
149
 
134
150
  getDate(): Date {
@@ -139,6 +155,14 @@ export class CalendarDateTime implements CalendarDateOrTime {
139
155
  return false
140
156
  }
141
157
 
158
+ /**
159
+ * Check if this datetime is absolute, i.e. if it is represented in UTC.
160
+ * @returns If the datetime is absolute.
161
+ */
162
+ isAbsolute(): boolean {
163
+ return this.absolute
164
+ }
165
+
142
166
  /**
143
167
  * Get a new time offset by a duration.
144
168
  * @param duration The duration to offset the time by.