API / Core

Core

timeoutId

RESCRIPT
type timeoutId = Js.Global.timeoutId

An id representing a timeout started via setTimeout.

See setTimeout on MDN.

setTimeout

RESCRIPT
let setTimeout: (unit => unit, int) => timeoutId

setTimeout(callback, durationInMilliseconds) starts a timer that will execute callback after durationInMilliseconds.

See setTimeout on MDN.

Examples

RESCRIPT
// Log to the console after 2 seconds (2000 milliseconds). let timeoutId = setTimeout(() => { Console.log("This prints in 2 seconds.") }, 2000)

setTimeoutFloat

RESCRIPT
let setTimeoutFloat: (unit => unit, float) => timeoutId

setTimeoutFloat(callback, durationInMilliseconds) starts a timer that will execute callback after durationInMilliseconds.

The same as setTimeout, but allows you to pass a float instead of an int for the duration.

See setTimeout on MDN.

Examples

RESCRIPT
// Log to the console after 2 seconds (2000 milliseconds). let timeoutId = setTimeoutFloat(() => { Console.log("This prints in 2 seconds.") }, 2000.)

clearTimeout

RESCRIPT
let clearTimeout: timeoutId => unit

clearTimeout(timeoutId) clears a scheduled timeout if it hasn't already executed.

See clearTimeout on MDN.

Examples

RESCRIPT
let timeoutId = setTimeout(() => { Console.log("This prints in 2 seconds.") }, 2000) // Clearing the timeout right away, before 2 seconds has passed, means that the above callback logging to the console will never run. clearTimeout(timeoutId)

intervalId

RESCRIPT
type intervalId = Js.Global.intervalId

An id representing an interval started via setInterval.

See setInterval on MDN.

setInterval

RESCRIPT
let setInterval: (unit => unit, int) => intervalId

setInterval(callback, intervalInMilliseconds) starts an interval that will execute callback every durationInMilliseconds milliseconds.

See setInterval on MDN.

Examples

RESCRIPT
// Log to the console ever 2 seconds (2000 milliseconds). let intervalId = setInterval(() => { Console.log("This prints every 2 seconds.") }, 2000)

setIntervalFloat

RESCRIPT
let setIntervalFloat: (unit => unit, float) => intervalId

setIntervalFloat(callback, intervalInMilliseconds) starts an interval that will execute callback every durationInMilliseconds milliseconds.

The same as setInterval, but allows you to pass a float instead of an int for the duration.

See setInterval on MDN.

Examples

RESCRIPT
// Log to the console ever 2 seconds (2000 milliseconds). let intervalId = setIntervalFloat(() => { Console.log("This prints every 2 seconds.") }, 2000.)

clearInterval

RESCRIPT
let clearInterval: intervalId => unit

clearInterval(intervalId) clears a scheduled interval.

See clearInterval on MDN.

Examples

RESCRIPT
let intervalId = setInterval(() => { Console.log("This prints in 2 seconds.") }, 2000) // Stop the interval after 10 seconds let timeoutId = setTimeout(() => { clearInterval(intervalId) }, 10000)

encodeURI

RESCRIPT
let encodeURI: string => string

Encodes a URI by replacing characters in the provided string that aren't valid in a URL.

This is intended to operate on full URIs, so it encodes fewer characters than what encodeURIComponent does. If you're looking to encode just parts of a URI, like a query parameter, prefer encodeURIComponent.

See encodeURI on MDN.

Examples

RESCRIPT
Console.log(encodeURI("https://rescript-lang.org?array=[someValue]")) // Logs "https://rescript-lang.org?array=%5BsomeValue%5D" to the console.

decodeURI

RESCRIPT
let decodeURI: string => string

Decodes a previously encoded URI back to a regular string.

This is intended to operate on full URIs, so it decodes fewer characters than what decodeURIComponent does. If you're looking to decode just parts of a URI, like a query parameter, prefer decodeURIComponent.

See decodeURI on MDN.

Examples

RESCRIPT
Console.log(decodeURI("https://rescript-lang.org?array=%5BsomeValue%5D")) // Logs "https://rescript-lang.org?array=[someValue]" to the console.

encodeURIComponent

RESCRIPT
let encodeURIComponent: string => string

Encodes a string so it can be used as part of a URI.

See encodeURIComponent on MDN.

Examples

RESCRIPT
Console.log(encodeURIComponent("array=[someValue]")) // Logs "array%3D%5BsomeValue%5D" to the console.

decodeURIComponent

RESCRIPT
let decodeURIComponent: string => string

Decodes a previously URI encoded string back to its original form.

See decodeURIComponent on MDN.

Examples

RESCRIPT
Console.log(decodeURIComponent("array%3D%5BsomeValue%5D")) // Logs "array=[someValue]" to the console.

window

RESCRIPT
let window: Dom.window

document

RESCRIPT
let document: Dom.document

globalThis

RESCRIPT
let globalThis: {..}

null

RESCRIPT
let null: Core__Nullable.t<'a>

undefined

RESCRIPT
let undefined: Core__Nullable.t<'a>

typeof

RESCRIPT
let typeof: 'a => Core__Type.t

import

RESCRIPT
let import: 'a => promise<'a>

import(value) dynamically import a value or function from a ReScript module. The import call will return a promise, resolving to the dynamically loaded value.

Examples

Core__Array.res file:

RESCRIPT
@send external indexOf: (array<'a>, 'a) => int = "indexOf" let indexOfOpt = (arr, item) => switch arr->indexOf(item) { | -1 => None | index => Some(index) }

In other file you can import the indexOfOpt value defined in Core__Array.res

RESCRIPT
let main = async () => { let indexOfOpt = await import(Core__Array.indexOfOpt) let index = indexOfOpt([1, 2], 2) Console.log(index) }

Compiles to:

JAVASCRIPT
async function main() { var add = await import("./Core__Array.mjs").then(function(m) { return m.indexOfOpt; }); var index = indexOfOpt([1, 2], 2); console.log(index); }

t

RESCRIPT
type t<'a> = Js.t<'a> constraint 'a = {..}

null

RESCRIPT
type null<'a> = Js.null<'a>

undefined

RESCRIPT
type undefined<'a> = Js.undefined<'a>

nullable

RESCRIPT
type nullable<'a> = Js.nullable<'a>

panic

RESCRIPT
let panic: string => 'a