24 lines
		
	
	
		
			743 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			743 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| '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);
 | |
|   }
 | |
| });
 | 
