unliftio-0.2.2.0: The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)

Safe HaskellNone
LanguageHaskell2010

UnliftIO.Temporary

Description

Temporary file and directory support.

Strongly inspired by/stolen from the https://github.com/feuerbach/temporary package.

Since: 0.1.0.0

Synopsis

Documentation

withSystemTempFile Source #

Arguments

:: MonadUnliftIO m 
=> String

File name template. See openTempFile.

-> (FilePath -> Handle -> m a)

Callback that can use the file

-> m a 

Create and use a temporary file in the system standard temporary directory.

Behaves exactly the same as withTempFile, except that the parent temporary directory will be that returned by getCanonicalTemporaryDirectory.

Since: 0.1.0.0

withSystemTempDirectory Source #

Arguments

:: MonadUnliftIO m 
=> String

Directory name template. See openTempFile.

-> (FilePath -> m a)

Callback that can use the directory.

-> m a 

Create and use a temporary directory in the system standard temporary directory.

Behaves exactly the same as withTempDirectory, except that the parent temporary directory will be that returned by getCanonicalTemporaryDirectory.

Since: 0.1.0.0

withTempFile Source #

Arguments

:: MonadUnliftIO m 
=> FilePath

Temp dir to create the file in.

-> String

File name template. See openTempFile.

-> (FilePath -> Handle -> m a)

Callback that can use the file.

-> m a 

Use a temporary filename that doesn't already exist.

Creates a new temporary file inside the given directory, making use of the template. The temp file is deleted after use. For example:

withTempFile "src" "sdist." $ \tmpFile hFile -> do ...

The tmpFile will be file in the given directory, e.g. src/sdist.342.

Since: 0.1.0.0

withTempDirectory Source #

Arguments

:: MonadUnliftIO m 
=> FilePath

Temp directory to create the directory in.

-> String

Directory name template. See openTempFile.

-> (FilePath -> m a)

Callback that can use the directory.

-> m a 

Create and use a temporary directory.

Creates a new temporary directory inside the given directory, making use of the template. The temp directory is deleted after use. For example:

withTempDirectory "src" "sdist." $ \tmpDir -> do ...

The tmpDir will be a new subdirectory of the given directory, e.g. src/sdist.342.

Since: 0.1.0.0