From 82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Thu, 20 Apr 2017 03:09:25 +0200 Subject: Reorganize module loading. We now use webpack instead of SystemJS, effectively bundling modules into one file (plus commons chunks) for every entry point. This results in a much smaller extension size (almost half). Furthermore we use yarn/npm even for extension run-time dependencies. This relieves us from manually vendoring and building dependencies. It's also easier to understand for new developers familiar with node. --- node_modules/core-js/modules/es5.js | 311 ++++++++++++++++++++++++++++++++---- 1 file changed, 276 insertions(+), 35 deletions(-) (limited to 'node_modules/core-js/modules/es5.js') diff --git a/node_modules/core-js/modules/es5.js b/node_modules/core-js/modules/es5.js index dd7ebadf8..50f72b047 100644 --- a/node_modules/core-js/modules/es5.js +++ b/node_modules/core-js/modules/es5.js @@ -1,35 +1,276 @@ -// This file still here for a legacy code and will be removed in a near time -require('./es6.object.create'); -require('./es6.object.define-property'); -require('./es6.object.define-properties'); -require('./es6.object.get-own-property-descriptor'); -require('./es6.object.get-prototype-of'); -require('./es6.object.keys'); -require('./es6.object.get-own-property-names'); -require('./es6.object.freeze'); -require('./es6.object.seal'); -require('./es6.object.prevent-extensions'); -require('./es6.object.is-frozen'); -require('./es6.object.is-sealed'); -require('./es6.object.is-extensible'); -require('./es6.function.bind'); -require('./es6.array.is-array'); -require('./es6.array.join'); -require('./es6.array.slice'); -require('./es6.array.sort'); -require('./es6.array.for-each'); -require('./es6.array.map'); -require('./es6.array.filter'); -require('./es6.array.some'); -require('./es6.array.every'); -require('./es6.array.reduce'); -require('./es6.array.reduce-right'); -require('./es6.array.index-of'); -require('./es6.array.last-index-of'); -require('./es6.date.now'); -require('./es6.date.to-iso-string'); -require('./es6.date.to-json'); -require('./es6.parse-int'); -require('./es6.parse-float'); -require('./es6.string.trim'); -require('./es6.regexp.to-string'); \ No newline at end of file +'use strict'; +var $ = require('./$') + , $export = require('./$.export') + , DESCRIPTORS = require('./$.descriptors') + , createDesc = require('./$.property-desc') + , html = require('./$.html') + , cel = require('./$.dom-create') + , has = require('./$.has') + , cof = require('./$.cof') + , invoke = require('./$.invoke') + , fails = require('./$.fails') + , anObject = require('./$.an-object') + , aFunction = require('./$.a-function') + , isObject = require('./$.is-object') + , toObject = require('./$.to-object') + , toIObject = require('./$.to-iobject') + , toInteger = require('./$.to-integer') + , toIndex = require('./$.to-index') + , toLength = require('./$.to-length') + , IObject = require('./$.iobject') + , IE_PROTO = require('./$.uid')('__proto__') + , createArrayMethod = require('./$.array-methods') + , arrayIndexOf = require('./$.array-includes')(false) + , ObjectProto = Object.prototype + , ArrayProto = Array.prototype + , arraySlice = ArrayProto.slice + , arrayJoin = ArrayProto.join + , defineProperty = $.setDesc + , getOwnDescriptor = $.getDesc + , defineProperties = $.setDescs + , factories = {} + , IE8_DOM_DEFINE; + +if(!DESCRIPTORS){ + IE8_DOM_DEFINE = !fails(function(){ + return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7; + }); + $.setDesc = function(O, P, Attributes){ + if(IE8_DOM_DEFINE)try { + return defineProperty(O, P, Attributes); + } catch(e){ /* empty */ } + if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); + if('value' in Attributes)anObject(O)[P] = Attributes.value; + return O; + }; + $.getDesc = function(O, P){ + if(IE8_DOM_DEFINE)try { + return getOwnDescriptor(O, P); + } catch(e){ /* empty */ } + if(has(O, P))return createDesc(!ObjectProto.propertyIsEnumerable.call(O, P), O[P]); + }; + $.setDescs = defineProperties = function(O, Properties){ + anObject(O); + var keys = $.getKeys(Properties) + , length = keys.length + , i = 0 + , P; + while(length > i)$.setDesc(O, P = keys[i++], Properties[P]); + return O; + }; +} +$export($export.S + $export.F * !DESCRIPTORS, 'Object', { + // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $.getDesc, + // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) + defineProperty: $.setDesc, + // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) + defineProperties: defineProperties +}); + + // IE 8- don't enum bug keys +var keys1 = ('constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,' + + 'toLocaleString,toString,valueOf').split(',') + // Additional keys for getOwnPropertyNames + , keys2 = keys1.concat('length', 'prototype') + , keysLen1 = keys1.length; + +// Create object with `null` prototype: use iframe Object with cleared prototype +var createDict = function(){ + // Thrash, waste and sodomy: IE GC bug + var iframe = cel('iframe') + , i = keysLen1 + , gt = '>' + , iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write('