core-js 2.5.3 → 2.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  require('../../modules/es6.number.parse-float');
2
- module.exports = parseFloat;
2
+ module.exports = require('../../modules/_core').Number.parseFloat;
@@ -1,2 +1,2 @@
1
1
  require('../../modules/es6.number.parse-int');
2
- module.exports = parseInt;
2
+ module.exports = require('../../modules/_core').Number.parseInt;
@@ -1,2 +1,2 @@
1
1
  require('../../modules/es6.number.parse-float');
2
- module.exports = parseFloat;
2
+ module.exports = require('../../modules/_core').Number.parseFloat;
@@ -1,2 +1,2 @@
1
1
  require('../../modules/es6.number.parse-int');
2
- module.exports = parseInt;
2
+ module.exports = require('../../modules/_core').Number.parseInt;
@@ -1,2 +1,2 @@
1
- var core = module.exports = { version: '2.5.3' };
1
+ var core = module.exports = { version: '2.5.7' };
2
2
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
@@ -2,6 +2,7 @@ var global = require('./_global');
2
2
  var core = require('./_core');
3
3
  var ctx = require('./_ctx');
4
4
  var hide = require('./_hide');
5
+ var has = require('./_has');
5
6
  var PROTOTYPE = 'prototype';
6
7
 
7
8
  var $export = function (type, name, source) {
@@ -19,7 +20,7 @@ var $export = function (type, name, source) {
19
20
  for (key in source) {
20
21
  // contains in native
21
22
  own = !IS_FORCED && target && target[key] !== undefined;
22
- if (own && key in exports) continue;
23
+ if (own && has(exports, key)) continue;
23
24
  // export native or passed
24
25
  out = own ? target[key] : source[key];
25
26
  // prevent global pollution for namespaces
@@ -3,7 +3,6 @@ var LIBRARY = require('./_library');
3
3
  var $export = require('./_export');
4
4
  var redefine = require('./_redefine');
5
5
  var hide = require('./_hide');
6
- var has = require('./_has');
7
6
  var Iterators = require('./_iterators');
8
7
  var $iterCreate = require('./_iter-create');
9
8
  var setToStringTag = require('./_set-to-string-tag');
@@ -30,7 +29,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE
30
29
  var VALUES_BUG = false;
31
30
  var proto = Base.prototype;
32
31
  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
33
- var $default = (!BUGGY && $native) || getMethod(DEFAULT);
32
+ var $default = $native || getMethod(DEFAULT);
34
33
  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
35
34
  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
36
35
  var methods, key, IteratorPrototype;
@@ -41,7 +40,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE
41
40
  // Set @@toStringTag to native iterators
42
41
  setToStringTag(IteratorPrototype, TAG, true);
43
42
  // fix for some old engines
44
- if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
43
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
45
44
  }
46
45
  }
47
46
  // fix Array#{values, @@iterator}.name in V8 / FF
@@ -40,7 +40,8 @@ module.exports = function () {
40
40
  };
41
41
  // environments with maybe non-completely correct, but existent Promise
42
42
  } else if (Promise && Promise.resolve) {
43
- var promise = Promise.resolve();
43
+ // Promise.resolve without an argument throws an error in LG WebOS 2
44
+ var promise = Promise.resolve(undefined);
44
45
  notify = function () {
45
46
  promise.then(flush);
46
47
  };
@@ -1,6 +1,12 @@
1
+ var core = require('./_core');
1
2
  var global = require('./_global');
2
3
  var SHARED = '__core-js_shared__';
3
4
  var store = global[SHARED] || (global[SHARED] = {});
4
- module.exports = function (key) {
5
- return store[key] || (store[key] = {});
6
- };
5
+
6
+ (module.exports = function (key, value) {
7
+ return store[key] || (store[key] = value !== undefined ? value : {});
8
+ })('versions', []).push({
9
+ version: core.version,
10
+ mode: require('./_library') ? 'pure' : 'global',
11
+ copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
12
+ });
@@ -13,10 +13,13 @@ var task = require('./_task').set;
13
13
  var microtask = require('./_microtask')();
14
14
  var newPromiseCapabilityModule = require('./_new-promise-capability');
15
15
  var perform = require('./_perform');
16
+ var userAgent = require('./_user-agent');
16
17
  var promiseResolve = require('./_promise-resolve');
17
18
  var PROMISE = 'Promise';
18
19
  var TypeError = global.TypeError;
19
20
  var process = global.process;
21
+ var versions = process && process.versions;
22
+ var v8 = versions && versions.v8 || '';
20
23
  var $Promise = global[PROMISE];
21
24
  var isNode = classof(process) == 'process';
22
25
  var empty = function () { /* empty */ };
@@ -31,7 +34,13 @@ var USE_NATIVE = !!function () {
31
34
  exec(empty, empty);
32
35
  };
33
36
  // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
34
- return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
37
+ return (isNode || typeof PromiseRejectionEvent == 'function')
38
+ && promise.then(empty) instanceof FakePromise
39
+ // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
40
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
41
+ // we can't detect it synchronously, so just check versions
42
+ && v8.indexOf('6.6') !== 0
43
+ && userAgent.indexOf('Chrome/66') === -1;
35
44
  } catch (e) { /* empty */ }
