@@ -22,10 +22,12 @@ import Data.Either (Either(..), either)
2222import Data.Generic.Rep (class Generic )
2323import Data.Generic.Rep.Show (genericShow )
2424import Data.Newtype (class Newtype , un )
25- import Data.String as String
25+ import Data.String (joinWith ) as String
26+ import Data.String.CodeUnits (singleton ) as String
2627import Data.String.NonEmpty (NonEmptyString )
27- import Data.String.NonEmpty as NES
28- import Global (decodeURIComponent , encodeURIComponent )
28+ import Data.String.NonEmpty.CodeUnits (singleton ) as NES
29+ import Data.String.NonEmpty (unsafeFromString , toString ) as NES
30+ import Global.Unsafe (unsafeDecodeURIComponent , unsafeEncodeURIComponent )
2931import Partial.Unsafe (unsafePartial )
3032import Text.Parsing.Parser (ParseError (..), ParseState (..), Parser , ParserT (..), runParser )
3133import Text.Parsing.Parser.String (anyChar , char , eof , oneOf , satisfy )
@@ -87,14 +89,14 @@ pctEncoded = do
8789-- | Accepts a parser that is used to determine whether a character is allowed
8890-- | to appear un-encoded in the URI component and the string to encode.
8991printEncoded ∷ Parser String Char → String → String
90- printEncoded p s = either (const s) id (runParser s parse)
92+ printEncoded p s = either (const s) identity (runParser s parse)
9193 where
9294 parse ∷ Parser String String
9395 parse = (String .joinWith " " <$> Array .many (simpleChar <|> encodedChar)) <* eof
9496 simpleChar ∷ Parser String String
9597 simpleChar = String .singleton <$> p
9698 encodedChar ∷ Parser String String
97- encodedChar = encodeURIComponent <<< String .singleton <$> anyChar
99+ encodedChar = unsafeEncodeURIComponent <<< String .singleton <$> anyChar
98100
99101-- | A version of [`printEncoded`](#v:printEncoded) that operates on non-empty
100102-- | strings.
@@ -106,4 +108,4 @@ printEncoded' p =
106108-- | that operates on non-empty strings.
107109decodeURIComponent' ∷ NonEmptyString → NonEmptyString
108110decodeURIComponent' =
109- unsafePartial NES .unsafeFromString <<< decodeURIComponent <<< NES .toString
111+ unsafePartial NES .unsafeFromString <<< unsafeDecodeURIComponent <<< NES .toString
0 commit comments