Module Async_smtp_command.Common.Command.Spec

type 'a param = 'a Core__Command.Param.t
val return : 'a ‑> 'a param
val apply : ('a ‑> 'b) param ‑> 'a param ‑> 'b param
val map : 'a param ‑> f:('a ‑> 'b) ‑> 'b param
val map2 : 'a param ‑> 'b param ‑> f:('a ‑> 'b ‑> 'c) ‑> 'c param
val map3 : 'a param ‑> 'b param ‑> 'c param ‑> f:('a ‑> 'b ‑> 'c ‑> 'd) ‑> 'd param
val all : 'a param list ‑> 'a list param
val all_unit : unit param list ‑> unit param
val all_ignore : unit param list ‑> unit param
val both : 'a param ‑> 'b param ‑> ('a * 'b) param
module Applicative_infix : sig ... end
val (<*>) : ('a ‑> 'b) param ‑> 'a param ‑> 'b param
val (<*) : 'a param ‑> unit param ‑> 'a param
val (*>) : unit param ‑> 'a param ‑> 'a param
val help : string Core__.Import.Lazy.t param
val path : string list param
val args : string list param
val flag : ?⁠aliases:string list ‑> ?⁠full_flag_required:unit ‑> string ‑> 'a Core__Command.Flag.t ‑> doc:string ‑> 'a param
val flag_optional_with_default_doc : ?⁠aliases:string list ‑> ?⁠full_flag_required:unit ‑> string ‑> 'a Core__Command.Arg_type.t ‑> ('a ‑> Core__.Import.Sexp.t) ‑> default:'a ‑> doc:string ‑> 'a param
val anon : 'a Core__Command.Anons.t ‑> 'a param
val choose_one : 'a option param list ‑> if_nothing_chosen:[ `Default_to of 'a | `Raise ] ‑> 'a param
val const : 'a ‑> 'a param
val pair : 'a param ‑> 'b param ‑> ('a * 'b) param
type ('main_in, 'main_out) t = ('main_in'main_outCore__Command.Spec.t
val empty : ('m'mt
val (++) : ('m1'm2t ‑> ('m2'm3t ‑> ('m1'm3t
val (+>) : ('m1'a ‑> 'm2t ‑> 'a param ‑> ('m1'm2t
val (+<) : ('m1'm2t ‑> 'a param ‑> ('a ‑> 'm1'm2t
val step : ('m1 ‑> 'm2) ‑> ('m1'm2t
val wrap : (run:('m1 ‑> 'r1) ‑> main:'m2 ‑> 'r2) ‑> ('m1'r1t ‑> ('m2'r2t
module Arg_type : sig ... end
val string : string Arg_type.t
val int : int Arg_type.t
val char : char Arg_type.t
val float : float Arg_type.t
val bool : bool Arg_type.t
val date : Core__.Import.Date.t Arg_type.t
val percent : Core__.Import.Percent.t Arg_type.t
val time : Core__.Import_time.Time.t Arg_type.t
val time_ofday : Core__.Import_time.Time.Ofday.Zoned.t Arg_type.t
val time_ofday_unzoned : Core__.Import_time.Time.Ofday.t Arg_type.t
val time_zone : Core__.Import_time.Time.Zone.t Arg_type.t
val time_span : Core__.Import_time.Time.Span.t Arg_type.t
val file : string Arg_type.t
val host_and_port : Core__.Import.Host_and_port.t Arg_type.t
val ip_address : Unix.inet_addr Arg_type.t
val sexp : Core__.Import.Sexp.t Arg_type.t
val sexp_conv : (Core__.Import.Sexp.t ‑> 'a) ‑> 'a Arg_type.t
type 'a flag = 'a Core__Command.Flag.t
val required : 'a Core__Command.Arg_type.t ‑> 'a flag
val optional : 'a Core__Command.Arg_type.t ‑> 'a option flag
val optional_with_default : 'a ‑> 'a Core__Command.Arg_type.t ‑> 'a flag
val listed : 'a Core__Command.Arg_type.t ‑> 'a list flag
val one_or_more : 'a Core__Command.Arg_type.t ‑> ('a * 'a list) flag
val no_arg : bool flag
val no_arg_register : key:'a Core__.Import.Univ_map.With_default.Key.t ‑> value:'a ‑> bool flag
val no_arg_abort : exit:(unit ‑> Core__.Import.never_returns) ‑> unit flag
val escape : string list option flag
val map_flag : 'a flag ‑> f:('a ‑> 'b) ‑> 'b flag
val flags_of_args_exn : Core_kernel.Arg.t list ‑> ('a'at
type 'a anons = 'a Core__Command.Anons.t
val (%:) : string ‑> 'a Core__Command.Arg_type.t ‑> 'a anons
val sequence : 'a anons ‑> 'a list anons
val non_empty_sequence_as_pair : 'a anons ‑> ('a * 'a list) anons
val non_empty_sequence_as_list : 'a anons ‑> 'a list anons
val maybe : 'a anons ‑> 'a option anons
val maybe_with_default : 'a ‑> 'a anons ‑> 'a anons
val t2 : 'a anons ‑> 'b anons ‑> ('a * 'b) anons
val t3 : 'a anons ‑> 'b anons ‑> 'c anons ‑> ('a * 'b * 'c) anons
val t4 : 'a anons ‑> 'b anons ‑> 'c anons ‑> 'd anons ‑> ('a * 'b * 'c * 'd) anons
val map_anons : 'a anons ‑> f:('a ‑> 'b) ‑> 'b anons
val to_param : ('a'rt ‑> 'a ‑> 'r Core__Command.Param.t
val of_param : 'r Core__Command.Param.t ‑> ('r ‑> 'm'mt