API / Js / Nullable

Nullable

Provide utilities around Js.null_undefined.

t

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

Local alias for Js.null_undefined<'a>.

return

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

Constructs a value of Js.null_undefined<'a> containing a value of 'a.

test

let test: t<'a> => bool

isNullable

let isNullable: t<'a> => bool

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

null

let null: t<'a>

The null value of type Js.null_undefined<'a>.

undefined

let undefined: t<'a>

The undefined value of type Js.null_undefined<'a>.

bind

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

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

iter

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.

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

fromOption

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

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

from_opt

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

toOption

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

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

to_opt

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