You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							23 lines
						
					
					
						
							895 B
						
					
					
				
			
		
		
	
	
							23 lines
						
					
					
						
							895 B
						
					
					
				'use strict'; | 
						|
var $ = require('../internals/export'); | 
						|
var IS_PURE = require('../internals/is-pure'); | 
						|
var getBuiltIn = require('../internals/get-built-in'); | 
						|
var anObject = require('../internals/an-object'); | 
						|
var aFunction = require('../internals/a-function'); | 
						|
var speciesConstructor = require('../internals/species-constructor'); | 
						|
var iterate = require('../internals/iterate'); | 
						|
 | 
						|
// `Set.prototype.intersection` method | 
						|
// https://github.com/tc39/proposal-set-methods | 
						|
$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { | 
						|
  intersection: function intersection(iterable) { | 
						|
    var set = anObject(this); | 
						|
    var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); | 
						|
    var hasCheck = aFunction(set.has); | 
						|
    var adder = aFunction(newSet.add); | 
						|
    iterate(iterable, function (value) { | 
						|
      if (hasCheck.call(set, value)) adder.call(newSet, value); | 
						|
    }); | 
						|
    return newSet; | 
						|
  } | 
						|
});
 | 
						|
 |