{-# OPTIONS_GHC -Wno-orphans #-}

module LawfulConversions.Relations.LazyByteStringAndShortByteString where

import qualified Data.ByteString.Lazy
import qualified Data.ByteString.Short
import LawfulConversions.Classes
import LawfulConversions.Prelude

instance IsSome Data.ByteString.Lazy.ByteString Data.ByteString.Short.ShortByteString where
  to :: ShortByteString -> ByteString
to = StrictByteString -> ByteString
Data.ByteString.Lazy.fromStrict (StrictByteString -> ByteString)
-> (ShortByteString -> StrictByteString)
-> ShortByteString
-> ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ShortByteString -> StrictByteString
Data.ByteString.Short.fromShort

instance IsSome Data.ByteString.Short.ShortByteString Data.ByteString.Lazy.ByteString where
  to :: ByteString -> ShortByteString
to = StrictByteString -> ShortByteString
Data.ByteString.Short.toShort (StrictByteString -> ShortByteString)
-> (ByteString -> StrictByteString)
-> ByteString
-> ShortByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. ByteString -> StrictByteString
Data.ByteString.Lazy.toStrict

instance IsMany Data.ByteString.Lazy.ByteString Data.ByteString.Short.ShortByteString

instance IsMany Data.ByteString.Short.ShortByteString Data.ByteString.Lazy.ByteString

instance Is Data.ByteString.Lazy.ByteString Data.ByteString.Short.ShortByteString

instance Is Data.ByteString.Short.ShortByteString Data.ByteString.Lazy.ByteString