modules/util/bind_once.js (9 lines of code) (raw):
export function utilBindOnce(target, type, listener, capture) {
var typeOnce = type + '.once';
function one() {
target.on(typeOnce, null);
listener.apply(this, arguments);
}
target.on(typeOnce, one, capture);
return this;
}