You are currently looking at the < v8.2.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.
(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)
Nullable
Provide utilities around Js.null_undefined
.
t
REtype t('a) = Js.null_undefined('a);
Local alias for Js.null_undefined('a)
.
return
RElet return: 'a => t('a);
Constructs a value of Js.null_undefined('a)
containing a value of 'a
.
test
RElet test: t('a) => bool;
isNullable
RElet isNullable: t('a) => bool;
Returns true
if the given value is null or undefined, false
otherwise.
null
RElet null: t('a);
The null value of type Js.null_undefined('a)
.
undefined
RElet undefined: t('a);
The undefined value of type Js.null_undefined('a)
.
bind
RElet 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!");
iter
RElet 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));
fromOption
RElet fromOption: option('a) => t('a);
Maps option('a)
to Js.null_undefined('a)
.
Some(a)
=> a
None
=> undefined
from_opt
RElet from_opt: option('a) => t('a);
toOption
RElet toOption: t('a) => option('a);
Maps Js.null_undefined('a)
to option('a)
.
a
=> Some(a)
undefined
=> None
null
=> None
to_opt
RElet to_opt: t('a) => option('a);