core-js-pure 3.13.1 → 3.15.2

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.
Files changed (53) hide show
  1. package/README.md +1 -2
  2. package/es/date/get-year.js +4 -0
  3. package/es/date/index.js +4 -1
  4. package/es/date/set-year.js +4 -0
  5. package/es/date/to-gmt-string.js +4 -0
  6. package/es/escape.js +4 -0
  7. package/es/index.js +7 -0
  8. package/es/regexp/dot-all.js +7 -0
  9. package/es/regexp/index.js +1 -0
  10. package/es/regexp/sticky.js +2 -0
  11. package/es/string/index.js +1 -0
  12. package/es/string/substr.js +4 -0
  13. package/es/string/virtual/index.js +1 -0
  14. package/es/string/virtual/substr.js +4 -0
  15. package/es/unescape.js +4 -0
  16. package/features/date/get-year.js +3 -0
  17. package/features/date/set-year.js +3 -0
  18. package/features/date/to-gmt-string.js +3 -0
  19. package/features/escape.js +3 -0
  20. package/features/index.js +7 -0
  21. package/features/regexp/dot-all.js +3 -0
  22. package/features/string/substr.js +3 -0
  23. package/features/string/virtual/substr.js +3 -0
  24. package/features/unescape.js +3 -0
  25. package/internals/array-sort.js +45 -0
  26. package/internals/engine-ff-version.js +5 -0
  27. package/internals/engine-is-ie-or-edge.js +3 -0
  28. package/internals/engine-webkit-version.js +5 -0
  29. package/internals/internal-metadata.js +1 -1
  30. package/internals/object-prototype-accessors-forced.js +2 -3
  31. package/internals/regexp-unsupported-dot-all.js +1 -0
  32. package/internals/regexp-unsupported-ncg.js +8 -0
  33. package/internals/shared.js +1 -1
  34. package/modules/es.array.sort.js +73 -4
  35. package/modules/es.date.get-year.js +12 -0
  36. package/modules/es.date.set-year.js +18 -0
  37. package/modules/es.date.to-gmt-string.js +7 -0
  38. package/modules/es.escape.js +35 -0
  39. package/modules/es.promise.js +3 -2
  40. package/modules/es.regexp.dot-all.js +1 -0
  41. package/modules/es.string.substr.js +25 -0
  42. package/modules/es.unescape.js +39 -0
  43. package/modules/web.url.js +3 -3
  44. package/package.json +2 -2
  45. package/stable/date/get-year.js +3 -0
  46. package/stable/date/set-year.js +3 -0
  47. package/stable/date/to-gmt-string.js +3 -0
  48. package/stable/escape.js +3 -0
  49. package/stable/index.js +7 -0
  50. package/stable/regexp/dot-all.js +3 -0
  51. package/stable/string/substr.js +3 -0
  52. package/stable/string/virtual/substr.js +3 -0
  53. package/stable/unescape.js +3 -0
package/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  # core-js-pure
2
2
 
