$35 GRAYBYTE WORDPRESS FILE MANAGER $64

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/lib/node_modules/npm/node_modules/bluebird/js/release/

HOME
Current File : /lib/node_modules/npm/node_modules/bluebird/js/release//finally.js
"use strict";
module.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {
var util = require("./util");
var CancellationError = Promise.CancellationError;
var errorObj = util.errorObj;
var catchFilter = require("./catch_filter")(NEXT_FILTER);

function PassThroughHandlerContext(promise, type, handler) {
    this.promise = promise;
    this.type = type;
    this.handler = handler;
    this.called = false;
    this.cancelPromise = null;
}

PassThroughHandlerContext.prototype.isFinallyHandler = function() {
    return this.type === 0;
};

function FinallyHandlerCancelReaction(finallyHandler) {
    this.finallyHandler = finallyHandler;
}

FinallyHandlerCancelReaction.prototype._resultCancelled = function() {
    checkCancel(this.finallyHandler);
};

function checkCancel(ctx, reason) {
    if (ctx.cancelPromise != null) {
        if (arguments.length > 1) {
            ctx.cancelPromise._reject(reason);
        } else {
            ctx.cancelPromise._cancel();
        }
        ctx.cancelPromise = null;
        return true;
    }
    return false;
}

function succeed() {
    return finallyHandler.call(this, this.promise._target()._settledValue());
}
function fail(reason) {
    if (checkCancel(this, reason)) return;
    errorObj.e = reason;
    return errorObj;
}
function finallyHandler(reasonOrValue) {
    var promise = this.promise;
    var handler = this.handler;

    if (!this.called) {
        this.called = true;
        var ret = this.isFinallyHandler()
            ? handler.call(promise._boundValue())
            : handler.call(promise._boundValue(), reasonOrValue);
        if (ret === NEXT_FILTER) {
            return ret;
        } else if (ret !== undefined) {
            promise._setReturnedNonUndefined();
            var maybePromise = tryConvertToPromise(ret, promise);
            if (maybePromise instanceof Promise) {
                if (this.cancelPromise != null) {
                    if (maybePromise._isCancelled()) {
                        var reason =
                            new CancellationError("late cancellation observer");
                        promise._attachExtraTrace(reason);
                        errorObj.e = reason;
                        return errorObj;
                    } else if (maybePromise.isPending()) {
                        maybePromise._attachCancellationCallback(
                            new FinallyHandlerCancelReaction(this));
                    }
                }
                return maybePromise._then(
                    succeed, fail, undefined, this, undefined);
            }
        }
    }

    if (promise.isRejected()) {
        checkCancel(this);
        errorObj.e = reasonOrValue;
        return errorObj;
    } else {
        checkCancel(this);
        return reasonOrValue;
    }
}

Promise.prototype._passThrough = function(handler, type, success, fail) {
    if (typeof handler !== "function") return this.then();
    return this._then(success,
                      fail,
                      undefined,
                      new PassThroughHandlerContext(this, type, handler),
                      undefined);
};

Promise.prototype.lastly =
Promise.prototype["finally"] = function (handler) {
    return this._passThrough(handler,
                             0,
                             finallyHandler,
                             finallyHandler);
};


Promise.prototype.tap = function (handler) {
    return this._passThrough(handler, 1, finallyHandler);
};

Promise.prototype.tapCatch = function (handlerOrPredicate) {
    var len = arguments.length;
    if(len === 1) {
        return this._passThrough(handlerOrPredicate,
                                 1,
                                 undefined,
                                 finallyHandler);
    } else {
         var catchInstances = new Array(len - 1),
            j = 0, i;
        for (i = 0; i < len - 1; ++i) {
            var item = arguments[i];
            if (util.isObject(item)) {
                catchInstances[j++] = item;
            } else {
                return Promise.reject(new TypeError(
                    "tapCatch statement predicate: "
                    + "expecting an object but got " + util.classString(item)
                ));
            }
        }
        catchInstances.length = j;
        var handler = arguments[i];
        return this._passThrough(catchFilter(catchInstances, handler, this),
                                 1,
                                 undefined,
                                 finallyHandler);
    }

};

return PassThroughHandlerContext;
};

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
31 Aug 2024 8.02 AM
root / root
0755
any.js
0.411 KB
10 Mar 2021 9.36 PM
root / root
0644
assert.js
1.614 KB
10 Mar 2021 9.36 PM
root / root
0644
async.js
4.05 KB
10 Mar 2021 9.36 PM
root / root
0644
bind.js
1.924 KB
10 Mar 2021 9.36 PM
root / root
0644
bluebird.js
0.284 KB
10 Mar 2021 9.36 PM
root / root
0644
call_get.js
4.253 KB
10 Mar 2021 9.36 PM
root / root
0644
cancel.js
3.62 KB
10 Mar 2021 9.36 PM
root / root
0644
catch_filter.js
1.393 KB
10 Mar 2021 9.36 PM
root / root
0644
context.js
2.326 KB
10 Mar 2021 9.36 PM
root / root
0644
debuggability.js
29.63 KB
10 Mar 2021 9.36 PM
root / root
0644
direct_resolve.js
1.362 KB
10 Mar 2021 9.36 PM
root / root
0644
each.js
0.771 KB
10 Mar 2021 9.36 PM
root / root
0644
errors.js
3.63 KB
10 Mar 2021 9.36 PM
root / root
0644
es5.js
1.932 KB
10 Mar 2021 9.36 PM
root / root
0644
filter.js
0.307 KB
10 Mar 2021 9.36 PM
root / root
0644
finally.js
4.505 KB
10 Mar 2021 9.36 PM
root / root
0644
generators.js
7.579 KB
10 Mar 2021 9.36 PM
root / root
0644
join.js
8.025 KB
10 Mar 2021 9.36 PM
root / root
0644
map.js
5.251 KB
10 Mar 2021 9.36 PM
root / root
0644
method.js
1.727 KB
10 Mar 2021 9.36 PM
root / root
0644
nodeback.js
1.523 KB
10 Mar 2021 9.36 PM
root / root
0644
nodeify.js
1.608 KB
10 Mar 2021 9.36 PM
root / root
0644
promise.js
25.591 KB
10 Mar 2021 9.36 PM
root / root
0644
promise_array.js
5.084 KB
10 Mar 2021 9.36 PM
root / root
0644
promisify.js
11.896 KB
10 Mar 2021 9.36 PM
root / root
0644
props.js
3.044 KB
10 Mar 2021 9.36 PM
root / root
0644
queue.js
1.829 KB
10 Mar 2021 9.36 PM
root / root
0644
race.js
1.221 KB
10 Mar 2021 9.36 PM
root / root
0644
reduce.js
5.006 KB
10 Mar 2021 9.36 PM
root / root
0644
schedule.js
2.098 KB
10 Mar 2021 9.36 PM
root / root
0644
settle.js
1.233 KB
10 Mar 2021 9.36 PM
root / root
0644
some.js
3.866 KB
10 Mar 2021 9.36 PM
root / root
0644
synchronous_inspection.js
2.747 KB
10 Mar 2021 9.36 PM
root / root
0644
thenables.js
2.081 KB
10 Mar 2021 9.36 PM
root / root
0644
timers.js
2.339 KB
10 Mar 2021 9.36 PM
root / root
0644
using.js
7.349 KB
10 Mar 2021 9.36 PM
root / root
0644
util.js
10.279 KB
10 Mar 2021 9.36 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF