30 lines
872 B
JavaScript
30 lines
872 B
JavaScript
|
'use strict';
|
||
|
var path = require('./_path')
|
||
|
, invoke = require('./_invoke')
|
||
|
, aFunction = require('./_a-function');
|
||
|
module.exports = function(/* ...pargs */){
|
||
|
var fn = aFunction(this)
|
||
|
, length = arguments.length
|
||
|
, pargs = Array(length)
|
||
|
, i = 0
|
||
|
, _ = path._
|
||
|
, holder = false;
|
||
|
while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;
|
||
|
return function(/* ...args */){
|
||
|
var that = this
|
||
|
, aLen = arguments.length
|
||
|
, j = 0, k = 0, args;
|
||
|
if(!holder && !aLen)return invoke(fn, pargs, that);
|
||
|
args = pargs.slice();
|
||
|
if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];
|
||
|
while(aLen > k)args.push(arguments[k++]);
|
||
|
return invoke(fn, args, that);
|
||
|
};
|
||
|
};
|
||
|
|
||
|
|
||
|
//////////////////
|
||
|
// WEBPACK FOOTER
|
||
|
// ./~/core-js/modules/_partial.js
|
||
|
// module id = 1819
|
||
|
// module chunks = 4
|