@@ -20,6 +20,7 @@ import Data.Functor.Identity (Identity(..))
2020import Data.List (transpose , nub , nubBy , sortBy , partition )
2121import Data.Maybe (maybeToList , fromMaybe , mapMaybe )
2222import Data.Ord (comparing )
23+ import Data.String (fromString )
2324import qualified Data.Map as M
2425import qualified Data.Text as T
2526import Data.Text (Text )
@@ -31,7 +32,8 @@ import Language.PureScript.Environment
3132import Language.PureScript.Label (Label (.. ))
3233import Language.PureScript.Names
3334import Language.PureScript.Pretty
34- import Language.PureScript.Pretty.Common (before , endWith )
35+ import Language.PureScript.Pretty.Common (endWith )
36+ import Language.PureScript.PSString (PSString , decodeStringWithReplacement )
3537import Language.PureScript.Traversals
3638import Language.PureScript.Types
3739import qualified Language.PureScript.Publish.BoxesHelpers as BoxHelpers
@@ -1264,12 +1266,15 @@ renderBox = unlines
12641266 whiteSpace = all isSpace
12651267
12661268toTypelevelString :: Type -> Maybe Box. Box
1267- toTypelevelString (TypeLevelString s) = Just $ Box. text $ T. unpack $ prettyPrintString s
1268- toTypelevelString (TypeApp (TypeConstructor f) x)
1269- | f == primName " TypeString" = Just $ typeAsBox x
1270- toTypelevelString (TypeApp (TypeApp (TypeConstructor f) x) ret)
1271- | f == primName " TypeConcat" = before <$> (toTypelevelString x) <*> (toTypelevelString ret)
1272- toTypelevelString _ = Nothing
1269+ toTypelevelString t = (Box. text . decodeStringWithReplacement) <$> toTypelevelString' t
1270+ where
1271+ toTypelevelString' :: Type -> Maybe PSString
1272+ toTypelevelString' (TypeLevelString s) = Just s
1273+ toTypelevelString' (TypeApp (TypeConstructor f) x)
1274+ | f == primName " TypeString" = Just $ fromString $ prettyPrintType x
1275+ toTypelevelString' (TypeApp (TypeApp (TypeConstructor f) x) ret)
1276+ | f == primName " TypeConcat" = toTypelevelString' x <> toTypelevelString' ret
1277+ toTypelevelString' _ = Nothing
12731278
12741279-- | Rethrow an error with a more detailed error message in the case of failure
12751280rethrow :: (MonadError e m ) => (e -> e ) -> m a -> m a
0 commit comments