core-js-pure 3.30.2 → 3.31.0
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/actual/function/index.js +1 -0
- package/actual/function/metadata.js +3 -0
- package/actual/instance/is-well-formed.js +2 -9
- package/actual/instance/to-well-formed.js +2 -9
- package/actual/string/index.js +1 -0
- package/actual/string/is-well-formed.js +4 -1
- package/actual/string/to-well-formed.js +4 -1
- package/actual/string/virtual/index.js +1 -0
- package/actual/string/virtual/is-well-formed.js +4 -1
- package/actual/string/virtual/to-well-formed.js +4 -1
- package/actual/symbol/index.js +2 -0
- package/actual/symbol/metadata.js +5 -0
- package/es/index.js +2 -0
- package/es/instance/is-well-formed.js +10 -0
- package/es/instance/to-well-formed.js +10 -0
- package/es/string/index.js +2 -0
- package/es/string/is-well-formed.js +3 -0
- package/es/string/to-well-formed.js +3 -0
- package/es/string/virtual/is-well-formed.js +3 -0
- package/es/string/virtual/to-well-formed.js +3 -0
- package/features/function/metadata.js +1 -0
- package/features/object/group-by.js +1 -0
- package/features/promise/with-resolvers.js +1 -0
- package/features/symbol/is-registered-symbol.js +1 -0
- package/features/symbol/is-well-known-symbol.js +1 -0
- package/full/function/metadata.js +3 -0
- package/full/index.js +11 -2
- package/full/object/group-by.js +6 -0
- package/full/object/index.js +1 -0
- package/full/promise/index.js +2 -1
- package/full/promise/with-resolvers.js +13 -0
- package/full/symbol/index.js +5 -4
- package/full/symbol/is-registered-symbol.js +5 -0
- package/full/symbol/is-well-known-symbol.js +5 -0
- package/full/symbol/metadata.js +2 -3
- package/internals/array-group.js +1 -1
- package/internals/get-iterator-direct.js +4 -3
- package/internals/object-to-array.js +13 -1
- package/internals/shared.js +2 -2
- package/internals/symbol-is-registered.js +16 -0
- package/internals/symbol-is-well-known.js +33 -0
- package/internals/url-constructor-detection.js +3 -1
- package/modules/es.string.is-well-formed.js +23 -0
- package/modules/es.string.to-well-formed.js +43 -0
- package/modules/esnext.async-disposable-stack.constructor.js +1 -1
- package/modules/esnext.function.metadata.js +13 -0
- package/modules/esnext.map.group-by.js +17 -16
- package/modules/esnext.object.group-by.js +30 -0
- package/modules/esnext.promise.with-resolvers.js +16 -0
- package/modules/esnext.string.is-well-formed.js +2 -23
- package/modules/esnext.string.to-well-formed.js +2 -42
- package/modules/esnext.symbol.is-registered-symbol.js +8 -0
- package/modules/esnext.symbol.is-registered.js +4 -15
- package/modules/esnext.symbol.is-well-known-symbol.js +9 -0
- package/modules/esnext.symbol.is-well-known.js +4 -31
- package/modules/web.url-search-params.constructor.js +22 -14
- package/modules/web.url-search-params.delete.js +1 -0
- package/modules/web.url-search-params.has.js +1 -0
- package/package.json +1 -1
- package/postinstall.js +1 -1
- package/proposals/array-grouping-v2.js +3 -0
- package/proposals/decorator-metadata-v2.js +1 -0
- package/proposals/promise-with-resolvers.js +2 -0
- package/proposals/symbol-predicates-v2.js +3 -0
- package/proposals/url.js +1 -5
- package/stable/index.js +4 -0
- package/stable/instance/is-well-formed.js +3 -0
- package/stable/instance/to-well-formed.js +3 -0
- package/stable/string/is-well-formed.js +3 -0
- package/stable/string/to-well-formed.js +3 -0
- package/stable/string/virtual/is-well-formed.js +3 -0
- package/stable/string/virtual/to-well-formed.js +3 -0
- package/stage/2.js +4 -2
- package/stage/3.js +2 -2
- package/stage/4.js +1 -0
- package/web/index.js +2 -0
- package/web/url-search-params.js +2 -0
- package/web/url.js +1 -2
package/actual/function/index.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
var
|
|
2
|
-
var method = require('../string/virtual/is-well-formed');
|
|
1
|
+
var parent = require('../../stable/instance/is-well-formed');
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
module.exports = function (it) {
|
|
7
|
-
var own = it.isWellFormed;
|
|
8
|
-
return typeof it == 'string' || it === StringPrototype
|
|
9
|
-
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.isWellFormed) ? method : own;
|
|
10
|
-
};
|
|
3
|
+
module.exports = parent;
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
var
|
|
2
|
-
var method = require('../string/virtual/to-well-formed');
|
|
1
|
+
var parent = require('../../stable/instance/to-well-formed');
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
module.exports = function (it) {
|
|
7
|
-
var own = it.toWellFormed;
|
|
8
|
-
return typeof it == 'string' || it === StringPrototype
|
|
9
|
-
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.toWellFormed) ? method : own;
|
|
10
|
-
};
|
|
3
|
+
module.exports = parent;
|
package/actual/string/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
1
2
|
require('../../modules/esnext.string.is-well-formed');
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
var parent = require('../../stable/string/is-well-formed');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
1
2
|
require('../../modules/esnext.string.to-well-formed');
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
var parent = require('../../stable/string/to-well-formed');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
1
2
|
require('../../../modules/esnext.string.is-well-formed');
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
var parent = require('../../../stable/string/virtual/is-well-formed');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
1
2
|
require('../../../modules/esnext.string.to-well-formed');
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
var parent = require('../../../stable/string/virtual/to-well-formed');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
package/actual/symbol/index.js
CHANGED
package/es/index.js
CHANGED
|
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
|
|
|
166
166
|
require('../modules/es.string.ends-with');
|
|
167
167
|
require('../modules/es.string.from-code-point');
|
|
168
168
|
require('../modules/es.string.includes');
|
|
169
|
+
require('../modules/es.string.is-well-formed');
|
|
169
170
|
require('../modules/es.string.iterator');
|
|
170
171
|
require('../modules/es.string.match');
|
|
171
172
|
require('../modules/es.string.match-all');
|
|
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
|
|
|
179
180
|
require('../modules/es.string.split');
|
|
180
181
|
require('../modules/es.string.starts-with');
|
|
181
182
|
require('../modules/es.string.substr');
|
|
183
|
+
require('../modules/es.string.to-well-formed');
|
|
182
184
|
require('../modules/es.string.trim');
|
|
183
185
|
require('../modules/es.string.trim-end');
|
|
184
186
|
require('../modules/es.string.trim-start');
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
|
2
|
+
var method = require('../string/virtual/is-well-formed');
|
|
3
|
+
|
|
4
|
+
var StringPrototype = String.prototype;
|
|
5
|
+
|
|
6
|
+
module.exports = function (it) {
|
|
7
|
+
var own = it.isWellFormed;
|
|
8
|
+
return typeof it == 'string' || it === StringPrototype
|
|
9
|
+
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.isWellFormed) ? method : own;
|
|
10
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var isPrototypeOf = require('../../internals/object-is-prototype-of');
|
|
2
|
+
var method = require('../string/virtual/to-well-formed');
|
|
3
|
+
|
|
4
|
+
var StringPrototype = String.prototype;
|
|
5
|
+
|
|
6
|
+
module.exports = function (it) {
|
|
7
|
+
var own = it.toWellFormed;
|
|
8
|
+
return typeof it == 'string' || it === StringPrototype
|
|
9
|
+
|| (isPrototypeOf(StringPrototype, it) && own === StringPrototype.toWellFormed) ? method : own;
|
|
10
|
+
};
|
package/es/string/index.js
CHANGED
|
@@ -6,6 +6,7 @@ require('../../modules/es.string.code-point-at');
|
|
|
6
6
|
require('../../modules/es.string.at-alternative');
|
|
7
7
|
require('../../modules/es.string.ends-with');
|
|
8
8
|
require('../../modules/es.string.includes');
|
|
9
|
+
require('../../modules/es.string.is-well-formed');
|
|
9
10
|
require('../../modules/es.string.match');
|
|
10
11
|
require('../../modules/es.string.match-all');
|
|
11
12
|
require('../../modules/es.string.pad-end');
|
|
@@ -17,6 +18,7 @@ require('../../modules/es.string.search');
|
|
|
17
18
|
require('../../modules/es.string.split');
|
|
18
19
|
require('../../modules/es.string.starts-with');
|
|
19
20
|
require('../../modules/es.string.substr');
|
|
21
|
+
require('../../modules/es.string.to-well-formed');
|
|
20
22
|
require('../../modules/es.string.trim');
|
|
21
23
|
require('../../modules/es.string.trim-start');
|
|
22
24
|
require('../../modules/es.string.trim-end');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/function/metadata');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/object/group-by');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/promise/with-resolvers');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/symbol/is-registered-symbol');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/symbol/is-well-known-symbol');
|
package/full/index.js
CHANGED
|
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
|
|
|
166
166
|
require('../modules/es.string.ends-with');
|
|
167
167
|
require('../modules/es.string.from-code-point');
|
|
168
168
|
require('../modules/es.string.includes');
|
|
169
|
+
require('../modules/es.string.is-well-formed');
|
|
169
170
|
require('../modules/es.string.iterator');
|
|
170
171
|
require('../modules/es.string.match');
|
|
171
172
|
require('../modules/es.string.match-all');
|
|
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
|
|
|
179
180
|
require('../modules/es.string.split');
|
|
180
181
|
require('../modules/es.string.starts-with');
|
|
181
182
|
require('../modules/es.string.substr');
|
|
183
|
+
require('../modules/es.string.to-well-formed');
|
|
182
184
|
require('../modules/es.string.trim');
|
|
183
185
|
require('../modules/es.string.trim-end');
|
|
184
186
|
require('../modules/es.string.trim-start');
|
|
@@ -285,6 +287,7 @@ require('../modules/esnext.disposable-stack.constructor');
|
|
|
285
287
|
require('../modules/esnext.function.demethodize');
|
|
286
288
|
require('../modules/esnext.function.is-callable');
|
|
287
289
|
require('../modules/esnext.function.is-constructor');
|
|
290
|
+
require('../modules/esnext.function.metadata');
|
|
288
291
|
require('../modules/esnext.function.un-this');
|
|
289
292
|
require('../modules/esnext.global-this');
|
|
290
293
|
require('../modules/esnext.iterator.constructor');
|
|
@@ -347,10 +350,12 @@ require('../modules/esnext.object.has-own');
|
|
|
347
350
|
require('../modules/esnext.object.iterate-entries');
|
|
348
351
|
require('../modules/esnext.object.iterate-keys');
|
|
349
352
|
require('../modules/esnext.object.iterate-values');
|
|
353
|
+
require('../modules/esnext.object.group-by');
|
|
350
354
|
require('../modules/esnext.observable');
|
|
351
355
|
require('../modules/esnext.promise.all-settled');
|
|
352
356
|
require('../modules/esnext.promise.any');
|
|
353
357
|
require('../modules/esnext.promise.try');
|
|
358
|
+
require('../modules/esnext.promise.with-resolvers');
|
|
354
359
|
require('../modules/esnext.reflect.define-metadata');
|
|
355
360
|
require('../modules/esnext.reflect.delete-metadata');
|
|
356
361
|
require('../modules/esnext.reflect.get-metadata');
|
|
@@ -389,13 +394,13 @@ require('../modules/esnext.string.at');
|
|
|
389
394
|
require('../modules/esnext.string.cooked');
|
|
390
395
|
require('../modules/esnext.string.code-points');
|
|
391
396
|
require('../modules/esnext.string.dedent');
|
|
392
|
-
require('../modules/esnext.string.is-well-formed');
|
|
393
397
|
require('../modules/esnext.string.match-all');
|
|
394
398
|
require('../modules/esnext.string.replace-all');
|
|
395
|
-
require('../modules/esnext.string.to-well-formed');
|
|
396
399
|
require('../modules/esnext.symbol.async-dispose');
|
|
397
400
|
require('../modules/esnext.symbol.dispose');
|
|
401
|
+
require('../modules/esnext.symbol.is-registered-symbol');
|
|
398
402
|
require('../modules/esnext.symbol.is-registered');
|
|
403
|
+
require('../modules/esnext.symbol.is-well-known-symbol');
|
|
399
404
|
require('../modules/esnext.symbol.is-well-known');
|
|
400
405
|
require('../modules/esnext.symbol.matcher');
|
|
401
406
|
require('../modules/esnext.symbol.metadata');
|
|
@@ -440,6 +445,10 @@ require('../modules/web.url');
|
|
|
440
445
|
require('../modules/web.url.can-parse');
|
|
441
446
|
require('../modules/web.url.to-json');
|
|
442
447
|
require('../modules/web.url-search-params');
|
|
448
|
+
require('../modules/web.url-search-params.delete');
|
|
449
|
+
require('../modules/web.url-search-params.has');
|
|
443
450
|
require('../modules/web.url-search-params.size');
|
|
451
|
+
require('../modules/esnext.string.is-well-formed');
|
|
452
|
+
require('../modules/esnext.string.to-well-formed');
|
|
444
453
|
|
|
445
454
|
module.exports = require('../internals/path');
|
package/full/object/index.js
CHANGED
package/full/promise/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var parent = require('../../actual/promise');
|
|
2
|
-
require('../../modules/esnext.
|
|
2
|
+
require('../../modules/esnext.promise.with-resolvers');
|
|
3
3
|
// TODO: Remove from `core-js@4`
|
|
4
|
+
require('../../modules/esnext.aggregate-error');
|
|
4
5
|
require('../../modules/esnext.promise.all-settled');
|
|
5
6
|
require('../../modules/esnext.promise.try');
|
|
6
7
|
require('../../modules/esnext.promise.any');
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
require('../../modules/es.promise');
|
|
3
|
+
require('../../modules/esnext.promise.with-resolvers');
|
|
4
|
+
var call = require('../../internals/function-call');
|
|
5
|
+
var isCallable = require('../../internals/is-callable');
|
|
6
|
+
var path = require('../../internals/path');
|
|
7
|
+
|
|
8
|
+
var Promise = path.Promise;
|
|
9
|
+
var promiseWithResolvers = Promise.withResolvers;
|
|
10
|
+
|
|
11
|
+
module.exports = function withResolvers() {
|
|
12
|
+
return call(promiseWithResolvers, isCallable(this) ? this : Promise);
|
|
13
|
+
};
|
package/full/symbol/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
var parent = require('../../actual/symbol');
|
|
2
2
|
require('../../modules/esnext.symbol.async-dispose');
|
|
3
|
-
require('../../modules/esnext.symbol.is-registered');
|
|
4
|
-
require('../../modules/esnext.symbol.is-well-known');
|
|
3
|
+
require('../../modules/esnext.symbol.is-registered-symbol');
|
|
4
|
+
require('../../modules/esnext.symbol.is-well-known-symbol');
|
|
5
5
|
require('../../modules/esnext.symbol.matcher');
|
|
6
|
-
require('../../modules/esnext.symbol.metadata-key');
|
|
7
6
|
require('../../modules/esnext.symbol.observable');
|
|
8
7
|
// TODO: Remove from `core-js@4`
|
|
9
|
-
require('../../modules/esnext.symbol.
|
|
8
|
+
require('../../modules/esnext.symbol.is-registered');
|
|
9
|
+
require('../../modules/esnext.symbol.is-well-known');
|
|
10
|
+
require('../../modules/esnext.symbol.metadata-key');
|
|
10
11
|
require('../../modules/esnext.symbol.pattern-match');
|
|
11
12
|
require('../../modules/esnext.symbol.replace-all');
|
|
12
13
|
|
package/full/symbol/metadata.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require('../../
|
|
2
|
-
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
1
|
+
var parent = require('../../actual/symbol/metadata');
|
|
3
2
|
|
|
4
|
-
module.exports =
|
|
3
|
+
module.exports = parent;
|
package/internals/array-group.js
CHANGED
|
@@ -21,7 +21,7 @@ module.exports = function ($this, callbackfn, that, specificConstructor) {
|
|
|
21
21
|
for (;length > index; index++) {
|
|
22
22
|
value = self[index];
|
|
23
23
|
key = toPropertyKey(boundFunction(value, index, O));
|
|
24
|
-
// in some
|
|
24
|
+
// in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
|
|
25
25
|
// but since it's a `null` prototype object, we can safely use `in`
|
|
26
26
|
if (key in target) push(target[key], value);
|
|
27
27
|
else target[key] = [value];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// `GetIteratorDirect(obj)` abstract operation
|
|
2
|
+
// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect
|
|
3
3
|
module.exports = function (obj) {
|
|
4
4
|
return {
|
|
5
5
|
iterator: obj,
|
|
6
|
-
next:
|
|
6
|
+
next: obj.next,
|
|
7
|
+
done: false
|
|
7
8
|
};
|
|
8
9
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var fails = require('../internals/fails');
|
|
2
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var objectGetPrototypeOf = require('../internals/object-get-prototype-of');
|
|
3
5
|
var objectKeys = require('../internals/object-keys');
|
|
4
6
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
5
7
|
var $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
|
|
@@ -7,18 +9,28 @@ var $propertyIsEnumerable = require('../internals/object-property-is-enumerable'
|
|
|
7
9
|
var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
|
|
8
10
|
var push = uncurryThis([].push);
|
|
9
11
|
|
|
12
|
+
// in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys
|
|
13
|
+
// of `null` prototype objects
|
|
14
|
+
var IE_BUG = DESCRIPTORS && fails(function () {
|
|
15
|
+
// eslint-disable-next-line es/no-object-create -- safe
|
|
16
|
+
var O = Object.create(null);
|
|
17
|
+
O[2] = 2;
|
|
18
|
+
return !propertyIsEnumerable(O, 2);
|
|
19
|
+
});
|
|
20
|
+
|
|
10
21
|
// `Object.{ entries, values }` methods implementation
|
|
11
22
|
var createMethod = function (TO_ENTRIES) {
|
|
12
23
|
return function (it) {
|
|
13
24
|
var O = toIndexedObject(it);
|
|
14
25
|
var keys = objectKeys(O);
|
|
26
|
+
var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;
|
|
15
27
|
var length = keys.length;
|
|
16
28
|
var i = 0;
|
|
17
29
|
var result = [];
|
|
18
30
|
var key;
|
|
19
31
|
while (length > i) {
|
|
20
32
|
key = keys[i++];
|
|
21
|
-
if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
|
|
33
|
+
if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {
|
|
22
34
|
push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
|
|
23
35
|
}
|
|
24
36
|
}
|
package/internals/shared.js
CHANGED
|
@@ -4,9 +4,9 @@ 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.31.0',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
10
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
10
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE',
|
|
11
11
|
source: 'https://github.com/zloirock/core-js'
|
|
12
12
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
|
+
|
|
4
|
+
var Symbol = getBuiltIn('Symbol');
|
|
5
|
+
var keyFor = Symbol.keyFor;
|
|
6
|
+
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
|
|
7
|
+
|
|
8
|
+
// `Symbol.isRegisteredSymbol` method
|
|
9
|
+
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
|
|
10
|
+
module.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {
|
|
11
|
+
try {
|
|
12
|
+
return keyFor(thisSymbolValue(value)) !== undefined;
|
|
13
|
+
} catch (error) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var shared = require('../internals/shared');
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var isSymbol = require('../internals/is-symbol');
|
|
5
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
6
|
+
|
|
7
|
+
var Symbol = getBuiltIn('Symbol');
|
|
8
|
+
var $isWellKnownSymbol = Symbol.isWellKnownSymbol;
|
|
9
|
+
var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
|
|
10
|
+
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
|
|
11
|
+
var WellKnownSymbolsStore = shared('wks');
|
|
12
|
+
|
|
13
|
+
for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
|
|
14
|
+
// some old engines throws on access to some keys like `arguments` or `caller`
|
|
15
|
+
try {
|
|
16
|
+
var symbolKey = symbolKeys[i];
|
|
17
|
+
if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);
|
|
18
|
+
} catch (error) { /* empty */ }
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// `Symbol.isWellKnownSymbol` method
|
|
22
|
+
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
|
|
23
|
+
// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
|
|
24
|
+
module.exports = function isWellKnownSymbol(value) {
|
|
25
|
+
if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;
|
|
26
|
+
try {
|
|
27
|
+
var symbol = thisSymbolValue(value);
|
|
28
|
+
for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
|
|
29
|
+
if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
|
|
30
|
+
}
|
|
31
|
+
} catch (error) { /* empty */ }
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
@@ -9,13 +9,15 @@ module.exports = !fails(function () {
|
|
|
9
9
|
// eslint-disable-next-line unicorn/relative-url-style -- required for testing
|
|
10
10
|
var url = new URL('b?a=1&b=2&c=3', 'http://a');
|
|
11
11
|
var searchParams = url.searchParams;
|
|
12
|
+
var searchParams2 = new URLSearchParams('a=1&a=2');
|
|
12
13
|
var result = '';
|
|
13
14
|
url.pathname = 'c%20d';
|
|
14
15
|
searchParams.forEach(function (value, key) {
|
|
15
16
|
searchParams['delete']('b');
|
|
16
17
|
result += key + value;
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
+
searchParams2['delete']('a', 2);
|
|
20
|
+
return (IS_PURE && (!url.toJSON || !searchParams2.has('a', 1) || searchParams2.has('a', 2)))
|
|
19
21
|
|| (!searchParams.size && (IS_PURE || !DESCRIPTORS))
|
|
20
22
|
|| !searchParams.sort
|
|
21
23
|
|| url.href !== 'http://a/c%20d?a=1&c=3'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
|
|
9
|
+
// `String.prototype.isWellFormed` method
|
|
10
|
+
// https://github.com/tc39/proposal-is-usv-string
|
|
11
|
+
$({ target: 'String', proto: true }, {
|
|
12
|
+
isWellFormed: function isWellFormed() {
|
|
13
|
+
var S = toString(requireObjectCoercible(this));
|
|
14
|
+
var length = S.length;
|
|
15
|
+
for (var i = 0; i < length; i++) {
|
|
16
|
+
var charCode = charCodeAt(S, i);
|
|
17
|
+
// single UTF-16 code unit
|
|
18
|
+
if ((charCode & 0xF800) != 0xD800) continue;
|
|
19
|
+
// unpaired surrogate
|
|
20
|
+
if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
|
|
21
|
+
} return true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var call = require('../internals/function-call');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
|
+
var toString = require('../internals/to-string');
|
|
7
|
+
var fails = require('../internals/fails');
|
|
8
|
+
|
|
9
|
+
var $Array = Array;
|
|
10
|
+
var charAt = uncurryThis(''.charAt);
|
|
11
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
12
|
+
var join = uncurryThis([].join);
|
|
13
|
+
// eslint-disable-next-line es/no-string-prototype-iswellformed-towellformed -- safe
|
|
14
|
+
var $toWellFormed = ''.toWellFormed;
|
|
15
|
+
var REPLACEMENT_CHARACTER = '\uFFFD';
|
|
16
|
+
|
|
17
|
+
// Safari bug
|
|
18
|
+
var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
|
|
19
|
+
return call($toWellFormed, 1) !== '1';
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
// `String.prototype.toWellFormed` method
|
|
23
|
+
// https://github.com/tc39/proposal-is-usv-string
|
|
24
|
+
$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
|
|
25
|
+
toWellFormed: function toWellFormed() {
|
|
26
|
+
var S = toString(requireObjectCoercible(this));
|
|
27
|
+
if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
|
|
28
|
+
var length = S.length;
|
|
29
|
+
var result = $Array(length);
|
|
30
|
+
for (var i = 0; i < length; i++) {
|
|
31
|
+
var charCode = charCodeAt(S, i);
|
|
32
|
+
// single UTF-16 code unit
|
|
33
|
+
if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
|
|
34
|
+
// unpaired surrogate
|
|
35
|
+
else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
|
|
36
|
+
// surrogate pair
|
|
37
|
+
else {
|
|
38
|
+
result[i] = charAt(S, i);
|
|
39
|
+
result[++i] = charAt(S, i);
|
|
40
|
+
}
|
|
41
|
+
} return join(result, '');
|
|
42
|
+
}
|
|
43
|
+
});
|
|
@@ -95,7 +95,7 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
|
|
|
95
95
|
var internalState = getPendingAsyncDisposableStackInternalState(this);
|
|
96
96
|
aCallable(onDispose);
|
|
97
97
|
addDisposableResource(internalState, undefined, HINT, function () {
|
|
98
|
-
onDispose(value);
|
|
98
|
+
return onDispose(value);
|
|
99
99
|
});
|
|
100
100
|
return value;
|
|
101
101
|
},
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
2
|
+
var defineProperty = require('../internals/object-define-property').f;
|
|
3
|
+
|
|
4
|
+
var METADATA = wellKnownSymbol('metadata');
|
|
5
|
+
var FunctionPrototype = Function.prototype;
|
|
6
|
+
|
|
7
|
+
// Function.prototype[@@metadata]
|
|
8
|
+
// https://github.com/tc39/proposal-decorator-metadata
|
|
9
|
+
if (FunctionPrototype[METADATA] === undefined) {
|
|
10
|
+
defineProperty(FunctionPrototype, METADATA, {
|
|
11
|
+
value: null
|
|
12
|
+
});
|
|
13
|
+
}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var call = require('../internals/function-call');
|
|
4
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var isCallable = require('../internals/is-callable');
|
|
6
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
7
6
|
var iterate = require('../internals/iterate');
|
|
8
|
-
var
|
|
7
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
9
8
|
|
|
9
|
+
var Map = MapHelpers.Map;
|
|
10
|
+
var has = MapHelpers.has;
|
|
11
|
+
var get = MapHelpers.get;
|
|
12
|
+
var set = MapHelpers.set;
|
|
10
13
|
var push = uncurryThis([].push);
|
|
11
14
|
|
|
12
15
|
// `Map.groupBy` method
|
|
13
|
-
// https://github.com/tc39/proposal-
|
|
16
|
+
// https://github.com/tc39/proposal-array-grouping
|
|
14
17
|
$({ target: 'Map', stat: true, forced: true }, {
|
|
15
|
-
groupBy: function groupBy(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);
|
|
25
|
-
else push(call(get, newMap, derivedKey), element);
|
|
18
|
+
groupBy: function groupBy(items, callbackfn) {
|
|
19
|
+
requireObjectCoercible(items);
|
|
20
|
+
aCallable(callbackfn);
|
|
21
|
+
var map = new Map();
|
|
22
|
+
var k = 0;
|
|
23
|
+
iterate(items, function (value) {
|
|
24
|
+
var key = callbackfn(value, k++);
|
|
25
|
+
if (!has(map, key)) set(map, key, [value]);
|
|
26
|
+
else push(get(map, key), value);
|
|
26
27
|
});
|
|
27
|
-
return
|
|
28
|
+
return map;
|
|
28
29
|
}
|
|
29
30
|
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
|
+
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
7
|
+
var toPropertyKey = require('../internals/to-property-key');
|
|
8
|
+
var iterate = require('../internals/iterate');
|
|
9
|
+
|
|
10
|
+
var create = getBuiltIn('Object', 'create');
|
|
11
|
+
var push = uncurryThis([].push);
|
|
12
|
+
|
|
13
|
+
// `Object.groupBy` method
|
|
14
|
+
// https://github.com/tc39/proposal-array-grouping
|
|
15
|
+
$({ target: 'Object', stat: true, forced: true }, {
|
|
16
|
+
groupBy: function groupBy(items, callbackfn) {
|
|
17
|
+
requireObjectCoercible(items);
|
|
18
|
+
aCallable(callbackfn);
|
|
19
|
+
var obj = create(null);
|
|
20
|
+
var k = 0;
|
|
21
|
+
iterate(items, function (value) {
|
|
22
|
+
var key = toPropertyKey(callbackfn(value, k++));
|
|
23
|
+
// in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
|
|
24
|
+
// but since it's a `null` prototype object, we can safely use `in`
|
|
25
|
+
if (key in obj) push(obj[key], value);
|
|
26
|
+
else obj[key] = [value];
|
|
27
|
+
});
|
|
28
|
+
return obj;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var $ = require('../internals/export');
|
|
3
|
+
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
4
|
+
|
|
5
|
+
// `Promise.withResolvers` method
|
|
6
|
+
// https://github.com/tc39/proposal-promise-with-resolvers
|
|
7
|
+
$({ target: 'Promise', stat: true, forced: true }, {
|
|
8
|
+
withResolvers: function withResolvers() {
|
|
9
|
+
var promiseCapability = newPromiseCapabilityModule.f(this);
|
|
10
|
+
return {
|
|
11
|
+
promise: promiseCapability.promise,
|
|
12
|
+
resolve: promiseCapability.resolve,
|
|
13
|
+
reject: promiseCapability.reject
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
});
|
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
-
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
|
-
var toString = require('../internals/to-string');
|
|
6
|
-
|
|
7
|
-
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
-
|
|
9
|
-
// `String.prototype.isWellFormed` method
|
|
10
|
-
// https://github.com/tc39/proposal-is-usv-string
|
|
11
|
-
$({ target: 'String', proto: true }, {
|
|
12
|
-
isWellFormed: function isWellFormed() {
|
|
13
|
-
var S = toString(requireObjectCoercible(this));
|
|
14
|
-
var length = S.length;
|
|
15
|
-
for (var i = 0; i < length; i++) {
|
|
16
|
-
var charCode = charCodeAt(S, i);
|
|
17
|
-
// single UTF-16 code unit
|
|
18
|
-
if ((charCode & 0xF800) != 0xD800) continue;
|
|
19
|
-
// unpaired surrogate
|
|
20
|
-
if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
|
|
21
|
-
} return true;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.string.is-well-formed');
|
|
@@ -1,42 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var call = require('../internals/function-call');
|
|
4
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
|
-
var toString = require('../internals/to-string');
|
|
7
|
-
var fails = require('../internals/fails');
|
|
8
|
-
|
|
9
|
-
var $Array = Array;
|
|
10
|
-
var charAt = uncurryThis(''.charAt);
|
|
11
|
-
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
12
|
-
var join = uncurryThis([].join);
|
|
13
|
-
var $toWellFormed = ''.toWellFormed;
|
|
14
|
-
var REPLACEMENT_CHARACTER = '\uFFFD';
|
|
15
|
-
|
|
16
|
-
// Safari bug
|
|
17
|
-
var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
|
|
18
|
-
return call($toWellFormed, 1) !== '1';
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
// `String.prototype.toWellFormed` method
|
|
22
|
-
// https://github.com/tc39/proposal-is-usv-string
|
|
23
|
-
$({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
|
|
24
|
-
toWellFormed: function toWellFormed() {
|
|
25
|
-
var S = toString(requireObjectCoercible(this));
|
|
26
|
-
if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
|
|
27
|
-
var length = S.length;
|
|
28
|
-
var result = $Array(length);
|
|
29
|
-
for (var i = 0; i < length; i++) {
|
|
30
|
-
var charCode = charCodeAt(S, i);
|
|
31
|
-
// single UTF-16 code unit
|
|
32
|
-
if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
|
|
33
|
-
// unpaired surrogate
|
|
34
|
-
else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
|
|
35
|
-
// surrogate pair
|
|
36
|
-
else {
|
|
37
|
-
result[i] = charAt(S, i);
|
|
38
|
-
result[++i] = charAt(S, i);
|
|
39
|
-
}
|
|
40
|
-
} return join(result, '');
|
|
41
|
-
}
|
|
42
|
-
});
|
|
1
|
+
// TODO: Remove from `core-js@4`
|
|
2
|
+
require('../modules/es.string.to-well-formed');
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var isRegisteredSymbol = require('../internals/symbol-is-registered');
|
|
3
|
+
|
|
4
|
+
// `Symbol.isRegisteredSymbol` method
|
|
5
|
+
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
|
|
6
|
+
$({ target: 'Symbol', stat: true }, {
|
|
7
|
+
isRegisteredSymbol: isRegisteredSymbol
|
|
8
|
+
});
|
|
@@ -1,19 +1,8 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
-
var
|
|
3
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
-
|
|
5
|
-
var Symbol = getBuiltIn('Symbol');
|
|
6
|
-
var keyFor = Symbol.keyFor;
|
|
7
|
-
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
|
|
2
|
+
var isRegisteredSymbol = require('../internals/symbol-is-registered');
|
|
8
3
|
|
|
9
4
|
// `Symbol.isRegistered` method
|
|
10
|
-
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-
|
|
11
|
-
$({ target: 'Symbol', stat: true }, {
|
|
12
|
-
isRegistered:
|
|
13
|
-
try {
|
|
14
|
-
return keyFor(thisSymbolValue(value)) !== undefined;
|
|
15
|
-
} catch (error) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
5
|
+
// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
|
|
6
|
+
$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {
|
|
7
|
+
isRegistered: isRegisteredSymbol
|
|
19
8
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var isWellKnownSymbol = require('../internals/symbol-is-well-known');
|
|
3
|
+
|
|
4
|
+
// `Symbol.isWellKnownSymbol` method
|
|
5
|
+
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
|
|
6
|
+
// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
|
|
7
|
+
$({ target: 'Symbol', stat: true, forced: true }, {
|
|
8
|
+
isWellKnownSymbol: isWellKnownSymbol
|
|
9
|
+
});
|
|
@@ -1,36 +1,9 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
-
var
|
|
3
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
4
|
-
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
-
var isSymbol = require('../internals/is-symbol');
|
|
6
|
-
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
7
|
-
|
|
8
|
-
var Symbol = getBuiltIn('Symbol');
|
|
9
|
-
var $isWellKnown = Symbol.isWellKnown;
|
|
10
|
-
var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
|
|
11
|
-
var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
|
|
12
|
-
var WellKnownSymbolsStore = shared('wks');
|
|
13
|
-
|
|
14
|
-
for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
|
|
15
|
-
// some old engines throws on access to some keys like `arguments` or `caller`
|
|
16
|
-
try {
|
|
17
|
-
var symbolKey = symbolKeys[i];
|
|
18
|
-
if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);
|
|
19
|
-
} catch (error) { /* empty */ }
|
|
20
|
-
}
|
|
2
|
+
var isWellKnownSymbol = require('../internals/symbol-is-well-known');
|
|
21
3
|
|
|
22
4
|
// `Symbol.isWellKnown` method
|
|
23
|
-
// https://tc39.es/proposal-symbol-predicates/#sec-symbol-
|
|
5
|
+
// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
|
|
24
6
|
// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
|
|
25
|
-
$({ target: 'Symbol', stat: true, forced: true }, {
|
|
26
|
-
isWellKnown:
|
|
27
|
-
if ($isWellKnown && $isWellKnown(value)) return true;
|
|
28
|
-
try {
|
|
29
|
-
var symbol = thisSymbolValue(value);
|
|
30
|
-
for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
|
|
31
|
-
if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
|
|
32
|
-
}
|
|
33
|
-
} catch (error) { /* empty */ }
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
7
|
+
$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {
|
|
8
|
+
isWellKnown: isWellKnownSymbol
|
|
36
9
|
});
|
|
@@ -205,7 +205,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
|
|
|
205
205
|
anInstance(this, URLSearchParamsPrototype);
|
|
206
206
|
var init = arguments.length > 0 ? arguments[0] : undefined;
|
|
207
207
|
var state = setInternalState(this, new URLSearchParamsState(init));
|
|
208
|
-
if (!DESCRIPTORS) this.
|
|
208
|
+
if (!DESCRIPTORS) this.size = state.entries.length;
|
|
209
209
|
};
|
|
210
210
|
|
|
211
211
|
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
|
|
@@ -214,32 +214,37 @@ defineBuiltIns(URLSearchParamsPrototype, {
|
|
|
214
214
|
// `URLSearchParams.prototype.append` method
|
|
215
215
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-append
|
|
216
216
|
append: function append(name, value) {
|
|
217
|
-
validateArgumentsLength(arguments.length, 2);
|
|
218
217
|
var state = getInternalParamsState(this);
|
|
218
|
+
validateArgumentsLength(arguments.length, 2);
|
|
219
219
|
push(state.entries, { key: $toString(name), value: $toString(value) });
|
|
220
220
|
if (!DESCRIPTORS) this.length++;
|
|
221
221
|
state.updateURL();
|
|
222
222
|
},
|
|
223
223
|
// `URLSearchParams.prototype.delete` method
|
|
224
224
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete
|
|
225
|
-
'delete': function (name) {
|
|
226
|
-
validateArgumentsLength(arguments.length, 1);
|
|
225
|
+
'delete': function (name /* , value */) {
|
|
227
226
|
var state = getInternalParamsState(this);
|
|
227
|
+
var length = validateArgumentsLength(arguments.length, 1);
|
|
228
228
|
var entries = state.entries;
|
|
229
229
|
var key = $toString(name);
|
|
230
|
+
var $value = length < 2 ? undefined : arguments[1];
|
|
231
|
+
var value = $value === undefined ? $value : $toString($value);
|
|
230
232
|
var index = 0;
|
|
231
233
|
while (index < entries.length) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
+
var entry = entries[index];
|
|
235
|
+
if (entry.key === key && (value === undefined || entry.value === value)) {
|
|
236
|
+
splice(entries, index, 1);
|
|
237
|
+
if (value !== undefined) break;
|
|
238
|
+
} else index++;
|
|
234
239
|
}
|
|
235
|
-
if (!DESCRIPTORS) this.
|
|
240
|
+
if (!DESCRIPTORS) this.size = entries.length;
|
|
236
241
|
state.updateURL();
|
|
237
242
|
},
|
|
238
243
|
// `URLSearchParams.prototype.get` method
|
|
239
244
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-get
|
|
240
245
|
get: function get(name) {
|
|
241
|
-
validateArgumentsLength(arguments.length, 1);
|
|
242
246
|
var entries = getInternalParamsState(this).entries;
|
|
247
|
+
validateArgumentsLength(arguments.length, 1);
|
|
243
248
|
var key = $toString(name);
|
|
244
249
|
var index = 0;
|
|
245
250
|
for (; index < entries.length; index++) {
|
|
@@ -250,8 +255,8 @@ defineBuiltIns(URLSearchParamsPrototype, {
|
|
|
250
255
|
// `URLSearchParams.prototype.getAll` method
|
|
251
256
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-getall
|
|
252
257
|
getAll: function getAll(name) {
|
|
253
|
-
validateArgumentsLength(arguments.length, 1);
|
|
254
258
|
var entries = getInternalParamsState(this).entries;
|
|
259
|
+
validateArgumentsLength(arguments.length, 1);
|
|
255
260
|
var key = $toString(name);
|
|
256
261
|
var result = [];
|
|
257
262
|
var index = 0;
|
|
@@ -262,21 +267,24 @@ defineBuiltIns(URLSearchParamsPrototype, {
|
|
|
262
267
|
},
|
|
263
268
|
// `URLSearchParams.prototype.has` method
|
|
264
269
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-has
|
|
265
|
-
has: function has(name) {
|
|
266
|
-
validateArgumentsLength(arguments.length, 1);
|
|
270
|
+
has: function has(name /* , value */) {
|
|
267
271
|
var entries = getInternalParamsState(this).entries;
|
|
272
|
+
var length = validateArgumentsLength(arguments.length, 1);
|
|
268
273
|
var key = $toString(name);
|
|
274
|
+
var $value = length < 2 ? undefined : arguments[1];
|
|
275
|
+
var value = $value === undefined ? $value : $toString($value);
|
|
269
276
|
var index = 0;
|
|
270
277
|
while (index < entries.length) {
|
|
271
|
-
|
|
278
|
+
var entry = entries[index++];
|
|
279
|
+
if (entry.key === key && (value === undefined || entry.value === value)) return true;
|
|
272
280
|
}
|
|
273
281
|
return false;
|
|
274
282
|
},
|
|
275
283
|
// `URLSearchParams.prototype.set` method
|
|
276
284
|
// https://url.spec.whatwg.org/#dom-urlsearchparams-set
|
|
277
285
|
set: function set(name, value) {
|
|
278
|
-
validateArgumentsLength(arguments.length, 1);
|
|
279
286
|
var state = getInternalParamsState(this);
|
|
287
|
+
validateArgumentsLength(arguments.length, 1);
|
|
280
288
|
var entries = state.entries;
|
|
281
289
|
var found = false;
|
|
282
290
|
var key = $toString(name);
|
|
@@ -294,7 +302,7 @@ defineBuiltIns(URLSearchParamsPrototype, {
|
|
|
294
302
|
}
|
|
295
303
|
}
|
|
296
304
|
if (!found) push(entries, { key: key, value: val });
|
|
297
|
-
if (!DESCRIPTORS) this.
|
|
305
|
+
if (!DESCRIPTORS) this.size = entries.length;
|
|
298
306
|
state.updateURL();
|
|
299
307
|
},
|
|
300
308
|
// `URLSearchParams.prototype.sort` method
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// empty
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// empty
|
package/package.json
CHANGED
package/postinstall.js
CHANGED
|
@@ -20,7 +20,7 @@ var CI = [
|
|
|
20
20
|
].some(function (it) { return is(env[it]); });
|
|
21
21
|
|
|
22
22
|
var BANNER = '\u001B[96mThank you for using core-js (\u001B[94m https://github.com/zloirock/core-js \u001B[96m) for polyfilling JavaScript standard library!\u001B[0m\n\n' +
|
|
23
|
-
'\u001B[96mThe project needs your help! Please consider supporting
|
|
23
|
+
'\u001B[96mThe project needs your help! Please consider supporting core-js:\u001B[0m\n' +
|
|
24
24
|
'\u001B[96m>\u001B[94m https://opencollective.com/core-js \u001B[0m\n' +
|
|
25
25
|
'\u001B[96m>\u001B[94m https://patreon.com/zloirock \u001B[0m\n' +
|
|
26
26
|
'\u001B[96m>\u001B[94m https://boosty.to/zloirock \u001B[0m\n' +
|
package/proposals/url.js
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
// https://github.com/jasnell/proposal-url
|
|
2
|
-
require('../
|
|
3
|
-
require('../modules/web.url.can-parse');
|
|
4
|
-
require('../modules/web.url.to-json');
|
|
5
|
-
require('../modules/web.url-search-params');
|
|
6
|
-
require('../modules/web.url-search-params.size');
|
|
2
|
+
require('../web/url');
|
package/stable/index.js
CHANGED
|
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
|
|
|
166
166
|
require('../modules/es.string.ends-with');
|
|
167
167
|
require('../modules/es.string.from-code-point');
|
|
168
168
|
require('../modules/es.string.includes');
|
|
169
|
+
require('../modules/es.string.is-well-formed');
|
|
169
170
|
require('../modules/es.string.iterator');
|
|
170
171
|
require('../modules/es.string.match');
|
|
171
172
|
require('../modules/es.string.match-all');
|
|
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
|
|
|
179
180
|
require('../modules/es.string.split');
|
|
180
181
|
require('../modules/es.string.starts-with');
|
|
181
182
|
require('../modules/es.string.substr');
|
|
183
|
+
require('../modules/es.string.to-well-formed');
|
|
182
184
|
require('../modules/es.string.trim');
|
|
183
185
|
require('../modules/es.string.trim-end');
|
|
184
186
|
require('../modules/es.string.trim-start');
|
|
@@ -254,6 +256,8 @@ require('../modules/web.url');
|
|
|
254
256
|
require('../modules/web.url.can-parse');
|
|
255
257
|
require('../modules/web.url.to-json');
|
|
256
258
|
require('../modules/web.url-search-params');
|
|
259
|
+
require('../modules/web.url-search-params.delete');
|
|
260
|
+
require('../modules/web.url-search-params.has');
|
|
257
261
|
require('../modules/web.url-search-params.size');
|
|
258
262
|
|
|
259
263
|
module.exports = require('../internals/path');
|
package/stage/2.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
var parent = require('./3');
|
|
2
2
|
|
|
3
|
+
require('../proposals/array-grouping-v2');
|
|
3
4
|
require('../proposals/array-is-template-object');
|
|
4
5
|
require('../proposals/async-explicit-resource-management');
|
|
5
6
|
require('../proposals/async-iterator-helpers');
|
|
6
|
-
require('../proposals/decorator-metadata-v2');
|
|
7
7
|
require('../proposals/iterator-range');
|
|
8
8
|
require('../proposals/map-upsert-stage-2');
|
|
9
|
+
require('../proposals/promise-with-resolvers');
|
|
9
10
|
require('../proposals/string-dedent');
|
|
10
|
-
require('../proposals/symbol-predicates');
|
|
11
|
+
require('../proposals/symbol-predicates-v2');
|
|
11
12
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
12
13
|
require('../proposals/array-grouping');
|
|
13
14
|
require('../proposals/decorators');
|
|
14
15
|
require('../proposals/decorator-metadata');
|
|
15
16
|
require('../proposals/iterator-helpers');
|
|
16
17
|
require('../proposals/set-methods');
|
|
18
|
+
require('../proposals/symbol-predicates');
|
|
17
19
|
require('../proposals/using-statement');
|
|
18
20
|
|
|
19
21
|
module.exports = parent;
|
package/stage/3.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
var parent = require('./4');
|
|
2
2
|
|
|
3
3
|
require('../proposals/array-from-async-stage-2');
|
|
4
|
-
require('../proposals/array-grouping-stage-3-2');
|
|
5
4
|
require('../proposals/array-buffer-transfer');
|
|
5
|
+
require('../proposals/decorator-metadata-v2');
|
|
6
6
|
require('../proposals/explicit-resource-management');
|
|
7
7
|
require('../proposals/iterator-helpers-stage-3-2');
|
|
8
8
|
require('../proposals/json-parse-with-source');
|
|
9
9
|
require('../proposals/set-methods-v2');
|
|
10
|
-
require('../proposals/well-formed-unicode-strings');
|
|
11
10
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
12
11
|
require('../proposals/array-grouping-stage-3');
|
|
12
|
+
require('../proposals/array-grouping-stage-3-2');
|
|
13
13
|
require('../proposals/change-array-by-copy');
|
|
14
14
|
require('../proposals/iterator-helpers-stage-3');
|
|
15
15
|
|
package/stage/4.js
CHANGED
|
@@ -9,6 +9,7 @@ require('../proposals/promise-any');
|
|
|
9
9
|
require('../proposals/relative-indexing-method');
|
|
10
10
|
require('../proposals/string-match-all');
|
|
11
11
|
require('../proposals/string-replace-all-stage-4');
|
|
12
|
+
require('../proposals/well-formed-unicode-strings');
|
|
12
13
|
|
|
13
14
|
var path = require('../internals/path');
|
|
14
15
|
|
package/web/index.js
CHANGED
|
@@ -14,6 +14,8 @@ require('../modules/web.url');
|
|
|
14
14
|
require('../modules/web.url.can-parse');
|
|
15
15
|
require('../modules/web.url.to-json');
|
|
16
16
|
require('../modules/web.url-search-params');
|
|
17
|
+
require('../modules/web.url-search-params.delete');
|
|
18
|
+
require('../modules/web.url-search-params.has');
|
|
17
19
|
require('../modules/web.url-search-params.size');
|
|
18
20
|
var path = require('../internals/path');
|
|
19
21
|
|
package/web/url-search-params.js
CHANGED
package/web/url.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
+
require('./url-search-params');
|
|
1
2
|
require('../modules/web.url');
|
|
2
3
|
require('../modules/web.url.can-parse');
|
|
3
4
|
require('../modules/web.url.to-json');
|
|
4
|
-
require('../modules/web.url-search-params');
|
|
5
|
-
require('../modules/web.url-search-params.size');
|
|
6
5
|
var path = require('../internals/path');
|
|
7
6
|
|
|
8
7
|
module.exports = path.URL;
|