1.1.0 • Published 10 months ago

mondjs v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

🐛 MondJS

Monadic Error Handling for JavaScript/TypeScript

Minzipped size

👋🏼 About

MondJS is a lightweight JavaScript/TypeScript library that brings monadic error handling, inspired by Rust, to your codebase.

This approach to error handling is more robust and reliable than traditional exception handling, which should be reserved for truly exceptional cases, rather than used as the primary method for managing common errors in general situations.

🚀 Getting Started

Installation 📥

You can install MondJS using your preferred package manager:

npm:

npm install mondjs

yarn:

yarn add mondjs

pnpm:

pnpm add mondjs

Basic examples 🔎

These basic examples show very briefly two of the characteristics of MondJS: Result and Option.

import { type Result, ok, err } from "mondjs";

function divide(a: number, b: number): Result<number, string> {
  if (a === 0 || b === 0) {
    return err("Divided by 0.");
  }

  return ok(a / b);
}

const result = divide(4, 0).unwrap();
console.log(result);
import { type Option, some, none } from "mondjs";

type User = {
  id: number;
  name: string;
};

const users: User[] = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
];

function findUserById(id: number): Option<User> {
  const user = users.find((user) => user.id === id);

  return user ? some(user) : none();
}

const defaultUser: User = { id: 3, name: "Jhon" };
const userOption = findUserById(3).unwrapOr(defaultUser);
console.log(userOption);

For more details and to see all the functionalities of MondJS, please refer to the documentation section.

Documentation 📖

For detailed information on using MondJS, including guides and examples, see documentation in the docs folder in the GitHub repository:

  • 💡 Main page: docs/README.md - Overview and basic explanation.

  • 👀 Examples: docs/examples - Practical examples for various use cases.

Explore these resources to get started with MondJS.

📄 License

The whole project is under the MIT license (see file).

👤 Author

MondJS was created and mainly developed by Nehuén (GitHub here).