aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/$.collection.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/$.collection.js')
-rw-r--r--node_modules/core-js/modules/$.collection.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/node_modules/core-js/modules/$.collection.js b/node_modules/core-js/modules/$.collection.js
deleted file mode 100644
index 61ae123db..000000000
--- a/node_modules/core-js/modules/$.collection.js
+++ /dev/null
@@ -1,79 +0,0 @@
-'use strict';
-var global = require('./$.global')
- , $export = require('./$.export')
- , redefine = require('./$.redefine')
- , redefineAll = require('./$.redefine-all')
- , forOf = require('./$.for-of')
- , strictNew = require('./$.strict-new')
- , isObject = require('./$.is-object')
- , fails = require('./$.fails')
- , $iterDetect = require('./$.iter-detect')
- , setToStringTag = require('./$.set-to-string-tag');
-
-module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){
- var Base = global[NAME]
- , C = Base
- , ADDER = IS_MAP ? 'set' : 'add'
- , proto = C && C.prototype
- , O = {};
- var fixMethod = function(KEY){
- var fn = proto[KEY];
- redefine(proto, KEY,
- KEY == 'delete' ? function(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'has' ? function has(a){
- return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'get' ? function get(a){
- return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
- } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }
- : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }
- );
- };
- if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){
- new C().entries().next();
- }))){
- // create collection constructor
- C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
- redefineAll(C.prototype, methods);
- } else {
- var instance = new C
- // early implementations not supports chaining
- , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
- // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
- , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })
- // most early implementations doesn't supports iterables, most modern - not close it correctly
- , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new
- // for early implementations -0 and +0 not the same
- , BUGGY_ZERO;
- if(!ACCEPT_ITERABLES){
- C = wrapper(function(target, iterable){
- strictNew(target, C, NAME);
- var that = new Base;
- if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);
- return that;
- });
- C.prototype = proto;
- proto.constructor = C;
- }
- IS_WEAK || instance.forEach(function(val, key){
- BUGGY_ZERO = 1 / key === -Infinity;
- });
- if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
- if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);
- // weak collections should not contains .clear method
- if(IS_WEAK && proto.clear)delete proto.clear;
- }
-
- setToStringTag(C, NAME);
-
- O[NAME] = C;
- $export($export.G + $export.W + $export.F * (C != Base), O);
-
- if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);
-
- return C;
-}; \ No newline at end of file