{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -Wno-orphans #-} module LawfulConversions.Relations.StrictTextBuilderAndString where #if MIN_VERSION_text(2,1,2) import qualified Data.Text.Encoding import LawfulConversions.Classes import LawfulConversions.Relations.StringAndText () import LawfulConversions.Prelude instance IsSome String Data.Text.Encoding.StrictTextBuilder where to = to . Data.Text.Encoding.strictBuilderToText maybeFrom = fmap Data.Text.Encoding.textToStrictBuilder . maybeFrom instance IsMany String Data.Text.Encoding.StrictTextBuilder where from = Data.Text.Encoding.textToStrictBuilder . from #elif MIN_VERSION_text(2,0,2) import qualified Data.Text.Encoding import LawfulConversions.Classes import LawfulConversions.Relations.StringAndText () import LawfulConversions.Prelude instance IsSome String Data.Text.Encoding.StrictBuilder where to :: StrictBuilder -> String to = Text -> String forall a b. IsSome a b => b -> a to (Text -> String) -> (StrictBuilder -> Text) -> StrictBuilder -> String 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 . StrictBuilder -> Text Data.Text.Encoding.strictBuilderToText maybeFrom :: String -> Maybe StrictBuilder maybeFrom = (Text -> StrictBuilder) -> Maybe Text -> Maybe StrictBuilder forall a b. (a -> b) -> Maybe a -> Maybe b forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap Text -> StrictBuilder Data.Text.Encoding.textToStrictBuilder (Maybe Text -> Maybe StrictBuilder) -> (String -> Maybe Text) -> String -> Maybe StrictBuilder 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 . String -> Maybe Text forall a b. IsSome a b => a -> Maybe b maybeFrom instance IsMany String Data.Text.Encoding.StrictBuilder where from :: String -> StrictBuilder from = Text -> StrictBuilder Data.Text.Encoding.textToStrictBuilder (Text -> StrictBuilder) -> (String -> Text) -> String -> StrictBuilder 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 . String -> Text forall a b. IsMany a b => a -> b from #endif