core-js-pure 3.43.0 → 3.44.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 (45) hide show
  1. package/features/instance/clamp.js +2 -0
  2. package/features/iterator/sliding.js +2 -0
  3. package/features/number/virtual/clamp.js +2 -0
  4. package/full/index.js +1 -0
  5. package/full/instance/clamp.js +14 -0
  6. package/full/iterator/concat.js +3 -0
  7. package/full/iterator/from.js +2 -0
  8. package/full/iterator/index.js +1 -0
  9. package/full/iterator/range.js +18 -0
  10. package/full/iterator/sliding.js +8 -0
  11. package/full/iterator/zip-keyed.js +16 -2
  12. package/full/iterator/zip.js +15 -1
  13. package/full/number/virtual/clamp.js +5 -0
  14. package/internals/array-to-reversed.js +2 -2
  15. package/internals/array-with.js +2 -2
  16. package/internals/async-iterator-iteration.js +6 -1
  17. package/internals/async-iterator-map.js +1 -1
  18. package/internals/flatten-into-array.js +1 -1
  19. package/internals/get-iterator-direct.js +1 -1
  20. package/internals/install-error-cause.js +1 -1
  21. package/internals/iterator-create-proxy.js +1 -1
  22. package/internals/iterator-window.js +45 -0
  23. package/internals/math-clamp.js +1 -5
  24. package/internals/set-difference.js +1 -1
  25. package/internals/set-intersection.js +1 -1
  26. package/internals/set-is-disjoint-from.js +1 -1
  27. package/internals/set-is-subset-of.js +1 -1
  28. package/internals/set-is-superset-of.js +1 -1
  29. package/internals/set-method-get-keys-before-cloning-detection.js +1 -1
  30. package/internals/set-symmetric-difference.js +1 -1
  31. package/internals/set-union.js +1 -1
  32. package/internals/shared-store.js +2 -2
  33. package/internals/string-pad.js +0 -1
  34. package/modules/es.error.is-error.js +1 -1
  35. package/modules/es.symbol.constructor.js +1 -1
  36. package/modules/esnext.iterator.concat.js +3 -4
  37. package/modules/esnext.iterator.sliding.js +11 -0
  38. package/modules/esnext.iterator.windows.js +2 -37
  39. package/modules/esnext.iterator.zip-keyed.js +9 -30
  40. package/package.json +1 -1
  41. package/proposals/function-un-this.js +1 -1
  42. package/proposals/iterator-chunking.js +1 -0
  43. package/proposals/math-clamp-v2.js +1 -1
  44. package/proposals/math-clamp.js +1 -1
  45. package/proposals/string-cooked.js +1 -1
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+ module.exports = require('../../full/instance/clamp');
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+ module.exports = require('../../full/iterator/sliding');
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+ module.exports = require('../../../full/number/virtual/clamp');
package/full/index.js CHANGED
@@ -352,6 +352,7 @@ require('../modules/esnext.iterator.indexed');
352
352
  require('../modules/esnext.iterator.map');
353
353
  require('../modules/esnext.iterator.range');
354
354
  require('../modules/esnext.iterator.reduce');
355
+ require('../modules/esnext.iterator.sliding');
355
356
  require('../modules/esnext.iterator.some');
356
357
  require('../modules/esnext.iterator.take');
357
358
  require('../modules/esnext.iterator.to-array');
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
3
+ var numberMethod = require('../number/virtual/clamp');
4
+
5
+ var NumberPrototype = String.prototype;
6
+
7
+ module.exports = function (it) {
8
+ var ownProperty = it.clamp;
9
+ // eslint-disable-next-line es/no-nonstandard-string-prototype-properties -- safe
10
+ if (typeof it == 'number' || it === NumberPrototype || (isPrototypeOf(NumberPrototype, it) && ownProperty === NumberPrototype.clamp)) {
11
+ return numberMethod;
12
+ }
13
+ return ownProperty;
14
+ };
@@ -14,7 +14,10 @@ require('../../modules/es.iterator.reduce');
14
14
  require('../../modules/es.iterator.some');
15
15
  require('../../modules/es.iterator.take');
16
16
  require('../../modules/es.iterator.to-array');
