Umama-at-Bluchip/Quick-UI
0
1'use strict';2 3var $TypeError = require('es-errors/type');4 5var GetIteratorFlattenable = require('../aos/GetIteratorFlattenable');6var OrdinaryHasInstance = require('es-abstract/2024/OrdinaryHasInstance');7var OrdinaryObjectCreate = require('es-abstract/2024/OrdinaryObjectCreate');8 9var $Iterator = require('../Iterator/polyfill')();10var $WrapForValidIteratorPrototype = require('../WrapForValidIteratorPrototype');11 12var SLOT = require('internal-slot');13 14module.exports = function from(O) {15 if (this instanceof from) {16 throw new $TypeError('`Iterator.from` is not a constructor');17 }18 19 var iteratorRecord = GetIteratorFlattenable(O, 'iterate-strings'); // step 120 21 var hasInstance = OrdinaryHasInstance($Iterator, iteratorRecord['[[Iterator]]']); // step 222 23 if (hasInstance) { // step 324 return iteratorRecord['[[Iterator]]']; // step 3.a25 }26 27 var wrapper = OrdinaryObjectCreate($WrapForValidIteratorPrototype); // , ['[[Iterated]]']); // step 428 29 SLOT.set(wrapper, '[[Iterated]]', iteratorRecord); // step 530 31 return wrapper; // step 632};33 