core-js-pure 3.46.0 → 3.48.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 (90) hide show
  1. package/LICENSE +2 -1
  2. package/actual/iterator/concat.js +2 -18
  3. package/actual/iterator/index.js +3 -0
  4. package/actual/iterator/zip-keyed.js +24 -0
  5. package/actual/iterator/zip.js +22 -0
  6. package/actual/json/index.js +0 -3
  7. package/actual/json/is-raw-json.js +2 -2
  8. package/actual/json/parse.js +2 -3
  9. package/actual/json/raw-json.js +3 -4
  10. package/actual/map/get-or-insert-computed.js +2 -3
  11. package/actual/map/get-or-insert.js +2 -3
  12. package/actual/map/group-by.js +2 -0
  13. package/actual/weak-map/get-or-insert-computed.js +2 -3
  14. package/actual/weak-map/get-or-insert.js +2 -3
  15. package/es/index.js +8 -0
  16. package/es/iterator/concat.js +21 -0
  17. package/es/iterator/index.js +1 -0
  18. package/es/json/index.js +6 -0
  19. package/es/json/is-raw-json.js +5 -0
  20. package/es/json/parse.js +6 -0
  21. package/es/json/raw-json.js +7 -0
  22. package/es/map/get-or-insert-computed.js +6 -0
  23. package/es/map/get-or-insert.js +6 -0
  24. package/es/map/group-by.js +2 -0
  25. package/es/map/index.js +2 -0
  26. package/es/weak-map/get-or-insert-computed.js +6 -0
  27. package/es/weak-map/get-or-insert.js +6 -0
  28. package/es/weak-map/index.js +2 -0
  29. package/full/index.js +8 -0
  30. package/full/iterator/index.js +1 -3
  31. package/full/iterator/zip-keyed.js +2 -22
  32. package/full/iterator/zip.js +2 -20
  33. package/internals/array-from.js +2 -1
  34. package/internals/array-iteration.js +11 -13
  35. package/internals/array-unique-by.js +3 -3
  36. package/internals/async-iterator-iteration.js +5 -3
  37. package/internals/check-correctness-of-iteration.js +2 -0
  38. package/internals/flatten-into-array.js +2 -1
  39. package/internals/internal-metadata.js +1 -0
  40. package/internals/native-raw-json.js +2 -2
  41. package/internals/shared-store.js +3 -3
  42. package/internals/to-string-tag-support.js +1 -1
  43. package/modules/es.array.concat.js +2 -1
  44. package/modules/es.array.flat-map.js +1 -1
  45. package/modules/es.array.flat.js +1 -1
  46. package/modules/es.array.of.js +2 -1
  47. package/modules/es.array.slice.js +2 -1
  48. package/modules/es.array.splice.js +1 -1
  49. package/modules/es.array.to-reversed.js +8 -2
  50. package/modules/es.array.to-spliced.js +4 -3
  51. package/modules/es.array.with.js +13 -2
  52. package/modules/es.error.cause.js +2 -0
  53. package/modules/es.iterator.concat.js +56 -0
  54. package/modules/es.iterator.flat-map.js +15 -1
  55. package/modules/es.iterator.to-array.js +5 -3
  56. package/modules/es.json.is-raw-json.js +11 -0
  57. package/modules/es.json.parse.js +251 -0
  58. package/modules/es.json.raw-json.js +39 -0
  59. package/modules/es.json.stringify.js +78 -19
  60. package/modules/es.map.get-or-insert-computed.js +25 -0
  61. package/modules/es.map.get-or-insert.js +19 -0
  62. package/modules/es.weak-map.get-or-insert-computed.js +36 -0
  63. package/modules/es.weak-map.get-or-insert.js +19 -0
  64. package/modules/esnext.iterator.concat.js +2 -55
  65. package/modules/esnext.iterator.zip-keyed.js +1 -1
  66. package/modules/esnext.iterator.zip.js +1 -1
  67. package/modules/esnext.json.is-raw-json.js +2 -10
  68. package/modules/esnext.json.parse.js +2 -250
  69. package/modules/esnext.json.raw-json.js +2 -85
  70. package/modules/esnext.map.get-or-insert-computed.js +2 -24
  71. package/modules/esnext.map.get-or-insert.js +2 -18
  72. package/modules/esnext.weak-map.get-or-insert-computed.js +2 -35
  73. package/modules/esnext.weak-map.get-or-insert.js +2 -18
  74. package/modules/web.url-search-params.constructor.js +1 -1
  75. package/package.json +1 -1
  76. package/stable/index.js +8 -0
  77. package/stable/iterator/concat.js +5 -0
  78. package/stable/json/is-raw-json.js +4 -0
  79. package/stable/json/parse.js +4 -0
  80. package/stable/json/raw-json.js +4 -0
  81. package/stable/map/get-or-insert-computed.js +4 -0
  82. package/stable/map/get-or-insert.js +4 -0
  83. package/stable/weak-map/get-or-insert-computed.js +4 -0
  84. package/stable/weak-map/get-or-insert.js +4 -0
  85. package/stage/2.7.js +0 -1
  86. package/stage/3.js +1 -3
  87. package/stage/4.js +3 -0
  88. package/internals/array-to-reversed.js +0 -12
  89. package/internals/array-with.js +0 -18
  90. package/internals/get-json-replacer-function.js +0 -30
