content: {-# OPTIONS_GHC -fno-warn-orphans #-}
  
  -- |
  -- Module      : Database.Relational.PureUTF8
  -- Copyright   : 2013-2019 Kei Hibino
  -- License     : BSD3
  --
  -- Maintainer  : ex8k.hibino@gmail.com
  -- Stability   : experimental
  -- Portability : unknown
  --
  -- This module defines instances to lift from haskell UTF8 byte-sequence
  -- to query internal record values.
  -- This module is not defaultly imported to be selectable instance of byte-sequences.
  module Database.Relational.PureUTF8 () where
  
  import Control.Applicative (pure)
  import Data.ByteString (ByteString)
  import qualified Data.ByteString.Lazy as LB
  import qualified Data.Text as T
  import qualified Data.Text.Encoding as T
  import qualified Data.Text.Lazy as LT
  import qualified Data.Text.Lazy.Encoding as LT
  
  import qualified Database.Relational.Internal.Literal as Lit
  
  import Database.Relational.ProjectableClass (LiteralSQL (..))
  
  
  -- | Constant SQL terms of 'ByteString'.
  instance LiteralSQL ByteString where
    showLiteral' = pure . Lit.stringExpr . T.unpack . T.decodeUtf8
  
  -- | Constant SQL terms of 'LB.ByteString'.
  instance LiteralSQL LB.ByteString where
    showLiteral' = pure . Lit.stringExpr . LT.unpack . LT.decodeUtf8
  