mirror of
https://github.com/circuithub/rel8.git
synced 2024-10-05 21:29:35 +03:00
9105dbf67f
This means that users defining new `DBType`s will have to additionally derive `Encodable` (but a simple `deriving Encodable` will suffice). It also opens up the possibility of users defining non-`DBType`s that are `lit`able (and `select`able). For example, the `HKDT` helper makes allows arbitrary products of `DBType`s to be `lit`ed via `higgled`'s `HKD`: ```haskell data S3Object = S3Object { bucketName :: Text , objectKey :: Text } deriving stock Generic deriving Encodable via HKDT S3Object ``` With the above loaded into GHCi: ``` >>> :t lit (S3Object mempty mempty) lit (S3Object mempty mempty) :: HKD S3Object Expr ``` The implementation is extensible, allowing for the possibility of other "strategies" (in addition to `DBType` and `HKD`) in the future.
216 lines
4.6 KiB
Plaintext
216 lines
4.6 KiB
Plaintext
cabal-version: 2.0
|
|
name: rel8
|
|
version: 0.1.0.0
|
|
synopsis: Hey! Hey! Can u rel8?
|
|
license: BSD3
|
|
license-file: LICENSE
|
|
author: Oliver Charles
|
|
maintainer: ollie@ocharles.org.uk
|
|
build-type: Simple
|
|
|
|
library
|
|
build-depends:
|
|
aeson
|
|
, base ^>= 4.14 || ^>=4.15
|
|
, bytestring
|
|
, case-insensitive
|
|
, contravariant
|
|
, hasql ^>= 1.4.5.1
|
|
, opaleye ^>= 0.7.1.0
|
|
, profunctors
|
|
, scientific
|
|
, semialign
|
|
, semigroupoids
|
|
, text
|
|
, these
|
|
, time
|
|
, uuid
|
|
default-language:
|
|
Haskell2010
|
|
ghc-options:
|
|
-Weverything -Wno-unsafe -Wno-safe -Wno-missing-safe-haskell-mode
|
|
-Wno-missing-import-lists -Wno-prepositive-qualified-module
|
|
-Wno-monomorphism-restriction
|
|
-Wno-missing-local-signatures
|
|
hs-source-dirs:
|
|
src
|
|
exposed-modules:
|
|
Rel8
|
|
Rel8.Expr.Num
|
|
Rel8.Expr.Text
|
|
Rel8.Expr.Time
|
|
Rel8.Tabulate
|
|
|
|
-- deprecated
|
|
Rel8.Aggregate.Legacy
|
|
|
|
other-modules:
|
|
Rel8.Aggregate
|
|
|
|
Rel8.Column
|
|
Rel8.Column.ADT
|
|
Rel8.Column.Either
|
|
Rel8.Column.Field
|
|
Rel8.Column.Lift
|
|
Rel8.Column.List
|
|
Rel8.Column.Maybe
|
|
Rel8.Column.NonEmpty
|
|
Rel8.Column.These
|
|
|
|
Rel8.Expr
|
|
Rel8.Expr.Aggregate
|
|
Rel8.Expr.Array
|
|
Rel8.Expr.Bool
|
|
Rel8.Expr.Eq
|
|
Rel8.Expr.Function
|
|
Rel8.Expr.Null
|
|
Rel8.Expr.Opaleye
|
|
Rel8.Expr.Ord
|
|
Rel8.Expr.Order
|
|
Rel8.Expr.Serialize
|
|
|
|
Rel8.FCF
|
|
|
|
Rel8.Kind.Algebra
|
|
Rel8.Kind.Context
|
|
Rel8.Kind.Labels
|
|
Rel8.Kind.Necessity
|
|
|
|
Rel8.Generic.Construction
|
|
Rel8.Generic.Construction.ADT
|
|
Rel8.Generic.Construction.Record
|
|
Rel8.Generic.Map
|
|
Rel8.Generic.Record
|
|
Rel8.Generic.Reify
|
|
Rel8.Generic.Rel8able
|
|
Rel8.Generic.Rel8able.Test
|
|
Rel8.Generic.Table
|
|
Rel8.Generic.Table.ADT
|
|
Rel8.Generic.Table.Record
|
|
|
|
Rel8.Order
|
|
|
|
Rel8.Query
|
|
Rel8.Query.Aggregate
|
|
Rel8.Query.Distinct
|
|
Rel8.Query.Each
|
|
Rel8.Query.Either
|
|
Rel8.Query.Exists
|
|
Rel8.Query.Filter
|
|
Rel8.Query.Limit
|
|
Rel8.Query.List
|
|
Rel8.Query.Maybe
|
|
Rel8.Query.Null
|
|
Rel8.Query.Opaleye
|
|
Rel8.Query.Order
|
|
Rel8.Query.Set
|
|
Rel8.Query.SQL
|
|
Rel8.Query.These
|
|
Rel8.Query.Values
|
|
|
|
Rel8.Schema.Context
|
|
Rel8.Schema.Context.Label
|
|
Rel8.Schema.Context.Nullify
|
|
Rel8.Schema.Dict
|
|
Rel8.Schema.HTable
|
|
Rel8.Schema.HTable.Either
|
|
Rel8.Schema.HTable.Identity
|
|
Rel8.Schema.HTable.Label
|
|
Rel8.Schema.HTable.List
|
|
Rel8.Schema.HTable.MapTable
|
|
Rel8.Schema.HTable.Maybe
|
|
Rel8.Schema.HTable.NonEmpty
|
|
Rel8.Schema.HTable.Nullify
|
|
Rel8.Schema.HTable.Product
|
|
Rel8.Schema.HTable.These
|
|
Rel8.Schema.HTable.Vectorize
|
|
Rel8.Schema.Insert
|
|
Rel8.Schema.Kind
|
|
Rel8.Schema.Name
|
|
Rel8.Schema.Null
|
|
Rel8.Schema.Reify
|
|
Rel8.Schema.Result
|
|
Rel8.Schema.Serialize
|
|
Rel8.Schema.Spec
|
|
Rel8.Schema.Spec.ConstrainDBType
|
|
Rel8.Schema.Spec.ConstrainType
|
|
Rel8.Schema.Table
|
|
|
|
Rel8.Statement.Delete
|
|
Rel8.Statement.Insert
|
|
Rel8.Statement.Returning
|
|
Rel8.Statement.Select
|
|
Rel8.Statement.Update
|
|
Rel8.Statement.View
|
|
|
|
Rel8.Table
|
|
Rel8.Table.ADT
|
|
Rel8.Table.Aggregate
|
|
Rel8.Table.Alternative
|
|
Rel8.Table.Bool
|
|
Rel8.Table.Either
|
|
Rel8.Table.Eq
|
|
Rel8.Table.HKD
|
|
Rel8.Table.Insert
|
|
Rel8.Table.List
|
|
Rel8.Table.Maybe
|
|
Rel8.Table.Name
|
|
Rel8.Table.NonEmpty
|
|
Rel8.Table.Opaleye
|
|
Rel8.Table.Ord
|
|
Rel8.Table.Order
|
|
Rel8.Table.Recontextualize
|
|
Rel8.Table.Rel8able
|
|
Rel8.Table.Serialize
|
|
Rel8.Table.Tag
|
|
Rel8.Table.These
|
|
Rel8.Table.Undefined
|
|
Rel8.Table.Unreify
|
|
|
|
Rel8.Type
|
|
Rel8.Type.Array
|
|
Rel8.Type.Composite
|
|
Rel8.Type.Eq
|
|
Rel8.Type.Enum
|
|
Rel8.Type.Information
|
|
Rel8.Type.JSONEncoded
|
|
Rel8.Type.JSONBEncoded
|
|
Rel8.Type.Monoid
|
|
Rel8.Type.Num
|
|
Rel8.Type.Ord
|
|
Rel8.Type.ReadShow
|
|
Rel8.Type.Semigroup
|
|
Rel8.Type.Serialize
|
|
Rel8.Type.String
|
|
Rel8.Type.Sum
|
|
Rel8.Type.Tag
|
|
|
|
test-suite tests
|
|
type: exitcode-stdio-1.0
|
|
build-depends:
|
|
base
|
|
, bytestring
|
|
, case-insensitive
|
|
, containers
|
|
, hasql
|
|
, hedgehog ^>=1.0.2
|
|
, lifted-base ^>=0.2.3.12
|
|
, monad-control ^>=1.0.2.3
|
|
, rel8
|
|
, scientific
|
|
, tasty
|
|
, tasty-hedgehog
|
|
, text
|
|
, time
|
|
, tmp-postgres ^>=1.34.1.0
|
|
, uuid
|
|
|
|
main-is: Main.hs
|
|
hs-source-dirs: tests
|
|
default-language: Haskell2010
|
|
ghc-options:
|
|
-Weverything -Wno-unsafe -Wno-safe -Wno-missing-safe-haskell-mode
|
|
-Wno-missing-import-lists -Wno-prepositive-qualified-module
|
|
-Wno-deprecations -Wno-monomorphism-restriction
|
|
-Wno-missing-local-signatures -Wno-implicit-prelude
|