{-# LANGUAGE OverloadedStrings #-} -- | -- Module : Web.HackerNews -- Copyright : (c) David Johnson, Konstantin Zudov, 2014 -- Maintainer : djohnson.m@gmail.com -- Stability : experimental -- Portability : POSIX module Web.HackerNews ( -- * Hacker News Monad hackerNews -- * API Calls , getItem , getStory , getComment , getPoll , getPollOpt , getUser , getJob , getTopStories , getMaxItem , getUpdates -- * Types , HackerNews , HackerNewsError (..) , Item (..) , ItemId (..) , Comment (..) , CommentId (..) , Poll (..) , PollId (..) , PollOpt (..) , PollOptId (..) , Story (..) , StoryId (..) , User (..) , UserId (..) , Job (..) , JobId (..) , Update (..) , MaxItem , TopStories ) where import Web.HackerNews.Types import Web.HackerNews.Client (HackerNews, hackerNews, HackerNewsError(..)) ------------------------------------------------------------------------------ -- | Retrieve a `Item` by `ItemId` getItem :: ItemId -> HackerNews Item getItem = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a `Story` by `StoryId` getStory :: StoryId -> HackerNews Story getStory = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a `Comment` by `CommentId` getComment :: CommentId -> HackerNews Comment getComment = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a `Poll` by `PollId` getPoll :: PollId -> HackerNews Poll getPoll = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a `PollOpt` by `PollOptId` getPollOpt :: PollOptId -> HackerNews PollOpt getPollOpt = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a `User` by `UserId` getUser :: UserId -> HackerNews User getUser = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve a Job getJob :: JobId -> HackerNews Job getJob = getEndpoint ------------------------------------------------------------------------------ -- | Retrieve the Top Stories on Hacker News getTopStories :: HackerNews TopStories getTopStories = getEndpoint TopStoriesId ------------------------------------------------------------------------------ -- | Retrieve the largest ItemId getMaxItem :: HackerNews MaxItem getMaxItem = getEndpoint MaxItemId ------------------------------------------------------------------------------ -- | Retrieve the latest updates getUpdates :: HackerNews Update getUpdates = getEndpoint UpdateId