Js
This library provides bindings and necessary support for JS FFI. It contains all bindings into Js
namespace.
[| 1;2;3;4|]
|. Js.Array2.map (fun x -> x + 1 )
|. Js.Array2.reduce (+) 0
|. Js.log
Types for JS objects
This used to be mark a Js object type. It is not needed any more, it is kept here for compatibility reasons
module Fn: { ... };
nullable, value of this type can be either null
or 'a
this type is the same as type t
in Null
value of this type can be either undefined
or 'a
this type is the same as type t
in Undefined
value of this type can be undefined
, null
or 'a
this type is the same as type t
n Null_undefined
type null_undefined(+'a) = nullable('a);
let toOption: nullable('a) => option('a);
let undefinedToOption: undefined('a) => option('a);
let nullToOption: null('a) => option('a);
let isNullable: nullable('a) => bool;
let undefined: undefined('a);
The same as empty
Js.Undefined
will be compiled as undefined
typeof x
will be compiled as typeof x
in JS Please consider functions in Types
for a type safe way of reflection
let eqNull: 'a => null('a) => bool;
let eqUndefined: 'a => undefined('a) => bool;
let eqNullable: 'a => nullable('a) => bool;
unsafe_lt a b
will be compiled as a < b
. It is marked as unsafe, since it is impossible to give a proper semantics for comparision which applies to any type
unsafe_le a b
will be compiled as a <= b
. See also unsafe_lt
unsafe_gt a b
will be compiled as a > b
. See also unsafe_lt
unsafe_ge a b
will be compiled as a >= b
. See also unsafe_lt
module Null = Js_null;
Provide utilities around 'a null
module Undefined = Js_undefined;
Provide utilities around undefined
module Nullable = Js_null_undefined;
Provide utilities around null_undefined
module Null_undefined = Js_null_undefined;
module Exn = Js_exn;
Provide utilities for dealing with Js exceptions
module Array = Js_array;
Provide bindings to Js array
module Array2 = Js_array2;
Provide bindings to Js array
module String = Js_string;
Provide bindings to JS string
module String2 = Js_string2;
Provide bindings to JS string
module Re = Js_re;
Provide bindings to Js regex expression
module Promise = Js_promise;
Provide bindings to JS promise
module Date = Js_date;
Provide bindings for JS Date
module Dict = Js_dict;
Provide utilities for JS dictionary object
module Global = Js_global;
Provide bindings to JS global functions in global namespace
module Json = Js_json;
Provide utilities for json
module Math = Js_math;
Provide bindings for JS Math
object
module Typed_array = Js_typed_array;
Provide bindings for JS typed array
module TypedArray2 = Js_typed_array2;
Provide bindings for JS typed array
module Types = Js_types;
Provide utilities for manipulating JS types
module Float = Js_float;
Provide utilities for JS float
module Int = Js_int;
Provide utilities for int
module Bigint = Js_bigint;
Provide utilities for bigint
module Option = Js_option;
Provide utilities for option
module Result = Js_result;
Define the interface for result
module List = Js_list;
Provide utilities for list
module Vector = Js_vector;
module Console = Js_console;
module Set = Js_set;
Provides bindings for ES6 Set
module WeakSet = Js_weakset;
Provides bindings for ES6 WeakSet
module Map = Js_map;
Provides bindings for ES6 Map
module WeakMap = Js_weakmap;
Provides bindings for ES6 WeakMap