package/LICENSE CHANGED
@@ -1,4 +1,5 @@
1
- Copyright (c) 2014-2025 Denis Pushkarev, 2025 CoreJS Company
1
+ Copyright (c) 2013–2025 Denis Pushkarev (zloirock.ru)
2
+ Copyright (c) 2025–2026 CoreJS Company (core-js.io)
2
3
 
3
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
5
  of this software and associated documentation files (the "Software"), to deal
@@ -1,21 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.array.iterator');
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');
2
+ var parent = require('../../stable/iterator/concat');
17
3
  require('../../modules/esnext.iterator.concat');
18
- require('../../modules/web.dom-collections.iterator');
19
- var path = require('../../internals/path');
20
4
 
21
- module.exports = path.Iterator.concat;
5
+ module.exports = parent;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var parent = require('../../stable/iterator');
3
+ require('../../modules/es.object.create');
3
4
  require('../../modules/es.promise');
4
5
  require('../../modules/esnext.iterator.constructor');
5
6
  require('../../modules/esnext.iterator.concat');
@@ -17,5 +18,7 @@ require('../../modules/esnext.iterator.some');
17
18
  require('../../modules/esnext.iterator.take');
18
19
  require('../../modules/esnext.iterator.to-array');
19
20
  require('../../modules/esnext.iterator.to-async');
21
+ require('../../modules/esnext.iterator.zip');
22
+ require('../../modules/esnext.iterator.zip-keyed');
20
23
 
21
24
  module.exports = parent;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+ require('../../modules/es.array.iterator');
3
+ require('../../modules/es.object.create');
4
+ require('../../modules/es.object.to-string');
5
+ require('../../modules/es.string.iterator');
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');
18
+ require('../../modules/es.reflect.own-keys');
19
+ require('../../modules/esnext.iterator.zip-keyed');
20
+ require('../../modules/web.dom-collections.iterator');
21
+
22
+ var entryUnbind = require('../../internals/entry-unbind');
23
+
24
+ module.exports = entryUnbind('Iterator', 'zipKeyed');
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+ require('../../modules/es.array.iterator');
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.zip');
18
+ require('../../modules/web.dom-collections.iterator');
19
+
20
+ var entryUnbind = require('../../internals/entry-unbind');
21
+
22
+ module.exports = entryUnbind('Iterator', 'zip');
@@ -1,8 +1,5 @@
1
1
  'use strict';
2
2
  var parent = require('../../stable/json');
3
- require('../../modules/es.object.create');
4
- require('../../modules/es.object.freeze');
5
- require('../../modules/es.object.keys');
6
3
  require('../../modules/esnext.json.is-raw-json');
7
4
  require('../../modules/esnext.json.parse');
8
5
  require('../../modules/esnext.json.raw-json');
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
+ var parent = require('../../stable/json/is-raw-json');
2
3
  require('../../modules/esnext.json.is-raw-json');
3
- var path = require('../../internals/path');
4
4
 
5
- module.exports = path.JSON.isRawJSON;
5
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.object.keys');
2
+ var parent = require('../../stable/json/parse');
3
3
  require('../../modules/esnext.json.parse');
4
- var path = require('../../internals/path');
5
4
 
6
- module.exports = path.JSON.parse;
5
+ module.exports = parent;
@@ -1,7 +1,6 @@
1
1
  'use strict';
2
- require('../../modules/es.object.create');
3
- require('../../modules/es.object.freeze');
2
+ var parent = require('../../stable/json/raw-json');
3
+ require('../../modules/es.json.stringify');
4
4
  require('../../modules/esnext.json.raw-json');
