| 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)); | |
| } | |
| }); |