|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"use strict"; |
|
|
var TypeError = require("./errors.js").TypeError; |
|
|
|
|
|
function PromiseInspection(promise) { |
|
|
if (promise !== void 0) { |
|
|
this._bitField = promise._bitField; |
|
|
this._settledValue = promise.isResolved() |
|
|
? promise._settledValue |
|
|
: void 0; |
|
|
} |
|
|
else { |
|
|
this._bitField = 0; |
|
|
this._settledValue = void 0; |
|
|
} |
|
|
} |
|
|
PromiseInspection.prototype.isFulfilled = |
|
|
function PromiseInspection$isFulfilled() { |
|
|
return (this._bitField & 268435456) > 0; |
|
|
}; |
|
|
|
|
|
PromiseInspection.prototype.isRejected = |
|
|
function PromiseInspection$isRejected() { |
|
|
return (this._bitField & 134217728) > 0; |
|
|
}; |
|
|
|
|
|
PromiseInspection.prototype.isPending = function PromiseInspection$isPending() { |
|
|
return (this._bitField & 402653184) === 0; |
|
|
}; |
|
|
|
|
|
PromiseInspection.prototype.value = function PromiseInspection$value() { |
|
|
if (!this.isFulfilled()) { |
|
|
throw new TypeError("cannot get fulfillment value of a non-fulfilled promise"); |
|
|
} |
|
|
return this._settledValue; |
|
|
}; |
|
|
|
|
|
PromiseInspection.prototype.error = function PromiseInspection$error() { |
|
|
if (!this.isRejected()) { |
|
|
throw new TypeError("cannot get rejection reason of a non-rejected promise"); |
|
|
} |
|
|
return this._settledValue; |
|
|
}; |
|
|
|
|
|
module.exports = PromiseInspection; |
|
|
|