5
- var path = require('../../internals/path');
6
5
 
7
- module.exports = path.JSON.rawJSON;
6
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.map');
2
+ var parent = require('../../stable/map/get-or-insert-computed');
3
3
  require('../../modules/esnext.map.get-or-insert-computed');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('Map', 'getOrInsertComputed');
5
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.map');
2
+ var parent = require('../../stable/map/get-or-insert');
3
3
  require('../../modules/esnext.map.get-or-insert');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('Map', 'getOrInsert');
5
+ module.exports = parent;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
  var parent = require('../../stable/map/group-by');
3
3
  require('../../modules/esnext.map.group-by');
4
+ require('../../modules/esnext.map.get-or-insert');
5
+ require('../../modules/esnext.map.get-or-insert-computed');
4
6
 
5
7
  module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.weak-map');
2
+ var parent = require('../../stable/weak-map/get-or-insert-computed');
3
3
  require('../../modules/esnext.weak-map.get-or-insert-computed');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('WeakMap', 'getOrInsertComputed');
5
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.weak-map');
2
+ var parent = require('../../stable/weak-map/get-or-insert');
3
3
  require('../../modules/esnext.weak-map.get-or-insert');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('WeakMap', 'getOrInsert');
5
+ module.exports = parent;
package/es/index.js CHANGED
@@ -84,6 +84,7 @@ require('../modules/es.function.has-instance');
84
84
  require('../modules/es.function.name');
85
85
  require('../modules/es.global-this');
86
86
  require('../modules/es.iterator.constructor');
87
+ require('../modules/es.iterator.concat');
87
88
  require('../modules/es.iterator.dispose');
88
89
  require('../modules/es.iterator.drop');
89
90
  require('../modules/es.iterator.every');
@@ -97,10 +98,15 @@ require('../modules/es.iterator.reduce');
97
98
  require('../modules/es.iterator.some');
98
99
  require('../modules/es.iterator.take');
99
100
  require('../modules/es.iterator.to-array');
101
+ require('../modules/es.json.is-raw-json');
102
+ require('../modules/es.json.parse');
103
+ require('../modules/es.json.raw-json');
100
104
  require('../modules/es.json.stringify');
101
105
  require('../modules/es.json.to-string-tag');
102
106
  require('../modules/es.map');
103
107
  require('../modules/es.map.group-by');
108
+ require('../modules/es.map.get-or-insert');
109
+ require('../modules/es.map.get-or-insert-computed');
104
110
  require('../modules/es.math.acosh');
105
111
  require('../modules/es.math.asinh');
106
112
  require('../modules/es.math.atanh');
@@ -287,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
287
293
  require('../modules/es.uint8-array.to-hex');
288
294
  require('../modules/es.unescape');
289
295
  require('../modules/es.weak-map');
296
+ require('../modules/es.weak-map.get-or-insert');
297
+ require('../modules/es.weak-map.get-or-insert-computed');
290
298
  require('../modules/es.weak-set');
291
299
 
292
300
  module.exports = require('../internals/path');
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+ require('../../modules/es.array.iterator');
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/es.iterator.concat');
18
+ require('../../modules/web.dom-collections.iterator');
19
+ var path = require('../../internals/path');
20
+
21
+ module.exports = path.Iterator.concat;
@@ -3,6 +3,7 @@ require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.object.to-string');
4
4
  require('../../modules/es.string.iterator');
5
5
  require('../../modules/es.iterator.constructor');
6
+ require('../../modules/es.iterator.concat');
6
7
  require('../../modules/es.iterator.dispose');
7
8
  require('../../modules/es.iterator.drop');
8
9
  require('../../modules/es.iterator.every');
package/es/json/index.js CHANGED
@@ -1,5 +1,11 @@
1
1
  'use strict';
2
+ require('../../modules/es.object.create');
3
+ require('../../modules/es.object.freeze');
4
+ require('../../modules/es.object.keys');
2
5
  require('../../modules/es.date.to-json');
6
+ require('../../modules/es.json.is-raw-json');
7
+ require('../../modules/es.json.parse');
8
+ require('../../modules/es.json.raw-json');
3
9
  require('../../modules/es.json.stringify');
4
10
  require('../../modules/es.json.to-string-tag');
5
11
  var path = require('../../internals/path');
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+ require('../../modules/es.json.is-raw-json');
3
+ var path = require('../../internals/path');
4
+
5
+ module.exports = path.JSON.isRawJSON;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.object.keys');
3
+ require('../../modules/es.json.parse');
4
+ var path = require('../../internals/path');
5
+
6
+ module.exports = path.JSON.parse;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+ require('../../modules/es.object.create');
3
+ require('../../modules/es.object.freeze');
4
+ require('../../modules/es.json.raw-json');
5
+ var path = require('../../internals/path');
6
+
7
+ module.exports = path.JSON.rawJSON;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.map');
3
+ require('../../modules/es.map.get-or-insert-computed');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('Map', 'getOrInsertComputed');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.map');
3
+ require('../../modules/es.map.get-or-insert');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('Map', 'getOrInsert');
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.object.to-string');
3
3
  require('../../modules/es.map');
4
4
  require('../../modules/es.map.group-by');
5
+ require('../../modules/es.map.get-or-insert');
6
+ require('../../modules/es.map.get-or-insert-computed');
5
7
  var path = require('../../internals/path');
6
8
 
7
9
  module.exports = path.Map.groupBy;
package/es/map/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.map');
4
4
  require('../../modules/es.map.group-by');
5
+ require('../../modules/es.map.get-or-insert');
6
+ require('../../modules/es.map.get-or-insert-computed');
5
7
  require('../../modules/es.object.to-string');
6
8
  require('../../modules/es.string.iterator');
7
9
  var path = require('../../internals/path');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.weak-map');
3
+ require('../../modules/es.weak-map.get-or-insert-computed');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('WeakMap', 'getOrInsertComputed');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.weak-map');
3
+ require('../../modules/es.weak-map.get-or-insert');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('WeakMap', 'getOrInsert');
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.object.to-string');
4
4
  require('../../modules/es.weak-map');
5
+ require('../../modules/es.weak-map.get-or-insert');
6
+ require('../../modules/es.weak-map.get-or-insert-computed');
5
7
  var path = require('../../internals/path');
6
8
 
7
9
  module.exports = path.WeakMap;
package/full/index.js CHANGED
@@ -84,6 +84,7 @@ require('../modules/es.function.has-instance');
84
84
  require('../modules/es.function.name');
85
85
  require('../modules/es.global-this');
86
86
  require('../modules/es.iterator.constructor');
87
+ require('../modules/es.iterator.concat');
87
88
  require('../modules/es.iterator.dispose');
88
89
  require('../modules/es.iterator.drop');
89
90
  require('../modules/es.iterator.every');
@@ -97,10 +98,15 @@ require('../modules/es.iterator.reduce');
97
98
  require('../modules/es.iterator.some');
98
99
  require('../modules/es.iterator.take');
99
100
  require('../modules/es.iterator.to-array');
101
+ require('../modules/es.json.is-raw-json');
102
+ require('../modules/es.json.parse');
103
+ require('../modules/es.json.raw-json');
100
104
  require('../modules/es.json.stringify');
101
105
  require('../modules/es.json.to-string-tag');
102
106
  require('../modules/es.map');
103
107
  require('../modules/es.map.group-by');
108
+ require('../modules/es.map.get-or-insert');
109
+ require('../modules/es.map.get-or-insert-computed');
104
110
  require('../modules/es.math.acosh');
105
111
  require('../modules/es.math.asinh');
106
112
  require('../modules/es.math.atanh');
@@ -287,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
287
293
  require('../modules/es.uint8-array.to-hex');
288
294
  require('../modules/es.unescape');
289
295
  require('../modules/es.weak-map');
296
+ require('../modules/es.weak-map.get-or-insert');
297
+ require('../modules/es.weak-map.get-or-insert-computed');
290
298
  require('../modules/es.weak-set');
291
299
  require('../modules/esnext.aggregate-error');
292
300
  require('../modules/esnext.suppressed-error.constructor');
@@ -2,12 +2,10 @@
2
2
  var parent = require('../../actual/iterator');
3
3
  require('../../modules/esnext.iterator.chunks');
4
4
  require('../../modules/esnext.iterator.range');
5
- require('../../modules/esnext.iterator.sliding');
6
5
  require('../../modules/esnext.iterator.windows');
7
- require('../../modules/esnext.iterator.zip');
8
- require('../../modules/esnext.iterator.zip-keyed');
9
6
  // TODO: Remove from `core-js@4`
10
7
  require('../../modules/esnext.iterator.as-indexed-pairs');
11
8
  require('../../modules/esnext.iterator.indexed');
