jsonschema-gen 0.2.0.0 → 0.3.0.0
raw patch · 3 files changed
+30/−28 lines, 3 filesdep −transformersdep ~aesondep ~bytestringdep ~containers
Dependencies removed: transformers
Dependency ranges changed: aeson, bytestring, containers, process, scientific, tagged, text, time, unordered-containers, vector
Files
- changelog.md +7/−2
- jsonschema-gen.cabal +18/−19
- tests/Main.hs +5/−7
changelog.md view
@@ -1,9 +1,14 @@-jsonschema-gen-0.2.0.0+0.3.0.0 +* Add version constraints to dependent packages.+* Remove dendency to transformers in test program.++0.2.0.0+ * Rename PropType to FieldType. * Fix typo in cabal file. * Fix typo in comment. -jsonschema-gen-0.1.0.0+0.1.0.0 * initial release.
jsonschema-gen.cabal view
@@ -1,5 +1,5 @@ name: jsonschema-gen-version: 0.2.0.0+version: 0.3.0.0 synopsis: JSON Schema generator from Algebraic data type description: This library contains a JSON Schema generator. homepage: https://github.com/yuga/jsonschema-gen@@ -26,22 +26,22 @@ Data.JSON.Schema.Generator.Types build-depends: base >=4.6 && <4.9- , bytestring- , containers- , tagged- , text- , time- , unordered-containers- , vector+ , bytestring >=0.10 && <0.11+ , containers >=0.5 && <0.6+ , tagged >=0.7 && <0.9+ , text >=0.11 && <1.3+ , time >=1.4 && <1.6+ , unordered-containers >=0.2 && <0.3+ , vector >=0.10 && <0.11 if flag(safe-aeson) build-depends:- aeson >=0.7.0.6- , scientific >=0.3.2.0+ aeson >=0.7.0.6 && <0.9+ , scientific >=0.3.2.0 && <0.4 else build-depends:- aeson- , scientific+ aeson >=0.7 && <0.9+ , scientific >=0.2 && <0.4 hs-source-dirs: src default-language: Haskell2010@@ -57,14 +57,13 @@ other-modules: Types Values build-depends: base >=4.6 && <4.9- , aeson- , bytestring- , containers+ , aeson >=0.7 && <0.9+ , bytestring >=0.10 && <0.11+ , containers >=0.5 && <0.6 , jsonschema-gen- , process- , tagged- , text- , transformers+ , process >=1.1 && <1.3+ , tagged >=0.7 && <0.9+ , text >=0.11 && <1.3 hs-source-dirs: tests default-language: Haskell2010
tests/Main.hs view
@@ -12,8 +12,7 @@ import Control.Applicative ((<*>), pure) import Control.Arrow ((&&&))-import Control.Monad (forM, forM_)-import Control.Monad.Trans.State+import Control.Monad (forM_) import qualified Data.Aeson as A import qualified Data.Aeson.TH as A import qualified Data.ByteString.Lazy.Char8 as BL@@ -117,11 +116,10 @@ showC _ = "tag" pairsOptSymbol :: [A.Options] -> String -> [(A.Options, String)]-pairsOptSymbol opts name =- fst . flip runState (0 :: Int) $ forM opts $ \opt -> do- n <- fmap (+ 1) get- put $! n- return (opt, name ++ "_" ++ show n)+pairsOptSymbol opts name = go opts (1 :: Int)+ where+ go [] _ = []+ go (opt:opts') n = (opt, name ++ "_" ++ show n) : go opts' (n + 1) printValueAsJson :: (Generic a, A.GToJSON (Rep a)) => Handle -> [A.Options] -> String -> a -> IO () printValueAsJson h opts name value =