3
- [![Sponsors on Open Collective](https://opencollective.com/core-js/sponsors/badge.svg)](#sponsors) [![Backers on Open Collective](https://opencollective.com/core-js/backers/badge.svg)](#backers) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![version](https://img.shields.io/npm/v/core-js-pure.svg)](https://www.npmjs.com/package/core-js-pure) [![npm downloads](https://img.shields.io/npm/dm/core-js-pure.svg)](http://npm-stat.com/charts.html?package=core-js-pure&author=&from=2019-03-18) [![tests](https://github.com/zloirock/core-js/workflows/tests/badge.svg)](https://github.com/zloirock/core-js/actions)
4
- [![eslint](https://github.com/zloirock/core-js/workflows/eslint/badge.svg)](https://github.com/zloirock/core-js/actions)
3
+ [![Open Collective](https://opencollective.com/core-js/all/badge.svg?label=open%20collective)](https://opencollective.com/core-js) [![version](https://img.shields.io/npm/v/core-js.svg)](https://www.npmjs.com/package/core-js) [![core-js downloads](https://img.shields.io/npm/dm/core-js.svg?label=npm%20i%20core-js)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![core-js-pure downloads](https://img.shields.io/npm/dm/core-js-pure.svg?label=npm%20i%20core-js-pure)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![tests](https://github.com/zloirock/core-js/workflows/tests/badge.svg)](https://github.com/zloirock/core-js/actions) [![eslint](https://github.com/zloirock/core-js/workflows/eslint/badge.svg)](https://github.com/zloirock/core-js/actions)
5
4
 
6
5
  > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2021](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
7
6
 
@@ -0,0 +1,4 @@
1
+ require('../../modules/es.date.get-year');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('Date', 'getYear');
package/es/date/index.js CHANGED
@@ -1,6 +1,9 @@
1
+ require('../../modules/es.date.get-year');
1
2
  require('../../modules/es.date.now');
2
- require('../../modules/es.date.to-json');
3
+ require('../../modules/es.date.set-year');
4
+ require('../../modules/es.date.to-gmt-string');
3
5
  require('../../modules/es.date.to-iso-string');
6
+ require('../../modules/es.date.to-json');
4
7
  require('../../modules/es.date.to-string');
5
8
  require('../../modules/es.date.to-primitive');
6
9
  var path = require('../../internals/path');
@@ -0,0 +1,4 @@
1
+ require('../../modules/es.date.set-year');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('Date', 'setYear');
@@ -0,0 +1,4 @@
1
+ require('../../modules/es.date.to-gmt-string');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('Date', 'toGMTString');
package/es/escape.js ADDED
@@ -0,0 +1,4 @@
1
+ require('../modules/es.escape');
2
+ var global = require('../internals/global');
3
+
4
+ module.exports = global.escape;
package/es/index.js CHANGED
@@ -47,11 +47,15 @@ require('../modules/es.array-buffer.constructor');
47
47
  require('../modules/es.array-buffer.is-view');
48
48
  require('../modules/es.array-buffer.slice');
49
49
  require('../modules/es.data-view');
50
+ require('../modules/es.date.get-year');
50
51
  require('../modules/es.date.now');
52
+ require('../modules/es.date.set-year');
53
+ require('../modules/es.date.to-gmt-string');
51
54
  require('../modules/es.date.to-iso-string');
52
55
  require('../modules/es.date.to-json');
53
56
  require('../modules/es.date.to-primitive');
54
57
  require('../modules/es.date.to-string');
58
+ require('../modules/es.escape');
55
59
  require('../modules/es.function.bind');
56
60
  require('../modules/es.function.has-instance');
57
61
  require('../modules/es.function.name');
@@ -135,6 +139,7 @@ require('../modules/es.reflect.set');
135
139
  require('../modules/es.reflect.set-prototype-of');
136
140
  require('../modules/es.reflect.to-string-tag');
137
141
  require('../modules/es.regexp.constructor');
142
+ require('../modules/es.regexp.dot-all');
138
143
  require('../modules/es.regexp.exec');
139
144
  require('../modules/es.regexp.flags');
140
145
  require('../modules/es.regexp.sticky');
@@ -157,6 +162,7 @@ require('../modules/es.string.replace-all');
157
162
  require('../modules/es.string.search');
158
163
  require('../modules/es.string.split');
159
164
  require('../modules/es.string.starts-with');
165
+ require('../modules/es.string.substr');
160
166
  require('../modules/es.string.trim');
161
167
  require('../modules/es.string.trim-end');
162
168
  require('../modules/es.string.trim-start');
@@ -207,6 +213,7 @@ require('../modules/es.typed-array.sort');
207
213
  require('../modules/es.typed-array.subarray');
208
214
  require('../modules/es.typed-array.to-locale-string');
209
215
  require('../modules/es.typed-array.to-string');
216
+ require('../modules/es.unescape');
210
217
  require('../modules/es.weak-map');
211
218
  require('../modules/es.weak-set');
212
219
 
@@ -0,0 +1,7 @@
1
+ require('../../modules/es.regexp.constructor');
2
+ require('../../modules/es.regexp.dot-all');
3
+ require('../../modules/es.regexp.exec');
4
+
5
+ module.exports = function (it) {
6
+ return it.dotAll;
7
+ };
@@ -1,5 +1,6 @@
1
1
  require('../../modules/es.regexp.constructor');
2
2
  require('../../modules/es.regexp.to-string');
3
+ require('../../modules/es.regexp.dot-all');
3
4
  require('../../modules/es.regexp.exec');
4
5
  require('../../modules/es.regexp.flags');
5
6
  require('../../modules/es.regexp.sticky');
@@ -1,3 +1,5 @@
1
+ require('../../modules/es.regexp.constructor');
2
+ require('../../modules/es.regexp.exec');
1
3
  require('../../modules/es.regexp.sticky');
2
4
 
3
5
  module.exports = function (it) {
@@ -14,6 +14,7 @@ require('../../modules/es.string.replace-all');
14
14
  require('../../modules/es.string.search');
15
15
  require('../../modules/es.string.split');
16
16
  require('../../modules/es.string.starts-with');
17
+ require('../../modules/es.string.substr');
17
18
  require('../../modules/es.string.trim');
18
19
  require('../../modules/es.string.trim-start');
19
20
  require('../../modules/es.string.trim-end');
@@ -0,0 +1,4 @@
1
+ require('../../modules/es.string.substr');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('String', 'substr');
@@ -11,6 +11,7 @@ require('../../../modules/es.string.replace-all');
11
11
  require('../../../modules/es.string.search');
12
12
  require('../../../modules/es.string.split');
13
13
  require('../../../modules/es.string.starts-with');
14
+ require('../../../modules/es.string.substr');
14
15
  require('../../../modules/es.string.trim');
15
16
  require('../../../modules/es.string.trim-start');
16
17
  require('../../../modules/es.string.trim-end');
@@ -0,0 +1,4 @@
1
+ require('../../../modules/es.string.substr');
2
+ var entryVirtual = require('../../../internals/entry-virtual');
3
+
4
+ module.exports = entryVirtual('String').substr;
package/es/unescape.js ADDED
@@ -0,0 +1,4 @@
1
+ require('../modules/es.unescape');
2
+ var global = require('../internals/global');
3
+
4
+ module.exports = global.unescape;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/date/get-year');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/date/set-year');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/date/to-gmt-string');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../stable/escape');
2
+
3
+ module.exports = parent;
package/features/index.js CHANGED
@@ -47,11 +47,15 @@ require('../modules/es.array-buffer.constructor');
47
47
  require('../modules/es.array-buffer.is-view');
48
48
  require('../modules/es.array-buffer.slice');
49
49
  require('../modules/es.data-view');
50
+ require('../modules/es.date.get-year');
50
51
  require('../modules/es.date.now');
52
+ require('../modules/es.date.set-year');
53
+ require('../modules/es.date.to-gmt-string');
51
54
  require('../modules/es.date.to-iso-string');
52
55
  require('../modules/es.date.to-json');
53
56
  require('../modules/es.date.to-primitive');
54
57
  require('../modules/es.date.to-string');
58
+ require('../modules/es.escape');
55
59
  require('../modules/es.function.bind');
56
60
  require('../modules/es.function.has-instance');
57
61
  require('../modules/es.function.name');
@@ -135,6 +139,7 @@ require('../modules/es.reflect.set');
135
139
  require('../modules/es.reflect.set-prototype-of');
136
140
  require('../modules/es.reflect.to-string-tag');
137
141
  require('../modules/es.regexp.constructor');
142
+ require('../modules/es.regexp.dot-all');
138
143
  require('../modules/es.regexp.exec');
139
144
  require('../modules/es.regexp.flags');
140
145
  require('../modules/es.regexp.sticky');
@@ -157,6 +162,7 @@ require('../modules/es.string.replace-all');
157
162
  require('../modules/es.string.search');
158
163
  require('../modules/es.string.split');
159
164
  require('../modules/es.string.starts-with');
165
+ require('../modules/es.string.substr');
160
166
  require('../modules/es.string.trim');
161
167
  require('../modules/es.string.trim-end');
162
168
  require('../modules/es.string.trim-start');
@@ -207,6 +213,7 @@ require('../modules/es.typed-array.sort');
207
213
  require('../modules/es.typed-array.subarray');
208
214
  require('../modules/es.typed-array.to-locale-string');
209
215
  require('../modules/es.typed-array.to-string');
216
+ require('../modules/es.unescape');
210
217
  require('../modules/es.weak-map');
211
218
  require('../modules/es.weak-set');
212
219
  require('../modules/esnext.aggregate-error');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/regexp/dot-all');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/string/substr');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../stable/string/virtual/substr');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../stable/unescape');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,45 @@
1
+ // TODO: use something more complex like timsort?
2
+ var floor = Math.floor;
3
+
4
+ var mergeSort = function (array, comparefn) {
5
+ var length = array.length;
6
+ var middle = floor(length / 2);
7
+ return length < 8 ? insertionSort(array, comparefn) : merge(
8
+ mergeSort(array.slice(0, middle), comparefn),
9
+ mergeSort(array.slice(middle), comparefn),
10
+ comparefn
11
+ );
12
+ };
13
+
14
+ var insertionSort = function (array, comparefn) {
15
+ var length = array.length;
16
+ var i = 1;
17
+ var element, j;
18
+
19
+ while (i < length) {
20
+ j = i;
21
+ element = array[i];
22
+ while (j && comparefn(array[j - 1], element) > 0) {
23
+ array[j] = array[--j];
24
+ }
25
+ if (j !== i++) array[j] = element;
26
+ } return array;
27
+ };
28
+
29
+ var merge = function (left, right, comparefn) {
30
+ var llength = left.length;
31
+ var rlength = right.length;
32
+ var lindex = 0;
33
+ var rindex = 0;
34
+ var result = [];
35
+
36
+ while (lindex < llength || rindex < rlength) {
37
+ if (lindex < llength && rindex < rlength) {
38
+ result.push(comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]);
39
+ } else {
40
+ result.push(lindex < llength ? left[lindex++] : right[rindex++]);
41
+ }
42
+ } return result;
43
+ };
44
+
45
+ module.exports = mergeSort;
@@ -0,0 +1,5 @@
1
+ var userAgent = require('../internals/engine-user-agent');
2
+
3
+ var firefox = userAgent.match(/firefox\/(\d+)/i);
4
+
5
+ module.exports = !!firefox && +firefox[1];
@@ -0,0 +1,3 @@
1
+ var UA = require('../internals/engine-user-agent');
2
+
3
+ module.exports = /MSIE|Trident/.test(UA);
@@ -0,0 +1,5 @@
1
+ var userAgent = require('../internals/engine-user-agent');
2
+
3
+ var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
4
+
5
+ module.exports = !!webkit && +webkit[1];
@@ -15,7 +15,7 @@ var isExtensible = Object.isExtensible || function () {
15
15
 
16
16
  var setMetadata = function (it) {
17
17
  defineProperty(it, METADATA, { value: {
18
- objectID: 'O' + ++id, // object ID
18
+ objectID: 'O' + id++, // object ID
19
19
  weakData: {} // weak collections IDs
20
20
  } });
21
21
  };
@@ -2,14 +2,13 @@
2
2
  var IS_PURE = require('../internals/is-pure');
3
3
  var global = require('../internals/global');
4
4
  var fails = require('../internals/fails');
5
- var userAgent = require('../internals/engine-user-agent');
5
+ var WEBKIT = require('../internals/engine-webkit-version');
6
6
 
7
7
  // Forced replacement object prototype accessors methods
8
8
  module.exports = IS_PURE || !fails(function () {
9
9
  // This feature detection crashes old WebKit
10
10
  // https://github.com/zloirock/core-js/issues/232
11
- var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
12
- if (webkit && +webkit[1] < 535) return;
11
+ if (WEBKIT && WEBKIT < 535) return;
13
12
  var key = Math.random();
14
13
  // In FF throws only define methods
15
14
  // eslint-disable-next-line no-undef, no-useless-call -- required for testing
@@ -0,0 +1 @@
1
+ // empty
@@ -0,0 +1,8 @@
1
+ var fails = require('./fails');
2
+
3
+ module.exports = fails(function () {
4
+ // babel-minify transpiles RegExp('.', 'g') -> /./g and it causes SyntaxError
5
+ var re = RegExp('(?<a>b)', (typeof '').charAt(5));
6
+ return re.exec('b').groups.a !== 'b' ||
7
+ 'b'.replace(re, '$<a>c') !== 'bc';
8
+ });
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.13.1',
7
+ version: '3.15.2',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
10
10
  });
@@ -2,8 +2,14 @@
2
2
  var $ = require('../internals/export');
3
3
  var aFunction = require('../internals/a-function');
4
4
  var toObject = require('../internals/to-object');
5
+ var toLength = require('../internals/to-length');
5
6
  var fails = require('../internals/fails');
7
+ var internalSort = require('../internals/array-sort');
6
8
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
9
+ var FF = require('../internals/engine-ff-version');
10
+ var IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');
11
+ var V8 = require('../internals/engine-v8-version');
12
+ var WEBKIT = require('../internals/engine-webkit-version');
7
13
 
8
14
  var test = [];
9
15
  var nativeSort = test.sort;
@@ -19,14 +25,77 @@ var FAILS_ON_NULL = fails(function () {
19
25
  // Old WebKit
20
26
  var STRICT_METHOD = arrayMethodIsStrict('sort');
21
27
 
22
- var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;
28
+ var STABLE_SORT = !fails(function () {
29
+ // feature detection can be too slow, so check engines versions
30
+ if (V8) return V8 < 70;
31
+ if (FF && FF > 3) return;
32
+ if (IE_OR_EDGE) return true;
33
+ if (WEBKIT) return WEBKIT < 603;
34
+
35
+ var result = '';
36
+ var code, chr, value, index;
37
+
38
+ // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
39
+ for (code = 65; code < 76; code++) {
40
+ chr = String.fromCharCode(code);
41
+
42
+ switch (code) {
43
+ case 66: case 69: case 70: case 72: value = 3; break;
44
+ case 68: case 71: value = 4; break;
45
+ default: value = 2;
46
+ }
47
+
48
+ for (index = 0; index < 47; index++) {
49
+ test.push({ k: chr + index, v: value });
50
+ }
51
+ }
52
+
53
+ test.sort(function (a, b) { return b.v - a.v; });
54
+
55
+ for (index = 0; index < test.length; index++) {
56
+ chr = test[index].k.charAt(0);
57
+ if (result.charAt(result.length - 1) !== chr) result += chr;
58
+ }
59
+
60
+ return result !== 'DGBEFHACIJK';
61
+ });
62
+
63
+ var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
64
+
65
+ var getSortCompare = function (comparefn) {
66
+ return function (x, y) {
67
+ if (y === undefined) return -1;
68
+ if (x === undefined) return 1;
69
+ if (comparefn !== undefined) return +comparefn(x, y) || 0;
70
+ return String(x) > String(y) ? 1 : -1;
71
+ };
72
+ };
23
73
 
24
74
  // `Array.prototype.sort` method
25
75
  // https://tc39.es/ecma262/#sec-array.prototype.sort
26
76
  $({ target: 'Array', proto: true, forced: FORCED }, {
27
77
  sort: function sort(comparefn) {
28
- return comparefn === undefined
29
- ? nativeSort.call(toObject(this))
30
- : nativeSort.call(toObject(this), aFunction(comparefn));
78
+ if (comparefn !== undefined) aFunction(comparefn);
79
+
80
+ var array = toObject(this);
81
+
82
+ if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);
83
+
84
+ var items = [];
85
+ var arrayLength = toLength(array.length);
86
+ var itemsLength, index;
87
+
88
+ for (index = 0; index < arrayLength; index++) {
89
+ if (index in array) items.push(array[index]);
90
+ }
91
+
92
+ items = internalSort(items, getSortCompare(comparefn));
93
+ itemsLength = items.length;
94
+ index = 0;
95
+
96
+ while (index < itemsLength) array[index] = items[index++];
97
+ while (index < arrayLength) delete array[index++];
98
+
99
+ return array;
31
100
  }
32
101
  });
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+
4
+ var getFullYear = Date.prototype.getFullYear;
5
+
6
+ // `Date.prototype.getYear` method
7
+ // https://tc39.es/ecma262/#sec-date.prototype.getyear
8
+ $({ target: 'Date', proto: true }, {
9
+ getYear: function getYear() {
10
+ return getFullYear.call(this) - 1900;
11
+ }
12
+ });
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var toInteger = require('../internals/to-integer');
4
+
5
+ var getTime = Date.prototype.getTime;
6
+ var setFullYear = Date.prototype.setFullYear;
7
+
8
+ // `Date.prototype.setYear` method
9
+ // https://tc39.es/ecma262/#sec-date.prototype.setyear
10
+ $({ target: 'Date', proto: true }, {
11
+ setYear: function setYear(year) {
12
+ // validate
13
+ getTime.call(this);
14
+ var yi = toInteger(year);
15
+ var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi;
16
+ return setFullYear.call(this, yyyy);
17
+ }
18
+ });
@@ -0,0 +1,7 @@
1
+ var $ = require('../internals/export');
2
+
3
+ // `Date.prototype.toGMTString` method
4
+ // https://tc39.es/ecma262/#sec-date.prototype.togmtstring
5
+ $({ target: 'Date', proto: true }, {
6
+ toGMTString: Date.prototype.toUTCString
7
+ });
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+
4
+ var raw = /[\w*+\-./@]/;
5
+
6
+ var hex = function (code, length) {
7
+ var result = code.toString(16);
8
+ while (result.length < length) result = '0' + result;
9
+ return result;
10
+ };
11
+
12
+ // `escape` method
13
+ // https://tc39.es/ecma262/#sec-escape-string
14
+ $({ global: true }, {
15
+ escape: function escape(string) {
16
+ var str = String(string);
17
+ var result = '';
18
+ var length = str.length;
19
+ var index = 0;
20
+ var chr, code;
21
+ while (index < length) {
22
+ chr = str.charAt(index++);
23
+ if (raw.test(chr)) {
24
+ result += chr;
25
+ } else {
26
+ code = chr.charCodeAt(0);
27
+ if (code < 256) {
28
+ result += '%' + hex(code, 2);
29
+ } else {
30
+ result += '%u' + hex(code, 4).toUpperCase();
31
+ }
32
+ }
33
+ } return result;
34
+ }
35
+ });
@@ -55,7 +55,8 @@ var SUBCLASSING = false;
55
55
  var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
56
56
 
57
57
  var FORCED = isForced(PROMISE, function () {
58
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
58
+ var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
59
+ var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
59
60
  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
60
61
  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
61
62
  // We can't detect it synchronously, so just check versions
@@ -65,7 +66,7 @@ var FORCED = isForced(PROMISE, function () {
65
66
  // We can't use @@species feature detection in V8 since it causes
66
67
  // deoptimization and performance degradation
67
68
  // https://github.com/zloirock/core-js/issues/679
68
- if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;
69
+ if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;
69
70
  // Detect correctness of subclassing with @@species support
70
71
  var promise = new PromiseConstructor(function (resolve) { resolve(1); });
71
72
  var FakePromise = function (exec) {
@@ -0,0 +1 @@
1
+ // empty
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var requireObjectCoercible = require('../internals/require-object-coercible');
4
+ var toInteger = require('../internals/to-integer');
5
+
6
+ var slice = ''.slice;
7
+ var max = Math.max;
8
+ var min = Math.min;
9
+
10
+ // `String.prototype.substr` method
11
+ // https://tc39.es/ecma262/#sec-string.prototype.substr
12
+ $({ target: 'String', proto: true }, {
13
+ substr: function substr(start, length) {
14
+ var that = String(requireObjectCoercible(this));
15
+ var size = that.length;
16
+ var intStart = toInteger(start);
17
+ var intLength, intEnd;
18
+ if (intStart === Infinity) intStart = 0;
19
+ if (intStart < 0) intStart = max(size + intStart, 0);
20
+ intLength = length === undefined ? size : toInteger(length);
21
+ if (intLength <= 0 || intLength === Infinity) return '';
22
+ intEnd = min(intStart + intLength, size);
23
+ return intStart >= intEnd ? '' : slice.call(that, intStart, intEnd);
24
+ }
25
+ });
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+
4
+ var fromCharCode = String.fromCharCode;
5
+ var hex2 = /^[\da-f]{2}$/i;
6
+ var hex4 = /^[\da-f]{4}$/i;
7
+
8
+ // `unescape` method
9
+ // https://tc39.es/ecma262/#sec-unescape-string
10
+ $({ global: true }, {
11
+ unescape: function unescape(string) {
12
+ var str = String(string);
13
+ var result = '';
14
+ var length = str.length;
15
+ var index = 0;
16
+ var chr, slice;
17
+ while (index < length) {
18
+ chr = str.charAt(index++);
19
+ if (chr === '%') {
20
+ if (str.charAt(index) === 'u') {
21
+ slice = str.slice(index + 1, index + 5);
22
+ if (hex4.test(slice)) {
23
+ result += fromCharCode(parseInt(slice, 16));
24
+ index += 5;
25
+ continue;
26
+ }
27
+ } else {
28
+ slice = str.slice(index, index + 2);
29
+ if (hex2.test(slice)) {
30
+ result += fromCharCode(parseInt(slice, 16));
31
+ index += 2;
32
+ continue;
33
+ }
34
+ }
35
+ }
36
+ result += chr;
37
+ } return result;
38
+ }
39
+ });
@@ -34,13 +34,13 @@ var ALPHA = /[A-Za-z]/;
34
34
  // eslint-disable-next-line regexp/no-obscure-range -- safe
35
35
  var ALPHANUMERIC = /[\d+-.A-Za-z]/;
36
36
  var DIGIT = /\d/;
37
- var HEX_START = /^(0x|0X)/;
37
+ var HEX_START = /^0x/i;
38
38
  var OCT = /^[0-7]+$/;
39
39
  var DEC = /^\d+$/;
40
40
  var HEX = /^[\dA-Fa-f]+$/;
41
41
  /* eslint-disable no-control-regex -- safe */
42
- var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:?@[\\]]/;
43
- var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:?@[\\]]/;
42
+ var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
43
+ var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
44
44
  var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
45
45
  var TAB_AND_NEW_LINE = /[\t\n\r]/g;
46
46
  /* eslint-enable no-control-regex -- safe */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "core-js-pure",
3
3
  "description": "Standard library",
4
- "version": "3.13.1",
4
+ "version": "3.15.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git",
@@ -55,5 +55,5 @@
55
55
  "scripts": {
56
56
  "postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
57
57
  },
58
- "gitHead": "a05c21cbf99ccb39b75746f3f65cbb91ef80d697"
58
+ "gitHead": "ea6ee013f5960f859d90e4136e91b035560ba72e"
59
59
  }
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/date/get-year');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/date/set-year');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/date/to-gmt-string');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../es/escape');
2
+
3
+ module.exports = parent;
package/stable/index.js CHANGED
@@ -47,11 +47,15 @@ require('../modules/es.array-buffer.constructor');
47
47
  require('../modules/es.array-buffer.is-view');
48
48
  require('../modules/es.array-buffer.slice');
49
49
  require('../modules/es.data-view');
50
+ require('../modules/es.date.get-year');
50
51
  require('../modules/es.date.now');
52
+ require('../modules/es.date.set-year');
53
+ require('../modules/es.date.to-gmt-string');
51
54
  require('../modules/es.date.to-iso-string');
52
55
  require('../modules/es.date.to-json');
53
56
  require('../modules/es.date.to-primitive');
54
57
  require('../modules/es.date.to-string');
58
+ require('../modules/es.escape');
55
59
  require('../modules/es.function.bind');
56
60
  require('../modules/es.function.has-instance');
57
61
  require('../modules/es.function.name');
@@ -135,6 +139,7 @@ require('../modules/es.reflect.set');
135
139
  require('../modules/es.reflect.set-prototype-of');
136
140
  require('../modules/es.reflect.to-string-tag');
137
141
  require('../modules/es.regexp.constructor');
142
+ require('../modules/es.regexp.dot-all');
138
143
  require('../modules/es.regexp.exec');
139
144
  require('../modules/es.regexp.flags');
140
145
  require('../modules/es.regexp.sticky');
@@ -157,6 +162,7 @@ require('../modules/es.string.replace-all');
157
162
  require('../modules/es.string.search');
158
163
  require('../modules/es.string.split');
159
164
  require('../modules/es.string.starts-with');
165
+ require('../modules/es.string.substr');
160
166
  require('../modules/es.string.trim');
161
167
  require('../modules/es.string.trim-end');
162
168
  require('../modules/es.string.trim-start');
@@ -207,6 +213,7 @@ require('../modules/es.typed-array.sort');
207
213
  require('../modules/es.typed-array.subarray');
208
214
  require('../modules/es.typed-array.to-locale-string');
209
215
  require('../modules/es.typed-array.to-string');
216
+ require('../modules/es.unescape');
210
217
  require('../modules/es.weak-map');
211
218
  require('../modules/es.weak-set');
212
219
  require('../modules/web.dom-collections.for-each');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/regexp/dot-all');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/string/substr');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/string/virtual/substr');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../es/unescape');
2
+
3
+ module.exports = parent;