neverthrow
rust-script
Our great sponsors
neverthrow | rust-script | |
---|---|---|
16 | 25 | |
2,447 | 1,121 | |
- | - | |
5.8 | 8.0 | |
3 days ago | 3 months ago | |
TypeScript | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
neverthrow
-
Error Handling Patterns
Very timely, was just trying to understand how to improve error handling with typescript recently and came across neverthrow (https://github.com/supermacro/neverthrow) which looks promising…
-
Ask HN: What is the “proper” way to do error-handling in TypeScript?
On my team we use Rust-style Result/Option types for any unrecoverable exceptions.
https://github.com/supermacro/neverthrow
-
The gotcha of unhandled promise rejections
I was happy when Promise became available, but in retrospect I'd wish we would have skipped ahead and gotten Observable (e.g: https://rxjs.dev/) instead to enable more powerful functionality and composition etc.
In Typescript dealing with rejection is also painful since rejection reasons can't be guaranteed to be Error even when you always take care of that. And it can't help you guarantee that you're handling all types of errors thrown. For that purpose I'm thinking of using https://github.com/supermacro/neverthrow#readme or https://swan-io.github.io/boxed.
-
How has learning Rust been a benefit to you in other programming areas?
I highly recommend the neverthrow library for bringing Result to Typescript.
-
functional error handling (functions return error) recommendations
I like the Result monad from here: https://github.com/supermacro/neverthrow
-
How to know if a function throws in Typescript?
What do you think of neverthrow?
-
ts-results - a lightweight result wrapper to exhibit success/failure instead of using/throwing exceptions.
I use https://github.com/supermacro/neverthrow for this
-
Handle Javascript errors like in Go
See neverthrow as an example of correctly encoding the failure into the return type of the function.
- Why doesn't typescript have a throws type to annotate functions that can throw an error?
-
what's the recommended way to handle error in TS?
I use Neverthrow. Same idea, concurrent projects...
rust-script
-
Rust 101
There is also rust-script[1] which runs "Rust files and expressions as scripts without any setup or compilation step." I wrote a data loader[2] in it for my Observable Framework project and have been very happy with its performance and overall ease including hot-reloading.
[1] https://rust-script.org
[2] https://observablehq.com/framework/loaders#routing
-
How to convince my boss that Rust is usable
To address your concerns about non-trivial building process making Rust less suitable for small scripts : https://rust-script.org/ Work is actively being done. (not by me)
-
I made a scriptable spaced repetition CLI with Rust and Rhai!
I started this as a little script made with rust-script, which took only a few hours to mock up, and then I was able to refactor the core logic into a much larger scriptable system over only about a day. And, Rust being Rust, it worked first time once I got it compiling! Also, I have to say, having a full-blown custom scripting engine just work is a novelty coming from web programming, and Rhai is a great choice if you need this sort of functionality in your own projects!
-
Organizing a large collection of Rust "scripts"?
Use rust-script ! Instead of having a folder for each script, your script could be a single file, just like you would in python. Then you can put all the files in a single directory with a readme describing the functionality and use-case of each script.
-
Pre-RFC: `cargo-script` for everyone
In case you didn't notice in the Prior Art section, rust-script is the most actively maintained descendant of cargo-script (from which the cargo-eval crate is forked as well).
-
Rust tech stack
Someone even wrote https://rust-script.org/ to make that "shell scripting using Rust" use-case more convenient.
-
would you use rust for scripting?
Is rust-script close enough?
-
Why is Rust always advertised as system programming not general purpose programming?
That may have been more of the originator of the idea, but what I believe I had used was rust-script, looking into it more. That one isn't maintained.
-
How has learning Rust been a benefit to you in other programming areas?
If you want that, check out rust-script.
- rust-analyzer changelog #134
What are some alternatives?
ts-results - A typescript implementation of Rust's Result object.
cargo-script - Cargo script subcommand
oxide.ts - Rust's Option<T> and Result<T, E>, implemented for TypeScript.
evcxr
fp-ts - Functional programming in TypeScript
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]
result - A TypeScript result type taking cues from Rust's Result and Haskell's Either types
dotfiles - My configuration files and personal collection of scripts.
functional-conditionals - A library for writing if / else if / else in a functional way.
cargo-script - Cargo script subcommand
eslint-plugin-promise - Enforce best practices for JavaScript promises
rust-cli-boilerplate - Rust project boilerplate for CLI applications