Global

Provide bindings to JS global functions in global namespace.

RES
type intervalId

Identify an interval started by Js.Global.setInterval.

RES
type timeoutId

Identify timeout started by Js.Global.setTimeout.

clearInterval

let clearInterval: intervalId => unit

Clear an interval started by Js.Global.setInterval

RES
/* 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.contents, (. intervalId) => Js.Global.clearInterval(intervalId))

clearTimeout

let clearTimeout: timeoutId => unit

Clear a timeout started by Js.Global.setTimeout.

RES
/* 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.contents, (. timer) => Js.Global.clearTimeout(timer)) timer := Js.Nullable.return(Js.Global.setTimeout(work, mins * 60 * 1000)) }

setInterval

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.

RES
/* Will count up and print the count to the console every second */ let count = ref(0) let tick = () => { count := count.contents + 1 Js.log(Belt.Int.toString(count.contents)) } Js.Global.setInterval(tick, 1000)

setIntervalFloat

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.

RES
/* Will count up and print the count to the console every second */ let count = ref(0) let tick = () => { count := count.contents + 1 Js.log(Belt.Int.toString(count.contents)) } Js.Global.setIntervalFloat(tick, 1000.0)

setTimeout

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.

RES
/* Prints "Timed out!" in the console after one second */ let message = "Timed out!" Js.Global.setTimeout(() => Js.log(message), 1000)

setTimeoutFloat

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.

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

encodeURI

let encodeURI: string => string

URL-encodes a string.

decodeURI

let decodeURI: string => string

Decodes a URL-enmcoded string produced by encodeURI.

encodeURIComponent

let encodeURIComponent: string => string

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

decodeURIComponent

let decodeURIComponent: string => string

Decodes a URL-enmcoded string produced by encodeURIComponent