@barinbritva/add-to-calendar
Version:
[](https://github.com/barinbritva/add-to-calendar/blob/master/package.json) [](https://gith
29 lines (28 loc) • 863 B
JavaScript
export class UrlGenerator {
createLink(event) {
return (this.urlBase + '?' + this.convertQueryObjectToQuery(this.convertEventToQueryObject(event)));
}
convertAttendeesToString(attendees) {
return attendees
.map((attendee) => {
if (typeof attendee === 'string') {
return attendee;
}
else {
return attendee[1] == null ? attendee[0] : `${attendee[1]}<${attendee[0]}>`;
}
})
.join(',');
}
convertQueryObjectToQuery(data) {
let queryParts = [];
for (const key in data) {
const value = data[key];
if (value == null) {
continue;
}
queryParts.push(`${key}=${encodeURIComponent(value)}`);
}
return queryParts.join('&');
}
}