# all files / TypeScript.NET/dist/commonjs/System/ Exception.js

47.83% Statements 22/46
19.23% Branches 5/26
44.44% Functions 4/9
33.33% Lines 9/27

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60

    3×

    1×

    1×

    1×
    1×

    1×

    1×

    1×
    1×

     /*!
     * @author electricessence / https://github.com/electricessence/
     * Licensing: MIT https://github.com/electricessence/TypeScript.NET/blob/master/LICENSE.md
     * Based upon: https://msdn.microsoft.com/en-us/library/System.Exception%28v=vs.110%29.aspx
     */
    'use strict';

    var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; Eif ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { Eif (protoProps) defineProperties(Constructor.prototype, protoProps); Iif (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

    function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

    var NAME = 'Exception';

    var Exception = function () {
        function Exception() {
            var message = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];
            var innerException = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];
            var beforeSealing = arguments[2];

            _classCallCheck(this, Exception);

            this.message = message;
            var _ = this;
            _.name = _.getName();
            _.data = {};
            if (innerException) _.data['innerException'] = innerException;
            if (beforeSealing) beforeSealing(_);
            Object.freeze(_);
        }

        _createClass(Exception, [{
            key: 'getName',
            value: function getName() {
                return NAME;
            }
        }, {
            key: 'toString',
            value: function toString() {
                var _ = this,
                    m = _.message;
                m = m ? ': ' + m : '';
                return '[' + _.name + m + ']';
            }
        }, {
            key: 'dispose',
            value: function dispose() {
                var data = this.data;
                for (var k in data) {
                    if (data.hasOwnProperty(k)) delete data[k];
                }
            }
        }]);

        return Exception;
    }();

    Object.defineProperty(exports, "__esModule", { value: true });
    exports.default = Exception;
    //# sourceMappingURL=Exception.js.map