{-# LANGUAGE ViewPatterns #-}
module Text.HTML.TagStream.Utils where

import Data.Monoid (Monoid(..))
import Text.HTML.TagStream.Types

splitAccum :: Monoid s => [Token' s] -> (s, [Token' s])
splitAccum :: forall s. Monoid s => [Token' s] -> (s, [Token' s])
splitAccum [] = (s
forall a. Monoid a => a
mempty, [])
splitAccum ([Token' s] -> [Token' s]
forall a. [a] -> [a]
reverse -> (Incomplete s
s : [Token' s]
xs)) = (s
s, [Token' s] -> [Token' s]
forall a. [a] -> [a]
reverse [Token' s]
xs)
splitAccum [Token' s]
tokens = (s
forall a. Monoid a => a
mempty, [Token' s]
tokens)