| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 | "use strict";var es5 = require("./es5");var Objectfreeze = es5.freeze;var util = require("./util");var inherits = util.inherits;var notEnumerableProp = util.notEnumerableProp;function subError(nameProperty, defaultMessage) {    function SubError(message) {        if (!(this instanceof SubError)) return new SubError(message);        notEnumerableProp(this, "message",            typeof message === "string" ? message : defaultMessage);        notEnumerableProp(this, "name", nameProperty);        if (Error.captureStackTrace) {            Error.captureStackTrace(this, this.constructor);        } else {            Error.call(this);        }    }    inherits(SubError, Error);    return SubError;}var _TypeError, _RangeError;var Warning = subError("Warning", "warning");var CancellationError = subError("CancellationError", "cancellation error");var TimeoutError = subError("TimeoutError", "timeout error");var AggregateError = subError("AggregateError", "aggregate error");try {    _TypeError = TypeError;    _RangeError = RangeError;} catch(e) {    _TypeError = subError("TypeError", "type error");    _RangeError = subError("RangeError", "range error");}var methods = ("join pop push shift unshift slice filter forEach some " +    "every map indexOf lastIndexOf reduce reduceRight sort reverse").split(" ");for (var i = 0; i < methods.length; ++i) {    if (typeof Array.prototype[methods[i]] === "function") {        AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];    }}es5.defineProperty(AggregateError.prototype, "length", {    value: 0,    configurable: false,    writable: true,    enumerable: true});AggregateError.prototype["isOperational"] = true;var level = 0;AggregateError.prototype.toString = function() {    var indent = Array(level * 4 + 1).join(" ");    var ret = "\n" + indent + "AggregateError of:" + "\n";    level++;    indent = Array(level * 4 + 1).join(" ");    for (var i = 0; i < this.length; ++i) {        var str = this[i] === this ? "[Circular AggregateError]" : this[i] + "";        var lines = str.split("\n");        for (var j = 0; j < lines.length; ++j) {            lines[j] = indent + lines[j];        }        str = lines.join("\n");        ret += str + "\n";    }    level--;    return ret;};function OperationalError(message) {    if (!(this instanceof OperationalError))        return new OperationalError(message);    notEnumerableProp(this, "name", "OperationalError");    notEnumerableProp(this, "message", message);    this.cause = message;    this["isOperational"] = true;    if (message instanceof Error) {        notEnumerableProp(this, "message", message.message);        notEnumerableProp(this, "stack", message.stack);    } else if (Error.captureStackTrace) {        Error.captureStackTrace(this, this.constructor);    }}inherits(OperationalError, Error);var errorTypes = Error["__BluebirdErrorTypes__"];if (!errorTypes) {    errorTypes = Objectfreeze({        CancellationError: CancellationError,        TimeoutError: TimeoutError,        OperationalError: OperationalError,        RejectionError: OperationalError,        AggregateError: AggregateError    });    es5.defineProperty(Error, "__BluebirdErrorTypes__", {        value: errorTypes,        writable: false,        enumerable: false,        configurable: false    });}module.exports = {    Error: Error,    TypeError: _TypeError,    RangeError: _RangeError,    CancellationError: errorTypes.CancellationError,    OperationalError: errorTypes.OperationalError,    TimeoutError: errorTypes.TimeoutError,    AggregateError: errorTypes.AggregateError,    Warning: Warning};
 |