36
45
  }();
37
46
 
@@ -53,7 +62,7 @@ var notify = function (promise, isReject) {
53
62
  var resolve = reaction.resolve;
54
63
  var reject = reaction.reject;
55
64
  var domain = reaction.domain;
56
- var result, then;
65
+ var result, then, exited;
57
66
  try {
58
67
  if (handler) {
59
68
  if (!ok) {
@@ -63,8 +72,11 @@ var notify = function (promise, isReject) {
63
72
  if (handler === true) result = value;
64
73
  else {
65
74
  if (domain) domain.enter();
66
- result = handler(value);
67
- if (domain) domain.exit();
75
+ result = handler(value); // may throw
76
+ if (domain) {
77
+ domain.exit();
78
+ exited = true;
79
+ }
68
80
  }
69
81
  if (result === reaction.promise) {
70
82
  reject(TypeError('Promise-chain cycle'));
@@ -73,6 +85,7 @@ var notify = function (promise, isReject) {
73
85
  } else resolve(result);
74
86
  } else reject(value);
75
87
  } catch (e) {
88
+ if (domain && !exited) domain.exit();
76
89
  reject(e);
77
90
  }
78
91
  };
@@ -20,9 +20,11 @@ function set(target, propertyKey, V /* , receiver */) {
20
20
  }
21
21
  if (has(ownDesc, 'value')) {
22
22
  if (ownDesc.writable === false || !isObject(receiver)) return false;
23
- existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
24
- existingDescriptor.value = V;
25
- dP.f(receiver, propertyKey, existingDescriptor);
23
+ if (existingDescriptor = gOPD.f(receiver, propertyKey)) {
24
+ if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
25
+ existingDescriptor.value = V;
26
+ dP.f(receiver, propertyKey, existingDescriptor);
27
+ } else dP.f(receiver, propertyKey, createDesc(0, V));
26
28
  return true;
27
29
  }
28
30
  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
@@ -32,12 +32,12 @@ $export($export.P + $export.U + $export.F * require('./_fails')(function () {
32
32
  if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
33
33
  var len = anObject(this).byteLength;
34
34
  var first = toAbsoluteIndex(start, len);
35
- var final = toAbsoluteIndex(end === undefined ? len : end, len);
36
- var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));
35
+ var fin = toAbsoluteIndex(end === undefined ? len : end, len);
36
+ var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));
37
37
  var viewS = new $DataView(this);
38
38
  var viewT = new $DataView(result);
39
39
  var index = 0;
40
- while (first < final) {
40
+ while (first < fin) {
41
41
  viewT.setUint8(index++, viewS.getUint8(first++));
42
42
  } return result;
43
43
  }
package/modules/_core.js CHANGED
@@ -1,2 +1,2 @@
1
- var core = module.exports = { version: '2.5.3' };
1
+ var core = module.exports = { version: '2.5.7' };
2
2
  if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
@@ -3,7 +3,6 @@ var LIBRARY = require('./_library');
3
3
  var $export = require('./_export');
4
4
  var redefine = require('./_redefine');
5
5
  var hide = require('./_hide');
6
- var has = require('./_has');
7
6
  var Iterators = require('./_iterators');
8
7
  var $iterCreate = require('./_iter-create');
9
8
  var setToStringTag = require('./_set-to-string-tag');
@@ -30,7 +29,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE
30
29
  var VALUES_BUG = false;
31
30
  var proto = Base.prototype;
32
31
  var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
33
- var $default = (!BUGGY && $native) || getMethod(DEFAULT);
32
+ var $default = $native || getMethod(DEFAULT);
34
33
  var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;
35
34
  var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;
36
35
  var methods, key, IteratorPrototype;
@@ -41,7 +40,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE
41
40
  // Set @@toStringTag to native iterators
42
41
  setToStringTag(IteratorPrototype, TAG, true);
43
42
  // fix for some old engines
44
- if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
43
+ if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);
45
44
  }
