{
const data = [{letter: 'A', value: 5}, {letter: 'B', value: 3}, {letter: 'C', value: 0}, {letter: 'D', value: 2}, {letter: 'E', value: 5}]
const svg = d3.create("svg")
.attr("width", width)
.attr("height", 33)
.attr("viewBox", `0 -20 ${width} 33`);
let key = "value";
while (true) {
let sortedData = lodash.orderBy(data, [key], ['asc']);
svg.selectAll("text.dave")
.data(sortedData, d => d.letter)
.join("text")
.attr("class", "dave")
.attr("x", (d, i) => i * 16)
.text(d => d.letter);
yield svg.node();
await Promises.tick(2500);
key = key === "letter" ? "value" : "letter";
}
}