diff --git a/lib/command.js b/lib/command.js index 2ff464fe..43ac4914 100644 --- a/lib/command.js +++ b/lib/command.js @@ -82,13 +82,7 @@ module.exports = function (proto) { * @return {Object} gm */ - proto.write = function write (name, callback) { - if (!callback) callback = name, name = null; - - if ("function" !== typeof callback) { - throw new TypeError("gm().write() expects a callback function") - } - + proto.write = function write (name) { if (!name) { return callback(TypeError("gm().write() expects a filename when writing new files")); } @@ -96,10 +90,15 @@ module.exports = function (proto) { this.outname = name; var self = this; - this._preprocess(function (err) { - if (err) return callback(err); - self._spawn(self.args(), true, callback); - }); + + return new Promise(function writeResolution (resolve, reject) { + this._preprocess(function preprocessCallback (err) { + if (err) { + return reject(err) + }; + return self._spawn(self.args(), true, resolve); + }); + }) } /**