Sindbad~EG File Manager

Current Path : /home/infinitibizsol/insurcrm.infinitibizsol.com/node_modules/underscore/cjs/
Upload File :
Current File : /home/infinitibizsol/insurcrm.infinitibizsol.com/node_modules/underscore/cjs/_createIndexFinder.js

var _getLength = require('./_getLength.js');
var _setup = require('./_setup.js');
var _isNaN = require('./isNaN.js');

// Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.
function createIndexFinder(dir, predicateFind, sortedIndex) {
  return function(array, item, idx) {
    var i = 0, length = _getLength(array);
    if (typeof idx == 'number') {
      if (dir > 0) {
        i = idx >= 0 ? idx : Math.max(idx + length, i);
      } else {
        length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
      }
    } else if (sortedIndex && idx && length) {
      idx = sortedIndex(array, item);
      return array[idx] === item ? idx : -1;
    }
    if (item !== item) {
      idx = predicateFind(_setup.slice.call(array, i, length), _isNaN);
      return idx >= 0 ? idx + i : -1;
    }
    for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
      if (array[idx] === item) return idx;
    }
    return -1;
  };
}

module.exports = createIndexFinder;

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists