package resto
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=394275a7579c7dbcb29631b447006253
sha512=20f7d3ee730b4b202707ec7802662733ec2e3db76a7be78d4f794eb22796d8fc54e3e16e5a8e2fff80b391ea84cfbe470044772b815eebfd389d0a6754e1df85
doc/resto/Resto/Arg/index.html
Module Resto.ArgSource
Arguments are documented serializers-deserializers for parameters.
The type of an argument.
val make :
?descr:string ->
name:string ->
destruct:(string -> ('a, string) result) ->
construct:('a -> string) ->
unit ->
'a argmake ?descr ~name ~destruct ~construct () is an argument. The values of descr and name are used for documentation purpose only. The values of destruct and construct are used for conversion from/to strings. Note that it is expected that destruct and construct round-trip (modulo the result error wrapping).
descr is a type for the documentation of a t.
bool is an argument for boolean values. The strings "yes", "y", "true", and "t", as well as all capitalisation variation thereof, all parsed to true. The strings "no", "n", "false", and "f", as well as all capitalisation variation thereof, all parsed to false. All other strings fail to parse.
int is an argument for integer values. The parsing is identical to that of Stdlib.int_of_string -- refer to that function's documentation.
int32 is an argument for 32-bit integer values. The parsing is identical to that of Int32.of_string -- refer to that function's documentation.
int64 is an argument for 64-bit integer values. The parsing is identical to that of Int64.of_string -- refer to that function's documentation.
float is an argument for floating-point decimal values. The parsing is identical to that of Float.of_string -- refer to that function's documentation.
like a ?descr name is a new argument which carries the same type parameter and uses the same constructor/destructor functions as a, but has a different name and description. It is intended to be used to give different meaning to isomorphic arguments. E.g.,
let date = make ~descr:"A date in YYYY-MM-DD format" ~name:"date" ~destruct:(fun s -> ..) ~construct:(fun d -> ..) () in let birth_date = like date ~descr:"A date of birth in the YYYY-MM-DD format" "birth-date" in ..