protobuf-simple 0.1.1.0 → 0.1.1.1
raw patch · 14 files changed
+94/−35 lines, 14 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.ProtoBuf: encode :: (WireMessage a) => a -> ByteString
+ Data.ProtoBuf: encode :: WireMessage a => a -> ByteString
- Data.ProtoBufInt: encode :: (WireMessage a) => a -> ByteString
+ Data.ProtoBufInt: encode :: WireMessage a => a -> ByteString
- Data.ProtoBufInt: getEnum :: (WireEnum a) => Get a
+ Data.ProtoBufInt: getEnum :: WireEnum a => Get a
- Data.ProtoBufInt: getEnumOpt :: (WireEnum a) => Get (Maybe a)
+ Data.ProtoBufInt: getEnumOpt :: WireEnum a => Get (Maybe a)
- Data.ProtoBufInt: getEnumPacked :: (WireEnum a) => Get (Seq a)
+ Data.ProtoBufInt: getEnumPacked :: WireEnum a => Get (Seq a)
Files
- app/Parser.hs +1/−1
- protobuf-simple.cabal +1/−1
- src/Data/ProtoBuf/WireFormat.hs +8/−8
- src/Data/ProtoBuf/WireTag.hs +2/−2
- src/Data/ProtoBufInt.hs +8/−8
- src/Parser/EnumGenerator.hs +8/−1
- src/Parser/FileWriter.hs +1/−1
- src/Parser/Generator.hs +6/−1
- src/Parser/GeneratorUtils.hs +1/−2
- src/Parser/MessageGenerator.hs +14/−1
- src/Parser/ProtoParser.hs +27/−2
- test/Data/ProtoBuf/ZigZagSpec.hs +3/−3
- test/Data/ProtoBufSpec.hs +3/−3
- test/Parser/ProtoParserSpec.hs +11/−1
app/Parser.hs view
@@ -106,4 +106,4 @@ version :: String-version = "protobuf-simple-protoc 0.1.1.0"+version = "protobuf-simple-protoc 0.1.1.1"
protobuf-simple.cabal view
@@ -3,7 +3,7 @@ name: protobuf-simple synopsis: Simple Protocol Buffers library (proto2)-version: 0.1.1.0+version: 0.1.1.1 homepage: https://github.com/sru-systems/protobuf-simple license: MIT license-file: LICENSE
src/Data/ProtoBuf/WireFormat.hs view
@@ -149,14 +149,14 @@ import Data.ByteString.Lazy (ByteString) import Data.Foldable (forM_) import Data.Int (Int32, Int64)-import Data.ProtoBuf.Default-import Data.ProtoBuf.FieldNumber-import Data.ProtoBuf.Mergeable-import Data.ProtoBuf.Required-import Data.ProtoBuf.WireEnum-import Data.ProtoBuf.WireMessage-import Data.ProtoBuf.WireTag-import Data.ProtoBuf.WireType+import Data.ProtoBuf.Default (Default(..))+import Data.ProtoBuf.FieldNumber (fromFieldNumber, toFieldNumber, FieldNumber(..))+import Data.ProtoBuf.Mergeable (Mergeable(..))+import Data.ProtoBuf.Required (Required(..))+import Data.ProtoBuf.WireEnum (WireEnum(..))+import Data.ProtoBuf.WireMessage (WireMessage(..))+import Data.ProtoBuf.WireTag (fromWireTag, toWireTag, WireTag(..))+import Data.ProtoBuf.WireType (fromWireType, toWireType, WireType(..)) import Data.Sequence (Seq, (|>)) import Data.Text.Lazy (Text) import Data.Text.Lazy.Encoding (decodeUtf8', encodeUtf8)
src/Data/ProtoBuf/WireTag.hs view
@@ -14,8 +14,8 @@ import Data.Bits ((.|.))-import Data.ProtoBuf.FieldNumber-import Data.ProtoBuf.WireType+import Data.ProtoBuf.FieldNumber (fromFieldNumber, toFieldNumber, FieldNumber)+import Data.ProtoBuf.WireType (fromWireType, toWireType, WireType) import Data.Word (Word32)
src/Data/ProtoBufInt.hs view
@@ -21,15 +21,15 @@ ) where -import Data.ProtoBuf.Default-import Data.ProtoBuf.FieldNumber-import Data.ProtoBuf.Mergeable-import Data.ProtoBuf.Required-import Data.ProtoBuf.WireEnum+import Data.ProtoBuf.Default (Default(..))+import Data.ProtoBuf.FieldNumber (fromFieldNumber, toFieldNumber, FieldNumber(..))+import Data.ProtoBuf.Mergeable (Mergeable(..))+import Data.ProtoBuf.Required (Required(..))+import Data.ProtoBuf.WireEnum (WireEnum(..)) import Data.ProtoBuf.WireFormat-import Data.ProtoBuf.WireMessage-import Data.ProtoBuf.WireTag-import Data.ProtoBuf.WireType+import Data.ProtoBuf.WireMessage (WireMessage(..))+import Data.ProtoBuf.WireTag (fromWireTag, toWireTag, WireTag(..))+import Data.ProtoBuf.WireType (fromWireType, toWireType, WireType(..)) import Data.Sequence (Seq, (|>))
src/Parser/EnumGenerator.hs view
@@ -12,13 +12,20 @@ import Control.Monad.State (State) import Data.List (foldl', groupBy, intersperse, sortOn)-import Data.Monoid ((<>)) import Data.Text.Lazy (Text) import Data.Text.Lazy.Builder (Builder, fromString, toLazyText) import Parser.EnumDesc (EnumDesc) import Parser.EnumValueDesc (EnumValueDesc) import Parser.FileDesc (FileDesc) import Parser.GeneratorUtils+ ( GenState,+ getComment,+ getUnqualifiedImport,+ getQualifiedAsImport,+ empty,+ nl,+ tab+ ) import qualified Parser.EnumDesc as EnumDesc import qualified Parser.EnumValueDesc as EnumValueDesc
src/Parser/FileWriter.hs view
@@ -11,7 +11,7 @@ ) where import Data.Text.Lazy.IO (writeFile)-import Parser.CodeInfo+import Parser.CodeInfo (CodeInfo(filename, code, directories)) import System.Directory (createDirectoryIfMissing) import System.FilePath ((</>)) import Prelude hiding (writeFile)
src/Parser/Generator.hs view
@@ -14,11 +14,16 @@ import Control.Monad.State (State, execState, get, put) import Data.List (foldl') import Data.List.Split (splitOn)-import Parser.CodeInfo+import Parser.CodeInfo (CodeInfo(CodeInfo)) import Parser.EnumDesc (EnumDesc) import Parser.EnumGenerator (getEnumCode) import Parser.FileDesc (FileDesc) import Parser.GeneratorUtils+ ( MessageSet,+ EnumSet,+ GenState(GenState, codeInfos),+ getNamespace+ ) import Parser.MessageDesc (MessageDesc) import Parser.MessageGenerator (getMessageCode) import System.FilePath (joinPath)
src/Parser/GeneratorUtils.hs view
@@ -10,10 +10,9 @@ import Control.Monad.State (State) import Data.Maybe (fromMaybe)-import Data.Monoid ((<>)) import Data.Set (Set) import Data.Text.Lazy.Builder (Builder, fromString, singleton)-import Parser.CodeInfo+import Parser.CodeInfo (CodeInfo) import Parser.FieldDesc (FieldDesc) import Parser.FileDesc (FileDesc)
src/Parser/MessageGenerator.hs view
@@ -12,13 +12,26 @@ import Control.Monad.State (State, get) import Data.List (foldl', intersperse)-import Data.Monoid ((<>)) import Data.Text.Lazy (Text) import Data.Text.Lazy.Builder (Builder, fromString, toLazyText) import Parser.CaseUtils (toPascal) import Parser.FieldDesc (FieldDesc) import Parser.FileDesc (FileDesc) import Parser.GeneratorUtils+ ( Packed,+ GenState,+ isEnum,+ isPacked,+ getComment,+ getNamespace,+ getUnqualifiedImport,+ getQualifiedImport,+ getQualifiedAsImport,+ empty,+ nl,+ space,+ tab+ ) import Parser.MessageDesc (MessageDesc) import qualified Parser.FieldDesc as FieldDesc
src/Parser/ProtoParser.hs view
@@ -22,6 +22,28 @@ import Parser.OptimizeMode (OptimizeMode) import System.FilePath (dropExtensions, splitFileName) import Text.Parsec+ ( anyChar,+ char,+ digit,+ hexDigit,+ letter,+ noneOf,+ octDigit,+ oneOf,+ string,+ choice,+ eof,+ many1,+ manyTill,+ option,+ (<?>),+ (<|>),+ lookAhead,+ many,+ parse,+ try,+ Parsec+ ) import qualified Parser.CaseUtils as CU import qualified Parser.EnumDesc as EnumDesc@@ -59,8 +81,11 @@ comments :: FileDesc -> Parsec String u FileDesc comments s = do void $ choice- [ string "//" *> manyTill anyChar (void eol <|> eof)- , many1 (oneOf " \t\n\r")+ [ char '/' *> choice+ [ char '/' *> manyTill anyChar (void eol <|> eof)+ , char '*' *> manyTill anyChar (try (string "*/"))+ ]+ , many1 (oneOf " \t\n\t") ] return s
test/Data/ProtoBuf/ZigZagSpec.hs view
@@ -3,9 +3,9 @@ , spec ) where -import Data.ProtoBuf.ZigZag-import Test.Hspec-import Test.QuickCheck+import Data.ProtoBuf.ZigZag (decode32, decode64, encode32, encode64)+import Test.Hspec (Spec, hspec, describe, it)+import Test.QuickCheck (Testable(property)) import Test.QuickCheck.Instances ()
test/Data/ProtoBufSpec.hs view
@@ -7,11 +7,11 @@ ) where import Data.ByteString.Lazy (ByteString, pack, readFile)-import Data.ProtoBuf (decode, encode)+import Data.ProtoBuf.WireFormat (decode, encode) import Prelude hiding (Enum, readFile) import System.FilePath ((</>))-import Test.Hspec-import Test.QuickCheck+import Test.Hspec (Spec, hspec, context, describe, it, shouldBe, SpecWith)+import Test.QuickCheck (elements, Arbitrary(arbitrary), Testable(property)) import Test.QuickCheck.Instances () import Types.BoolList (BoolList(..))
test/Parser/ProtoParserSpec.hs view
@@ -4,7 +4,7 @@ ) where import Parser.ProtoParser (parseProto)-import Test.Hspec+import Test.Hspec (Spec, hspec, describe, it, shouldBe, Expectation) import qualified Parser.EnumDesc as EnumDesc import qualified Parser.EnumValueDesc as EnumValueDesc@@ -34,6 +34,16 @@ it "parses leading comments" $ parseProto "Test.proto" "// Comment test"+ `shouldParse`+ FileDesc.new "Test"+++ it "parses block comments" $+ parseProto "Test.proto" (unlines+ [ "/* Line 1 "+ , " * Line 2 "+ , " */"+ ]) `shouldParse` FileDesc.new "Test"