Sha256: 811590c1f1067d3e4336ca6b531bc8f73bf915e5c50d4b02bd03e964d739fccd

Contents?: true

Size: 1.72 KB

Versions: 49

Compression:

Stored size: 1.72 KB

Contents

/** PURE_IMPORTS_START .._Scheduler PURE_IMPORTS_END */
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b)
        if (b.hasOwnProperty(p))
            d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
import { Scheduler } from '../Scheduler';
export var AsyncScheduler = /*@__PURE__*/ (/*@__PURE__*/ function (_super) {
    __extends(AsyncScheduler, _super);
    function AsyncScheduler() {
        _super.apply(this, arguments);
        this.actions = [];
        /**
         * A flag to indicate whether the Scheduler is currently executing a batch of
         * queued actions.
         * @type {boolean}
         */
        this.active = false;
        /**
         * An internal ID used to track the latest asynchronous task such as those
         * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and
         * others.
         * @type {any}
         */
        this.scheduled = undefined;
    }
    AsyncScheduler.prototype.flush = function (action) {
        var actions = this.actions;
        if (this.active) {
            actions.push(action);
            return;
        }
        var error;
        this.active = true;
        do {
            if (error = action.execute(action.state, action.delay)) {
                break;
            }
        } while (action = actions.shift()); // exhaust the scheduler queue
        this.active = false;
        if (error) {
            while (action = actions.shift()) {
                action.unsubscribe();
            }
            throw error;
        }
    };
    return AsyncScheduler;
}(Scheduler));
//# sourceMappingURL=AsyncScheduler.js.map

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ilog-0.4.1 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
ilog-0.4.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
ilog-0.3.3 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-18.0.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.21.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.20.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.19.1 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.19.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.18.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.17.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.16.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.15.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.14.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.13.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.12.2 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.12.1 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.12.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.11.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.10.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js
govuk_publishing_components-17.9.0 node_modules/rxjs/_esm5/scheduler/AsyncScheduler.js