ics

package module
v0.0.0-...-5dac8cb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2022 License: Apache-2.0 Imports: 12 Imported by: 0

README

golang-ical

A ICS / ICal parser and serialiser for Golang.

Because the other libraries didn't quite do what I needed.

Usage, parsing:

    cal, err := ParseCalendar(strings.NewReader(input))

Creating:

  cal := ics.NewCalendar()
  cal.SetMethod(ics.MethodRequest)
  event := cal.AddEvent(fmt.Sprintf("id@domain", p.SessionKey.IntID()))
  event.SetCreatedTime(time.Now())
  event.SetDtStampTime(time.Now())
  event.SetModifiedAt(time.Now())
  event.SetStartAt(time.Now())
  event.SetEndAt(time.Now())
  event.SetSummary("Summary")
  event.SetLocation("Address")
  event.SetDescription("Description")
  event.SetURL("https://URL/")
  event.AddRrule(fmt.Sprintf("FREQ=YEARLY;BYMONTH=%d;BYMONTHDAY=%d", time.Now().Month(), time.Now().Day()))
  event.SetOrganizer("sender@domain", ics.WithCN("This Machine"))
  event.AddAttendee("reciever or participant", ics.CalendarUserTypeIndividual, ics.ParticipationStatusNeedsAction, ics.ParticipationRoleReqParticipant, ics.WithRSVP(true))
  return cal.Serialize()

Helper methods created as needed feel free to send a P.R. with more.

Documentation

Index

Constants

View Source
const (
	ComponentPropertyUniqueId     = ComponentProperty(PropertyUid) // TEXT
	ComponentPropertyDtstamp      = ComponentProperty(PropertyDtstamp)
	ComponentPropertyOrganizer    = ComponentProperty(PropertyOrganizer)
	ComponentPropertyAttendee     = ComponentProperty(PropertyAttendee)
	ComponentPropertyAttach       = ComponentProperty(PropertyAttach)
	ComponentPropertyDescription  = ComponentProperty(PropertyDescription) // TEXT
	ComponentPropertyCategories   = ComponentProperty(PropertyCategories)  // TEXT
	ComponentPropertyClass        = ComponentProperty(PropertyClass)       // TEXT
	ComponentPropertyColor        = ComponentProperty(PropertyColor)       // TEXT
	ComponentPropertyCreated      = ComponentProperty(PropertyCreated)
	ComponentPropertySummary      = ComponentProperty(PropertySummary) // TEXT
	ComponentPropertyDtStart      = ComponentProperty(PropertyDtstart)
	ComponentPropertyDtEnd        = ComponentProperty(PropertyDtend)
	ComponentPropertyDue          = ComponentProperty(PropertyDue)
	ComponentPropertyLocation     = ComponentProperty(PropertyLocation) // TEXT
	ComponentPropertyStatus       = ComponentProperty(PropertyStatus)   // TEXT
	ComponentPropertyFreebusy     = ComponentProperty(PropertyFreebusy)
	ComponentPropertyLastModified = ComponentProperty(PropertyLastModified)
	ComponentPropertyUrl          = ComponentProperty(PropertyUrl)
	ComponentPropertyGeo          = ComponentProperty(PropertyGeo)
	ComponentPropertyTransp       = ComponentProperty(PropertyTransp)
	ComponentPropertySequence     = ComponentProperty(PropertySequence)
	ComponentPropertyExdate       = ComponentProperty(PropertyExdate)
	ComponentPropertyExrule       = ComponentProperty(PropertyExrule)
	ComponentPropertyRdate        = ComponentProperty(PropertyRdate)
	ComponentPropertyRrule        = ComponentProperty(PropertyRrule)
	ComponentPropertyAction       = ComponentProperty(PropertyAction)
	ComponentPropertyTrigger      = ComponentProperty(PropertyTrigger)
	ComponentPropertyRelatedTo    = ComponentProperty(PropertyRelatedTo)
)

Variables

This section is empty.

Functions

func FromText

func FromText(s string) string

func ToText

func ToText(s string) string

Types

type Action

type Action string
const (
	ActionAudio     Action = "AUDIO"
	ActionDisplay   Action = "DISPLAY"
	ActionEmail     Action = "EMAIL"
	ActionProcedure Action = "PROCEDURE"
)

type Attendee

type Attendee struct {
	IANAProperty
}

func (*Attendee) Cn

func (attendee *Attendee) Cn() ParticipationStatus

func (*Attendee) Email

func (attendee *Attendee) Email() string

func (*Attendee) ParticipationStatus

func (attendee *Attendee) ParticipationStatus() ParticipationStatus

type BaseProperty

type BaseProperty struct {
	IANAToken      string
	ICalParameters map[string][]string
	Value          string
}

func ParseProperty

func ParseProperty(contentLine ContentLine) (*BaseProperty, error)

type Calendar

type Calendar struct {
	Components         []Component
	CalendarProperties []CalendarProperty
}

func NewCalendar

func NewCalendar() *Calendar

func NewCalendarFor

func NewCalendarFor(service string) *Calendar

func ParseCalendar

func ParseCalendar(r io.Reader) (*Calendar, error)

func (*Calendar) AddEvent

func (calendar *Calendar) AddEvent(id string) *VEvent

func (*Calendar) AddJournal

func (calendar *Calendar) AddJournal(id string) *VJournal

func (*Calendar) AddTodo

func (calendar *Calendar) AddTodo(id string) *VTodo

func (*Calendar) AddVEvent

func (calendar *Calendar) AddVEvent(e *VEvent)

func (*Calendar) Events

func (calendar *Calendar) Events() (r []*VEvent)

func (*Calendar) Journal

func (calendar *Calendar) Journal() (r []*VJournal)

func (*Calendar) Serialize

func (calendar *Calendar) Serialize() string

func (*Calendar) SerializeTo

func (calendar *Calendar) SerializeTo(w io.Writer) error

func (*Calendar) SetCalscale

func (calendar *Calendar) SetCalscale(s string, props ...PropertyParameter)

func (*Calendar) SetColor

func (calendar *Calendar) SetColor(s string, props ...PropertyParameter)

func (*Calendar) SetDescription

func (calendar *Calendar) SetDescription(s string, props ...PropertyParameter)

func (*Calendar) SetLastModified

func (calendar *Calendar) SetLastModified(t time.Time, props ...PropertyParameter)

func (*Calendar) SetMethod

func (calendar *Calendar) SetMethod(method Method, props ...PropertyParameter)

func (*Calendar) SetName

func (calendar *Calendar) SetName(s string, props ...PropertyParameter)

func (*Calendar) SetProductId

func (calendar *Calendar) SetProductId(s string, props ...PropertyParameter)

func (*Calendar) SetRefreshInterval

func (calendar *Calendar) SetRefreshInterval(s string, props ...PropertyParameter)

func (*Calendar) SetTzid

func (calendar *Calendar) SetTzid(s string, props ...PropertyParameter)

func (*Calendar) SetVersion

func (calendar *Calendar) SetVersion(s string, props ...PropertyParameter)

func (*Calendar) SetXPublishedTTL

func (calendar *Calendar) SetXPublishedTTL(s string, props ...PropertyParameter)

func (*Calendar) SetXWRCalDesc

func (calendar *Calendar) SetXWRCalDesc(s string, props ...PropertyParameter)

func (*Calendar) SetXWRCalID

func (calendar *Calendar) SetXWRCalID(s string, props ...PropertyParameter)

func (*Calendar) SetXWRCalName

func (calendar *Calendar) SetXWRCalName(s string, props ...PropertyParameter)

func (*Calendar) SetXWRTimezone

func (calendar *Calendar) SetXWRTimezone(s string, props ...PropertyParameter)

func (*Calendar) Todos

func (calendar *Calendar) Todos() (r []*VTodo)

type CalendarProperty

type CalendarProperty struct {
	BaseProperty
}

type CalendarStream

type CalendarStream struct {
	// contains filtered or unexported fields
}

func NewCalendarStream

func NewCalendarStream(r io.Reader) *CalendarStream

func (*CalendarStream) ReadLine

func (cs *CalendarStream) ReadLine() (*ContentLine, error)

type CalendarUserType

type CalendarUserType string
const (
	CalendarUserTypeIndividual CalendarUserType = "INDIVIDUAL"
	CalendarUserTypeGroup      CalendarUserType = "GROUP"
	CalendarUserTypeResource   CalendarUserType = "RESOURCE"
	CalendarUserTypeRoom       CalendarUserType = "ROOM"
	CalendarUserTypeUnknown    CalendarUserType = "UNKNOWN"
)

func (CalendarUserType) KeyValue

func (cut CalendarUserType) KeyValue(s ...interface{}) (string, []string)

type Classification

type Classification string
const (
	ClassificationPublic       Classification = "PUBLIC"
	ClassificationPrivate      Classification = "PRIVATE"
	ClassificationConfidential Classification = "CONFIDENTIAL"
)

type Component

type Component interface {
	UnknownPropertiesIANAProperties() []IANAProperty
	SubComponents() []Component
	// contains filtered or unexported methods
}

func GeneralParseComponent

func GeneralParseComponent(cs *CalendarStream, startLine *BaseProperty) (Component, error)

type ComponentBase

type ComponentBase struct {
	Properties []IANAProperty
	Components []Component
}

func ParseComponent

func ParseComponent(cs *CalendarStream, startLine *BaseProperty) (ComponentBase, error)

func (*ComponentBase) SubComponents

func (cb *ComponentBase) SubComponents() []Component

func (*ComponentBase) UnknownPropertiesIANAProperties

func (cb *ComponentBase) UnknownPropertiesIANAProperties() []IANAProperty

type ComponentProperty

type ComponentProperty Property

type ComponentType

type ComponentType string
const (
	ComponentVCalendar ComponentType = "VCALENDAR"
	ComponentVEvent    ComponentType = "VEVENT"
	ComponentVTodo     ComponentType = "VTODO"
	ComponentVJournal  ComponentType = "VJOURNAL"
	ComponentVFreeBusy ComponentType = "VFREEBUSY"
	ComponentVTimezone ComponentType = "VTIMEZONE"
	ComponentVAlarm    ComponentType = "VALARM"
	ComponentStandard  ComponentType = "STANDARD"
	ComponentDaylight  ComponentType = "DAYLIGHT"
)

type ContentLine

type ContentLine string

type Daylight

type Daylight struct {
	ComponentBase
}

func ParseDaylight

func ParseDaylight(cs *CalendarStream, startLine *BaseProperty) *Daylight

func (*Daylight) Serialize

func (c *Daylight) Serialize() string

type FreeBusyTimeType

type FreeBusyTimeType string
const (
	FreeBusyTimeTypeFree            FreeBusyTimeType = "FREE"
	FreeBusyTimeTypeBusy            FreeBusyTimeType = "BUSY"
	FreeBusyTimeTypeBusyUnavailable FreeBusyTimeType = "BUSY-UNAVAILABLE"
	FreeBusyTimeTypeBusyTentative   FreeBusyTimeType = "BUSY-TENTATIVE"
)

type GeneralComponent

type GeneralComponent struct {
	ComponentBase
	Token string
}

func ParseGeneralComponent

func ParseGeneralComponent(cs *CalendarStream, startLine *BaseProperty) *GeneralComponent

func (*GeneralComponent) Serialize

func (c *GeneralComponent) Serialize() string

type IANAProperty

type IANAProperty struct {
	BaseProperty
}

type KeyValues

type KeyValues struct {
	Key   string
	Value []string
}

func (*KeyValues) KeyValue

func (kv *KeyValues) KeyValue(s ...interface{}) (string, []string)

type Method

type Method string
const (
	MethodPublish        Method = "PUBLISH"
	MethodRequest        Method = "REQUEST"
	MethodReply          Method = "REPLY"
	MethodAdd            Method = "ADD"
	MethodCancel         Method = "CANCEL"
	MethodRefresh        Method = "REFRESH"
	MethodCounter        Method = "COUNTER"
	MethodDeclinecounter Method = "DECLINECOUNTER"
)

type ObjectStatus

type ObjectStatus string
const (
	ObjectStatusTentative   ObjectStatus = "TENTATIVE"
	ObjectStatusConfirmed   ObjectStatus = "CONFIRMED"
	ObjectStatusCancelled   ObjectStatus = "CANCELLED"
	ObjectStatusNeedsAction ObjectStatus = "NEEDS-ACTION"
	ObjectStatusCompleted   ObjectStatus = "COMPLETED"
	ObjectStatusInProcess   ObjectStatus = "IN-PROCESS"
	ObjectStatusDraft       ObjectStatus = "DRAFT"
	ObjectStatusFinal       ObjectStatus = "FINAL"
)

