-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add [NonEnumerableMethods]
extended attribute
#825
feat: Add [NonEnumerableMethods]
extended attribute
#825
Conversation
A few questions:
|
This only affects operations, everything else is unaffected.
You’re right, I missed that. |
More questions: A few questions:
|
I would expect that if
This should probably depend on whether or not |
What is the motivation for this feature? In particular, what specs want to take on a different behavior from the rest of the web platform by using this? |
To make it possible for specifications using WebIDL to align more closely with how ECMAScript platform objects behave.
ECMAScript and Streams come to mind (you even opened whatwg/streams#963) It’s also probable that WebAssembly might want to use this. |
I'd like to see some evidence of TC39 wanting to use Web IDL for ECMAScript before merging this
We will make all methods enumerable
I don't see why they would change away from their current approach of aligning with all other web APIs. |
There is https://github.com/tc39/proposal-idl, which has WebIDL as one of the main candidates.
WebAssembly intends to be more of an ECMAScript platform feature, so I would expect its built‑ins to match ECMAScript conventions. I’ve opened WebAssembly/spec#1110 to ask about this. |
Please explain the difference between this and #719. |
This also provides the |
Where was that decided? Because I think enumerable methods are bad. |
I think they're good. (I don't anticipate this being a productive discussion, so don't plan to engage further.) |
@domenic That doesn’t answer my question about where it was decided to change methods in the Streams API to be enumerable. |
This should maybe have the jsidl label. |
Let's close this until we have a concrete consumer. |
This adds a
[NonEnumerableMethods]
extended attribute to let specs match what ECMAScript does with its built‑ins and theclass
construct.It also provides
[LegacyEnumerableMethod]
for the legacy cases that would break if the methods on which it’s specified would be made non‑enumerable.This is need to address #226, #484, WebAssembly/spec#1110 and whatwg/streams#963,
Supersedes and closes #719
Preview | Diff