@@ -4,19 +4,19 @@ var has = require('../internals/set-helpers').has;
44var size = require ( '../internals/set-size' ) ;
55var getSetRecord = require ( '../internals/get-set-record' ) ;
66var iterateSet = require ( '../internals/set-iterate' ) ;
7- var iterate = require ( '../internals/iterate' ) ;
7+ var iterateSimple = require ( '../internals/iterate-simple' ) ;
8+ var iteratorClose = require ( '../internals/iterator-close' ) ;
89
910// `Set.prototype.isDisjointFrom` method
1011// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom
1112module . exports = function isDisjointFrom ( other ) {
1213 var O = aSet ( this ) ;
1314 var otherRec = getSetRecord ( other ) ;
14- return false !== ( size ( O ) <= otherRec . size
15- ? iterateSet ( O , function ( e ) {
16- if ( otherRec . includes ( e ) ) return false ;
17- } , true )
18- : ! iterate ( otherRec . getIterator ( ) , function ( e , stop ) {
19- if ( has ( O , e ) ) return stop ( ) ;
20- } , { IS_ITERATOR : true , INTERRUPTED : true } ) . stopped
21- ) ;
15+ if ( size ( O ) <= otherRec . size ) return iterateSet ( O , function ( e ) {
16+ if ( otherRec . includes ( e ) ) return false ;
17+ } , true ) !== false ;
18+ var iterator = otherRec . getIterator ( ) ;
19+ return iterateSimple ( iterator , function ( e ) {
20+ if ( has ( O , e ) ) return iteratorClose ( iterator , 'normal' , false ) ;
21+ } ) !== false ;
2222} ;
0 commit comments