spin

OCaml project generator
Library spin
type input_t = {
message : string;
}
type select_t = {
message : string;
values : string list;
}
type confirm_t = {
message : string;
}
type prompt =
| Input of input_t
| Select of select_t
| Confirm of confirm_t
type rule = {
message : Expr.t;
expr : Expr.t;
}
type t = {
name : string;
prompt : prompt option;
default : Expr.t option;
rules : rule list;
enabled_if : Expr.t option;
}
val decode_input : Sexplib0.Sexp.t -> ( prompt, Spin__Decoder.error ) Spin_std.Result.t
val decode_select : Sexplib0.Sexp.t -> ( prompt, Spin__Decoder.error ) Spin_std.Result.t
val decode_confirm : Sexplib0.Sexp.t -> ( prompt, Spin__Decoder.error ) Spin_std.Result.t
val decode_prompt : prompt option Decoder.t
val decode_rule : Sexplib.Sexp.t -> ( rule, Decoder.error ) result
val decode : Sexplib.Sexp.t -> ( t, Decoder.error ) result