Module fs/temp

fs/temp

RAII-managed temporary files and directories.

Example

{ TempDir } :: import "std/fs/temp";

main :: (fn(using(io : IO)) -> unit)({
  given(exn) : Exception = {
    throw : (fn(forall(T : Type), error: AnyError) -> T)(
      { println(error.to_string()); exit(i32(1)); }
    )
  };

  dir := io.await(TempDir.new());
  println(dir.path());
  io.await(dir.remove());
});

Types

TempDir object
TempDir

Temporary directory that can be cleaned up with remove.

Fields

NameTypeDescription
_pathPath
_removedbool
impl(TempDir, ...)
new_in : (TempDir) fn(parent : Path, using(io : IO)) -> Impl(Future(TempDir, IO, Exception))

Parameters

NameTypeNotes
parentPath

Returns: Impl(Future(TempDir, IO, Exception))

new : (TempDir) fn(using(io : IO)) -> Impl(Future(TempDir, IO, Exception))

Returns: Impl(Future(TempDir, IO, Exception))

path : (TempDir) fn(self : TempDir) -> Path

Parameters

NameTypeNotes
selfTempDir

Returns: Path

remove : (TempDir) fn(self : TempDir, using(io : IO)) -> Impl(Future(unit, IO, Exception))

Parameters

NameTypeNotes
selfTempDir

Returns: Impl(Future(unit, IO, Exception))

TempFile object
TempFile

Temporary file backed by a File handle.

Fields

NameTypeDescription
_fileFile
_pathPath
_removedbool
impl(TempFile, ...)
new_in : (TempFile) fn(parent : Path, using(io : IO)) -> Impl(Future(TempFile, IO, Exception))

Parameters

NameTypeNotes
parentPath

Returns: Impl(Future(TempFile, IO, Exception))

new : (TempFile) fn(using(io : IO)) -> Impl(Future(TempFile, IO, Exception))

Returns: Impl(Future(TempFile, IO, Exception))

file : (TempFile) fn(self : TempFile) -> File

Parameters

NameTypeNotes
selfTempFile

Returns: File

path : (TempFile) fn(self : TempFile) -> Path

Parameters

NameTypeNotes
selfTempFile

Returns: Path

remove : (TempFile) fn(self : TempFile, using(io : IO)) -> Impl(Future(unit, IO, Exception))

Parameters

NameTypeNotes
selfTempFile

Returns: Impl(Future(unit, IO, Exception))