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.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							645 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							645 B
						
					
					
				| var ITERATOR = require('./_wks')('iterator');
 | |
| var SAFE_CLOSING = false;
 | |
| 
 | |
| try {
 | |
|   var riter = [7][ITERATOR]();
 | |
|   riter['return'] = function () { SAFE_CLOSING = true; };
 | |
|   // eslint-disable-next-line no-throw-literal
 | |
|   Array.from(riter, function () { throw 2; });
 | |
| } catch (e) { /* empty */ }
 | |
| 
 | |
| module.exports = function (exec, skipClosing) {
 | |
|   if (!skipClosing && !SAFE_CLOSING) return false;
 | |
|   var safe = false;
 | |
|   try {
 | |
|     var arr = [7];
 | |
|     var iter = arr[ITERATOR]();
 | |
|     iter.next = function () { return { done: safe = true }; };
 | |
|     arr[ITERATOR] = function () { return iter; };
 | |
|     exec(arr);
 | |
|   } catch (e) { /* empty */ }
 | |
|   return safe;
 | |
| };
 |