-- | TODO newtypes for everything module Ssb.Types.Link where import Ssb.Types.Key import Data.Aeson -- | A link to a message. type MessageLink = String -- | A link to a feed. newtype FeedLink = FeedLink { unFeedLink :: PublicKey } deriving (Show, Eq, Ord) instance FromJSON FeedLink where parseJSON d = FeedLink <$> parseJSON d instance ToJSON FeedLink where toJSON = toJSON . unFeedLink -- | A link to a blob. type BlobLink = String -- | A link to a message, feed, or blob. type GenericLink = String