Skip to content

Repository files navigation

Rusty-Result.js

npm versionnpm bundle size

Zero dependency Typescript implementation of Rust's Result avaible via NPM or Deno Land!

Rusty-Result aims to be a Typescript/Javascript interpretation of Result from Rust. View the generated docs for the library here.

# NPM
npm install --save '@urbdyn/rusty-result'# Denoecho'export { Result } from "https://deno.land/x/rusty_result/mod.ts";'>> ./deps.ts

Example Usage

// Node.jsimport{Result}from'@urbdyn/rusty-result';// Denoimport{Result}from'https://deno.land/x/rusty_result/mod.ts';// Create an ok ResultconstmyOkResult=Result.ok(1);// Create an error ResultconstmyErrorResult=Result.error(2);// Create a function that takes ResultsfunctionmyResultFunction(r: Result<number,number>): void{// Perform operation on ok value and get new Resultconstr2=r.map((x)=>x+10);// Perform operation on ok value and on error value and get new Resultconstr3=r.map((x)=>x+10).mapError((x)=>x-10);// Do action if Result is okif(r3.isOk()){console.log(`r3 is ok with value of: ${r3.unwrap()}`);}// Do action if Result is errorif(r3.isError()){console.log(`r3 is error with value of: ${r3.unwrapError()}`);}}// Use Result with a functionmyResultFunction(myOkResult);// prints: r3 is ok with value of: 11myResultFunction(myErrorResult);// prints: r3 is error with value of: -8// Check docs for all supported functions for working with Result values!

Supported Environments

EnvironmentVersions
Denov1.17.0 and v1.21.1
Node.js12.22.12, 14.19.2, and 16.15.0

About

Typescript implementation of Rust's Result

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages