aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es6-iterator/get.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es6-iterator/get.js')
-rw-r--r--node_modules/es6-iterator/get.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/node_modules/es6-iterator/get.js b/node_modules/es6-iterator/get.js
new file mode 100644
index 00000000..d36c9e24
--- /dev/null
+++ b/node_modules/es6-iterator/get.js
@@ -0,0 +1,15 @@
+"use strict";
+
+var isArguments = require("es5-ext/function/is-arguments")
+ , isString = require("es5-ext/string/is-string")
+ , ArrayIterator = require("./array")
+ , StringIterator = require("./string")
+ , iterable = require("./valid-iterable")
+ , iteratorSymbol = require("es6-symbol").iterator;
+
+module.exports = function (obj) {
+ if (typeof iterable(obj)[iteratorSymbol] === "function") return obj[iteratorSymbol]();
+ if (isArguments(obj)) return new ArrayIterator(obj);
+ if (isString(obj)) return new StringIterator(obj);
+ return new ArrayIterator(obj);
+};