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)
Undefined
Provide utilities around Js.undefined
.
t
type t('a) = Js.undefined('a);
Local alias for 'a Js.undefined.
return
let return: 'a => t('a);
Constructs a value of Js.undefined('a)
containing a value of 'a
.
test
let test: t('a) => bool;
Returns true
if the given value is empty (undefined), false
otherwise.
testAny
let testAny: 'a => bool;
Since 1.6.1 Returns true
if the given value is empty (undefined).
empty
let empty: t('a);
The empty value, undefined
.
getUnsafe
let getUnsafe: t('a) => 'a;
getExn
let getExn: t('a) => 'a;
bind
let bind: (t('a), (. 'a) => 'b) => t('b);
Maps the contained value using the given function.
If Js.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.undefined('b)
.
RElet maybeGreetWorld = (maybeGreeting: Js.undefined(string)) =>
Js.Undefined.bind(maybeGreeting, [@bs] greeting => greeting ++ " world!");
iter
let iter: (t('a), (. 'a) => unit) => unit;
Iterates over the contained value with the given function.
If Js.undefined('a)
contains a value, that value is unwrapped and applied to the given function.
RElet maybeSay = (maybeMessage: Js.undefined(string)) =>
Js.Undefined.iter(maybeMessage, [@bs] message => Js.log(message));
fromOption
let fromOption: option('a) => t('a);
Maps option('a)
to Js.undefined('a)
.
Some(a)
=> a
None
=> empty
from_opt
let from_opt: option('a) => t('a);
toOption
let toOption: t('a) => option('a);
Maps Js.undefined('a)
to option('a)
a
=> Some(a)
empty
=> None
to_opt
let to_opt: t('a) => option('a);