Skip to content

Commit 6934a83

Browse files
committed
rename methods from the Array grouping proposal
tc39/proposal-array-grouping#39
1 parent d75860d commit 6934a83

36 files changed

+331
-52
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
## Changelog
22
##### Unreleased
3-
- [`Array` find from last](https://github.com/tc39/proposal-array-find-from-last) moved to the stable ES, per June 2022 TC39 meeting
3+
- [`Array` find from last](https://github.com/tc39/proposal-array-find-from-last) moved to the stable ES, per June 2022 TC39 meeting:
44
- `Array.prototype.findLast`
55
- `Array.prototype.findLastIndex`
66
- `%TypedArray%.prototype.findLast`
77
- `%TypedArray%.prototype.findLastIndex`
8+
- Methods from [the `Array` grouping proposal](https://github.com/tc39/proposal-array-grouping) [renamed](https://github.com/tc39/proposal-array-grouping/pull/39), per June 2022 TC39 meeting:
9+
- `Array.prototype.groupBy` -> `Array.prototype.group`
10+
- `Array.prototype.groupByToMap` -> `Array.prototype.groupToMap`
811
- Changed the order of operations in `%TypedArray%.prototype.with` following [proposal-change-array-by-copy/86](https://github.com/tc39/proposal-change-array-by-copy/issues/86), per June 2022 TC39 meeting
912
- [Decorator Metadata proposal](https://github.com/tc39/proposal-decorator-metadata) extracted from [Decorators proposal](https://github.com/tc39/proposal-decorators) as a separate stage 2 proposal, `Symbol.metadataKey` replaces `Symbol.metadata`
1013
- Added `Array.prototype.push` polyfill with some fixes for modern engines

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2105,24 +2105,24 @@ core-js/proposals/well-formed-stringify
21052105
core-js(-pure)/stage/3
21062106
```
21072107
##### [`Array` grouping](https://github.com/tc39/proposal-array-grouping)[⬆](#index)
2108-
Modules [`esnext.array.group-by`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array.group-by.js), [`esnext.array.group-by-to-map`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array.group-by-to-map.js).
2108+
Modules [`esnext.array.group`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array.group.js), [`esnext.array.group-to-map`](https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.array.group-to-map.js).
21092109
```js
21102110
class Array {
2111-
groupBy(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): { [key]: Array<mixed> };
2112-
groupByToMap(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): Map<key, Array<mixed>>;
2111+
group(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): { [key]: Array<mixed> };
2112+
groupToMap(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): Map<key, Array<mixed>>;
21132113
}
21142114
```
21152115
[*CommonJS entry points:*](#commonjs-api)
21162116
```
2117-
core-js/proposals/array-grouping-stage-3
2118-
core-js(-pure)/actual|full/array(/virtual)/group-by
2119-
core-js(-pure)/actual|full/array(/virtual)/group-by-to-map
2117+
core-js/proposals/array-grouping-stage-3-2
2118+
core-js(-pure)/actual|full/array(/virtual)/group
2119+
core-js(-pure)/actual|full/array(/virtual)/group-to-map
21202120
```
2121-
[*Examples*](https://t.ly/xEqc):
2121+
[*Examples*](https://is.gd/3a0PbH):
21222122
```js
2123-
[1, 2, 3, 4, 5].groupBy(it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] }
2123+
[1, 2, 3, 4, 5].group(it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] }
21242124
2125-
const map = [1, 2, 3, 4, 5].groupByToMap(it => it % 2);
2125+
const map = [1, 2, 3, 4, 5].groupToMap(it => it % 2);
21262126
map.get(1); // => [1, 3, 5]
21272127
map.get(0); // => [2, 4]
21282128
````

packages/core-js-compat/src/data.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1606,10 +1606,16 @@ export const data = {
16061606
'esnext.array.find-last': null,
16071607
// TODO: Remove from `core-js@4`
16081608
'esnext.array.find-last-index': null,
1609+
'esnext.array.group': {
1610+
},
1611+
// TODO: Remove from `core-js@4`
16091612
'esnext.array.group-by': {
16101613
},
1614+
// TODO: Remove from `core-js@4`
16111615
'esnext.array.group-by-to-map': {
16121616
},
1617+
'esnext.array.group-to-map': {
1618+
},
16131619
'esnext.array.is-template-object': {
16141620
},
16151621
// TODO: Remove from `core-js@4`

packages/core-js-compat/src/modules-by-versions.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ export default {
146146
'es.array.unshift',
147147
'es.typed-array.find-last',
148148
'es.typed-array.find-last-index',
149+
'esnext.array.group',
150+
'esnext.array.group-to-map',
149151
'esnext.symbol.metadata-key',
150152
],
151153
};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require('../../modules/es.map');
2+
require('../../modules/es.object.to-string');
3+
require('../../modules/esnext.array.group-to-map');
4+
var entryUnbind = require('../../internals/entry-unbind');
5+
6+
module.exports = entryUnbind('Array', 'groupToMap');
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
require('../../modules/esnext.array.group');
2+
var entryUnbind = require('../../internals/entry-unbind');
3+
4+
module.exports = entryUnbind('Array', 'group');

packages/core-js/actual/array/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ require('../../modules/es.map');
33
require('../../modules/es.object.to-string');
44
require('../../modules/esnext.array.find-last');
55
require('../../modules/esnext.array.find-last-index');
6+
require('../../modules/esnext.array.group');
67
require('../../modules/esnext.array.group-by');
78
require('../../modules/esnext.array.group-by-to-map');
9+
require('../../modules/esnext.array.group-to-map');
810
require('../../modules/esnext.array.to-reversed');
911
require('../../modules/esnext.array.to-sorted');
1012
require('../../modules/esnext.array.to-spliced');
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
require('../../../modules/es.map');
2+
require('../../../modules/es.object.to-string');
3+
require('../../../modules/esnext.array.group-to-map');
4+
var entryVirtual = require('../../../internals/entry-virtual');
5+
6+
module.exports = entryVirtual('Array').groupToMap;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
require('../../../modules/esnext.array.group');
2+
var entryVirtual = require('../../../internals/entry-virtual');
3+
4+
module.exports = entryVirtual('Array').group;

packages/core-js/actual/array/virtual/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ require('../../../modules/es.map');
33
require('../../../modules/es.object.to-string');
44
require('../../../modules/esnext.array.find-last');
55
require('../../../modules/esnext.array.find-last-index');
6+
require('../../../modules/esnext.array.group');
67
require('../../../modules/esnext.array.group-by');
78
require('../../../modules/esnext.array.group-by-to-map');
9+
require('../../../modules/esnext.array.group-to-map');
810
require('../../../modules/esnext.array.to-reversed');
911
require('../../../modules/esnext.array.to-sorted');
1012
require('../../../modules/esnext.array.to-spliced');

0 commit comments

Comments
 (0)