Introduction
Welcome to @praha/byethrow
, a lightweight and tree-shakable Result type library designed to handle fallible operations in JavaScript and TypeScript with elegance and simplicity.
Features
- 🌲 Tree-Shakable: Only bundle the functions you actually use. The library is designed with modern JavaScript bundlers in mind.
- 🧱 Lightweight & Object-Based: No classes or complex inheritance hierarchies. Just plain objects that are easy to understand and debug.
- 🔄 Consistent API: All functions follow the same naming and usage patterns, making the library predictable and easy to learn.
- 🔀 Unified Sync/Async Handling: Works seamlessly with both synchronous
Result<T, E>
and asynchronous Promise<Result<T, E>>
operations.
- 🎯 Focused Functionality: Concentrates on Result-centric utilities without unnecessary complexity or confusing variants.
When to Use byethrow
This library is perfect for:
- API calls that might fail due to network issues
- Data validation where you need to accumulate or handle multiple errors
- File operations that might encounter permissions or I/O errors
- Parser implementations where invalid input should be handled gracefully
- Business logic where errors are expected and should be handled explicitly
Happy coding with explicit error handling! 🎉