Module Validated_string.Make

Make returns an interface that exposes the fact that t = string so this equality can be used by other functions in the implementation. However, the expected pattern is that such equality is hidden by the inclusion of S in the mli of a validated string. See Author for an example.

Parameters

module _ : X

Signature

val to_string : string -> string

Given that t = string in the implementation, this function is just the identity.

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

of_string str returns Ok str if X.invariant str = true, and an error otherwise. This is meant to be used to validate untrusted entries.

val v : string -> string

v str is a convenient wrapper to build a t or raise Invalid_argument. This is typically handy for applying on trusted literals.