first
This commit is contained in:
39
node_modules/core-js/internals/check-correctness-of-iteration.js
generated
vendored
Normal file
39
node_modules/core-js/internals/check-correctness-of-iteration.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
var wellKnownSymbol = require('../internals/well-known-symbol');
|
||||
|
||||
var ITERATOR = wellKnownSymbol('iterator');
|
||||
var SAFE_CLOSING = false;
|
||||
|
||||
try {
|
||||
var called = 0;
|
||||
var iteratorWithReturn = {
|
||||
next: function () {
|
||||
return { done: !!called++ };
|
||||
},
|
||||
'return': function () {
|
||||
SAFE_CLOSING = true;
|
||||
}
|
||||
};
|
||||
iteratorWithReturn[ITERATOR] = function () {
|
||||
return this;
|
||||
};
|
||||
// eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
|
||||
Array.from(iteratorWithReturn, function () { throw 2; });
|
||||
} catch (error) { /* empty */ }
|
||||
|
||||
module.exports = function (exec, SKIP_CLOSING) {
|
||||
if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
|
||||
var ITERATION_SUPPORT = false;
|
||||
try {
|
||||
var object = {};
|
||||
object[ITERATOR] = function () {
|
||||
return {
|
||||
next: function () {
|
||||
return { done: ITERATION_SUPPORT = true };
|
||||
}
|
||||
};
|
||||
};
|
||||
exec(object);
|
||||
} catch (error) { /* empty */ }
|
||||
return ITERATION_SUPPORT;
|
||||
};
|
Reference in New Issue
Block a user