Files
kidsai/html/rechner/node_modules/node-cron/dist/esm/promise/tracked-promise.js
2025-06-24 15:43:32 +02:00

55 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TrackedPromise = void 0;
class TrackedPromise {
promise;
error;
state;
value;
constructor(executor) {
this.state = 'pending';
this.promise = new Promise((resolve, reject) => {
executor((value) => {
this.state = 'fulfilled';
this.value = value;
resolve(value);
}, (error) => {
this.state = 'rejected';
this.error = error;
reject(error);
});
});
}
getPromise() {
return this.promise;
}
getState() {
return this.state;
}
isPending() {
return this.state === 'pending';
}
isFulfilled() {
return this.state === 'fulfilled';
}
isRejected() {
return this.state === 'rejected';
}
getValue() {
return this.value;
}
getError() {
return this.error;
}
then(onfulfilled, onrejected) {
return this.promise.then(onfulfilled, onrejected);
}
catch(onrejected) {
return this.promise.catch(onrejected);
}
finally(onfinally) {
return this.promise.finally(onfinally);
}
}
exports.TrackedPromise = TrackedPromise;
//# sourceMappingURL=tracked-promise.js.map