core-js 3.29.1 → 3.30.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.
Files changed (46) hide show
  1. package/actual/url/can-parse.js +3 -0
  2. package/features/url/can-parse.js +1 -0
  3. package/full/index.js +1 -0
  4. package/full/url/can-parse.js +3 -0
  5. package/internals/add-disposable-resource.js +2 -4
  6. package/internals/async-iterator-iteration.js +3 -2
  7. package/internals/async-iterator-map.js +3 -1
  8. package/internals/get-async-iterator-flattenable.js +1 -1
  9. package/internals/get-iterator-direct.js +1 -2
  10. package/internals/get-iterator-flattenable.js +1 -2
  11. package/internals/iterator-map.js +3 -1
  12. package/internals/set-helpers.js +1 -3
  13. package/internals/set-intersection.js +1 -16
  14. package/internals/shared.js +2 -2
  15. package/modules/es.array.find-index.js +1 -0
  16. package/modules/es.array.find.js +1 -0
  17. package/modules/esnext.async-disposable-stack.constructor.js +11 -10
  18. package/modules/esnext.async-iterator.drop.js +3 -1
  19. package/modules/esnext.async-iterator.filter.js +3 -1
  20. package/modules/esnext.async-iterator.flat-map.js +3 -1
  21. package/modules/esnext.async-iterator.reduce.js +2 -1
  22. package/modules/esnext.async-iterator.take.js +3 -1
  23. package/modules/esnext.disposable-stack.constructor.js +11 -10
  24. package/modules/esnext.iterator.drop.js +3 -1
  25. package/modules/esnext.iterator.every.js +3 -1
  26. package/modules/esnext.iterator.filter.js +3 -1
  27. package/modules/esnext.iterator.find.js +3 -1
  28. package/modules/esnext.iterator.flat-map.js +3 -1
  29. package/modules/esnext.iterator.for-each.js +3 -1
  30. package/modules/esnext.iterator.reduce.js +3 -1
  31. package/modules/esnext.iterator.some.js +3 -1
  32. package/modules/esnext.iterator.take.js +3 -1
  33. package/modules/esnext.iterator.to-array.js +2 -1
  34. package/modules/esnext.iterator.to-async.js +2 -1
  35. package/modules/esnext.set.intersection.v2.js +7 -1
  36. package/modules/web.url.can-parse.js +21 -0
  37. package/package.json +1 -1
  38. package/proposals/decorator-metadata-v2.js +2 -0
  39. package/proposals/decorator-metadata.js +1 -0
  40. package/proposals/url.js +1 -0
  41. package/stable/index.js +1 -0
  42. package/stable/url/can-parse.js +5 -0
  43. package/stage/1.js +0 -1
  44. package/stage/2.js +3 -1
  45. package/web/index.js +1 -0
  46. package/web/url.js +1 -0
@@ -0,0 +1,3 @@
1
+ var parent = require('../../stable/url/can-parse');
2
+
3
+ module.exports = parent;
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/url/can-parse');
package/full/index.js CHANGED
@@ -437,6 +437,7 @@ require('../modules/web.self');
437
437
  require('../modules/web.structured-clone');
438
438
  require('../modules/web.timers');
439
439
  require('../modules/web.url');
440
+ require('../modules/web.url.can-parse');
440
441
  require('../modules/web.url.to-json');
441
442
  require('../modules/web.url-search-params');
442
443
  require('../modules/web.url-search-params.size');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../actual/url/can-parse');