46
45
  }
47
46
  // fix Array#{values, @@iterator}.name in V8 / FF
@@ -40,7 +40,8 @@ module.exports = function () {
40
40
  };
41
41
  // environments with maybe non-completely correct, but existent Promise
42
42
  } else if (Promise && Promise.resolve) {
43
- var promise = Promise.resolve();
43
+ // Promise.resolve without an argument throws an error in LG WebOS 2
44
+ var promise = Promise.resolve(undefined);
44
45
  notify = function () {
45
46
  promise.then(flush);
46
47
  };
@@ -1,6 +1,12 @@
1
+ var core = require('./_core');
1
2
  var global = require('./_global');
2
3
  var SHARED = '__core-js_shared__';
3
4
  var store = global[SHARED] || (global[SHARED] = {});
4
- module.exports = function (key) {
5
- return store[key] || (store[key] = {});
6
- };
5
+
6
+ (module.exports = function (key, value) {
7
+ return store[key] || (store[key] = value !== undefined ? value : {});
8
+ })('versions', []).push({
9
+ version: core.version,
10
+ mode: require('./_library') ? 'pure' : 'global',
11
+ copyright: '© 2018 Denis Pushkarev (zloirock.ru)'
12
+ });
@@ -13,10 +13,13 @@ var task = require('./_task').set;
13
13
  var microtask = require('./_microtask')();
14
14
  var newPromiseCapabilityModule = require('./_new-promise-capability');
15
15
  var perform = require('./_perform');
16
+ var userAgent = require('./_user-agent');
16
17
  var promiseResolve = require('./_promise-resolve');
17
18
  var PROMISE = 'Promise';
18
19
  var TypeError = global.TypeError;
19
20
  var process = global.process;
21
+ var versions = process && process.versions;
22
+ var v8 = versions && versions.v8 || '';
20
23
  var $Promise = global[PROMISE];
21
24
  var isNode = classof(process) == 'process';
22
25
  var empty = function () { /* empty */ };
@@ -31,7 +34,13 @@ var USE_NATIVE = !!function () {
31
34
  exec(empty, empty);
32
35
  };
33
36
  // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
34
- return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
37
+ return (isNode || typeof PromiseRejectionEvent == 'function')
38
+ && promise.then(empty) instanceof FakePromise
39
+ // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
40
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
41
+ // we can't detect it synchronously, so just check versions
42
+ && v8.indexOf('6.6') !== 0
43
+ && userAgent.indexOf('Chrome/66') === -1;
35
44
  } catch (e) { /* empty */ }
36
45
  }();
37
46
 
