'use strict'; 
 | 
var $ = require('../internals/export'); 
 | 
var uncurryThis = require('../internals/function-uncurry-this'); 
 | 
var aSet = require('../internals/a-set'); 
 | 
var iterate = require('../internals/set-iterate'); 
 | 
var toString = require('../internals/to-string'); 
 | 
  
 | 
var arrayJoin = uncurryThis([].join); 
 | 
var push = uncurryThis([].push); 
 | 
  
 | 
// `Set.prototype.join` method 
 | 
// https://github.com/tc39/proposal-collection-methods 
 | 
$({ target: 'Set', proto: true, real: true, forced: true }, { 
 | 
  join: function join(separator) { 
 | 
    var set = aSet(this); 
 | 
    var sep = separator === undefined ? ',' : toString(separator); 
 | 
    var array = []; 
 | 
    iterate(set, function (value) { 
 | 
      push(array, value); 
 | 
    }); 
 | 
    return arrayJoin(array, sep); 
 | 
  } 
 | 
}); 
 |