UNPKG

@specialblend/unpromisify

Version:

convert async functions into callback style functions

24 lines (19 loc) 912 B
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('assert')) : typeof define === 'function' && define.amd ? define(['assert'], factory) : (global = global || self, global.index = factory(global.assert)); }(this, function (assert) { 'use strict'; assert = assert && assert.hasOwnProperty('default') ? assert['default'] : assert; function unpromisify(handler) { return (...args) => { assert(args.length, 'unpromisified handler needs at least 1 argument'); const params = args; const callback = args.pop(); assert(typeof callback === 'function', 'provided callback argument must be a function'); handler(...params) .then(data => callback(null, data)) .catch(callback); }; } return unpromisify; }));