proback.js

2.1.16 • Public • Published

proback.js - dependency-free very minimal helper for APIs with Promise/callback dual design

NPM

js-standard-style

========

proback.js is an extremely tiny helper library to help the creation of APIs where functions are aimed to enable Promise-based and callback-based design as well.

Usage Rules

Usage

Command line:

npm install proback.js --save

In JS code:

    var Proback = require('proback.js');
    ...
    // your service. If callback is present, works as expected, If not, promise will be provided.
    function yourService( data, callback ){
        new Promise( function (resolve, reject) {
            //some callback is needed?
            object.fnCallWithCallback( data, Proback.handler( null, resolve, reject ) )
        }).then( function (res) {
            expect(res).to.equal('Done.')
            done()
        })
    }
    var Proback = require('proback.js');
    ...
    // your service. If callback is present, works as expected, If not, promise will be provided.
    function yourService( data, callback ){
        return new Promise( function (resolve, reject) {
            //some callback is needed?
            object.fnCallWithCallback( data, function (err, res) {
                if (err) return Proback.rejecter(err, null, reject)
                // some operation
                return Proback.resolver(res, null, resolve)
            } )
        }).then( function (res) {
            expect(res).to.equal('Done.')
            done()
        })
    }

Rules

  • quicker ( res, callback ) Defines a simple promise to send a result through the optional callback as well

  • thrower ( err, callback ) Defines a simple promise to throw an error through the optional callback as well

  • syncAll (promises) Performes all promises in order

  • forAll ( promises, callback, defaultRes ) Performes all promises and channel the result to the given callback

  • handler ( callback, resolve, reject ) Defines a callback function, which will use the passed opional callback and promise functions to channel the results

  • returner ( err, res, callback, resolve, reject ) Error mades it mark the error through the optional callback and the optional reject function or send the result back to the optional callback or the optional resolve function

  • resolver (res, callback, resolve) Sends a result through the optional callback and the optional reject function

  • rejecter (err, callback, reject) Marks an error through the optional callback and the optional reject function

Package Sidebar

Install

npm i proback.js

Weekly Downloads

1,624

Version

2.1.16

License

MIT

Unpacked Size

15.6 kB

Total Files

10

Last publish

Collaborators

  • imre.fazekas