func (ObjectStatus) KeyValue

func (ps ObjectStatus) KeyValue(s ...interface{}) (string, []string)

type Parameter

type Parameter string
const (
	ParameterAltrep              Parameter = "ALTREP"
	ParameterCn                  Parameter = "CN"
	ParameterCutype              Parameter = "CUTYPE"
	ParameterDelegatedFrom       Parameter = "DELEGATED-FROM"
	ParameterDelegatedTo         Parameter = "DELEGATED-TO"
	ParameterDir                 Parameter = "DIR"
	ParameterEncoding            Parameter = "ENCODING"
	ParameterFmttype             Parameter = "FMTTYPE"
	ParameterFbtype              Parameter = "FBTYPE"
	ParameterLanguage            Parameter = "LANGUAGE"
	ParameterMember              Parameter = "MEMBER"
	ParameterParticipationStatus Parameter = "PARTSTAT"
	ParameterRange               Parameter = "RANGE"
	ParameterRelated             Parameter = "RELATED"
	ParameterReltype             Parameter = "RELTYPE"
	ParameterRole                Parameter = "ROLE"
	ParameterRsvp                Parameter = "RSVP"
	ParameterSentBy              Parameter = "SENT-BY"
	ParameterTzid                Parameter = "TZID"
	ParameterValue               Parameter = "VALUE"
)

type ParticipationRole

type ParticipationRole string
const (
	ParticipationRoleChair          ParticipationRole = "CHAIR"
	ParticipationRoleReqParticipant ParticipationRole = "REQ-PARTICIPANT"
	ParticipationRoleOptParticipant ParticipationRole = "OPT-PARTICIPANT"
	ParticipationRoleNonParticipant ParticipationRole = "NON-PARTICIPANT"
)

func (ParticipationRole) KeyValue

func (pr ParticipationRole) KeyValue(s ...interface{}) (string, []string)

type ParticipationStatus

type ParticipationStatus string
const (
	ParticipationStatusNeedsAction ParticipationStatus = "NEEDS-ACTION"
	ParticipationStatusAccepted    ParticipationStatus = "ACCEPTED"
	ParticipationStatusDeclined    ParticipationStatus = "DECLINED"
	ParticipationStatusTentative   ParticipationStatus = "TENTATIVE"
	ParticipationStatusDelegated   ParticipationStatus = "DELEGATED"
	ParticipationStatusCompleted   ParticipationStatus = "COMPLETED"
	ParticipationStatusInProcess   ParticipationStatus = "IN-PROCESS"
)

func (ParticipationStatus) KeyValue

func (ps ParticipationStatus) KeyValue(s ...interface{}) (string, []string)

type Property

