Skip to content

Flatry — try/catch free error handling module for JavaScript

License

Notifications You must be signed in to change notification settings

ymatuhin/flatry

Repository files navigation

Flatry

Build Status GitHub license

Flatry (flat try) converting promise or function to flat array response with [err, result].

Inspired by golang style error handling without try/catch.

 

Install

npm install flatry
# or
yarn add flatry

 

Use

import flatry from "flatry";
// or
const flatry = require("flatry");

 

Examples

Flatry example

 

Asynchronous (async/await)

// Before
async asyncData({ app, error }) {
  try {
    const categories = (await app.$axios.$get('forum')).sections;
    return { categories };
  } catch (err) {
    return error({ statusCode: err.statusCode });
  }
}


// After
async asyncData({ app, error }) {
  const [err, res] = await flatry(app.$axios.$get('forum'));
  if (err) return error({ statusCode: err.statusCode });
  return { categories: res.sections };
}

Synchronous

// Before
let result = false;
try {
  result = mayThrowErrorSomeday();
} catch (error) {
  console.log("Error catched", error);
}
console.log("result", result);

// After
const [err, result] = flatry(mayThrowErrorSomeday);
if (err) console.log("Error catched", err);
console.log("result", result);

About

Flatry — try/catch free error handling module for JavaScript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •