£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! [![Travis CI](https://travis-ci.org/digitaldesignlabs/es6-promisify.svg)](https://travis-ci.org/digitaldesignlabs/es6-promisify) # es6-promisify Converts callback-based functions to Promise-based functions. ## Install Install with [npm](https://npmjs.org/package/es6-promisify) ```bash npm install --save es6-promisify ``` ## Example ```js "use strict"; // Declare variables const promisify = require("es6-promisify"); const fs = require("fs"); // Convert the stat function const stat = promisify(fs.stat); // Now usable as a promise! stat("example.txt").then(function (stats) { console.log("Got stats", stats); }).catch(function (err) { console.error("Yikes!", err); }); ``` ## Promisify methods ```js "use strict"; // Declare variables const promisify = require("es6-promisify"); const redis = require("redis").createClient(6379, "localhost"); // Create a promise-based version of send_command const client = promisify(redis.send_command, redis); // Send commands to redis and get a promise back client("ping").then(function (pong) { console.log("Got", pong); }).catch(function (err) { console.error("Unexpected error", err); }).then(function () { redis.quit(); }); ``` ## Handle callback multiple arguments ```js "use strict"; // Declare functions function test(cb) { return cb(undefined, 1, 2, 3); } // Declare variables const promisify = require("es6-promisify"); // Create promise-based version of test const single = promisify(test); const multi = promisify(test, {multiArgs: true}); // Discards additional arguments single().then(function (result) { console.log(result); // 1 }); // Returns all arguments as an array multi().then(function (result) { console.log(result); // [1, 2, 3] }); ``` ### Tests Test with nodeunit ```bash $ npm test ``` Published under the [MIT License](http://opensource.org/licenses/MIT).