You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							104 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
	
	
							104 lines
						
					
					
						
							2.7 KiB
						
					
					
				| "use strict";
 | |
| module.exports = function(Promise) {
 | |
| function PromiseInspection(promise) {
 | |
|     if (promise !== undefined) {
 | |
|         promise = promise._target();
 | |
|         this._bitField = promise._bitField;
 | |
|         this._settledValueField = promise._isFateSealed()
 | |
|             ? promise._settledValue() : undefined;
 | |
|     }
 | |
|     else {
 | |
|         this._bitField = 0;
 | |
|         this._settledValueField = undefined;
 | |
|     }
 | |
| }
 | |
| 
 | |
| PromiseInspection.prototype._settledValue = function() {
 | |
|     return this._settledValueField;
 | |
| };
 | |
| 
 | |
| var value = 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/MqrFmX\u000a");
 | |
|     }
 | |
|     return this._settledValue();
 | |
| };
 | |
| 
 | |
| var reason = 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/MqrFmX\u000a");
 | |
|     }
 | |
|     return this._settledValue();
 | |
| };
 | |
| 
 | |
| var isFulfilled = PromiseInspection.prototype.isFulfilled = function() {
 | |
|     return (this._bitField & 33554432) !== 0;
 | |
| };
 | |
| 
 | |
| var isRejected = PromiseInspection.prototype.isRejected = function () {
 | |
|     return (this._bitField & 16777216) !== 0;
 | |
| };
 | |
| 
 | |
| var isPending = PromiseInspection.prototype.isPending = function () {
 | |
|     return (this._bitField & 50397184) === 0;
 | |
| };
 | |
| 
 | |
| var isResolved = PromiseInspection.prototype.isResolved = function () {
 | |
|     return (this._bitField & 50331648) !== 0;
 | |
| };
 | |
| 
 | |
| PromiseInspection.prototype.isCancelled = function() {
 | |
|     return (this._bitField & 8454144) !== 0;
 | |
| };
 | |
| 
 | |
| Promise.prototype.__isCancelled = function() {
 | |
|     return (this._bitField & 65536) === 65536;
 | |
| };
 | |
| 
 | |
| Promise.prototype._isCancelled = function() {
 | |
|     return this._target().__isCancelled();
 | |
| };
 | |
| 
 | |
| Promise.prototype.isCancelled = function() {
 | |
|     return (this._target()._bitField & 8454144) !== 0;
 | |
| };
 | |
| 
 | |
| Promise.prototype.isPending = function() {
 | |
|     return isPending.call(this._target());
 | |
| };
 | |
| 
 | |
| Promise.prototype.isRejected = function() {
 | |
|     return isRejected.call(this._target());
 | |
| };
 | |
| 
 | |
| Promise.prototype.isFulfilled = function() {
 | |
|     return isFulfilled.call(this._target());
 | |
| };
 | |
| 
 | |
| Promise.prototype.isResolved = function() {
 | |
|     return isResolved.call(this._target());
 | |
| };
 | |
| 
 | |
| Promise.prototype.value = function() {
 | |
|     return value.call(this._target());
 | |
| };
 | |
| 
 | |
| Promise.prototype.reason = function() {
 | |
|     var target = this._target();
 | |
|     target._unsetRejectionIsUnhandled();
 | |
|     return reason.call(target);
 | |
| };
 | |
| 
 | |
| Promise.prototype._value = function() {
 | |
|     return this._settledValue();
 | |
| };
 | |
| 
 | |
| Promise.prototype._reason = function() {
 | |
|     this._unsetRejectionIsUnhandled();
 | |
|     return this._settledValue();
 | |
| };
 | |
| 
 | |
| Promise.PromiseInspection = PromiseInspection;
 | |
| };
 |