mirror of
https://github.com/srid/ema.git
synced 2024-11-29 17:46:08 +03:00
Relax more constraints
This commit is contained in:
parent
767b9b471b
commit
0f1ceb464f
@ -27,7 +27,7 @@ import System.FSNotify
|
|||||||
import System.FilePath (makeRelative)
|
import System.FilePath (makeRelative)
|
||||||
import System.FilePattern (FilePattern)
|
import System.FilePattern (FilePattern)
|
||||||
import System.FilePattern.Directory (getDirectoryFiles)
|
import System.FilePattern.Directory (getDirectoryFiles)
|
||||||
import UnliftIO (withRunInIO)
|
import UnliftIO (MonadUnliftIO, withRunInIO)
|
||||||
|
|
||||||
type FolderPath = FilePath
|
type FolderPath = FilePath
|
||||||
|
|
||||||
@ -43,7 +43,12 @@ filesMatching parent' pats = do
|
|||||||
data FileAction = Update | Delete
|
data FileAction = Update | Delete
|
||||||
deriving (Eq, Show)
|
deriving (Eq, Show)
|
||||||
|
|
||||||
onChange :: forall m. MonadEma m => FolderPath -> (FilePath -> FileAction -> m ()) -> m ()
|
onChange ::
|
||||||
|
forall m.
|
||||||
|
(MonadIO m, MonadLogger m, MonadUnliftIO m) =>
|
||||||
|
FolderPath ->
|
||||||
|
(FilePath -> FileAction -> m ()) ->
|
||||||
|
m ()
|
||||||
onChange parent' f = do
|
onChange parent' f = do
|
||||||
-- NOTE: It is important to use canonical path, because this will allow us to
|
-- NOTE: It is important to use canonical path, because this will allow us to
|
||||||
-- transform fsnotify event's (absolute) path into one that is relative to
|
-- transform fsnotify event's (absolute) path into one that is relative to
|
||||||
@ -62,7 +67,7 @@ onChange parent' f = do
|
|||||||
liftIO $ threadDelay maxBound `finally` stop
|
liftIO $ threadDelay maxBound `finally` stop
|
||||||
|
|
||||||
withManagerM ::
|
withManagerM ::
|
||||||
MonadEma m =>
|
(MonadIO m, MonadUnliftIO m) =>
|
||||||
(WatchManager -> m a) ->
|
(WatchManager -> m a) ->
|
||||||
m a
|
m a
|
||||||
withManagerM f = do
|
withManagerM f = do
|
||||||
@ -71,7 +76,7 @@ withManagerM f = do
|
|||||||
|
|
||||||
watchTreeM ::
|
watchTreeM ::
|
||||||
forall m.
|
forall m.
|
||||||
MonadEma m =>
|
(MonadIO m, MonadUnliftIO m) =>
|
||||||
WatchManager ->
|
WatchManager ->
|
||||||
FilePath ->
|
FilePath ->
|
||||||
ActionPredicate ->
|
ActionPredicate ->
|
||||||
|
Loading…
Reference in New Issue
Block a user