@hebcal/icalendar
Advanced tools
Comparing version 3.1.0 to 3.1.1
@@ -350,3 +350,3 @@ 'use strict'; | ||
var version="3.1.0"; | ||
var version="3.1.1"; | ||
@@ -419,10 +419,10 @@ const VTIMEZONE = {}; | ||
/** | ||
* Transforms a single Event into a VEVENT string | ||
* @private | ||
* @param {Event} e | ||
* @param {HebcalOptions} options | ||
* @return {string} multi-line result, delimited by \r\n | ||
* @param {HebrewCalendar.Options} options | ||
* @return {string[]} | ||
*/ | ||
function eventToIcal(e, options) { | ||
function eventToIcal0(e, options) { | ||
const dtstamp = options.dtstamp || makeDtstamp(new Date()); | ||
@@ -531,10 +531,34 @@ const timed = Boolean(e.eventTime); | ||
arr.push('END:VEVENT'); // fold lines to 75 characters | ||
arr.push('END:VEVENT'); | ||
return arr; | ||
} | ||
const char74re = /(.{1,74})/g; | ||
return arr.map(line => { | ||
const char74re = /(.{1,74})/g; | ||
/** | ||
* @private | ||
* @param {Event} ev | ||
* @param {HebrewCalendar.Options} options | ||
* @return {string[]} | ||
*/ | ||
function eventToIcal1(ev, options) { | ||
const lines = eventToIcal0(ev, options); // fold lines to 75 characters | ||
return lines.map(line => { | ||
return line.length <= 74 ? line : line.match(char74re).join('\r\n '); | ||
}).join('\r\n'); | ||
}); | ||
} | ||
/** | ||
* Transforms a single Event into a VEVENT string | ||
* @param {Event} ev | ||
* @param {HebrewCalendar.Options} options | ||
* @return {string} multi-line result, delimited by \r\n | ||
*/ | ||
function eventToIcal(ev, options) { | ||
const lines = eventToIcal1(ev, options); | ||
return lines.join('\r\n'); | ||
} | ||
/** | ||
* @private | ||
@@ -574,3 +598,3 @@ * @param {Event} e | ||
* @param {Event[]} events | ||
* @param {HebcalOptions} options | ||
* @param {HebrewCalendar.Options} options | ||
*/ | ||
@@ -618,5 +642,8 @@ | ||
options.dtstamp = makeDtstamp(new Date()); | ||
events.forEach(e => { | ||
stream.write(eventToIcal(e, options)); | ||
stream.write('\r\n'); | ||
events.forEach(ev => { | ||
const lines = eventToIcal1(ev, options); | ||
lines.forEach(line => { | ||
stream.write(line); | ||
stream.write('\r\n'); | ||
}); | ||
}); | ||
@@ -629,3 +656,3 @@ stream.write('END:VCALENDAR\r\n'); | ||
* @param {Event[]} events | ||
* @param {HebcalOptions} options | ||
* @param {HebrewCalendar.Options} options | ||
* @return {string} multi-line result, delimited by \r\n | ||
@@ -632,0 +659,0 @@ */ |
{ | ||
"name": "@hebcal/icalendar", | ||
"version": "3.1.0", | ||
"version": "3.1.1", | ||
"author": "Michael J. Radwin (https://github.com/mjradwin)", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
30287
586
0