-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | iCalendar data types, parser, and printer.
--
-- Data definitions, parsing and printing of the iCalendar format
-- (RFC5545).
@package iCalendar
@version 0.3
-- | ICalendar types, based on RFC5545.
module Text.ICalendar.Types
-- | Language.
newtype Language
Language :: (CI Text) -> Language
type CalAddress = URI
-- | One other parameter, either x-param or iana-param.
data OtherParam
OtherParam :: (CI Text) -> [Text] -> OtherParam
-- | Other parameters, either x-param or other iana-param.
data OtherParams
OtherParams :: (Set OtherParam) -> OtherParams
-- | VCalendar component. 3.4.
data VCalendar
VCalendar :: ProdId -> ICalVersion -> Scale -> Maybe Method -> Set OtherProperty -> Map Text VTimeZone -> Map (Text, Maybe (Either Date DateTime)) VEvent -> Map (Text, Maybe (Either Date DateTime)) VTodo -> Map (Text, Maybe (Either Date DateTime)) VJournal -> Map Text VFreeBusy -> Set VOther -> VCalendar
vcProdId :: VCalendar -> ProdId
vcVersion :: VCalendar -> ICalVersion
vcScale :: VCalendar -> Scale
vcMethod :: VCalendar -> Maybe Method
vcOther :: VCalendar -> Set OtherProperty
-- | Map TZID-value VTimeZone
vcTimeZones :: VCalendar -> Map Text VTimeZone
-- | Map (UID-value, Maybe RecurrenceID-value) VEvent
vcEvents :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VEvent
-- | Map (UID-value, Maybe RecurrenceID-value) VTodo
vcTodos :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VTodo
-- | Map (UID-value, Maybe RecurrenceID-value) VJournal
vcJournals :: VCalendar -> Map (Text, Maybe (Either Date DateTime)) VJournal
-- | Map UID-value VFreeBusy
vcFreeBusys :: VCalendar -> Map Text VFreeBusy
vcOtherComps :: VCalendar -> Set VOther
-- | Product Identifier. 3.7.3.
data ProdId
ProdId :: Text -> OtherParams -> ProdId
prodIdValue :: ProdId -> Text
prodIdOther :: ProdId -> OtherParams
-- | Version. 3.7.4.
data ICalVersion
MaxICalVersion :: Version -> OtherParams -> ICalVersion
versionMax :: ICalVersion -> Version
versionOther :: ICalVersion -> OtherParams
MinMaxICalVersion :: Version -> Version -> OtherParams -> ICalVersion
versionMax :: ICalVersion -> Version
versionMin :: ICalVersion -> Version
versionOther :: ICalVersion -> OtherParams
-- | Calendar Scale. 3.7.1.
data Scale
Scale :: CI Text -> OtherParams -> Scale
scaleValue :: Scale -> CI Text
scaleOther :: Scale -> OtherParams
-- | Method. 3.7.2.
data Method
Method :: CI Text -> OtherParams -> Method
methodValue :: Method -> CI Text
methodOther :: Method -> OtherParams
-- | Event Component. 3.6.1.
data VEvent
VEvent :: DTStamp -> UID -> Class -> Maybe DTStart -> Maybe Created -> Maybe Description -> Maybe Geo -> Maybe LastModified -> Maybe Location -> Maybe Organizer -> Priority -> Sequence -> Maybe EventStatus -> Maybe Summary -> TimeTransparency -> Maybe URL -> Maybe RecurrenceId -> Set RRule -> Maybe (Either DTEnd DurationProp) -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set ExDate -> Set RequestStatus -> Set RelatedTo -> Set Resources -> Set RDate -> Set VAlarm -> Set OtherProperty -> VEvent
veDTStamp :: VEvent -> DTStamp
veUID :: VEvent -> UID
-- | def = Public
veClass :: VEvent -> Class
veDTStart :: VEvent -> Maybe DTStart
veCreated :: VEvent -> Maybe Created
veDescription :: VEvent -> Maybe Description
veGeo :: VEvent -> Maybe Geo
veLastMod :: VEvent -> Maybe LastModified
veLocation :: VEvent -> Maybe Location
veOrganizer :: VEvent -> Maybe Organizer
-- | def = 0
vePriority :: VEvent -> Priority
-- | def = 0
veSeq :: VEvent -> Sequence
veStatus :: VEvent -> Maybe EventStatus
veSummary :: VEvent -> Maybe Summary
-- | def = Opaque
veTransp :: VEvent -> TimeTransparency
veUrl :: VEvent -> Maybe URL
veRecurId :: VEvent -> Maybe RecurrenceId
veRRule :: VEvent -> Set RRule
veDTEndDuration :: VEvent -> Maybe (Either DTEnd DurationProp)
veAttach :: VEvent -> Set Attachment
veAttendee :: VEvent -> Set Attendee
veCategories :: VEvent -> Set Categories
veComment :: VEvent -> Set Comment
veContact :: VEvent -> Set Contact
veExDate :: VEvent -> Set ExDate
veRStatus :: VEvent -> Set RequestStatus
veRelated :: VEvent -> Set RelatedTo
veResources :: VEvent -> Set Resources
veRDate :: VEvent -> Set RDate
veAlarms :: VEvent -> Set VAlarm
veOther :: VEvent -> Set OtherProperty
-- | To-Do Component. 3.6.2
data VTodo
VTodo :: DTStamp -> UID -> Class -> Maybe Completed -> Maybe Created -> Maybe Description -> Maybe DTStart -> Maybe Geo -> Maybe LastModified -> Maybe Location -> Maybe Organizer -> Maybe PercentComplete -> Priority -> Maybe RecurrenceId -> Sequence -> Maybe TodoStatus -> Maybe Summary -> Maybe URL -> Set RRule -> Maybe (Either Due DurationProp) -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set ExDate -> Set RequestStatus -> Set RelatedTo -> Set Resources -> Set RDate -> Set VAlarm -> Set OtherProperty -> VTodo
vtDTStamp :: VTodo -> DTStamp
vtUID :: VTodo -> UID
-- | def = Public
vtClass :: VTodo -> Class
vtCompleted :: VTodo -> Maybe Completed
vtCreated :: VTodo -> Maybe Created
vtDescription :: VTodo -> Maybe Description
vtDTStart :: VTodo -> Maybe DTStart
vtGeo :: VTodo -> Maybe Geo
vtLastMod :: VTodo -> Maybe LastModified
vtLocation :: VTodo -> Maybe Location
vtOrganizer :: VTodo -> Maybe Organizer
vtPercent :: VTodo -> Maybe PercentComplete
-- | def = 0
vtPriority :: VTodo -> Priority
vtRecurId :: VTodo -> Maybe RecurrenceId
-- | def = 0
vtSeq :: VTodo -> Sequence
vtStatus :: VTodo -> Maybe TodoStatus
vtSummary :: VTodo -> Maybe Summary
vtUrl :: VTodo -> Maybe URL
vtRRule :: VTodo -> Set RRule
vtDueDuration :: VTodo -> Maybe (Either Due DurationProp)
vtAttach :: VTodo -> Set Attachment
vtAttendee :: VTodo -> Set Attendee
vtCategories :: VTodo -> Set Categories
vtComment :: VTodo -> Set Comment
vtContact :: VTodo -> Set Contact
vtExDate :: VTodo -> Set ExDate
vtRStatus :: VTodo -> Set RequestStatus
vtRelated :: VTodo -> Set RelatedTo
vtResources :: VTodo -> Set Resources
vtRDate :: VTodo -> Set RDate
vtAlarms :: VTodo -> Set VAlarm
vtOther :: VTodo -> Set OtherProperty
-- | Journal Component. 3.6.3
data VJournal
VJournal :: DTStamp -> UID -> Class -> Maybe Created -> Maybe DTStart -> Maybe LastModified -> Maybe Organizer -> Maybe RecurrenceId -> Sequence -> Maybe JournalStatus -> Maybe Summary -> Maybe URL -> Set RRule -> Set Attachment -> Set Attendee -> Set Categories -> Set Comment -> Set Contact -> Set Description -> Set ExDate -> Set RelatedTo -> Set RDate -> Set RequestStatus -> Set OtherProperty -> VJournal
vjDTStamp :: VJournal -> DTStamp
vjUID :: VJournal -> UID
-- | def = Public
vjClass :: VJournal -> Class
vjCreated :: VJournal -> Maybe Created
vjDTStart :: VJournal -> Maybe DTStart
vjLastMod :: VJournal -> Maybe LastModified
vjOrganizer :: VJournal -> Maybe Organizer
vjRecurId :: VJournal -> Maybe RecurrenceId
-- | def = 0
vjSeq :: VJournal -> Sequence
vjStatus :: VJournal -> Maybe JournalStatus
vjSummary :: VJournal -> Maybe Summary
vjUrl :: VJournal -> Maybe URL
vjRRule :: VJournal -> Set RRule
vjAttach :: VJournal -> Set Attachment
vjAttendee :: VJournal -> Set Attendee
vjCategories :: VJournal -> Set Categories
vjComment :: VJournal -> Set Comment
vjContact :: VJournal -> Set Contact
vjDescription :: VJournal -> Set Description
vjExDate :: VJournal -> Set ExDate
vjRelated :: VJournal -> Set RelatedTo
vjRDate :: VJournal -> Set RDate
vjRStatus :: VJournal -> Set RequestStatus
vjOther :: VJournal -> Set OtherProperty
-- | Free/Busy Component. 3.6.4
data VFreeBusy
VFreeBusy :: DTStamp -> UID -> Maybe Contact -> Maybe DTStart -> Maybe DTEnd -> Maybe Organizer -> Maybe URL -> Set Attendee -> Set Comment -> Set FreeBusy -> Set RequestStatus -> Set OtherProperty -> VFreeBusy
vfbDTStamp :: VFreeBusy -> DTStamp
vfbUID :: VFreeBusy -> UID
vfbContact :: VFreeBusy -> Maybe Contact
vfbDTStart :: VFreeBusy -> Maybe DTStart
vfbDTEnd :: VFreeBusy -> Maybe DTEnd
vfbOrganizer :: VFreeBusy -> Maybe Organizer
vfbUrl :: VFreeBusy -> Maybe URL
vfbAttendee :: VFreeBusy -> Set Attendee
vfbComment :: VFreeBusy -> Set Comment
vfbFreeBusy :: VFreeBusy -> Set FreeBusy
vfbRStatus :: VFreeBusy -> Set RequestStatus
vfbOther :: VFreeBusy -> Set OtherProperty
-- | Time Zone Component. 3.6.5.
data VTimeZone
VTimeZone :: TZID -> Maybe LastModified -> Maybe TZUrl -> Set TZProp -> Set TZProp -> Set OtherProperty -> VTimeZone
vtzId :: VTimeZone -> TZID
vtzLastMod :: VTimeZone -> Maybe LastModified
vtzUrl :: VTimeZone -> Maybe TZUrl
vtzStandardC :: VTimeZone -> Set TZProp
vtzDaylightC :: VTimeZone -> Set TZProp
vtzOther :: VTimeZone -> Set OtherProperty
-- | Time zone property, also 3.6.5.
data TZProp
TZProp :: DTStart -> UTCOffset -> UTCOffset -> Set RRule -> Set Comment -> Set RDate -> Set TZName -> Set OtherProperty -> TZProp
tzpDTStart :: TZProp -> DTStart
tzpTZOffsetTo :: TZProp -> UTCOffset
tzpTZOffsetFrom :: TZProp -> UTCOffset
tzpRRule :: TZProp -> Set RRule
tzpComment :: TZProp -> Set Comment
tzpRDate :: TZProp -> Set RDate
tzpTZName :: TZProp -> Set TZName
tzpOther :: TZProp -> Set OtherProperty
-- | VAlarm component. 3.6.6.
data VAlarm
VAlarmAudio :: Trigger -> Repeat -> Maybe DurationProp -> Maybe Attachment -> Set OtherProperty -> OtherParams -> VAlarm
vaTrigger :: VAlarm -> Trigger
-- | def = 0
vaRepeat :: VAlarm -> Repeat
vaDuration :: VAlarm -> Maybe DurationProp
vaAudioAttach :: VAlarm -> Maybe Attachment
vaOther :: VAlarm -> Set OtherProperty
vaActionOther :: VAlarm -> OtherParams
VAlarmDisplay :: Description -> Trigger -> Repeat -> Maybe DurationProp -> Set OtherProperty -> OtherParams -> VAlarm
vaDescription :: VAlarm -> Description
vaTrigger :: VAlarm -> Trigger
-- | def = 0
vaRepeat :: VAlarm -> Repeat
vaDuration :: VAlarm -> Maybe DurationProp
vaOther :: VAlarm -> Set OtherProperty
vaActionOther :: VAlarm -> OtherParams
VAlarmEmail :: Description -> Trigger -> Summary -> Set Attendee -> Repeat -> Maybe DurationProp -> Set Attachment -> Set OtherProperty -> OtherParams -> VAlarm
vaDescription :: VAlarm -> Description
vaTrigger :: VAlarm -> Trigger
vaSummary :: VAlarm -> Summary
vaAttendee :: VAlarm -> Set Attendee
-- | def = 0
vaRepeat :: VAlarm -> Repeat
vaDuration :: VAlarm -> Maybe DurationProp
vaMailAttach :: VAlarm -> Set Attachment
vaOther :: VAlarm -> Set OtherProperty
vaActionOther :: VAlarm -> OtherParams
VAlarmX :: CI Text -> Trigger -> OtherParams -> Set OtherProperty -> VAlarm
vaAction :: VAlarm -> CI Text
vaTrigger :: VAlarm -> Trigger
vaActionOther :: VAlarm -> OtherParams
vaOther :: VAlarm -> Set OtherProperty
-- | Any other component not recognized.
data VOther
VOther :: CI Text -> Set OtherProperty -> VOther
voName :: VOther -> CI Text
voProps :: VOther -> Set OtherProperty
-- | Attachment. 3.8.1.1.
data Attachment
UriAttachment :: Maybe MIMEType -> URI -> OtherParams -> Attachment
attachFmtType :: Attachment -> Maybe MIMEType
attachUri :: Attachment -> URI
attachOther :: Attachment -> OtherParams
BinaryAttachment :: Maybe MIMEType -> ByteString -> OtherParams -> Attachment
attachFmtType :: Attachment -> Maybe MIMEType
attachContent :: Attachment -> ByteString
attachOther :: Attachment -> OtherParams
-- | Categories. 3.8.1.2.
data Categories
Categories :: Set Text -> Maybe Language -> OtherParams -> Categories
categoriesValues :: Categories -> Set Text
categoriesLanguage :: Categories -> Maybe Language
categoriesOther :: Categories -> OtherParams
-- | Classification. 3.8.1.3.
data Class
Class :: ClassValue -> OtherParams -> Class
classValue :: Class -> ClassValue
classOther :: Class -> OtherParams
-- | Classification value. 3.8.1.3. Unrecognized ClassValueX MUST be
-- treated as Private.
data ClassValue
Public :: ClassValue
Private :: ClassValue
Confidential :: ClassValue
ClassValueX :: (CI Text) -> ClassValue
-- | Date-Time Completed. 3.8.2.1.
data Completed
Completed :: DateTime -> OtherParams -> Completed
completedValue :: Completed -> DateTime
completedOther :: Completed -> OtherParams
-- | Comment. 3.8.1.4.
data Comment
Comment :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Comment
commentValue :: Comment -> Text
commentAltRep :: Comment -> Maybe URI
commentLanguage :: Comment -> Maybe Language
commentOther :: Comment -> OtherParams
-- | Description. 3.8.1.5.
data Description
Description :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Description
descriptionValue :: Description -> Text
descriptionAltRep :: Description -> Maybe URI
descriptionLanguage :: Description -> Maybe Language
descriptionOther :: Description -> OtherParams
-- | Geographic Position. 3.8.1.6.
data Geo
Geo :: Float -> Float -> OtherParams -> Geo
geoLat :: Geo -> Float
geoLong :: Geo -> Float
geoOther :: Geo -> OtherParams
-- | Location. 3.8.1.7.
data Location
Location :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Location
locationValue :: Location -> Text
locationAltRep :: Location -> Maybe URI
locationLanguage :: Location -> Maybe Language
locationOther :: Location -> OtherParams
-- | Percent complete. 3.8.1.8.
data PercentComplete
PercentComplete :: Int -> OtherParams -> PercentComplete
percentCompleteValue :: PercentComplete -> Int
percentCompleteOther :: PercentComplete -> OtherParams
-- | Priority. 3.8.1.9.
data Priority
Priority :: Int -> OtherParams -> Priority
priorityValue :: Priority -> Int
priorityOther :: Priority -> OtherParams
-- | Resources. 3.8.1.10.
data Resources
Resources :: Set Text -> Maybe URI -> Maybe Language -> OtherParams -> Resources
resourcesValue :: Resources -> Set Text
resourcesAltRep :: Resources -> Maybe URI
resourcesLanguage :: Resources -> Maybe Language
resourcesOther :: Resources -> OtherParams
-- | Status, but only for Events. 3.8.1.11.
data EventStatus
TentativeEvent :: OtherParams -> EventStatus
eventStatusOther :: EventStatus -> OtherParams
ConfirmedEvent :: OtherParams -> EventStatus
eventStatusOther :: EventStatus -> OtherParams
CancelledEvent :: OtherParams -> EventStatus
eventStatusOther :: EventStatus -> OtherParams
-- | Status, but only for TODOs. 3.8.1.11.
data TodoStatus
TodoNeedsAction :: OtherParams -> TodoStatus
todoStatusOther :: TodoStatus -> OtherParams
CompletedTodo :: OtherParams -> TodoStatus
todoStatusOther :: TodoStatus -> OtherParams
InProcessTodo :: OtherParams -> TodoStatus
todoStatusOther :: TodoStatus -> OtherParams
CancelledTodo :: OtherParams -> TodoStatus
todoStatusOther :: TodoStatus -> OtherParams
-- | Status, but only for Journals. 3.8.1.11.
data JournalStatus
DraftJournal :: OtherParams -> JournalStatus
journalStatusOther :: JournalStatus -> OtherParams
FinalJournal :: OtherParams -> JournalStatus
journalStatusOther :: JournalStatus -> OtherParams
CancelledJournal :: OtherParams -> JournalStatus
journalStatusOther :: JournalStatus -> OtherParams
-- | Summary. 3.8.1.12.
data Summary
Summary :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Summary
summaryValue :: Summary -> Text
summaryAltRep :: Summary -> Maybe URI
summaryLanguage :: Summary -> Maybe Language
summaryOther :: Summary -> OtherParams
-- | Date. 3.3.4
data Date
Date :: Day -> Date
dateValue :: Date -> Day
-- | Date-Time value. 3.3.5.
data DateTime
FloatingDateTime :: LocalTime -> DateTime
dateTimeFloating :: DateTime -> LocalTime
UTCDateTime :: UTCTime -> DateTime
dateTimeUTC :: DateTime -> UTCTime
ZonedDateTime :: LocalTime -> Text -> DateTime
dateTimeFloating :: DateTime -> LocalTime
dateTimeZone :: DateTime -> Text
-- | Date-Time End. 3.8.2.2.
data DTEnd
DTEndDateTime :: DateTime -> OtherParams -> DTEnd
dtEndDateTimeValue :: DTEnd -> DateTime
dtEndOther :: DTEnd -> OtherParams
DTEndDate :: Date -> OtherParams -> DTEnd
dtEndDateValue :: DTEnd -> Date
dtEndOther :: DTEnd -> OtherParams
-- | Date-Time Due. 3.8.2.3.
data Due
DueDateTime :: DateTime -> OtherParams -> Due
dueDateTimeValue :: Due -> DateTime
dueOther :: Due -> OtherParams
DueDate :: Date -> OtherParams -> Due
dueDateValue :: Due -> Date
dueOther :: Due -> OtherParams
-- | Date-Time Start. 3.8.2.4.
data DTStart
DTStartDateTime :: DateTime -> OtherParams -> DTStart
dtStartDateTimeValue :: DTStart -> DateTime
dtStartOther :: DTStart -> OtherParams
DTStartDate :: Date -> OtherParams -> DTStart
dtStartDateValue :: DTStart -> Date
dtStartOther :: DTStart -> OtherParams
-- | Duration value. 3.3.6.
data Duration
DurationDate :: Sign -> Int -> Int -> Int -> Int -> Duration
-- | def = Positive
durSign :: Duration -> Sign
durDay :: Duration -> Int
durHour :: Duration -> Int
durMinute :: Duration -> Int
durSecond :: Duration -> Int
DurationTime :: Sign -> Int -> Int -> Int -> Duration
-- | def = Positive
durSign :: Duration -> Sign
durHour :: Duration -> Int
durMinute :: Duration -> Int
durSecond :: Duration -> Int
DurationWeek :: Sign -> Int -> Duration
-- | def = Positive
durSign :: Duration -> Sign
durWeek :: Duration -> Int
-- | Sign.
data Sign
Positive :: Sign
Negative :: Sign
-- | Duration property. 3.8.2.5.
data DurationProp
DurationProp :: Duration -> OtherParams -> DurationProp
durationValue :: DurationProp -> Duration
durationOther :: DurationProp -> OtherParams
data FreeBusy
FreeBusy :: FBType -> Set UTCPeriod -> OtherParams -> FreeBusy
freeBusyType :: FreeBusy -> FBType
freeBusyPeriods :: FreeBusy -> Set UTCPeriod
freeBusyOther :: FreeBusy -> OtherParams
-- | Period of time. 3.3.9.
data Period
PeriodDates :: DateTime -> DateTime -> Period
PeriodDuration :: DateTime -> Duration -> Period
-- | Period of time which must be UTC, as in FreeBusy. 3.3.9.
data UTCPeriod
UTCPeriodDates :: UTCTime -> UTCTime -> UTCPeriod
UTCPeriodDuration :: UTCTime -> Duration -> UTCPeriod
-- | Free/Busy Time Type. 3.2.9. Unrecognized FBTypeX MUST be treated as
-- Busy.
data FBType
Free :: FBType
Busy :: FBType
BusyUnavailable :: FBType
BusyTentative :: FBType
FBTypeX :: (CI Text) -> FBType
-- | Time Transparency. 3.8.2.7.
data TimeTransparency
Opaque :: OtherParams -> TimeTransparency
timeTransparencyOther :: TimeTransparency -> OtherParams
Transparent :: OtherParams -> TimeTransparency
timeTransparencyOther :: TimeTransparency -> OtherParams
-- | Time Zone Identifier. 3.8.3.1.
data TZID
TZID :: Text -> Bool -> OtherParams -> TZID
tzidValue :: TZID -> Text
tzidGlobal :: TZID -> Bool
tzidOther :: TZID -> OtherParams
-- | Time Zone Name. 3.8.3.2.
data TZName
TZName :: Text -> Maybe Language -> OtherParams -> TZName
tzNameValue :: TZName -> Text
tzNameLanguage :: TZName -> Maybe Language
tzNameOther :: TZName -> OtherParams
-- | UTC Offset. 3.3.14, 3.8.3.4, and 3.8.3.3. (unified-ish)
data UTCOffset
UTCOffset :: Int -> OtherParams -> UTCOffset
-- | Number of seconds away from UTC
utcOffsetValue :: UTCOffset -> Int
utcOffsetOther :: UTCOffset -> OtherParams
-- | Time Zone URL. 3.8.3.5.
data TZUrl
TZUrl :: URI -> OtherParams -> TZUrl
tzUrlValue :: TZUrl -> URI
tzUrlOther :: TZUrl -> OtherParams
-- | Attendee. 3.8.4.1.
data Attendee
Attendee :: CalAddress -> CUType -> Set CalAddress -> Role -> PartStat -> Bool -> Set CalAddress -> Set CalAddress -> Maybe CalAddress -> Maybe Text -> Maybe URI -> Maybe Language -> OtherParams -> Attendee
attendeeValue :: Attendee -> CalAddress
-- | def = Individual
attendeeCUType :: Attendee -> CUType
attendeeMember :: Attendee -> Set CalAddress
-- | def = ReqParticipant
attendeeRole :: Attendee -> Role
-- | def = PartStatNeedsAction
attendeePartStat :: Attendee -> PartStat
attendeeRSVP :: Attendee -> Bool
attendeeDelTo :: Attendee -> Set CalAddress
attendeeDelFrom :: Attendee -> Set CalAddress
attendeeSentBy :: Attendee -> Maybe CalAddress
attendeeCN :: Attendee -> Maybe Text
attendeeDir :: Attendee -> Maybe URI
attendeeLanguage :: Attendee -> Maybe Language
attendeeOther :: Attendee -> OtherParams
-- | Calendar User Type. 3.2.3. Unrecognized CUTypeX MUST be treated as
-- Unknown.
data CUType
Individual :: CUType
Group :: CUType
Resource :: CUType
Room :: CUType
Unknown :: CUType
CUTypeX :: (CI Text) -> CUType
-- | Role. 3.2.16.
data Role
Chair :: Role
ReqParticipant :: Role
OptParticipant :: Role
NonParticipant :: Role
RoleX :: (CI Text) -> Role
-- | Participation Status. 3.2.12.
data PartStat
PartStatNeedsAction :: PartStat
Accepted :: PartStat
Declined :: PartStat
Tentative :: PartStat
Delegated :: PartStat
PartStatCompleted :: PartStat
InProcess :: PartStat
PartStatX :: (CI Text) -> PartStat
-- | Contact. 3.8.4.2.
data Contact
Contact :: Text -> Maybe URI -> Maybe Language -> OtherParams -> Contact
contactValue :: Contact -> Text
contactAltRep :: Contact -> Maybe URI
contactLanguage :: Contact -> Maybe Language
contactOther :: Contact -> OtherParams
-- | Organizer. 3.8.4.3. TODO: CAL-ADDRESS-related properties.
data Organizer
Organizer :: CalAddress -> Maybe Text -> Maybe URI -> Maybe CalAddress -> Maybe Language -> OtherParams -> Organizer
organizerValue :: Organizer -> CalAddress
organizerCN :: Organizer -> Maybe Text
organizerDir :: Organizer -> Maybe URI
organizerSentBy :: Organizer -> Maybe CalAddress
organizerLanguage :: Organizer -> Maybe Language
organizerOther :: Organizer -> OtherParams
-- | Recurrence ID. 3.8.4.4.
data RecurrenceId
RecurrenceIdDate :: Date -> Maybe Range -> OtherParams -> RecurrenceId
recurrenceIdDate :: RecurrenceId -> Date
recurrenceIdRange :: RecurrenceId -> Maybe Range
recurrenceIdOther :: RecurrenceId -> OtherParams
RecurrenceIdDateTime :: DateTime -> Maybe Range -> OtherParams -> RecurrenceId
recurrenceIdDateTime :: RecurrenceId -> DateTime
recurrenceIdRange :: RecurrenceId -> Maybe Range
recurrenceIdOther :: RecurrenceId -> OtherParams
-- | Recurrence Identifier Range. 3.2.13
data Range
ThisAndFuture :: Range
ThisAndPrior :: Range
-- | Related To. 3.8.4.5.
data RelatedTo
RelatedTo :: Text -> RelationshipType -> OtherParams -> RelatedTo
relatedToValue :: RelatedTo -> Text
relatedToType :: RelatedTo -> RelationshipType
relatedToOther :: RelatedTo -> OtherParams
-- | Relationship Type. 3.2.15. Unrecognized RelationshipTypeX values MUST
-- be treated as Parent.
data RelationshipType
Parent :: RelationshipType
Child :: RelationshipType
Sibling :: RelationshipType
RelationshipTypeX :: (CI Text) -> RelationshipType
-- | Uniform Resource Locator. 3.8.4.6.
data URL
URL :: URI -> OtherParams -> URL
urlValue :: URL -> URI
urlOther :: URL -> OtherParams
-- | Unique Identifier. 3.8.4.7.
data UID
UID :: Text -> OtherParams -> UID
uidValue :: UID -> Text
uidOther :: UID -> OtherParams
-- | Exception Date-Times. 3.8.5.1.
data ExDate
ExDates :: Set Date -> OtherParams -> ExDate
exDates :: ExDate -> Set Date
exDateOther :: ExDate -> OtherParams
ExDateTimes :: Set DateTime -> OtherParams -> ExDate
exDateTimes :: ExDate -> Set DateTime
exDateOther :: ExDate -> OtherParams
-- | Recurrence Date-Times. 3.8.5.2.
data RDate
RDateDates :: Set Date -> OtherParams -> RDate
rDateDates :: RDate -> Set Date
rDateOther :: RDate -> OtherParams
RDateDateTimes :: Set DateTime -> OtherParams -> RDate
rDateDateTimes :: RDate -> Set DateTime
rDateOther :: RDate -> OtherParams
RDatePeriods :: Set Period -> OtherParams -> RDate
rDatePeriods :: RDate -> Set Period
rDateOther :: RDate -> OtherParams
-- | Frequency in recurrences. 3.3.10.
data Frequency
Secondly :: Frequency
Minutely :: Frequency
Hourly :: Frequency
Daily :: Frequency
Weekly :: Frequency
Monthly :: Frequency
Yearly :: Frequency
-- | Weekday, in recurrences. 3.3.10.
data Weekday
Sunday :: Weekday
Monday :: Weekday
Tuesday :: Weekday
Wednesday :: Weekday
Thursday :: Weekday
Friday :: Weekday
Saturday :: Weekday
-- | Recur value. 3.3.10.
data Recur
Recur :: Frequency -> Maybe (Either (Either Date DateTime) Int) -> Int -> [Int] -> [Int] -> [Int] -> [Either (Int, Weekday) Weekday] -> [Int] -> [Int] -> [Int] -> [Int] -> [Int] -> Weekday -> Recur
recurFreq :: Recur -> Frequency
recurUntilCount :: Recur -> Maybe (Either (Either Date DateTime) Int)
recurInterval :: Recur -> Int
recurBySecond :: Recur -> [Int]
recurByMinute :: Recur -> [Int]
recurByHour :: Recur -> [Int]
recurByDay :: Recur -> [Either (Int, Weekday) Weekday]
recurByMonthDay :: Recur -> [Int]
recurByYearDay :: Recur -> [Int]
recurByWeekNo :: Recur -> [Int]
recurByMonth :: Recur -> [Int]
recurBySetPos :: Recur -> [Int]
recurWkSt :: Recur -> Weekday
-- | Recurrence Rule. 3.8.5.3.
data RRule
RRule :: Recur -> OtherParams -> RRule
rRuleValue :: RRule -> Recur
rRuleOther :: RRule -> OtherParams
-- | Repeat count. 3.8.6.2.
data Repeat
Repeat :: Integer -> OtherParams -> Repeat
repeatValue :: Repeat -> Integer
repeatOther :: Repeat -> OtherParams
-- | Alarm Trigger Relationship. 3.2.14.
data AlarmTriggerRelationship
Start :: AlarmTriggerRelationship
End :: AlarmTriggerRelationship
-- | Trigger. 3.8.6.3.
data Trigger
TriggerDuration :: Duration -> AlarmTriggerRelationship -> OtherParams -> Trigger
triggerDuration :: Trigger -> Duration
-- | def = Start
triggerRelated :: Trigger -> AlarmTriggerRelationship
triggerOther :: Trigger -> OtherParams
TriggerDateTime :: UTCTime -> OtherParams -> Trigger
triggerDateTime :: Trigger -> UTCTime
triggerOther :: Trigger -> OtherParams
-- | Date-Time Created. 3.8.7.1.
data Created
Created :: UTCTime -> OtherParams -> Created
createdValue :: Created -> UTCTime
createdOther :: Created -> OtherParams
-- | Date-Time Stamp. 3.8.7.2.
data DTStamp
DTStamp :: UTCTime -> OtherParams -> DTStamp
dtStampValue :: DTStamp -> UTCTime
dtStampOther :: DTStamp -> OtherParams
-- | Last Modified. 3.8.7.3.
data LastModified
LastModified :: UTCTime -> OtherParams -> LastModified
lastModifiedValue :: LastModified -> UTCTime
lastModifiedOther :: LastModified -> OtherParams
-- | Sequence number. 3.8.7.4.
data Sequence
Sequence :: Integer -> OtherParams -> Sequence
sequenceValue :: Sequence -> Integer
sequenceOther :: Sequence -> OtherParams
-- | Request Status. 3.8.8.3.
data RequestStatus
RequestStatus :: [Int] -> Text -> Maybe Language -> Maybe Text -> OtherParams -> RequestStatus
requestStatusCode :: RequestStatus -> [Int]
requestStatusDesc :: RequestStatus -> Text
requestStatusLanguage :: RequestStatus -> Maybe Language
requestStatusExt :: RequestStatus -> Maybe Text
requestStatusOther :: RequestStatus -> OtherParams
-- | Any other property.
data OtherProperty
OtherProperty :: CI Text -> ByteString -> OtherParams -> OtherProperty
otherName :: OtherProperty -> CI Text
otherValue :: OtherProperty -> ByteString
otherParams :: OtherProperty -> OtherParams
instance Typeable Language
instance Typeable OtherParam
instance Typeable OtherParams
instance Typeable ProdId
instance Typeable ICalVersion
instance Typeable Scale
instance Typeable Method
instance Typeable Attachment
instance Typeable Categories
instance Typeable ClassValue
instance Typeable Class
instance Typeable Comment
instance Typeable Description
instance Typeable Geo
instance Typeable Location
instance Typeable PercentComplete
instance Typeable Priority
instance Typeable Resources
instance Typeable EventStatus
instance Typeable TodoStatus
instance Typeable JournalStatus
instance Typeable Summary
instance Typeable Date
instance Typeable DateTime
instance Typeable Completed
instance Typeable DTEnd
instance Typeable Due
instance Typeable DTStart
instance Typeable Sign
instance Typeable Duration
instance Typeable DurationProp
instance Typeable Period
instance Typeable UTCPeriod
instance Typeable FBType
instance Typeable FreeBusy
instance Typeable TimeTransparency
instance Typeable TZID
instance Typeable TZName
instance Typeable UTCOffset
instance Typeable TZUrl
instance Typeable CUType
instance Typeable Role
instance Typeable PartStat
instance Typeable Attendee
instance Typeable Contact
instance Typeable Organizer
instance Typeable Range
instance Typeable RecurrenceId
instance Typeable RelationshipType
instance Typeable RelatedTo
instance Typeable URL
instance Typeable UID
instance Typeable ExDate
instance Typeable RDate
instance Typeable Frequency
instance Typeable Weekday
instance Typeable Recur
instance Typeable RRule
instance Typeable Repeat
instance Typeable AlarmTriggerRelationship
instance Typeable Trigger
instance Typeable Created
instance Typeable DTStamp
instance Typeable LastModified
instance Typeable Sequence
instance Typeable RequestStatus
instance Typeable OtherProperty
instance Typeable VOther
instance Typeable VAlarm
instance Typeable TZProp
instance Typeable VTimeZone
instance Typeable VFreeBusy
instance Typeable VJournal
instance Typeable VTodo
instance Typeable VEvent
instance Typeable VCalendar
instance Eq Language
instance Show Language
instance Ord Language
instance Show OtherParam
instance Eq OtherParam
instance Ord OtherParam
instance Show OtherParams
instance Eq OtherParams
instance Ord OtherParams
instance Show ProdId
instance Eq ProdId
instance Ord ProdId
instance Show ICalVersion
instance Eq ICalVersion
instance Ord ICalVersion
instance Show Scale
instance Eq Scale
instance Ord Scale
instance Show Method
instance Eq Method
instance Ord Method
instance Show Attachment
instance Eq Attachment
instance Ord Attachment
instance Show Categories
instance Eq Categories
instance Ord Categories
instance Show ClassValue
instance Eq ClassValue
instance Ord ClassValue
instance Show Class
instance Eq Class
instance Ord Class
instance Show Comment
instance Eq Comment
instance Ord Comment
instance Show Description
instance Eq Description
instance Ord Description
instance Show Geo
instance Eq Geo
instance Ord Geo
instance Show Location
instance Eq Location
instance Ord Location
instance Show PercentComplete
instance Eq PercentComplete
instance Ord PercentComplete
instance Show Priority
instance Eq Priority
instance Ord Priority
instance Show Resources
instance Eq Resources
instance Ord Resources
instance Show EventStatus
instance Eq EventStatus
instance Ord EventStatus
instance Show TodoStatus
instance Eq TodoStatus
instance Ord TodoStatus
instance Show JournalStatus
instance Eq JournalStatus
instance Ord JournalStatus
instance Show Summary
instance Eq Summary
instance Ord Summary
instance Show Date
instance Eq Date
instance Ord Date
instance Show DateTime
instance Eq DateTime
instance Ord DateTime
instance Show Completed
instance Eq Completed
instance Ord Completed
instance Show DTEnd
instance Eq DTEnd
instance Ord DTEnd
instance Show Due
instance Eq Due
instance Ord Due
instance Show DTStart
instance Eq DTStart
instance Ord DTStart
instance Show Sign
instance Eq Sign
instance Ord Sign
instance Show Duration
instance Eq Duration
instance Ord Duration
instance Show DurationProp
instance Eq DurationProp
instance Ord DurationProp
instance Show Period
instance Eq Period
instance Ord Period
instance Show UTCPeriod
instance Eq UTCPeriod
instance Ord UTCPeriod
instance Show FBType
instance Eq FBType
instance Ord FBType
instance Show FreeBusy
instance Eq FreeBusy
instance Ord FreeBusy
instance Show TimeTransparency
instance Eq TimeTransparency
instance Ord TimeTransparency
instance Show TZID
instance Eq TZID
instance Ord TZID
instance Show TZName
instance Eq TZName
instance Ord TZName
instance Show UTCOffset
instance Eq UTCOffset
instance Ord UTCOffset
instance Show TZUrl
instance Eq TZUrl
instance Ord TZUrl
instance Show CUType
instance Eq CUType
instance Ord CUType
instance Show Role
instance Eq Role
instance Ord Role
instance Show PartStat
instance Eq PartStat
instance Ord PartStat
instance Show Attendee
instance Eq Attendee
instance Ord Attendee
instance Show Contact
instance Eq Contact
instance Ord Contact
instance Show Organizer
instance Eq Organizer
instance Ord Organizer
instance Show Range
instance Eq Range
instance Ord Range
instance Show RecurrenceId
instance Eq RecurrenceId
instance Ord RecurrenceId
instance Show RelationshipType
instance Eq RelationshipType
instance Ord RelationshipType
instance Show RelatedTo
instance Eq RelatedTo
instance Ord RelatedTo
instance Show URL
instance Eq URL
instance Ord URL
instance Show UID
instance Eq UID
instance Ord UID
instance Show ExDate
instance Eq ExDate
instance Ord ExDate
instance Show RDate
instance Eq RDate
instance Ord RDate
instance Show Frequency
instance Eq Frequency
instance Ord Frequency
instance Show Weekday
instance Eq Weekday
instance Ord Weekday
instance Bounded Weekday
instance Enum Weekday
instance Show Recur
instance Eq Recur
instance Ord Recur
instance Show RRule
instance Eq RRule
instance Ord RRule
instance Show Repeat
instance Eq Repeat
instance Ord Repeat
instance Show AlarmTriggerRelationship
instance Eq AlarmTriggerRelationship
instance Ord AlarmTriggerRelationship
instance Show Trigger
instance Eq Trigger
instance Ord Trigger
instance Show Created
instance Eq Created
instance Ord Created
instance Show DTStamp
instance Eq DTStamp
instance Ord DTStamp
instance Show LastModified
instance Eq LastModified
instance Ord LastModified
instance Show Sequence
instance Eq Sequence
instance Ord Sequence
instance Show RequestStatus
instance Eq RequestStatus
instance Ord RequestStatus
instance Show OtherProperty
instance Eq OtherProperty
instance Ord OtherProperty
instance Show VOther
instance Eq VOther
instance Ord VOther
instance Show VAlarm
instance Eq VAlarm
instance Ord VAlarm
instance Show TZProp
instance Eq TZProp
instance Ord TZProp
instance Show VTimeZone
instance Eq VTimeZone
instance Ord VTimeZone
instance Show VFreeBusy
instance Eq VFreeBusy
instance Ord VFreeBusy
instance Show VJournal
instance Eq VJournal
instance Ord VJournal
instance Show VTodo
instance Eq VTodo
instance Ord VTodo
instance Show VEvent
instance Eq VEvent
instance Ord VEvent
instance Show VCalendar
instance Eq VCalendar
instance Ord VCalendar
instance Default Sequence
instance Default AlarmTriggerRelationship
instance Default Repeat
instance Default RelationshipType
instance Default PartStat
instance Default Role
instance Default CUType
instance Default TimeTransparency
instance Default FBType
instance Default Sign
instance Default Priority
instance Default ClassValue
instance Default Class
instance Default Scale
instance Monoid VCalendar
instance Default VCalendar
instance Default OtherParams
module Text.ICalendar.Printer
-- | Functions for encoding into bytestring builders.
data EncodingFunctions
EncodingFunctions :: (Char -> Builder) -> (Char -> Int) -> EncodingFunctions
efChar2Bu :: EncodingFunctions -> Char -> Builder
-- | How many octets the character is encoded.
efChar2Len :: EncodingFunctions -> Char -> Int
printICal :: EncodingFunctions -> VCalendar -> ByteString
instance Eq Quoting
instance Ord Quoting
instance Show Quoting
instance IsValue Attachment
instance IsValue RDate
instance IsValue UTCPeriod
instance IsValue Period
instance IsValue RecurrenceId
instance IsValue Duration
instance IsValue URI
instance IsValue DTStart
instance IsValue DTStamp
instance IsValue (Either Date DateTime)
instance IsValue DateTime
instance IsValue Date
instance IsValue Weekday
instance IsValue ClassValue
instance IsValue JournalStatus
instance IsValue TodoStatus
instance IsValue EventStatus
instance IsValue Due
instance IsValue DTEnd
instance IsValue TimeTransparency
instance IsValue Recur
instance IsValue ICalVersion
instance ToParam Trigger
instance ToParam AlarmTriggerRelationship
instance ToParam Attendee
instance ToParam DelFrom
instance ToParam DelTo
instance ToParam RSVP
instance ToParam RelationshipType
instance ToParam PartStat
instance ToParam Role
instance ToParam Member
instance ToParam CUType
instance ToParam Attachment
instance ToParam MIMEType
instance ToParam FBType
instance ToParam Range
instance ToParam RecurrenceId
instance ToParam (Text, [(Quoting, Text)])
instance ToParam x => ToParam [x]
instance ToParam TZName
instance ToParam Language
instance ToParam OtherParams
instance ToParam DTStamp
instance ToParam Period
instance ToParam RDate
instance ToParam DTStart
instance ToParam CN
instance ToParam Due
instance ToParam DTEnd
instance ToParam DateTime
instance ToParam Dir
instance ToParam SentBy
instance ToParam AltRep
instance ToParam ExDate
instance ToParam a => ToParam (Set a)
instance ToParam a => ToParam (Maybe a)
instance IsProperty Trigger
instance IsProperty OtherProperty
instance IsProperty RDate
instance IsProperty Resources
instance IsProperty RelatedTo
instance IsProperty RequestStatus
instance IsProperty ExDate
instance IsProperty Contact
instance IsProperty Comment
instance IsProperty Categories
instance IsProperty Attendee
instance IsProperty Attachment
instance IsProperty RRule
instance IsProperty RecurrenceId
instance IsProperty URL
instance IsProperty TimeTransparency
instance IsProperty Summary
instance IsProperty JournalStatus
instance IsProperty TodoStatus
instance IsProperty EventStatus
instance IsProperty Sequence
instance IsProperty Priority
instance IsProperty Organizer
instance IsProperty Location
instance IsProperty LastModified
instance IsProperty Geo
instance IsProperty Description
instance IsProperty Created
instance IsProperty Class
instance IsProperty DTStart
instance IsProperty UID
instance IsProperty DTStamp
instance IsProperty Due
instance IsProperty DTEnd
instance IsProperty Repeat
instance IsProperty DurationProp
instance IsProperty Completed
instance IsProperty PercentComplete
instance IsProperty FreeBusy
instance (IsProperty a, IsProperty b) => IsProperty (Either a b)
instance IsProperty a => IsProperty (Maybe a)
instance IsProperty a => IsProperty (Set a)
instance Default EncodingFunctions
module Text.ICalendar.Parser
-- | Parse a ByteString containing iCalendar data. Returns either an error,
-- or a tuple of the result and a list of warnings.
parseICal :: DecodingFunctions -> FilePath -> ByteString -> Either String ([VCalendar], [String])
-- | Parse an iCalendar file.
parseICalFile :: DecodingFunctions -> FilePath -> IO (Either String ([VCalendar], [String]))
-- | Functions for decoding ByteStrings into Text.
data DecodingFunctions
DecodingFunctions :: (ByteString -> Text) -> (ByteString -> CI Text) -> DecodingFunctions
dfBS2Text :: DecodingFunctions -> ByteString -> Text
dfBS2IText :: DecodingFunctions -> ByteString -> CI Text
module Text.ICalendar