export default function(onenter, onupdate, onexit) { | |
var enter = this.enter(), update = this, exit = this.exit(); | |
if (typeof onenter === "function") { | |
enter = onenter(enter); | |
if (enter) enter = enter.selection(); | |
} else { | |
enter = enter.append(onenter + ""); | |
} | |
if (onupdate != null) { | |
update = onupdate(update); | |
if (update) update = update.selection(); | |
} | |
if (onexit == null) exit.remove(); else onexit(exit); | |
return enter && update ? enter.merge(update).order() : update; | |
} | |