API / JavaScript / Js / Nullable

Nullable

Provide utilities around Js.null_undefined.

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

Local alias for Js.null_undefined('a).

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

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

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

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

let null: t('a);

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

let undefined: t('a);

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

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!");
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));
let fromOption: option('a) => t('a);

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

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

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

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