module DSV.AttoView ( attoByteStringView ) where import DSV.AttoParser import DSV.ByteString import DSV.Validation import DSV.ViewType -- attoparsec import qualified Data.Attoparsec.ByteString as A attoByteStringView :: e -> AttoParser a -> View e ByteString a attoByteStringView e p = View $ \bs -> case A.parseOnly (p <* A.endOfInput) bs of Left _ -> Failure e Right x -> Success x