16 lines
552 B
Haskell
16 lines
552 B
Haskell
module Data.HTTPSEverywhere.Rules.Internal (
|
|
getRulesets
|
|
) where
|
|
|
|
import Prelude hiding (readFile)
|
|
import Control.Monad ((<=<))
|
|
import Data.Functor.Infix ((<$$>))
|
|
import Data.HTTPSEverywhere.Rules.Raw (getRule, getRules)
|
|
import Pipes (Producer, for, each, yield, lift)
|
|
|
|
import Data.HTTPSEverywhere.Rules.Internal.Parser (parseRuleSets)
|
|
import Data.HTTPSEverywhere.Rules.Internal.Types (RuleSet)
|
|
|
|
getRulesets :: Producer RuleSet IO ()
|
|
getRulesets = lift getRules >>= flip (for . each) (flip (for . each) yield <=< lift . (parseRuleSets <$$> getRule))
|