-- 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