on 00a36f5 help sign in
79 lines 1.6 kB history raw
1{-# language DataKinds #-}
2{-# language DeriveAnyClass #-}
3{-# language DeriveGeneric #-}
4{-# language DerivingStrategies #-}
5{-# language DuplicateRecordFields #-}
7{-# options_ghc -O0 #-}
9module Rel8.Schema.Generic.Test
10 ( module Rel8.Schema.Generic.Test
11 )
12where
14-- base
15import GHC.Generics ( Generic )
16import Prelude
18-- rel8
19import Rel8.Schema.Column
20import Rel8.Schema.Generic
22-- text
23import Data.Text ( Text )
26data Table f = Table
27 { foo :: Column f (Label "blah" Bool)
28 , bar :: Column f (Maybe Bool)
29 }
30 deriving stock Generic
31 deriving anyclass Rel8able
34data TablePair f = TablePair
35 { foo :: Column f (Default Bool)
36 , bars :: (Column f Text, Column f Text)
37 }
38 deriving stock Generic
39 deriving anyclass Rel8able
42data TableMaybe f = TableMaybe
43 { foo :: Column f (Label "ABC" [Maybe Bool])
44 , bars :: HMaybe f (TablePair f, TablePair f)
45 }
46 deriving stock Generic
47 deriving anyclass Rel8able
50data TableEither f = TableEither
51 { foo :: Column f Bool
52 , bars :: HEither f (HMaybe f (TablePair f, TablePair f)) (Column f (Label "XYZ" Char))
53 }
54 deriving stock Generic
55 deriving anyclass Rel8able
58data TableThese f = TableThese
59 { foo :: Column f Bool
60 , bars :: HThese f (TableMaybe f) (TableEither f)
61 }
62 deriving stock Generic
63 deriving anyclass Rel8able
66data TableList f = TableList
67 { foo :: Column f Bool
68 , bars :: HList f (TableThese f)
69 }
70 deriving stock Generic
71 deriving anyclass Rel8able
74data TableNonEmpty f = TableNonEmpty
75 { foo :: Column f Bool
76 , bars :: HNonEmpty f (TableList f)
77 }
78 deriving stock Generic
79 deriving anyclass Rel8able