packages feed

hasql-pool-1: src/library/exposed/Hasql/Pool/Config.hs

-- | DSL for construction of configs.
module Hasql.Pool.Config
  ( Config.Config,
    settings,
    Setting.Setting,
    Setting.size,
    Setting.acquisitionTimeout,
    Setting.agingTimeout,
    Setting.idlenessTimeout,
    Setting.staticConnectionSettings,
    Setting.dynamicConnectionSettings,
    Setting.observationHandler,
  )
where

import qualified Hasql.Pool.Config.Config as Config
import qualified Hasql.Pool.Config.Setting as Setting
import Hasql.Pool.Prelude

-- | Compile config from a list of settings.
-- Latter settings override the preceding in cases of conflicts.
settings :: [Setting.Setting] -> Config.Config
settings =
  foldr ($) Config.defaults . fmap Setting.apply