name:                generic-data-surgery
version:             0.3.0.0
synopsis:            Surgery for generic data types
description:
  Transform data types before passing them to generic functions.
homepage:            https://github.com/Lysxia/generic-data-surgery#readme
license:             MIT
license-file:        LICENSE
author:              Li-yao Xia
maintainer:          lysxia@gmail.com
copyright:           2018 Li-yao Xia
category:            Other
build-type:          Simple
extra-source-files:  README.md, CHANGELOG.md
cabal-version:       >=1.10
tested-with:
  GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.1, GHC == 8.6.3, GHC == 8.8.3, GHC == 8.10.1

library
  hs-source-dirs:      src
  exposed-modules:
    Generic.Data.Surgery
    Generic.Data.Surgery.Internal
  build-depends:
    generic-data >= 0.2,
    first-class-families >= 0.2,
    base >= 4.9 && < 5
  ghc-options:         -Wall
  default-language:    Haskell2010

test-suite surgery-test
  hs-source-dirs: test
  main-is: surgery.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    generic-data-surgery,
    base
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

test-suite synthetic-test
  hs-source-dirs: test
  main-is: synthetic.hs
  build-depends:
    tasty,
    tasty-hunit,
    generic-data,
    generic-data-surgery,
    show-combinators >= 0.2,
    -- ^ avoid a bug
    base
  if !impl(ghc >= 8.6)
    build-depends:
      contravariant
  ghc-options: -Wall
  default-language: Haskell2010
  type: exitcode-stdio-1.0

source-repository head
  type:     git
  location: https://github.com/Lysxia/generic-data-surgery