notion-page-tree
Version:
Recursively fetch nested Notion pages from the root page/database/block node.
49 lines (48 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.makeQueryablePromise = void 0;
function makeQueryablePromise(promise, payload) {
// Don't modify any promise that has been already modified.
// if (promise.isFulfilled) return promise;
// Set initial state
var isPending = true;
var isRejected = false;
var isFulfilled = false;
var resolvedValue;
var rejectedValue;
var payloadValue = payload;
// Observe the promise, saving the fulfillment in a closure scope.
var result = promise
.then(function (v) {
isFulfilled = true;
isPending = false;
resolvedValue = v;
return v;
})
.catch(function (e) {
isRejected = true;
isPending = false;
rejectedValue = e;
return e.code;
});
result.isFulfilled = function () {
return isFulfilled;
};
result.isPending = function () {
return isPending;
};
result.isRejected = function () {
return isRejected;
};
result.getResolvedValue = function () {
return resolvedValue;
};
result.getRejectedValue = function () {
return rejectedValue;
};
result.getPayloadValue = function () {
return payloadValue;
};
return result;
}
exports.makeQueryablePromise = makeQueryablePromise;