@nxg-org/mineflayer-util-plugin
Version:
mineflayer utils for NextGEN mineflayer plugins.
38 lines (37 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Task = void 0;
// stolen task from mineflayer, just strongly typed now.
class Task {
constructor() {
this.done = false;
this.promise = new Promise((resolve, reject) => {
this.cancel = (err) => {
if (!this.done) {
this.done = true;
reject(err);
}
throw err;
};
this.finish = (result) => {
if (!this.done) {
this.done = true;
resolve(result);
}
return result;
};
});
}
static createTask() {
return new Task();
}
static createDoneTask() {
return {
done: true,
promise: Promise.resolve(),
cancel: () => { },
finish: () => { }
};
}
}
exports.Task = Task;