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