Module fs/metadata

fs/metadata

File metadata via statx with ergonomic accessors. Uses the Exception effect for error handling.

Example

{ metadata } :: import "std/fs/metadata";

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

  m := io.await(metadata(Path.new(`/tmp/test.txt`)));
  printf("size: %lld\n", m.size());
  printf("is file: %d\n", i32(m.is_file()));
});

Types

Metadata object
Metadata

File metadata wrapper around Statx.

Fields

NameTypeDescription
_statxStatx
_buf_ptr*(u8)

Trait Implementations

impl(Metadata, ...)
size : (Metadata) fn(self : Metadata) -> i64

Parameters

NameTypeNotes
selfMetadata

Returns: i64

mode : (Metadata) fn(self : Metadata) -> u32

Parameters

NameTypeNotes
selfMetadata

Returns: u32

is_file : (Metadata) fn(self : Metadata) -> bool

Parameters

NameTypeNotes
selfMetadata

Returns: bool

is_dir : (Metadata) fn(self : Metadata) -> bool

Parameters

NameTypeNotes
selfMetadata

Returns: bool

modified_time : (Metadata) fn(self : Metadata) -> i64

Parameters

NameTypeNotes
selfMetadata

Returns: i64

accessed_time : (Metadata) fn(self : Metadata) -> i64

Parameters

NameTypeNotes
selfMetadata

Returns: i64

created_time : (Metadata) fn(self : Metadata) -> i64

Parameters

NameTypeNotes
selfMetadata

Returns: i64

is_readonly : (Metadata) fn(self : Metadata) -> bool

Parameters

NameTypeNotes
selfMetadata

Returns: bool

uid : (Metadata) fn(self : Metadata) -> u32

Parameters

NameTypeNotes
selfMetadata

Returns: u32

gid : (Metadata) fn(self : Metadata) -> u32

Parameters

NameTypeNotes
selfMetadata

Returns: u32

ino : (Metadata) fn(self : Metadata) -> u64

Parameters

NameTypeNotes
selfMetadata

Returns: u64

impl(Metadata, Dispose(...))
dispose : (fn(self: Self) -> unit)

Returns: unit

Functions

metadata function
fn(path : Path, using(io : IO)) -> Impl(Future(Metadata, IO, Exception))

Get metadata for a path (follows symlinks).

Parameters

NameTypeNotes
pathPath

Effects

NameTypeNotes
ioIOcomptime, implicit

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

metadata_str function
fn(path : str, using(io : IO)) -> Impl(Future(Metadata, IO, Exception))

Get metadata for a path given as a raw string (follows symlinks).

Parameters

NameTypeNotes
pathstr

Effects

NameTypeNotes
ioIOcomptime, implicit

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