2
+
3
+ module.exports = parent;
@@ -28,11 +28,9 @@ module.exports = function (disposable, V, hint, method) {
28
28
  var resource;
29
29
  if (!method) {
30
30
  if (isNullOrUndefined(V)) return;
31
- resource = createDisposableResource(V, hint);
32
- } else if (isNullOrUndefined(V)) {
33
- resource = createDisposableResource(undefined, hint, method);
31
+ resource = createDisposableResource(anObject(V), hint);
34
32
  } else {
35
- resource = createDisposableResource(anObject(V), hint, method);
33
+ resource = createDisposableResource(undefined, hint, method);
36
34
  }
37
35
 
38
36
  push(disposable.stack, resource);
@@ -16,13 +16,14 @@ var createMethod = function (TYPE) {
16
16
  var IS_EVERY = TYPE == 2;
17
17
  var IS_SOME = TYPE == 3;
18
18
  return function (object, fn, target) {
19
+ anObject(object);
20
+ var MAPPING = fn !== undefined;
21
+ if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
19
22
  var record = getIteratorDirect(object);
20
23
  var Promise = getBuiltIn('Promise');
21
24
  var iterator = record.iterator;
22
25
  var next = record.next;
23
26
  var counter = 0;
24
- var MAPPING = fn !== undefined;
25
- if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
26
27
 
27
28
  return new Promise(function (resolve, reject) {
28
29
  var ifAbruptCloseAsyncIterator = function (error) {
@@ -49,7 +49,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
49
49
  // `AsyncIterator.prototype.map` method
50
50
  // https://github.com/tc39/proposal-iterator-helpers
51
51
  module.exports = function map(mapper) {
52
+ anObject(this);
53
+ aCallable(mapper);
52
54
  return new AsyncIteratorProxy(getIteratorDirect(this), {
53
- mapper: aCallable(mapper)
55
+ mapper: mapper
54
56
  });
55
57
  };
@@ -18,7 +18,7 @@ module.exports = function from(obj) {
18
18
  method = getIteratorMethod(object);
19
19
  alreadyAsync = false;
20
20
  }
21
- if (isCallable(method)) {
21
+ if (method !== undefined) {
22
22
  iterator = call(method, object);
23
23
  } else {
24
24
  iterator = object;
@@ -1,9 +1,8 @@
1
1
  var aCallable = require('../internals/a-callable');
2
- var anObject = require('../internals/an-object');
3
2
 
4
3
  module.exports = function (obj) {
5
4
  return {
6
5
  iterator: obj,
7
- next: aCallable(anObject(obj).next)
6
+ next: aCallable(obj.next)
8
7
  };
9
8
  };
@@ -1,5 +1,4 @@
1
1
  var call = require('../internals/function-call');
2
- var isCallable = require('../internals/is-callable');
3
2
  var anObject = require('../internals/an-object');
4
3
  var getIteratorDirect = require('../internals/get-iterator-direct');
5
4
  var getIteratorMethod = require('../internals/get-iterator-method');
@@ -7,5 +6,5 @@ var getIteratorMethod = require('../internals/get-iterator-method');
7
6
  module.exports = function (obj) {
8
7
  var object = anObject(obj);
9
8
  var method = getIteratorMethod(object);
10
- return getIteratorDirect(anObject(isCallable(method) ? call(method, object) : object));
9
+ return getIteratorDirect(anObject(method !== undefined ? call(method, object) : object));
11
10
  };
@@ -16,7 +16,9 @@ var IteratorProxy = createIteratorProxy(function () {
16
16
  // `Iterator.prototype.map` method
17
17
  // https://github.com/tc39/proposal-iterator-helpers
18
18
  module.exports = function map(mapper) {
19
+ anObject(this);
20
+ aCallable(mapper);
19
21
  return new IteratorProxy(getIteratorDirect(this), {
20
- mapper: aCallable(mapper)
22
+ mapper: mapper
21
23
  });
22
24
  };
@@ -9,7 +9,5 @@ module.exports = {
9
9
  add: uncurryThis(SetPrototype.add),
10
10
  has: uncurryThis(SetPrototype.has),
11
11
  remove: uncurryThis(SetPrototype['delete']),
12
- proto: SetPrototype,
13
- $has: SetPrototype.has,
14
- $keys: SetPrototype.keys
12
+ proto: SetPrototype
15
13
  };
@@ -9,12 +9,6 @@ var iterateSimple = require('../internals/iterate-simple');
9
9
  var Set = SetHelpers.Set;
10
10
  var add = SetHelpers.add;
11
11
  var has = SetHelpers.has;
12
- var nativeHas = SetHelpers.$has;
13
- var nativeKeys = SetHelpers.$keys;
14
-
15
- var isNativeSetRecord = function (record) {
16
- return record.has === nativeHas && record.keys === nativeKeys;
17
- };
18
12
 
19
13
  // `Set.prototype.intersection` method
20
14
  // https://github.com/tc39/proposal-set-methods
@@ -23,19 +17,10 @@ module.exports = function intersection(other) {
23
17
  var otherRec = getSetRecord(other);
24
18
  var result = new Set();
25
19
 
26
- // observable side effects
27
- if (!isNativeSetRecord(otherRec) && size(O) > otherRec.size) {
20
+ if (size(O) > otherRec.size) {
28
21
  iterateSimple(otherRec.getIterator(), function (e) {
29
22
  if (has(O, e)) add(result, e);
30
23
  });
31
-
32
- if (size(result) < 2) return result;
33
-
34
- var disordered = result;
35
- result = new Set();
36
- iterateSet(O, function (e) {
37
- if (has(disordered, e)) add(result, e);
38
- });
39
24
  } else {
40
25
  iterateSet(O, function (e) {
41
26
  if (otherRec.includes(e)) add(result, e);
@@ -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.29.1',
7
+ version: '3.30.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.29.1/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -7,6 +7,7 @@ var FIND_INDEX = 'findIndex';
7
7
  var SKIPS_HOLES = true;
8
8
 
9
9
  // Shouldn't skip holes
10
+ // eslint-disable-next-line es/no-array-prototype-findindex -- testing
10
11
  if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
11
12
 
12
13
  // `Array.prototype.findIndex` method
@@ -7,6 +7,7 @@ var FIND = 'find';
7
7
  var SKIPS_HOLES = true;
8
8
 
9
9
  // Shouldn't skip holes
10
+ // eslint-disable-next-line es/no-array-prototype-find -- testing
10
11
  if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
11
12
 
12
13
  // `Array.prototype.find` method
@@ -27,7 +27,11 @@ var HINT = 'async-dispose';
27
27
  var DISPOSED = 'disposed';
28
28
  var PENDING = 'pending';
29
29
 
30
- var ALREADY_DISPOSED = ASYNC_DISPOSABLE_STACK + ' already disposed';
30
+ var getPendingAsyncDisposableStackInternalState = function (stack) {
31
+ var internalState = getAsyncDisposableStackInternalState(stack);
32
+ if (internalState.state == DISPOSED) throw $ReferenceError(ASYNC_DISPOSABLE_STACK + ' already disposed');
33
+ return internalState;
34
+ };
31
35
 
32
36
  var $AsyncDisposableStack = function AsyncDisposableStack() {
33
37
  setInternalState(anInstance(this, AsyncDisposableStackPrototype), {
@@ -84,14 +88,11 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
84
88
  });
85
89
  },
86
90
  use: function use(value) {
87
- var internalState = getAsyncDisposableStackInternalState(this);
88
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
89
- addDisposableResource(internalState, value, HINT);
91
+ addDisposableResource(getPendingAsyncDisposableStackInternalState(this), value, HINT);
90
92
  return value;
91
93
  },
92
94
  adopt: function adopt(value, onDispose) {
93
- var internalState = getAsyncDisposableStackInternalState(this);
94
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
95
+ var internalState = getPendingAsyncDisposableStackInternalState(this);
95
96
  aCallable(onDispose);
96
97
  addDisposableResource(internalState, undefined, HINT, function () {
97
98
  onDispose(value);
@@ -99,17 +100,17 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
99
100
  return value;
100
101
  },
101
102
  defer: function defer(onDispose) {
102
- var internalState = getAsyncDisposableStackInternalState(this);
103
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
103
+ var internalState = getPendingAsyncDisposableStackInternalState(this);
104
104
  aCallable(onDispose);
105
105
  addDisposableResource(internalState, undefined, HINT, onDispose);
106
106
  },
107
107
  move: function move() {
108
- var internalState = getAsyncDisposableStackInternalState(this);
109
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
108
+ var internalState = getPendingAsyncDisposableStackInternalState(this);
110
109
  var newAsyncDisposableStack = new $AsyncDisposableStack();
111
110
  getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack;
112
111
  internalState.stack = [];
112
+ internalState.state = DISPOSED;
113
+ if (!DESCRIPTORS) this.disposed = true;
113
114
  return newAsyncDisposableStack;
114
115
  }
115
116
  });
@@ -41,8 +41,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
41
41
  // https://github.com/tc39/proposal-async-iterator-helpers
42
42
  $({ target: 'AsyncIterator', proto: true, real: true }, {
43
43
  drop: function drop(limit) {
44
+ anObject(this);
45
+ var remaining = toPositiveInteger(notANaN(+limit));
44
46
  return new AsyncIteratorProxy(getIteratorDirect(this), {
45
- remaining: toPositiveInteger(notANaN(+limit))
47
+ remaining: remaining
46
48
  });
47
49
  }
48
50
  });
@@ -57,8 +57,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
57
57
  // https://github.com/tc39/proposal-async-iterator-helpers
58
58
  $({ target: 'AsyncIterator', proto: true, real: true }, {
59
59
  filter: function filter(predicate) {
60
+ anObject(this);
61
+ aCallable(predicate);
60
62
  return new AsyncIteratorProxy(getIteratorDirect(this), {
61
- predicate: aCallable(predicate)
63
+ predicate: predicate
62
64
  });
63
65
  }
64
66
  });
@@ -77,8 +77,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
77
77
  // https://github.com/tc39/proposal-async-iterator-helpers
78
78
  $({ target: 'AsyncIterator', proto: true, real: true }, {
79
79
  flatMap: function flatMap(mapper) {
80
+ anObject(this);
81
+ aCallable(mapper);
80
82
  return new AsyncIteratorProxy(getIteratorDirect(this), {
81
- mapper: aCallable(mapper),
83
+ mapper: mapper,
82
84
  inner: null
83
85
  });
84
86
  }
@@ -15,13 +15,14 @@ var $TypeError = TypeError;
15
15
  // https://github.com/tc39/proposal-async-iterator-helpers
16
16
  $({ target: 'AsyncIterator', proto: true, real: true }, {
17
17
  reduce: function reduce(reducer /* , initialValue */) {
18
+ anObject(this);
19
+ aCallable(reducer);
18
20
  var record = getIteratorDirect(this);
19
21
  var iterator = record.iterator;
20
22
  var next = record.next;
21
23
  var noInitial = arguments.length < 2;
22
24
  var accumulator = noInitial ? undefined : arguments[1];
23
25
  var counter = 0;
24
- aCallable(reducer);
25
26
 
26
27
  return new Promise(function (resolve, reject) {
27
28
  var ifAbruptCloseAsyncIterator = function (error) {
@@ -38,8 +38,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
38
38
  // https://github.com/tc39/proposal-async-iterator-helpers
39
39
  $({ target: 'AsyncIterator', proto: true, real: true }, {
40
40
  take: function take(limit) {
41
+ anObject(this);
42
+ var remaining = toPositiveInteger(notANaN(+limit));
41
43
  return new AsyncIteratorProxy(getIteratorDirect(this), {
42
- remaining: toPositiveInteger(notANaN(+limit))
44
+ remaining: remaining
43
45
  });
44
46
  }
45
47
  });
@@ -26,7 +26,11 @@ var HINT = 'sync-dispose';
26
26
  var DISPOSED = 'disposed';
27
27
  var PENDING = 'pending';
28
28
 
29
- var ALREADY_DISPOSED = DISPOSABLE_STACK + ' already disposed';
29
+ var getPendingDisposableStackInternalState = function (stack) {
30
+ var internalState = getDisposableStackInternalState(stack);
31
+ if (internalState.state == DISPOSED) throw $ReferenceError(DISPOSABLE_STACK + ' already disposed');
32
+ return internalState;
33
+ };
30
34
 
31
35
  var $DisposableStack = function DisposableStack() {
32
36
  setInternalState(anInstance(this, DisposableStackPrototype), {
@@ -68,14 +72,11 @@ defineBuiltIns(DisposableStackPrototype, {
68
72
  if (thrown) throw suppressed;
69
73
  },
70
74
  use: function use(value) {
71
- var internalState = getDisposableStackInternalState(this);
72
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
73
- addDisposableResource(internalState, value, HINT);
75
+ addDisposableResource(getPendingDisposableStackInternalState(this), value, HINT);
74
76
  return value;
75
77
  },
76
78
  adopt: function adopt(value, onDispose) {
77
- var internalState = getDisposableStackInternalState(this);
78
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
79
+ var internalState = getPendingDisposableStackInternalState(this);
79
80
  aCallable(onDispose);
80
81
  addDisposableResource(internalState, undefined, HINT, function () {
81
82
  onDispose(value);
@@ -83,17 +84,17 @@ defineBuiltIns(DisposableStackPrototype, {
83
84
  return value;
84
85
  },
85
86
  defer: function defer(onDispose) {
86
- var internalState = getDisposableStackInternalState(this);
87
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
87
+ var internalState = getPendingDisposableStackInternalState(this);
88
88
  aCallable(onDispose);
89
89
  addDisposableResource(internalState, undefined, HINT, onDispose);
90
90
  },
91
91
  move: function move() {
92
- var internalState = getDisposableStackInternalState(this);
93
- if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
92
+ var internalState = getPendingDisposableStackInternalState(this);
94
93
  var newDisposableStack = new $DisposableStack();
95
94
  getDisposableStackInternalState(newDisposableStack).stack = internalState.stack;
96
95
  internalState.stack = [];
96
+ internalState.state = DISPOSED;
97
+ if (!DESCRIPTORS) this.disposed = true;
97
98
  return newDisposableStack;
98
99
  }
99
100
  });
@@ -26,8 +26,10 @@ var IteratorProxy = createIteratorProxy(function () {
26
26
  // https://github.com/tc39/proposal-iterator-helpers
27
27
  $({ target: 'Iterator', proto: true, real: true }, {
28
28
  drop: function drop(limit) {
29
+ anObject(this);
30
+ var remaining = toPositiveInteger(notANaN(+limit));
29
31
  return new IteratorProxy(getIteratorDirect(this), {
30
- remaining: toPositiveInteger(notANaN(+limit))
32
+ remaining: remaining
31
33
  });
32
34
  }
33
35
  });
@@ -2,15 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var iterate = require('../internals/iterate');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var anObject = require('../internals/an-object');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
8
  // `Iterator.prototype.every` method
8
9
  // https://github.com/tc39/proposal-iterator-helpers
9
10
  $({ target: 'Iterator', proto: true, real: true }, {
10
11
  every: function every(predicate) {
12
+ anObject(this);
13
+ aCallable(predicate);
11
14
  var record = getIteratorDirect(this);
12
15
  var counter = 0;
13
- aCallable(predicate);
14
16
  return !iterate(record, function (value, stop) {
15
17
  if (!predicate(value, counter++)) return stop();
16
18
  }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
@@ -25,8 +25,10 @@ var IteratorProxy = createIteratorProxy(function () {
25
25
  // https://github.com/tc39/proposal-iterator-helpers
26
26
  $({ target: 'Iterator', proto: true, real: true }, {
27
27
  filter: function filter(predicate) {
28
+ anObject(this);
29
+ aCallable(predicate);
28
30
  return new IteratorProxy(getIteratorDirect(this), {
29
- predicate: aCallable(predicate)
31
+ predicate: predicate
30
32
  });
31
33
  }
32
34
  });
@@ -2,15 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var iterate = require('../internals/iterate');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var anObject = require('../internals/an-object');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
8
  // `Iterator.prototype.find` method
8
9
  // https://github.com/tc39/proposal-iterator-helpers
9
10
  $({ target: 'Iterator', proto: true, real: true }, {
10
11
  find: function find(predicate) {
12
+ anObject(this);
13
+ aCallable(predicate);
11
14
  var record = getIteratorDirect(this);
12
15
  var counter = 0;
13
- aCallable(predicate);
14
16
  return iterate(record, function (value, stop) {
15
17
  if (predicate(value, counter++)) return stop(value);
16
18
  }, { IS_RECORD: true, INTERRUPTED: true }).result;
@@ -34,8 +34,10 @@ var IteratorProxy = createIteratorProxy(function () {
34
34
  // https://github.com/tc39/proposal-iterator-helpers
35
35
  $({ target: 'Iterator', proto: true, real: true }, {
36
36
  flatMap: function flatMap(mapper) {
37
+ anObject(this);
38
+ aCallable(mapper);
37
39
  return new IteratorProxy(getIteratorDirect(this), {
38
- mapper: aCallable(mapper),
40
+ mapper: mapper,
39
41
  inner: null
40
42
  });
41
43
  }
@@ -2,15 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var iterate = require('../internals/iterate');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var anObject = require('../internals/an-object');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
8
  // `Iterator.prototype.forEach` method
8
9
  // https://github.com/tc39/proposal-iterator-helpers
9
10
  $({ target: 'Iterator', proto: true, real: true }, {
10
11
  forEach: function forEach(fn) {
12
+ anObject(this);
13
+ aCallable(fn);
11
14
  var record = getIteratorDirect(this);
12
15
  var counter = 0;
13
- aCallable(fn);
14
16
  iterate(record, function (value) {
15
17
  fn(value, counter++);
16
18
  }, { IS_RECORD: true });
@@ -2,6 +2,7 @@
2
2
  var $ = require('../internals/export');
3
3
  var iterate = require('../internals/iterate');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var anObject = require('../internals/an-object');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
8
  var $TypeError = TypeError;
@@ -10,8 +11,9 @@ var $TypeError = TypeError;
10
11
  // https://github.com/tc39/proposal-iterator-helpers
11
12
  $({ target: 'Iterator', proto: true, real: true }, {
12
13
  reduce: function reduce(reducer /* , initialValue */) {
13
- var record = getIteratorDirect(this);
14
+ anObject(this);
14
15
  aCallable(reducer);
16
+ var record = getIteratorDirect(this);
15
17
  var noInitial = arguments.length < 2;
16
18
  var accumulator = noInitial ? undefined : arguments[1];
17
19
  var counter = 0;
@@ -2,15 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var iterate = require('../internals/iterate');
4
4
  var aCallable = require('../internals/a-callable');
5
+ var anObject = require('../internals/an-object');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
8
  // `Iterator.prototype.some` method
8
9
  // https://github.com/tc39/proposal-iterator-helpers
9
10
  $({ target: 'Iterator', proto: true, real: true }, {
10
11
  some: function some(predicate) {
12
+ anObject(this);
13
+ aCallable(predicate);
11
14
  var record = getIteratorDirect(this);
12
15
  var counter = 0;
13
- aCallable(predicate);
14
16
  return iterate(record, function (value, stop) {
15
17
  if (predicate(value, counter++)) return stop();
16
18
  }, { IS_RECORD: true, INTERRUPTED: true }).stopped;
@@ -23,8 +23,10 @@ var IteratorProxy = createIteratorProxy(function () {
23
23
  // https://github.com/tc39/proposal-iterator-helpers
24
24
  $({ target: 'Iterator', proto: true, real: true }, {
25
25
  take: function take(limit) {
26
+ anObject(this);
27
+ var remaining = toPositiveInteger(notANaN(+limit));
26
28
  return new IteratorProxy(getIteratorDirect(this), {
27
- remaining: toPositiveInteger(notANaN(+limit))
29
+ remaining: remaining
28
30
  });
29
31
  }
30
32
  });
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var anObject = require('../internals/an-object');
3
4
  var iterate = require('../internals/iterate');
4
5
  var getIteratorDirect = require('../internals/get-iterator-direct');
5
6
 
@@ -10,7 +11,7 @@ var push = [].push;
10
11
  $({ target: 'Iterator', proto: true, real: true }, {
11
12
  toArray: function toArray() {
12
13
  var result = [];
13
- iterate(getIteratorDirect(this), push, { that: result, IS_RECORD: true });
14
+ iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true });
14
15
  return result;
15
16
  }
16
17
  });
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var anObject = require('../internals/an-object');
3
4
  var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
4
5
  var WrapAsyncIterator = require('../internals/async-iterator-wrap');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
@@ -8,6 +9,6 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
8
9
  // https://github.com/tc39/proposal-async-iterator-helpers
9
10
  $({ target: 'Iterator', proto: true, real: true }, {
10
11
  toAsync: function toAsync() {
11
- return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(this))));
12
+ return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(anObject(this)))));
12
13
  }
13
14
  });
@@ -1,9 +1,15 @@
1
1
  var $ = require('../internals/export');
2
+ var fails = require('../internals/fails');
2
3
  var intersection = require('../internals/set-intersection');
3
4
  var setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');
4
5
 
6
+ var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
7
+ // eslint-disable-next-line es/no-array-from, es/no-set -- testing
8
+ return Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2]))) != '3,2';
9
+ });
10
+
5
11
  // `Set.prototype.intersection` method
6
12
  // https://github.com/tc39/proposal-set-methods
7
- $({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('intersection') }, {
13
+ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
8
14
  intersection: intersection
9
15
  });
@@ -0,0 +1,21 @@
1
+ var $ = require('../internals/export');
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var validateArgumentsLength = require('../internals/validate-arguments-length');
4
+ var toString = require('../internals/to-string');
5
+
6
+ var URL = getBuiltIn('URL');
7
+
8
+ // `URL.canParse` method
9
+ // https://url.spec.whatwg.org/#dom-url-canparse
10
+ $({ target: 'URL', stat: true }, {
11
+ canParse: function canParse(url) {
12
+ var length = validateArgumentsLength(arguments.length, 1);
13
+ var urlString = toString(url);
14
+ var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]);
15
+ try {
16
+ return !!new URL(urlString, base);
17
+ } catch (error) {
18
+ return false;
19
+ }
20
+ }
21
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.29.1",
3
+ "version": "3.30.0",
4
4
  "description": "Standard library",
5
5
  "keywords": [
6
6
  "ES3",
@@ -0,0 +1,2 @@
1
+ // https://github.com/tc39/proposal-decorator-metadata
2
+ require('../modules/esnext.symbol.metadata');
@@ -1,2 +1,3 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  // https://github.com/tc39/proposal-decorator-metadata
2
3
  require('../modules/esnext.symbol.metadata-key');
package/proposals/url.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // https://github.com/jasnell/proposal-url
2
2
  require('../modules/web.url');
3
+ require('../modules/web.url.can-parse');
3
4
  require('../modules/web.url.to-json');
4
5
  require('../modules/web.url-search-params');
5
6
  require('../modules/web.url-search-params.size');
package/stable/index.js CHANGED
@@ -251,6 +251,7 @@ require('../modules/web.self');
251
251
  require('../modules/web.structured-clone');
252
252
  require('../modules/web.timers');
253
253
  require('../modules/web.url');
254
+ require('../modules/web.url.can-parse');
254
255
  require('../modules/web.url.to-json');
255
256
  require('../modules/web.url-search-params');
256
257
  require('../modules/web.url-search-params.size');
@@ -0,0 +1,5 @@
1
+ require('../../modules/web.url');
2
+ require('../../modules/web.url.can-parse');
3
+ var path = require('../../internals/path');
4
+
5
+ module.exports = path.URL.canParse;
package/stage/1.js CHANGED
@@ -5,7 +5,6 @@ require('../proposals/array-last');
5
5
  require('../proposals/array-unique');
6
6
  require('../proposals/collection-methods');
7
7
  require('../proposals/collection-of-from');
8
- require('../proposals/iterator-range');
9
8
  require('../proposals/keys-composition');
10
9
  require('../proposals/math-extensions');
11
10
  require('../proposals/math-signbit');
package/stage/2.js CHANGED
@@ -3,13 +3,15 @@ var parent = require('./3');
3
3
  require('../proposals/array-is-template-object');
4
4
  require('../proposals/async-explicit-resource-management');
5
5
  require('../proposals/async-iterator-helpers');
6
- require('../proposals/decorator-metadata');
6
+ require('../proposals/decorator-metadata-v2');
7
+ require('../proposals/iterator-range');
7
8
  require('../proposals/map-upsert-stage-2');
8
9
  require('../proposals/string-dedent');
9
10
  require('../proposals/symbol-predicates');
10
11
  // TODO: Obsolete versions, remove from `core-js@4`
11
12
  require('../proposals/array-grouping');
12
13
  require('../proposals/decorators');
14
+ require('../proposals/decorator-metadata');
13
15
  require('../proposals/iterator-helpers');
14
16
  require('../proposals/set-methods');
15
17
  require('../proposals/using-statement');
package/web/index.js CHANGED
@@ -11,6 +11,7 @@ require('../modules/web.self');
11
11
  require('../modules/web.structured-clone');
12
12
  require('../modules/web.timers');
13
13
  require('../modules/web.url');
14
+ require('../modules/web.url.can-parse');
14
15
  require('../modules/web.url.to-json');
15
16
  require('../modules/web.url-search-params');
16
17
  require('../modules/web.url-search-params.size');
package/web/url.js CHANGED
@@ -1,4 +1,5 @@
1
1
  require('../modules/web.url');
2
+ require('../modules/web.url.can-parse');
2
3
  require('../modules/web.url.to-json');
3
4
  require('../modules/web.url-search-params');
4
5
  require('../modules/web.url-search-params.size');