Js.Global

Provide bindings to JS global functions in global namespace

intervalId

RESCRIPT
type intervalId

Identify an interval started by Js.Global.setInterval.

timeoutId

RESCRIPT
type timeoutId

Identify timeout started by Js.Global.setTimeout.

clearInterval

RESCRIPT
let clearInterval: intervalId => unit

Clear an interval started by Js.Global.setInterval

Examples

RESCRIPT
/* 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

RESCRIPT
let clearTimeout: timeoutId => unit

Clear a timeout started by Js.Global.setTimeout.

Examples

RESCRIPT
/* 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

RESCRIPT
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.

Examples

RESCRIPT
/* 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

RESCRIPT
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.

Examples

RESCRIPT
/* 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

RESCRIPT
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.

Examples

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

setTimeoutFloat

RESCRIPT
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.

Examples

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

encodeURI

RESCRIPT
let encodeURI: string => string

URL-encodes a string.

see MDN

decodeURI

RESCRIPT
let decodeURI: string => string

Decodes a URL-enmcoded string produced by encodeURI

see MDN

encodeURIComponent

RESCRIPT
let encodeURIComponent: string => string

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

see MDN

decodeURIComponent

RESCRIPT
let decodeURIComponent: string => string

Decodes a URL-enmcoded string produced by encodeURIComponent

see MDN