A port of some powerful Rust abstractions to JavaScript. By now it contains following modules:
null
in the functional style, an implementation of functional monad
Maybe
.Complete project documentation can be found here.
To install rustils
run the following command in the console:
$ npm i --save rustils
Import package in your code and you are ready:
import {Some, Option} from 'rustils';
const option: Option<number> = Some(10);
assert.equal(option.map(v => v + 50).unwrap(), 60);
You can see detailed using in API reference.
As you can see, all examples is written in Typescript here. But if you want to use this library with JavaScript, there is no problem. Just throw out all the types and use the package.
var rustils = require('rustils');
var Some = rustils.Some;
var None = rustils.None;
var option = Some(10);
assert.equal(option.map(function(v) { return v + 50; }).unwrap(), 60);
This project is highly inspired by r-result. r-result
is a
nice project, but it lacks typescript support and implements only Result
type, without Option
.
So I decided to create my own rust-port project. Hope it will be useful for anyone.
The rustils
type system is made as close as it can to the Rust original. Some function like
take
or as_ref
that has it's use in Rust, in JavaScript does not make sense, so they are not
implemented.
Information about license can be found here.
Generated using TypeDoc