diff options
Diffstat (limited to 'deps/npm/node_modules/lodash/array/slice.js')
-rw-r--r-- | deps/npm/node_modules/lodash/array/slice.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/deps/npm/node_modules/lodash/array/slice.js b/deps/npm/node_modules/lodash/array/slice.js new file mode 100644 index 0000000000..48ef1a1a28 --- /dev/null +++ b/deps/npm/node_modules/lodash/array/slice.js @@ -0,0 +1,30 @@ +var baseSlice = require('../internal/baseSlice'), + isIterateeCall = require('../internal/isIterateeCall'); + +/** + * Creates a slice of `array` from `start` up to, but not including, `end`. + * + * **Note:** This method is used instead of `Array#slice` to support node + * lists in IE < 9 and to ensure dense arrays are returned. + * + * @static + * @memberOf _ + * @category Array + * @param {Array} array The array to slice. + * @param {number} [start=0] The start position. + * @param {number} [end=array.length] The end position. + * @returns {Array} Returns the slice of `array`. + */ +function slice(array, start, end) { + var length = array ? array.length : 0; + if (!length) { + return []; + } + if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { + start = 0; + end = length; + } + return baseSlice(array, start, end); +} + +module.exports = slice; |