'use strict'; var call = require('../internals/function-call'); var anObject = require('../internals/an-object'); var getIteratorDirect = require('../internals/get-iterator-direct'); var getIteratorMethod = require('../internals/get-iterator-method'); module.exports = function (obj, stringHandling) { if (!stringHandling || typeof obj !== 'string') anObject(obj); var method = getIteratorMethod(obj); return getIteratorDirect(anObject(method !== undefined ? call(method, obj) : obj)); };