17
+ require('../../modules/esnext.iterator.chunks');
17
18
  require('../../modules/esnext.iterator.concat');
19
+ require('../../modules/esnext.iterator.windows');
20
+ require('../../modules/web.dom-collections.iterator');
18
21
  var path = require('../../internals/path');
19
22
 
20
23
  module.exports = path.Iterator.concat;
@@ -1,4 +1,6 @@
1
1
  'use strict';
2
2
  var parent = require('../../actual/iterator/from');
3
+ require('../../modules/esnext.iterator.chunks');
4
+ require('../../modules/esnext.iterator.windows');
3
5
 
4
6
  module.exports = parent;
@@ -3,6 +3,7 @@ var parent = require('../../actual/iterator');
3
3
  require('../../modules/esnext.iterator.chunks');
4
4
  require('../../modules/esnext.iterator.concat');
5
5
  require('../../modules/esnext.iterator.range');
6
+ require('../../modules/esnext.iterator.sliding');
6
7
  require('../../modules/esnext.iterator.windows');
7
8
  require('../../modules/esnext.iterator.zip');
8
9
  require('../../modules/esnext.iterator.zip-keyed');
@@ -1,7 +1,25 @@
1
1
  'use strict';
2
+ require('../../modules/es.array.iterator');
2
3
  require('../../modules/es.object.to-string');
4
+ require('../../modules/es.string.iterator');
5
+ require('../../modules/es.iterator.constructor');
6
+ require('../../modules/es.iterator.drop');
7
+ require('../../modules/es.iterator.every');
8
+ require('../../modules/es.iterator.filter');
9
+ require('../../modules/es.iterator.find');
10
+ require('../../modules/es.iterator.flat-map');
11
+ require('../../modules/es.iterator.for-each');
12
+ require('../../modules/es.iterator.map');
13
+ require('../../modules/es.iterator.reduce');
14
+ require('../../modules/es.iterator.some');
15
+ require('../../modules/es.iterator.take');
16
+ require('../../modules/es.iterator.to-array');
17
+ require('../../modules/esnext.iterator.chunks');
18
+ // TODO: drop from core-js@4
3
19
  require('../../modules/esnext.iterator.constructor');
4
20
  require('../../modules/esnext.iterator.range');
21
+ require('../../modules/esnext.iterator.windows');
22
+ require('../../modules/web.dom-collections.iterator');
5
23
  var path = require('../../internals/path');
6
24
 
7
25
  module.exports = path.Iterator.range;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+ require('../../modules/es.object.to-string');
3
+ require('../../modules/es.iterator.constructor');
4
+ require('../../modules/esnext.iterator.sliding');
5
+
6
+ var entryUnbind = require('../../internals/entry-unbind');
7
+
8
+ module.exports = entryUnbind('Iterator', 'sliding');
@@ -1,11 +1,25 @@
1
1
  'use strict';
2
2
  require('../../modules/es.array.iterator');
3
- require('../../modules/es.object.to-string');
4
3
  require('../../modules/es.object.create');
4
+ require('../../modules/es.object.to-string');
5
+ require('../../modules/es.string.iterator');
5
6
  require('../../modules/es.iterator.constructor');
7
+ require('../../modules/es.iterator.drop');
8
+ require('../../modules/es.iterator.every');
9
+ require('../../modules/es.iterator.filter');
10
+ require('../../modules/es.iterator.find');
11
+ require('../../modules/es.iterator.flat-map');
12
+ require('../../modules/es.iterator.for-each');
13
+ require('../../modules/es.iterator.map');
14
+ require('../../modules/es.iterator.reduce');
15
+ require('../../modules/es.iterator.some');
16
+ require('../../modules/es.iterator.take');
17
+ require('../../modules/es.iterator.to-array');
6
18
  require('../../modules/es.reflect.own-keys');
7
- require('../../modules/web.dom-collections.iterator');
19
+ require('../../modules/esnext.iterator.chunks');
20
+ require('../../modules/esnext.iterator.windows');
8
21
  require('../../modules/esnext.iterator.zip-keyed');
22
+ require('../../modules/web.dom-collections.iterator');
9
23
 
10
24
  var entryUnbind = require('../../internals/entry-unbind');
11
25
 
