JSValue iteratorStep(ExecState* exec, JSValue iterator) { JSValue result = iteratorNext(exec, iterator); if (exec->hadException()) return jsUndefined(); bool done = iteratorComplete(exec, result); if (exec->hadException()) return jsUndefined(); if (done) return jsBoolean(false); return result; }
JSValue iteratorStep(ExecState* exec, IterationRecord iterationRecord) { VM& vm = exec->vm(); auto scope = DECLARE_THROW_SCOPE(vm); JSValue result = iteratorNext(exec, iterationRecord); RETURN_IF_EXCEPTION(scope, JSValue()); bool done = iteratorComplete(exec, result); RETURN_IF_EXCEPTION(scope, JSValue()); if (done) return jsBoolean(false); return result; }