API / Js / Global

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