Open marsmaennchen opened 2 years ago
Got the same error, any updates @jens-maus ?
Can you try to get a minimal ics File that can reproduce this error?
Tis error happensd when exDate is somehow strange becaue it contains something BUT mot a valid date object, so finding the reason would be ideal
@marsmaennchen @xRealNeon I had to put a fix in our application as the dates are returned from rrule.between() , not by ical.
let dates=rrule.between(x,y) // get the list of rule matching dates
dates = dates.filter((d) => { // filter out any garbage dates.. usually when TZ is trash
if (JSON.stringify(d) === "null") return false;
else return true;
});
this should be closed as a dup of
I am getting this error after updating to a new version of node-ical. I have isolated the version in which the behavior changed, it changed between 0.12.6 and 0.12.7. The attached code will recreate the error (works in versions earlier than 0.12.7)
const ical = require('node-ical');
const myevents = "BEGIN:VEVENT\r\nDTSTART:20230105T191500Z\r\nDTEND:20230105T193000Z\r\nRRULE:FREQ=WEEKLY;INTERVAL=1\r\nDTSTART:20230105T193000Z\r\nDTEND:20230105T194500Z\r\nRRULE:FREQ=WEEKLY;INTERVAL=1\r\nEND:VEVENT\r\n";
async function doit(){
var events = await ical.async.parseICS(myevents);
}
console.log("Starting....");
doit()
.then(() => {
console.log("Finished....");
process.exit(0);
})
.catch(err => {
console.error(err);
process.exit(1);
});
No toISOString function in exdate[name]
TypeError: No toISOString function in exdate[name] at Object.EXDATE (/opt/iobroker/node_modules/node-ical/ical.js:299:17) at Object.handleObject (/opt/iobroker/node_modules/node-ical/ical.js:571:39) at Object.parseLines (/opt/iobroker/node_modules/node-ical/ical.js:623:18) at Immediate.<anonymous> (/opt/iobroker/node_modules/node-ical/ical.js:638:16) at processImmediate (internal/timers.js:464:21)