blob: f3bbd1fa92bc8a0469f0c7a1447bc61ac0636a37 [file]
import "../core/class";
import "map";
d3.set = function(array) {
var set = new d3_Set;
if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);
return set;
};
function d3_Set() {}
d3_class(d3_Set, {
has: d3_map_has,
add: function(value) {
this[d3_map_prefix + value] = true;
return value;
},
remove: function(value) {
value = d3_map_prefix + value;
return value in this && delete this[value];
},
values: d3_map_keys,
size: d3_map_size,
empty: d3_map_empty,
forEach: function(f) {
for (var value in this) if (value.charCodeAt(0) === d3_map_prefixCode) f.call(this, value.substring(1));
}
});