Skip to content

Commit 19a7298

Browse files
committed
rename methods from the Array grouping proposal
tc39/proposal-array-grouping#39
1 parent e1a0d39 commit 19a7298

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
@@ -2103,24 +2103,24 @@ core-js/proposals/well-formed-stringify
21032103
core-js(-pure)/stage/3
21042104
```
21052105
##### [`Array` grouping](https://github.com/tc39/proposal-array-grouping)[⬆](#index)
2106-
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).
2106+
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).
21072107
```js
21082108
class Array {
2109-
groupBy(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): { [key]: Array<mixed> };
2110-
groupByToMap(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): Map<key, Array<mixed>>;
2109+
group(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): { [key]: Array<mixed> };
2110+
groupToMap(callbackfn: (value: any, index: number, target: any) => key, thisArg?: any): Map<key, Array<mixed>>;
21112111
}
21122112
```
21132113
[*CommonJS entry points:*](#commonjs-api)
21142114
```
2115-
core-js/proposals/array-grouping-stage-3
2116-
core-js(-pure)/actual|full/array(/virtual)/group-by
2117-
core-js(-pure)/actual|full/array(/virtual)/group-by-to-map
2115+
core-js/proposals/array-grouping-stage-3-2
2116+
core-js(-pure)/actual|full/array(/virtual)/group
2117+
core-js(-pure)/actual|full/array(/virtual)/group-to-map
21182118
```
2119-
[*Examples*](https://t.ly/xEqc):
2119+
[*Examples*](https://is.gd/3a0PbH):
21202120
```js
2121-
[1, 2, 3, 4, 5].groupBy(it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] }
2121+
[1, 2, 3, 4, 5].group(it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] }
21222122
2123-
const map = [1, 2, 3, 4, 5].groupByToMap(it => it % 2);
2123+
const map = [1, 2, 3, 4, 5].groupToMap(it => it % 2);
21242124
map.get(1); // => [1, 3, 5]
21252125
map.get(0); // => [2, 4]
21262126
````

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)