package fpath-base

  1. Overview
  2. Docs
Adds a few functions to Fpath to use alongside Base

Install

dune-project
 Dependency

Authors

Maintainers

Sources

fpath-base-0.4.0.tbz
sha256=1d7c13dd6daf879876b80b72e403ba9334b921d51397ccb3f4e3ab64bebd93f7
sha512=51c9d2236f4707f22d5e09e9134482acf5c11e51b63ef9add4324a768e65ddfcf43fc7e6322fa2ee95e013cc00874ccb29926ad610bd38c5eacdd799dfba9623

doc/fpath-base/Fpath_base/Absolute_path/index.html

Module Fpath_base.Absolute_pathSource

include module type of Fpath_sexp0.Absolute_path with type t := t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
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.
include Base.Comparable.S with type t := t
include Base.Comparisons.S with type t := t
include Base.Comparisons.Infix with type t := t
Sourceval (>=) : t -> t -> bool
Sourceval (<=) : t -> t -> bool
Sourceval (=) : t -> t -> bool
Sourceval (>) : t -> t -> bool
Sourceval (<) : t -> t -> bool
Sourceval (<>) : t -> t -> bool
Sourceval equal : t -> t -> bool
Sourceval compare : t -> t -> int

compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.

Sourceval min : t -> t -> t
Sourceval max : t -> t -> t
Sourceval ascending : t -> t -> int

ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort ~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.

Sourceval descending : t -> t -> int
Sourceval between : t -> low:t -> high:t -> bool

between t ~low ~high means low <= t <= high

Sourceval clamp_exn : t -> min:t -> max:t -> t

clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.

Raises if not (min <= max).

Sourceval clamp : t -> min:t -> max:t -> t Base.Or_error.t
include Base.Comparator.S with type t := t
Sourcetype comparator_witness
Sourceval hash : t -> Base.int
Sourceval hash_fold_t : Base.Hash.state -> t -> Base.Hash.state