wranglebot
Version:
open source media asset management
22 lines (17 loc) • 397 B
text/typescript
import { EventEmitter } from "events";
export default class CancelToken extends EventEmitter {
private cancel = false;
private callback: Function = () => {};
constructor(callback = () => {}) {
super();
this.callback = callback;
}
addCallback(callback) {
this.callback = callback;
}
abort() {
this.cancel = true;
this.callback();
this.emit("abort");
}
}