@@ -1,9 +1,23 @@
1
1
  'use strict';
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.object.to-string');
4
+ require('../../modules/es.string.iterator');
4
5
  require('../../modules/es.iterator.constructor');
5
- require('../../modules/web.dom-collections.iterator');
6
+ require('../../modules/es.iterator.drop');
7
+ require('../../modules/es.iterator.every');
8
+ require('../../modules/es.iterator.filter');
9
+ require('../../modules/es.iterator.find');
10
+ require('../../modules/es.iterator.flat-map');
11
+ require('../../modules/es.iterator.for-each');
12
+ require('../../modules/es.iterator.map');
13
+ require('../../modules/es.iterator.reduce');
14
+ require('../../modules/es.iterator.some');
15
+ require('../../modules/es.iterator.take');
16
+ require('../../modules/es.iterator.to-array');
17
+ require('../../modules/esnext.iterator.chunks');
18
+ require('../../modules/esnext.iterator.windows');
6
19
  require('../../modules/esnext.iterator.zip');
20
+ require('../../modules/web.dom-collections.iterator');
7
21
 
8
22
  var entryUnbind = require('../../internals/entry-unbind');
9
23
 
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+ require('../../../modules/esnext.number.clamp');
3
+ var getBuiltInPrototypeMethod = require('../../../internals/get-built-in-prototype-method');
4
+
5
+ module.exports = getBuiltInPrototypeMethod('Number', 'clamp');
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var lengthOfArrayLike = require('../internals/length-of-array-like');
3
3
 
4
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
5
- // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
4
+ // https://tc39.es/ecma262/#sec-array.prototype.toreversed
5
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed
6
6
  module.exports = function (O, C) {
7
7
  var len = lengthOfArrayLike(O);
8
8
  var A = new C(len);
@@ -4,8 +4,8 @@ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
4
 
5
5
  var $RangeError = RangeError;
6
6
 
7
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
8
- // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
7
+ // https://tc39.es/ecma262/#sec-array.prototype.with
8
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.with
9
9
  module.exports = function (O, C, index, value) {
10
10
  var len = lengthOfArrayLike(O);
11
11
  var relativeIndex = toIntegerOrInfinity(index);
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- // https://github.com/tc39/proposal-iterator-helpers
2
+ // https://github.com/tc39/proposal-async-iterator-helpers
3
3
  // https://github.com/tc39/proposal-array-from-async
4
4
  var call = require('../internals/function-call');
5
5
  var aCallable = require('../internals/a-callable');
@@ -82,9 +82,14 @@ var createMethod = function (TYPE) {
82
82
  };
83
83
 
84
84
  module.exports = {
85
+ // `AsyncIterator.prototype.toArray` / `Array.fromAsync` methods
85
86
  toArray: createMethod(0),
87
+ // `AsyncIterator.prototype.forEach` method
86
88
  forEach: createMethod(1),
89
+ // `AsyncIterator.prototype.every` method
87
90
  every: createMethod(2),
91
+ // `AsyncIterator.prototype.some` method
88
92
  some: createMethod(3),
93
+ // `AsyncIterator.prototype.find` method
89
94
  find: createMethod(4)
90
95
  };
@@ -47,7 +47,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
47
47
  });
48
48
 
49
49
  // `AsyncIterator.prototype.map` method
