rx-postmessenger
Version:
Minimal RxJS adapter for the window.postMessage API for request-response streams and notification streams across frame windows.
25 lines (24 loc) • 848 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MessageIDGenerator = void 0;
var GUIDGenerator_1 = require("./functions/GUIDGenerator");
var MessageIDGenerator = /** @class */ (function () {
function MessageIDGenerator(gen) {
if (gen === void 0) { gen = GUIDGenerator_1.GUIDGenerator(); }
this.gen = gen;
this.usedIDValues = [];
}
MessageIDGenerator.prototype.generateID = function () {
var newID;
do {
newID = this.gen.next().value;
} while (this.usedIDValues.indexOf(newID) >= 0);
this.invalidateID(newID);
return newID;
};
MessageIDGenerator.prototype.invalidateID = function (id) {
this.usedIDValues.push(id);
};
return MessageIDGenerator;
}());
exports.MessageIDGenerator = MessageIDGenerator;