package b0

  1. Overview
  2. Docs

Environment variables.

Variables

val find : empty_to_none:bool -> string -> string option

find ~empty_to_none name is the value of the environment variable name in the current process environment, if defined. If empty_to_none is true (default), None is returned if the variable value is the empty string.

val find_value : (string -> ('a, string) result) -> empty_to_none:bool -> string -> ('a, string) result option

find_value parse ~empty_to_none name is Option.bind parse (find ~empty_to_none name), except the error message of parse is tweaked to mention name in case of error.

Process environement

type t = string String.Map.t

The type for process environments.

val empty : t
val override : t -> by:t -> t

override env ~by:o overrides the definitions in env by o.

val current : unit -> (t, string) result

current () is the current process environment.

Process environments as assignments

type assignments = string list

The type for environments as lists of strings of the form "var=value".

val current_assignments : unit -> (assignments, string) result

current_assignments () is the current process environment as assignments.

val of_assignments : ?init:t -> string list -> (t, string) result

of_assignments ~init ss folds over strings in ss, cuts them at the leftmost '=' character and adds the resulting pair to init (defaults to empty). If the same variable is bound more than once, the last one takes over.

val to_assignments : t -> assignments

to_assignments env is env's bindings as assignments.