massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / core-js / modules / esnext.iterator.constructor.js
index a481dff4455db49d933945783daaec93fcc32b0f..d12b1d63f60c74612a5ba3be69f42ade99a7e5ab 100644 (file)
@@ -3,41 +3,34 @@
 var $ = require('../internals/export');
 var global = require('../internals/global');
 var anInstance = require('../internals/an-instance');
+var isCallable = require('../internals/is-callable');
 var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
 var fails = require('../internals/fails');
-var has = require('../internals/has');
+var hasOwn = require('../internals/has-own-property');
 var wellKnownSymbol = require('../internals/well-known-symbol');
 var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
 var IS_PURE = require('../internals/is-pure');
 
-var ITERATOR = wellKnownSymbol('iterator');
 var TO_STRING_TAG = wellKnownSymbol('toStringTag');
 
 var NativeIterator = global.Iterator;
 
 // FF56- have non-standard global helper `Iterator`
 var FORCED = IS_PURE
-  || typeof NativeIterator != 'function'
+  || !isCallable(NativeIterator)
   || NativeIterator.prototype !== IteratorPrototype
   // FF44- non-standard `Iterator` passes previous tests
   || !fails(function () { NativeIterator({}); });
 
 var IteratorConstructor = function Iterator() {
-  anInstance(this, IteratorConstructor);
+  anInstance(this, IteratorPrototype);
 };
 
-if (IS_PURE) {
-  IteratorPrototype = {};
-  createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () {
-    return this;
-  });
-}
-
-if (!has(IteratorPrototype, TO_STRING_TAG)) {
+if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {
   createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator');
 }
 
-if (FORCED || !has(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
+if (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
   createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);
 }