JsThis 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.logTypes 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