packages feed

avers 0.0.15 → 0.0.16

raw patch · 4 files changed

+97/−120 lines, 4 filesdep ~MonadRandomdep ~aesondep ~attoparsecPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: MonadRandom, aeson, attoparsec, avers, base, base16-bytestring, bytestring, clock, containers, criterion, cryptohash, filepath, hspec, inflections, mtl, network, network-uri, resource-pool, rethinkdb-client-driver, safe, scrypt, stm, template-haskell, text, time, unordered-containers, vector

API changes (from Hackage documentation)

- Avers: SomeIndex :: Index a -> SomeIndex
- Avers: SomeObjectType :: ObjectType a -> SomeObjectType
- Avers: SomeView :: View obj a -> SomeView obj
- Avers.Index: SomeIndex :: Index a -> SomeIndex
- Avers.Types: SomeObjectType :: ObjectType a -> SomeObjectType
- Avers.Types: SomeView :: View obj a -> SomeView obj
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Blob
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.BlobId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.ObjId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Object
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.ObjectId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Operation
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Patch
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Path
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Release
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.RevId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Secret
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.SecretId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Session
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.SessionId
- Avers.Types: instance Data.Aeson.Types.Class.FromJSON Avers.Types.Snapshot
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Blob
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.BlobId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Change
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.ObjId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Object
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.ObjectId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Operation
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Patch
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Path
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Release
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.RevId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Secret
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.SecretId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Session
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.SessionId
- Avers.Types: instance Data.Aeson.Types.Class.ToJSON Avers.Types.Snapshot
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Blob
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0BlobId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Change
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0ObjId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Object
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0ObjectId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Operation
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Patch
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0PatchError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Path
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0RevId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Secret
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0SecretId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Session
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0SessionId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_0Snapshot
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_1AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_1ObjectId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_1Operation
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_2AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_2ObjectId
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_3AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_4AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_5AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_6AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_7AversError
- Avers.Types: instance GHC.Generics.Constructor Avers.Types.C1_8AversError
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1AversError
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Blob
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1BlobId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Change
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1ObjId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Object
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1ObjectId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Operation
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Patch
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1PatchError
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Path
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1RevId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Secret
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1SecretId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Session
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1SessionId
- Avers.Types: instance GHC.Generics.Datatype Avers.Types.D1Snapshot
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Blob
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0BlobId
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0ObjId
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Object
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Operation
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Patch
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Path
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0RevId
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Secret
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0SecretId
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Session
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0SessionId
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_0Snapshot
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Blob
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Object
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Operation
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Patch
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Secret
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Session
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_1Snapshot
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_2Blob
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_2Object
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_2Patch
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_2Session
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_2Snapshot
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_3Object
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_3Patch
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_3Session
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_4Object
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_0_4Patch
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_1_0Operation
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_1_1Operation
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_1_2Operation
- Avers.Types: instance GHC.Generics.Selector Avers.Types.S1_1_3Operation
- Avers.Views: instance Data.Aeson.Types.Class.ToJSON a => Data.Aeson.Types.Class.ToJSON (Avers.Views.Record a)
+ Avers: [SomeIndex] :: (IsDatum a) => Index a -> SomeIndex
+ Avers: [SomeObjectType] :: (ToDatum a, FromDatum a, FromJSON a, ToJSON a) => ObjectType a -> SomeObjectType
+ Avers: [SomeView] :: (ToDatum a, FromDatum a, FromJSON obj, ToJSON a) => View obj a -> SomeView obj
+ Avers.Index: [SomeIndex] :: (IsDatum a) => Index a -> SomeIndex
+ Avers.TH: parseJSONList :: Value -> Parser [a]
+ Avers.TH: toEncodingList :: [a] -> Encoding
+ Avers.TH: toJSONList :: [a] -> Value
+ Avers.Types: [SomeObjectType] :: (ToDatum a, FromDatum a, FromJSON a, ToJSON a) => ObjectType a -> SomeObjectType
+ Avers.Types: [SomeView] :: (ToDatum a, FromDatum a, FromJSON obj, ToJSON a) => View obj a -> SomeView obj
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Blob
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.BlobId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.ObjId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Object
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.ObjectId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Operation
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Patch
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Path
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Release
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.RevId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Secret
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.SecretId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Session
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.SessionId
+ Avers.Types: instance Data.Aeson.Types.FromJSON.FromJSON Avers.Types.Snapshot
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Blob
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.BlobId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Change
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.ObjId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Object
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.ObjectId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Operation
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Patch
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Path
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Release
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.RevId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Secret
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.SecretId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Session
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.SessionId
+ Avers.Types: instance Data.Aeson.Types.ToJSON.ToJSON Avers.Types.Snapshot
+ Avers.Views: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Avers.Views.Record a)
- Avers.TH: parseJSON :: FromJSON a => Value -> Parser a
+ Avers.TH: parseJSON :: Value -> Parser a
- Avers.TH: toEncoding :: ToJSON a => a -> Encoding
+ Avers.TH: toEncoding :: a -> Encoding
- Avers.TH: toJSON :: ToJSON a => a -> Value
+ Avers.TH: toJSON :: a -> Value

