module Strive.Internal.Options
( PaginationOptions (..),
)
where
import Data.Default (Default, def)
import Network.HTTP.Types (QueryLike, toQuery)
data =
{ :: Integer,
:: Integer
}
deriving (Int -> PaginationOptions -> ShowS
[PaginationOptions] -> ShowS
PaginationOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PaginationOptions] -> ShowS
$cshowList :: [PaginationOptions] -> ShowS
show :: PaginationOptions -> String
$cshow :: PaginationOptions -> String
showsPrec :: Int -> PaginationOptions -> ShowS
$cshowsPrec :: Int -> PaginationOptions -> ShowS
Show)
instance Default PaginationOptions where
def :: PaginationOptions
def =
PaginationOptions
{ paginationOptions_page :: Integer
paginationOptions_page = Integer
1,
paginationOptions_perPage :: Integer
paginationOptions_perPage = Integer
200
}
instance QueryLike PaginationOptions where
toQuery :: PaginationOptions -> Query
toQuery PaginationOptions
options =
forall a. QueryLike a => a -> Query
toQuery
[ (String
"page", forall a. Show a => a -> String
show (PaginationOptions -> Integer
paginationOptions_page PaginationOptions
options)),
(String
"per_page", forall a. Show a => a -> String
show (PaginationOptions -> Integer
paginationOptions_perPage PaginationOptions
options))
]