@@ -169,12 +169,12 @@ structuredClone(new Set([1, 2, 3])); // => new Set([1, 2, 3])
169169 - [ New ` Set ` methods] ( #new-set-methods )
170170 - [ ` Math.sumPrecise ` ] ( #mathsumprecise )
171171 - [ Stage 3 proposals] ( #stage-3-proposals )
172+ - [ Joint iteration] ( #joint-iteration )
172173 - [ ` Map ` upsert] ( #map-upsert )
173174 - [ ` JSON.parse ` source text access] ( #jsonparse-source-text-access )
174175 - [ ` Symbol.metadata ` for decorators metadata proposal] ( #symbolmetadata-for-decorators-metadata-proposal )
175176 - [ Stage 2.7 proposals] ( #stage-27-proposals )
176177 - [ ` Iterator ` chunking] ( #iterator-chunking )
177- - [ Joint iteration] ( #joint-iteration )
178178 - [ Stage 2 proposals] ( #stage-2-proposals )
179179 - [ ` AsyncIterator ` helpers] ( #asynciterator-helpers )
180180 - [ ` Iterator.range ` ] ( #iteratorrange )
@@ -2705,6 +2705,57 @@ core-js/proposals/math-sum
27052705core-js(-pure)/stage/3
27062706```
27072707
2708+ ##### [ Joint iteration] ( https://github.com/tc39/proposal-joint-iteration ) [ ⬆] ( #index )
2709+ Modules [ esnext.iterator.zip] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.iterator.zip.js ) , [ esnext.iterator.zip-keyed] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.iterator.zip-keyed.js )
2710+ ``` ts
2711+ class Iterator {
2712+ zip<T extends readonly Iterable <unknown >[]>(
2713+ iterables : T ,
2714+ options ? : {
2715+ mode? : ' shortest' | ' longest' | ' strict' ;
2716+ padding? : { [K in keyof T ]? : T [K ] extends Iterable <infer U > ? U : never };
2717+ }
2718+ ): IterableIterator <{ [K in keyof T ]: T [K ] extends Iterable <infer U > ? U : never }>;
2719+ zipKeyed<K extends PropertyKey , V extends Record <K , Iterable <unknown >>>(
2720+ iterables : V ,
2721+ options ? : {
2722+ mode? : ' shortest' | ' longest' | ' strict' ;
2723+ padding? : { [P in keyof V ]? : V [P ] extends Iterable <infer U > ? U : never };
2724+ }
2725+ ): IterableIterator <{ [P in keyof V ]: V [P ] extends Iterable <infer U > ? U : never }>;
2726+ }
2727+ ```
2728+ [ * CommonJS entry points:* ] ( #commonjs-api )
2729+ ```
2730+ core-js/proposals/joint-iteration
2731+ core-js(-pure)/actual|full/iterator/zip
2732+ core-js(-pure)/actual|full/iterator/zip-keyed
2733+ ```
2734+ [ * Example* ] ( https://tinyurl.com/vutnf2nu ) :
2735+ ``` js
2736+ Iterator .zip ([
2737+ [0 , 1 , 2 ],
2738+ [3 , 4 , 5 ],
2739+ ]).toArray (); // => [[0, 3], [1, 4], [2, 5]]
2740+
2741+ Iterator .zipKeyed ({
2742+ a: [0 , 1 , 2 ],
2743+ b: [3 , 4 , 5 , 6 ],
2744+ c: [7 , 8 , 9 ],
2745+ }, {
2746+ mode: ' longest' ,
2747+ padding: { c: 10 },
2748+ }).toArray ();
2749+ /*
2750+ [
2751+ { a: 0, b: 3, c: 7 },
2752+ { a: 1, b: 4, c: 8 },
2753+ { a: 2, b: 5, c: 9 },
2754+ { a: undefined, b: 6, c: 10 },
2755+ ];
2756+ */
2757+ ```
2758+
27082759##### [ ` Map ` upsert] ( https://github.com/thumbsupep/proposal-upsert ) [ ⬆] ( #index )
27092760Modules [ ` esnext.map.get-or-insert ` ] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.map.get-or-insert.js ) , [ ` esnext.map.get-or-insert-computed ` ] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.map.get-or-insert-computed.js ) , [ ` esnext.weak-map.get-or-insert ` ] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.weak-map.get-or-insert.js ) and [ ` esnext.weak-map.get-or-insert-computed ` ] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.weak-map.get-or-insert-computed.js )
27102761``` ts
@@ -2833,57 +2884,6 @@ let windowsPartial = Array.from([0, 1].values().windows(3, 'allow-partial')); /
28332884let windowsFull = Array .from ([0 , 1 ].values ().windows (3 )); // []
28342885```
28352886
2836- ##### [ Joint iteration] ( https://github.com/tc39/proposal-joint-iteration ) [ ⬆] ( #index )
2837- Modules [ esnext.iterator.zip] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.iterator.zip.js ) , [ esnext.iterator.zip-keyed] ( https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/esnext.iterator.zip-keyed.js )
2838- ``` ts
2839- class Iterator {
2840- zip<T extends readonly Iterable <unknown >[]>(
2841- iterables : T ,
2842- options ? : {
2843- mode? : ' shortest' | ' longest' | ' strict' ;
2844- padding? : { [K in keyof T ]? : T [K ] extends Iterable <infer U > ? U : never };
2845- }
2846- ): IterableIterator <{ [K in keyof T ]: T [K ] extends Iterable <infer U > ? U : never }>;
2847- zipKeyed<K extends PropertyKey , V extends Record <K , Iterable <unknown >>>(
2848- iterables : V ,
2849- options ? : {
2850- mode? : ' shortest' | ' longest' | ' strict' ;
2851- padding? : { [P in keyof V ]? : V [P ] extends Iterable <infer U > ? U : never };
2852- }
2853- ): IterableIterator <{ [P in keyof V ]: V [P ] extends Iterable <infer U > ? U : never }>;
2854- }
2855- ```
2856- [ * CommonJS entry points:* ] ( #commonjs-api )
2857- ```
2858- core-js/proposals/joint-iteration
2859- core-js(-pure)/full/iterator/zip
2860- core-js(-pure)/full/iterator/zip-keyed
2861- ```
2862- [ * Example* ] ( https://tinyurl.com/vutnf2nu ) :
2863- ``` js
2864- Iterator .zip ([
2865- [0 , 1 , 2 ],
2866- [3 , 4 , 5 ],
2867- ]).toArray (); // => [[0, 3], [1, 4], [2, 5]]
2868-
2869- Iterator .zipKeyed ({
2870- a: [0 , 1 , 2 ],
2871- b: [3 , 4 , 5 , 6 ],
2872- c: [7 , 8 , 9 ],
2873- }, {
2874- mode: ' longest' ,
2875- padding: { c: 10 },
2876- }).toArray ();
2877- /*
2878- [
2879- { a: 0, b: 3, c: 7 },
2880- { a: 1, b: 4, c: 8 },
2881- { a: 2, b: 5, c: 9 },
2882- { a: undefined, b: 6, c: 10 },
2883- ];
2884- */
2885- ```
2886-
28872887#### Stage 2 proposals[ ⬆] ( #index )
28882888[ * CommonJS entry points:* ] ( #commonjs-api )
28892889```
0 commit comments