Module Webidl.Data

module Syntax = Webidl_syntax
type attribute = {
is_static : bool;
is_readonly : bool;
is_inherit : bool;
type_with_ext : Webidl_syntax.Ast.type_with_ext;
name : string;
}
val attribute_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> attribute
val sexp_of_attribute : attribute -> Ppx_sexp_conv_lib.Sexp.t
type special = [
| `Getter
| `Setter
| `Deleter
| `Legacycaller
]
val __special_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> special
val special_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> special
val sexp_of_special : special -> Ppx_sexp_conv_lib.Sexp.t
type operation = {
specials : special list;
is_static : bool;
return_type : Webidl_syntax.Ast.return_type;
ident : string option;
arguments : (Webidl_syntax.Ast.extends * Webidl_syntax.Ast.argument) list;
}
val operation_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> operation
val sexp_of_operation : operation -> Ppx_sexp_conv_lib.Sexp.t
type dictionary_member = {
is_required : bool;
type_with_ext : Webidl_syntax.Ast.type_with_ext;
ident : string;
default : Webidl_syntax.Ast.default_value option;
}
val dictionary_member_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> dictionary_member
val sexp_of_dictionary_member : dictionary_member -> Ppx_sexp_conv_lib.Sexp.t
type dictionary = {
ident : string;
inheritance : string option;
dictionary_members : (Webidl_syntax.Ast.extends * dictionary_member) list;
}
val dictionary_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> dictionary
val sexp_of_dictionary : dictionary -> Ppx_sexp_conv_lib.Sexp.t
type operation_or_attribute = [
| `Operation of operation
| `Attribute of attribute
]
val __operation_or_attribute_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> operation_or_attribute
val operation_or_attribute_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> operation_or_attribute
val sexp_of_operation_or_attribute : operation_or_attribute -> Ppx_sexp_conv_lib.Sexp.t
type namespace_member = operation_or_attribute
val namespace_member_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> namespace_member
val sexp_of_namespace_member : namespace_member -> Ppx_sexp_conv_lib.Sexp.t
type namespace = {
ident : string;
namespace_members : (Webidl_syntax.Ast.extends * namespace_member) list;
}
val namespace_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> namespace
val sexp_of_namespace : namespace -> Ppx_sexp_conv_lib.Sexp.t
type pattern_list = [
| `Getter
| `Identifiers of string list
| `None
]
val __pattern_list_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> pattern_list
val pattern_list_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> pattern_list
val sexp_of_pattern_list : pattern_list -> Ppx_sexp_conv_lib.Sexp.t
type maplike = {
is_readonly : bool;
key_type : Webidl_syntax.Ast.type_with_ext;
value_type : Webidl_syntax.Ast.type_with_ext;
}
val maplike_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> maplike
val sexp_of_maplike : maplike -> Ppx_sexp_conv_lib.Sexp.t
type setlike = {
is_readonly : bool;
key_type : Webidl_syntax.Ast.type_with_ext;
}
val setlike_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> setlike
val sexp_of_setlike : setlike -> Ppx_sexp_conv_lib.Sexp.t
type interface_member = [
| `Const of Webidl_syntax.Ast.const_type * string * Webidl_syntax.Ast.const_value
| `Operation of operation
| `Stringifier of [ operation_or_attribute | `None ]
| `Iterable of Webidl_syntax.Ast.type_with_ext * Webidl_syntax.Ast.type_with_ext option
| `Attribute of attribute
| `Maplike of maplike
| `Setlike of setlike
]
val __interface_member_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> interface_member
val interface_member_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> interface_member
val sexp_of_interface_member : interface_member -> Ppx_sexp_conv_lib.Sexp.t
type interface = {
ident : string;
inheritance : string option;
interface_members : (Webidl_syntax.Ast.extends * interface_member) list;
}
val interface_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> interface
val sexp_of_interface : interface -> Ppx_sexp_conv_lib.Sexp.t
type mixin_member = [
| `Const of Webidl_syntax.Ast.const_type * string * Webidl_syntax.Ast.const_value
| `Operation of operation
| `Stringifier of [ operation_or_attribute | `None ]
| `Attribute of attribute
| `Maplike of maplike
| `Setlike of setlike
]
val __mixin_member_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> mixin_member
val mixin_member_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> mixin_member
val sexp_of_mixin_member : mixin_member -> Ppx_sexp_conv_lib.Sexp.t
type mixin = {
ident : string;
mixin_members : (Webidl_syntax.Ast.extends * mixin_member) list;
}
val mixin_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> mixin
val sexp_of_mixin : mixin -> Ppx_sexp_conv_lib.Sexp.t
type partial = [
| `Interface of interface
| `Mixin of mixin
| `Dictionary of dictionary
| `Namespace of namespace
]
val __partial_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> partial
val partial_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> partial
val sexp_of_partial : partial -> Ppx_sexp_conv_lib.Sexp.t
type callback = [
| `Operation of operation
| `Interface of interface
]
val __callback_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> callback
val callback_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> callback
val sexp_of_callback : callback -> Ppx_sexp_conv_lib.Sexp.t
type definition = [
| `Callback of callback
| `Interface of interface
| `Mixin of mixin
| `Namespace of namespace
| `Partial of partial
| `Dictionary of dictionary
| `Enum of string * string list
| `Typedef of Webidl_syntax.Ast.type_with_ext * string
| `Implements of string * string
| `Includes of string * string
]
val __definition_of_sexp__ : Ppx_sexp_conv_lib.Sexp.t -> definition
val definition_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> definition
val sexp_of_definition : definition -> Ppx_sexp_conv_lib.Sexp.t
type definitions = (Webidl_syntax.Ast.extends * definition) list
val definitions_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> definitions
val sexp_of_definitions : definitions -> Ppx_sexp_conv_lib.Sexp.t