packages feed

json-to-type-4.0.0: json-to-type.cabal

cabal-version: 3.0

-- This file has been generated from package.yaml by hpack version 0.35.2.
--
-- see: https://github.com/sol/hpack

name:                json-to-type
version:             4.0.0
synopsis:            Automatic type declaration for JSON input data
description:         Generates datatype declarations with Aeson''s ''Data.Aeson.FromJSON''
                     .
                     instances from a set of example @.json@ files.
                     .
                     .
                     To get started you need to install the package,
                     .
                     and run @json-to-type@ binary on an input @.json@ file.
                     .
                     That will generate a new Aeson-based JSON parser.
                     .
                     .
                     > $ json-to-type input.json -o JSONTypes.hs
                     .
                     .
                     Feel free to tweak the by changing types of the fields
                     .
                     — any field type that is instance of ''Data.Aeson.FromJSON'' should work.
                     .
                     .
                     You may immediately test the parser by calling it as a script:
                     .
                     .
                     > $ runghc JSONTypes.hs input.json
                     .
                     .
                     One can now use multiple input files to generate better type description.
                     .
                     .
                     Now with Elm code generation support!
                     .
                     (If you want your favourite programming language supported too —
                     .
                     name your price and mail the author.)
                     .
                     .
                     See introduction on <https://github.com/mgajda/json-to-type> for details.'
                     .
homepage:            https://github.com/jappeace/json-to-type.git#readme
license:             BSD-3-Clause
license-file:        LICENSE
stability:           stable
author:              Michal J. Gajda
maintainer:          simons@cryp.to,
                     mjgajda@gmail.com
copyright:           Copyright by Migamake '2014-'2020
category:            Data, Tools
build-type:          Simple
extra-source-files:
    README.md
    changelog.md
    examples/union.json
    examples/colors.json
    test/colors.json
    test/events.json
    test/interop.json
    test/jenkins.json
    test/youtube.json
    test/customerform.json
    test/facebook.json
    test/iPhoneMenu.json
    test/productsdb.json
bug-reports:         https://github.com/jappeace/json-to-type/issues
tested-with:
    GHC==8.0.2 GHC==8.2.2 GHC==8.4.4 GHC==8.6.5 GHC==8.8.2 GHC==8.10.1

source-repository head
  type: git
  location: https://github.com/jappeace/json-to-type.git

library
  exposed-modules:
      JsonToType.CodeGen
      JsonToType.Extract
      JsonToType.Alternative
      JsonToType.Format
      JsonToType.CodeGen.Haskell
      JsonToType.CodeGen.HaskellFormat
      JsonToType.CodeGen.Generic
      JsonToType.CodeGen.Elm
      JsonToType.CodeGen.ElmFormat
      JsonToType.Split
      JsonToType.Type
      JsonToType.Test
      JsonToType.Util
      JsonToType.Nested
      JsonToType.Pretty
  other-modules:
      JsonToType.CodeGen.Common
      JsonToType.Plugin.Subtype
      Paths_json_to_type
  autogen-modules:
      Paths_json_to_type
  hs-source-dirs:
      src
  other-extensions:
      TemplateHaskell
      ScopedTypeVariables
      OverloadedStrings
      FlexibleInstances
      MultiParamTypeClasses
      DeriveDataTypeable
      DeriveGeneric
      RecordWildCards
  build-depends:
      GenericPretty
    , QuickCheck
    , aeson
    , base >=4.0.0 && <5.0
    , containers
    , data-default
    , filepath
    , hashable
    , lens
    , mtl
    , pretty
    , process
    , run-haskell-module
    , scientific
    , smallcheck
    , template-haskell
    , text
    , uniplate
    , unordered-containers
    , vector
  default-language: Haskell2010

executable json-to-type
  main-is: GenerateJSONParser.hs
  hs-source-dirs:
      app
      common
  other-modules:
      CommonCLI
      Paths_json_to_type
  autogen-modules:
      Paths_json_to_type
  other-extensions:
      TemplateHaskell
      ScopedTypeVariables
      OverloadedStrings
      FlexibleInstances
      MultiParamTypeClasses
      DeriveDataTypeable
      DeriveGeneric
      RecordWildCards
  build-depends:
      GenericPretty
    , aeson
    , base >=4.0.0 && <5.0
    , bytestring
    , containers
    , filepath
    , hashable
    , json-to-type
    , lens
    , mtl
    , optparse-applicative
    , pretty
    , process
    , scientific
    , template-haskell
    , text
    , uniplate
    , unordered-containers
    , vector
    , yaml
  default-language: Haskell2010

test-suite json-to-type-examples
  type: exitcode-stdio-1.0
  main-is: TestExamples.hs
  other-modules:
      CommonCLI
      Paths_json_to_type
  autogen-modules:
      Paths_json_to_type
  hs-source-dirs:
      test
      common
  other-extensions:
      TemplateHaskell
      ScopedTypeVariables
      OverloadedStrings
      FlexibleInstances
      MultiParamTypeClasses
      DeriveDataTypeable
      DeriveGeneric
      RecordWildCards
  build-depends:
      GenericPretty
    , QuickCheck
    , aeson
    , base >=4.0.0 && <5.0
    , containers
    , directory
    , filepath
    , hashable
    , json-to-type
    , lens
    , mtl
    , optparse-applicative
    , pretty
    , process
    , scientific
    , smallcheck
    , template-haskell
    , text
    , uniplate
    , unordered-containers
    , vector
  default-language: Haskell2010

test-suite json-to-type-gen-test
  type: exitcode-stdio-1.0
  main-is: GenerateTestJSON.hs
  hs-source-dirs:
      test/gen
      common
  other-modules:
      CommonCLI
      Paths_json_to_type
  autogen-modules:
      Paths_json_to_type
  other-extensions:
      TemplateHaskell
      ScopedTypeVariables
      OverloadedStrings
      FlexibleInstances
      MultiParamTypeClasses
      DeriveDataTypeable
      DeriveGeneric
      RecordWildCards
  build-depends:
      GenericPretty
    , QuickCheck
    , aeson
    , base >=4.0.0 && <5.0
    , bytestring
    , containers
    , directory
    , filepath
    , hashable
    , json-to-type
    , lens
    , mtl
    , optparse-applicative
    , pretty
    , process
    , scientific
    , smallcheck
    , template-haskell
    , text
    , uniplate
    , unordered-containers
    , vector
  default-language: Haskell2010

test-suite json-to-type-qc-test
  type: exitcode-stdio-1.0
  main-is: TestQC.hs
  other-modules:
      CommonCLI
      Paths_json_to_type
  autogen-modules:
      Paths_json_to_type
  hs-source-dirs:
      test/qc
      common
  other-extensions:
      TemplateHaskell
      ScopedTypeVariables
      OverloadedStrings
      FlexibleInstances
      MultiParamTypeClasses
      DeriveDataTypeable
      DeriveGeneric
      RecordWildCards
  build-depends:
      GenericPretty
    , QuickCheck
    , aeson
    , base >=4.0.0 && <5.0
    , containers
    , filepath
    , hashable
    , json-to-type
    , lens
    , mtl
    , optparse-applicative
    , pretty
    , process
    , scientific
    , smallcheck
    , template-haskell
    , text
    , uniplate
    , unordered-containers
    , vector
  default-language: Haskell2010