aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-iterator/is-iterable.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es6-iterator/is-iterable.js')
-rw-r--r--node_modules/es6-iterator/is-iterable.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/node_modules/es6-iterator/is-iterable.js b/node_modules/es6-iterator/is-iterable.js
new file mode 100644
index 00000000..cda7dfeb
--- /dev/null
+++ b/node_modules/es6-iterator/is-iterable.js
@@ -0,0 +1,16 @@
+"use strict";
+
+var isArguments = require("es5-ext/function/is-arguments")
+ , isValue = require("es5-ext/object/is-value")
+ , isString = require("es5-ext/string/is-string");
+
+var iteratorSymbol = require("es6-symbol").iterator
+ , isArray = Array.isArray;
+
+module.exports = function (value) {
+ if (!isValue(value)) return false;
+ if (isArray(value)) return true;
+ if (isString(value)) return true;
+ if (isArguments(value)) return true;
+ return typeof value[iteratorSymbol] === "function";
+};