summaryrefslogtreecommitdiff
path: root/lib/reflect.js
diff options
context:
space:
mode:
authorAlexander Early <alexander.early@gmail.com>2016-04-04 13:09:21 -0700
committerAlexander Early <alexander.early@gmail.com>2016-04-04 13:09:21 -0700
commit591deefdc56f0f84cf3fef02c3d45a7729dd39a6 (patch)
treef23d0f73552a4284d59cfbb258b625fc17c8ca34 /lib/reflect.js
parent80197a31b33813ce42701cfc32a85c4ccc2ff5c7 (diff)
downloadasync-591deefdc56f0f84cf3fef02c3d45a7729dd39a6.tar.gz
streamline implementation
Diffstat (limited to 'lib/reflect.js')
-rw-r--r--lib/reflect.js15
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/reflect.js b/lib/reflect.js
index 53cfa44..2711254 100644
--- a/lib/reflect.js
+++ b/lib/reflect.js
@@ -1,17 +1,14 @@
-'use strict';
+import initialParams from './internal/initialParams';
+import rest from 'lodash/rest';
export default function reflect(fn) {
- return function reflectOn() {
- var args = Array.prototype.slice.call(arguments);
- var reflectCallback = args.pop();
-
- args.push(function callback(err) {
+ return initialParams(function reflectOn(args, reflectCallback) {
+ args.push(rest(function callback(err, cbArgs) {
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];
@@ -22,8 +19,8 @@ export default function reflect(fn) {
value: value
});
}
- });
+ }));
return fn.apply(this, args);
- };
+ });
}