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.
|
|
'use strict'; var getBuiltIn = require('../internals/get-built-in');
var createSetLike = function (size) { return { size: size, has: function () { return false; }, keys: function () { return { next: function () { return { done: true }; } }; } }; };
var createSetLikeWithInfinitySize = function (size) { return { size: size, has: function () { return true; }, keys: function () { throw new Error('e'); } }; };
module.exports = function (name, callback) { var Set = getBuiltIn('Set'); try { new Set()[name](createSetLike(0)); try { // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it
// https://github.com/tc39/proposal-set-methods/pull/88
new Set()[name](createSetLike(-1)); return false; } catch (error2) { if (!callback) return true; // early V8 implementation bug
// https://issues.chromium.org/issues/351332634
try { new Set()[name](createSetLikeWithInfinitySize(-Infinity)); return false; } catch (error) { var set = new Set(); set.add(1); set.add(2); return callback(set[name](createSetLikeWithInfinitySize(Infinity))); } } } catch (error) { return false; } };
|