proposal-record-tuple
proposal-record-tuple copied to clipboard
ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
Right now the [spec ](https://tc39.es/proposal-record-tuple/#sec-isconcatspreadable) will check `@@isConcatSpreadable` on `Tuple.prototype` when passed a tuple, before defaulting to returning `true` for tuples: ``` 1. If Type(O) is not Object or Tuple,...
I just noticed that the `Record` constructor does not have a way of getting the keys out of a Record. In fact, as far as I can tell, there is...
As discussed in today's plenary. Uses `IsArrayOrTuple` from #264.
I didn't add support for: - `Reflect.*`, since they already disallow primitives even if it would make sense to use them (e.g. `Reflect.get("str", 0)`). - Proxy handler (`new Proxy(target, #{})`),...
Some of the tuple methods, such as [Tuple.prototype.map](https://tc39.es/proposal-record-tuple/#sec-tuple.prototype.map), are defined with explicit steps and, when they have a callback, they pass the result of `thisTupleValue(this)` as the last parameter. Other...
This PR represents a first pass addition of `Tuple.prototype.group` and `Tuple.prototype.groupToMap`, reflecting the addition of similar methods to the `Array.prototype` in https://github.com/tc39/proposal-array-grouping . The array grouping proposal is currently at...
A general issue to link to the PR #264 where the main conversation is happening. Just so people only looking at the issue list and not the open PRs can...
Whenever we refer to "Record" inside of a spec document, we start referring to [6.2.1 The List and Record Specification Types](https://tc39.es/ecma262/#sec-list-and-record-specification-type) which is a spec-internal notion. This is going to...
[WebIDL](https://heycam.github.io/webidl/#idl-record) has had record types for a number of years now—see [2.13.28. Record types — record](https://heycam.github.io/webidl/#idl-record) for the definition—and it's pretty confusing that the `Record` type in your proposal is...
`Object.fromEntries` and the `Map` constructor enforce, via [AddEntriesFromIterable](https://tc39.es/ecma262/#sec-add-entries-from-iterable) step 4.d, that the "entry" objects returned by the iterable they take is of Type Object so that you cannot do, for...