API / Js / Undefined

You are currently looking at the v9.0.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.

Undefined

Provide utilities around Js.undefined.

t

RES
type t<'a> = Js.undefined<'a>

Local alias for 'a Js.undefined.

return

RES
let return: 'a => t<'a>

Constructs a value of Js.undefined('a) containing a value of 'a.

test

RES
let test: t<'a> => bool

Returns true if the given value is empty (undefined), false otherwise.

testAny

RES
let testAny: 'a => bool

Since 1.6.1 Returns true if the given value is empty (undefined).

empty

RES
let empty: t<'a>

The empty value, undefined.

getUnsafe

RES
let getUnsafe: t<'a> => 'a

getExn

RES
let getExn: t<'a> => 'a

bind

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

RES
let maybeGreetWorld = (maybeGreeting: Js.undefined<string>) => Js.Undefined.bind(maybeGreeting, (. greeting) => greeting ++ " world!")

iter

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

RES
let maybeSay = (maybeMessage: Js.undefined<string>) => Js.Undefined.iter(maybeMessage, (. message) => Js.log(message))

fromOption

RES
let fromOption: option<'a> => t<'a>

Maps option('a) to Js.undefined('a). Some(a) => a None => empty

from_opt

RES
let from_opt: option<'a> => t<'a>

toOption

RES
let toOption: t<'a> => option<'a>

Maps Js.undefined('a) to option('a) a => Some(a) empty => None

to_opt

RES
let to_opt: t<'a> => option<'a>