Version 1
[yaffs-website] / node_modules / core-js / modules / _iter-detect.js
1 var ITERATOR     = require('./_wks')('iterator')
2   , SAFE_CLOSING = false;
3
4 try {
5   var riter = [7][ITERATOR]();
6   riter['return'] = function(){ SAFE_CLOSING = true; };
7   Array.from(riter, function(){ throw 2; });
8 } catch(e){ /* empty */ }
9
10 module.exports = function(exec, skipClosing){
11   if(!skipClosing && !SAFE_CLOSING)return false;
12   var safe = false;
13   try {
14     var arr  = [7]
15       , iter = arr[ITERATOR]();
16     iter.next = function(){ return {done: safe = true}; };
17     arr[ITERATOR] = function(){ return iter; };
18     exec(arr);
19   } catch(e){ /* empty */ }
20   return safe;
21 };