|  | var toInteger = require('./toInteger'), | 
|  | toLength = require('./toLength'); | 
|  |  | 
|  | /** | 
|  | * The base implementation of `_.fill` without an iteratee call guard. | 
|  | * | 
|  | * @private | 
|  | * @param {Array} array The array to fill. | 
|  | * @param {*} value The value to fill `array` with. | 
|  | * @param {number} [start=0] The start position. | 
|  | * @param {number} [end=array.length] The end position. | 
|  | * @returns {Array} Returns `array`. | 
|  | */ | 
|  | function baseFill(array, value, start, end) { | 
|  | var length = array.length; | 
|  |  | 
|  | start = toInteger(start); | 
|  | if (start < 0) { | 
|  | start = -start > length ? 0 : (length + start); | 
|  | } | 
|  | end = (end === undefined || end > length) ? length : toInteger(end); | 
|  | if (end < 0) { | 
|  | end += length; | 
|  | } | 
|  | end = start > end ? 0 : toLength(end); | 
|  | while (start < end) { | 
|  | array[start++] = value; | 
|  | } | 
|  | return array; | 
|  | } | 
|  |  | 
|  | module.exports = baseFill; |