diffusion
Version:
Diffusion JavaScript client
24 lines (19 loc) • 640 B
JavaScript
var _implements = require('util/interface')._implements;
var Result = require('../../events/result');
var when = require('when');
function ResultImpl(emitter) {
var promise = when.promise(function(fulfilled, rejected) {
emitter.listen(function(e, args) {
if (e === 'error') {
rejected(args[0]);
} else {
fulfilled(args[0]);
}
});
});
this.then = function(fulfillment, rejected, partial) {
promise = promise.then(fulfillment, rejected, partial);
return promise;
};
}
module.exports = _implements(Result, ResultImpl);