package ppx_deriving_jsoo

  1. Overview
  2. Docs

Module Ppx_deriving_jsoo_lib.Ppx_jsSource

module Ocaml_ast_mapper = Ast_mapper
Sourceval nolabel : Ppxlib.Asttypes.arg_label
Sourceexception Syntax_error of Ppxlib.Location.Error.t
Sourceval make_exception : loc:Astlib.Location.t -> sub:(Astlib.Location.t * string) list -> string -> exn
Sourceval raise_errorf : loc:Astlib.Location.t -> ('a, unit, string, 'b) format4 -> 'a
Sourceval unflatten : string list -> Ppxlib.Longident.t option
Sourceval split_at_dots : string -> int -> string list
Sourceval parse_lid : string -> Ppxlib.Longident.t
Sourceval mkloc : 'a -> Astlib__.Location.t -> 'a Ppxlib.Asttypes.loc
Sourceval mknoloc : 'a -> 'a Ppxlib.Asttypes.loc
Sourceval lid : ?loc:Ppxlib.Ast_helper.loc -> string -> Ppxlib.Longident.t Ppxlib.Asttypes.loc
Sourceval mkloc_opt : ?loc:Ppxlib.Ast_helper.loc -> 'a -> 'a Ppxlib.Asttypes.loc
Sourceval unit : ?loc:Astlib.Location.t -> ?attrs:Astlib.Ast_500.Parsetree.attribute list -> unit -> Astlib.Ast_500.Parsetree.expression
Sourceval tuple : ?loc:Astlib.Location.t -> ?attrs:Astlib.Ast_500.Parsetree.attribute list -> Astlib.Ast_500.Parsetree.expression list -> Astlib.Ast_500.Parsetree.expression
Sourceval tuple_type : ?loc:Astlib.Location.t -> ?attrs:Astlib.Ast_500.Parsetree.attribute list -> Astlib.Ast_500.Parsetree.core_type list -> Astlib.Ast_500.Parsetree.core_type
Sourceval tuple_pat : ?loc:Astlib.Location.t -> ?attrs:Astlib.Ast_500.Parsetree.attribute list -> Astlib.Ast_500.Parsetree.pattern list -> Astlib.Ast_500.Parsetree.pattern
Sourceval str : ?loc:Astlib.Location.t -> ?attrs:Astlib.Ast_500.Parsetree.attribute list -> string -> Astlib.Ast_500.Parsetree.expression
Sourceval exp_to_string : Ppxlib.Parsetree.expression -> string

Check if an expression is an identifier and returns it. Raise a Location.error if it's not.

Sourceval typ : string -> Astlib.Ast_500.Parsetree.core_type
Sourceval arrows : (Astlib.Ast_500.Asttypes.arg_label * Astlib.Ast_500.Parsetree.core_type) list -> Astlib.Ast_500.Parsetree.core_type -> Astlib.Ast_500.Parsetree.core_type

arg1 -> arg2 -> ... -> ret

Sourceval wrapper : string option ref
Sourceval make_str : ?loc:Astlib__.Location.t -> 'a -> 'a Ppxlib.Asttypes.loc
Sourceval merlin_hide : Ppxlib.Parsetree.attribute
Sourcemodule Js : sig ... end
Sourceval unescape : string -> string
Sourceval app_arg : 'a -> Ppxlib.Asttypes.arg_label * 'a
Sourceval inject_arg : Ppxlib.Parsetree.expression -> Ppxlib.Parsetree.expression
Sourceval inject_args : Ppxlib.Parsetree.expression list -> Astlib.Ast_500.Parsetree.expression
Sourcemodule Arg : sig ... end
Sourceval js_dot_t_the_first_arg : Arg.t list -> (Ppxlib.Asttypes.arg_label * Ppxlib.Parsetree.core_type) list
Sourceval invoker : ?extra_types:string list -> (Arg.t list -> Astlib.Ast_500.Parsetree.core_type -> Astlib.Ast_500.Parsetree.core_type) -> (Arg.t list -> Astlib.Ast_500.Parsetree.core_type -> (Astlib.Ast_500.Asttypes.arg_label * Astlib.Ast_500.Parsetree.core_type) list * Astlib.Ast_500.Parsetree.core_type) -> (Astlib.Ast_500.Parsetree.expression list list -> Astlib.Ast_500.Parsetree.expression) -> Arg.t list -> Astlib.Ast_500.Parsetree.expression
Sourceval open_t : Ppxlib.Ast_helper.loc -> Ppxlib.Parsetree.core_type
Sourceval method_call : loc:Ppxlib.Location.t -> apply_loc:Astlib.Location.t -> Ppxlib.Parsetree.expression -> (string * Astlib__.Location.t) -> (Astlib.Ast_500.Asttypes.arg_label * Astlib.Ast_500.Parsetree.expression) list -> Astlib.Ast_500.Parsetree.expression
Sourceval prop_get : loc:Astlib.Location.t -> Ppxlib.Parsetree.expression -> string -> Astlib.Ast_500.Parsetree.expression
Sourceval prop_try : loc:Astlib__.Location.t -> Ppxlib.Parsetree.expression -> string -> Astlib.Ast_500.Parsetree.expression -> Astlib.Ast_500.Parsetree.expression
Sourceval prop_set : loc:Ppxlib.location -> prop_loc:Astlib.Location.t -> Ppxlib.Parsetree.expression -> string -> Astlib.Ast_500.Parsetree.expression -> Astlib.Ast_500.Parsetree.expression
Sourceval new_object : Astlib.Longident.t Ppxlib.Asttypes.loc -> (Astlib.Ast_500.Asttypes.arg_label * Astlib.Ast_500.Parsetree.expression) list -> Astlib.Ast_500.Parsetree.expression

Instantiation of a class, used by new%js.

Sourcemodule S : sig ... end
Sourceval format_meth : Ppxlib.Parsetree.expression -> Ppxlib.Parsetree.expression

We remove Pexp_poly as it should never be in the parsetree except after a method call.

Ensure basic sanity rules about fields of a literal object:

  • No duplicated declaration
  • Only relevant declarations (val and method, for now).
Sourcemodule Prop_kind : sig ... end
Sourcetype field_desc =
  1. | Meth of string Ppxlib.Asttypes.loc * Ppxlib.Asttypes.private_flag * Ppxlib.Asttypes.override_flag * Ppxlib.Parsetree.expression * Arg.t list
  2. | Val of string Ppxlib.Asttypes.loc * Prop_kind.t * Ppxlib.Asttypes.override_flag * Ppxlib.Parsetree.expression
  3. | Cases of string Ppxlib.Asttypes.loc list * Ppxlib.Parsetree.expression list
Sourceval filter_map : ('a -> 'b option) -> 'a list -> 'b list
Sourceval preprocess_literal_object : ?allow_overload:bool -> (Ppxlib.Parsetree.expression -> Ppxlib.Parsetree.expression) -> Ppxlib.Parsetree.class_field list -> [ `Error of string Astlib.Location.loc * Astlib.Ast_500.Parsetree.payload | `Fields of field_desc list ]
Sourceval literal_object : Astlib.Ast_500.Parsetree.pattern -> field_desc list -> Astlib.Ast_500.Parsetree.expression
Sourceval mapper : Ocaml_ast_mapper.mapper
OCaml

Innovation. Community. Security.