source: frontend/node_modules/bluebird/js/release/method.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.7 KB
Line 
1"use strict";
2module.exports =
3function(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {
4var util = require("./util");
5var tryCatch = util.tryCatch;
6
7Promise.method = function (fn) {
8 if (typeof fn !== "function") {
9 throw new Promise.TypeError("expecting a function but got " + util.classString(fn));
10 }
11 return function () {
12 var ret = new Promise(INTERNAL);
13 ret._captureStackTrace();
14 ret._pushContext();
15 var value = tryCatch(fn).apply(this, arguments);
16 var promiseCreated = ret._popContext();
17 debug.checkForgottenReturns(
18 value, promiseCreated, "Promise.method", ret);
19 ret._resolveFromSyncValue(value);
20 return ret;
21 };
22};
23
24Promise.attempt = Promise["try"] = function (fn) {
25 if (typeof fn !== "function") {
26 return apiRejection("expecting a function but got " + util.classString(fn));
27 }
28 var ret = new Promise(INTERNAL);
29 ret._captureStackTrace();
30 ret._pushContext();
31 var value;
32 if (arguments.length > 1) {
33 debug.deprecated("calling Promise.try with more than 1 argument");
34 var arg = arguments[1];
35 var ctx = arguments[2];
36 value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)
37 : tryCatch(fn).call(ctx, arg);
38 } else {
39 value = tryCatch(fn)();
40 }
41 var promiseCreated = ret._popContext();
42 debug.checkForgottenReturns(
43 value, promiseCreated, "Promise.try", ret);
44 ret._resolveFromSyncValue(value);
45 return ret;
46};
47
48Promise.prototype._resolveFromSyncValue = function (value) {
49 if (value === util.errorObj) {
50 this._rejectCallback(value.e, false);
51 } else {
52 this._resolveCallback(value, true);
53 }
54};
55};
Note: See TracBrowser for help on using the repository browser.