Nullable
Provide utilities around Js.null_undefined
.
type t('a) = Js.null_undefined('a);
Local alias for Js.null_undefined('a)
.
let return: 'a => t('a);
Constructs a value of Js.null_undefined('a)
containing a value of 'a
.
let test: t('a) => bool;
let isNullable: t('a) => bool;
Returns true
if the given value is null or undefined, false
otherwise.
let null: t('a);
The null value of type Js.null_undefined('a)
.
let undefined: t('a);
The undefined value of type Js.null_undefined('a)
.
let bind: (t('a), (. 'a) => 'b) => t('b);
Maps the contained value using the given function.
If Js.null_undefined('a)
contains a value, that value is unwrapped, mapped to a 'b
using the given function a' => 'b
, then wrapped back up and returned as Js.null_undefined('b)
.
RElet maybeGreetWorld = (maybeGreeting: Js.null_undefined(string)) =>
Js.Nullable.bind(maybeGreeting, [@bs] greeting => greeting ++ " world!");
let iter: (t('a), (. 'a) => unit) => unit;
Iterates over the contained value with the given function.
If Js.null_undefined('a)
contains a value, that value is unwrapped and applied to the given function.
RElet maybeSay = (maybeMessage: Js.null_undefined(string)) =>
Js.Nullable.iter(maybeMessage, [@bs] message => Js.log(message));
let fromOption: option('a) => t('a);
Maps option('a)
to Js.null_undefined('a)
.
Some(a)
=> a
None
=> undefined
let from_opt: option('a) => t('a);
let toOption: t('a) => option('a);
Maps Js.null_undefined('a)
to option('a)
.
a
=> Some(a)
undefined
=> None
null
=> None
let to_opt: t('a) => option('a);