artdaq_node_server  v1_00_09
 All Classes Namespaces Files Variables Pages
_composeArgsRight.js
1 /* Built-in method references for those with the same name as other `lodash` methods. */
2 var nativeMax = Math.max;
3 
15 function composeArgsRight(args, partials, holders, isCurried) {
16  var argsIndex = -1,
17  argsLength = args.length,
18  holdersIndex = -1,
19  holdersLength = holders.length,
20  rightIndex = -1,
21  rightLength = partials.length,
22  rangeLength = nativeMax(argsLength - holdersLength, 0),
23  result = Array(rangeLength + rightLength),
24  isUncurried = !isCurried;
25 
26  while (++argsIndex < rangeLength) {
27  result[argsIndex] = args[argsIndex];
28  }
29  var offset = argsIndex;
30  while (++rightIndex < rightLength) {
31  result[offset + rightIndex] = partials[rightIndex];
32  }
33  while (++holdersIndex < holdersLength) {
34  if (isUncurried || argsIndex < argsLength) {
35  result[offset + holders[holdersIndex]] = args[argsIndex++];
36  }
37  }
38  return result;
39 }
40 
41 module.exports = composeArgsRight;