Skip to content

Commit

Permalink
Merge pull request #1152 from zloirock/iter-helpers
Browse files Browse the repository at this point in the history
  • Loading branch information
zloirock committed Dec 10, 2022
2 parents 8929ce0 + c278937 commit 7dea5bf
Show file tree
Hide file tree
Showing 117 changed files with 564 additions and 441 deletions.
37 changes: 36 additions & 1 deletion CHANGELOG.md
@@ -1,10 +1,45 @@
## Changelog
##### Unreleased
- [Iterator Helpers](https://github.com/tc39/proposal-iterator-helpers) proposal:
- Built-ins:
- `Iterator`
- `Iterator.from`
- `Iterator#drop`
- `Iterator#every`
- `Iterator#filter`
- `Iterator#find`
- `Iterator#flatMap`
- `Iterator#forEach`
- `Iterator#map`
- `Iterator#reduce`
- `Iterator#some`
- `Iterator#take`
- `Iterator#toArray`
- `Iterator#toAsync`
- `Iterator#@@toStringTag`
- `AsyncIterator`
- `AsyncIterator.from`
- `AsyncIterator#drop`
- `AsyncIterator#every`
- `AsyncIterator#filter`
- `AsyncIterator#find`
- `AsyncIterator#flatMap`
- `AsyncIterator#forEach`
- `AsyncIterator#map`
- `AsyncIterator#reduce`
- `AsyncIterator#some`
- `AsyncIterator#take`
- `AsyncIterator#toArray`
- `AsyncIterator#@@toStringTag`
- Moved to Stage 3, [November 2022 TC39 meeting](https://github.com/babel/proposals/issues/85#issuecomment-1333474304)
- Added `/actual/` entries, unconditional forced replacement disabled for features that survived to Stage 3
- `.from` accept strings, `.flatMap` throws on strings returned from the callback, [proposal-iterator-helpers/244](https://github.com/tc39/proposal-iterator-helpers/pull/244), [proposal-iterator-helpers/250](https://github.com/tc39/proposal-iterator-helpers/pull/250)
- `.from` and `.flatMap` throws on non-object *iterators*, [proposal-iterator-helpers/253](https://github.com/tc39/proposal-iterator-helpers/pull/253)
- [Well-Formed Unicode Strings](https://github.com/tc39/proposal-is-usv-string) proposal:
- Methods:
- `String.prototype.isWellFormed`
- `String.prototype.toWellFormed`
- Moved to Stage 3, [November TC39 meeting](https://github.com/babel/proposals/issues/85#issuecomment-1332180862)
- Moved to Stage 3, [November 2022 TC39 meeting](https://github.com/babel/proposals/issues/85#issuecomment-1332180862)
- Added `/actual/` entries, disabled unconditional forced replacement
- Fixed a theoretically possible future conflict of polyfills definitions in the pure version
- [Compat data targets](/packages/core-js-compat#targets-option) improvements:
Expand Down
208 changes: 104 additions & 104 deletions README.md

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/drop.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.drop');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'drop');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/every.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.every');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'every');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/filter.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.filter');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'filter');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/find.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.find');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'find');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/flat-map.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.flat-map');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'flatMap');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/for-each.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.for-each');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'forEach');
11 changes: 11 additions & 0 deletions packages/core-js/actual/async-iterator/from.js
@@ -0,0 +1,11 @@
require('../../modules/es.array.iterator');
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/es.string.iterator');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.from');
require('../../modules/web.dom-collections.iterator');

var path = require('../../internals/path');

module.exports = path.AsyncIterator.from;
22 changes: 22 additions & 0 deletions packages/core-js/actual/async-iterator/index.js
@@ -0,0 +1,22 @@
require('../../modules/es.array.iterator');
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/es.string.iterator');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.drop');
require('../../modules/esnext.async-iterator.every');
require('../../modules/esnext.async-iterator.filter');
require('../../modules/esnext.async-iterator.find');
require('../../modules/esnext.async-iterator.flat-map');
require('../../modules/esnext.async-iterator.for-each');
require('../../modules/esnext.async-iterator.from');
require('../../modules/esnext.async-iterator.map');
require('../../modules/esnext.async-iterator.reduce');
require('../../modules/esnext.async-iterator.some');
require('../../modules/esnext.async-iterator.take');
require('../../modules/esnext.async-iterator.to-array');
require('../../modules/web.dom-collections.iterator');

