tiny-result
v1.0.2
Published
Tiny Result is a simple yet powerful implementation of the Result Type. It provides a Result type that is used for returning and propagating errors in a convenient and efficient manner.
Downloads
29
Maintainers
Readme
Tiny Result
Overview
Tiny Result is a simple yet powerful implementation of the Result Type. It provides a Result type that is used for returning and propagating errors in a convenient and efficient manner.
This library is designed to enabling developers to handle errors in a more structured and expressive way.
Features
Result<TData, TError>
type: Represents the result of an operation that can either return a value of typeTData
or an error of typeTError
.- Error handling: Provides utilities for handling errors, including
map
,unwrap
,expect
, and more.
Installation
Tiny Result can be installed using npm:
npm install tiny-result
Usage
Import the Result
type and relevant functions from the tiny-result
package:
import { Result, success, failure } from "tiny-result";
Creating Results
const success: Result<number, string> = success(42); // Result containing a value
const failure: Result<number, string> = failure("Error"); // Result containing an error
Error Handling
You can handle errors using the match
function, which takes two callbacks—one for the success case and one for the error case:
const result: Result<number, string> = success(42);
const message = result.match(
(value) => `The result is ${value}`,
(error) => `An error occurred: ${error}`
);
console.log(message); // Output: `The result is 42`
Chaining Results
Results can be transformed and chained using the provided utility functions. For example:
const result: Result<number, string> = success(42);
const transformedResult = result.map((value) => value * 2);
console.log(transformedResult.unwrap()); // 84
Examples
This repository includes examples showcasing the usage of the tiny-result
package. You can find these examples in the examples folder.
Contributing
Contributions are welcome! If you find a bug, have a feature request, or want to suggest improvements, please open an issue on the GitHub repository.
If you want to contribute code, please fork the repository and submit a pull request with your changes. Make sure to follow the coding conventions and include tests for any new functionality.
License
Tiny Result is open-source software licensed under the MIT License. Feel free to use, modify, and distribute it as per the terms of the license.