on 5e4df50 help sign in
78 lines 1.6 kB history raw
1{-# language DataKinds #-}
2{-# language DeriveAnyClass #-}
3{-# language DeriveGeneric #-}
4{-# language DerivingStrategies #-}
5{-# language DuplicateRecordFields #-}
7module Rel8.Schema.Generic.Test
8 ( module Rel8.Schema.Generic.Test
9 )
10where
12-- base
13import GHC.Generics ( Generic )
14import Prelude
16-- rel8
17import Rel8.Schema.Column
18import Rel8.Schema.Field
19import Rel8.Schema.Generic
21-- text
22import Data.Text ( Text )
25data Table f = Table
26 { foo :: Column f Bool
27 , bar :: Column f (Maybe Bool)
28 }
29 deriving stock Generic
30 deriving anyclass Rel8able
33data TablePair f = TablePair
34 { foo :: Column f (Default Bool)
35 , bars :: (Column f Text, Column f Text)
36 }
37 deriving stock Generic
38 deriving anyclass Rel8able
41data TableMaybe f = TableMaybe
42 { foo :: Column f [Maybe Bool]
43 , bars :: HMaybe f (TablePair f, TablePair f)
44 }
45 deriving stock Generic
46 deriving anyclass Rel8able
49data TableEither f = TableEither
50 { foo :: Column f Bool
51 , bars :: HEither f (HMaybe f (TablePair f, TablePair f)) (Column f Char)
52 }
53 deriving stock Generic
54 deriving anyclass Rel8able
57data TableThese f = TableThese
58 { foo :: Column f Bool
59 , bars :: HThese f (TableMaybe f) (TableEither f)
60 }
61 deriving stock Generic
62 deriving anyclass Rel8able
65data TableList f = TableList
66 { foo :: Column f Bool
67 , bars :: HList f (TableThese f)
68 }
69 deriving stock Generic
70 deriving anyclass Rel8able
73data TableNonEmpty f = TableNonEmpty
74 { foo :: Column f Bool
75 , bars :: HNonEmpty f (TableList f)
76 }
77 deriving stock Generic
78 deriving anyclass Rel8able