packages feed

json-autotype 1.0.14 → 1.0.15

raw patch · 3 files changed

+17/−5 lines, 3 filesdep +yamldep ~aesondep ~lensPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: yaml

Dependency ranges changed: aeson, lens

API changes (from Hackage documentation)

- Data.Aeson.AutoType.Alternative: instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (a Data.Aeson.AutoType.Alternative.:|: b)
- Data.Aeson.AutoType.Alternative: instance (GHC.Classes.Ord a, GHC.Classes.Ord b) => GHC.Classes.Ord (a Data.Aeson.AutoType.Alternative.:|: b)
- Data.Aeson.AutoType.Alternative: instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (a Data.Aeson.AutoType.Alternative.:|: b)
- Data.Aeson.AutoType.Format: instance GHC.Generics.Constructor Data.Aeson.AutoType.Format.C1_0DeclState
- Data.Aeson.AutoType.Format: instance GHC.Generics.Datatype Data.Aeson.AutoType.Format.D1DeclState
- Data.Aeson.AutoType.Format: instance GHC.Generics.Selector Data.Aeson.AutoType.Format.S1_0_0DeclState
- Data.Aeson.AutoType.Format: instance GHC.Generics.Selector Data.Aeson.AutoType.Format.S1_0_1DeclState
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_0Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_1Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_2Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_3Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_4Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Constructor Data.Aeson.AutoType.Pretty.C1_5Value
- Data.Aeson.AutoType.Pretty: instance GHC.Generics.Datatype Data.Aeson.AutoType.Pretty.D1Value
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_0Dict
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_0Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_1Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_2Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_3Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_4Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_5Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_6Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Constructor Data.Aeson.AutoType.Type.C1_7Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Datatype Data.Aeson.AutoType.Type.D1Dict
- Data.Aeson.AutoType.Type: instance GHC.Generics.Datatype Data.Aeson.AutoType.Type.D1Type
- Data.Aeson.AutoType.Type: instance GHC.Generics.Selector Data.Aeson.AutoType.Type.S1_0_0Dict
+ Data.Aeson.AutoType.Alternative: instance (GHC.Classes.Eq b, GHC.Classes.Eq a) => GHC.Classes.Eq (a Data.Aeson.AutoType.Alternative.:|: b)
+ Data.Aeson.AutoType.Alternative: instance (GHC.Classes.Ord b, GHC.Classes.Ord a) => GHC.Classes.Ord (a Data.Aeson.AutoType.Alternative.:|: b)
+ Data.Aeson.AutoType.Alternative: instance (GHC.Show.Show b, GHC.Show.Show a) => GHC.Show.Show (a Data.Aeson.AutoType.Alternative.:|: b)

Files

GenerateJSONParser.hs view
@@ -30,6 +30,7 @@ import           Data.Aeson.AutoType.Format import           Data.Aeson.AutoType.CodeGen import           Data.Aeson.AutoType.Util+import qualified Data.Yaml as Yaml import           HFlags  -- * Command line flags@@ -39,6 +40,7 @@ defineFlag "t:test"            False                 "Try to run generated parser after" defineFlag "d:debug"           False                 "Set this flag to see more debugging info" defineFlag "y:typecheck"       True                  "Set this flag to typecheck after unification"+defineFlag "yaml"              False                 "Parse inputs as YAML instead of JSON" defineFlag "p:preprocessor"    False                 "Work as GHC preprocessor (skip preprocessor pragma)" defineFlag "fakeFlag"          True                  "Ignore this flag - it doesn't exist!!! It is workaround to library problem." @@ -63,7 +65,7 @@       withFileOrHandle inputFilename ReadMode stdin $ \hInput ->         -- First we decode JSON input into Aeson's Value type         do Text.hPutStrLn stderr $ "Processing " `Text.append` Text.pack (show inputFilename)-           decodedJSON :: Maybe Value <- decode <$> BSL.hGetContents hInput+           decodedJSON :: Maybe Value <- decoder <$> BSL.hGetContents hInput            --let decodedJSON :: Maybe Value =  decodeValue input            -- myTrace ("Decoded JSON: " ++ pretty decoded)            case decodedJSON of@@ -76,6 +78,9 @@                (v `typeCheck` t) `unless` fatal ("Typecheck against base type failed for "                                                     `Text.append` Text.pack inputFilename)                return $ Just (inputFilename, t, v)+  where+    decoder | flags_yaml = Yaml.decode . BSL.toStrict+            | otherwise  =      decode  -- | Perform preprocessing of JSON input to drop initial pragma. preprocess :: BSL.ByteString -> BSL.ByteString
changelog.md view
@@ -1,5 +1,11 @@ Changelog =========+    1.0.15  Dec 2016+        * Support YAML input.++    1.0.14  May 2016+        * Update to latest lens.+     1.0.13  Mar 2016         * Bumped up hint upper bound for v0.5. 
json-autotype.cabal view
@@ -1,6 +1,6 @@ -- Build information for the package. name:                json-autotype-version:             1.0.14+version:             1.0.15 synopsis:            Automatic type declaration for JSON input data description:         Generates datatype declarations with Aeson's "FromJSON" instances                      from a set of example ".json" files.@@ -62,14 +62,14 @@                        Data.Aeson.AutoType.Util   build-depends:       base                 >=4.3  && <4.10,                        GenericPretty        >=1.2  && <1.3,-                       aeson                >=0.7  && <0.12,+                       aeson                >=0.7  && <0.13,                        bytestring           >=0.9  && <0.11,                        containers           >=0.3  && <0.6,                        filepath             >=1.3  && <1.5,                        hashable             >=1.2  && <1.3,                        ---hint                 >=0.4  && <0.6,                        hflags               >=0.3  && <0.5,-                       lens                 >=4.1  && <4.15,+                       lens                 >=4.1  && <4.16,                        mmap                 >=0.5  && <0.6,                        mtl                  >=2.1  && <2.3,                        pretty               >=1.1  && <1.3,@@ -117,7 +117,8 @@                        text                 >=1.1  && <1.4,                        uniplate             >=1.6  && <1.7,                        unordered-containers >=0.2  && <0.3,-                       vector               >=0.9  && <0.12+                       vector               >=0.9  && <0.12,+                       yaml                 >=0.8  && <0.9   -- hs-source-dirs:         default-language:    Haskell2010