NAME

Text::JSCalendar

VERSION

Version 0.05

SYNOPSIS

This module implements a perl mapping between iCalendar:

https://tools.ietf.org/html/rfc5545

and JSCalendar:

https://datatracker.ietf.org/doc/draft-ietf-calext-jscalendar/

SUBROUTINES/METHODS

$self->tz($name)

Returns a DateTime::TimeZone object for the given name, but caches the result for speed.

$NewEvent = Net::CalDAVTalk->NormaliseEvent($Event);

Doesn't change the original event, but removes any keys which are the same as their default value

Net::CalDAVTalk->CompareEvents($Event1, $Event2);

Returns true if the events are identical

$self->eventsToVCalendar(@Events)

Convert a set of events (one or multiple) into an ical file)

Returns a string

e.g.

print $jscal->eventsToVCalendar(@Events);

$self->vcalendarToEvents($Data)

Convert a text vcalendar (either a single event or an entire ical file) into an array of events.

Returns an array (not arrayref) of Events in UID order.

e.g.

foreach my $Event ($CalDAV->vcalendarToEvents($Data)) {
    # ...
}

AUTHOR

Bron Gondwana, <brong at cpan.org>

LICENSE AND COPYRIGHT

Copyright 2019-2026 Fastmail Pty Ltd.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself; that is, either the GNU General Public License as published by the Free Software Foundation (version 1, or at your option any later version), or the Artistic License.

See http://dev.perl.org/licenses/ and the LICENSE file included with this distribution for more information.