00001 var baseRest = require('./_baseRest'),
00002 createWrap = require('./_createWrap'),
00003 getHolder = require('./_getHolder'),
00004 replaceHolders = require('./_replaceHolders');
00005
00007 var WRAP_BIND_FLAG = 1,
00008 WRAP_PARTIAL_FLAG = 32;
00009
00045 var bind = baseRest(function(func, thisArg, partials) {
00046 var bitmask = WRAP_BIND_FLAG;
00047 if (partials.length) {
00048 var holders = replaceHolders(partials, getHolder(bind));
00049 bitmask |= WRAP_PARTIAL_FLAG;
00050 }
00051 return createWrap(func, bitmask, thisArg, partials, holders);
00052 });
00053
00054
00055 bind.placeholder = {};
00056
00057 module.exports = bind;