'use strict'; var $TypeError = require('es-errors/type'); var isObject = require('es-object-atoms/isObject'); var Get = require('./Get'); // https://262.ecma-international.org/16.0/#sec-getiteratordirect module.exports = function GetIteratorDirect(obj) { if (!isObject(obj)) { throw new $TypeError('Assertion failed: `obj` must be an Object'); } var nextMethod = Get(obj, 'next'); // step 1 var iteratorRecord = { '[[Iterator]]': obj, '[[NextMethod]]': nextMethod, '[[Done]]': false }; // step 2 return iteratorRecord; // step 3 };