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.
- package/README.md +1 -2
- package/es/date/get-year.js +4 -0
- package/es/date/index.js +4 -1
- package/es/date/set-year.js +4 -0
- package/es/date/to-gmt-string.js +4 -0
- package/es/escape.js +4 -0
- package/es/index.js +7 -0
- package/es/regexp/dot-all.js +7 -0
- package/es/regexp/index.js +1 -0
- package/es/regexp/sticky.js +2 -0
- package/es/string/index.js +1 -0
- package/es/string/substr.js +4 -0
- package/es/string/virtual/index.js +1 -0
- package/es/string/virtual/substr.js +4 -0
- package/es/unescape.js +4 -0
- package/features/date/get-year.js +3 -0
- package/features/date/set-year.js +3 -0
- package/features/date/to-gmt-string.js +3 -0
- package/features/escape.js +3 -0
- package/features/index.js +7 -0
- package/features/regexp/dot-all.js +3 -0
- package/features/string/substr.js +3 -0
- package/features/string/virtual/substr.js +3 -0
- package/features/unescape.js +3 -0
- package/internals/array-sort.js +45 -0
- package/internals/engine-ff-version.js +5 -0
- package/internals/engine-is-ie-or-edge.js +3 -0
- package/internals/engine-webkit-version.js +5 -0
- package/internals/internal-metadata.js +1 -1
- package/internals/object-prototype-accessors-forced.js +2 -3
- package/internals/regexp-unsupported-dot-all.js +1 -0
- package/internals/regexp-unsupported-ncg.js +8 -0
- package/internals/shared.js +1 -1
- package/modules/es.array.sort.js +73 -4
- package/modules/es.date.get-year.js +12 -0
- package/modules/es.date.set-year.js +18 -0
- package/modules/es.date.to-gmt-string.js +7 -0
- package/modules/es.escape.js +35 -0
- package/modules/es.promise.js +3 -2
- package/modules/es.regexp.dot-all.js +1 -0
- package/modules/es.string.substr.js +25 -0
- package/modules/es.unescape.js +39 -0
- package/modules/web.url.js +3 -3
- package/package.json +2 -2
- package/stable/date/get-year.js +3 -0
- package/stable/date/set-year.js +3 -0
- package/stable/date/to-gmt-string.js +3 -0
- package/stable/escape.js +3 -0
- package/stable/index.js +7 -0
- package/stable/regexp/dot-all.js +3 -0
- package/stable/string/substr.js +3 -0
- package/stable/string/virtual/substr.js +3 -0
- package/stable/unescape.js +3 -0
package/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# core-js-pure
|
|
2
2
|
|
|
3
|
-
[](https://github.com/zloirock/core-js/actions)
|
|
3
|
+
[](https://opencollective.com/core-js) [](https://www.npmjs.com/package/core-js) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://github.com/zloirock/core-js/actions) [](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
|
|
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.
|
|
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');
|
package/es/escape.js
ADDED
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
|
|
package/es/regexp/index.js
CHANGED
|
@@ -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');
|
package/es/regexp/sticky.js
CHANGED
package/es/string/index.js
CHANGED
|
@@ -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');
|
|
@@ -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');
|
package/es/unescape.js
ADDED
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,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;
|
|
@@ -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' +
|
|
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
|
|
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
|
-
|
|
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
|
+
});
|
package/internals/shared.js
CHANGED
|
@@ -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.
|
|
7
|
+
version: '3.15.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
package/modules/es.array.sort.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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,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
|
+
});
|
package/modules/es.promise.js
CHANGED
|
@@ -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
|
|
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(
|
|
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
|
+
});
|
package/modules/web.url.js
CHANGED
|
@@ -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 = /^
|
|
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.
|
|
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": "
|
|
58
|
+
"gitHead": "ea6ee013f5960f859d90e4136e91b035560ba72e"
|
|
59
59
|
}
|
package/stable/escape.js
ADDED
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');
|