corrade-nucleus-nucleons – Blame information for rev 24
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
20 | office | 1 | "use strict"; |
2 | module.exports = function(Promise) { |
||
3 | function returner() { |
||
4 | return this.value; |
||
5 | } |
||
6 | function thrower() { |
||
7 | throw this.reason; |
||
8 | } |
||
9 | |||
10 | Promise.prototype["return"] = |
||
11 | Promise.prototype.thenReturn = function (value) { |
||
12 | if (value instanceof Promise) value.suppressUnhandledRejections(); |
||
13 | return this._then( |
||
14 | returner, undefined, undefined, {value: value}, undefined); |
||
15 | }; |
||
16 | |||
17 | Promise.prototype["throw"] = |
||
18 | Promise.prototype.thenThrow = function (reason) { |
||
19 | return this._then( |
||
20 | thrower, undefined, undefined, {reason: reason}, undefined); |
||
21 | }; |
||
22 | |||
23 | Promise.prototype.catchThrow = function (reason) { |
||
24 | if (arguments.length <= 1) { |
||
25 | return this._then( |
||
26 | undefined, thrower, undefined, {reason: reason}, undefined); |
||
27 | } else { |
||
28 | var _reason = arguments[1]; |
||
29 | var handler = function() {throw _reason;}; |
||
30 | return this.caught(reason, handler); |
||
31 | } |
||
32 | }; |
||
33 | |||
34 | Promise.prototype.catchReturn = function (value) { |
||
35 | if (arguments.length <= 1) { |
||
36 | if (value instanceof Promise) value.suppressUnhandledRejections(); |
||
37 | return this._then( |
||
38 | undefined, returner, undefined, {value: value}, undefined); |
||
39 | } else { |
||
40 | var _value = arguments[1]; |
||
41 | if (_value instanceof Promise) _value.suppressUnhandledRejections(); |
||
42 | var handler = function() {return _value;}; |
||
43 | return this.caught(value, handler); |
||
44 | } |
||
45 | }; |
||
46 | }; |