var path = require('../../internals/path');

module.exports = path.AsyncIterator;
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/map.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.map');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'map');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/reduce.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.reduce');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'reduce');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/some.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.some');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'some');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/take.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.take');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'take');
8 changes: 8 additions & 0 deletions packages/core-js/actual/async-iterator/to-array.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.to-array');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'toArray');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/drop.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.drop');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'drop');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/every.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.every');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'every');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/filter.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.filter');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'filter');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/find.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.find');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'find');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/flat-map.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.flat-map');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'flatMap');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/for-each.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.for-each');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'forEach');
10 changes: 10 additions & 0 deletions packages/core-js/actual/iterator/from.js
@@ -0,0 +1,10 @@
require('../../modules/es.array.iterator');
require('../../modules/es.object.to-string');
require('../../modules/es.string.iterator');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.from');
require('../../modules/web.dom-collections.iterator');

var path = require('../../internals/path');

module.exports = path.Iterator.from;
23 changes: 23 additions & 0 deletions packages/core-js/actual/iterator/index.js
@@ -0,0 +1,23 @@
require('../../modules/es.array.iterator');
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/es.string.iterator');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.drop');
require('../../modules/esnext.iterator.every');
require('../../modules/esnext.iterator.filter');
require('../../modules/esnext.iterator.find');
require('../../modules/esnext.iterator.flat-map');
require('../../modules/esnext.iterator.for-each');
require('../../modules/esnext.iterator.from');
require('../../modules/esnext.iterator.map');
require('../../modules/esnext.iterator.reduce');
require('../../modules/esnext.iterator.some');
require('../../modules/esnext.iterator.take');
require('../../modules/esnext.iterator.to-array');
require('../../modules/esnext.iterator.to-async');
require('../../modules/web.dom-collections.iterator');

var path = require('../../internals/path');

module.exports = path.Iterator;
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/map.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.map');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'map');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/reduce.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.reduce');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'reduce');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/some.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.some');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'some');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/take.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.take');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'take');
7 changes: 7 additions & 0 deletions packages/core-js/actual/iterator/to-array.js
@@ -0,0 +1,7 @@
require('../../modules/es.object.to-string');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.to-array');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'toArray');
8 changes: 8 additions & 0 deletions packages/core-js/actual/iterator/to-async.js
@@ -0,0 +1,8 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.iterator.constructor');
require('../../modules/esnext.iterator.to-async');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('Iterator', 'toAsync');
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/drop.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.drop');
var parent = require('../../actual/async-iterator/drop');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'drop');
module.exports = parent;
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/every.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.every');
var parent = require('../../actual/async-iterator/every');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'every');
module.exports = parent;
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/filter.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.filter');
var parent = require('../../actual/async-iterator/filter');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'filter');
module.exports = parent;
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/find.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.find');
var parent = require('../../actual/async-iterator/find');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'find');
module.exports = parent;
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/flat-map.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.flat-map');
var parent = require('../../actual/async-iterator/flat-map');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'flatMap');
module.exports = parent;
9 changes: 2 additions & 7 deletions packages/core-js/full/async-iterator/for-each.js
@@ -1,8 +1,3 @@
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.for-each');
var parent = require('../../actual/async-iterator/for-each');

var entryUnbind = require('../../internals/entry-unbind');

module.exports = entryUnbind('AsyncIterator', 'forEach');
module.exports = parent;
12 changes: 2 additions & 10 deletions packages/core-js/full/async-iterator/from.js
@@ -1,11 +1,3 @@
require('../../modules/es.array.iterator');
require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/es.string.iterator');
require('../../modules/esnext.async-iterator.constructor');
require('../../modules/esnext.async-iterator.from');
require('../../modules/web.dom-collections.iterator');
var parent = require('../../actual/async-iterator/from');

var path = require('../../internals/path');

module.exports = path.AsyncIterator.from;
module.exports = parent;

0 comments on commit 7dea5bf

Please sign in to comment.