9
+ require('../../modules/esnext.iterator.sliding');
12
10
 
13
11
  module.exports = parent;
@@ -1,27 +1,7 @@
1
1
  'use strict';
2
- require('../../modules/es.array.iterator');
3
- require('../../modules/es.object.create');
4
- require('../../modules/es.object.to-string');
5
- require('../../modules/es.string.iterator');
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');
18
- require('../../modules/es.reflect.own-keys');
2
+ var parent = require('../../actual/iterator/zip-keyed');
19
3
  require('../../modules/esnext.iterator.chunks');
20
4
  require('../../modules/esnext.iterator.sliding');
21
5
  require('../../modules/esnext.iterator.windows');
22
- require('../../modules/esnext.iterator.zip-keyed');
23
- require('../../modules/web.dom-collections.iterator');
24
6
 
25
- var entryUnbind = require('../../internals/entry-unbind');
26
-
27
- module.exports = entryUnbind('Iterator', 'zipKeyed');
7
+ module.exports = parent;
@@ -1,25 +1,7 @@
1
1
  'use strict';
2
- require('../../modules/es.array.iterator');
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');
2
+ var parent = require('../../actual/iterator/zip');
17
3
  require('../../modules/esnext.iterator.chunks');
18
4
  require('../../modules/esnext.iterator.sliding');
19
5
  require('../../modules/esnext.iterator.windows');
20
- require('../../modules/esnext.iterator.zip');
21
- require('../../modules/web.dom-collections.iterator');
22
6
 
23
- var entryUnbind = require('../../internals/entry-unbind');
24
-
25
- module.exports = entryUnbind('Iterator', 'zip');
7
+ module.exports = parent;
@@ -7,6 +7,7 @@ var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
7
7
  var isConstructor = require('../internals/is-constructor');
8
8
  var lengthOfArrayLike = require('../internals/length-of-array-like');
9
9
  var createProperty = require('../internals/create-property');
10
+ var setArrayLength = require('../internals/array-set-length');
10
11
  var getIterator = require('../internals/get-iterator');
11
12
  var getIteratorMethod = require('../internals/get-iterator-method');
12
13
 
@@ -41,6 +42,6 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
41
42
  createProperty(result, index, value);
42
43
  }
43
44
  }
44
- result.length = index;
45
+ setArrayLength(result, index);
45
46
  return result;
46
47
  };
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
  var bind = require('../internals/function-bind-context');
3
- var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var IndexedObject = require('../internals/indexed-object');
5
4
  var toObject = require('../internals/to-object');
6
5
  var lengthOfArrayLike = require('../internals/length-of-array-like');
7
6
  var arraySpeciesCreate = require('../internals/array-species-create');
8
-
9
- var push = uncurryThis([].push);
7
+ var createProperty = require('../internals/create-property');
10
8
 
11
9
  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
