packages feed

postgresql-types-algebra-0.0.1: postgresql-types-algebra.cabal

cabal-version: 3.0
name: postgresql-types-algebra
version: 0.0.1
category: PostgreSQL, Codecs
synopsis: Type classes for PostgreSQL type mappings
description:
  Core type classes and algebra extracted from the postgresql-types library.

  Defines the fundamental abstractions for mapping Haskell types to PostgreSQL types,
  including binary and textual encoding/decoding, type metadata, and error handling.

  This package provides the type class algebra without concrete type implementations,
  making it suitable as a lightweight dependency for libraries that want to define
  their own PostgreSQL type mappings or work with the postgresql-types ecosystem.

homepage: https://github.com/nikita-volkov/postgresql-types-algebra
bug-reports: https://github.com/nikita-volkov/postgresql-types-algebra/issues
author: Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer: Nikita Volkov <nikita.y.volkov@mail.ru>
copyright: (c) 2025, Nikita Volkov
license: MIT
license-file: LICENSE
extra-doc-files:
  LICENSE
  README.md

source-repository head
  type: git
  location: https://github.com/nikita-volkov/postgresql-types-algebra

common base
  default-language: Haskell2010
  default-extensions:
    ApplicativeDo
    BangPatterns
    BinaryLiterals
    BlockArguments
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveTraversable
    DerivingStrategies
    DerivingVia
    DuplicateRecordFields
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    NamedFieldPuns
    NoImplicitPrelude
    NoMonomorphismRestriction
    NumericUnderscores
    OverloadedStrings
    ParallelListComp
    PatternGuards
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    StrictData
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    UnboxedTuples
    ViewPatterns

common executable
  import: base
  ghc-options:
    -O2
    -threaded
    -with-rtsopts=-N
    -rtsopts
    -funbox-strict-fields

common test
  import: base
  ghc-options:
    -threaded
    -with-rtsopts=-N

library
  import: base
  hs-source-dirs: src/library
  exposed-modules:
    PostgresqlTypes.Algebra

  build-depends:
    attoparsec >=0.14 && <0.19,
    base >=4.11 && <5,
    bytestring >=0.10 && <0.13,
    ptr-peeker ^>=0.1,
    ptr-poker ^>=0.1.2.16,
    tagged ^>=0.8.9,
    text >=1.2 && <3,
    text-builder ^>=1.0.0.4,