Spaces:
Runtime error
Runtime error
; | |
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); | |
}; | |