# all files / TypeScript.NET/dist/commonjs/System/Tasks/ TaskHandlerBase.js

54.55% Statements 30/55
34.29% Branches 12/35
38.46% Functions 5/13
38.71% Lines 12/31

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74

    5×

    1×

    1×

    1×

    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
     */
    "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; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { Eif (protoProps) defineProperties(Constructor.prototype, protoProps); Eif (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

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

    function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

    function _inherits(subClass, superClass) { Iif (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

    var DisposableBase_1 = require("../Disposable/DisposableBase");

    var TaskHandlerBase = function (_DisposableBase_1$def) {
        _inherits(TaskHandlerBase, _DisposableBase_1$def);

        function TaskHandlerBase() {
            _classCallCheck(this, TaskHandlerBase);

            var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(TaskHandlerBase).call(this));

            _this._id = null;
            return _this;
        }

        _createClass(TaskHandlerBase, [{
            key: "execute",
            value: function execute(defer) {
                this.cancel();
                if (isNaN(defer) || defer < 0) {
                    this._onExecute();
                } else if (isFinite(defer)) {
                    this._id = setTimeout(TaskHandlerBase._handler, defer, this);
                }
            }
        }, {
            key: "_onDispose",
            value: function _onDispose() {
                this.cancel();
            }
        }, {
            key: "cancel",
            value: function cancel() {
                var id = this._id;
                if (id) {
                    clearTimeout(id);
                    this._id = null;
                    return true;
                }
                return false;
            }
        }, {
            key: "isScheduled",
            get: function get() {
                return !!this._id;
            }
        }], [{
            key: "_handler",
            value: function _handler(d) {
                d.cancel();
                d._onExecute();
            }
        }]);

        return TaskHandlerBase;
    }(DisposableBase_1.default);

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