Module Ppx_common

val async_backend : [ `eio | `lwt ] Stdlib.ref

service

type options = {
  1. path : Ppxlib.expression;
  2. input : Ppxlib.expression;
  3. output : Ppxlib.expression;
  4. errors : Ppxlib.expression;
  5. params : Ppxlib.expression;
  6. section : Ppxlib.expression;
  7. name : Ppxlib.expression;
  8. descr : Ppxlib.expression;
  9. security : Ppxlib.expression;
  10. register : Ppxlib.expression;
  11. hide : Ppxlib.expression;
  12. input_example : Ppxlib.expression;
  13. output_example : Ppxlib.expression;
  14. error_type : Ppxlib.core_type;
  15. security_type : Ppxlib.core_type;
  16. debug : bool;
  17. directory : Ppxlib.expression option;
  18. service : Ppxlib.expression option;
  19. nargs : int;
  20. req : string option;
}
val global_errors : Ppxlib_ast.Ast.expression Stdlib.ref
val global_error_type : Ppxlib_ast.Ast.core_type Stdlib.ref
val global_security : Ppxlib_ast.Ast.expression Stdlib.ref
val global_security_type : Ppxlib_ast.Ast.core_type Stdlib.ref
val global_headers : Ppxlib.expression option Stdlib.ref
val global_base : bool Stdlib.ref
val global_req_error : Ppxlib_ast.Ast.expression Stdlib.ref
val global_wrapper : Ppxlib_ast.Ast.expression option Stdlib.ref
val loc : unit
val remove_poly : Ppxlib.core_type -> Ppxlib.core_type
val remove_expr_constraint : Ppxlib.expression -> Ppxlib.expression
val remove_pat_constraint : Ppxlib.pattern -> Ppxlib.pattern
val get_list_expr : ?acc:Ppxlib.expression list -> Ppxlib.expression -> Ppxlib.expression list option
module SMap : sig ... end
val security_scheme_table : string SMap.t Stdlib.ref
val security_schemes_table : (string * string) list SMap.t Stdlib.ref
val security_list : SMap.key -> Ppxlib.expression list -> unit
val extract_list_type : loc:Ppxlib.location -> Ppxlib.core_type option -> Ppxlib_ast.Ast.core_type
val set_global_errors : ?typ:Ppxlib.core_type -> Ppxlib.expression -> unit
val set_global_security : ?typ:Ppxlib.core_type -> Ppxlib.expression -> unit
val set_global_base : Ppxlib.expression -> Ppxlib_ast.Ast.structure_item
val set_global_headers : Ppxlib.expression -> unit
val set_global_req_error : Ppxlib_ast.Ast.expression -> unit
val set_global_wrapper : Ppxlib_ast.Ast.expression -> unit
val set_service_globals : (Ppxlib.Longident.t Ppxlib.loc * Ppxlib.expression) list -> Ppxlib_ast.Ast.structure_item option
val set_handler_globals : (Ppxlib.Longident.t Ppxlib.loc * Ppxlib_ast.Ast.expression) list -> unit
val raw : Ppxlib.expression -> Ppxlib_ast.Ast.expression
val default_options : Ppxlib.location -> options
val methods : string list
val parse_arg : loc:Ppxlib__.Location.t -> string -> Ppxlib__.Import.expression
val parse_path : loc:Ppxlib.location -> string -> Ppxlib_ast.Ast.expression * int
val string_literal : Ppxlib.constant -> string option
val get_name : Ppxlib.payload -> string option
val get_options : loc:Ppxlib.location -> ?options:options -> ?name:string -> Ppxlib.payload -> string option * options
val service_expr : ?name:string -> ?options:options -> ?parse_options:bool -> meth:string -> loc:Ppxlib__.Location.t -> Ppxlib.payload -> string * options * Ppxlib__.Import.pattern * Ppxlib__.Import.expression
val service_value : ?name:string -> ?options:options -> ?parse_options:bool -> meth:string -> loc:Ppxlib__.Location.t -> Ppxlib.payload -> Ppxlib__.Import.structure_item * string * options

param

type param_options = {
  1. debug : bool;
  2. id : string;
  3. name : Ppxlib.expression option;
  4. descr : Ppxlib.expression option;
  5. required : bool;
  6. examples : Ppxlib.expression;
  7. schema : Ppxlib.expression option;
  8. kind : Ppxlib.expression;
  9. destruct : Ppxlib.expression option;
  10. construct : Ppxlib.expression option;
  11. json_kind : [ `float | `bool | `string | `obj ];
}
val default_param : ?id:string -> ?kind:Ppxlib_ast.Ast.expression -> ?schema:Ppxlib.expression -> ?destruct:Ppxlib.expression -> ?construct:Ppxlib.expression -> ?json_kind:[ `bool | `float | `obj | `string ] -> Ppxlib.location -> param_options
module SSet : sig ... end
val param_set : SSet.t Stdlib.ref
val param_options : typ:Ppxlib.core_type -> id:string -> ?kind:Ppxlib_ast.Ast.expression -> ?schema:Ppxlib.expression -> ?destruct:Ppxlib.expression -> ?construct:Ppxlib.expression -> ?json_kind:[ `bool | `float | `obj | `string ] -> Ppxlib.expression -> param_options
val param_value : Ppxlib.value_binding -> Ppxlib__.Import.value_binding * (Ppxlib__.Import.value_binding * Ppxlib__.Import.value_binding)

security

val get_ref_name : Ppxlib.expression -> string option
val security_scheme : SMap.key -> Ppxlib.expression -> unit
val security_value : loc:Ppxlib__.Location.t -> ?typ:Ppxlib.core_type -> Ppxlib.pattern -> Ppxlib.expression -> Ppxlib__.Import.value_binding

req

val format_ref_name : string -> string
val get_ident_list_expr : ?acc:string list -> Ppxlib.expression -> string list option
val service_params : loc:Ppxlib__.Location.t -> params:Ppxlib.expression -> security:Ppxlib.expression -> Ppxlib_ast.Ast.expression option
val service_params_item : loc:Ppxlib__.Location.t -> name:string -> options -> Ppxlib__.Import.structure_item option

register service/handler

val first : bool Stdlib.ref
val server_utils : loc:Ppxlib__.Location.t -> string -> Ppxlib__.Import.expression
val ppx_dir : loc:Ppxlib.location -> 'a option -> Ppxlib_ast.Ast.structure
val register : string -> Ppxlib.attribute -> Ppxlib_ast.Ast.structure_item list * string option
val register_ws : onclose:Ppxlib.value_binding list -> string -> string -> Ppxlib.attribute -> Ppxlib_ast.Ast.structure_item list * string option
val process : it:Ppxlib__.Import.structure_item -> string -> Ppxlib.attribute -> Ppxlib_ast.Ast.structure_item list
val process_ws : it:Ppxlib__.Import.structure_item -> onclose:Ppxlib.value_binding list -> string -> string -> Ppxlib.attribute -> Ppxlib_ast.Ast.structure_item list
val find_req_pattern_ext : Ppxlib.pattern -> (Ppxlib__.Import.pattern * string option) option
val handler_args : name:string -> ?wrap:bool -> Ppxlib.expression -> Ppxlib_ast.Ast.expression

server

type server_options = {
  1. port : Ppxlib.expression;
  2. dir : Ppxlib.expression;
  3. catch : Ppxlib.expression;
  4. allow_origin : Ppxlib.expression;
  5. servers : Ppxlib.expression list;
  6. env : Ppxlib.expression option;
  7. sw : Ppxlib.expression option;
}
val dft_server_options : loc:Ppxlib__.Location.t -> Ppxlib.expression -> server_options
val server_options : ?options:(loc:Ppxlib__.Location.t -> Ppxlib.expression -> server_options) -> Ppxlib.expression -> server_options
val server_aux : ?options:(loc:Ppxlib__.Location.t -> Ppxlib.expression -> server_options) -> Ppxlib.expression -> Ppxlib_ast.Ast.expression
val server : loc:Ppxlib.location -> Ppxlib.payload -> Ppxlib_ast.Ast.expression

request

val request_expr : meth:string -> name:string -> ?sname:string -> loc:Ppxlib__.Location.t -> options -> Ppxlib__.Import.pattern * Ppxlib_ast.Ast.expression
val request_value : meth:string -> name:string -> ?sname:string -> loc:Ppxlib__.Location.t -> options -> Ppxlib__.Import.structure_item

main mapper

val deprecate : string -> unit
val transform : ?kind:[> `client | `request | `server ] -> unit -> Ppxlib.Ast_traverse.map
val impl : ?kind:[> `client | `request | `server ] -> Ppxlib__.Import.Ast.structure -> Ppxlib__.Import.Ast.structure
val deriver_str_gen : [> `request ] option -> string -> loc:Ppxlib.location -> path:'a -> (Ppxlib.rec_flag * Ppxlib.type_declaration list) -> Ppxlib.expression option -> Ppxlib.expression option -> Ppxlib.expression option -> Ppxlib_ast.Ast.expression option -> Ppxlib_ast.Ast.expression option -> Ppxlib_ast.Ast.expression option -> string option -> Ppxlib_ast.Ast.expression option -> Ppxlib_ast.Ast.expression option -> Ppxlib_ast.Ast.expression option -> Ppxlib.expression option -> Ppxlib_ast.Ast.expression option -> Ppxlib_ast.Ast.expression option -> bool -> string option -> Ppxlib__.Import.structure_item list
val derivers : [> `request ] option -> unit
val global_deriver_str_gen : [> `request ] option -> loc:'a -> path:'b -> ('c * Ppxlib.type_declaration list) -> Ppxlib.expression option -> Ppxlib.expression option -> Ppxlib.expression option -> Ppxlib.expression option -> Ppxlib_ast.Ast.structure_item list
val global_deriver : [> `request ] option -> unit