blob: 53cfa44f82e0ad1b27251eea914cf7677738ccfa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
'use strict';
export default function reflect(fn) {
return function reflectOn() {
var args = Array.prototype.slice.call(arguments);
var reflectCallback = args.pop();
args.push(function callback(err) {
if (err) {
reflectCallback(null, {
error: err
});
} else {
var cbArgs = Array.prototype.slice.call(arguments, 1);
var value = null;
if (cbArgs.length === 1) {
value = cbArgs[0];
} else if (cbArgs.length > 1) {
value = cbArgs;
}
reflectCallback(null, {
value: value
});
}
});
return fn.apply(this, args);
};
}
|