packages feed

fields-and-cases-0.1.0.0: fields-and-cases.cabal

cabal-version:      2.4
name:               fields-and-cases
version:            0.1.0.0
synopsis:           Codegen Haskell types to other languages
description:
  This package provides a way to generate code for other languages from Haskell types.
  It's target language agnostic and based on type classes.

bug-reports:        https://github.com/thought2/fields-and-cases/issues
license:            BSD-3-Clause
author:             Michael Bock
maintainer:         no-day@posteo.net
category:           codegen
extra-source-files: CHANGELOG.md

source-repository head
  type:     git
  location: https://github.com/thought2/fields-and-cases

common common-opts
  default-language:   Haskell2010
  default-extensions:
    AllowAmbiguousTypes
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveAnyClass
    DeriveGeneric
    DerivingVia
    DuplicateRecordFields
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    LambdaCase
    MultiParamTypeClasses
    NamedFieldPuns
    NoImplicitPrelude
    OverloadedStrings
    PolyKinds
    RankNTypes
    ScopedTypeVariables
    TypeApplications
    TypeFamilies
    TypeFamilyDependencies
    TypeOperators
    UndecidableInstances
    UndecidableSuperClasses

library
  import:          common-opts
  exposed-modules: FieldsAndCases
  build-depends:
    , base                ^>=4.17.2.0
    , relude              >=1.2.1     && <1.3
    , string-conversions  >=0.4.0     && <0.5

  hs-source-dirs:  lib

test-suite test
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  other-modules:
    Readme
    Spec

  hs-source-dirs:   tests
  main-is:          test.hs
  build-depends:
    , base                ^>=4.17.2.0
    , fields-and-cases
    , lima
    , process
    , regex-compat
    , relude
    , string-conversions
    , tasty
    , tasty-hunit