22 lines
375 B
JavaScript
22 lines
375 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var asyncDone = require('async-done');
|
||
|
|
||
|
function settle(fn, done) {
|
||
|
asyncDone(fn, function(error, result) {
|
||
|
var settled = {};
|
||
|
|
||
|
if (error != null) {
|
||
|
settled.state = 'error';
|
||
|
settled.value = error;
|
||
|
} else {
|
||
|
settled.state = 'success';
|
||
|
settled.value = result;
|
||
|
}
|
||
|
|
||
|
done(null, settled);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
module.exports = settle;
|