UNPKG

async-dependency-graph

Version:

A dependency graph that can traverse asynchronous nodes.

26 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mutex = void 0; var Mutex = /** @class */ (function () { function Mutex(readyTest) { this.readyTest = readyTest; } Mutex.prototype.await = function (callback) { if (this.readyTest() === true) { callback(); } else { this.waiting = this.waiting || []; this.waiting.push(callback); } }; // called when we know what we are waiting for is ready Mutex.prototype.ready = function (error) { if (this.waiting) this.waiting.forEach(function (callback) { return callback(error); }); delete this.waiting; }; return Mutex; }()); exports.Mutex = Mutex; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbXV0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFLSSxlQUFtQixTQUF3QjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRU0scUJBQUssR0FBWixVQUFhLFFBQWdDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMzQixRQUFRLEVBQUUsQ0FBQztTQUNkO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELHVEQUF1RDtJQUNoRCxxQkFBSyxHQUFaLFVBQWEsS0FBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUFRLElBQUssT0FBQSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQWYsQ0FBZSxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFDTCxZQUFDO0FBQUQsQ0FBQyxBQXhCRCxJQXdCQztBQXhCWSxzQkFBSyJ9