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

1.0.15 • Public • Published

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);

Dependents (4)

Package Sidebar

Install

npm i flatry

Weekly Downloads

102

Version

1.0.15

License

MIT

Unpacked Size

260 kB

Total Files

13

Last publish

Collaborators

  • ymatuhin