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
  • X
  • BlueSky
  • GitHub
  • Forum
Belt Stdlib
Overview
  • Introduction
Basics
  • Array
  • List
  • Float
  • Int
  • Range
    • every
    • everyBy
    • everyByU
    • everyU
    • forEach
    • forEachU
    • some
    • someBy
    • someByU
    • someU
  • Id
  • Option
  • Result
Set
  • HashSet
  • HashSetInt
  • HashSetString
  • Set
  • SetDict
  • SetInt
  • SetString
Map
  • HashMap
  • HashMapInt
  • HashMapString
  • Map
  • MapDict
  • MapInt
  • MapString
Mutable Collections
  • MutableMap
  • MutableMapInt
  • MutableMapString
  • MutableQueue
  • MutableSet
  • MutableSetInt
  • MutableSetString
  • MutableStack
Sort Collections
  • SortArray
  • SortArrayInt
  • SortArrayString
Utilities
  • Debug
API / Belt / Range

Range

A small utility module to provide inclusive range operations for [start, finish]. Internally it is relying on loops instead of creating new arrays, which makes it pretty performant and memory friendly.

forEachU

RES
let forEachU: (int, int, (. int) => unit) => unit

forEach

RES
let forEach: (int, int, int => unit) => unit

forEach(start, finish, action)

equivalent to Belt.Array.(forEach(range(start, finish), action))

RES
Belt.Range.forEach(0, 4, (i) => Js.log(i)) /* * prints: * 0 * 1 * 2 * 3 * 4 */

everyU

RES
let everyU: (int, int, (. int) => bool) => bool

every

RES
let every: (int, int, int => bool) => bool

every(start, finish, p)

equivalent to Belt.Array.(every(range(start, finish), p))

RES
Belt.Range.every(0, 4, (i) => i < 5) /* true */ Belt.Range.every(0, 4, (i) => i < 4) /* false */

everyByU

RES
let everyByU: (int, int, ~step: int, (. int) => bool) => bool

everyBy

RES
let everyBy: (int, int, ~step: int, int => bool) => bool

everyBy(start, finish, ~step, p)

See Belt_Array.rangeBy

equivalent to Belt.Array.(every(rangeBy(start, finish, ~step), p))

RES
Belt.Range.everyBy(0, 4, ~step=1, (i) => mod(i, 2) === 0) /* false */ Belt.Range.everyBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */

someU

RES
let someU: (int, int, (. int) => bool) => bool

some

RES
let some: (int, int, int => bool) => bool

some(start, finish, p)

equivalent to Belt.Array.(some(range(start, finish), p))

RES
Belt.Range.some(0, 4, (i) => i > 5) /* false */ Belt.Range.some(0, 4, (i) => i > 2) /* true */

someByU

RES
let someByU: (int, int, ~step: int, (. int) => bool) => bool

someBy

RES
let someBy: (int, int, ~step: int, int => bool) => bool

someBy(start, finish, ~step, p)

See Belt_Array.rangeBy

equivalent to Belt.Array.(some(rangeBy(start, finish, ~step), p))

RES
Belt.Range.someBy(1, 5, ~step=2, (i) => mod(i, 2) === 0) /* false */ Belt.Range.someBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */

© 2024 The ReScript Project

Software and assets distribution powered by KeyCDN.

About
  • Community
  • ReScript Association
Find us on