File tree 3 files changed +10
-8
lines changed
packages/core-js/internals
3 files changed +10
-8
lines changed Original file line number Diff line number Diff line change 1
1
## Changelog
2
2
##### Unreleased
3
+ - [ ` Set ` methods proposal] ( https://github.com/tc39/proposal-set-methods ) minor updates:
4
+ - Closing of iterators of ` Set ` -like objects on early exit, [ proposal-set-methods/85] ( https://github.com/tc39/proposal-set-methods/pull/85 )
3
5
- Added one more workaround of a ` webpack ` dev server bug on IE global methods, [ #1161 ] ( https://github.com/zloirock/core-js/issues/1161 )
4
6
- Fixed possible ` String.{ raw, cooked } ` error with empty template array
5
7
- Used non-standard V8 ` Error.captureStackTrace ` instead of stack parsing in new error classes / wrappers where it's possible
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ var has = require('../internals/set-helpers').has;
4
4
var size = require ( '../internals/set-size' ) ;
5
5
var getSetRecord = require ( '../internals/get-set-record' ) ;
6
6
var iterateSet = require ( '../internals/set-iterate' ) ;
7
- var iterateSimple = require ( '../internals/iterate-simple ' ) ;
7
+ var iterate = require ( '../internals/iterate' ) ;
8
8
9
9
// `Set.prototype.isDisjointFrom` method
10
10
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
@@ -15,8 +15,8 @@ module.exports = function isDisjointFrom(other) {
15
15
? iterateSet ( O , function ( e ) {
16
16
if ( otherRec . includes ( e ) ) return false ;
17
17
} , true )
18
- : iterateSimple ( otherRec . getIterator ( ) , function ( e ) {
19
- if ( has ( O , e ) ) return false ;
20
- } )
18
+ : ! iterate ( otherRec . getIterator ( ) , function ( e , stop ) {
19
+ if ( has ( O , e ) ) return stop ( ) ;
20
+ } , { IS_ITERATOR : true , INTERRUPTED : true } ) . stopped
21
21
) ;
22
22
} ;
Original file line number Diff line number Diff line change @@ -3,15 +3,15 @@ var aSet = require('../internals/a-set');
3
3
var has = require ( '../internals/set-helpers' ) . has ;
4
4
var size = require ( '../internals/set-size' ) ;
5
5
var getSetRecord = require ( '../internals/get-set-record' ) ;
6
- var iterateSimple = require ( '../internals/iterate-simple ' ) ;
6
+ var iterate = require ( '../internals/iterate' ) ;
7
7
8
8
// `Set.prototype.isSupersetOf` method
9
9
// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
10
10
module . exports = function isSupersetOf ( other ) {
11
11
var O = aSet ( this ) ;
12
12
var otherRec = getSetRecord ( other ) ;
13
13
if ( size ( O ) < otherRec . size ) return false ;
14
- return iterateSimple ( otherRec . getIterator ( ) , function ( e ) {
15
- if ( has ( O , e ) === false ) return false ;
16
- } ) !== false ;
14
+ return ! iterate ( otherRec . getIterator ( ) , function ( e , stop ) {
15
+ if ( ! has ( O , e ) ) return stop ( ) ;
16
+ } , { IS_ITERATOR : true , INTERRUPTED : true } ) . stopped ;
17
17
} ;
You can’t perform that action at this time.
0 commit comments