{-# OPTIONS_GHC -Wno-orphans #-}

module LawfulConversions.Relations.LazyTextBuilderAndUuid where

import qualified Data.Text.Lazy
import qualified Data.Text.Lazy.Builder
import qualified Data.UUID.Types
import LawfulConversions.Classes
import LawfulConversions.Prelude

instance IsSome Data.Text.Lazy.Builder.Builder UUID where
  to :: UUID -> Builder
to = Text -> Builder
Data.Text.Lazy.Builder.fromText (Text -> Builder) -> (UUID -> Text) -> UUID -> Builder
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
. UUID -> Text
Data.UUID.Types.toText
  maybeFrom :: Builder -> Maybe UUID
maybeFrom = Text -> Maybe UUID
Data.UUID.Types.fromText (Text -> Maybe UUID) -> (Builder -> Text) -> Builder -> Maybe UUID
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
. LazyText -> Text
Data.Text.Lazy.toStrict (LazyText -> Text) -> (Builder -> LazyText) -> Builder -> Text
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
. Builder -> LazyText
Data.Text.Lazy.Builder.toLazyText