{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module Database.Beam.Backend.SQL.Types where

import qualified Data.Aeson as Json
import           Data.Bits

data SqlNull = SqlNull
  deriving (Int -> SqlNull -> ShowS
[SqlNull] -> ShowS
SqlNull -> String
(Int -> SqlNull -> ShowS)
-> (SqlNull -> String) -> ([SqlNull] -> ShowS) -> Show SqlNull
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SqlNull -> ShowS
showsPrec :: Int -> SqlNull -> ShowS
$cshow :: SqlNull -> String
show :: SqlNull -> String
$cshowList :: [SqlNull] -> ShowS
showList :: [SqlNull] -> ShowS
Show, SqlNull -> SqlNull -> Bool
(SqlNull -> SqlNull -> Bool)
-> (SqlNull -> SqlNull -> Bool) -> Eq SqlNull
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SqlNull -> SqlNull -> Bool
== :: SqlNull -> SqlNull -> Bool
$c/= :: SqlNull -> SqlNull -> Bool
/= :: SqlNull -> SqlNull -> Bool
Eq, Eq SqlNull
Eq SqlNull =>
(SqlNull -> SqlNull -> Ordering)
-> (SqlNull -> SqlNull -> Bool)
-> (SqlNull -> SqlNull -> Bool)
-> (SqlNull -> SqlNull -> Bool)
-> (SqlNull -> SqlNull -> Bool)
-> (SqlNull -> SqlNull -> SqlNull)
-> (SqlNull -> SqlNull -> SqlNull)
-> Ord SqlNull
SqlNull -> SqlNull -> Bool
SqlNull -> SqlNull -> Ordering
SqlNull -> SqlNull -> SqlNull
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SqlNull -> SqlNull -> Ordering
compare :: SqlNull -> SqlNull -> Ordering
$c< :: SqlNull -> SqlNull -> Bool
< :: SqlNull -> SqlNull -> Bool
$c<= :: SqlNull -> SqlNull -> Bool
<= :: SqlNull -> SqlNull -> Bool
$c> :: SqlNull -> SqlNull -> Bool
> :: SqlNull -> SqlNull -> Bool
$c>= :: SqlNull -> SqlNull -> Bool
>= :: SqlNull -> SqlNull -> Bool
$cmax :: SqlNull -> SqlNull -> SqlNull
max :: SqlNull -> SqlNull -> SqlNull
$cmin :: SqlNull -> SqlNull -> SqlNull
min :: SqlNull -> SqlNull -> SqlNull
Ord, SqlNull
SqlNull -> SqlNull -> Bounded SqlNull
forall a. a -> a -> Bounded a
$cminBound :: SqlNull
minBound :: SqlNull
$cmaxBound :: SqlNull
maxBound :: SqlNull
Bounded, Int -> SqlNull
SqlNull -> Int
SqlNull -> [SqlNull]
SqlNull -> SqlNull
SqlNull -> SqlNull -> [SqlNull]
SqlNull -> SqlNull -> SqlNull -> [SqlNull]
(SqlNull -> SqlNull)
-> (SqlNull -> SqlNull)
-> (Int -> SqlNull)
-> (SqlNull -> Int)
-> (SqlNull -> [SqlNull])
-> (SqlNull -> SqlNull -> [SqlNull])
-> (SqlNull -> SqlNull -> [SqlNull])
-> (SqlNull -> SqlNull -> SqlNull -> [SqlNull])
-> Enum SqlNull
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: SqlNull -> SqlNull
succ :: SqlNull -> SqlNull
$cpred :: SqlNull -> SqlNull
pred :: SqlNull -> SqlNull
$ctoEnum :: Int -> SqlNull
toEnum :: Int -> SqlNull
$cfromEnum :: SqlNull -> Int
fromEnum :: SqlNull -> Int
$cenumFrom :: SqlNull -> [SqlNull]
enumFrom :: SqlNull -> [SqlNull]
$cenumFromThen :: SqlNull -> SqlNull -> [SqlNull]
enumFromThen :: SqlNull -> SqlNull -> [SqlNull]
$cenumFromTo :: SqlNull -> SqlNull -> [SqlNull]
enumFromTo :: SqlNull -> SqlNull -> [SqlNull]
$cenumFromThenTo :: SqlNull -> SqlNull -> SqlNull -> [SqlNull]
enumFromThenTo :: SqlNull -> SqlNull -> SqlNull -> [SqlNull]
Enum)
newtype SqlBitString = SqlBitString Integer
  deriving (Int -> SqlBitString -> ShowS
[SqlBitString] -> ShowS
SqlBitString -> String
(Int -> SqlBitString -> ShowS)
-> (SqlBitString -> String)
-> ([SqlBitString] -> ShowS)
-> Show SqlBitString
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SqlBitString -> ShowS
showsPrec :: Int -> SqlBitString -> ShowS
$cshow :: SqlBitString -> String
show :: SqlBitString -> String
$cshowList :: [SqlBitString] -> ShowS
showList :: [SqlBitString] -> ShowS
Show, SqlBitString -> SqlBitString -> Bool
(SqlBitString -> SqlBitString -> Bool)
-> (SqlBitString -> SqlBitString -> Bool) -> Eq SqlBitString
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SqlBitString -> SqlBitString -> Bool
== :: SqlBitString -> SqlBitString -> Bool
$c/= :: SqlBitString -> SqlBitString -> Bool
/= :: SqlBitString -> SqlBitString -> Bool
Eq, Eq SqlBitString
Eq SqlBitString =>
(SqlBitString -> SqlBitString -> Ordering)
-> (SqlBitString -> SqlBitString -> Bool)
-> (SqlBitString -> SqlBitString -> Bool)
-> (SqlBitString -> SqlBitString -> Bool)
-> (SqlBitString -> SqlBitString -> Bool)
-> (SqlBitString -> SqlBitString -> SqlBitString)
-> (SqlBitString -> SqlBitString -> SqlBitString)
-> Ord SqlBitString
SqlBitString -> SqlBitString -> Bool
SqlBitString -> SqlBitString -> Ordering
SqlBitString -> SqlBitString -> SqlBitString
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: SqlBitString -> SqlBitString -> Ordering
compare :: SqlBitString -> SqlBitString -> Ordering
$c< :: SqlBitString -> SqlBitString -> Bool
< :: SqlBitString -> SqlBitString -> Bool
$c<= :: SqlBitString -> SqlBitString -> Bool
<= :: SqlBitString -> SqlBitString -> Bool
$c> :: SqlBitString -> SqlBitString -> Bool
> :: SqlBitString -> SqlBitString -> Bool
$c>= :: SqlBitString -> SqlBitString -> Bool
>= :: SqlBitString -> SqlBitString -> Bool
$cmax :: SqlBitString -> SqlBitString -> SqlBitString
max :: SqlBitString -> SqlBitString -> SqlBitString
$cmin :: SqlBitString -> SqlBitString -> SqlBitString
min :: SqlBitString -> SqlBitString -> SqlBitString
Ord, Int -> SqlBitString
SqlBitString -> Int
SqlBitString -> [SqlBitString]
SqlBitString -> SqlBitString
SqlBitString -> SqlBitString -> [SqlBitString]
SqlBitString -> SqlBitString -> SqlBitString -> [SqlBitString]
(SqlBitString -> SqlBitString)
-> (SqlBitString -> SqlBitString)
-> (Int -> SqlBitString)
-> (SqlBitString -> Int)
-> (SqlBitString -> [SqlBitString])
-> (SqlBitString -> SqlBitString -> [SqlBitString])
-> (SqlBitString -> SqlBitString -> [SqlBitString])
-> (SqlBitString -> SqlBitString -> SqlBitString -> [SqlBitString])
-> Enum SqlBitString
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: SqlBitString -> SqlBitString
succ :: SqlBitString -> SqlBitString
$cpred :: SqlBitString -> SqlBitString
pred :: SqlBitString -> SqlBitString
$ctoEnum :: Int -> SqlBitString
toEnum :: Int -> SqlBitString
$cfromEnum :: SqlBitString -> Int
fromEnum :: SqlBitString -> Int
$cenumFrom :: SqlBitString -> [SqlBitString]
enumFrom :: SqlBitString -> [SqlBitString]
$cenumFromThen :: SqlBitString -> SqlBitString -> [SqlBitString]
enumFromThen :: SqlBitString -> SqlBitString -> [SqlBitString]
$cenumFromTo :: SqlBitString -> SqlBitString -> [SqlBitString]
enumFromTo :: SqlBitString -> SqlBitString -> [SqlBitString]
$cenumFromThenTo :: SqlBitString -> SqlBitString -> SqlBitString -> [SqlBitString]
enumFromThenTo :: SqlBitString -> SqlBitString -> SqlBitString -> [SqlBitString]
Enum, Eq SqlBitString
SqlBitString
Eq SqlBitString =>
(SqlBitString -> SqlBitString -> SqlBitString)
-> (SqlBitString -> SqlBitString -> SqlBitString)
-> (SqlBitString -> SqlBitString -> SqlBitString)
-> (SqlBitString -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> SqlBitString
-> (Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> Bool)
-> (SqlBitString -> Maybe Int)
-> (SqlBitString -> Int)
-> (SqlBitString -> Bool)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int -> SqlBitString)
-> (SqlBitString -> Int)
-> Bits SqlBitString
Int -> SqlBitString
SqlBitString -> Bool
SqlBitString -> Int
SqlBitString -> Maybe Int
SqlBitString -> SqlBitString
SqlBitString -> Int -> Bool
SqlBitString -> Int -> SqlBitString
SqlBitString -> SqlBitString -> SqlBitString
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: SqlBitString -> SqlBitString -> SqlBitString
.&. :: SqlBitString -> SqlBitString -> SqlBitString
$c.|. :: SqlBitString -> SqlBitString -> SqlBitString
.|. :: SqlBitString -> SqlBitString -> SqlBitString
$cxor :: SqlBitString -> SqlBitString -> SqlBitString
xor :: SqlBitString -> SqlBitString -> SqlBitString
$ccomplement :: SqlBitString -> SqlBitString
complement :: SqlBitString -> SqlBitString
$cshift :: SqlBitString -> Int -> SqlBitString
shift :: SqlBitString -> Int -> SqlBitString
$crotate :: SqlBitString -> Int -> SqlBitString
rotate :: SqlBitString -> Int -> SqlBitString
$czeroBits :: SqlBitString
zeroBits :: SqlBitString
$cbit :: Int -> SqlBitString
bit :: Int -> SqlBitString
$csetBit :: SqlBitString -> Int -> SqlBitString
setBit :: SqlBitString -> Int -> SqlBitString
$cclearBit :: SqlBitString -> Int -> SqlBitString
clearBit :: SqlBitString -> Int -> SqlBitString
$ccomplementBit :: SqlBitString -> Int -> SqlBitString
complementBit :: SqlBitString -> Int -> SqlBitString
$ctestBit :: SqlBitString -> Int -> Bool
testBit :: SqlBitString -> Int -> Bool
$cbitSizeMaybe :: SqlBitString -> Maybe Int
bitSizeMaybe :: SqlBitString -> Maybe Int
$cbitSize :: SqlBitString -> Int
bitSize :: SqlBitString -> Int
$cisSigned :: SqlBitString -> Bool
isSigned :: SqlBitString -> Bool
$cshiftL :: SqlBitString -> Int -> SqlBitString
shiftL :: SqlBitString -> Int -> SqlBitString
$cunsafeShiftL :: SqlBitString -> Int -> SqlBitString
unsafeShiftL :: SqlBitString -> Int -> SqlBitString
$cshiftR :: SqlBitString -> Int -> SqlBitString
shiftR :: SqlBitString -> Int -> SqlBitString
$cunsafeShiftR :: SqlBitString -> Int -> SqlBitString
unsafeShiftR :: SqlBitString -> Int -> SqlBitString
$crotateL :: SqlBitString -> Int -> SqlBitString
rotateL :: SqlBitString -> Int -> SqlBitString
$crotateR :: SqlBitString -> Int -> SqlBitString
rotateR :: SqlBitString -> Int -> SqlBitString
$cpopCount :: SqlBitString -> Int
popCount :: SqlBitString -> Int
Bits)

newtype SqlSerial a = SqlSerial { forall a. SqlSerial a -> a
unSerial :: a }
  deriving (Int -> SqlSerial a -> ShowS
[SqlSerial a] -> ShowS
SqlSerial a -> String
(Int -> SqlSerial a -> ShowS)
-> (SqlSerial a -> String)
-> ([SqlSerial a] -> ShowS)
-> Show (SqlSerial a)
forall a. Show a => Int -> SqlSerial a -> ShowS
forall a. Show a => [SqlSerial a] -> ShowS
forall a. Show a => SqlSerial a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> SqlSerial a -> ShowS
showsPrec :: Int -> SqlSerial a -> ShowS
$cshow :: forall a. Show a => SqlSerial a -> String
show :: SqlSerial a -> String
$cshowList :: forall a. Show a => [SqlSerial a] -> ShowS
showList :: [SqlSerial a] -> ShowS
Show, ReadPrec [SqlSerial a]
ReadPrec (SqlSerial a)
Int -> ReadS (SqlSerial a)
ReadS [SqlSerial a]
(Int -> ReadS (SqlSerial a))
-> ReadS [SqlSerial a]
-> ReadPrec (SqlSerial a)
-> ReadPrec [SqlSerial a]
-> Read (SqlSerial a)
forall a. Read a => ReadPrec [SqlSerial a]
forall a. Read a => ReadPrec (SqlSerial a)
forall a. Read a => Int -> ReadS (SqlSerial a)
forall a. Read a => ReadS [SqlSerial a]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: forall a. Read a => Int -> ReadS (SqlSerial a)
readsPrec :: Int -> ReadS (SqlSerial a)
$creadList :: forall a. Read a => ReadS [SqlSerial a]
readList :: ReadS [SqlSerial a]
$creadPrec :: forall a. Read a => ReadPrec (SqlSerial a)
readPrec :: ReadPrec (SqlSerial a)
$creadListPrec :: forall a. Read a => ReadPrec [SqlSerial a]
readListPrec :: ReadPrec [SqlSerial a]
Read, SqlSerial a -> SqlSerial a -> Bool
(SqlSerial a -> SqlSerial a -> Bool)
-> (SqlSerial a -> SqlSerial a -> Bool) -> Eq (SqlSerial a)
forall a. Eq a => SqlSerial a -> SqlSerial a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => SqlSerial a -> SqlSerial a -> Bool
== :: SqlSerial a -> SqlSerial a -> Bool
$c/= :: forall a. Eq a => SqlSerial a -> SqlSerial a -> Bool
/= :: SqlSerial a -> SqlSerial a -> Bool
Eq, Eq (SqlSerial a)
Eq (SqlSerial a) =>
(SqlSerial a -> SqlSerial a -> Ordering)
-> (SqlSerial a -> SqlSerial a -> Bool)
-> (SqlSerial a -> SqlSerial a -> Bool)
-> (SqlSerial a -> SqlSerial a -> Bool)
-> (SqlSerial a -> SqlSerial a -> Bool)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> Ord (SqlSerial a)
SqlSerial a -> SqlSerial a -> Bool
SqlSerial a -> SqlSerial a -> Ordering
SqlSerial a -> SqlSerial a -> SqlSerial a
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a. Ord a => Eq (SqlSerial a)
forall a. Ord a => SqlSerial a -> SqlSerial a -> Bool
forall a. Ord a => SqlSerial a -> SqlSerial a -> Ordering
forall a. Ord a => SqlSerial a -> SqlSerial a -> SqlSerial a
$ccompare :: forall a. Ord a => SqlSerial a -> SqlSerial a -> Ordering
compare :: SqlSerial a -> SqlSerial a -> Ordering
$c< :: forall a. Ord a => SqlSerial a -> SqlSerial a -> Bool
< :: SqlSerial a -> SqlSerial a -> Bool
$c<= :: forall a. Ord a => SqlSerial a -> SqlSerial a -> Bool
<= :: SqlSerial a -> SqlSerial a -> Bool
$c> :: forall a. Ord a => SqlSerial a -> SqlSerial a -> Bool
> :: SqlSerial a -> SqlSerial a -> Bool
$c>= :: forall a. Ord a => SqlSerial a -> SqlSerial a -> Bool
>= :: SqlSerial a -> SqlSerial a -> Bool
$cmax :: forall a. Ord a => SqlSerial a -> SqlSerial a -> SqlSerial a
max :: SqlSerial a -> SqlSerial a -> SqlSerial a
$cmin :: forall a. Ord a => SqlSerial a -> SqlSerial a -> SqlSerial a
min :: SqlSerial a -> SqlSerial a -> SqlSerial a
Ord, Integer -> SqlSerial a
SqlSerial a -> SqlSerial a
SqlSerial a -> SqlSerial a -> SqlSerial a
(SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a)
-> (Integer -> SqlSerial a)
-> Num (SqlSerial a)
forall a. Num a => Integer -> SqlSerial a
forall a. Num a => SqlSerial a -> SqlSerial a
forall a. Num a => SqlSerial a -> SqlSerial a -> SqlSerial a
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: forall a. Num a => SqlSerial a -> SqlSerial a -> SqlSerial a
+ :: SqlSerial a -> SqlSerial a -> SqlSerial a
$c- :: forall a. Num a => SqlSerial a -> SqlSerial a -> SqlSerial a
- :: SqlSerial a -> SqlSerial a -> SqlSerial a
$c* :: forall a. Num a => SqlSerial a -> SqlSerial a -> SqlSerial a
* :: SqlSerial a -> SqlSerial a -> SqlSerial a
$cnegate :: forall a. Num a => SqlSerial a -> SqlSerial a
negate :: SqlSerial a -> SqlSerial a
$cabs :: forall a. Num a => SqlSerial a -> SqlSerial a
abs :: SqlSerial a -> SqlSerial a
$csignum :: forall a. Num a => SqlSerial a -> SqlSerial a
signum :: SqlSerial a -> SqlSerial a
$cfromInteger :: forall a. Num a => Integer -> SqlSerial a
fromInteger :: Integer -> SqlSerial a
Num, Enum (SqlSerial a)
Real (SqlSerial a)
(Real (SqlSerial a), Enum (SqlSerial a)) =>
(SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a))
-> (SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a))
-> (SqlSerial a -> Integer)
-> Integral (SqlSerial a)
SqlSerial a -> Integer
SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
SqlSerial a -> SqlSerial a -> SqlSerial a
forall a. Integral a => Enum (SqlSerial a)
forall a. Integral a => Real (SqlSerial a)
forall a. Integral a => SqlSerial a -> Integer
forall a.
Integral a =>
SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
forall a. Integral a => SqlSerial a -> SqlSerial a -> SqlSerial a
forall a.
(Real a, Enum a) =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: forall a. Integral a => SqlSerial a -> SqlSerial a -> SqlSerial a
quot :: SqlSerial a -> SqlSerial a -> SqlSerial a
$crem :: forall a. Integral a => SqlSerial a -> SqlSerial a -> SqlSerial a
rem :: SqlSerial a -> SqlSerial a -> SqlSerial a
$cdiv :: forall a. Integral a => SqlSerial a -> SqlSerial a -> SqlSerial a
div :: SqlSerial a -> SqlSerial a -> SqlSerial a
$cmod :: forall a. Integral a => SqlSerial a -> SqlSerial a -> SqlSerial a
mod :: SqlSerial a -> SqlSerial a -> SqlSerial a
$cquotRem :: forall a.
Integral a =>
SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
quotRem :: SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
$cdivMod :: forall a.
Integral a =>
SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
divMod :: SqlSerial a -> SqlSerial a -> (SqlSerial a, SqlSerial a)
$ctoInteger :: forall a. Integral a => SqlSerial a -> Integer
toInteger :: SqlSerial a -> Integer
Integral, Num (SqlSerial a)
Ord (SqlSerial a)
(Num (SqlSerial a), Ord (SqlSerial a)) =>
(SqlSerial a -> Rational) -> Real (SqlSerial a)
SqlSerial a -> Rational
forall a. (Num a, Ord a) => (a -> Rational) -> Real a
forall a. Real a => Num (SqlSerial a)
forall a. Real a => Ord (SqlSerial a)
forall a. Real a => SqlSerial a -> Rational
$ctoRational :: forall a. Real a => SqlSerial a -> Rational
toRational :: SqlSerial a -> Rational
Real, Int -> SqlSerial a
SqlSerial a -> Int
SqlSerial a -> [SqlSerial a]
SqlSerial a -> SqlSerial a
SqlSerial a -> SqlSerial a -> [SqlSerial a]
SqlSerial a -> SqlSerial a -> SqlSerial a -> [SqlSerial a]
(SqlSerial a -> SqlSerial a)
-> (SqlSerial a -> SqlSerial a)
-> (Int -> SqlSerial a)
-> (SqlSerial a -> Int)
-> (SqlSerial a -> [SqlSerial a])
-> (SqlSerial a -> SqlSerial a -> [SqlSerial a])
-> (SqlSerial a -> SqlSerial a -> [SqlSerial a])
-> (SqlSerial a -> SqlSerial a -> SqlSerial a -> [SqlSerial a])
-> Enum (SqlSerial a)
forall a. Enum a => Int -> SqlSerial a
forall a. Enum a => SqlSerial a -> Int
forall a. Enum a => SqlSerial a -> [SqlSerial a]
forall a. Enum a => SqlSerial a -> SqlSerial a
forall a. Enum a => SqlSerial a -> SqlSerial a -> [SqlSerial a]
forall a.
Enum a =>
SqlSerial a -> SqlSerial a -> SqlSerial a -> [SqlSerial a]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: forall a. Enum a => SqlSerial a -> SqlSerial a
succ :: SqlSerial a -> SqlSerial a
$cpred :: forall a. Enum a => SqlSerial a -> SqlSerial a
pred :: SqlSerial a -> SqlSerial a
$ctoEnum :: forall a. Enum a => Int -> SqlSerial a
toEnum :: Int -> SqlSerial a
$cfromEnum :: forall a. Enum a => SqlSerial a -> Int
fromEnum :: SqlSerial a -> Int
$cenumFrom :: forall a. Enum a => SqlSerial a -> [SqlSerial a]
enumFrom :: SqlSerial a -> [SqlSerial a]
$cenumFromThen :: forall a. Enum a => SqlSerial a -> SqlSerial a -> [SqlSerial a]
enumFromThen :: SqlSerial a -> SqlSerial a -> [SqlSerial a]
$cenumFromTo :: forall a. Enum a => SqlSerial a -> SqlSerial a -> [SqlSerial a]
enumFromTo :: SqlSerial a -> SqlSerial a -> [SqlSerial a]
$cenumFromThenTo :: forall a.
Enum a =>
SqlSerial a -> SqlSerial a -> SqlSerial a -> [SqlSerial a]
enumFromThenTo :: SqlSerial a -> SqlSerial a -> SqlSerial a -> [SqlSerial a]
Enum)

instance Json.FromJSON a => Json.FromJSON (SqlSerial a) where
  parseJSON :: Value -> Parser (SqlSerial a)
parseJSON Value
a = a -> SqlSerial a
forall a. a -> SqlSerial a
SqlSerial (a -> SqlSerial a) -> Parser a -> Parser (SqlSerial a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser a
forall a. FromJSON a => Value -> Parser a
Json.parseJSON Value
a
instance Json.ToJSON a => Json.ToJSON (SqlSerial a) where
  toJSON :: SqlSerial a -> Value
toJSON (SqlSerial a
a) = a -> Value
forall a. ToJSON a => a -> Value
Json.toJSON a
a
  toEncoding :: SqlSerial a -> Encoding
toEncoding (SqlSerial a
a) = a -> Encoding
forall a. ToJSON a => a -> Encoding
Json.toEncoding a
a