packages feed

hw-mquery 0.2.1.1 → 0.2.1.2

raw patch · 6 files changed

+42/−34 lines, 6 filesdep +prettyprinterdep −ansi-wl-pprintdep ~doctestdep ~hedgehogPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: prettyprinter

Dependencies removed: ansi-wl-pprint

Dependency ranges changed: doctest, hedgehog

API changes (from Hackage documentation)

- HaskellWorks.Data.MQuery: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Base.String)
- HaskellWorks.Data.MQuery: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Integer.Type.Integer)
- HaskellWorks.Data.MQuery: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Types.Int)
- HaskellWorks.Data.MQuery: type family ArgOf a;
- HaskellWorks.Data.MQuery.Entry: instance (Text.PrettyPrint.ANSI.Leijen.Internal.Pretty k, Text.PrettyPrint.ANSI.Leijen.Internal.Pretty v) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Entry.Entry k v)
- HaskellWorks.Data.MQuery.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro (Data.DList.Internal.DList a))
- HaskellWorks.Data.MQuery.Micro: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro [a])
- HaskellWorks.Data.MQuery.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini [a])
- HaskellWorks.Data.MQuery.Mini: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini a) => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini (Data.DList.Internal.DList a))
- HaskellWorks.Data.MQuery.Row: instance Text.PrettyPrint.ANSI.Leijen.Internal.Pretty a => Text.PrettyPrint.ANSI.Leijen.Internal.Pretty (HaskellWorks.Data.MQuery.Row.Row (Data.DList.Internal.DList a))
+ HaskellWorks.Data.MQuery: instance Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Base.String)
+ HaskellWorks.Data.MQuery: instance Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Num.Integer.Integer)
+ HaskellWorks.Data.MQuery: instance Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.MQuery GHC.Types.Int)
+ HaskellWorks.Data.MQuery: type ArgOf a;
+ HaskellWorks.Data.MQuery.Entry: instance (Prettyprinter.Internal.Pretty k, Prettyprinter.Internal.Pretty v) => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Entry.Entry k v)
+ HaskellWorks.Data.MQuery.Micro: instance Prettyprinter.Internal.Pretty a => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro (Data.DList.Internal.DList a))
+ HaskellWorks.Data.MQuery.Micro: instance Prettyprinter.Internal.Pretty a => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro [a])
+ HaskellWorks.Data.MQuery.Mini: instance Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Micro.Micro a) => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini [a])
+ HaskellWorks.Data.MQuery.Mini: instance Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini a) => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Mini.Mini (Data.DList.Internal.DList a))
+ HaskellWorks.Data.MQuery.Row: instance Prettyprinter.Internal.Pretty a => Prettyprinter.Internal.Pretty (HaskellWorks.Data.MQuery.Row.Row (Data.DList.Internal.DList a))
- HaskellWorks.Data.MQuery.Micro: prettyKvs :: Pretty (Micro a) => [a] -> Doc
+ HaskellWorks.Data.MQuery.Micro: prettyKvs :: Pretty (Micro a) => [a] -> Doc ann
- HaskellWorks.Data.MQuery.Micro: prettyVs :: Pretty a => [a] -> Doc
+ HaskellWorks.Data.MQuery.Micro: prettyVs :: Pretty a => [a] -> Doc ann
- HaskellWorks.Data.MQuery.Row: prettyRowOfString :: Show a => Row (DList a) -> Doc
+ HaskellWorks.Data.MQuery.Row: prettyRowOfString :: Show a => Row (DList a) -> Doc ann

Files