type Property string
const (
	PropertyCalscale        Property = "CALSCALE" // TEXT
	PropertyMethod          Property = "METHOD"   // TEXT
	PropertyProductId       Property = "PRODID"   // TEXT
	PropertyVersion         Property = "VERSION"  // TEXT
	PropertyXPublishedTTL   Property = "X-PUBLISHED-TTL"
	PropertyRefreshInterval Property = "REFRESH-INTERVAL;VALUE=DURATION"
	PropertyAttach          Property = "ATTACH"
	PropertyCategories      Property = "CATEGORIES"  // TEXT
	PropertyClass           Property = "CLASS"       // TEXT
	PropertyColor           Property = "COLOR"       // TEXT
	PropertyComment         Property = "COMMENT"     // TEXT
	PropertyDescription     Property = "DESCRIPTION" // TEXT
	PropertyXWRCalDesc      Property = "X-WR-CALDESC"
	PropertyGeo             Property = "GEO"
	PropertyLocation        Property = "LOCATION" // TEXT
	PropertyPercentComplete Property = "PERCENT-COMPLETE"
	PropertyPriority        Property = "PRIORITY"
	PropertyResources       Property = "RESOURCES" // TEXT
	PropertyStatus          Property = "STATUS"    // TEXT
	PropertySummary         Property = "SUMMARY"   // TEXT
	PropertyCompleted       Property = "COMPLETED"
	PropertyDtend           Property = "DTEND"
	PropertyDue             Property = "DUE"
	PropertyDtstart         Property = "DTSTART"
	PropertyDuration        Property = "DURATION"
	PropertyFreebusy        Property = "FREEBUSY"
	PropertyTransp          Property = "TRANSP" // TEXT
	PropertyTzid            Property = "TZID"   // TEXT
	PropertyTzname          Property = "TZNAME" // TEXT
	PropertyTzoffsetfrom    Property = "TZOFFSETFROM"
	PropertyTzoffsetto      Property = "TZOFFSETTO"
	PropertyTzurl           Property = "TZURL"
	PropertyAttendee        Property = "ATTENDEE"
	PropertyContact         Property = "CONTACT" // TEXT
	PropertyOrganizer       Property = "ORGANIZER"
	PropertyRecurrenceId    Property = "RECURRENCE-ID"
	PropertyRelatedTo       Property = "RELATED-TO" // TEXT
	PropertyUrl             Property = "URL"
	PropertyUid             Property = "UID" // TEXT
	PropertyExdate          Property = "EXDATE"
	PropertyExrule          Property = "EXRULE"
	PropertyRdate           Property = "RDATE"
	PropertyRrule           Property = "RRULE"
	PropertyAction          Property = "ACTION" // TEXT
	PropertyRepeat          Property = "REPEAT"
	PropertyTrigger         Property = "TRIGGER"
	PropertyCreated         Property = "CREATED"
	PropertyDtstamp         Property = "DTSTAMP"
	PropertyLastModified    Property = "LAST-MODIFIED"
	PropertyRequestStatus   Property = "REQUEST-STATUS" // TEXT
	PropertyName            Property = "NAME"
	PropertyXWRCalName      Property = "X-WR-CALNAME"
	PropertyXWRTimezone     Property = "X-WR-TIMEZONE"
	PropertySequence        Property = "SEQUENCE"
	PropertyXWRCalID        Property = "X-WR-RELCALID"
)

type PropertyParameter

type PropertyParameter interface {
	KeyValue(s ...interface{}) (string, []string)
}

func WithCN

func WithCN(cn string) PropertyParameter

func WithEncoding

func WithEncoding(encType string) PropertyParameter

func WithFmtType

func WithFmtType(contentType string) PropertyParameter

func WithRSVP

func WithRSVP(b bool) PropertyParameter

func WithRelType

func WithRelType(relType string) PropertyParameter

func WithValue

func WithValue(kind string) PropertyParameter

type Relation

type Relation struct {
	IANAProperty
}

func (*Relation) RelationshipType

func (relation *Relation) RelationshipType() string

func (*Relation) Target

func (relation *Relation) Target() string

type RelationshipType

type RelationshipType string
const (
	RelationshipTypeChild   RelationshipType = "CHILD"
	RelationshipTypeParent  RelationshipType = "PARENT"
	RelationshipTypeSibling RelationshipType = "SIBLING"
)

type Standard

type Standard struct {
	ComponentBase
}

func ParseStandard

func ParseStandard(cs *CalendarStream, startLine *BaseProperty) *Standard

func (*Standard) Serialize

func (c *Standard) Serialize() string

type TimeTransparency

type TimeTransparency string
const (
	TransparencyOpaque      TimeTransparency = "OPAQUE" // default
	TransparencyTransparent TimeTransparency = "TRANSPARENT"
)

type VAlarm

type VAlarm struct {
	ComponentBase
}

func ParseVAlarm

func ParseVAlarm(cs *CalendarStream, startLine *BaseProperty) *VAlarm

func (*VAlarm) AddProperty

func (alarm *VAlarm) AddProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VAlarm) Serialize

func (c *VAlarm) Serialize() string

func (*VAlarm) SetAction

func (alarm *VAlarm) SetAction(a Action, props ...PropertyParameter)

func (*VAlarm) SetProperty

func (alarm *VAlarm) SetProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VAlarm) SetTrigger

func (alarm *VAlarm) SetTrigger(s string, props ...PropertyParameter)

type VBusy

type VBusy struct {
	ComponentBase
}

func ParseVBusy

func ParseVBusy(cs *CalendarStream, startLine *BaseProperty) *VBusy

func (*VBusy) Serialize

func (c *VBusy) Serialize() string

type VEvent

type VEvent struct {
	ComponentBase
}

func NewEvent

func NewEvent(uniqueId string) *VEvent

func ParseVEvent

