soiz1's picture
Upload 225 files
7aec436 verified
const promisify = (functionWithCallback) => (...args) => new Promise((resolve, reject) => {
functionWithCallback(...args, (err, result) => {
if (err) {
if (typeof err === 'string') {
// This will at least give a partial error stack.
reject(new Error(err));
} else {
reject(err);
}
} else {
resolve(result);
}
});
});
var unpack = promisify(require('./lib/unpack'));
var parse = promisify(require('./lib/parse'));
var validate = promisify(require('./lib/validate'));
module.exports = function (input, isSprite, callback) {
unpack(input, isSprite)
.then(function (unpackedProject) {
return parse(unpackedProject[0])
.then(validate.bind(null, isSprite))
.then(function (validatedProject) {
return [validatedProject, unpackedProject[1]];
});
})
.then(callback.bind(null, null), callback);
};