diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:01:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:02:09 +0200 |
commit | 363723fc84f7b8477592e0105aeb331ec9a017af (patch) | |
tree | 29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/array-slice/index.js | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
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; +} |