From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- node_modules/core-js/modules/es6.weak-map.js | 59 +++++++++++++++------------- 1 file changed, 31 insertions(+), 28 deletions(-) (limited to 'node_modules/core-js/modules/es6.weak-map.js') diff --git a/node_modules/core-js/modules/es6.weak-map.js b/node_modules/core-js/modules/es6.weak-map.js index 4109db336..f21556d7c 100644 --- a/node_modules/core-js/modules/es6.weak-map.js +++ b/node_modules/core-js/modules/es6.weak-map.js @@ -1,56 +1,59 @@ 'use strict'; -var each = require('./_array-methods')(0) - , redefine = require('./_redefine') - , meta = require('./_meta') - , assign = require('./_object-assign') - , weak = require('./_collection-weak') - , isObject = require('./_is-object') - , getWeak = meta.getWeak - , isExtensible = Object.isExtensible - , uncaughtFrozenStore = weak.ufstore - , tmp = {} - , InternalMap; +var each = require('./_array-methods')(0); +var redefine = require('./_redefine'); +var meta = require('./_meta'); +var assign = require('./_object-assign'); +var weak = require('./_collection-weak'); +var isObject = require('./_is-object'); +var fails = require('./_fails'); +var validate = require('./_validate-collection'); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; -var wrapper = function(get){ - return function WeakMap(){ +var wrapper = function (get) { + return function WeakMap() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }; var methods = { // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key){ - if(isObject(key)){ + get: function get(key) { + if (isObject(key)) { var data = getWeak(key); - if(data === true)return uncaughtFrozenStore(this).get(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); return data ? data[this._i] : undefined; } }, // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value){ - return weak.def(this, key, value); + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); } }; // 23.3 WeakMap Objects -var $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true); +var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true); // IE11 WeakMap frozen keys fix -if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ - InternalMap = weak.getConstructor(wrapper); +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); assign(InternalMap.prototype, methods); meta.NEED = true; - each(['delete', 'has', 'get', 'set'], function(key){ - var proto = $WeakMap.prototype - , method = proto[key]; - redefine(proto, key, function(a, b){ + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { // store frozen objects on internal weakmap shim - if(isObject(a) && !isExtensible(a)){ - if(!this._f)this._f = new InternalMap; + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); var result = this._f[key](a, b); return key == 'set' ? this : result; // store all the rest on native weakmap } return method.call(this, a, b); }); }); -} \ No newline at end of file +} -- cgit v1.2.3