API / Js / Nullable

You are currently looking at the v6.0 - v8.2 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

RE
type t('a) = Js.null_undefined('a);

Local alias for Js.null_undefined('a).

return

RE
let return: 'a => t('a);

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

test

RE
let test: t('a) => bool;

isNullable

RE
let isNullable: t('a) => bool;

Returns true if the given value is null or undefined, false otherwise.

null

RE
let null: t('a);

The null value of type Js.null_undefined('a).

undefined

RE
let undefined: t('a);

The undefined value of type Js.null_undefined('a).

bind

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

RE
let maybeGreetWorld = (maybeGreeting: Js.null_undefined(string)) => Js.Nullable.bind(maybeGreeting, [@bs] greeting => greeting ++ " world!");

iter

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

RE
let maybeSay = (maybeMessage: Js.null_undefined(string)) => Js.Nullable.iter(maybeMessage, [@bs] message => Js.log(message));

fromOption

RE
let fromOption: option('a) => t('a);

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

from_opt

RE
let from_opt: option('a) => t('a);

toOption

RE
let toOption: t('a) => option('a);

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

to_opt

RE
let to_opt: t('a) => option('a);