Bindings to the JS standard library
This is an alternative library to the default Js module.
Main differences:
- Closer naming to the JS platform (e.g.
ObjectvsObj) - Type-first pipe
- Consistent naming accross the bindings
- Some missing data-structures (e.g.
Map,WeakMap,Set,WeakSet,BigInt,Intl) - A DX that overall looks more like JS (if you
open Js, you should feel at home) - Simple bindings to
window,documentandglobalThis(they're basically typed as any)
Nearly all data structures maintain compatible types with the default Js module.
Run the following in your console:
$ yarn add rescript-jsThen add rescript-js to your bsconfig.json's bs-dependencies:
{
"bs-dependencies": [
+ "rescript-js"
]
}If you want to exclusively use rescript-js:
{
"bsc-flags": [
+ "-open ReScriptJs",
]
}open ReScriptJs.Js
Console.log("Hello world!")
let timeout = setTimeout(() => {
Console.log("Hello!")
}, 100)
clearTimeout(timeout)
let array = [1, 2, 3]
let sum = array
->Array.map(x => x * 2)
->Array.reduce((acc, item) => acc + item, 0)Available modules are listed in ReScriptJs.res