module System.Directory.Watchman.SyncTimeout
( HasSyncTimeoutOption(..)
, syncTimeout
, syncOff
) where
class HasSyncTimeoutOption a where
setSyncTimeout :: Maybe Int -> a -> a
syncTimeout
:: HasSyncTimeoutOption a
=> Int
-> (a -> a)
syncTimeout :: Int -> a -> a
syncTimeout Int
n = Maybe Int -> a -> a
forall a. HasSyncTimeoutOption a => Maybe Int -> a -> a
setSyncTimeout (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
n)
syncOff :: HasSyncTimeoutOption a => (a -> a)
syncOff :: a -> a
syncOff = Maybe Int -> a -> a
forall a. HasSyncTimeoutOption a => Maybe Int -> a -> a
setSyncTimeout (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
0)