Js.Null
Provide utilities around 'a null
Provides functionality for dealing with the 'a Js.null
type
let return: 'a => t('a);
Constructs a value of 'a Js.null
containing a value of 'a
let empty: t('a);
The empty value, null
let getUnsafe: t('a) => 'a;
let getExn: t('a) => 'a;
let bind: f:Js.Fn.arity1(('a => t('b))) => t('a) => t('b);
let map: f:Js.Fn.arity1(('a => 'b)) => t('a) => t('b);
Maps the contained value using the given function
If 'a Js.null
contains a value, that value is unwrapped, mapped to a 'b
using the given function a' -> 'b
, then wrapped back up and returned as 'b
Js.null
let maybeGreetWorld (maybeGreeting: string Js.null) =
Js.Null.bind maybeGreeting ~f:(fun greeting -> greeting ^ " world!")
let iter: f:Js.Fn.arity1(('a => unit)) => t('a) => unit;
Iterates over the contained value with the given function
If 'a Js.null
contains a value, that value is unwrapped and applied to the given function.
let maybeSay (maybeMessage: string Js.null) =
Js.Null.iter maybeMessage ~f:(fun message -> Js.log message)
let fromOption: option('a) => t('a);
Maps 'a option
to 'a Js.null
Some a | -> | return a |
None | -> | empty |
let toOption: t('a) => option('a);
Maps 'a Js.null
to 'a option
return a | -> | Some a |
empty | -> | None |