summaryrefslogtreecommitdiff
path: root/tools/eslint/node_modules/escope/node_modules/es6-map/node_modules/es5-ext/function/#/partial.js
blob: bf31a3575a56dfe96e3f663ec7173f7f53010099 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'use strict';

var callable     = require('../../object/valid-callable')
  , aFrom        = require('../../array/from')
  , defineLength = require('../_define-length')

  , apply = Function.prototype.apply;

module.exports = function (/*…args*/) {
	var fn = callable(this)
	  , args = aFrom(arguments);

	return defineLength(function () {
		return apply.call(fn, this, args.concat(aFrom(arguments)));
	}, fn.length - args.length);
};