Global
Provide bindings to JS global functions in global namespace.
REStype intervalId
Identify an interval started by Js.Global.setInterval
.
REStype timeoutId
Identify timeout started by Js.Global.setTimeout
.
clearInterval
RESlet 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
RESlet 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
RESlet 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
RESlet 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
RESlet 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
RESlet 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
RESlet encodeURI: string => string
URL-encodes a string.
decodeURI
RESlet decodeURI: string => string
Decodes a URL-enmcoded string produced by encodeURI.
encodeURIComponent
RESlet encodeURIComponent: string => string
URL-encodes a string, including characters with special meaning in a URI.
decodeURIComponent
RESlet decodeURIComponent: string => string
Decodes a URL-enmcoded string produced by encodeURIComponent