'use strict';varGetIntrinsic=require('../GetIntrinsic');var$TypeError=GetIntrinsic('%TypeError%');vargetIteratorMethod=require('../helpers/getIteratorMethod');varAdvanceStringIndex=require('./AdvanceStringIndex');varCall=require('./Call');varGetMethod=require('./GetMethod');varIsArray=require('./IsArray');varType=require('./Type');// https://ecma-international.org/ecma-262/6.0/#sec-getiteratormodule.exports=functionGetIterator(obj,method){varactualMethod=method;if(arguments.length<2){actualMethod=getIteratorMethod({AdvanceStringIndex:AdvanceStringIndex,GetMethod:GetMethod,IsArray:IsArray,Type:Type},obj);}variterator=Call(actualMethod,obj);if(Type(iterator)!=='Object'){thrownew$TypeError('iterator must return an object');}returniterator;};