← Back to index

How to determine if a global value exists in ReScript?

Sat Dec 12 2020

ReScript version: bs-platform@8.4.2

Use the %external(your_global) annotation.

This returns an option value.

let devOpt = %external(__DEV__)
switch devOpt {
| Some(_) => Js.log("development mode")
| None => Js.log("production mode")
}

This generates:

var devOpt = typeof __DEV__ === "undefined" ? undefined : __DEV__;

if (devOpt !== undefined) {
  console.log("development mode");
} else {
  console.log("production mode");
}