You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							24 lines
						
					
					
						
							1020 B
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							24 lines
						
					
					
						
							1020 B
						
					
					
				| 'use strict'; | |
| var $ = require('../internals/export'); | |
| var call = require('../internals/function-call'); | |
| var toObject = require('../internals/to-object'); | |
| var isPrototypeOf = require('../internals/object-is-prototype-of'); | |
| var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; | |
| var createIteratorProxy = require('../internals/iterator-create-proxy'); | |
| var getIteratorFlattenable = require('../internals/get-iterator-flattenable'); | |
| var IS_PURE = require('../internals/is-pure'); | |
| 
 | |
| var IteratorProxy = createIteratorProxy(function () { | |
|   return call(this.next, this.iterator); | |
| }, true); | |
| 
 | |
| // `Iterator.from` method | |
| // https://github.com/tc39/proposal-iterator-helpers | |
| $({ target: 'Iterator', stat: true, forced: IS_PURE }, { | |
|   from: function from(O) { | |
|     var iteratorRecord = getIteratorFlattenable(typeof O == 'string' ? toObject(O) : O, true); | |
|     return isPrototypeOf(IteratorPrototype, iteratorRecord.iterator) | |
|       ? iteratorRecord.iterator | |
|       : new IteratorProxy(iteratorRecord); | |
|   } | |
| });
 |