module Servant.Util.Dummy.Pagination ( paginate ) where import qualified Data.List as L import Universum import Servant.Util.Combinators.Pagination import Servant.Util.Internal.Util paginate :: PaginationSpec -> [a] -> [a] paginate :: PaginationSpec -> [a] -> [a] paginate PaginationSpec{Natural Maybe (Positive Natural) psLimit :: PaginationSpec -> Maybe (Positive Natural) psOffset :: PaginationSpec -> Natural psLimit :: Maybe (Positive Natural) psOffset :: Natural ..} = ([a] -> [a]) -> (Positive Natural -> [a] -> [a]) -> Maybe (Positive Natural) -> [a] -> [a] forall b a. b -> (a -> b) -> Maybe a -> b maybe [a] -> [a] forall a. a -> a id (Natural -> [a] -> [a] forall i a. Integral i => i -> [a] -> [a] L.genericTake (Natural -> [a] -> [a]) -> (Positive Natural -> Natural) -> Positive Natural -> [a] -> [a] forall b c a. (b -> c) -> (a -> b) -> a -> c . Positive Natural -> Natural forall a. Positive a -> a unPositive) Maybe (Positive Natural) psLimit ([a] -> [a]) -> ([a] -> [a]) -> [a] -> [a] forall b c a. (b -> c) -> (a -> b) -> a -> c . Natural -> [a] -> [a] forall i a. Integral i => i -> [a] -> [a] L.genericDrop Natural psOffset