optima-for-hasql 0.1.0.1 → 0.2
raw patch · 6 files changed
+121/−140 lines, 6 filesdep ~bytestringdep ~hasqldep ~hasql-poolsetup-changedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bytestring, hasql, hasql-pool, text
API changes (from Hackage documentation)
- OptimaForHasql.Param: database :: Param ByteString
- OptimaForHasql.Param: host :: Param ByteString
- OptimaForHasql.Param: password :: Param ByteString
- OptimaForHasql.Param: poolSize :: Param Int
- OptimaForHasql.Param: poolTimeout :: Param NominalDiffTime
- OptimaForHasql.Param: port :: Param Word16
- OptimaForHasql.Param: user :: Param ByteString
- OptimaForHasql.ParamGroup: poolSettings :: ParamGroup Settings
- OptimaForHasql.Params: poolSettings :: Params Settings
+ OptimaForHasql.ParamGroup: poolAcquirer :: ParamGroup (IO Pool)
+ OptimaForHasql.Params: poolAcquirer :: Params (IO Pool)
Files
- Setup.hs +0/−2
- library/OptimaForHasql/Param.hs +50/−52
- library/OptimaForHasql/ParamGroup.hs +22/−24
- library/OptimaForHasql/Params.hs +22/−24
- library/OptimaForHasql/Prelude.hs +16/−28
- optima-for-hasql.cabal +11/−10
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
library/OptimaForHasql/Param.hs view
@@ -1,42 +1,43 @@-module OptimaForHasql.Param-where+module OptimaForHasql.Param where -import OptimaForHasql.Prelude-import Optima import qualified Data.Text.Encoding as Text-+import Optima+import OptimaForHasql.Prelude -{-|-Amount of connections in the pool.--}+-- |+-- Amount of connections in the pool. poolSize :: Param Int poolSize =- value "Amount of connections in the pool"- (showable 1) unformatted implicitlyParsed+ value+ "Amount of connections in the pool"+ (showable 1)+ unformatted+ implicitlyParsed -{-|-Amount of seconds for which the unused connections are kept open.--}-poolTimeout :: Param NominalDiffTime-poolTimeout =- value "Amount of seconds for which the unused connections are kept open"- (showable 10) unformatted implicitlyParsed+-- |+-- How long it takes until the attempt to connect is considered timed out.+-- In microseconds.+poolAcquisitionTimeout :: Param (Maybe Int)+poolAcquisitionTimeout =+ value+ "How long it takes until the attempt to connect is considered timed out"+ (showable (Just 10))+ unformatted+ (optional (fmap (round . (*) 1000000 . realToFrac @DiffTime @Rational) implicitlyParsed)) -{-|-Server host.--}+-- |+-- Server host. host :: Param ByteString host = fmap Text.encodeUtf8 $- value- "Server host"- (explicitlyRepresented id "127.0.0.1")- unformatted- implicitlyParsed+ value+ "Server host"+ (explicitlyRepresented id "127.0.0.1")+ unformatted+ implicitlyParsed -{-|-Server port.--}+-- |+-- Server port. port :: Param Word16 port = value@@ -45,38 +46,35 @@ unformatted implicitlyParsed -{-|-Username.--}+-- |+-- Username. user :: Param ByteString user = fmap Text.encodeUtf8 $- value- "Username"- (explicitlyRepresented id "postgres")- unformatted- implicitlyParsed+ value+ "Username"+ (explicitlyRepresented id "postgres")+ unformatted+ implicitlyParsed -{-|-Password.--}+-- |+-- Password. password :: Param ByteString password = fmap Text.encodeUtf8 $- value- "Password"- (explicitlyRepresented id "")- unformatted- implicitlyParsed+ value+ "Password"+ (explicitlyRepresented id "")+ unformatted+ implicitlyParsed -{-|-Database name.--}+-- |+-- Database name. database :: Param ByteString database = fmap Text.encodeUtf8 $- value- "Database name"- (explicitlyRepresented id "postgres")- unformatted- implicitlyParsed+ value+ "Database name"+ (explicitlyRepresented id "postgres")+ unformatted+ implicitlyParsed
library/OptimaForHasql/ParamGroup.hs view
@@ -1,31 +1,29 @@-module OptimaForHasql.ParamGroup-where+module OptimaForHasql.ParamGroup where -import OptimaForHasql.Prelude-import Optima-import qualified Hasql.Pool as Pool import qualified Hasql.Connection as Connection+import qualified Hasql.Pool as Pool+import Optima import qualified OptimaForHasql.Param as Param-+import OptimaForHasql.Prelude -{-|-Parser of pool settings as a parameter group.--}-poolSettings :: ParamGroup Pool.Settings-poolSettings =- (,,) <$>- member "pool-size" Param.poolSize <*>- member "pool-timeout" Param.poolTimeout <*>- connectionSettings+-- |+-- Parser of pool settings as a parameter group.+--+-- Produces a pool acquisition action.+poolAcquirer :: ParamGroup (IO Pool.Pool)+poolAcquirer =+ Pool.acquire+ <$> member "pool-size" Param.poolSize+ <*> member "pool-acquisition-timeout" Param.poolAcquisitionTimeout+ <*> connectionSettings -{-|-Parser of connection settings as a parameter group.--}+-- |+-- Parser of connection settings as a parameter group. connectionSettings :: ParamGroup Connection.Settings connectionSettings =- Connection.settings <$> - member "host" Param.host <*>- member "port" Param.port <*>- member "user" Param.user <*>- member "password" Param.password <*>- member "database" Param.database+ Connection.settings+ <$> member "host" Param.host+ <*> member "port" Param.port+ <*> member "user" Param.user+ <*> member "password" Param.password+ <*> member "database" Param.database
library/OptimaForHasql/Params.hs view
@@ -1,31 +1,29 @@-module OptimaForHasql.Params-where+module OptimaForHasql.Params where -import OptimaForHasql.Prelude-import Optima-import qualified Hasql.Pool as Pool import qualified Hasql.Connection as Connection+import qualified Hasql.Pool as Pool+import Optima import qualified OptimaForHasql.Param as Param-+import OptimaForHasql.Prelude -{-|-Parser of pool settings as top-level parameters.--}-poolSettings :: Params Pool.Settings-poolSettings =- (,,) <$>- param Nothing "pool-size" Param.poolSize <*>- param Nothing "pool-timeout" Param.poolTimeout <*>- connectionSettings+-- |+-- Parser of pool settings as top-level parameters.+--+-- Produces a pool acquisition action.+poolAcquirer :: Params (IO Pool.Pool)+poolAcquirer =+ Pool.acquire+ <$> param Nothing "pool-size" Param.poolSize+ <*> param Nothing "pool-acquisition-timeout" Param.poolAcquisitionTimeout+ <*> connectionSettings -{-|-Parser of connection settings as top-level parameters.--}+-- |+-- Parser of connection settings as top-level parameters. connectionSettings :: Params Connection.Settings connectionSettings =- Connection.settings <$> - param Nothing "host" Param.host <*>- param Nothing "port" Param.port <*>- param Nothing "user" Param.user <*>- param Nothing "password" Param.password <*>- param Nothing "database" Param.database+ Connection.settings+ <$> param Nothing "host" Param.host+ <*> param Nothing "port" Param.port+ <*> param Nothing "user" Param.user+ <*> param Nothing "password" Param.password+ <*> param Nothing "database" Param.database
library/OptimaForHasql/Prelude.hs view
@@ -1,24 +1,22 @@ module OptimaForHasql.Prelude-( - module Exports,-)+ ( module Exports,+ ) where --- base-------------------------- import Control.Applicative as Exports import Control.Arrow as Exports hiding (first, second) import Control.Category as Exports import Control.Concurrent as Exports import Control.Exception as Exports-import Control.Monad as Exports hiding (fail, mapM_, sequence_, forM_, msum, mapM, sequence, forM)-import Control.Monad.IO.Class as Exports+import Control.Monad as Exports hiding (fail, forM, forM_, mapM, mapM_, msum, sequence, sequence_) import Control.Monad.Fail as Exports import Control.Monad.Fix as Exports hiding (fix)+import Control.Monad.IO.Class as Exports import Control.Monad.ST as Exports import Data.Bifunctor as Exports import Data.Bits as Exports import Data.Bool as Exports+import Data.ByteString as Exports (ByteString) import Data.Char as Exports import Data.Coerce as Exports import Data.Complex as Exports@@ -31,11 +29,11 @@ import Data.Functor as Exports import Data.Functor.Compose as Exports import Data.Functor.Contravariant as Exports-import Data.Int as Exports import Data.IORef as Exports+import Data.Int as Exports import Data.Ix as Exports-import Data.List as Exports hiding (sortOn, isSubsequenceOf, uncons, concat, foldr, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, find, maximumBy, minimumBy, mapAccumL, mapAccumR, foldl')-import Data.List.NonEmpty as Exports (NonEmpty(..))+import Data.List as Exports hiding (all, and, any, concat, concatMap, elem, find, foldl, foldl', foldl1, foldr, foldr1, isSubsequenceOf, mapAccumL, mapAccumR, maximum, maximumBy, minimum, minimumBy, notElem, or, product, sortOn, sum, uncons)+import Data.List.NonEmpty as Exports (NonEmpty (..)) import Data.Maybe as Exports import Data.Monoid as Exports hiding (Alt) import Data.Ord as Exports@@ -43,6 +41,8 @@ import Data.Ratio as Exports import Data.STRef as Exports import Data.String as Exports+import Data.Text as Exports (Text)+import Data.Time as Exports import Data.Traversable as Exports import Data.Tuple as Exports import Data.Unique as Exports@@ -54,12 +54,11 @@ import Foreign.Ptr as Exports import Foreign.StablePtr as Exports import Foreign.Storable as Exports-import GHC.Conc as Exports hiding (orElse, withMVar, threadWaitWriteSTM, threadWaitWrite, threadWaitReadSTM, threadWaitRead)-import GHC.Exts as Exports (lazy, inline, sortWith, groupWith)+import GHC.Conc as Exports hiding (orElse, threadWaitRead, threadWaitReadSTM, threadWaitWrite, threadWaitWriteSTM, withMVar)+import GHC.Exts as Exports (groupWith, inline, lazy, sortWith) import GHC.Generics as Exports (Generic) import GHC.IO.Exception as Exports import Numeric as Exports-import Prelude as Exports hiding (fail, concat, foldr, mapM_, sequence_, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, mapM, sequence, id, (.)) import System.Environment as Exports import System.Exit as Exports import System.IO as Exports (Handle, hClose)@@ -69,19 +68,8 @@ import System.Mem.StableName as Exports import System.Timeout as Exports import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)-import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readPrec_to_P, readP_to_Prec, readPrec_to_S, readS_to_Prec)-import Text.Printf as Exports (printf, hPrintf)-import Text.Read as Exports (Read(..), readMaybe, readEither)+import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readP_to_Prec, readPrec_to_P, readPrec_to_S, readS_to_Prec)+import Text.Printf as Exports (hPrintf, printf)+import Text.Read as Exports (Read (..), readEither, readMaybe) import Unsafe.Coerce as Exports---- text---------------------------import Data.Text as Exports (Text)---- bytestring---------------------------import Data.ByteString as Exports (ByteString)---- time---------------------------import Data.Time as Exports+import Prelude as Exports hiding (all, and, any, concat, concatMap, elem, fail, foldl, foldl1, foldr, foldr1, id, mapM, mapM_, maximum, minimum, notElem, or, product, sequence, sequence_, sum, (.))
optima-for-hasql.cabal view
@@ -1,5 +1,8 @@+cabal-version: 3.0+ name: optima-for-hasql-version: 0.1.0.1+version: 0.2+ synopsis: Command-line arguments parsing for Hasql category: Command Line, Options, Hasql homepage: https://github.com/nikita-volkov/optima-for-hasql@@ -9,8 +12,6 @@ copyright: (c) 2019 Nikita Volkov license: MIT license-file: LICENSE-build-type: Simple-cabal-version: >=1.10 source-repository head type: git@@ -18,19 +19,19 @@ library hs-source-dirs: library- default-extensions: BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples+ default-extensions: BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeApplications, TypeFamilies, TypeOperators, UnboxedTuples default-language: Haskell2010 exposed-modules:- OptimaForHasql.Param OptimaForHasql.ParamGroup OptimaForHasql.Params other-modules:+ OptimaForHasql.Param OptimaForHasql.Prelude build-depends: base >=4.9 && <5,- bytestring >=0.10 && <0.11,- hasql >=1.4 && <1.5,- hasql-pool >=0.5.1 && <0.6,+ bytestring >=0.10 && <0.12,+ hasql >=1.6 && <1.7,+ hasql-pool >=0.8 && <0.9, optima >=0.4 && <0.5,- text >=1 && <2,- time >=1.6 && <2+ text >=1 && <3,+ time >=1.6 && <2,