This is the latest docs version
Quick Links
  • -Overview
  • -Language Features
  • -JS Interop
  • -Build System
Documentation
Language Manual
Reference for all language features
ReScript & React
First class bindings for ReactJS
GenType
Seamless TypeScript integration
Reanalyze
Dead Code & Termination analysis
Exploration
Packages
Explore third party libraries and bindings
Syntax Lookup
Discover all syntax constructs
APIPlaygroundBlogCommunity
  • Playground
  • Blog
  • Twitter
  • GitHub
  • Forum
Core Module
Overview
Core
  • t
    timeoutId
  • v
    setTimeout
  • v
    setTimeoutFloat
  • v
    clearTimeout
  • t
    intervalId
  • v
    setInterval
  • v
    setIntervalFloat
  • v
    clearInterval
  • v
    encodeURI
  • v
    decodeURI
  • v
    encodeURIComponent
  • v
    decodeURIComponent
  • v
    window
  • v
    document
  • v
    globalThis
  • v
    null
  • v
    undefined
  • v
    typeof
  • v
    import
  • t
    t
  • t
    null
  • t
    undefined
  • t
    nullable
  • v
    panic
submodules
  • Array
  • ArrayBuffer
  • AsyncIterator
  • BigInt
  • BigInt64Array
    • Constants
    BigUint64Array
    • Constants
  • Console
  • DataView
  • Date
    • UTC
  • Dict
  • Error
    • URIError
    • TypeError
    • SyntaxError
    • ReferenceError
    • RangeError
    • EvalError
  • Exn
  • Float
    • Constants
    Float32Array
    • Constants
    Float64Array
    • Constants
    Int
    • Constants
    Int16Array
    • Constants
    Int32Array
    • Constants
    Int8Array
    • Constants
  • Internal
  • Intl
    • Segments
    • Segmenter
    • RelativeTimeFormat
    • PluralRules
    • NumberFormat
      • Grouping
    • Locale
    • ListFormat
    • DateTimeFormat
    • Collator
    • Common
  • Iterator
  • JSON
    • Decode
    • Encode
    • Classify
  • List
  • Map
  • MapperRt
  • Math
    • Int
    • Constants
  • Null
  • Nullable
  • Object
  • Option
  • Ordering
  • Promise
  • Re
    • Result
    RegExp
    • Result
  • Result
  • Set
  • String
  • Symbol
  • Type
    • Classify
  • TypedArray
  • Uint16Array
    • Constants
    Uint32Array
    • Constants
    Uint8Array
    • Constants
    Uint8ClampedArray
    • Constants
  • WeakMap
  • WeakSet
  • 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
    Types and values
    • t
      timeoutId
    • v
      setTimeout
    • v
      setTimeoutFloat
    • v
      clearTimeout
    • t
      intervalId
    • v
      setInterval
    • v
      setIntervalFloat
    • v
      clearInterval
    • v
      encodeURI
    • v
      decodeURI
    • v
      encodeURIComponent
    • v
      decodeURIComponent
    • v
      window
    • v
      document
    • v
      globalThis
    • v
      null
    • v
      undefined
    • v
      typeof
    • v
      import
    • t
      t
    • t
      null
    • t
      undefined
    • t
      nullable
    • v
      panic

    © 2024 The ReScript Project

    Software and assets distribution powered by KeyCDN.

    About
    • Community
    • ReScript Association
    Find us on