func ParseVEvent(cs *CalendarStream, startLine *BaseProperty) *VEvent

func (*VEvent) AddAlarm

func (event *VEvent) AddAlarm() *VAlarm

func (*VEvent) AddAttachment

func (event *VEvent) AddAttachment(s string, props ...PropertyParameter)

func (*VEvent) AddAttachmentBinary

func (event *VEvent) AddAttachmentBinary(binary []byte, contentType string)

func (*VEvent) AddAttachmentURL

func (event *VEvent) AddAttachmentURL(uri string, contentType string)

func (*VEvent) AddAttendee

func (event *VEvent) AddAttendee(s string, props ...PropertyParameter)

func (*VEvent) AddExdate

func (event *VEvent) AddExdate(s string, props ...PropertyParameter)

func (*VEvent) AddExrule

func (event *VEvent) AddExrule(s string, props ...PropertyParameter)

func (*VEvent) AddProperty

func (event *VEvent) AddProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VEvent) AddRdate

func (event *VEvent) AddRdate(s string, props ...PropertyParameter)

func (*VEvent) AddRelatedTo

func (event *VEvent) AddRelatedTo(s string, props ...PropertyParameter)

func (*VEvent) AddRrule

func (event *VEvent) AddRrule(s string, props ...PropertyParameter)

func (*VEvent) Alarms

func (event *VEvent) Alarms() (r []*VAlarm)

func (*VEvent) Attendees

func (event *VEvent) Attendees() (r []*Attendee)

func (*VEvent) Description

func (event *VEvent) Description() string

func (*VEvent) GetAllDayEndAt

func (event *VEvent) GetAllDayEndAt() (time.Time, error)

func (*VEvent) GetAllDayStartAt

func (event *VEvent) GetAllDayStartAt() (time.Time, error)

func (*VEvent) GetEndAt

func (event *VEvent) GetEndAt() (time.Time, error)

func (*VEvent) GetProperty

func (event *VEvent) GetProperty(componentProperty ComponentProperty) *IANAProperty

func (*VEvent) GetStartAt

func (event *VEvent) GetStartAt() (time.Time, error)

func (*VEvent) Id

func (event *VEvent) Id() string

func (*VEvent) Location

func (event *VEvent) Location() string

func (*VEvent) Organizer

func (event *VEvent) Organizer() string

func (*VEvent) RelatedTo

func (event *VEvent) RelatedTo() (r []*Relation)

func (*VEvent) RemoveRelatedTo

func (event *VEvent) RemoveRelatedTo(s string) (r []*Relation)

func (*VEvent) Rrule

func (event *VEvent) Rrule() string

func (*VEvent) Serialize

func (event *VEvent) Serialize() string

func (*VEvent) SetAllDayEndAt

func (event *VEvent) SetAllDayEndAt(t time.Time, props ...PropertyParameter)

func (*VEvent) SetAllDayStartAt

func (event *VEvent) SetAllDayStartAt(t time.Time, props ...PropertyParameter)

func (*VEvent) SetClass

func (event *VEvent) SetClass(c Classification, props ...PropertyParameter)

func (*VEvent) SetColor

func (event *VEvent) SetColor(s string, props ...PropertyParameter)

func (*VEvent) SetCreatedTime

func (event *VEvent) SetCreatedTime(t time.Time, props ...PropertyParameter)

func (*VEvent) SetDescription

func (event *VEvent) SetDescription(s string, props ...PropertyParameter)

func (*VEvent) SetDtStampTime

func (event *VEvent) SetDtStampTime(t time.Time, props ...PropertyParameter)

func (*VEvent) SetDuration

func (event *VEvent) SetDuration(d time.Duration) error

SetDuration updates the duration of an event. This function will set either the end or start time of an event depending what is already given. The duration defines the length of a event relative to start or end time.

Notice: It will not set the DURATION key of the ics - only DTSTART and DTEND will be affected.

func (*VEvent) SetEndAt

func (event *VEvent) SetEndAt(t time.Time, props ...PropertyParameter)

func (*VEvent) SetGeo

func (event *VEvent) SetGeo(lat interface{}, lng interface{}, props ...PropertyParameter)

func (*VEvent) SetLocation

func (event *VEvent) SetLocation(s string, props ...PropertyParameter)

func (*VEvent) SetModifiedAt

