on master help sign in
Simplify the value parser

If we've already peeked at a byte, we don't need to check its value a second time.

commit1a2a0db52be0266c885ef0b03827de76b1c6fb1d authorBryan O'Sullivan <bos@serpentine.com> dateTue 26 Nov 2013, 23:41 (13 years ago) parent2fcf508
1 file changed+3−3
Data/Aeson/Parser/Internal.hs+3−3
Data/Aeson/Parser/Internal.hs+3−3
@@ -166,9 +166,9 @@ value :: Parser Value
166166value = do
167167 w <- A.peekWord8'
168168 case w of
169− DOUBLE_QUOTE -> char '"' *> (String <$> jstring_)
170− OPEN_CURLY -> char '{' *> object_
171− OPEN_SQUARE -> char '[' *> array_
169+ DOUBLE_QUOTE -> A.anyWord8 *> (String <$> jstring_)
170+ OPEN_CURLY -> A.anyWord8 *> object_
171+ OPEN_SQUARE -> A.anyWord8 *> array_
172172 C_f -> string "false" *> pure (Bool False)
173173 C_t -> string "true" *> pure (Bool True)
174174 C_n -> string "null" *> pure Null