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

RES
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

RES
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

RES
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

RES
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

RES
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

RES
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

RES
let encodeURI: string => string

URL-encodes a string.

decodeURI

RES
let decodeURI: string => string

Decodes a URL-enmcoded string produced by encodeURI.

encodeURIComponent

RES
let encodeURIComponent: string => string

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

decodeURIComponent

RES
let decodeURIComponent: string => string

Decodes a URL-enmcoded string produced by encodeURIComponent