UNPKG

743 BJavaScriptView Raw
1'use strict';
2var $ = require('../internals/export');
3var uncurryThis = require('../internals/function-uncurry-this');
4var aSet = require('../internals/a-set');
5var iterate = require('../internals/set-iterate');
6var toString = require('../internals/to-string');
7
8var arrayJoin = uncurryThis([].join);
9var push = uncurryThis([].push);
10
11// `Set.prototype.join` method
12// https://github.com/tc39/proposal-collection-methods
13$({ target: 'Set', proto: true, real: true, forced: true }, {
14 join: function join(separator) {
15 var set = aSet(this);
16 var sep = separator === undefined ? ',' : toString(separator);
17 var array = [];
18 iterate(set, function (value) {
19 push(array, value);
20 });
21 return arrayJoin(array, sep);
22 }
23});