packages feed

valiant-bluefin-0.1.0.0: valiant-bluefin.cabal

cabal-version:   3.0
name:            valiant-bluefin
version:         0.1.0.0
synopsis:        Bluefin effect adapter for valiant
description:
  Provides an @Valiant@ effect handle for the @bluefin@ effect system,
  enabling compile-time checked SQL queries with explicit effect passing.

  @
  import Valiant.Bluefin

  myApp :: Valiant e -> Eff es [User]
  myApp db = do
    users <- fetchAllB db listUsers ()
    pure users
  @
license:         BSD-3-Clause
license-file:    LICENSE
author:          Josh Burgess
maintainer:      joshburgess.webdev@gmail.com
category:        Database
homepage:        https://github.com/joshburgess/valiant
bug-reports:     https://github.com/joshburgess/valiant/issues
build-type:      Simple
extra-doc-files:
  README.md
  CHANGELOG.md
tested-with:     GHC ==9.10.3

source-repository head
  type:     git
  location: https://github.com/joshburgess/valiant
  subdir:   adapters/valiant-bluefin

flag werror
  description: Enable -Werror for development builds.
  default:     False
  manual:      True

common warnings
  ghc-options: -Wall -Wcompat -Wno-unticked-promoted-constructors -funbox-strict-fields -fspecialise-aggressively
  if flag(werror)
    ghc-options: -Werror

library
  import:           warnings
  hs-source-dirs:   src
  default-language: GHC2021
  default-extensions:
    DerivingStrategies
    LambdaCase
    OverloadedStrings
    StrictData

  exposed-modules:
    Valiant.Bluefin

  build-depends:
    , base            >=4.17 && <5
    , bluefin         >=0.0  && <0.2
    , valiant         >=0.1  && <0.2
    , pg-wire         >=0.1  && <0.2

test-suite valiant-bluefin-test
  import:           warnings
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          Main.hs
  default-language: GHC2021
  default-extensions:
    OverloadedStrings

  ghc-options: -rtsopts "-with-rtsopts=-K8K"

  other-modules:
    TestSupport

  build-depends:
    , base            >=4.17 && <5
    , bytestring      >=0.11 && <0.13
    , hspec           >=2.11 && <2.13
    , valiant
    , valiant-bluefin
    , pg-wire
    , text            >=2.0  && <2.2