senate_counts = {
let total = map_data.senate_districts.features.length;
let rep_count = map_data.senate_districts.features.filter(
(o) => o.properties.dem_vote_share < 0.5 - threshold
).length;
let dem_count = map_data.senate_districts.features.filter(
(o) => o.properties.dem_vote_share > 0.5 + threshold
).length;
let toss_ups = map_data.senate_districts.features.filter(
(o) =>
0.5 - threshold < o.properties.dem_vote_share &&
o.properties.dem_vote_share < 0.5 + threshold
);
let dem_vote_share_extent = d3.extent(
map_data.senate_districts.features.map((o) => o.properties.dem_vote_share)
);
return {
total,
rep_count,
dem_count,
dem_vote_share_extent,
toss_ups,
toss_up_count: toss_ups.length
};
}