UNPKG

data-transport

Version:
26 lines 4.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BroadcastTransport = void 0; var tslib_1 = require("tslib"); var transport_1 = require("../transport"); var defaultChannel = '$$BroadcastChannel_Transport$$'; var BroadcastTransport = /** @class */ (function (_super) { tslib_1.__extends(BroadcastTransport, _super); function BroadcastTransport(_options) { if (_options === void 0) { _options = {}; } var _a = _options.channel, channel = _a === void 0 ? defaultChannel : _a, _b = _options.broadcastChannel, broadcastChannel = _b === void 0 ? new BroadcastChannel(channel) : _b, _c = _options.listener, listener = _c === void 0 ? function (callback) { var handler = function (_a) { var data = _a.data; callback(data); }; broadcastChannel.addEventListener('message', handler); return function () { broadcastChannel.removeEventListener('message', handler); }; } : _c, _d = _options.sender, sender = _d === void 0 ? function (message) { return broadcastChannel.postMessage(message); } : _d, options = tslib_1.__rest(_options, ["channel", "broadcastChannel", "listener", "sender"]); return _super.call(this, tslib_1.__assign(tslib_1.__assign({}, options), { listener: listener, sender: sender })) || this; } return BroadcastTransport; }(transport_1.Transport)); exports.BroadcastTransport = BroadcastTransport; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0VHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcG9ydHMvYnJvYWRjYXN0VHJhbnNwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSwwQ0FBeUM7QUFFekMsSUFBTSxjQUFjLEdBQUcsZ0NBQWdDLENBQUM7QUFheEQ7SUFFVSw4Q0FBWTtJQUNwQiw0QkFBWSxRQUF3QztRQUF4Qyx5QkFBQSxFQUFBLGFBQXdDO1FBRWhELElBQUEsS0FhRSxRQUFRLFFBYmMsRUFBeEIsT0FBTyxtQkFBRyxjQUFjLEtBQUEsRUFDeEIsS0FZRSxRQUFRLGlCQVpzQyxFQUFoRCxnQkFBZ0IsbUJBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBQSxFQUNoRCxLQVdFLFFBQVEsU0FIVCxFQVJELFFBQVEsbUJBQUcsVUFBQyxRQUFRO1lBQ2xCLElBQU0sT0FBTyxHQUFHLFVBQUMsRUFBdUM7b0JBQXJDLElBQUksVUFBQTtnQkFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQztZQUNGLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN0RCxPQUFPO2dCQUNMLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMzRCxDQUFDLENBQUM7UUFDSixDQUFDLEtBQUEsRUFDRCxLQUVFLFFBQVEsT0FGaUQsRUFBM0QsTUFBTSxtQkFBRyxVQUFDLE9BQU8sSUFBSyxPQUFBLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBckMsQ0FBcUMsS0FBQSxFQUN4RCxPQUFPLGtCQUNSLFFBQVEsRUFkTixxREFjTCxDQURXLENBQ0M7UUFDYixPQUFBLE1BQUssa0RBQ0EsT0FBTyxLQUNWLFFBQVEsVUFBQSxFQUNSLE1BQU0sUUFBQSxJQUNOLFNBQUM7SUFDTCxDQUFDO0lBQ0gseUJBQUM7QUFBRCxDQUFDLEFBekJELENBRVUscUJBQVMsR0F1QmxCO0FBRVEsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBCYXNlSW50ZXJhY3Rpb24sXG4gIExpc3RlbmVyT3B0aW9ucyxcbiAgVHJhbnNwb3J0T3B0aW9ucyxcbn0gZnJvbSAnLi4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFRyYW5zcG9ydCB9IGZyb20gJy4uL3RyYW5zcG9ydCc7XG5cbmNvbnN0IGRlZmF1bHRDaGFubmVsID0gJyQkQnJvYWRjYXN0Q2hhbm5lbF9UcmFuc3BvcnQkJCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0VHJhbnNwb3J0T3B0aW9ucyBleHRlbmRzIFBhcnRpYWw8VHJhbnNwb3J0T3B0aW9ucz4ge1xuICAvKipcbiAgICogU3BlY2lmeSBhIGJyb2FkY2FzdCBjaGFubmVsIG5hbWUuXG4gICAqL1xuICBjaGFubmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmeSBhIGJyb2FkY2FzdCBjaGFubmVsIGluc3RhbmNlLlxuICAgKi9cbiAgYnJvYWRjYXN0Q2hhbm5lbD86IEJyb2FkY2FzdENoYW5uZWw7XG59XG5cbmFic3RyYWN0IGNsYXNzIEJyb2FkY2FzdFRyYW5zcG9ydDxcbiAgVCBleHRlbmRzIEJhc2VJbnRlcmFjdGlvbiA9IGFueVxuPiBleHRlbmRzIFRyYW5zcG9ydDxUPiB7XG4gIGNvbnN0cnVjdG9yKF9vcHRpb25zOiBCcm9hZGNhc3RUcmFuc3BvcnRPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7XG4gICAgICBjaGFubmVsID0gZGVmYXVsdENoYW5uZWwsXG4gICAgICBicm9hZGNhc3RDaGFubmVsID0gbmV3IEJyb2FkY2FzdENoYW5uZWwoY2hhbm5lbCksXG4gICAgICBsaXN0ZW5lciA9IChjYWxsYmFjaykgPT4ge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKHsgZGF0YSB9OiBNZXNzYWdlRXZlbnQ8TGlzdGVuZXJPcHRpb25zPikgPT4ge1xuICAgICAgICAgIGNhbGxiYWNrKGRhdGEpO1xuICAgICAgICB9O1xuICAgICAgICBicm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBoYW5kbGVyKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICBicm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBoYW5kbGVyKTtcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBzZW5kZXIgPSAobWVzc2FnZSkgPT4gYnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZShtZXNzYWdlKSxcbiAgICAgIC4uLm9wdGlvbnNcbiAgICB9ID0gX29wdGlvbnM7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGxpc3RlbmVyLFxuICAgICAgc2VuZGVyLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB7IEJyb2FkY2FzdFRyYW5zcG9ydCB9O1xuIl19