API / Js / Undefined

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).

RE
let 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.

RE
let 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);