package octez-libs
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-libs.rpc/Tezos_rpc/Path/index.html
Module Tezos_rpc.Path
Source
include module type of struct include Resto.Path end
The type for service's paths
A (p, a) path
is a path in which some segments encode a value of type a
.
Typically a (_, unit) path
is a static path. Also typically, a dynamic path has type (_, ((unit * a) * b) * ..) path
where different segments encode the different components of the tuple (a
, b
, etc.). For example the path /entries-by-date/<year>/<month>/<day>
may be described as a (_, ((unit * int) * int) * int) path
.
root
is the basis to build paths upon. It is the "Nil
" of path construction.
add_suffix p s
is a path in which s
has been appended to the sequence of segments described by p
.
(/)
is an infix operator for add_suffix
.
add_arg p a
is a path in which a segment representing a value of type a
has been appended to the sequence of segments described by p
.
This is intended for use by services. Specifically, a service that is parameterized over a value of type ty
is attached to a path that includes an argument for a value of type ty
. When the service is called, Resto decodes the argument and passes its value to the service.
(/:)
is an infix operator for add_arg
.
val add_final_args :
('prefix, 'params) path ->
'a Resto.Arg.t ->
('prefix, 'params * 'a list) path
add_final_args p a
is a path in which an arbitrary sequence of segments representing values of type a
has been appended to the sequence of segments described by p
.
A similar use to the add_arg
is intended, but for a list of values rather than a single value.
Note that, as the name suggests, add_final_args
is final: you cannot add further suffixes or arguments to the resulting path. Attempting to do so raises Invalid_arg
. Similarly, using the resulting path as a prefix
(see below) raises the same exception. This is because paths built with add_final_args
consume all the suffix as an unterminated list of arguments, there cannot be further suffixes or arguments.
( /:* )
is an infix operator for add_final_args
.
prefix p q
is a path in which the sequence of segments of p
is followed by the sequence of segments of q
.
to_segments path
evaluates in the list of the different elements that constitute the given path
.