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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbXV0ZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFLSSxlQUFtQixTQUF3QjtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRU0scUJBQUssR0FBWixVQUFhLFFBQWdDO1FBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsdURBQXVEO0lBQ2hELHFCQUFLLEdBQVosVUFBYSxLQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU87WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFDLFFBQVEsSUFBSyxPQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBZixDQUFlLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUNMLFlBQUM7QUFBRCxDQUFDLEFBeEJELElBd0JDO0FBeEJZLHNCQUFLIn0=