packages feed

monad-validate-1.2.0.1: monad-validate.cabal

cabal-version: 2.4
name: monad-validate
version: 1.2.0.1
category: Control
build-type: Simple

synopsis: A monad transformer for data validation.
description:
  Provides the 'ValidateT' monad transformer, designed for writing data
  validations that provide high-quality error reporting without much effort.
  'ValidateT' automatically exploits the data dependencies of your program—as
  encoded implicitly in uses of 'fmap', '<*>', and '>>='—to report as many
  errors as possible upon failure instead of completely aborting at the first
  one. See "Control.Monad.Validate" for more information.

author: Alexis King <lexi.lambda@gmail.com>
maintainer: Alexis King <lexi.lambda@gmail.com>
copyright: 2019 Hasura, 2022 Alexis King
license: ISC
license-file: LICENSE
homepage: https://github.com/lexi-lambda/monad-validate
bug-reports: https://github.com/lexi-lambda/monad-validate/issues

extra-source-files:
  CHANGELOG.md
  LICENSE
  README.md

source-repository head
  type: git
  location: https://github.com/lexi-lambda/monad-validate

common common
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wredundant-constraints

  default-language: Haskell2010
  default-extensions:
    ApplicativeDo
    BangPatterns
    ConstraintKinds
    DataKinds
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveLift
    DeriveTraversable
    DerivingVia
    EmptyCase
    ExistentialQuantification
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    InstanceSigs
    KindSignatures
    LambdaCase
    MultiParamTypeClasses
    MultiWayIf
    NamedFieldPuns
    OverloadedStrings
    RankNTypes
    ScopedTypeVariables
    StandaloneDeriving
    TupleSections
    TypeApplications
    TypeFamilies

  build-depends:
    , base >=4.12 && <5
    , exceptions >=0.9 && <1
    , monad-control ==1.*
    , mtl
    , transformers >=0.5.6
    , transformers-base <1

library
  import: common
  hs-source-dirs: src
  exposed-modules:
    Control.Monad.Validate
    Control.Monad.Validate.Class
    Control.Monad.Validate.Internal

test-suite monad-validate-test-suite
  import: common
  type: exitcode-stdio-1.0

  ghc-options: -rtsopts -threaded -with-rtsopts=-N
  build-depends:
    , aeson >=2 && <3
    , aeson-qq
    , hspec
    , monad-validate
    , scientific
    , text
    , unordered-containers
    , vector
  build-tool-depends:
    , hspec-discover:hspec-discover

  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    Control.Monad.ValidateSpec