postgresql-types 0.1.1 → 0.1.1.1
raw patch · 4 files changed
+20/−8 lines, 4 filesdep −invariantdep −profunctorsdep −quickcheck-extras
Dependencies removed: invariant, profunctors, quickcheck-extras
Files
- postgresql-types.cabal +2/−4
- src/library/PostgresqlTypes/Multirange.hs +2/−2
- src/library/PostgresqlTypes/Multirange/QuickCheckGen.hs +16/−0
- src/library/PostgresqlTypes/Prelude.hs +0/−2
postgresql-types.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: postgresql-types-version: 0.1.1+version: 0.1.1.1 category: PostgreSQL, Codecs synopsis: Precise PostgreSQL types representation and driver-agnostic codecs description:@@ -144,6 +144,7 @@ other-modules: PostgresqlTypes.Multirange.List+ PostgresqlTypes.Multirange.QuickCheckGen PostgresqlTypes.Numeric.Integer PostgresqlTypes.Numeric.Scientific PostgresqlTypes.Prelude@@ -160,16 +161,13 @@ bytestring >=0.10 && <0.13, containers >=0.6 && <0.9, hashable >=1.3 && <2,- invariant ^>=0.6.4, jsonifier ^>=0.2.1.3, mtl >=2.2 && <3, postgresql-types:jsonifier-aeson, postgresql-types:time-extras, postgresql-types-algebra ^>=0.1,- profunctors ^>=5.6 && <6, ptr-peeker ^>=0.1, ptr-poker ^>=0.1.3,- quickcheck-extras ^>=0.1, scientific >=0.3 && <1, tagged ^>=0.8.9, text >=1.2 && <3,
src/library/PostgresqlTypes/Multirange.hs view
@@ -16,13 +16,13 @@ import qualified Data.Vector as Vector import PostgresqlTypes.Algebra import qualified PostgresqlTypes.Multirange.List+import qualified PostgresqlTypes.Multirange.QuickCheckGen as QuickCheckGen import PostgresqlTypes.Prelude import PostgresqlTypes.Range (Range) import qualified PostgresqlTypes.Range as Range import PostgresqlTypes.Via import qualified PtrPeeker import qualified PtrPoker.Write as Write-import qualified QuickCheckExtras.Gen import qualified Test.QuickCheck as QuickCheck import qualified TextBuilder @@ -108,7 +108,7 @@ numRanges <- QuickCheck.chooseInt (0, max 0 size) let numBounds = numRanges * 2 + bool 1 0 lowerInfinity + bool 1 0 upperInfinity- bounds <- QuickCheckExtras.Gen.setOfSize numBounds (arbitrary @a)+ bounds <- QuickCheckGen.setOfSize numBounds (arbitrary @a) let preparedBounds = mconcat [ if lowerInfinity then [Nothing] else [],
+ src/library/PostgresqlTypes/Multirange/QuickCheckGen.hs view
@@ -0,0 +1,16 @@+module PostgresqlTypes.Multirange.QuickCheckGen+where++import PostgresqlTypes.Prelude+import Test.QuickCheck+import qualified Data.Set as Set++-- | Attention. This generator may run indefinitely if the 'elementGen' has too small variety of possible values.+setOfSize :: (Ord a) => Int -> Gen a -> Gen (Set.Set a)+setOfSize n elementGen = go Set.empty 0+ where+ go !currentSet !size+ | size >= n = pure currentSet+ | otherwise = do+ newElement <- suchThat elementGen \element -> Set.notMember element currentSet+ go (Set.insert newElement currentSet) (succ size)
src/library/PostgresqlTypes/Prelude.hs view
@@ -32,7 +32,6 @@ import Data.Functor as Exports hiding (unzip) import Data.Functor.Contravariant as Exports import Data.Functor.Identity as Exports-import Data.Functor.Invariant as Exports import Data.Hashable as Exports (Hashable (..)) import Data.IORef as Exports import Data.Int as Exports@@ -41,7 +40,6 @@ import Data.Maybe as Exports import Data.Monoid as Exports hiding (First (..), Last (..), (<>)) import Data.Ord as Exports-import Data.Profunctor as Exports (Profunctor (..)) import Data.Proxy as Exports import Data.Ratio as Exports import Data.STRef as Exports