UNPKG

villa

Version:

Promise utilities for async/await-ready environment.

48 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Call a Node.js-style asynchronous function and return a correspondent * promise. */ function call(fn) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } return new Promise(function (resolve, reject) { fn.call.apply(fn, [undefined].concat(args, [function (error, value) { if (error) { reject(error); } else { resolve(value); } }])); }); } exports.call = call; /** * Wrap a Node.js-style asynchronous function to a function that returns * promise. */ function async(fn) { return function () { var _this = this; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return new Promise(function (resolve, reject) { fn.call.apply(fn, [_this].concat(args, [function (error, value) { if (error) { reject(error); } else { resolve(value); } }])); }); }; } exports.async = async; //# sourceMappingURL=function.js.map