package ezjs_min
Library
Module
Module type
Parameter
Class
Class type
module Ezjs_dom = Dom
module Log : sig ... end
module Promise : sig ... end
include module type of struct include Js_of_ocaml.Js end
Dealing with null
and undefined
values.
type +'a opt = 'a Js_of_ocaml.Js.opt
Type of possibly null values.
type +'a optdef = 'a Js_of_ocaml.Js.optdef
Type of possibly undefined values.
val null : 'a opt
The null
value.
val some : 'a -> 'a opt
Consider a value into a possibly null value.
val undefined : 'a optdef
The undefined
value
val def : 'a -> 'a optdef
Consider a value into a possibly undefined value.
module type OPT = Js_of_ocaml.Js.OPT
Signatures of a set of standard functions for manipulating optional values.
module Opt = Js_of_ocaml.Js.Opt
Standard functions for manipulating possibly null values.
module Optdef = Js_of_ocaml.Js.Optdef
Standard functions for manipulating possibly undefined values.
Types for specifying method and properties of Javascript objects
type +'a t = 'a Js_of_ocaml.Js.t
Type of Javascript objects. The type parameter is used to specify more precisely an object.
type +'a meth = 'a Js_of_ocaml.Js.meth
Type used to specify method types: a Javascript object <m : t1 -> t2 -> ... -> tn -> t Js.meth> Js.t
has a Javascript method m
expecting n arguments of types t1
to tn
and returns a value of type t
.
type +'a gen_prop = 'a Js_of_ocaml.Js.gen_prop
Type used to specify the properties of Javascript objects. In practice you should rarely need this type directly, but should rather use the type abbreviations below instead.
type 'a readonly_prop = < get : 'a > gen_prop
Type of read-only properties: a Javascript object <p : t Js.readonly_prop> Js.t
has a read-only property p
of type t
.
type 'a writeonly_prop = < set : 'a -> unit > gen_prop
Type of write-only properties: a Javascript object <p : t Js.writeonly_prop> Js.t
has a write-only property p
of type t
.
type 'a prop = < get : 'a ; set : 'a -> unit > gen_prop
Type of read/write properties: a Javascript object <p : t Js.writeonly_prop> Js.t
has a read/write property p
of type t
.
Type of read/write properties that may be undefined: you can set them to a value of some type t
, but if you read them, you will get a value of type t optdef
(that may be undefined
).
Object constructors
type +'a constr = 'a Js_of_ocaml.Js.constr
A value of type (t1 -> ... -> tn -> t Js.t) Js.constr
is a Javascript constructor expecting n arguments of types t1
to tn
and returning a Javascript object of type t Js.t
. Use the syntax extension new%js c e1 ... en
to build an object using constructor c
and arguments e1
to en
.
Callbacks to OCaml
type (-'a, +'b) meth_callback = ('a, 'b) Js_of_ocaml.Js.meth_callback
Type of callback functions. A function of type (u, t1 -> ... -> tn -> t) meth_callback
can be called from Javascript with this
bound to a value of type u
and up to n arguments of types t1
to tn
. The system takes care of currification, so less than n arguments can be provided. As a special case, a callback of type (t, unit -> t) meth_callback
can be called from Javascript with no argument. It will behave as if it was called with a single argument of type unit
.
type 'a callback = (unit, 'a) meth_callback
Type of callback functions intended to be called without a meaningful this
implicit parameter.
val wrap_callback : ('a -> 'b) -> ('c, 'a -> 'b) meth_callback
Wrap an OCaml function so that it can be invoked from Javascript.
val wrap_meth_callback : ('b -> 'a) -> ('b, 'a) meth_callback
Wrap an OCaml function so that it can be invoked from Javascript. The first parameter of the function will be bound to the value of the this
implicit parameter.
Javascript comparisons
Javascript standard objects
val _true : bool t
Javascript true
boolean.
val _false : bool t
Javascript false
boolean.
type match_result_handle = Js_of_ocaml.Js.match_result_handle
A handle to a match result. Use function Js.match_result
to get the corresponding MatchResult
object. (This type is used to resolved the mutual dependency between string and array type definitions.)
type string_array = Js_of_ocaml.Js.string_array
Opaque type for string arrays. You can get the actual Array
object using function Js.str_array
. (This type is used to resolved the mutual dependency between string and array type definitions.)
type normalization = Js_of_ocaml.Js.normalization
Opaque type for Unicode normalization forms.
val nfd : normalization t
Canonical Decomposition
val nfc : normalization t
Canonical Decomposition, followed by Canonical Composition
val nfkd : normalization t
Compatibility Decomposition
val nfkc : normalization t
Compatibility Decomposition, followed by Canonical Composition
Specification of Javascript number objects.
class type number = object ... end
class type js_string = object ... end
Specification of Javascript string objects.
class type regExp = object ... end
Specification of Javascript regular expression objects.
class type string_constr = object ... end
Specification of the string constructor, considered as an object.
val string_constr : string_constr t
The string constructor, as an object.
Constructor of RegExp
objects. The expression new%js regExp s
builds the regular expression specified by string s
.
Constructor of RegExp
objects. The expression new%js regExp s f
builds the regular expression specified by string s
using flags f
.
Constructor of RegExp
objects. The expression new%js regExp r
builds a copy of regular expression r
.
class type 'a js_array = object ... end
Specification of Javascript regular arrays. Use Js.array_get
and Js.array_set
to access and set array elements.
Returns jsarray containing keys of the object as Object.keys does.
Constructor of Array
objects. The expression new%js array_empty
returns an empty array.
Constructor of Array
objects. The expression new%js array_length l
returns an array of length l
.
Array access: array_get a i
returns the element at index i
of array a
. Returns undefined
if there is no element at this index.
Array update: array_set a i v
puts v
at index i
in array a
.
Array map: array_map f a
is a##map(wrap_callback (fun elt idx arr -> f elt))
.
Array mapi: array_mapi f a
is a##map(wrap_callback (fun elt idx arr -> f idx elt))
.
class type match_result = object ... end
Specification of match result objects
Convert an opaque string_array t
object into an array of string. (Used to resolved the mutual dependency between string and array type definitions.)
val match_result : match_result_handle t -> match_result t
Convert a match result handle into a MatchResult
object. (Used to resolved the mutual dependency between string and array type definitions.)
class type date = object ... end
Specification of Javascript date objects.
Constructor of Date
objects: new%js date_now
returns a Date
object initialized with the current date.
Constructor of Date
objects: new%js date_fromTimeValue t
returns a Date
object initialized with the time value t
.
Constructor of Date
objects: new%js date_fromTimeValue y m
returns a Date
object corresponding to year y
and month m
.
Constructor of Date
objects: new%js date_fromTimeValue y m d
returns a Date
object corresponding to year y
, month m
and day d
.
Constructor of Date
objects: new%js date_fromTimeValue y m d h
returns a Date
object corresponding to year y
to hour h
.
Constructor of Date
objects: new%js date_fromTimeValue y m d h m'
returns a Date
object corresponding to year y
to minute m'
.
Constructor of Date
objects: new%js date_fromTimeValue y m d h m' s
returns a Date
object corresponding to year y
to second s
.
Constructor of Date
objects: new%js date_fromTimeValue y m d h m' s ms
returns a Date
object corresponding to year y
to millisecond ms
.
class type date_constr = object ... end
Specification of the date constructor, considered as an object.
val date : date_constr t
The date constructor, as an object.
class type math = object ... end
Specification of Javascript math object.
class type error = object ... end
Specification of Javascript error object.
Constructor of Error
objects: new%js error_constr msg
returns an Error
object with the message msg
.
module Js_error = Js_of_ocaml.Js.Js_error
class type json = object ... end
Specification of Javascript JSON object.
Standard Javascript functions
Decode a URI: replace by the corresponding byte all escape sequences but the ones corresponding to a URI reserved character and convert the string from UTF-8 to UTF-16.
Decode a URIComponent: replace all escape sequences by the corresponding byte and convert the string from UTF-8 to UTF-16.
Encode a URI: convert the string to UTF-8 and replace all unsafe bytes by the corresponding escape sequence.
Same as encodeURI
, but also encode URI reserved characters.
Escape a string: unsafe UTF-16 code points are replaced by 2-digit and 4-digit escape sequences.
Unescape a string: 2-digit and 4-digit escape sequences are replaced by the corresponding UTF-16 code point.
Conversion functions between Javascript and OCaml types
val bool : bool -> bool t
Conversion of booleans from OCaml to Javascript.
val to_bool : bool t -> bool
Conversion of booleans from Javascript to OCaml.
Conversion of strings from OCaml to Javascript. (The OCaml string is considered to be encoded in UTF-8 and is converted to UTF-16.)
Conversion of strings of bytes from OCaml to Javascript. (Each byte will be converted in an UTF-16 code point.)
Conversion of strings of bytes from Javascript to OCaml. (The Javascript string should only contain UTF-16 code points below 255.)
val float : float -> number_t
Conversion of OCaml floats to Javascript numbers.
val to_float : number_t -> float
Conversion of Javascript numbers to OCaml floats.
val int32 : int32 -> number_t
Conversion of OCaml floats to Javascript numbers.
val to_int32 : number_t -> int32
Conversion of Javascript numbers to OCaml 32-bits. The given floating-point number is truncated to an integer.
val nativeint : nativeint -> number_t
Conversion of OCaml 32-bits integers to Javascript numbers.
val to_nativeint : number_t -> nativeint
Conversion of Javascript numbers to OCaml native integers. The given floating-point number is truncated to an integer.
Convenience coercion functions
val coerce : 'a -> ('a -> 'b Opt.t) -> ('a -> 'b) -> 'b
Apply a possibly failing coercion function. coerce v c f
attempts to apply coercion c
to value v
. If the coercion returns null
, function f
is called.
Apply a possibly failing coercion function. coerce_opt v c f
attempts to apply coercion c
to value v
. If v
is null
or the coercion returns null
, function f
is called. Typical usage is the following:
Js.coerce_opt (Dom_html.document##getElementById id)
Dom_html.CoerceTo.div (fun _ -> assert false)
Type checking operators.
Tests whether a Javascript object is an instance of a given class.
Debugging operations.
Invokes any available debugging functionality. If no debugging functionality is available, it has no effect. In practice, it will insert a "debugger;" statement in the generated javascript.
Export functionality.
Export values to module.exports
if it exists or to the global object otherwise.
val export_all : 'a t -> unit
export_all obj
export every key of obj
object.
export_all
object%js
method add x y = x +. y
method abs x = abs_float x
val zero = 0.
end
Unsafe operations.
module Unsafe = Js_of_ocaml.Js.Unsafe
Unsafe Javascript operations
Deprecated functions and types.
Attach a JavasScript error to an OCaml exception. if force = false
and a JavasScript error is already attached, it will do nothing. This function is useful to store and retrieve information about JavaScript stack traces.
Attaching JavasScript errors will happen automatically when compiling with --enable with-js-error
.
Extract a JavaScript error attached to an OCaml exception, if any. This is useful to inspect an eventual stack strace, especially when sourcemap is enabled.
The Error
exception wrap javascript exceptions when caught by OCaml code. In case the javascript exception is not an instance of javascript Error
, it will be serialized and wrapped into a Failure
exception.
Type of float properties.
module Url = Js_of_ocaml.Url
module Dom_html = Js_of_ocaml.Dom_html
module Firebug = Js_of_ocaml.Firebug
module File = Js_of_ocaml.File
module Dom = Js_of_ocaml.Dom
module Typed_array = Js_of_ocaml.Typed_array
module Regexp = Js_of_ocaml.Regexp
type window = Dom_html.window
val optdef : ('a -> 'b) -> 'a option -> 'b optdef
val to_optdef : ('a -> 'b) -> 'a Optdef.t -> 'b option
val unoptdef_f : 'a -> ('b -> 'a) -> 'b Optdef.t -> 'a
val unoptdef : 'a -> 'a Optdef.t -> 'a
val to_opt : ('a -> 'b) -> 'a Opt.t -> 'b option
val opt : ('a -> 'b) -> 'a option -> 'b opt
val error_of_string : string -> error Js_of_ocaml.Js.t
val catch_exn : (Js_error.error_t -> 'a) -> exn -> 'a
module AOpt : sig ... end
type 'a aopt = 'a AOpt.t
val choose_case : 'a list -> 'a optdef
val assign_list : Unsafe.any list -> 'a Js_of_ocaml__Js.t
val remove_undefined : 'a t -> unit
module Table : sig ... end
module BigInt : sig ... end
class type bigInt = BigInt.bigInt