"Fossies" - the Fresh Open Source Software Archive

Member "Atom/resources/app/apm/node_modules/lodash._baseindexof/index.js" (7 Feb 2017, 1755 Bytes) of archive /windows/misc/atom-windows.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Javascript source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 /**
    2  * lodash 3.1.0 (Custom Build) <https://lodash.com/>
    3  * Build: `lodash modern modularize exports="npm" -o ./`
    4  * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
    5  * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
    6  * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
    7  * Available under MIT license <https://lodash.com/license>
    8  */
    9 
   10 /**
   11  * The base implementation of `_.indexOf` without support for binary searches.
   12  *
   13  * @private
   14  * @param {Array} array The array to search.
   15  * @param {*} value The value to search for.
   16  * @param {number} fromIndex The index to search from.
   17  * @returns {number} Returns the index of the matched value, else `-1`.
   18  */
   19 function baseIndexOf(array, value, fromIndex) {
   20   if (value !== value) {
   21     return indexOfNaN(array, fromIndex);
   22   }
   23   var index = fromIndex - 1,
   24       length = array.length;
   25 
   26   while (++index < length) {
   27     if (array[index] === value) {
   28       return index;
   29     }
   30   }
   31   return -1;
   32 }
   33 
   34 /**
   35  * Gets the index at which the first occurrence of `NaN` is found in `array`.
   36  * If `fromRight` is provided elements of `array` are iterated from right to left.
   37  *
   38  * @private
   39  * @param {Array} array The array to search.
   40  * @param {number} fromIndex The index to search from.
   41  * @param {boolean} [fromRight] Specify iterating from right to left.
   42  * @returns {number} Returns the index of the matched `NaN`, else `-1`.
   43  */
   44 function indexOfNaN(array, fromIndex, fromRight) {
   45   var length = array.length,
   46       index = fromIndex + (fromRight ? 0 : -1);
   47 
   48   while ((fromRight ? index-- : ++index < length)) {
   49     var other = array[index];
   50     if (other !== other) {
   51       return index;
   52     }
   53   }
   54   return -1;
   55 }
   56 
   57 module.exports = baseIndexOf;