12345678910111213141516 |
- "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);
- };
|