“use strict”; module.exports = function(Promise) { function PromiseInspection(promise) {
if (promise !== undefined) { promise = promise._target(); this._bitField = promise._bitField; this._settledValue = promise._settledValue; } else { this._bitField = 0; this._settledValue = undefined; }
}
PromiseInspection.prototype.value = function () {
if (!this.isFulfilled()) { throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/hc1DLj\u000a"); } return this._settledValue;
};
PromiseInspection.prototype.error = PromiseInspection.prototype.reason = function () {
if (!this.isRejected()) { throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/hPuiwB\u000a"); } return this._settledValue;
};
PromiseInspection.prototype.isFulfilled = Promise.prototype._isFulfilled = function () {
return (this._bitField & 268435456) > 0;
};
PromiseInspection.prototype.isRejected = Promise.prototype._isRejected = function () {
return (this._bitField & 134217728) > 0;
};
PromiseInspection.prototype.isPending = Promise.prototype._isPending = function () {
return (this._bitField & 402653184) === 0;
};
PromiseInspection.prototype.isResolved = Promise.prototype._isResolved = function () {
return (this._bitField & 402653184) > 0;
};
Promise.prototype.isPending = function() {
return this._target()._isPending();
};
Promise.prototype.isRejected = function() {
return this._target()._isRejected();
};
Promise.prototype.isFulfilled = function() {
return this._target()._isFulfilled();
};
Promise.prototype.isResolved = function() {
return this._target()._isResolved();
};
Promise.prototype._value = function() {
return this._settledValue;
};
Promise.prototype._reason = function() {
this._unsetRejectionIsUnhandled(); return this._settledValue;
};
Promise.prototype.value = function() {
var target = this._target(); if (!target.isFulfilled()) { throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/hc1DLj\u000a"); } return target._settledValue;
};
Promise.prototype.reason = function() {
var target = this._target(); if (!target.isRejected()) { throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/hPuiwB\u000a"); } target._unsetRejectionIsUnhandled(); return target._settledValue;
};
Promise.PromiseInspection = PromiseInspection; };