Bryan O'Sullivan avatar Bryan O'Sullivan committed f73c580

A tiny simplification

Comments (0)

Files changed (1)

Data/Aeson/Parser.hs

 doubleQuote, backslash :: Word8
 doubleQuote = 34
 backslash = 92
+{-# INLINE backslash #-}
+{-# INLINE doubleQuote #-}
 
 jstring :: Parser Text
 jstring = A.word8 doubleQuote *> jstring_
                                         else Just (c == backslash)
   _ <- A.word8 doubleQuote
   if backslash `B.elem` s
-    then decodeUtf8 <$> reparse unescape s
+    then case Z.parse unescape s of
+           Right r  -> return (decodeUtf8 r)
+           Left err -> fail err
     else return (decodeUtf8 s)
 {-# INLINE jstring_ #-}
 
-reparse :: Z.Parser a -> ByteString -> Parser a
-reparse p s = case Z.parse p s of
-                Right r  -> return r
-                Left err -> fail err
-
 unescape :: Z.Parser ByteString
 unescape = toByteString <$> go mempty where
   go acc = do
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.