func (event *VEvent) SetModifiedAt(t time.Time, props ...PropertyParameter)

func (*VEvent) SetOrganizer

func (event *VEvent) SetOrganizer(s string, props ...PropertyParameter)

func (*VEvent) SetProperty

func (event *VEvent) SetProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VEvent) SetRrule

func (event *VEvent) SetRrule(s string, props ...PropertyParameter)

func (*VEvent) SetSequence

func (event *VEvent) SetSequence(seq int, props ...PropertyParameter)

func (*VEvent) SetStartAt

func (event *VEvent) SetStartAt(t time.Time, props ...PropertyParameter)

func (*VEvent) SetStatus

func (event *VEvent) SetStatus(s ObjectStatus, props ...PropertyParameter)

func (*VEvent) SetSummary

func (event *VEvent) SetSummary(s string, props ...PropertyParameter)

func (*VEvent) SetTimeTransparency

func (event *VEvent) SetTimeTransparency(v TimeTransparency, props ...PropertyParameter)

func (*VEvent) SetURL

func (event *VEvent) SetURL(s string, props ...PropertyParameter)

func (*VEvent) Status

func (event *VEvent) Status() string

func (*VEvent) Summary

func (event *VEvent) Summary() string

type VJournal

type VJournal struct {
	ComponentBase
}

func NewJournal

func NewJournal(uniqueId string) *VJournal

func ParseVJournal

func ParseVJournal(cs *CalendarStream, startLine *BaseProperty) *VJournal

func (*VJournal) AddProperty

func (journal *VJournal) AddProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VJournal) AddRelatedTo

func (journal *VJournal) AddRelatedTo(s string, props ...PropertyParameter)

func (*VJournal) Children

func (journal *VJournal) Children() (r []*Relation)

func (*VJournal) Description

func (journal *VJournal) Description() string

func (*VJournal) GetEndAt

func (event *VJournal) GetEndAt() (time.Time, error)

func (*VJournal) GetProperty

func (journal *VJournal) GetProperty(componentProperty ComponentProperty) *IANAProperty

func (*VJournal) GetStartAt

func (journal *VJournal) GetStartAt() (time.Time, error)

func (*VJournal) Id

func (journal *VJournal) Id() string

func (*VJournal) Location

func (journal *VJournal) Location() string

func (*VJournal) Organizer

func (journal *VJournal) Organizer() string

func (*VJournal) Parents

func (journal *VJournal) Parents() (r []*Relation)

func (*VJournal) RelatedTo

func (journal *VJournal) RelatedTo() (r []*Relation)

func (*VJournal) RemoveProperty

func (journal *VJournal) RemoveProperty(componentProperty ComponentProperty) bool

func (*VJournal) RemoveRelatedTo

func (journal *VJournal) RemoveRelatedTo(s string) (r []*Relation)

func (*VJournal) Serialize

func (journal *VJournal) Serialize() string

func (*VJournal) SetAllDayEndAt

func (event *VJournal) SetAllDayEndAt(t time.Time, props ...PropertyParameter)

func (*VJournal) SetAllDayStartAt

func (event *VJournal) SetAllDayStartAt(t time.Time, props ...PropertyParameter)

func (*VJournal) SetDescription

func (journal *VJournal) SetDescription(s string, props ...PropertyParameter)

func (*VJournal) SetDtStampTime

func (journal *VJournal) SetDtStampTime(t time.Time, props ...PropertyParameter)

func (*VJournal) SetDueDate

func (journal *VJournal) SetDueDate(t time.Time, props ...PropertyParameter)

func (*VJournal) SetDueDateAndTime

func (journal *VJournal) SetDueDateAndTime(t time.Time, props ...PropertyParameter)

func (*VJournal) SetEndAt

func (event *VJournal) SetEndAt(t time.Time, props ...PropertyParameter)

func (*VJournal) SetProperty

func (journal *VJournal) SetProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VJournal) SetStartAt

func (journal *VJournal) SetStartAt(t time.Time, props ...PropertyParameter)

func (*VJournal) SetStatus

func (journal *VJournal) SetStatus(s ObjectStatus, props ...PropertyParameter)

func (*VJournal) SetSummary

func (journal *VJournal) SetSummary(s string, props ...PropertyParameter)

func (*VJournal) Status

