packages feed

relay-pagination-hasql-0.1.1.0: relay-pagination-hasql.cabal

cabal-version:   3.0
name:            relay-pagination-hasql
version:         0.1.1.0
synopsis:
  Keyset-pagination engine producing Relay connections from hasql queries

description:
  Keyset-pagination engine for Relay-style cursors over hasql: declarative
  sort specifications with typed key codecs, generated keyset WHERE/ORDER
  BY/LIMIT clauses with all cursor values as typed SQL parameters, and
  assembly of spec-correct Connection responses.

license:         BSD-3-Clause
license-file:    LICENSE
author:          Nadeem Bitar
maintainer:      Nadeem Bitar
category:        Database, Web
build-type:      Simple
extra-doc-files: CHANGELOG.md

source-repository head
  type:     git
  location: https://github.com/shinzui/relay-pagination

common warnings
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-record-updates
    -Wincomplete-uni-patterns -Wredundant-constraints -Wunused-packages

common lang
  import:             warnings
  default-language:   GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    MultilineStrings
    OverloadedLabels
    OverloadedStrings

library
  import:          lang
  hs-source-dirs:  src
  exposed-modules:
    Relay.Pagination.Hasql
    Relay.Pagination.Hasql.Connection
    Relay.Pagination.Hasql.KeyCodec
    Relay.Pagination.Hasql.SortSpec
    Relay.Pagination.Hasql.Sql

  build-depends:
    , base                      >=4.21     && <5
    , bytestring                >=0.11     && <0.13
    , hasql                     >=1.10     && <1.11
    , hasql-dynamic-statements  >=0.5.1    && <0.6
    , relay-pagination          ^>=0.1.1.0
    , text                      >=2.0      && <2.2
    , time                      >=1.12     && <1.15
    , uuid                      >=1.3      && <1.4

test-suite relay-pagination-hasql-tests
  import:         lang
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Main.hs
  other-modules:
    Test.Codec
    Test.Connection
    Test.Fingerprint
    Test.Integration
    Test.SqlGolden

  build-depends:
    , base
    , bytestring
    , ephemeral-pg
    , hasql
    , hasql-dynamic-statements
    , relay-pagination          ^>=0.1.1.0
    , relay-pagination-hasql
    , tasty
    , tasty-golden
    , tasty-hunit
    , tasty-quickcheck
    , text
    , time
    , uuid