Sha256: ff66fb29f10145d04a3a70ecb8f3718abb157ca3fb8f210ed6dae8124f2ac84a
Contents?: true
Size: 1.07 KB
Versions: 50
Compression:
Stored size: 1.07 KB
Contents
'use strict'; var callBound = require('call-bind/callBound'); var $arrayPush = callBound('Array.prototype.push'); var getIteratorMethod = require('../helpers/getIteratorMethod'); var AdvanceStringIndex = require('./AdvanceStringIndex'); var GetIterator = require('./GetIterator'); var GetMethod = require('./GetMethod'); var IsArray = require('./IsArray'); var IteratorStep = require('./IteratorStep'); var IteratorValue = require('./IteratorValue'); var ToObject = require('./ToObject'); var ES = { AdvanceStringIndex: AdvanceStringIndex, GetMethod: GetMethod, IsArray: IsArray }; // https://262.ecma-international.org/7.0/#sec-iterabletoarraylike module.exports = function IterableToArrayLike(items) { var usingIterator = getIteratorMethod(ES, items); if (typeof usingIterator !== 'undefined') { var iterator = GetIterator(items, usingIterator); var values = []; var next = true; while (next) { next = IteratorStep(iterator); if (next) { var nextValue = IteratorValue(next); $arrayPush(values, nextValue); } } return values; } return ToObject(items); };
Version data entries
50 entries across 50 versions & 2 rubygems