12
10
  var createMethod = function (TYPE) {
@@ -17,28 +15,28 @@ var createMethod = function (TYPE) {
17
15
  var IS_FIND_INDEX = TYPE === 6;
18
16
  var IS_FILTER_REJECT = TYPE === 7;
19
17
  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
20
- return function ($this, callbackfn, that, specificCreate) {
18
+ return function ($this, callbackfn, that) {
21
19
  var O = toObject($this);
22
20
  var self = IndexedObject(O);
23
21
  var length = lengthOfArrayLike(self);
24
22
  var boundFunction = bind(callbackfn, that);
25
23
  var index = 0;
26
- var create = specificCreate || arraySpeciesCreate;
27
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
24
+ var resIndex = 0;
25
+ var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($this, 0) : undefined;
28
26
  var value, result;
29
27
  for (;length > index; index++) if (NO_HOLES || index in self) {
30
28
  value = self[index];
31
29
  result = boundFunction(value, index, O);
32
30
  if (TYPE) {
33
- if (IS_MAP) target[index] = result; // map
31
+ if (IS_MAP) createProperty(target, index, result); // map
34
32
  else if (result) switch (TYPE) {
35
- case 3: return true; // some
36
- case 5: return value; // find
37
- case 6: return index; // findIndex
38
- case 2: push(target, value); // filter
33
+ case 3: return true; // some
34
+ case 5: return value; // find
35
+ case 6: return index; // findIndex
36
+ case 2: createProperty(target, resIndex++, value); // filter
39
37
  } else switch (TYPE) {
40
- case 4: return false; // every
41
- case 7: push(target, value); // filterReject
38
+ case 4: return false; // every
39
+ case 7: createProperty(target, resIndex++, value); // filterReject
42
40
  }
43
41
  }
44
42
  }
@@ -1,16 +1,15 @@
1
1
  'use strict';
2
- var uncurryThis = require('../internals/function-uncurry-this');
3
2
  var aCallable = require('../internals/a-callable');
4
3
  var isNullOrUndefined = require('../internals/is-null-or-undefined');
5
4
  var lengthOfArrayLike = require('../internals/length-of-array-like');
6
5
  var toObject = require('../internals/to-object');
6
+ var createProperty = require('../internals/create-property');
7
7
  var MapHelpers = require('../internals/map-helpers');
8
8
  var iterate = require('../internals/map-iterate');
9
9
 
10
10
  var Map = MapHelpers.Map;
11
11
  var mapHas = MapHelpers.has;
12
12
  var mapSet = MapHelpers.set;
13
- var push = uncurryThis([].push);
14
13
 
15
14
  // `Array.prototype.uniqueBy` method
16
15
  // https://github.com/tc39/proposal-array-unique
@@ -28,8 +27,9 @@ module.exports = function uniqueBy(resolver) {
28
27
  key = resolverFunction(item);
29
28
  if (!mapHas(map, key)) mapSet(map, key, item);
30
29
  }
30
+ index = 0;
31
31
  iterate(map, function (value) {
32
- push(result, value);
32
+ createProperty(result, index++, value);
33
33
  });
34
34
  return result;
35
35
  };
@@ -7,6 +7,8 @@ var anObject = require('../internals/an-object');
7
7
  var isObject = require('../internals/is-object');
8
8
  var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
9
9
  var getBuiltIn = require('../internals/get-built-in');
10
+ var createProperty = require('../internals/create-property');
11
+ var setArrayLength = require('../internals/array-set-length');
10
12
  var getIteratorDirect = require('../internals/get-iterator-direct');
11
13
  var closeAsyncIteration = require('../internals/async-iterator-close');
12
14
 
@@ -39,7 +41,7 @@ var createMethod = function (TYPE) {
39
41
  try {
40
42
  if (anObject(step).done) {
41
43
  if (IS_TO_ARRAY) {
42
- target.length = counter;
44
+ setArrayLength(target, counter);
43
45
  resolve(target);
44
46
  } else resolve(IS_SOME ? false : IS_EVERY || undefined);
45
47
  } else {
@@ -55,7 +57,7 @@ var createMethod = function (TYPE) {
55
57
  $result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
56
58
  } else if (IS_TO_ARRAY) {
57
59
  try {
58
- target[counter++] = $result;
60
+ createProperty(target, counter++, $result);
59
61
  loop();
60
62
  } catch (error4) { ifAbruptCloseAsyncIterator(error4); }
61
63
  } else {
@@ -66,7 +68,7 @@ var createMethod = function (TYPE) {
66
68
  if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
67
69
  else handler(result);
68
70
  } else {
69
- target[counter++] = value;
71
+ createProperty(target, counter++, value);
70
72
  loop();
71
73
  }
72
74
  } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
@@ -14,6 +14,7 @@ try {
14
14
  SAFE_CLOSING = true;
15
15
  }
16
16
  };
17
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
17
18
  iteratorWithReturn[ITERATOR] = function () {
18
19
  return this;
19
20
  };
@@ -28,6 +29,7 @@ module.exports = function (exec, SKIP_CLOSING) {
28
29
  var ITERATION_SUPPORT = false;
29
30
  try {
30
31
  var object = {};
32
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
31
33
  object[ITERATOR] = function () {
32
34
  return {
33
35
  next: function () {
@@ -3,6 +3,7 @@ var isArray = require('../internals/is-array');
3
3
  var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
5
5
  var bind = require('../internals/function-bind-context');
6
+ var createProperty = require('../internals/create-property');
6
7
 
7
8
  // `FlattenIntoArray` abstract operation
8
9
  // https://tc39.es/ecma262/#sec-flattenintoarray
@@ -21,7 +22,7 @@ var flattenIntoArray = function (target, original, source, sourceLen, start, dep
21
22
  targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
22
23
  } else {
23
24
  doesNotExceedSafeInteger(targetIndex + 1);
24
- target[targetIndex] = element;
25
+ createProperty(target, targetIndex, element);
25
26
  }
26
27
 
27
28
  targetIndex++;