50
- // https://github.com/tc39/proposal-iterator-helpers
50
+ // https://github.com/tc39/proposal-async-iterator-helpers
51
51
  module.exports = function map(mapper) {
52
52
  anObject(this);
53
53
  aCallable(mapper);
@@ -5,7 +5,7 @@ var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-intege
5
5
  var bind = require('../internals/function-bind-context');
6
6
 
7
7
  // `FlattenIntoArray` abstract operation
8
- // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
8
+ // https://tc39.es/ecma262/#sec-flattenintoarray
9
9
  var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {
10
10
  var targetIndex = start;
11
11
  var sourceIndex = 0;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  // `GetIteratorDirect(obj)` abstract operation
3
- // https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect
3
+ // https://tc39.es/ecma262/#sec-getiteratordirect
4
4
  module.exports = function (obj) {
5
5
  return {
6
6
  iterator: obj,
@@ -3,7 +3,7 @@ var isObject = require('../internals/is-object');
3
3
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
4
4
 
5
5
  // `InstallErrorCause` abstract operation
6
- // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
6
+ // https://tc39.es/ecma262/#sec-installerrorcause
7
7
  module.exports = function (O, options) {
8
8
  if (isObject(options) && 'cause' in options) {
9
9
  createNonEnumerableProperty(O, 'cause', options.cause);
@@ -9,7 +9,7 @@ var getMethod = require('../internals/get-method');
9
9
  var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
10
10
  var createIterResultObject = require('../internals/create-iter-result-object');
11
11
  var iteratorClose = require('../internals/iterator-close');
12
- var iteratorCloseAll = require('./iterator-close-all');
12
+ var iteratorCloseAll = require('../internals/iterator-close-all');
13
13
 
14
14
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
15
15
  var ITERATOR_HELPER = 'IteratorHelper';
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+ var anObject = require('../internals/an-object');
3
+ var call = require('../internals/function-call');
4
+ var createIteratorProxy = require('../internals/iterator-create-proxy');
5
+ var createIterResultObject = require('../internals/create-iter-result-object');
6
+ var getIteratorDirect = require('../internals/get-iterator-direct');
7
+ var iteratorClose = require('../internals/iterator-close');
8
+ var uncurryThis = require('../internals/function-uncurry-this');
9
+
10
+ var $RangeError = RangeError;
11
+ var push = uncurryThis([].push);
12
+ var slice = uncurryThis([].slice);
13
+
14
+ var IteratorProxy = createIteratorProxy(function () {
15
+ var iterator = this.iterator;
16
+ var next = this.next;
17
+ var buffer = this.buffer;
18
+ var windowSize = this.windowSize;
19
+ var sliding = this.sliding;
20
+ var result, done;
21
+ while (true) {
22
+ result = anObject(call(next, iterator));
23
+ done = this.done = !!result.done;
24
+ if (sliding && done && buffer.length && buffer.length < windowSize) return createIterResultObject(buffer, false);
25
+ if (done) return createIterResultObject(undefined, true);
26
+
27
+ if (buffer.length === windowSize) this.buffer = buffer = slice(buffer, 1);
28
+ push(buffer, result.value);
29
+ if (buffer.length === windowSize) return createIterResultObject(buffer, false);
30
+ }
31
+ }, false, true);
32
+
33
+ // `Iterator.prototype.sliding` and `Iterator.prototype.windows` methods
34
+ // https://github.com/tc39/proposal-iterator-chunking
35
+ module.exports = function (O, windowSize, sliding) {
36
+ anObject(O);
37
+ if (typeof windowSize != 'number' || !windowSize || windowSize >>> 0 !== windowSize) {
38
+ return iteratorClose(O, 'throw', new $RangeError('windowSize must be integer in [1, 2^32-1]'));
39
+ }
40
+ return new IteratorProxy(getIteratorDirect(O), {
41
+ windowSize: windowSize,
42
+ buffer: [],
43
+ sliding: sliding
44
+ });
45
+ };
@@ -1,13 +1,9 @@
1
1
  'use strict';
2
2
  var aNumber = require('../internals/a-number');
3
- var notANaN = require('../internals/not-a-nan');
4
3
 
5
4
  var $min = Math.min;
6
5
  var $max = Math.max;
7
6
 
8
7
  module.exports = function clamp(value, min, max) {
9
- aNumber(value);
10
- notANaN(aNumber(min));
11
- notANaN(aNumber(max));
12
- return $min(max, $max(min, value));
8
+ return $min($max(aNumber(value), aNumber(min)), aNumber(max));
13
9
  };
@@ -11,7 +11,7 @@ var has = SetHelpers.has;
11
11
  var remove = SetHelpers.remove;
12
12
 
13
13
  // `Set.prototype.difference` method
14
- // https://github.com/tc39/proposal-set-methods
14
+ // https://tc39.es/ecma262/#sec-set.prototype.difference
15
15
  module.exports = function difference(other) {
16
16
  var O = aSet(this);
17
17
  var otherRec = getSetRecord(other);
@@ -11,7 +11,7 @@ var add = SetHelpers.add;
11
11
  var has = SetHelpers.has;
12
12
 
13
13
  // `Set.prototype.intersection` method
14
- // https://github.com/tc39/proposal-set-methods
14
+ // https://tc39.es/ecma262/#sec-set.prototype.intersection
15
15
  module.exports = function intersection(other) {
16
16
  var O = aSet(this);
17
17
  var otherRec = getSetRecord(other);
@@ -8,7 +8,7 @@ var iterateSimple = require('../internals/iterate-simple');
8
8
  var iteratorClose = require('../internals/iterator-close');
9
9
 
10
10
  // `Set.prototype.isDisjointFrom` method
11
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
11
+ // https://tc39.es/ecma262/#sec-set.prototype.isdisjointfrom
12
12
  module.exports = function isDisjointFrom(other) {
13
13
  var O = aSet(this);
14
14
  var otherRec = getSetRecord(other);
@@ -5,7 +5,7 @@ var iterate = require('../internals/set-iterate');
5
5
  var getSetRecord = require('../internals/get-set-record');
6
6
 
7
7
  // `Set.prototype.isSubsetOf` method
8
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf
8
+ // https://tc39.es/ecma262/#sec-set.prototype.issubsetof
9
9
  module.exports = function isSubsetOf(other) {
10
10
  var O = aSet(this);
11
11
  var otherRec = getSetRecord(other);
@@ -7,7 +7,7 @@ var iterateSimple = require('../internals/iterate-simple');
7
7
  var iteratorClose = require('../internals/iterator-close');
8
8
 
9
9
  // `Set.prototype.isSupersetOf` method
10
- // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
10
+ // https://tc39.es/ecma262/#sec-set.prototype.issupersetof
11
11
  module.exports = function isSupersetOf(other) {
12
12
  var O = aSet(this);
13
13
  var otherRec = getSetRecord(other);
@@ -23,7 +23,7 @@ module.exports = function (METHOD_NAME) {
23
23
  };
24
24
  var result = baseSet[METHOD_NAME](setLike);
25
25
 
26
- return result.size !== 1 || result.values().next().value !== 4;
26
+ return result.size === 1 && result.values().next().value === 4;
27
27
  } catch (error) {
28
28
  return false;
29
29
  }
@@ -10,7 +10,7 @@ var has = SetHelpers.has;
10
10
  var remove = SetHelpers.remove;
11
11
 
12
12
  // `Set.prototype.symmetricDifference` method
13
- // https://github.com/tc39/proposal-set-methods
13
+ // https://tc39.es/ecma262/#sec-set.prototype.symmetricdifference
14
14
  module.exports = function symmetricDifference(other) {
15
15
  var O = aSet(this);
16
16
  var keysIter = getSetRecord(other).getIterator();
@@ -6,7 +6,7 @@ var getSetRecord = require('../internals/get-set-record');
6
6
  var iterateSimple = require('../internals/iterate-simple');
7
7
 
8
8
  // `Set.prototype.union` method
9
- // https://github.com/tc39/proposal-set-methods
9
+ // https://tc39.es/ecma262/#sec-set.prototype.union
10
10
  module.exports = function union(other) {
11
11
  var O = aSet(this);
12
12
  var keysIter = getSetRecord(other).getIterator();
@@ -7,9 +7,9 @@ var SHARED = '__core-js_shared__';
7
7
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
8
8
 
9
9
  (store.versions || (store.versions = [])).push({
10
- version: '3.43.0',
10
+ version: '3.44.0',
11
11
  mode: IS_PURE ? 'pure' : 'global',
12
12
  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
13
- license: 'https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE',
13
+ license: 'https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE',
14
14
  source: 'https://github.com/zloirock/core-js'
15
15
  });
@@ -1,5 +1,4 @@
1
1
  'use strict';
2
- // https://github.com/tc39/proposal-string-pad-start-end
3
2
  var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var toLength = require('../internals/to-length');
5
4
  var toString = require('../internals/to-string');
@@ -27,7 +27,7 @@ var FORCED = !$isError || !PROTOTYPE_SETTING_AVAILABLE || fails(function () {
27
27
  });
28
28
 
29
29
  // `Error.isError` method
30
- // https://github.com/tc39/proposal-is-error
30
+ // https://tc39.es/ecma262/#sec-error.iserror
31
31
  $({ target: 'Error', stat: true, sham: true, forced: FORCED }, {
32
32
  isError: function isError(arg) {
33
33
  if (!isObject(arg)) return false;
@@ -205,7 +205,7 @@ if (!NATIVE_SYMBOL) {
205
205
  };
206
206
 
207
207
  if (DESCRIPTORS) {
208
- // https://github.com/tc39/proposal-Symbol-description
208
+ // https://tc39.es/ecma262/#sec-symbol.prototype.description
209
209
  defineBuiltInAccessor(SymbolPrototype, 'description', {
210
210
  configurable: true,
211
211
  get: function description() {
@@ -5,7 +5,6 @@ var aCallable = require('../internals/a-callable');
5
5
  var anObject = require('../internals/an-object');
6
6
  var getIteratorMethod = require('../internals/get-iterator-method');
7
7
  var createIteratorProxy = require('../internals/iterator-create-proxy');
8
- var createIterResultObject = require('../internals/create-iter-result-object');
9
8
 
10
9
  var $Array = Array;
11
10
 
@@ -17,7 +16,7 @@ var IteratorProxy = createIteratorProxy(function () {
17
16
  var iterables = this.iterables;
18
17
  if (iterableIndex >= iterables.length) {
19
18
  this.done = true;
20
- return createIterResultObject(undefined, true);
19
+ return;
21
20
  }
22
21
  var entry = iterables[iterableIndex];
23
22
  this.iterables[iterableIndex] = null;
@@ -30,9 +29,9 @@ var IteratorProxy = createIteratorProxy(function () {
30
29
  this.next = null;
31
30
  continue;
32
31
  }
33
- return result;
32
+ return result.value;
34
33
  }
35
- }, false, true);
34
+ });
36
35
 
37
36
  // `Iterator.concat` method
38
37
  // https://github.com/tc39/proposal-iterator-sequencing
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var iteratorWindow = require('../internals/iterator-window');
4
+
5
+ // `Iterator.prototype.sliding` method
6
+ // https://github.com/tc39/proposal-iterator-chunking
7
+ $({ target: 'Iterator', proto: true, real: true, forced: true }, {
8
+ sliding: function sliding(windowSize) {
9
+ return iteratorWindow(this, windowSize, true);
10
+ }
11
+ });
@@ -1,46 +1,11 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var anObject = require('../internals/an-object');
4
- var call = require('../internals/function-call');
5
- var createIteratorProxy = require('../internals/iterator-create-proxy');
6
- var getIteratorDirect = require('../internals/get-iterator-direct');
7
- var iteratorClose = require('../internals/iterator-close');
8
- var uncurryThis = require('../internals/function-uncurry-this');
9
-
10
- var $RangeError = RangeError;
11
- var push = uncurryThis([].push);
12
- var slice = uncurryThis([].slice);
13
-
14
- var IteratorProxy = createIteratorProxy(function () {
15
- var iterator = this.iterator;
16
- var next = this.next;
17
- var buffer = this.buffer;
18
- var windowSize = this.windowSize;
19
- var result, done;
20
- while (true) {
21
- result = anObject(call(next, iterator));
22
- done = this.done = !!result.done;
23
- if (done) return;
24
-
25
- push(buffer, result.value);
26
- if (buffer.length === windowSize) {
27
- this.buffer = slice(buffer, 1);
28
- return buffer;
29
- }
30
- }
31
- });
3
+ var iteratorWindow = require('../internals/iterator-window');
32
4
 
33
5
  // `Iterator.prototype.windows` method
34
6
  // https://github.com/tc39/proposal-iterator-chunking
35
7
  $({ target: 'Iterator', proto: true, real: true, forced: true }, {
36
8
  windows: function windows(windowSize) {
37
- var O = anObject(this);
38
- if (typeof windowSize != 'number' || !windowSize || windowSize >>> 0 !== windowSize) {
39
- return iteratorClose(O, 'throw', new $RangeError('windowSize must be integer in [1, 2^32-1]'));
40
- }
41
- return new IteratorProxy(getIteratorDirect(O), {
42
- windowSize: windowSize,
43
- buffer: []
44
- });
9
+ return iteratorWindow(this, windowSize, false);
45
10
  }
46
11
  });
@@ -5,10 +5,9 @@ var anObjectOrUndefined = require('../internals/an-object-or-undefined');
5
5
  var call = require('../internals/function-call');
6
6
  var uncurryThis = require('../internals/function-uncurry-this');
7
7
  var getBuiltIn = require('../internals/get-built-in');
8
- var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
8
+ var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
9
9
  var getIteratorFlattenable = require('../internals/get-iterator-flattenable');
10
10
  var getModeOption = require('../internals/get-mode-option');
11
- var isDataDescriptor = require('../internals/is-data-descriptor');
12
11
  var iteratorCloseAll = require('../internals/iterator-close-all');
13
12
  var iteratorZip = require('../internals/iterator-zip');
14
13
 
@@ -30,38 +29,18 @@ $({ target: 'Iterator', stat: true, forced: true }, {
30
29
  var padding = [];
31
30
  var allKeys = ownKeys(iterables);
32
31
  var keys = [];
33
- var desc, i, iter, key, value;
34
- for (i = 0; i < allKeys.length; i++) {
32
+ var propertyIsEnumerable = propertyIsEnumerableModule.f;
33
+ var i, key, value;
34
+ for (i = 0; i < allKeys.length; i++) try {
35
35
  key = allKeys[i];
36
- try {
37
- desc = getOwnPropertyDescriptor(iterables, key);
38
- } catch (error) {
39
- return iteratorCloseAll(iters, THROW, error);
40
- }
41
- if (!desc || !desc.enumerable) continue;
42
- value = undefined;
43
- if (isDataDescriptor(desc)) {
44
- value = desc.value;
45
- } else {
46
- var getter = desc.get;
47
- if (getter !== undefined) {
48
- try {
49
- value = call(getter, iterables);
50
- } catch (error) {
51
- return iteratorCloseAll(iters, THROW, error);
52
- }
53
- }
54
- }
55
-
36
+ if (!call(propertyIsEnumerable, iterables, key)) continue;
37
+ value = iterables[key];
56
38
  if (value !== undefined) {
57
39
  push(keys, key);
58
- try {
59
- iter = getIteratorFlattenable(value, true);
60
- } catch (error) {
61
- return iteratorCloseAll(iters, THROW, error);
62
- }
63
- push(iters, iter);
40
+ push(iters, getIteratorFlattenable(value, true));
64
41
  }
42
+ } catch (error) {
43
+ return iteratorCloseAll(iters, THROW, error);
65
44
  }
66
45
 
67
46
  var iterCount = iters.length;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js-pure",
3
- "version": "3.43.0",
3
+ "version": "3.44.0",
4
4
  "type": "commonjs",
5
5
  "description": "Standard library",
6
6
  "keywords": [
@@ -1,4 +1,4 @@
1
1
  'use strict';
2
2
  // TODO: Remove from `core-js@4`
3
- // https://github.com/js-choi/proposal-function-un-this
3
+ // https://github.com/js-choi/proposal-function-demethodize
4
4
  require('../modules/esnext.function.un-this');
@@ -2,3 +2,4 @@
2
2
  // https://github.com/tc39/proposal-iterator-chunking
3
3
  require('../modules/esnext.iterator.chunks');
4
4
  require('../modules/esnext.iterator.windows');
5
+ require('../modules/esnext.iterator.sliding');
@@ -1,3 +1,3 @@
1
1
  'use strict';
2
- // https://github.com/CanadaHonk/proposal-math-clamp
2
+ // https://github.com/tc39/proposal-math-clamp
3
3
  require('../modules/esnext.number.clamp');
@@ -1,3 +1,3 @@
1
1
  'use strict';
2
- // https://github.com/CanadaHonk/proposal-math-clamp
2
+ // https://github.com/tc39/proposal-math-clamp
3
3
  require('../modules/esnext.math.clamp');
@@ -1,3 +1,3 @@
1
1
  'use strict';
2
- // https://github.com/bathos/proposal-string-cooked
2
+ // https://github.com/tc39/proposal-string-cooked
3
3
  require('../modules/esnext.string.cooked');