summaryrefslogtreecommitdiff
path: root/node_modules/array-find-index/index.js
diff options
context:
space:
mode:
authorArman Shah <[email protected]>2018-02-19 23:50:04 -0800
committerArman Shah <[email protected]>2018-02-19 23:50:04 -0800
commitae34dcfd3823a609ba7182f2d6eda593be876f7d (patch)
treeb9d7f2884c4999349418cbdc4f9ab46d113e0afd /node_modules/array-find-index/index.js
parentInitial commit (diff)
downloadlauncher-ae34dcfd3823a609ba7182f2d6eda593be876f7d.tar.xz
launcher-ae34dcfd3823a609ba7182f2d6eda593be876f7d.zip
add base files
Diffstat (limited to 'node_modules/array-find-index/index.js')
-rw-r--r--node_modules/array-find-index/index.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/array-find-index/index.js b/node_modules/array-find-index/index.js
new file mode 100644
index 0000000..e2dcd9a
--- /dev/null
+++ b/node_modules/array-find-index/index.js
@@ -0,0 +1,25 @@
+'use strict';
+module.exports = function (arr, predicate, ctx) {
+ if (typeof Array.prototype.findIndex === 'function') {
+ return arr.findIndex(predicate, ctx);
+ }
+
+ if (typeof predicate !== 'function') {
+ throw new TypeError('predicate must be a function');
+ }
+
+ var list = Object(arr);
+ var len = list.length;
+
+ if (len === 0) {
+ return -1;
+ }
+
+ for (var i = 0; i < len; i++) {
+ if (predicate.call(ctx, list[i], i, list)) {
+ return i;
+ }
+ }
+
+ return -1;
+};