UNPKG

@cross-border-bridge/memory-queue-data-bus

Version:
41 lines (40 loc) 1.37 kB
// Copyright © 2017 DWANGO Co., Ltd. var MemoryQueueDataBus = (function () { function MemoryQueueDataBus(sender, receiver) { this._sender = sender; this._receiver = receiver; this._handlers = []; var _this = this; this._receiver.setHandler(function () { for (var _i = 0, _a = _this._handlers; _i < _a.length; _i++) { var h = _a[_i]; h.apply(_this, arguments); } }); } MemoryQueueDataBus.prototype.send = function () { var data = []; for (var _i = 0; _i < arguments.length; _i++) { data[_i - 0] = arguments[_i]; } this._sender.send.apply(this._sender, data); }; MemoryQueueDataBus.prototype.addHandler = function (handler) { this._handlers.push(handler); }; MemoryQueueDataBus.prototype.removeHandler = function (handler) { var i = this._handlers.indexOf(handler); if (i < 0) return; this._handlers.splice(i, 1); }; MemoryQueueDataBus.prototype.removeAllHandlers = function () { this._handlers = []; }; MemoryQueueDataBus.prototype.destroy = function () { this.removeAllHandlers(); this._receiver.setHandler(undefined); }; return MemoryQueueDataBus; })(); exports.MemoryQueueDataBus = MemoryQueueDataBus;