{-# LANGUAGE RecordWildCards #-} module Ondim.Targets.Whiskers.Load where import Ondim.Loading (LoadConfig (..), loadFnSimple) import Ondim.Targets.Whiskers.Expansions (defaultState) import Ondim.Targets.Whiskers.Parser (parseWhiskers) loadWhiskers :: (Text, Text) -> LoadConfig s loadWhiskers :: forall s. (Text, Text) -> LoadConfig s loadWhiskers (Text, Text) d = LoadConfig {[FilePattern] OndimState s LoadFn s forall {s}. OndimState s patterns :: [FilePattern] initialState :: forall {s}. OndimState s loadFn :: LoadFn s initialState :: OndimState s loadFn :: LoadFn s patterns :: [FilePattern] ..} where patterns :: [FilePattern] patterns = [FilePattern "**/*.w.*"] initialState :: OndimState s initialState = OndimState s forall {s}. OndimState s defaultState loadFn :: LoadFn s loadFn = (FilePattern -> LByteString -> Either FilePattern [WNode]) -> LoadFn s forall a n. OndimNode a => (FilePattern -> LByteString -> Either FilePattern a) -> LoadFn n loadFnSimple \FilePattern fp LByteString bs -> (Text, Text) -> FilePattern -> Text -> Either FilePattern [WNode] parseWhiskers (Text, Text) d FilePattern fp (Text -> Either FilePattern [WNode]) -> Text -> Either FilePattern [WNode] forall a b. (a -> b) -> a -> b $ LByteString -> Text forall a b. ConvertUtf8 a b => b -> a decodeUtf8 LByteString bs