0.1.1 • Published 7 years ago

vobject v0.1.1

Weekly downloads
281
License
-
Repository
github
Last release
7 years ago

VObject-JS -- iCalendar VObject Manipulation in NodeJS

VObject-JS allows you to easily manipulate iCalendar objects using JavaScript. Implements rfc5545. Inspired by node-icalendar, ical.js and sabre-vobject.

Test

Codeship Status for sunrise/vobject-js

Installation

npm install vobject
var vobject = require('vobject');

Example

Create a Calendar

The top-level element in iCalendar is the Calendaring and Scheduling Core Object, a collection of calendar and scheduling information. Typically, this information will consist of a single iCalendar object.

var calendar = vobject.calendar();

The body of the iCalendar object (the icalbody) is made up of a list of calendar properties and one or more calendar components.

calendar.setMethod('REQUEST')

Create a Event

var event = vobject.event();
event.setSummary('Hello World!');
event.setDescription('(made with Sunrise)');

Then, add the event to that calendar (events need to be added to a calendar to be a proper iCal object):

calendar.pushComponent(event);

Then, to ICS:

calendar.toICS();

Add Attendees and Organizer

var attendee = vobject.attendee();
attendee.setCN('Pierre Valade');
attendee.setMail('user@domain.com');
attendee.setPartStat('ACCEPTED');
event.addAttendee(attendee);
var organizer = vobject.organizer();
organizer.setCN('Jeremy Le Van');
organizer.setMail('user@domain.com');
event.setOrganizer(organizer);

Set Dates for an Event

Date:

var date = vobject.dateValue();
date.setDate(1986, 10, 18);
// or
date.parseDate('1986-10-18');

Date Time:

var dateTime = vobject.dateTimeValue();
dateTime.setDateTime(1986, 10, 18, 13, 05, 00, 120); // last parameter is offset in minutes
// or
dateTime.parseDateTime('1986-10-18T13:00:00+02:00'); // ISO 8601 (with TimeZone support)

Then attach date or dateTime to an event:

event.setDTStart(date)
event.setDTStart(dateTime)

API

vobject.property(name, value, parameters)

property.setParameter(name, value)
property.getParameter(name)
property.setValue(value)
property.getValue()
property.toICS()

vobject.component(name)

component.pushProperty(property)
component.getProperties(name)
component.setProperty(property)
component.getProperty(name, index=0)
component.pushComponent(childComponent)
component.toICSLines()
component.toICS()

vobject.calendar()

calendar.setMethod(method)
calendar.getMethod()

vobject.event()

event.setUID(uid)
event.getUID()
event.setSummary(summary)
event.getSummary()
event.setDTStart(date)
event.getDTStart()
event.setDTEnd(date)
event.getDTEnd()
event.setDescription(description)
event.getDescription()
event.setLocation(location)
event.getLocation()
event.setStatus(status)
event.getStatus()
event.setDTStamp(date)
event.getDTStamp()
event.setLastModified(date)
event.getLastModified()
event.setSequence(integer)
event.getSequence()
event.setCreated(date)
event.getCreated()
event.setOrganizer(organizer)
event.getOrganizer()
event.addAttendee(attendee)
event.getAttendees()
event.addRRULE(rrule)
event.getRRULEs()
event.setRecurrenceID(date)
event.getRecurrenceID()
event.setTransparency(transparency)
event.getTransparency()

vobject.person(name)

person.setCUType(type)
person.getCUType()
person.setCN(cn)
person.getCN()
person.setMail(mail)
person.getMail()

vobject.attendee()

attendee.setRole(role)
attendee.getRole()
attendee.setPartStat(partstat)
attendee.getPartStat()
attendee.setRSVP(rsvp)
attendee.getRSVP()

vobject.organizer()

vobject.dateValue(dateString='')

dateValue.type
dateValue.parseDate(dateString)
dateValue.toICS()

vobject.dateTimeValue(dateTimeString='')

dateTimeValue.type
dateTimeValue.parseDateTime(dateTimeString)
dateTimeValue.parseTimestamp(timestamp)
dateTimeValue.setTZID(tzid)
dateTimeValue.getTZID()
dateTimeValue.toICS()
0.1.1

7 years ago

0.1.0

8 years ago

0.0.34

9 years ago

0.0.33

9 years ago

0.0.32

9 years ago

0.0.30

9 years ago

0.0.29

9 years ago

0.0.28

10 years ago

0.0.27

10 years ago

0.0.26

10 years ago

0.0.25

10 years ago

0.0.24

10 years ago

0.0.23

10 years ago

0.0.22

10 years ago

0.0.21

10 years ago

0.0.20

10 years ago

0.0.19

10 years ago

0.0.18

10 years ago

0.0.16

11 years ago

0.0.15

11 years ago

0.0.14

11 years ago

0.0.13

11 years ago

0.0.12

11 years ago

0.0.11

11 years ago

0.0.10

11 years ago

0.0.9

11 years ago

0.0.8

11 years ago

0.0.7

11 years ago

0.0.5

11 years ago

0.0.1

11 years ago