Have ideas to improve npm?Join in the discussion! »

    flatry

    1.0.12 • Public • Published

    Flatry

    Build Status codecov 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);

    Install

    npm i flatry

    DownloadsWeekly Downloads

    42

    Version

    1.0.12

    License

    MIT

    Unpacked Size

    131 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar