diff options
Diffstat (limited to 'node_modules/array-slice/index.js')
-rwxr-xr-x | node_modules/array-slice/index.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/node_modules/array-slice/index.js b/node_modules/array-slice/index.js new file mode 100755 index 000000000..6adb0b063 --- /dev/null +++ b/node_modules/array-slice/index.js @@ -0,0 +1,35 @@ +/*! + * array-slice <https://github.com/jonschlinkert/array-slice> + * + * Copyright (c) 2014-2015, 2017, Jon Schlinkert. + * Released under the MIT License. + */ + +'use strict'; + +module.exports = function slice(arr, start, end) { + var len = arr.length; + var range = []; + + start = idx(arr, start); + end = idx(arr, end, len); + + while (start < end) { + range.push(arr[start++]); + } + return range; +}; + +function idx(arr, pos, end) { + var len = arr.length; + + if (pos == null) { + pos = end || 0; + } else if (pos < 0) { + pos = Math.max(len + pos, 0); + } else { + pos = Math.min(pos, len); + } + + return pos; +} |