packages feed

microformats2-types 0.3.0 → 0.4.0

raw patch · 5 files changed

+176/−162 lines, 5 filesdep +data-default-classdep −data-defaultdep −eitherPVP ok

version bump matches the API change (PVP)

Dependencies added: data-default-class

Dependencies removed: data-default, either

API changes (from Hackage documentation)

- Data.Microformats2: Here :: a -> Embedded a
- Data.Microformats2: Nowhere :: Embedded a
- Data.Microformats2: Somewhere :: (Link a) -> Embedded a
- Data.Microformats2: data Embedded a
- Data.Microformats2: hereFromMaybe :: Maybe a -> Embedded a
- Data.Microformats2: instance Data a => Data (Embedded a)
- Data.Microformats2: instance Eq a => Eq (Embedded a)
- Data.Microformats2: instance Show a => Show (Embedded a)
- Data.Microformats2: instance Typeable Embedded
- Data.Microformats2: somewhereFromMaybe :: Maybe (Link a) -> Embedded a
- Data.Microformats2: type ContentReference = Either Pandoc Text
- Data.Microformats2: type EntryReference = Either (Embedded Cite) (Link Entry)
- Data.Microformats2: type Link a = Text
- Data.Microformats2: type LocationReference = Either (Embedded Card) (Embedded Adr)
- Data.Microformats2.Aeson: instance FromJSON a0 => FromJSON (Embedded a0)
- Data.Microformats2.Aeson: instance ToJSON a0 => ToJSON (Embedded a0)
+ Data.Microformats2: AdrAdr :: Adr -> AdrReference
+ Data.Microformats2: AdrLoc :: Adr -> LocationReference
+ Data.Microformats2: CardCard :: Card -> CardReference
+ Data.Microformats2: CardLoc :: Card -> LocationReference
+ Data.Microformats2: CiteEntry :: Cite -> EntryReference
+ Data.Microformats2: EntryEntry :: Entry -> EntryReference
+ Data.Microformats2: GeoGeo :: Geo -> GeoReference
+ Data.Microformats2: GeoLoc :: Geo -> LocationReference
+ Data.Microformats2: PandocContent :: Pandoc -> ContentReference
+ Data.Microformats2: TextAdr :: Text -> AdrReference
+ Data.Microformats2: TextCard :: Text -> CardReference
+ Data.Microformats2: TextContent :: Text -> ContentReference
+ Data.Microformats2: TextEntry :: Text -> EntryReference
+ Data.Microformats2: TextGeo :: Text -> GeoReference
+ Data.Microformats2: TextLoc :: Text -> LocationReference
+ Data.Microformats2: UrlEntry :: Text -> EntryReference
+ Data.Microformats2: UrlGeo :: Text -> GeoReference
+ Data.Microformats2: data AdrReference
+ Data.Microformats2: data CardReference
+ Data.Microformats2: data ContentReference
+ Data.Microformats2: data EntryReference
+ Data.Microformats2: data GeoReference
+ Data.Microformats2: data LocationReference
+ Data.Microformats2: instance Data AdrReference
+ Data.Microformats2: instance Data CardReference
+ Data.Microformats2: instance Data ContentReference
+ Data.Microformats2: instance Data EntryReference
+ Data.Microformats2: instance Data GeoReference
+ Data.Microformats2: instance Data LocationReference
+ Data.Microformats2: instance Eq AdrReference
+ Data.Microformats2: instance Eq CardReference
+ Data.Microformats2: instance Eq ContentReference
+ Data.Microformats2: instance Eq EntryReference
+ Data.Microformats2: instance Eq GeoReference
+ Data.Microformats2: instance Eq LocationReference
+ Data.Microformats2: instance Show AdrReference
+ Data.Microformats2: instance Show CardReference
+ Data.Microformats2: instance Show ContentReference
+ Data.Microformats2: instance Show EntryReference
+ Data.Microformats2: instance Show GeoReference
+ Data.Microformats2: instance Show LocationReference
+ Data.Microformats2: instance Typeable AdrReference
+ Data.Microformats2: instance Typeable CardReference
+ Data.Microformats2: instance Typeable ContentReference
+ Data.Microformats2: instance Typeable EntryReference
+ Data.Microformats2: instance Typeable GeoReference
+ Data.Microformats2: instance Typeable LocationReference
+ Data.Microformats2.Aeson: instance FromJSON AdrReference
+ Data.Microformats2.Aeson: instance FromJSON CardReference
+ Data.Microformats2.Aeson: instance FromJSON ContentReference
+ Data.Microformats2.Aeson: instance FromJSON EntryReference
+ Data.Microformats2.Aeson: instance FromJSON GeoReference
+ Data.Microformats2.Aeson: instance FromJSON LocationReference
+ Data.Microformats2.Aeson: instance ToJSON AdrReference
+ Data.Microformats2.Aeson: instance ToJSON CardReference
+ Data.Microformats2.Aeson: instance ToJSON ContentReference
+ Data.Microformats2.Aeson: instance ToJSON EntryReference
+ Data.Microformats2.Aeson: instance ToJSON GeoReference
+ Data.Microformats2.Aeson: instance ToJSON LocationReference
- Data.Microformats2: Adr :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Embedded Geo -> Adr
+ Data.Microformats2: Adr :: [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [GeoReference] -> Adr
- Data.Microformats2: Card :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> [Text] -> Embedded Adr -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Maybe Text -> Embedded Card -> Maybe Text -> Maybe Text -> [Text] -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Card
+ Data.Microformats2: Card :: [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [AdrReference] -> [Text] -> [Text] -> [UTCTime] -> [Text] -> [CardReference] -> [Text] -> [Text] -> [Text] -> [Text] -> [Text] -> [UTCTime] -> Card
- Data.Microformats2: Cite :: Maybe Text -> Maybe UTCTime -> Embedded Card -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe UTCTime -> Maybe Text -> Cite
+ Data.Microformats2: Cite :: [Text] -> [UTCTime] -> [CardReference] -> [Text] -> [Text] -> [Text] -> [UTCTime] -> [ContentReference] -> Cite
- Data.Microformats2: Entry :: Maybe Text -> Maybe Text -> Maybe ContentReference -> Maybe UTCTime -> Maybe UTCTime -> Embedded Card -> [Text] -> Maybe Text -> Maybe Text -> Maybe LocationReference -> [EntryReference] -> [Text] -> Maybe EntryReference -> Maybe EntryReference -> Maybe EntryReference -> Entry
+ Data.Microformats2: Entry :: [Text] -> [Text] -> [ContentReference] -> [UTCTime] -> [UTCTime] -> [CardReference] -> [Text] -> [Text] -> [Text] -> [LocationReference] -> [EntryReference] -> [Text] -> [EntryReference] -> [EntryReference] -> [EntryReference] -> Entry
- Data.Microformats2: Geo :: Maybe Double -> Maybe Double -> Maybe Double -> Geo
+ Data.Microformats2: Geo :: [Double] -> [Double] -> [Double] -> Geo
- Data.Microformats2: adrCountryName :: Adr -> Maybe Text
+ Data.Microformats2: adrCountryName :: Adr -> [Text]
- Data.Microformats2: adrExtendedAddress :: Adr -> Maybe Text
+ Data.Microformats2: adrExtendedAddress :: Adr -> [Text]
- Data.Microformats2: adrGeo :: Adr -> Embedded Geo
+ Data.Microformats2: adrGeo :: Adr -> [GeoReference]
- Data.Microformats2: adrLabel :: Adr -> Maybe Text
+ Data.Microformats2: adrLabel :: Adr -> [Text]
- Data.Microformats2: adrLocality :: Adr -> Maybe Text
+ Data.Microformats2: adrLocality :: Adr -> [Text]
- Data.Microformats2: adrPostOfficeBox :: Adr -> Maybe Text
+ Data.Microformats2: adrPostOfficeBox :: Adr -> [Text]
- Data.Microformats2: adrPostalCode :: Adr -> Maybe Text
+ Data.Microformats2: adrPostalCode :: Adr -> [Text]
- Data.Microformats2: adrRegion :: Adr -> Maybe Text
+ Data.Microformats2: adrRegion :: Adr -> [Text]
- Data.Microformats2: adrStreetAddress :: Adr -> Maybe Text
+ Data.Microformats2: adrStreetAddress :: Adr -> [Text]
- Data.Microformats2: cardAdditionalName :: Card -> Maybe Text
+ Data.Microformats2: cardAdditionalName :: Card -> [Text]
- Data.Microformats2: cardAdr :: Card -> Embedded Adr
+ Data.Microformats2: cardAdr :: Card -> [AdrReference]
- Data.Microformats2: cardAnniversary :: Card -> Maybe UTCTime
+ Data.Microformats2: cardAnniversary :: Card -> [UTCTime]
- Data.Microformats2: cardBday :: Card -> Maybe UTCTime
+ Data.Microformats2: cardBday :: Card -> [UTCTime]
- Data.Microformats2: cardEmail :: Card -> Maybe Text
+ Data.Microformats2: cardEmail :: Card -> [Text]
- Data.Microformats2: cardFamilyName :: Card -> Maybe Text
+ Data.Microformats2: cardFamilyName :: Card -> [Text]
- Data.Microformats2: cardGenderIdentity :: Card -> Maybe Text
+ Data.Microformats2: cardGenderIdentity :: Card -> [Text]
- Data.Microformats2: cardGivenName :: Card -> Maybe Text
+ Data.Microformats2: cardGivenName :: Card -> [Text]
- Data.Microformats2: cardHonorificPrefix :: Card -> Maybe Text
+ Data.Microformats2: cardHonorificPrefix :: Card -> [Text]
- Data.Microformats2: cardHonorificSuffix :: Card -> Maybe Text
+ Data.Microformats2: cardHonorificSuffix :: Card -> [Text]
- Data.Microformats2: cardJobTitle :: Card -> Maybe Text
+ Data.Microformats2: cardJobTitle :: Card -> [Text]
- Data.Microformats2: cardKey :: Card -> Maybe Text
+ Data.Microformats2: cardKey :: Card -> [Text]
- Data.Microformats2: cardLogo :: Card -> Maybe Text
+ Data.Microformats2: cardLogo :: Card -> [Text]
- Data.Microformats2: cardName :: Card -> Maybe Text
+ Data.Microformats2: cardName :: Card -> [Text]
- Data.Microformats2: cardNickname :: Card -> Maybe Text
+ Data.Microformats2: cardNickname :: Card -> [Text]
- Data.Microformats2: cardNote :: Card -> Maybe Text
+ Data.Microformats2: cardNote :: Card -> [Text]
- Data.Microformats2: cardOrg :: Card -> Embedded Card
+ Data.Microformats2: cardOrg :: Card -> [CardReference]
- Data.Microformats2: cardPhoto :: Card -> Maybe Text
+ Data.Microformats2: cardPhoto :: Card -> [Text]
- Data.Microformats2: cardRole :: Card -> Maybe Text
+ Data.Microformats2: cardRole :: Card -> [Text]
- Data.Microformats2: cardSex :: Card -> Maybe Text
+ Data.Microformats2: cardSex :: Card -> [Text]
- Data.Microformats2: cardSortString :: Card -> Maybe Text
+ Data.Microformats2: cardSortString :: Card -> [Text]
- Data.Microformats2: cardTel :: Card -> Maybe Text
+ Data.Microformats2: cardTel :: Card -> [Text]
- Data.Microformats2: cardUid :: Card -> Maybe Text
+ Data.Microformats2: cardUid :: Card -> [Text]
- Data.Microformats2: cardUrl :: Card -> Maybe Text
+ Data.Microformats2: cardUrl :: Card -> [Text]
- Data.Microformats2: citeAccessed :: Cite -> Maybe UTCTime
+ Data.Microformats2: citeAccessed :: Cite -> [UTCTime]
- Data.Microformats2: citeAuthor :: Cite -> Embedded Card
+ Data.Microformats2: citeAuthor :: Cite -> [CardReference]
- Data.Microformats2: citeContent :: Cite -> Maybe Text
+ Data.Microformats2: citeContent :: Cite -> [ContentReference]
- Data.Microformats2: citeName :: Cite -> Maybe Text
+ Data.Microformats2: citeName :: Cite -> [Text]
- Data.Microformats2: citePublication :: Cite -> Maybe Text
+ Data.Microformats2: citePublication :: Cite -> [Text]
- Data.Microformats2: citePublished :: Cite -> Maybe UTCTime
+ Data.Microformats2: citePublished :: Cite -> [UTCTime]
- Data.Microformats2: citeUid :: Cite -> Maybe Text
+ Data.Microformats2: citeUid :: Cite -> [Text]
- Data.Microformats2: citeUrl :: Cite -> Maybe Text
+ Data.Microformats2: citeUrl :: Cite -> [Text]
- Data.Microformats2: entryAuthor :: Entry -> Embedded Card
+ Data.Microformats2: entryAuthor :: Entry -> [CardReference]
- Data.Microformats2: entryContent :: Entry -> Maybe ContentReference
+ Data.Microformats2: entryContent :: Entry -> [ContentReference]
- Data.Microformats2: entryInReplyTo :: Entry -> Maybe EntryReference
+ Data.Microformats2: entryInReplyTo :: Entry -> [EntryReference]
- Data.Microformats2: entryLikeOf :: Entry -> Maybe EntryReference
+ Data.Microformats2: entryLikeOf :: Entry -> [EntryReference]
- Data.Microformats2: entryLocation :: Entry -> Maybe LocationReference
+ Data.Microformats2: entryLocation :: Entry -> [LocationReference]
- Data.Microformats2: entryName :: Entry -> Maybe Text
+ Data.Microformats2: entryName :: Entry -> [Text]
- Data.Microformats2: entryPublished :: Entry -> Maybe UTCTime
+ Data.Microformats2: entryPublished :: Entry -> [UTCTime]
- Data.Microformats2: entryRepostOf :: Entry -> Maybe EntryReference
+ Data.Microformats2: entryRepostOf :: Entry -> [EntryReference]
- Data.Microformats2: entrySummary :: Entry -> Maybe Text
+ Data.Microformats2: entrySummary :: Entry -> [Text]
- Data.Microformats2: entryUid :: Entry -> Maybe Text
+ Data.Microformats2: entryUid :: Entry -> [Text]
- Data.Microformats2: entryUpdated :: Entry -> Maybe UTCTime
+ Data.Microformats2: entryUpdated :: Entry -> [UTCTime]
- Data.Microformats2: entryUrl :: Entry -> Maybe Text
+ Data.Microformats2: entryUrl :: Entry -> [Text]
- Data.Microformats2: geoAltitude :: Geo -> Maybe Double
+ Data.Microformats2: geoAltitude :: Geo -> [Double]
- Data.Microformats2: geoLatitude :: Geo -> Maybe Double
+ Data.Microformats2: geoLatitude :: Geo -> [Double]
- Data.Microformats2: geoLongitude :: Geo -> Maybe Double
+ Data.Microformats2: geoLongitude :: Geo -> [Double]
- Data.Microformats2.Setters: setAdrCountryName :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrCountryName :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrExtendedAddress :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrExtendedAddress :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrGeo :: Embedded Geo -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrGeo :: [GeoReference] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrLabel :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrLabel :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrLocality :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrLocality :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrPostOfficeBox :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrPostOfficeBox :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrPostalCode :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrPostalCode :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrRegion :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrRegion :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setAdrStreetAddress :: Maybe Text -> Adr -> Adr
+ Data.Microformats2.Setters: setAdrStreetAddress :: [Text] -> Adr -> Adr
- Data.Microformats2.Setters: setCardAdditionalName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardAdditionalName :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardAdr :: Embedded Adr -> Card -> Card
+ Data.Microformats2.Setters: setCardAdr :: [AdrReference] -> Card -> Card
- Data.Microformats2.Setters: setCardAnniversary :: Maybe UTCTime -> Card -> Card
+ Data.Microformats2.Setters: setCardAnniversary :: [UTCTime] -> Card -> Card
- Data.Microformats2.Setters: setCardBday :: Maybe UTCTime -> Card -> Card
+ Data.Microformats2.Setters: setCardBday :: [UTCTime] -> Card -> Card
- Data.Microformats2.Setters: setCardEmail :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardEmail :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardFamilyName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardFamilyName :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardGenderIdentity :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardGenderIdentity :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardGivenName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardGivenName :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardHonorificPrefix :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardHonorificPrefix :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardHonorificSuffix :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardHonorificSuffix :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardJobTitle :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardJobTitle :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardKey :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardKey :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardLogo :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardLogo :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardName :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardName :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardNickname :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardNickname :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardNote :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardNote :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardOrg :: Embedded Card -> Card -> Card
+ Data.Microformats2.Setters: setCardOrg :: [CardReference] -> Card -> Card
- Data.Microformats2.Setters: setCardPhoto :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardPhoto :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardRole :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardRole :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardSex :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardSex :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardSortString :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardSortString :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardTel :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardTel :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardUid :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardUid :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCardUrl :: Maybe Text -> Card -> Card
+ Data.Microformats2.Setters: setCardUrl :: [Text] -> Card -> Card
- Data.Microformats2.Setters: setCiteAccessed :: Maybe UTCTime -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteAccessed :: [UTCTime] -> Cite -> Cite
- Data.Microformats2.Setters: setCiteAuthor :: Embedded Card -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteAuthor :: [CardReference] -> Cite -> Cite
- Data.Microformats2.Setters: setCiteContent :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteContent :: [ContentReference] -> Cite -> Cite
- Data.Microformats2.Setters: setCiteName :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteName :: [Text] -> Cite -> Cite
- Data.Microformats2.Setters: setCitePublication :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCitePublication :: [Text] -> Cite -> Cite
- Data.Microformats2.Setters: setCitePublished :: Maybe UTCTime -> Cite -> Cite
+ Data.Microformats2.Setters: setCitePublished :: [UTCTime] -> Cite -> Cite
- Data.Microformats2.Setters: setCiteUid :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteUid :: [Text] -> Cite -> Cite
- Data.Microformats2.Setters: setCiteUrl :: Maybe Text -> Cite -> Cite
+ Data.Microformats2.Setters: setCiteUrl :: [Text] -> Cite -> Cite
- Data.Microformats2.Setters: setEntryAuthor :: Embedded Card -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryAuthor :: [CardReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryContent :: Maybe ContentReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryContent :: [ContentReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryInReplyTo :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryInReplyTo :: [EntryReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryLikeOf :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryLikeOf :: [EntryReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryLocation :: Maybe LocationReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryLocation :: [LocationReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryName :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryName :: [Text] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryPublished :: Maybe UTCTime -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryPublished :: [UTCTime] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryRepostOf :: Maybe EntryReference -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryRepostOf :: [EntryReference] -> Entry -> Entry
- Data.Microformats2.Setters: setEntrySummary :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntrySummary :: [Text] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryUid :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUid :: [Text] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryUpdated :: Maybe UTCTime -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUpdated :: [UTCTime] -> Entry -> Entry
- Data.Microformats2.Setters: setEntryUrl :: Maybe Text -> Entry -> Entry
+ Data.Microformats2.Setters: setEntryUrl :: [Text] -> Entry -> Entry
- Data.Microformats2.Setters: setGeoAltitude :: Maybe Double -> Geo -> Geo
+ Data.Microformats2.Setters: setGeoAltitude :: [Double] -> Geo -> Geo
- Data.Microformats2.Setters: setGeoLatitude :: Maybe Double -> Geo -> Geo
+ Data.Microformats2.Setters: setGeoLatitude :: [Double] -> Geo -> Geo
- Data.Microformats2.Setters: setGeoLongitude :: Maybe Double -> Geo -> Geo
+ Data.Microformats2.Setters: setGeoLongitude :: [Double] -> Geo -> Geo

Files

README.md view
@@ -1,9 +1,21 @@ # microformats2-types [![Hackage](https://img.shields.io/hackage/v/microformats2-types.svg?style=flat)](https://hackage.haskell.org/package/microformats2-types) [![ISC License](https://img.shields.io/badge/license-ISC-red.svg?style=flat)](https://tldrlegal.com/license/-isc-license) -[Microformats 2] types for Haskell, with [Aeson] instances.+[Microformats 2] types for Haskell! +- [Aeson] instances+- [Default] instances+- [Setters] instances+- [Pandoc] content for h-entry++This package is not very interesting, check out [microformats2-parser] and [sweetroll] :-)+ [Microformats 2]: http://microformats.org/wiki/microformats2 [Aeson]: https://hackage.haskell.org/package/aeson+[Default]: https://hackage.haskell.org/package/data-default+[Setters]: https://hackage.haskell.org/package/setters+[Pandoc]: https://hackage.haskell.org/package/pandoc+[microformats2-parser]: https://github.com/myfreeweb/microformats2-parser+[sweetroll]: https://github.com/myfreeweb/sweetroll  ## License 
library/Data/Microformats2.hs view
@@ -1,208 +1,207 @@-{-# LANGUAGE DeriveDataTypeable, Trustworthy #-}+{-# LANGUAGE DeriveDataTypeable, UnicodeSyntax, Trustworthy #-}  -- | Microformats 2 types for Haskell. -- -- Notes: ----- 1. Pretty much all properties in MF2 are optional -- this is why we use Maybe when lists don't make sense.------ 2. We don't duplicate sub-properties in parent types.+-- 1. We don't duplicate sub-properties in parent types. --    E.g. h-adr has both p-geo and p-latitude, p-longitude, p-altitude.---    Adr only has an Embedded Geo.+--    Adr only has a Geo. ----- 3. Lazy Text is used for storing texts, because it's the format used in Scotty, Hastache and other popular web libraries.-module Data.Microformats2 (module Data.Microformats2) where+-- 2. Lazy Text is used for storing texts, because it's the format used in Scotty, Hastache and other popular web libraries.+--+-- 3. Lists are used everywhere, because all properties might be multivalued, even though it doesn't always make sense.+--    Use 'headMay' from the safe package!+--+-- 4. SomethingReference sum types are used for, well, references.+--    The spec always makes embedded microformats optional, so these types include Text options.+--+module Data.Microformats2 where  import safe      Data.Typeable (Typeable) import safe      Data.Text.Lazy (Text) import safe      Data.Data (Data)-import           Data.Default+import           Data.Default.Class import           Data.Time (UTCTime) import           Text.Pandoc.Definition (Pandoc) --- | An alias for lazy Text as a phantom type for storing the type of linked data.-type Link a = Text+-- | A Geo reference.+data GeoReference = TextGeo Text | UrlGeo Text | GeoGeo Geo -- LOL+  deriving (Eq, Show, Data, Typeable) --- | A type that represents all the ways Microformats objects can be embedded inside one another.-data Embedded a = Here a | Somewhere (Link a) | Nowhere+-- | An Adr reference.+data AdrReference = TextAdr Text | AdrAdr Adr   deriving (Eq, Show, Data, Typeable) --- | Converts a Maybe <thing> to an Embedded wrapping the same <thing>.-hereFromMaybe :: Maybe a -> Embedded a-hereFromMaybe m = case m of-  Just thing -> Here thing-  Nothing -> Nowhere+-- | A location (Card/Adr/Geo) reference.+data LocationReference = TextLoc Text | CardLoc Card | AdrLoc Adr | GeoLoc Geo+  deriving (Eq, Show, Data, Typeable) --- | Converts a Maybe Link to an Embedded referencing the same URL.-somewhereFromMaybe :: Maybe (Link a) -> Embedded a-somewhereFromMaybe m = case m of-  Just lnk -> Somewhere lnk-  Nothing -> Nowhere+-- | A Card reference.+data CardReference = TextCard Text | CardCard Card+  deriving (Eq, Show, Data, Typeable) +-- | An Entry/Cite reference.+data EntryReference = TextEntry Text | UrlEntry Text | CiteEntry Cite | EntryEntry Entry+  deriving (Eq, Show, Data, Typeable)++-- | A content reference.+data ContentReference = TextContent Text | PandocContent Pandoc+  deriving (Eq, Show, Data, Typeable)+ -- | A Geo type, based on h-geo <http://microformats.org/wiki/h-geo> data Geo = Geo-  { geoLatitude    :: Maybe Double-  , geoLongitude   :: Maybe Double-  , geoAltitude    :: Maybe Double }+  { geoLatitude    ∷ [Double]+  , geoLongitude   ∷ [Double]+  , geoAltitude    ∷ [Double] }   deriving (Eq, Show, Data, Typeable)  instance Default Geo where   def = Geo-    { geoLatitude    = Nothing-    , geoLongitude   = Nothing-    , geoAltitude    = Nothing }+    { geoLatitude    = []+    , geoLongitude   = []+    , geoAltitude    = [] }  -- | An Adr type, based on h-adr <http://microformats.org/wiki/h-adr> data Adr = Adr-  { adrStreetAddress    :: Maybe Text-  , adrExtendedAddress  :: Maybe Text-  , adrPostOfficeBox    :: Maybe Text-  , adrLocality         :: Maybe Text-  , adrRegion           :: Maybe Text-  , adrPostalCode       :: Maybe Text-  , adrCountryName      :: Maybe Text-  , adrLabel            :: Maybe Text-  , adrGeo              :: Embedded Geo }+  { adrStreetAddress    ∷ [Text]+  , adrExtendedAddress  ∷ [Text]+  , adrPostOfficeBox    ∷ [Text]+  , adrLocality         ∷ [Text]+  , adrRegion           ∷ [Text]+  , adrPostalCode       ∷ [Text]+  , adrCountryName      ∷ [Text]+  , adrLabel            ∷ [Text]+  , adrGeo              ∷ [GeoReference] }   deriving (Eq, Show, Data, Typeable)  instance Default Adr where   def = Adr-    { adrStreetAddress    = Nothing-    , adrExtendedAddress  = Nothing-    , adrPostOfficeBox    = Nothing-    , adrLocality         = Nothing-    , adrRegion           = Nothing-    , adrPostalCode       = Nothing-    , adrCountryName      = Nothing-    , adrLabel            = Nothing-    , adrGeo              = Nowhere }+    { adrStreetAddress    = []+    , adrExtendedAddress  = []+    , adrPostOfficeBox    = []+    , adrLocality         = []+    , adrRegion           = []+    , adrPostalCode       = []+    , adrCountryName      = []+    , adrLabel            = []+    , adrGeo              = [] }  -- | A Card type, based on h-card <http://microformats.org/wiki/h-card> data Card = Card-  { cardName              :: Maybe Text-  , cardHonorificPrefix   :: Maybe Text-  , cardGivenName         :: Maybe Text-  , cardAdditionalName    :: Maybe Text-  , cardFamilyName        :: Maybe Text-  , cardSortString        :: Maybe Text-  , cardHonorificSuffix   :: Maybe Text-  , cardNickname          :: Maybe Text-  , cardEmail             :: Maybe Text-  , cardLogo              :: Maybe Text-  , cardPhoto             :: Maybe Text-  , cardUrl               :: Maybe Text-  , cardUid               :: Maybe Text-  , cardCategory          :: [Text]-  , cardAdr               :: Embedded Adr-  , cardTel               :: Maybe Text-  , cardNote              :: Maybe Text-  , cardBday              :: Maybe UTCTime-  , cardKey               :: Maybe Text-  , cardOrg               :: Embedded Card-  , cardJobTitle          :: Maybe Text-  , cardRole              :: Maybe Text-  , cardImpp              :: [Text]-  , cardSex               :: Maybe Text-  , cardGenderIdentity    :: Maybe Text-  , cardAnniversary       :: Maybe UTCTime }+  { cardName              ∷ [Text]+  , cardHonorificPrefix   ∷ [Text]+  , cardGivenName         ∷ [Text]+  , cardAdditionalName    ∷ [Text]+  , cardFamilyName        ∷ [Text]+  , cardSortString        ∷ [Text]+  , cardHonorificSuffix   ∷ [Text]+  , cardNickname          ∷ [Text]+  , cardEmail             ∷ [Text]+  , cardLogo              ∷ [Text]+  , cardPhoto             ∷ [Text]+  , cardUrl               ∷ [Text]+  , cardUid               ∷ [Text]+  , cardCategory          ∷ [Text]+  , cardAdr               ∷ [AdrReference]+  , cardTel               ∷ [Text]+  , cardNote              ∷ [Text]+  , cardBday              ∷ [UTCTime]+  , cardKey               ∷ [Text]+  , cardOrg               ∷ [CardReference]+  , cardJobTitle          ∷ [Text]+  , cardRole              ∷ [Text]+  , cardImpp              ∷ [Text]+  , cardSex               ∷ [Text]+  , cardGenderIdentity    ∷ [Text]+  , cardAnniversary       ∷ [UTCTime] }   deriving (Eq, Show, Data, Typeable)  instance Default Card where   def = Card-    { cardName              = Nothing-    , cardHonorificPrefix   = Nothing-    , cardGivenName         = Nothing-    , cardAdditionalName    = Nothing-    , cardFamilyName        = Nothing-    , cardSortString        = Nothing-    , cardHonorificSuffix   = Nothing-    , cardNickname          = Nothing-    , cardEmail             = Nothing-    , cardLogo              = Nothing-    , cardPhoto             = Nothing-    , cardUrl               = Nothing-    , cardUid               = Nothing+    { cardName              = []+    , cardHonorificPrefix   = []+    , cardGivenName         = []+    , cardAdditionalName    = []+    , cardFamilyName        = []+    , cardSortString        = []+    , cardHonorificSuffix   = []+    , cardNickname          = []+    , cardEmail             = []+    , cardLogo              = []+    , cardPhoto             = []+    , cardUrl               = []+    , cardUid               = []     , cardCategory          = []-    , cardAdr               = Nowhere-    , cardTel               = Nothing-    , cardNote              = Nothing-    , cardBday              = Nothing-    , cardKey               = Nothing-    , cardOrg               = Nowhere-    , cardJobTitle          = Nothing-    , cardRole              = Nothing+    , cardAdr               = []+    , cardTel               = []+    , cardNote              = []+    , cardBday              = []+    , cardKey               = []+    , cardOrg               = []+    , cardJobTitle          = []+    , cardRole              = []     , cardImpp              = []-    , cardSex               = Nothing-    , cardGenderIdentity    = Nothing-    , cardAnniversary       = Nothing }+    , cardSex               = []+    , cardGenderIdentity    = []+    , cardAnniversary       = [] }  -- | A Cite type, based on h-cite <http://microformats.org/wiki/h-cite> data Cite = Cite-  { citeName        :: Maybe Text-  , citePublished   :: Maybe UTCTime-  , citeAuthor      :: Embedded Card-  , citeUrl         :: Maybe Text-  , citeUid         :: Maybe Text-  , citePublication :: Maybe Text-  , citeAccessed    :: Maybe UTCTime-  , citeContent     :: Maybe Text }+  { citeName        ∷ [Text]+  , citePublished   ∷ [UTCTime]+  , citeAuthor      ∷ [CardReference]+  , citeUrl         ∷ [Text]+  , citeUid         ∷ [Text]+  , citePublication ∷ [Text]+  , citeAccessed    ∷ [UTCTime]+  , citeContent     ∷ [ContentReference] }   deriving (Eq, Show, Data, Typeable)  instance Default Cite where   def = Cite-    { citeName        = Nothing-    , citePublished   = Nothing-    , citeAuthor      = Nowhere-    , citeUrl         = Nothing-    , citeUid         = Nothing-    , citePublication = Nothing-    , citeAccessed    = Nothing-    , citeContent     = Nothing }---- | A location reference.--- Left means a Card is used, which is often used for checkins.--- Right means an Adr is used. If you only have a Geo, wrap it in an Adr.-type LocationReference = Either (Embedded Card) (Embedded Adr)---- | An Entry reference.-type EntryReference = Either (Embedded Cite) (Link Entry)---- | A content reference.-type ContentReference = Either Pandoc Text+    { citeName        = []+    , citePublished   = []+    , citeAuthor      = []+    , citeUrl         = []+    , citeUid         = []+    , citePublication = []+    , citeAccessed    = []+    , citeContent     = [] }  -- | An Entry type, based on h-entry <http://microformats.org/wiki/h-entry> with popular extensions. data Entry = Entry-  { entryName           :: Maybe Text-  , entrySummary        :: Maybe Text-  , entryContent        :: Maybe ContentReference-  , entryPublished      :: Maybe UTCTime-  , entryUpdated        :: Maybe UTCTime-  , entryAuthor         :: Embedded Card-  , entryCategory       :: [Text]-  , entryUrl            :: Maybe Text-  , entryUid            :: Maybe Text-  , entryLocation       :: Maybe LocationReference-  , entryComments       :: [EntryReference]-  , entrySyndication    :: [Text]-  , entryInReplyTo      :: Maybe EntryReference-  , entryLikeOf         :: Maybe EntryReference-  , entryRepostOf       :: Maybe EntryReference }+  { entryName           ∷ [Text]+  , entrySummary        ∷ [Text]+  , entryContent        ∷ [ContentReference]+  , entryPublished      ∷ [UTCTime]+  , entryUpdated        ∷ [UTCTime]+  , entryAuthor         ∷ [CardReference]+  , entryCategory       ∷ [Text]+  , entryUrl            ∷ [Text]+  , entryUid            ∷ [Text]+  , entryLocation       ∷ [LocationReference]+  , entryComments       ∷ [EntryReference]+  , entrySyndication    ∷ [Text]+  , entryInReplyTo      ∷ [EntryReference]+  , entryLikeOf         ∷ [EntryReference]+  , entryRepostOf       ∷ [EntryReference] }   deriving (Eq, Show, Data, Typeable)  instance Default Entry where   def = Entry-    { entryName           = Nothing-    , entrySummary        = Nothing-    , entryContent        = Nothing-    , entryPublished      = Nothing-    , entryUpdated        = Nothing-    , entryAuthor         = Nowhere+    { entryName           = []+    , entrySummary        = []+    , entryContent        = []+    , entryPublished      = []+    , entryUpdated        = []+    , entryAuthor         = []     , entryCategory       = []-    , entryUrl            = Nothing-    , entryUid            = Nothing-    , entryLocation       = Nothing+    , entryUrl            = []+    , entryUid            = []+    , entryLocation       = []     , entryComments       = []     , entrySyndication    = []-    , entryInReplyTo      = Nothing-    , entryLikeOf         = Nothing-    , entryRepostOf       = Nothing }+    , entryInReplyTo      = []+    , entryLikeOf         = []+    , entryRepostOf       = [] }
library/Data/Microformats2/Aeson.hs view
@@ -1,5 +1,5 @@ {-# OPTIONS_GHC -fno-warn-orphans #-}-{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TemplateHaskell, Trustworthy #-}  -- | TH-derived Aeson instances for Data.Microformats2. module Data.Microformats2.Aeson () where@@ -7,7 +7,14 @@ import           Data.Microformats2 import           Data.Aeson.TH -$(deriveJSON defaultOptions ''Embedded)+-- Using "t" and "c" like Pandoc++$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''GeoReference)+$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''AdrReference)+$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''LocationReference)+$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''CardReference)+$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''EntryReference)+$(deriveJSON defaultOptions{sumEncoding = TaggedObject { tagFieldName = "t", contentsFieldName = "c" }} ''ContentReference) $(deriveJSON defaultOptions{fieldLabelModifier = drop 3} ''Geo) $(deriveJSON defaultOptions{fieldLabelModifier = drop 3} ''Adr) $(deriveJSON defaultOptions{fieldLabelModifier = drop 4} ''Card)
library/Data/Microformats2/Setters.hs view
@@ -1,15 +1,12 @@ {-# OPTIONS_GHC -fno-warn-orphans -fno-warn-missing-signatures #-}-{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TemplateHaskell, Trustworthy #-}  -- | TH-derived Setters instances for Data.Microformats2.-module Data.Microformats2.Setters (-  module Data.Microformats2.Setters-) where+module Data.Microformats2.Setters where  import           Data.Microformats2 import           Data.Setters -$(declareSetters ''Embedded) $(declareSetters ''Geo) $(declareSetters ''Adr) $(declareSetters ''Card)
microformats2-types.cabal view
@@ -1,5 +1,5 @@ name:            microformats2-types-version:         0.3.0+version:         0.4.0 synopsis:        Microformats 2 types (with Aeson instances) category:        Web homepage:        https://github.com/myfreeweb/microformats2-types@@ -13,7 +13,7 @@ extra-source-files:     README.md tested-with:-    GHC == 7.8.2+    GHC == 7.8.3  source-repository head     type: git@@ -24,10 +24,9 @@         base >= 4.0.0.0 && < 5       , text       , time >= 1.4.0 && < 2-      , either       , aeson       , pandoc-types-      , data-default+      , data-default-class       , setters     default-language: Haskell2010     exposed-modules: