1 /* Native method references for those with the same name as other `lodash` methods. */
2 var nativeMax = Math.max;
5 * This function is like `composeArgs` except that the arguments composition
6 * is tailored for `_.partialRight`.
9 * @param {Array|Object} args The provided arguments.
10 * @param {Array} partials The arguments to append to those provided.
11 * @param {Array} holders The `partials` placeholder indexes.
12 * @returns {Array} Returns the new array of composed arguments.
14 function composeArgsRight(args, partials, holders) {
15 var holdersIndex = -1,
16 holdersLength = holders.length,
18 argsLength = nativeMax(args.length - holdersLength, 0),
20 rightLength = partials.length,
21 result = Array(argsLength + rightLength);
23 while (++argsIndex < argsLength) {
24 result[argsIndex] = args[argsIndex];
26 var offset = argsIndex;
27 while (++rightIndex < rightLength) {
28 result[offset + rightIndex] = partials[rightIndex];
30 while (++holdersIndex < holdersLength) {
31 result[offset + holders[holdersIndex]] = args[argsIndex++];
36 module.exports = composeArgsRight;