package conex

  1. Overview
  2. Docs
Establishing trust in community repositories

Install

dune-project
 Dependency

Authors

Maintainers

Sources

conex-1.0.0.tbz
sha256=8ba730718cbf0a381f0bce3493d18bfea1823bee0f43e4cbddad222b66dc164f
sha512=a76787c46b7c867e41daba10989841e95e7a2ba142dd09ae078649fd60340fcef703f41ddffc67b9c899fb4a2956906a0c8f9d04db7da435ac502b19851a490a

doc/conex/Conex_utils/index.html

Module Conex_utilsSource

String, unsigned integers, logging, collections, and more

Sets, Maps, List utils

Sourcemodule S : sig ... end

S is a string set.

Sourcemodule M : sig ... end

M is a Map which keys are strings.

Sourceval filter_map : f:('a -> 'b option) -> 'a list -> 'b list

filter_map f xs is xs', a list which contains all elements where f resulted in Some _.

Format

Sourcetype 'a fmt = Format.formatter -> 'a -> unit

'a fmt is the signature for pretty printers.

Sourceval pp_list : 'a fmt -> 'a list fmt

pp_list pp is a pretty printer for a list (surrounded by square brackets, elements are separated by semicolon). The pp is be a pretty printer for list elements.

Sourceval str_pp : 'a fmt -> 'a -> string

str_pp pp a results in a string applying the pretty-printer to the value.

Result combinators

Sourceval guard : bool -> 'a -> (unit, 'a) result

guard pred err is either Ok () (if pred holds), Error err otherwise.

Sourceval foldM : ('a -> 'b -> ('a, 'c) result) -> 'a -> 'b list -> ('a, 'c) result

foldM f a xs applies f to each element of xs, returns either Ok and the produced value, or Error.

Sourceval iterM : ('a -> (unit, 'b) result) -> 'a list -> (unit, 'b) result

iterM f xs applies f to each element of xs, returns either Ok and the produced value, or Error.

Sourceval foldS : ('a -> string -> ('a, 'c) result) -> 'a -> S.t -> ('a, 'c) result

foldS f a s applies f to each element of the set s, returns either Ok and the produced value, or Error.

Sourceval err_to_str : 'b fmt -> ('a, 'b) result -> ('a, string) result

err_to_str pp res is either Ok a or Error str where str was produced by str_pp.

String

Sourcemodule String : sig ... end

Some String utilities implemented here to avoid external dependencies. This is a subset of Astring.

Unsigned integers

Sourcemodule Uint : sig ... end

64 bit unsigned integer with explicit overflow behaviour (see Uint.succ).

Sourcemodule Uint_map : sig ... end

Uint_map is a Map which keys are Uint.t.

Logging

Sourcemodule type LOGS = sig ... end

LOGS is a subset of the Logs library, providing four log streams.

File system types

Sourcetype file_type =
  1. | File
  2. | Directory

The sum type of possible file types we expect

Sourcetype path = string list

A path is a list of strings

Sourceval root : path

root is the root path.

Sourceval path_to_string : path -> string

path_to_string path is String.concat "/" path.

  • raises [Invalid_argument]

    if path includes either "." or "..".

Sourceval string_to_path : string -> (path, string) result

string_to_path str is String.cuts "/" str and ensuring no empty segments, ".", or ".." be present. If str contains a leading "/", it is discarded.

Sourceval string_to_path_exn : string -> path

string_to_path_exb str is String.cuts "/" str and ensuring no empty segments, ".", or ".." be present. If str contains a leading "/", it is discarded.

  • raises [Invalid_argument]

    if path is invalid.

Sourceval path_equal : path -> path -> bool

path_equal p p' is true if p and p' are equal.

Sourceval path_compare : path -> path -> int

path_compare p p' is an order on path.

Sourceval subpath : parent:path -> path -> bool

subpath ~parent p is true if p starts with all segments of parent.

Sourceval strip_prefix : prefix:path -> path -> path option

strip_prefix ~prefix p strips the prefix from p (only if subpath ~paren:prefix p is true). Returns None otherwise.

Sourceval pp_path : path fmt

pp_path is a pretty printer for a path.

Sourcetype item = file_type * string

An item is a type and its payload

Tree

Sourcemodule Tree : sig ... end

Tree is a simple tree datatype, edge is a string, values are 'a lists.

Sourceval timestamp_to_int64 : string -> (int64, string) result

timestamp_to_int64 timestamp attempts to convert the provided RFC 3339 timestamp to an int64 representing the seconds since Unix epoch (1970-01-01). When decoding leads to an error, or the timestamp is not in range (of the int64), an error message is returned.