- From: Tab Atkins Jr. <notifications@github.com>
- Date: Thu, 15 Feb 2018 18:34:58 +0000 (UTC)
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Thursday, 15 February 2018 18:35:23 UTC
This is probably deeply related to <https://github.com/heycam/webidl/issues/254>, and may actually end up being a dupe. We'll see. Currently, the `maplike<>` declaration talks abstractly about "map entries", defined hand-wavily as a list of key/value pairs. When you actually get down to [the ES implementation details](https://heycam.github.io/webidl/#es-maplike), tho, you find that the maplike object contains an internal Map object (a real one, from ES, not a spec abstraction like an Infra map), and the "map entries" are the internal slot of *that* object, an ES-spec List. There's no way to put an Infra value into an ES value, tho, which means that if, say, a spec wants to store a list of objects as the "value" in the map, it's a real-deal ES Array object. This, then, means that specs have to be *very* careful about how they manipulate the object, so they do things correctly and don't accidentally expose implementation details. Given WebIDL's generally friendly interpenetration with Infra concepts, it feels like `maplike<>` should be defined in those terms as well, as having its "map entries" just be an Infra map, and the operations defined on that accordingly. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/heycam/webidl/issues/522
Received on Thursday, 15 February 2018 18:35:23 UTC