Files

avers.cabal view
@@ -1,129 +1,106 @@-name:                avers-version:             0.0.15-license:             GPL-3-license-file:        LICENSE-author:              Tomas Carnecky-maintainer:          tomas.carnecky@gmail.com-category:            Avers-build-type:          Simple-cabal-version:       >= 1.10--synopsis:            empty-description:         empty--+name: avers+version: 0.0.16+cabal-version: >=1.10+build-type: Simple+license: GPL-3+license-file: LICENSE+maintainer: tomas.carnecky@gmail.com+synopsis: empty+description:+    empty+category: Avers+author: Tomas Carnecky extra-source-files:     src/Avers/Metrics/Measurements.txt - source-repository head-    type:     git+    type: git     location: git://github.com/wereHamster/avers-haskell.git - library-    hs-source-dirs:   src-    default-language: Haskell2010--    ghc-options:-        -Wall---    -- For the time being everything is exported.     exposed-modules:         Avers-      , Avers.Handle-      , Avers.Index-      , Avers.Metrics-      , Avers.Metrics.Measurements-      , Avers.Metrics.TH-      , Avers.Patching-      , Avers.Storage-      , Avers.Storage.Backend-      , Avers.Storage.Expressions-      , Avers.TH-      , Avers.Types-      , Avers.Views---    -- Standard dependencies, stuff that is or should be in the platform.+        Avers.Handle+        Avers.Index+        Avers.Metrics+        Avers.Metrics.Measurements+        Avers.Metrics.TH+        Avers.Patching+        Avers.Storage+        Avers.Storage.Backend+        Avers.Storage.Expressions+        Avers.TH+        Avers.Types+        Avers.Views     build-depends:-        aeson-      , attoparsec-      , base <= 9999-      , bytestring-      , clock-      , containers-      , filepath-      , mtl-      , network-      , network-uri-      , safe-      , stm-      , template-haskell-      , text-      , time-      , unordered-containers-      , vector+        aeson >=1.0.1.0 && <1.1,+        attoparsec >=0.13.1.0 && <0.14,+        base >=4.9.0.0 && <4.10,+        bytestring >=0.10.8.1 && <0.11,+        clock >=0.7.2 && <0.8,+        containers >=0.5.7.1 && <0.6,+        filepath >=1.4.1.0 && <1.5,+        mtl >=2.2.1 && <2.3,+        network >=2.6.3.1 && <2.7,+        network-uri >=2.6.1.0 && <2.7,+        safe >=0.3.9 && <0.4,+        stm >=2.4.4.1 && <2.5,+        template-haskell >=2.11.0.0 && <2.12,+        text >=1.2.2.1 && <1.3,+        time >=1.6.0.1 && <1.7,+        unordered-containers >=0.2.7.1 && <0.3,+        vector >=0.11.0.0 && <0.12,+        MonadRandom >=0.4.2.3 && <0.5,+        base16-bytestring >=0.1.1.6 && <0.2,+        cryptohash >=0.11.9 && <0.12,+        inflections >=0.2.0.1 && <0.3,+        resource-pool >=0.2.3.2 && <0.3,+        rethinkdb-client-driver >=0.0.23 && <0.1,+        scrypt >=0.5.0 && <0.6+    default-language: Haskell2010+    hs-source-dirs: src+    ghc-options: -Wall -    -- More exotic dependencies which people may not immediately recognize.+test-suite spec+    type: exitcode-stdio-1.0+    main-is: Test.hs     build-depends:-        MonadRandom-      , base16-bytestring-      , cryptohash-      , inflections-      , resource-pool-      , rethinkdb-client-driver-      , scrypt--+        MonadRandom >=0.4.2.3 && <0.5,+        aeson >=1.0.1.0 && <1.1,+        attoparsec >=0.13.1.0 && <0.14,+        avers >=0.0.16 && <0.1,+        base >=4.9.0.0 && <4.10,+        base16-bytestring >=0.1.1.6 && <0.2,+        bytestring >=0.10.8.1 && <0.11,+        containers >=0.5.7.1 && <0.6,+        cryptohash >=0.11.9 && <0.12,+        hspec >=2.2.3 && <2.3,+        inflections >=0.2.0.1 && <0.3,+        mtl >=2.2.1 && <2.3,+        resource-pool >=0.2.3.2 && <0.3,+        rethinkdb-client-driver >=0.0.23 && <0.1,+        scrypt >=0.5.0 && <0.6,+        stm >=2.4.4.1 && <2.5,+        text >=1.2.2.1 && <1.3,+        time >=1.6.0.1 && <1.7,+        unordered-containers >=0.2.7.1 && <0.3,+        vector >=0.11.0.0 && <0.12+    default-language: Haskell2010+    hs-source-dirs: test  benchmark benchmark-    hs-source-dirs:      benchmark-    default-language:    Haskell2010--    ghc-options:        -threaded -Wall -O2 -rtsopts--    type:                exitcode-stdio-1.0-    main-is:             Benchmark.hs--    build-depends:-        aeson-      , avers-      , base-      , mtl-      , criterion-      , resource-pool-      , rethinkdb-client-driver-      , network-uri-      , text---test-suite spec-    hs-source-dirs:      test-    default-language:    Haskell2010--    type:                exitcode-stdio-1.0-    main-is:             Test.hs-+    type: exitcode-stdio-1.0+    main-is: Benchmark.hs     build-depends:-        MonadRandom-      , aeson-      , attoparsec-      , avers-      , base-      , base16-bytestring-      , bytestring-      , containers-      , cryptohash-      , hspec-      , inflections-      , mtl-      , resource-pool-      , rethinkdb-client-driver-      , scrypt-      , stm-      , text-      , time-      , unordered-containers-      , vector+        aeson >=1.0.1.0 && <1.1,+        avers >=0.0.16 && <0.1,+        base >=4.9.0.0 && <4.10,+        mtl >=2.2.1 && <2.3,+        criterion >=1.1.1.0 && <1.2,+        resource-pool >=0.2.3.2 && <0.3,+        rethinkdb-client-driver >=0.0.23 && <0.1,+        network-uri >=2.6.1.0 && <2.7,+        text >=1.2.2.1 && <1.3+    default-language: Haskell2010+    hs-source-dirs: benchmark+    ghc-options: -threaded -Wall -O2 -rtsopts
src/Avers/Metrics.hs view
@@ -18,7 +18,7 @@     end   <- liftIO $ getTime Monotonic      reportMeasurement m-        (fromIntegral (timeSpecAsNanoSecs (diffTimeSpec start end)) / 1000000000)+        (fromIntegral (toNanoSecs (diffTimeSpec start end)) / 1000000000)      return ret 
src/Avers/Metrics/TH.hs view
@@ -64,7 +64,7 @@     let metrics = toMetrics labels      return-        [ DataD [] (mkName "Measurement") [] (map genCon metrics) []+        [ DataD [] (mkName "Measurement") [] Nothing (map genCon metrics) []          , SigD (mkName "measurementLabels") (AppT (AppT ArrowT (ConT (mkName "Measurement"))) (AppT ListT $ AppT ListT (ConT ''Char)))         , FunD (mkName "measurementLabels")
src/Avers/TH.hs view
@@ -109,7 +109,7 @@      let icxt = map (\tv -> AppT (ConT ''FromJSON) (VarT tv)) tyVars     return-        [ InstanceD icxt+        [ InstanceD Nothing icxt             (AppT fromJsonT (mkAppTys (typeT : map VarT tyVars)))             [ FunD 'parseJSON                 [ Clause [VarP xN]@@ -171,7 +171,7 @@      let icxt = map (\tv -> AppT (ConT ''FromDatum) (VarT tv)) tyVars     return-        [ InstanceD icxt+        [ InstanceD Nothing icxt             (AppT fromDatumT (mkAppTys (typeT : map VarT tyVars)))             [ FunD 'parseDatum                 [ Clause [VarP xN]@@ -219,8 +219,8 @@ getTyInfo typeN = do     info <- reify typeN     case info of-        TyConI (DataD _ _ tvbs cons _)   -> pure (tvbs, getFieldNames =<< cons)-        TyConI (NewtypeD _ _ tvbs con _) -> pure (tvbs, getFieldNames con)+        TyConI (DataD _ _ tvbs _ cons _)   -> pure (tvbs, getFieldNames =<< cons)+        TyConI (NewtypeD _ _ tvbs _ con _) -> pure (tvbs, getFieldNames con)         _                                -> fail $             "Avers.TH.getTyInfo: only simple data/newtype " ++             "constructors are supported."