File size: 376 Bytes
f56a29b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'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;