corrade-nucleus-nucleons – Blame information for rev 20

Subversion Repositories:
Rev:
Rev Author Line No. Line
20 office 1 "use strict";
2 module.exports = function(Promise) {
3 function PromiseInspection(promise) {
4 if (promise !== undefined) {
5 promise = promise._target();
6 this._bitField = promise._bitField;
7 this._settledValueField = promise._isFateSealed()
8 ? promise._settledValue() : undefined;
9 }
10 else {
11 this._bitField = 0;
12 this._settledValueField = undefined;
13 }
14 }
15  
16 PromiseInspection.prototype._settledValue = function() {
17 return this._settledValueField;
18 };
19  
20 var value = PromiseInspection.prototype.value = function () {
21 if (!this.isFulfilled()) {
22 throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\u000a\u000a See http://goo.gl/MqrFmX\u000a");
23 }
24 return this._settledValue();
25 };
26  
27 var reason = PromiseInspection.prototype.error =
28 PromiseInspection.prototype.reason = function () {
29 if (!this.isRejected()) {
30 throw new TypeError("cannot get rejection reason of a non-rejected promise\u000a\u000a See http://goo.gl/MqrFmX\u000a");
31 }
32 return this._settledValue();
33 };
34  
35 var isFulfilled = PromiseInspection.prototype.isFulfilled = function() {
36 return (this._bitField & 33554432) !== 0;
37 };
38  
39 var isRejected = PromiseInspection.prototype.isRejected = function () {
40 return (this._bitField & 16777216) !== 0;
41 };
42  
43 var isPending = PromiseInspection.prototype.isPending = function () {
44 return (this._bitField & 50397184) === 0;
45 };
46  
47 var isResolved = PromiseInspection.prototype.isResolved = function () {
48 return (this._bitField & 50331648) !== 0;
49 };
50  
51 PromiseInspection.prototype.isCancelled = function() {
52 return (this._bitField & 8454144) !== 0;
53 };
54  
55 Promise.prototype.__isCancelled = function() {
56 return (this._bitField & 65536) === 65536;
57 };
58  
59 Promise.prototype._isCancelled = function() {
60 return this._target().__isCancelled();
61 };
62  
63 Promise.prototype.isCancelled = function() {
64 return (this._target()._bitField & 8454144) !== 0;
65 };
66  
67 Promise.prototype.isPending = function() {
68 return isPending.call(this._target());
69 };
70  
71 Promise.prototype.isRejected = function() {
72 return isRejected.call(this._target());
73 };
74  
75 Promise.prototype.isFulfilled = function() {
76 return isFulfilled.call(this._target());
77 };
78  
79 Promise.prototype.isResolved = function() {
80 return isResolved.call(this._target());
81 };
82  
83 Promise.prototype.value = function() {
84 return value.call(this._target());
85 };
86  
87 Promise.prototype.reason = function() {
88 var target = this._target();
89 target._unsetRejectionIsUnhandled();
90 return reason.call(target);
91 };
92  
93 Promise.prototype._value = function() {
94 return this._settledValue();
95 };
96  
97 Promise.prototype._reason = function() {
98 this._unsetRejectionIsUnhandled();
99 return this._settledValue();
100 };
101  
102 Promise.PromiseInspection = PromiseInspection;
103 };