name:                json-sop
version:             0.2.2
synopsis:            Generics JSON (de)serialization using generics-sop
description:
  This library contains generic serialization and deserialization functions
  implemented using the @<https://hackage.haskell.org/package/generics-sop generics-sop>@
  package for use with @<http://hackage.haskell.org/package/aeson aeson>@.
  .
license:             BSD3
license-file:        LICENSE
author:              Edsko de Vries <edsko@well-typed.com>, Andres Löh <andres@well-typed.com>
maintainer:          andres@well-typed.com
category:            Generics
build-type:          Simple
cabal-version:       >=1.10
tested-with:         GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.5 || ==9.4.4

source-repository head
  type:                git
  location:            https://github.com/well-typed/json-sop

library
  exposed-modules:     Generics.SOP.JSON
                       Generics.SOP.JSON.Model
  other-modules:       Generics.SOP.Util.PartialResult
  build-depends:       base                 >= 4.11  && < 4.18,
                       generics-sop         >= 0.2.3 && < 0.6,

                       -- lens-sop changed API in 0.3
                       lens-sop             >= 0.3   && < 0.4,
                       tagged               >= 0.7   && < 0.9,
                       aeson                >= 1.4   && < 2.2,
                       vector               >= 0.10  && < 0.14,
                       text                 >= 1.1   && < 2.1,
                       unordered-containers >= 0.2   && < 0.3,
                       time                 >= 1.4   && < 1.14,
                       transformers         >= 0.3   && < 0.7
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall
  default-extensions:  ScopedTypeVariables
                       TypeFamilies
                       RankNTypes
                       TypeOperators
                       GADTs
                       ConstraintKinds
                       MultiParamTypeClasses
                       TypeSynonymInstances
                       FlexibleInstances
                       FlexibleContexts
                       DeriveFunctor
                       DeriveFoldable
                       DeriveTraversable
                       DefaultSignatures
                       KindSignatures
                       DataKinds
                       FunctionalDependencies
                       CPP
  other-extensions:    OverloadedStrings
                       PolyKinds

test-suite test-json-sop
  type:             exitcode-stdio-1.0
  main-is:          Test_JSON_SOP.hs
  default-language: Haskell2010
  hs-source-dirs:   test
  build-depends:    base
                  , json-sop

                  , aeson
                  , tasty
                  , tasty-quickcheck
                  , generics-sop
  ghc-options:      -Wall