hw-mquery.cabal view
@@ -1,7 +1,7 @@ cabal-version:  2.2  name:                   hw-mquery-version:                0.2.1.1+version:                0.2.1.2 synopsis:               Monadic query DSL description:            Please see README.md category:               Data@@ -22,11 +22,11 @@  common base                       { build-depends: base                       >= 4.11       && < 5      } -common ansi-wl-pprint             { build-depends: ansi-wl-pprint             >= 0.6.8      && < 0.7    }+common prettyprinter              { build-depends: prettyprinter              >= 1          && < 2      } common dlist                      { build-depends: dlist                      >= 0.8.0      && < 1.1    }-common doctest                    { build-depends: doctest                    >= 0.16.2     && < 0.21   }+common doctest                    { build-depends: doctest                    >= 0.16.2     && < 1      } common doctest-discover           { build-depends: doctest-discover           >= 0.2        && < 0.3    }-common hedgehog                   { build-depends: hedgehog                   >= 0.6.1      && < 1.2    }+common hedgehog                   { build-depends: hedgehog                   >= 0.6.1      && < 2      } common hspec                      { build-depends: hspec                      >= 2.6.0      && < 3      } common hw-hspec-hedgehog          { build-depends: hw-hspec-hedgehog          >= 0.1.0.5    && < 0.2    } common lens                       { build-depends: lens                       >= 4.17       && < 6      }@@ -40,7 +40,7 @@  library   import:               base, config-                      , ansi-wl-pprint+                      , prettyprinter                       , dlist                       , lens   hs-source-dirs:       src
src/HaskellWorks/Data/MQuery.hs view
@@ -13,7 +13,7 @@ import HaskellWorks.Data.MQuery.Entry import HaskellWorks.Data.MQuery.Row import HaskellWorks.Data.MQuery.ToBool-import Text.PrettyPrint.ANSI.Leijen    hiding ((<>))+import Prettyprinter  import qualified Data.DList as DL 
src/HaskellWorks/Data/MQuery/Entry.hs view
@@ -1,8 +1,10 @@+{-# LANGUAGE OverloadedStrings #-}+ module HaskellWorks.Data.MQuery.Entry where -import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter  data Entry k v = Entry k v  instance (Pretty k, Pretty v) => Pretty (Entry k v) where-  pretty (Entry k v) = pretty k <> text ": " <> pretty v+  pretty (Entry k v) = pretty k <> ": " <> pretty v
src/HaskellWorks/Data/MQuery/Micro.hs view
@@ -1,34 +1,37 @@ {-# LANGUAGE FlexibleContexts    #-} {-# LANGUAGE FlexibleInstances   #-} {-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings   #-}  module HaskellWorks.Data.MQuery.Micro where -import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter+import Prettyprinter.Render.Text + import qualified Data.DList as DL  newtype Micro a = Micro a -prettyVs :: Pretty a => [a] -> Doc-prettyVs (kv:kvs) = pretty kv <> foldl (<>) empty ((\jv -> text ", " <> pretty jv) `map` kvs)-prettyVs []       = empty+prettyVs :: Pretty a => [a] -> Doc ann+prettyVs (kv:kvs) = pretty kv <> foldl (<>) mempty ((\jv -> ", " <> pretty jv) `map` kvs)+prettyVs []       = mempty  putPretty :: Pretty a => a -> IO () putPretty a = putDoc (pretty a <> hardline) -prettyKvs :: Pretty (Micro a) => [a] -> Doc-prettyKvs (kv:kvs) = pretty (Micro kv) <> foldl (<>) empty ((\jv -> text ", " <> pretty (Micro jv)) `map` kvs)-prettyKvs []       = empty+prettyKvs :: Pretty (Micro a) => [a] -> Doc ann+prettyKvs (kv:kvs) = pretty (Micro kv) <> foldl (<>) mempty ((\jv -> ", " <> pretty (Micro jv)) `map` kvs)+prettyKvs []       = mempty  instance Pretty a => Pretty (Micro [a]) where   pretty (Micro xs) = case length xs of-    xsLen | xsLen == 0  -> text "[]"-    xsLen | xsLen <= 10 -> text "[" <> prettyVs xs <> text "]"-    _                   -> text "[" <> prettyVs (take 10 xs) <> text ", ..]"+    xsLen | xsLen == 0  -> "[]"+    xsLen | xsLen <= 10 -> "[" <> prettyVs xs <> "]"+    _                   -> "[" <> prettyVs (take 10 xs) <> ", ..]"  instance Pretty a => Pretty (Micro (DL.DList a)) where   pretty (Micro dxs) = case DL.toList dxs of-    xs@(_:_:_:_:_:_:_:_:_:_:_:_:_) -> text "[" <> prettyVs (take 50 xs) <> text ", ..]"-    []                             -> text "[]"-    xs                             -> text "[" <> prettyVs          xs  <> text "]"+    xs@(_:_:_:_:_:_:_:_:_:_:_:_:_) -> "[" <> prettyVs (take 50 xs) <> ", ..]"+    []                             -> "[]"+    xs                             -> "[" <> prettyVs          xs  <> "]"
src/HaskellWorks/Data/MQuery/Mini.hs view
@@ -1,20 +1,21 @@ {-# LANGUAGE FlexibleContexts  #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings #-}  module HaskellWorks.Data.MQuery.Mini where  import HaskellWorks.Data.MQuery.AtLeastSize import HaskellWorks.Data.MQuery.Micro-import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter  import qualified Data.DList as DL  newtype Mini a = Mini a  instance Pretty (Micro a) => Pretty (Mini [a]) where-  pretty (Mini xs) | xs `atLeastSize` 11  = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text ", ..]"-  pretty (Mini xs) | xs `atLeastSize` 1   = text "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> text "]"-  pretty (Mini _ ) = text "[]"+  pretty (Mini xs) | xs `atLeastSize` 11  = "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> ", ..]"+  pretty (Mini xs) | xs `atLeastSize` 1   = "[" <> nest 2 (prettyVs (take 10 (Micro `map` xs))) <> "]"+  pretty (Mini _ ) = "[]"  instance Pretty (Mini a) => Pretty (Mini (DL.DList a)) where-  pretty (Mini xs) = vcat (punctuate (text ",") ((pretty . Mini) `map` take 10 (DL.toList xs)))+  pretty (Mini xs) = vcat (punctuate "," ((pretty . Mini) `map` take 10 (DL.toList xs)))
src/HaskellWorks/Data/MQuery/Row.hs view
@@ -1,9 +1,10 @@ {-# LANGUAGE FlexibleContexts  #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE OverloadedStrings #-}  module HaskellWorks.Data.MQuery.Row where -import Text.PrettyPrint.ANSI.Leijen+import Prettyprinter  import qualified Data.DList as DL @@ -12,11 +13,12 @@ data Row a = Row MaxChars a  instance Pretty a => Pretty (Row (DL.DList a)) where-  pretty (Row maxChars xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)-    where prettyRows :: [Doc]-          prettyRows = (\row -> text (take maxChars (displayS (renderCompact (pretty row)) []))) `map` DL.toList xs+  -- TODO implement max chars for Row+  pretty (Row _ xs) = vcat (("==> " <>) `map` prettyRows)+    where prettyRows :: [Doc ann]+          prettyRows = fmap pretty $ DL.toList xs -prettyRowOfString :: Show a => Row (DL.DList a) -> Doc-prettyRowOfString (Row _ xs) = vcat (((bold . yellow) (text "==> ") <>) `map` prettyRows)-  where prettyRows :: [Doc]-        prettyRows = (text . show) `map` DL.toList xs+prettyRowOfString :: Show a => Row (DL.DList a) -> Doc ann+prettyRowOfString (Row _ xs) = vcat (("==> " <>) `map` prettyRows)+  where prettyRows :: [Doc ann]+        prettyRows = (pretty . show) `map` DL.toList xs