0
0
mirror of https://github.com/Doodle3D/Doodle3D-API synced 2024-12-23 14:13:47 +01:00
Doodle3D-API/jspm_packages/npm/core-js@0.9.18/modules/$.partial.js
2015-07-15 15:06:18 +02:00

34 lines
818 B
JavaScript

/* */
'use strict';
var $ = require("./$"),
invoke = require("./$.invoke"),
assertFunction = require("./$.assert").fn;
module.exports = function() {
var fn = assertFunction(this),
length = arguments.length,
pargs = Array(length),
i = 0,
_ = $.path._,
holder = false;
while (length > i)
if ((pargs[i] = arguments[i++]) === _)
holder = true;
return function() {
var that = this,
_length = arguments.length,
j = 0,
k = 0,
args;
if (!holder && !_length)
return invoke(fn, pargs, that);
args = pargs.slice();
if (holder)
for (; length > j; j++)
if (args[j] === _)
args[j] = arguments[k++];
while (_length > k)
args.push(arguments[k++]);
return invoke(fn, args, that);
};
};