core-js 2.5.3 → 2.5.4

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.4' };
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
@@ -53,7 +53,7 @@ var notify = function (promise, isReject) {
53
53
  var resolve = reaction.resolve;
54
54
  var reject = reaction.reject;
55
55
  var domain = reaction.domain;
56
- var result, then;
56
+ var result, then, exited;
57
57
  try {
58
58
  if (handler) {
59
59
  if (!ok) {
@@ -63,8 +63,11 @@ var notify = function (promise, isReject) {
63
63
  if (handler === true) result = value;
64
64
  else {
65
65
  if (domain) domain.enter();
66
- result = handler(value);
67
- if (domain) domain.exit();
66
+ result = handler(value); // may throw
67
+ if (domain) {
68
+ domain.exit();
69
+ exited = true;
70
+ }
68
71
  }
69
72
  if (result === reaction.promise) {
70
73
  reject(TypeError('Promise-chain cycle'));
@@ -73,6 +76,7 @@ var notify = function (promise, isReject) {
73
76
  } else resolve(result);
74
77
  } else reject(value);
75
78
  } catch (e) {
79
+ if (domain && !exited) domain.exit();
76
80
  reject(e);
77
81
  }
78
82
  };
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.4' };
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
@@ -53,7 +53,7 @@ var notify = function (promise, isReject) {
53
53
  var resolve = reaction.resolve;
54
54
  var reject = reaction.reject;
55
55
  var domain = reaction.domain;
56
- var result, then;
56
+ var result, then, exited;
57
57
  try {
58
58
  if (handler) {
59
59
  if (!ok) {
@@ -63,8 +63,11 @@ var notify = function (promise, isReject) {
63
63
  if (handler === true) result = value;
64
64
  else {
65
65
  if (domain) domain.enter();
66
- result = handler(value);
67
- if (domain) domain.exit();
66
+ result = handler(value); // may throw
67
+ if (domain) {
68
+ domain.exit();
69
+ exited = true;
70
+ }
68
71
  }
69
72
  if (result === reaction.promise) {
70
73
  reject(TypeError('Promise-chain cycle'));
@@ -73,6 +76,7 @@ var notify = function (promise, isReject) {
73
76
  } else resolve(result);
74
77
  } else reject(value);
75
78
  } catch (e) {
79
+ if (domain && !exited) domain.exit();
76
80
  reject(e);
77
81
  }
78
82
  };
@@ -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.4",
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.9.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.0.1",
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",