Skip to content

Module Js.Types

Utility functions for runtime reflection on JS types

type symbol;

Js symbol type only available in ES6

type bigint_val;

Js bigint type only available in ES2020

type obj_val;
type undefined_val;

This type has only one value undefined

type null_val;

This type has only one value null

type function_val;
type t(_) =
| Undefined : t(undefined_val)
| Null : t(null_val)
| Boolean : t(bool)
| Number : t(float)
| String : t(string)
| Function : t(function_val)
| Object : t(obj_val)
| Symbol : t(symbol)
| BigInt : t(bigint_val)
;
let test: 'a => t('b) => bool;
ocaml
test "x" String = true
type tagged_t =
| JSFalse
| JSTrue
| JSNull
| JSUndefined
| JSNumber(float)
| JSString(string)
| JSFunction(function_val)
| JSObject(obj_val)
| JSSymbol(symbol)
| JSBigInt(bigint_val)
;
let classify: 'a => tagged_t;