func (journal *VJournal) Status() string

func (*VJournal) Summary

func (journal *VJournal) Summary() string

type VTimezone

type VTimezone struct {
	ComponentBase
}

func ParseVTimezone

func ParseVTimezone(cs *CalendarStream, startLine *BaseProperty) *VTimezone

func (*VTimezone) Serialize

func (c *VTimezone) Serialize() string

type VTodo

type VTodo struct {
	ComponentBase
}

func NewTodo

func NewTodo(uniqueId string) *VTodo

func ParseVTodo

func ParseVTodo(cs *CalendarStream, startLine *BaseProperty) *VTodo

func (*VTodo) AddProperty

func (todo *VTodo) AddProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VTodo) AddRelatedTo

func (todo *VTodo) AddRelatedTo(s string, props ...PropertyParameter)

func (*VTodo) Attendees

func (todo *VTodo) Attendees() []*Attendee

func (*VTodo) Children

func (todo *VTodo) Children() (r []*Relation)

func (*VTodo) Description

func (todo *VTodo) Description() string

func (*VTodo) Due

func (todo *VTodo) Due() (time.Time, error)

func (*VTodo) GetProperty

func (todo *VTodo) GetProperty(componentProperty ComponentProperty) *IANAProperty

func (*VTodo) GetStartAt

func (todo *VTodo) GetStartAt() (time.Time, error)

func (*VTodo) Id

func (todo *VTodo) Id() string

func (*VTodo) Location

func (todo *VTodo) Location() string

func (*VTodo) Organizer

func (todo *VTodo) Organizer() string

func (*VTodo) Parents

func (todo *VTodo) Parents() (r []*Relation)

func (*VTodo) RelatedTo

func (todo *VTodo) RelatedTo() (r []*Relation)

func (*VTodo) RemoveProperty

func (todo *VTodo) RemoveProperty(componentProperty ComponentProperty) bool

func (*VTodo) RemoveRelatedTo

func (todo *VTodo) RemoveRelatedTo(s string) (r []*Relation)

func (*VTodo) Serialize

func (todo *VTodo) Serialize() string

func (*VTodo) SetDescription

func (todo *VTodo) SetDescription(s string, props ...PropertyParameter)

func (*VTodo) SetDtStampTime

func (todo *VTodo) SetDtStampTime(t time.Time, props ...PropertyParameter)

func (*VTodo) SetDueDate

func (todo *VTodo) SetDueDate(t time.Time, props ...PropertyParameter)

func (*VTodo) SetDueDateAndTime

func (todo *VTodo) SetDueDateAndTime(t time.Time, props ...PropertyParameter)

func (*VTodo) SetProperty

func (todo *VTodo) SetProperty(property ComponentProperty, value string, props ...PropertyParameter)

func (*VTodo) SetStartAt

func (todo *VTodo) SetStartAt(t time.Time, props ...PropertyParameter)

func (*VTodo) SetStatus

func (todo *VTodo) SetStatus(s ObjectStatus, props ...PropertyParameter)

func (*VTodo) SetSummary

func (todo *VTodo) SetSummary(s string, props ...PropertyParameter)

func (*VTodo) Status

func (todo *VTodo) Status() string

func (*VTodo) Summary

func (todo *VTodo) Summary() string

type ValueDataType

type ValueDataType string
const (
	ValueDataTypeBinary     ValueDataType = "BINARY"
	ValueDataTypeBoolean    ValueDataType = "BOOLEAN"
	ValueDataTypeCalAddress ValueDataType = "CAL-ADDRESS"
	ValueDataTypeDate       ValueDataType = "DATE"
	ValueDataTypeDateTime   ValueDataType = "DATE-TIME"
	ValueDataTypeDuration   ValueDataType = "DURATION"
	ValueDataTypeFloat      ValueDataType = "FLOAT"
	ValueDataTypeInteger    ValueDataType = "INTEGER"
	ValueDataTypePeriod     ValueDataType = "PERIOD"
	ValueDataTypeRecur      ValueDataType = "RECUR"
	ValueDataTypeText       ValueDataType = "TEXT"
	ValueDataTypeTime       ValueDataType = "TIME"
	ValueDataTypeUri        ValueDataType = "URI"
	ValueDataTypeUtcOffset  ValueDataType = "UTC-OFFSET"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL