function observe_chart_data(chart, signal_name) {
return Generators.observe(function(notify) {
const signaled = (name, value) => notify(chart.signal(signal_name));
chart.addSignalListener(signal_name, signaled);
notify(chart.signal(signal_name));
return () => chart.removeSignalListener(signal_name, signaled);
});
}