Sha256: 8ba2f44565b2592bd28e3f16ed9b5d9cede8b02df8f4e4bf32d228ff6b2d56a7
Contents?: true
Size: 775 Bytes
Versions: 27
Compression:
Stored size: 775 Bytes
Contents
'use strict'; var GetIntrinsic = require('get-intrinsic'); var $TypeError = GetIntrinsic('%TypeError%'); var Call = require('./Call'); var GetV = require('./GetV'); var IsCallable = require('./IsCallable'); var Type = require('./Type'); // https://262.ecma-international.org/14.0/#sec-getiteratorfrommethod module.exports = function GetIteratorFromMethod(obj, method) { if (!IsCallable(method)) { throw new $TypeError('method must be a function'); } var iterator = Call(method, obj); // step 1 if (Type(iterator) !== 'Object') { throw new $TypeError('iterator must return an object'); // step 2 } var nextMethod = GetV(iterator, 'next'); // step 3 return { // steps 4-5 '[[Iterator]]': iterator, '[[NextMethod]]': nextMethod, '[[Done]]': false }; };
Version data entries
27 entries across 27 versions & 2 rubygems