doublet
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

doublet

Handle any Javascript and Typescript function as an error and response tuple. This prevents declaring variables outside of a try/catch block for a cleaner flow.

doublet Github licence CI

Installation

npm i doublet

Usage

Traditionnal error handling

import axios from 'axios';
import doublet from 'doublet';
import HttpException from 'your-favorite-error-handler';

async function fetchUser(id: string): User {
  let user;

  try {
    user = await axios(`/users/${id}`);
  } catch (error) {
    throw new HttpException(`Could not fetch user ID "${id}", Error; ${error.message}`, error.status);
  }

  // Do something with user
}

With doublet

import axios from 'axios';
import doublet from 'doublet';
import HttpException from 'your-favorite-error-handler';

async function fetchUser(id: string): User {
  const [userError, user] = await doublet(axios, `/users/${id}`);
  if (userError) throw new HttpException(`Could not fetch user ID "${id}", Error; ${userError.message}`, userError.status);

  // Do something with user
}

Package Sidebar

Install

npm i doublet

Weekly Downloads

159

Version

1.0.1

License

Apache-2.0

Unpacked Size

15.1 kB

Total Files

6

Last publish

Collaborators

  • mats852