packages feed

pgmq-hasql-0.2.0.0: pgmq-hasql.cabal

cabal-version:   3.4
name:            pgmq-hasql
version:         0.2.0.0
synopsis:        Hasql-based client for PGMQ (PostgreSQL Message Queue)
description:
  A Haskell client library for PGMQ (PostgreSQL Message Queue) built
  on hasql. Provides queue management, message sending\/receiving,
  visibility timeout, archival, FIFO reads, and more. Supports
  pgmq 1.5.0 through 1.11.0 features including message headers,
  conditional reads, notifications, round-robin FIFO, and topic routing.

homepage:        https://github.com/shinzui/pgmq-hs
license:         MIT
license-file:    LICENSE
author:          Nadeem Bitar
maintainer:      Nadeem Bitar
category:        Database
build-type:      Simple
extra-doc-files: CHANGELOG.md

common warnings
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Wredundant-constraints
    -fhide-source-paths -Wmissing-export-lists -Wpartial-fields
    -Wmissing-deriving-strategies

library
  import:             warnings
  exposed-modules:
    Pgmq
    Pgmq.Hasql.Decoders
    Pgmq.Hasql.Encoders
    Pgmq.Hasql.Prelude
    Pgmq.Hasql.Quasi
    Pgmq.Hasql.Sessions
    Pgmq.Hasql.Statements
    Pgmq.Hasql.Statements.Message
    Pgmq.Hasql.Statements.QueueManagement
    Pgmq.Hasql.Statements.QueueObservability
    Pgmq.Hasql.Statements.TopicManagement
    Pgmq.Hasql.Statements.Types

  default-extensions:
    DeriveGeneric
    DuplicateRecordFields
    GeneralisedNewtypeDeriving
    ImportQualifiedPost
    NamedFieldPuns
    OverloadedLabels
    OverloadedStrings

  build-depends:
    , aeson              ^>=2.2
    , base               >=4.18  && <5
    , generic-lens       ^>=2.2  || ^>=2.3
    , hasql              ^>=1.10
    , hasql-transaction  ^>=1.2
    , lens               ^>=5.3
    , pgmq-core          >=0.2   && <0.3
    , template-haskell   >=2.20  && <3
    , text               ^>=2.1
    , time               ^>=1.14
    , vector             ^>=0.13

  hs-source-dirs:     src
  default-language:   GHC2024

test-suite pgmq-hasql-test
  import:             warnings
  default-language:   GHC2024
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Main.hs
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  other-modules:
    AdvancedOpsSpec
    AllFunctionsDecoderSpec
    DecoderValidationSpec
    EphemeralDb
    Generators
    MessageSpec
    MetricsSpec
    QueueSpec
    RoundTripSpec
    SchemaSpec
    TestUtils
    TopicSpec

  default-extensions:
    ImportQualifiedPost
    OverloadedStrings

  build-depends:
    , aeson
    , base            >=4.18  && <5
    , ephemeral-pg    >=0.2.1
    , hasql
    , hasql-pool      ^>=1.4
    , hedgehog        ^>=1.5
    , pgmq-core
    , pgmq-hasql
    , pgmq-migration
    , random          ^>=1.2
    , scientific      ^>=0.3
    , tasty           ^>=1.5
    , tasty-hedgehog  ^>=1.4
    , tasty-hunit     ^>=0.10
    , text
    , time
    , vector