-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Parser for iCalendar format (RFC2445)
--
-- Parser for the iCalendar format (version 2.0, RFC2445).
--
-- Features:
--
--
-- - Unfolds folded lines (see RFC)
-- - Supports all IANA iCalendar tokens
--
--
-- Warning! This is version 0.0, important things are missing
--
--
-- - Property and parameter values are not parsed, but kept as in the
-- file.
-- - There are no restrictions on the properties components can
-- have.
-- - Line unfolding causes error messages to report the wrong
-- line.
--
--
-- This package is meant to grow to a full-fledged data definition,
-- printer and parser for the iCalendar format. But that will probably
-- take some time. So, if you've come here because you need this, please
-- e-mail me (Eelco Lempsink).
@package iCalendar
@version 0.0
-- | Parser for the iCalendar format (version 2.0, RFC2445).
--
-- Features:
--
--
-- - Unfolds folded lines (see RFC)
-- - Supports all IANA iCalendar tokens
--
--
-- Warning! This is version 0.0, important things are missing
--
--
-- - Property and parameter values are not parsed, but kept as in the
-- file.
-- - There are no restrictions on the properties components can
-- have.
-- - Line unfolding causes error messages to report the wrong
-- line.
--
--
-- This package is meant to grow to a full-fledged data definition,
-- printer and parser for the iCalendar format. But that will probably
-- take some time. So, if you've come here because you need this, please
-- e-mail me (Eelco Lempsink).
module Text.ICalendar.Parser
-- | Calendar Component names (4.6)
data ComponentName
-- | Event Component (4.6.1)
VEVENT :: ComponentName
-- | To-do Component (4.6.2)
VTODO :: ComponentName
-- | Journal Component (4.6.3)
VJOURNAL :: ComponentName
-- | Free/Busy Component (4.6.4)
VFREEBUSY :: ComponentName
-- | Time Zone Component (4.6.5)
VTIMEZONE :: ComponentName
-- | Non-standard/Experimental Component Time Zone subcomponents
X_c :: String -> ComponentName
-- | Standard Time Sub-component (4.6.5)
STANDARD :: ComponentName
-- | Daylight Saving Time Sub-component (4.6.5) Event and To-do
-- subcomponent
DAYLIGHT :: ComponentName
-- | Alarm Sub-component (4.6.6)
VALARM :: ComponentName
-- | Property names for Calendar Properties (4.7) and Component Properties
-- (4.8)
data PropertyName
-- | Calendar Scale (4.7.1)
CALSCALE :: PropertyName
-- | Method (4.7.2)
METHOD :: PropertyName
-- | Product Identifier (4.7.3)
PRODID :: PropertyName
-- | Version (4.7.4)
VERSION :: PropertyName
-- | Attachment (4.8.1.1)
ATTACH :: PropertyName
-- | Categories (4.8.1.2)
CATEGORIES :: PropertyName
-- | Classification (4.8.1.3)
CLASS :: PropertyName
-- | Comment (4.8.1.4)
COMMENT :: PropertyName
-- | Description (4.8.1.5)
DESCRIPTION :: PropertyName
-- | Geographic Position (4.8.1.6)
GEO :: PropertyName
-- | Location (4.8.1.7)
LOCATION :: PropertyName
-- | Percent Complete (4.8.1.8)
PERCENT_COMPLETE :: PropertyName
-- | Priority (4.8.1.9)
PRIORITY :: PropertyName
-- | Resources (4.8.1.10)
RESOURCES :: PropertyName
-- | Status (4.8.1.11)
STATUS :: PropertyName
-- | Summary (4.8.1.12)
SUMMARY :: PropertyName
-- | Date/Time Completed (4.8.2.1)
COMPLETED :: PropertyName
-- | Date/Time End (4.8.2.2)
DTEND :: PropertyName
-- | Date/Time Due (4.8.2.3)
DUE :: PropertyName
-- | Date/Time Start (4.8.2.4)
DTSTART :: PropertyName
-- | Duration (4.8.2.5)
DURATION :: PropertyName
-- | Free/Busy Time (4.8.2.6)
FREEBUSY :: PropertyName
-- | Time Transparency (4.8.2.7)
TRANSP :: PropertyName
-- | Time Zone Identifier (4.8.3.1)
TZID :: PropertyName
-- | Time Zone Name (4.8.3.2)
TZNAME :: PropertyName
-- | Time Zone Offset From (4.8.3.3)
TZOFFSETFROM :: PropertyName
-- | Time Zone Offset To (4.8.3.4)
TZOFFSETTO :: PropertyName
-- | Time Zone URL (4.8.3.5)
TZURL :: PropertyName
-- | Attendee (4.8.4.1)
ATTENDEE :: PropertyName
-- | Contact (4.8.4.2)
CONTACT :: PropertyName
-- | Organizer (4.8.4.3)
ORGANIZER :: PropertyName
-- | Recurrence ID (4.8.4.4)
RECURRENCE_ID :: PropertyName
-- | Related To (4.8.4.5)
RELATED_TO :: PropertyName
-- | Uniform Resource Locator (4.8.4.6)
URL :: PropertyName
-- | Unique Identfier (4.8.4.7)
UID :: PropertyName
-- | Exception Date/Times (4.8.5.1)
EXDATE :: PropertyName
-- | Exception Rule (4.8.5.2)
EXRULE :: PropertyName
-- | Recurrence Date/Times (4.8.5.3)
RDATE :: PropertyName
-- | Recurrence Rule (4.8.5.4)
RRULE :: PropertyName
-- | Action (4.8.6.1)
ACTION :: PropertyName
-- | Repeat Count (4.8.6.2)
REPEAT :: PropertyName
-- | Trigger (4.8.6.3)
TRIGGER :: PropertyName
-- | Date/Time Created (4.8.7.1)
CREATED :: PropertyName
-- | Date/Time Stamp (4.8.7.2)
DTSTAMP :: PropertyName
-- | Last Modified (4.8.7.3)
LAST_MODIFIED :: PropertyName
-- | Sequence Number (4.8.7.4)
SEQUENCE :: PropertyName
-- | Non-standard Properties (4.8.8.1)
X_ :: String -> PropertyName
-- | Request Status (4.8.8.2)
REQUEST_STATUS :: PropertyName
-- | Parameter names (4.2)
data ParamName
-- | Alternate Text Represenation (4.2.1)
ALTREP :: ParamName
-- | Common Name (4.2.2)
CN :: ParamName
-- | Calendar User Type (4.2.3)
CUTYPE :: ParamName
-- | Delegators (4.2.4)
DELEGATED_FROM :: ParamName
-- | Delegatees (4.2.5)
DELEGATED_TO :: ParamName
-- | Directory Entry Reference (4.2.6)
DIR :: ParamName
-- | Inline Encoding (4.2.7)
ENCODING :: ParamName
-- | Format Type (4.2.8)
FMTYPE :: ParamName
-- | Free/Busy Time Type (4.2.9)
FBTYPE :: ParamName
-- | Language (4.2.10)
LANGUAGE :: ParamName
-- | Group or List Membership (4.2.11)
MEMBER :: ParamName
-- | Participation Status (4.2.12)
PARTSTAT :: ParamName
-- | Recurrence Identfier Range (4.2.13)
RANGE :: ParamName
-- | Alarm Trigger Relationship (4.2.14)
RELATED :: ParamName
-- | Relationship Type (4.2.15)
RELTYPE :: ParamName
-- | Participation Role (4.2.16)
ROLE :: ParamName
-- | RSVP Expectation (4.2.17)
RSVP :: ParamName
-- | Sent By (4.2.18)
SENT_BY :: ParamName
-- | Time Zone Identifier (4.2.19)
TZIDp :: ParamName
-- | Value Data Types (4.2.20)
VALUE :: ParamName
-- | Non-standard Parameter (4.2.21)
X_p :: String -> ParamName
data ParamValue
Paramtext :: String -> ParamValue
QuotedString :: String -> ParamValue
type Property = (PropertyName, [Param], Value)
type Value = String
-- | iCalendar data
data ICalendar
ICalendar :: [Property] -> [Component] -> ICalendar
calendarProperties :: ICalendar -> [Property]
components :: ICalendar -> [Component]
-- | Component data
data Component
Component :: ComponentName -> [Property] -> [Component] -> Component
cName :: Component -> ComponentName
properties :: Component -> [Property]
subcomponents :: Component -> [Component]
-- | Parameter data
data Param
Param :: ParamName -> [ParamValue] -> Param
pName :: Param -> ParamName
pValues :: Param -> [ParamValue]
parser :: GenParser Char st ICalendar
instance Eq Param
instance Show Param
instance Eq Component
instance Show Component
instance Eq ICalendar
instance Show ICalendar
instance Eq ParamValue
instance Show ParamValue
instance Eq ParamName
instance Show ParamName
instance Eq PropertyName
instance Show PropertyName
instance Eq ComponentName
instance Show ComponentName
instance Alternative (GenParser s a)
instance Applicative (GenParser s a)