Skip to content

Commit c13b6ff

Browse files
authored
explainer: Add § Other proposals
Fixes #1.
1 parent 091a62b commit c13b6ff

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

README.md

+41-1
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,48 @@ It does not require that its `this` value be the `Array` constructor,
6767
and it can be transferred to or inherited by any other constructors
6868
that may be called with a single numeric argument.
6969

70+
## Other proposals
71+
72+
### `Object.asyncFromEntries`
73+
In the future, a complementary method could be added to `Object`.
74+
75+
Type | Sync method | Async method
76+
------- | ------------ | ------------------
77+
`Array` | `from` | `asyncFrom`
78+
`Object`| `fromEntries`| `asyncFromEntries`?
79+
80+
It is **uncertain** whether `Object.asyncFromEntries`
81+
should be **piggybacked** onto this proposal
82+
or left to a **separate** proposal.
83+
84+
### Async spread operator
7085
In the future, standardizing an async spread operator (like `[ 0, await ...v ]`)
71-
may also be useful. This proposal leaves that idea to a separate proposal.
86+
may be useful. This proposal leaves that idea to a **separate** proposal.
87+
88+
### Iterator helpers
89+
The **[iterator-helpers][] proposal** puts forward, among other methods,
90+
a **`toArray` method** for async iterators (as well as synchronous iterators).
91+
We could consider `Array.asyncFrom` to be redundant with `toArray`.
92+
93+
However, **`Array.from` already** exists,
94+
and `Array.asyncFrom` would **parallel** it.
95+
If we **had to choose** between `asyncIterator.toArray` and `Array.asyncFrom`,
96+
we should **prefer** `Array.asyncFrom` would be **preferable** to `toArray`
97+
for its **parallelism** with what already exists.
98+
99+
In addition, the iterator-helpers proposal’s **already duplicates** `Array.from`
100+
for **synchronous iterators**.
101+
We may consider **duplication** with an `Array` method as **unimportant** anyway.
102+
If duplication between `syncIterator.toArray` and `Array.from` is already okay,
103+
then duplication between `asyncIterator.toArray` and `Array.asyncFrom` should also be okay.
104+
105+
[iterator-helpers]: https://github.com/tc39/proposal-iterator-helpers
106+
107+
### Records and tuples
108+
The **[record/tuple] proposal** puts forward two new data types
109+
with APIs that respectively **resemble** those of **`Array` and `Object`**.
110+
111+
[record/tuple]: https://github.com/tc39/proposal-record-tuple
72112

73113
## Real-world examples
74114
Only minor formatting changes have been made to the status-quo examples.

0 commit comments

Comments
 (0)