diff options
author | Alexander Early <alexander.early@gmail.com> | 2016-04-04 13:09:21 -0700 |
---|---|---|
committer | Alexander Early <alexander.early@gmail.com> | 2016-04-04 13:09:21 -0700 |
commit | 591deefdc56f0f84cf3fef02c3d45a7729dd39a6 (patch) | |
tree | f23d0f73552a4284d59cfbb258b625fc17c8ca34 | |
parent | 80197a31b33813ce42701cfc32a85c4ccc2ff5c7 (diff) | |
download | async-591deefdc56f0f84cf3fef02c3d45a7729dd39a6.tar.gz |
streamline implementation
-rw-r--r-- | lib/reflect.js | 15 |
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); - }; + }); } |