promiseState = (promise) =>
new Promise((resolve) => {
var uniqueValue = window["Symbol"] ? Symbol("unique") : /unique/;
function notifyPendingOrResolved(value) {
if (value === uniqueValue) {
return resolve(["pending", undefined]);
} else {
return resolve(["fulfilled", value]);
}
}
function notifyRejected(reason) {
return resolve(["rejected", reason]);
}
var race = [promise, Promise.resolve(uniqueValue)];
Promise.race(race).then(notifyPendingOrResolved, notifyRejected);
})