pgmq-effectful-0.7.0.0: test/UmbrellaExportsSpec.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-}
-- Compile witnesses: this module intentionally uses only the public umbrella.
module UmbrellaExportsSpec (grouped, polling, creation, arguments, metric, classifiers, inspection, lenientMetrics, inspectionArguments) where
import Data.Int (Int32, Int64)
import Data.Text (Text)
import Data.Vector (Vector)
import Effectful (Eff, (:>))
import Pgmq.Effectful
grouped :: (Pgmq :> es) => ReadGrouped -> [Eff es (Vector Message)]
grouped args = [readGrouped args, readGroupedRoundRobin args, readGroupedHead args]
polling :: (Pgmq :> es) => ReadGroupedWithPoll -> [Eff es (Vector Message)]
polling args = [readGroupedWithPoll args, readGroupedRoundRobinWithPoll args, readGroupedHeadWithPoll args]
creation :: (Pgmq :> es) => CreatePartitionedQueue -> Int32 -> [Eff es ()]
creation args n = [createPartitionedQueue args, createPartitionedQueueWithPremake args n]
arguments :: QueueName -> (ReadGrouped, ReadGroupedWithPoll, CreatePartitionedQueue)
arguments q = (ReadGrouped q 30 10, ReadGroupedWithPoll q 30 10 5 100, CreatePartitionedQueue q "100" "1000")
metric :: QueueMetrics -> Maybe Int64
metric = defaultPartitionLength
classifiers :: PgmqRuntimeError -> (Bool, Bool)
classifiers err = (isTransient err, isAmbiguousReply err)
inspection :: (Pgmq :> es) => PeekMessages -> LookupMessage -> (Eff es (Vector Message), Eff es (Vector ArchivedMessage), Eff es (Maybe Message), Eff es (Maybe ArchivedMessage))
inspection page one = (peekMessages page, peekArchivedMessages page, lookupMessage one, lookupArchivedMessage one)
lenientMetrics :: (Pgmq :> es) => Text -> Eff es QueueMetrics
lenientMetrics = queueMetricsUnvalidated
inspectionArguments :: Text -> (PeekMessages, LookupMessage)
inspectionArguments q = (PeekMessages q Nothing 50, LookupMessage q (MessageId 1))