@@ -53,7 +62,7 @@ var notify = function (promise, isReject) {
53
62
  var resolve = reaction.resolve;
54
63
  var reject = reaction.reject;
55
64
  var domain = reaction.domain;
56
- var result, then;
65
+ var result, then, exited;
57
66
  try {
58
67
  if (handler) {
59
68
  if (!ok) {
@@ -63,8 +72,11 @@ var notify = function (promise, isReject) {
63
72
  if (handler === true) result = value;
64
73
  else {
65
74
  if (domain) domain.enter();
66
- result = handler(value);
67
- if (domain) domain.exit();
75
+ result = handler(value); // may throw
76
+ if (domain) {
77
+ domain.exit();
78
+ exited = true;
79
+ }
68
80
  }
69
81
  if (result === reaction.promise) {
70
82
  reject(TypeError('Promise-chain cycle'));
@@ -73,6 +85,7 @@ var notify = function (promise, isReject) {
73
85
  } else resolve(result);
74
86
  } else reject(value);
75
87
  } catch (e) {
88
+ if (domain && !exited) domain.exit();
76
89
  reject(e);
77
90
  }
78
91
  };
@@ -20,9 +20,11 @@ function set(target, propertyKey, V /* , receiver */) {
20
20
  }
21
21
  if (has(ownDesc, 'value')) {
22
22
  if (ownDesc.writable === false || !isObject(receiver)) return false;
23
- existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
24
- existingDescriptor.value = V;
25
- dP.f(receiver, propertyKey, existingDescriptor);
23
+ if (existingDescriptor = gOPD.f(receiver, propertyKey)) {
24
+ if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
25
+ existingDescriptor.value = V;
26
+ dP.f(receiver, propertyKey, existingDescriptor);
27
+ } else dP.f(receiver, propertyKey, createDesc(0, V));
26
28
  return true;
27
29
  }
28
30
  return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
@@ -32,12 +32,12 @@ $export($export.P + $export.U + $export.F * require('./_fails')(function () {
32
32
  if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
33
33
  var len = anObject(this).byteLength;
34
34
  var first = toAbsoluteIndex(start, len);
35
- var final = toAbsoluteIndex(end === undefined ? len : end, len);
36
- var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));
35
+ var fin = toAbsoluteIndex(end === undefined ? len : end, len);
36
+ var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));
37
37
  var viewS = new $DataView(this);
38
38
  var viewT = new $DataView(result);
39
39
  var index = 0;
40
- while (first < final) {
40
+ while (first < fin) {
41
41
  viewT.setUint8(index++, viewS.getUint8(first++));
42
42
  } return result;
43
43
  }
@@ -2,6 +2,7 @@ var global = require('./_global');
2
2
  var core = require('./_core');
3
3
  var ctx = require('./_ctx');
4
4
  var hide = require('./_hide');
5
+ var has = require('./_has');
5
6
  var PROTOTYPE = 'prototype';
6
7
 
7
8
  var $export = function (type, name, source) {
@@ -19,7 +20,7 @@ var $export = function (type, name, source) {
19
20
  for (key in source) {
20
21
  // contains in native
21
22
  own = !IS_FORCED && target && target[key] !== undefined;
22
- if (own && key in exports) continue;
23
+ if (own && has(exports, key)) continue;
23
24
  // export native or passed
24
25
  out = own ? target[key] : source[key];
25
26
  // prevent global pollution for namespaces
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "core-js",
3
3
  "description": "Standard library",
4
- "version": "2.5.3",
4
+ "version": "2.5.7",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git"
@@ -10,27 +10,27 @@
10
10
  "devDependencies": {
11
11
  "LiveScript": "1.3.x",
12
12
  "es-observable-tests": "0.2.x",
13
- "eslint": "4.13.x",
14
- "eslint-plugin-import": "2.8.x",
15
- "grunt": "^1.0.1",
13
+ "eslint": "4.19.x",
14
+ "eslint-plugin-import": "2.12.x",
15
+ "grunt": "^1.0.2",
16
16
  "grunt-cli": "^1.2.0",
17
17
  "grunt-contrib-clean": "^1.1.0",
18
18
  "grunt-contrib-copy": "^1.0.0",
19
- "grunt-contrib-uglify": "3.2.x",
19
+ "grunt-contrib-uglify": "3.3.x",
20
20
  "grunt-contrib-watch": "^1.0.0",
21
21
  "grunt-karma": "^2.0.0",
22
22
  "grunt-livescript": "0.6.x",
23
- "karma": "^1.7.1",
24
- "karma-qunit": "1.2.x",
23
+ "karma": "^2.0.0",
24
+ "karma-qunit": "^2.1.0",
25
25
  "karma-chrome-launcher": "^2.2.0",
26
26
  "karma-firefox-launcher": "^1.0.1",
27
27
  "karma-ie-launcher": "^1.0.0",
28
28
  "karma-phantomjs-launcher": "1.0.x",
29
29
  "phantomjs-prebuilt": "2.1.x",
30
30
  "promises-aplus-tests": "^2.1.2",
31
- "qunitjs": "2.4.x",
31
+ "qunit": "2.6.x",
32
32
  "temp": "^0.8.3",
33
- "webpack": "^3.10.0"
33
+ "webpack": "^3.11.0"
34
34
  },
35
35
  "scripts": {
36
36
  "grunt": "grunt",