| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 'use strict';var inspect = require('object-inspect');var GetIntrinsic = require('get-intrinsic');var $TypeError = GetIntrinsic('%TypeError%');var Call = require('./Call');var Get = require('./Get');var GetIterator = require('./GetIterator');var IsCallable = require('./IsCallable');var IteratorClose = require('./IteratorClose');var IteratorStep = require('./IteratorStep');var IteratorValue = require('./IteratorValue');var Type = require('./Type');// https://262.ecma-international.org/10.0//#sec-add-entries-from-iterablemodule.exports = function AddEntriesFromIterable(target, iterable, adder) {	if (!IsCallable(adder)) {		throw new $TypeError('Assertion failed: `adder` is not callable');	}	if (iterable == null) {		throw new $TypeError('Assertion failed: `iterable` is present, and not nullish');	}	var iteratorRecord = GetIterator(iterable);	while (true) { // eslint-disable-line no-constant-condition		var next = IteratorStep(iteratorRecord);		if (!next) {			return target;		}		var nextItem = IteratorValue(next);		if (Type(nextItem) !== 'Object') {			var error = new $TypeError('iterator next must return an Object, got ' + inspect(nextItem));			return IteratorClose(				iteratorRecord,				function () { throw error; } // eslint-disable-line no-loop-func			);		}		try {			var k = Get(nextItem, '0');			var v = Get(nextItem, '1');			Call(adder, target, [k, v]);		} catch (e) {			return IteratorClose(				iteratorRecord,				function () { throw e; }			);		}	}};
 |