postgresql-syntax 0.4.1.1 → 0.4.1.2
raw patch · 4 files changed
+69/−68 lines, 4 filesdep ~text-builder
Dependency ranges changed: text-builder
Files
- library/PostgresqlSyntax/Extras/TextBuilder.hs +5/−5
- library/PostgresqlSyntax/Parsing.hs +3/−3
- library/PostgresqlSyntax/Rendering.hs +17/−16
- postgresql-syntax.cabal +44/−44
library/PostgresqlSyntax/Extras/TextBuilder.hs view
@@ -1,16 +1,16 @@ module PostgresqlSyntax.Extras.TextBuilder where import PostgresqlSyntax.Prelude-import Text.Builder+import TextBuilder -char7 :: Char -> Builder+char7 :: Char -> TextBuilder char7 = char -intDec :: Int -> Builder+intDec :: Int -> TextBuilder intDec = decimal -int64Dec :: Int64 -> Builder+int64Dec :: Int64 -> TextBuilder int64Dec = decimal -doubleDec :: Double -> Builder+doubleDec :: Double -> TextBuilder doubleDec = fromString . show
library/PostgresqlSyntax/Parsing.hs view
@@ -40,9 +40,9 @@ import qualified PostgresqlSyntax.Predicate as Predicate import PostgresqlSyntax.Prelude hiding (bit, expr, filter, fromList, head, many, option, some, sortBy, tail, try) import qualified PostgresqlSyntax.Validation as Validation-import qualified Text.Builder as TextBuilder import qualified Text.Megaparsec as Megaparsec import qualified Text.Megaparsec.Char as MegaparsecChar+import qualified TextBuilder -- $setup -- >>> testParser parser = either putStr print . run parser@@ -111,7 +111,7 @@ collectChunks (bdr <> TextBuilder.char q) finish bdr = do MegaparsecChar.char q- return (TextBuilder.run bdr)+ return (TextBuilder.toText bdr) in collectChunks mempty return tail @@ -752,7 +752,7 @@ funcAliasClause = asum [ do- keyword "as"+ _ <- keyword "as" asum [ do space
library/PostgresqlSyntax/Rendering.hs view
@@ -1,6 +1,10 @@ {-# OPTIONS_GHC -Wno-missing-signatures -Wno-dodgy-imports #-} -module PostgresqlSyntax.Rendering where+module PostgresqlSyntax.Rendering+ ( toText,+ module PostgresqlSyntax.Rendering,+ )+where import qualified Data.Text as Text import qualified Data.Text.Encoding as Text@@ -8,40 +12,37 @@ import qualified PostgresqlSyntax.Extras.NonEmpty as NonEmpty import PostgresqlSyntax.Extras.TextBuilder import PostgresqlSyntax.Prelude hiding (aExpr, bit, fromList, many, option, sortBy, try)-import Text.Builder hiding (char7, doubleDec, int64Dec, intDec)+import TextBuilder hiding (char7, doubleDec, int64Dec, intDec) -- * Execution -toByteString :: Builder -> ByteString+toByteString :: TextBuilder -> ByteString toByteString = Text.encodeUtf8 . toText -toText :: Builder -> Text-toText = run- -- * Helpers -commaNonEmpty :: (a -> Builder) -> NonEmpty a -> Builder+commaNonEmpty :: (a -> TextBuilder) -> NonEmpty a -> TextBuilder commaNonEmpty = NonEmpty.intersperseFoldMap ", " -spaceNonEmpty :: (a -> Builder) -> NonEmpty a -> Builder+spaceNonEmpty :: (a -> TextBuilder) -> NonEmpty a -> TextBuilder spaceNonEmpty = NonEmpty.intersperseFoldMap " " -lexemes :: [Builder] -> Builder+lexemes :: [TextBuilder] -> TextBuilder lexemes = mconcat . intersperse " " -optLexemes :: [Maybe Builder] -> Builder+optLexemes :: [Maybe TextBuilder] -> TextBuilder optLexemes = lexemes . catMaybes -inParens :: Builder -> Builder+inParens :: TextBuilder -> TextBuilder inParens a = "(" <> a <> ")" -inBrackets :: Builder -> Builder+inBrackets :: TextBuilder -> TextBuilder inBrackets a = "[" <> a <> "]" -prefixMaybe :: (a -> Builder) -> Maybe a -> Builder+prefixMaybe :: (a -> TextBuilder) -> Maybe a -> TextBuilder prefixMaybe a = foldMap (flip mappend " " . a) -suffixMaybe :: (a -> Builder) -> Maybe a -> Builder+suffixMaybe :: (a -> TextBuilder) -> Maybe a -> TextBuilder suffixMaybe a = foldMap (mappend " " . a) -- * Statements@@ -858,10 +859,10 @@ -- * Types -typename (Typename a b c d) =+typename (Typename a b _ d) = bool "" "SETOF " a <> simpleTypename b <> foldMap typenameArrayDimensionsWithQuestionMark d -typenameArrayDimensionsWithQuestionMark (a, b) =+typenameArrayDimensionsWithQuestionMark (a, _) = typenameArrayDimensions a typenameArrayDimensions = \case
postgresql-syntax.cabal view
@@ -1,30 +1,28 @@ cabal-version: 3.0-name: postgresql-syntax-version: 0.4.1.1-category: Database, PostgreSQL, Parsing-synopsis: PostgreSQL AST parsing and rendering+name: postgresql-syntax+version: 0.4.1.2+category: Database, PostgreSQL, Parsing+synopsis: PostgreSQL AST parsing and rendering description: Postgres syntax tree and related utils extracted from the \"hasql-th\" package. The API is in a rather raw \"guts out\" state with most documentation lacking, but the codebase is well tested. -homepage: https://github.com/nikita-volkov/postgresql-syntax-bug-reports: https://github.com/nikita-volkov/postgresql-syntax/issues-author: Nikita Volkov <nikita.y.volkov@mail.ru>-maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>-copyright: (c) 2020, Nikita Volkov-license: MIT-license-file: LICENSE+homepage: https://github.com/nikita-volkov/postgresql-syntax+bug-reports: https://github.com/nikita-volkov/postgresql-syntax/issues+author: Nikita Volkov <nikita.y.volkov@mail.ru>+maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>+copyright: (c) 2020, Nikita Volkov+license: MIT+license-file: LICENSE source-repository head- type: git- location: git://github.com/nikita-volkov/postgresql-syntax.git+ type: git+ location: https://github.com/nikita-volkov/postgresql-syntax common base-settings- default-language: Haskell2010+ default-language: Haskell2010 default-extensions:- NoImplicitPrelude- NoMonomorphismRestriction ApplicativeDo Arrows BangPatterns@@ -48,6 +46,8 @@ MagicHash MultiParamTypeClasses MultiWayIf+ NoImplicitPrelude+ NoMonomorphismRestriction OverloadedStrings ParallelListComp PatternGuards@@ -64,8 +64,8 @@ UnboxedTuples library- import: base-settings- hs-source-dirs: library+ import: base-settings+ hs-source-dirs: library exposed-modules: PostgresqlSyntax.Ast PostgresqlSyntax.KeywordSet@@ -82,37 +82,37 @@ PostgresqlSyntax.Prelude build-depends:- , base >=4.12 && <5- , bytestring >=0.10 && <0.13- , case-insensitive >=1.2.1 && <2- , hashable >=1.3.5 && <2- , headed-megaparsec >=0.2.0.1 && <0.3- , megaparsec >=9.2 && <10- , parser-combinators >=1.3 && <1.4- , text >=1 && <3- , text-builder >=0.6.6.3 && <0.7- , unordered-containers >=0.2.16 && <0.3+ base >=4.12 && <5,+ bytestring >=0.10 && <0.13,+ case-insensitive >=1.2.1 && <2,+ hashable >=1.3.5 && <2,+ headed-megaparsec >=0.2.0.1 && <0.3,+ megaparsec >=9.2 && <10,+ parser-combinators >=1.3 && <1.4,+ text >=1 && <3,+ text-builder >=0.6.10 && <0.7,+ unordered-containers >=0.2.16 && <0.3, test-suite tasty-test- import: base-settings- type: exitcode-stdio-1.0+ import: base-settings+ type: exitcode-stdio-1.0 hs-source-dirs: tasty-test- main-is: Main.hs- ghc-options: -threaded+ main-is: Main.hs+ ghc-options: -threaded build-depends:- , postgresql-syntax- , rerebase <2- , tasty >=1.2.3 && <2- , tasty-hunit >=0.10 && <0.11+ postgresql-syntax,+ rerebase <2,+ tasty >=1.2.3 && <2,+ tasty-hunit >=0.10 && <0.11, test-suite hedgehog-test- import: base-settings- type: exitcode-stdio-1.0+ import: base-settings+ type: exitcode-stdio-1.0 hs-source-dirs: hedgehog-test- main-is: Main.hs- ghc-options: -threaded- other-modules: Main.Gen+ main-is: Main.hs+ ghc-options: -threaded+ other-modules: Main.Gen build-depends:- , hedgehog >=1.0.1 && <2- , postgresql-syntax- , rerebase >=1.6.1 && <2+ hedgehog >=1.0.1 && <2,+ postgresql-syntax,+ rerebase >=1.6.1 && <2,