API / JavaScript / Js / Global

Global

Provide bindings to JS global functions in global namespace.

type intervalId;

Identify an interval started by Js.Global.setInterval.

type timeoutId;

Identify timeout started by Js.Global.setTimeout.

let clearInterval: intervalId => unit;

Clear an interval started by Js.Global.setInterval

RE
/* API for a somewhat aggressive snoozing alarm clock */ let punchSleepyGuy = () => Js.log("Punch"); let interval = ref(Js.Nullable.null); let remind = () => { Js.log("Wake Up!"); punchSleepyGuy(); }; let snooze = mins => interval := Js.Nullable.return(Js.Global.setInterval(remind, mins * 60 * 1000)); let cancel = () => Js.Nullable.iter(interval^, (. intervalId) => Js.Global.clearInterval(intervalId) );
let clearTimeout: timeoutId => unit;

Clear a timeout started by Js.Global.setTimeout.

RE
/* A simple model of a code monkey's brain */ let closeHackerNewsTab = () => Js.log("close"); let timer = ref(Js.Nullable.null); let work = () => closeHackerNewsTab(); let procrastinate = mins => { Js.Nullable.iter(timer^, (. timer) => Js.Global.clearTimeout(timer)); timer := Js.Nullable.return(Js.Global.setTimeout(work, mins * 60 * 1000)); };
let setInterval: (unit => unit, int) => intervalId;

Repeatedly executes a callback with a specified interval (in milliseconds) between calls. Returns a Js.Global.intervalId that can be passed to Js.Global.clearInterval to cancel the timeout.

RE
/* Will count up and print the count to the console every second */ let count = ref(0); let tick = () => { count := count^ + 1; Js.log(string_of_int(count^)); }; Js.Global.setInterval(tick, 1000);
let setIntervalFloat: (unit => unit, float) => intervalId;

Repeatedly executes a callback with a specified interval (in milliseconds) between calls. Returns a Js.Global.intervalId that can be passed to Js.Global.clearInterval to cancel the timeout.

RE
/* Will count up and print the count to the console every second */ let count = ref(0); let tick = () => { count := count^ + 1; Js.log(string_of_int(count^)); }; Js.Global.setIntervalFloat(tick, 1000.0);
let setTimeout: (unit => unit, int) => timeoutId;

Execute a callback after a specified delay (in milliseconds). Returns a Js.Global.timeoutId that can be passed to Js.Global.clearTimeout to cancel the timeout.

RE
/* Prints "Timed out!" in the console after one second */ let message = "Timed out!"; Js.Global.setTimeout(() => Js.log(message), 1000);
let setTimeoutFloat: (unit => unit, float) => timeoutId;

Execute a callback after a specified delay (in milliseconds). Returns a Js.Global.timeoutId that can be passed to Js.Global.clearTimeout to cancel the timeout.

RE
/* Prints "Timed out!" in the console after one second */ let message = "Timed out!"; Js.Global.setTimeoutFloat(() => Js.log(message), 1000.0);
let encodeURI: string => string;

URL-encodes a string.

let decodeURI: string => string;

Decodes a URL-enmcoded string produced by encodeURI.

let encodeURIComponent: string => string;

URL-encodes a string, including characters with special meaning in a URI.

let decodeURIComponent: string => string;

Decodes a URL-enmcoded string produced by encodeURIComponent