package volgo

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Volgo_stdlib.Absolute_pathSource

include module type of struct include Fpath_sexp0.Absolute_path end
Sourcetype t = Fpath.t

The type of absolute paths.

Note: Some versions of odoc may display this as type t = Fpath.t, but the actual definition is: type t = private Fpath.t, which enforces the following invariants:

  • The path is absolute (starts with "/")
  • The path is normalized via Fpath.normalize, so all ".." segments are resolved
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval compare : t -> t -> int
Sourceval equal : t -> t -> bool
Sourceval hash : t -> int
Sourceval seeded_hash : int -> t -> int
Sourceval to_fpath : t -> Fpath.t
Sourceval to_string : t -> string
Sourceval of_fpath : Fpath.t -> t option

of_fpath p returns p normalized via Fpath.normalize and classified as an absolute path. Returns None if p is not an absolute path.

Sourceval of_string : string -> (t, [ `Msg of string ]) Result.t

This is a convenient wrapper to compose Fpath.of_string and of_fpath.

Sourceval v : string -> t

v str returns a t or raises Invalid_argument.

Sourceval root : t

The root path "/".

Sourceval append : t -> Fpath.t -> t

append abs rel appends relative path rel to absolute path abs and normalizes the result via Fpath.normalize.

The result is guaranteed to stay at or below abs in the directory tree, since relative_path values cannot escape upward.

Sourceval extend : t -> Fpath_sexp0.Fsegment.t -> t

extend abs seg appends filesystem segment seg to absolute path abs and normalizes the result via Fpath.normalize.

Sourceval parent : t -> t option
Sourceval chop_prefix : t -> prefix:t -> Fpath.t option

chop_prefix t ~prefix removes prefix prefix from path t. Returns Some result where result is t with prefix removed, or None if prefix is not actually a prefix of t.

When t equals prefix, returns Some empty where empty is the empty relative path "./".

Sourceval chop_suffix : t -> suffix:Fpath.t -> t option

chop_suffix t ~suffix removes suffix suffix from path t.

Returns Some result where result is t with suffix removed, or None if suffix is not actually a suffix of t. When suffix is the empty relative path "./", returns Some t unchanged.

When a non-empty suffix is successfully removed, the result is a directory path.

Sourceval is_dir_path : t -> bool
Sourceval to_dir_path : t -> t
Sourceval rem_empty_seg : t -> t
Sourceval relativize : root:t -> Fpath.t -> t

Converts a Path.t to an Absolute_path.t:

  • If the path is already absolute, that's the answer.
  • If the path is relative, it is made absolute by appending it to root.
Sourceval to_dyn : t -> Dyn.t