aboutsummaryrefslogtreecommitdiff
path: root/node_modules/find-index
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/find-index')
-rw-r--r--node_modules/find-index/README.md33
-rw-r--r--node_modules/find-index/index.js26
-rw-r--r--node_modules/find-index/last.js26
-rw-r--r--node_modules/find-index/package.json25
4 files changed, 110 insertions, 0 deletions
diff --git a/node_modules/find-index/README.md b/node_modules/find-index/README.md
new file mode 100644
index 000000000..034832e03
--- /dev/null
+++ b/node_modules/find-index/README.md
@@ -0,0 +1,33 @@
+
+# find-index
+
+finds an item in an array matching a predicate function,
+and returns its index
+
+fast both when `thisArg` is used and also when it isn't: [jsPerf](http://jsperf.com/array-prototype-findindex-shims)
+
+### usage
+```bash
+npm install find-index
+```
+```js
+findIndex = require('find-index')
+findLastIndex = require('find-index/last')
+```
+ findIndex(array, callback[, thisArg])
+ findLastIndex(array, callback[, thisArg])
+ Parameters:
+ array
+ The array to operate on.
+ callback
+ Function to execute on each value in the array, taking three arguments:
+ element
+ The current element being processed in the array.
+ index
+ The index of the current element being processed in the array.
+ array
+ The array findIndex was called upon.
+ thisArg
+ Object to use as this when executing callback.
+
+based on [array-findindex](https://www.npmjs.org/package/array-findindex)
diff --git a/node_modules/find-index/index.js b/node_modules/find-index/index.js
new file mode 100644
index 000000000..61bff61af
--- /dev/null
+++ b/node_modules/find-index/index.js
@@ -0,0 +1,26 @@
+function findIndex(array, predicate, self) {
+ var len = array.length;
+ var i;
+ if (len === 0) return -1;
+ if (typeof predicate !== 'function') {
+ throw new TypeError(predicate + ' must be a function');
+ }
+
+ if (self) {
+ for (i = 0; i < len; i++) {
+ if (predicate.call(self, array[i], i, array)) {
+ return i;
+ }
+ }
+ } else {
+ for (i = 0; i < len; i++) {
+ if (predicate(array[i], i, array)) {
+ return i;
+ }
+ }
+ }
+
+ return -1;
+}
+
+module.exports = findIndex
diff --git a/node_modules/find-index/last.js b/node_modules/find-index/last.js
new file mode 100644
index 000000000..186739a68
--- /dev/null
+++ b/node_modules/find-index/last.js
@@ -0,0 +1,26 @@
+function findLastIndex(array, predicate, self) {
+ var len = array.length;
+ var i;
+ if (len === 0) return -1;
+ if (typeof predicate !== 'function') {
+ throw new TypeError(predicate + ' must be a function');
+ }
+
+ if (self) {
+ for (i = len - 1; i >= 0; i--) {
+ if (predicate.call(self, array[i], i, array)) {
+ return i;
+ }
+ }
+ } else {
+ for (i = len - 1; i >= 0; i--) {
+ if (predicate(array[i], i, array)) {
+ return i;
+ }
+ }
+ }
+
+ return -1;
+}
+
+module.exports = findLastIndex
diff --git a/node_modules/find-index/package.json b/node_modules/find-index/package.json
new file mode 100644
index 000000000..228ac8f64
--- /dev/null
+++ b/node_modules/find-index/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "find-index",
+ "version": "0.1.1",
+ "description": "finds an item in an array matching a predicate function, and returns its index",
+ "main": "index.js",
+ "keywords": [
+ "array",
+ "findindex"
+ ],
+ "files": [
+ "index.js",
+ "last.js"
+ ],
+ "scripts": {
+ "test": "node test/test"
+ },
+ "homepage": "https://github.com/jsdf/find-index",
+ "bugs": "https://github.com/jsdf/find-index/issues",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jsdf/find-index.git"
+ },
+ "author": "James Friend <james@jsdf.co> (http://jsdf.co/)",
+ "license": "MIT"
+}