UNPKG

data-transport

Version:
23 lines 4.44 kB
import { __assign, __extends, __rest } from "tslib"; import { Transport } from '../transport'; var defaultChannel = '$$BroadcastChannel_Transport$$'; var BroadcastTransport = /** @class */ (function (_super) { __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 = __rest(_options, ["channel", "broadcastChannel", "listener", "sender"]); return _super.call(this, __assign(__assign({}, options), { listener: listener, sender: sender })) || this; } return BroadcastTransport; }(Transport)); export { BroadcastTransport }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0VHJhbnNwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcG9ydHMvYnJvYWRjYXN0VHJhbnNwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFLQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLElBQU0sY0FBYyxHQUFHLGdDQUFnQyxDQUFDO0FBYXhEO0lBRVUsc0NBQVk7SUFDcEIsNEJBQVksUUFBd0M7UUFBeEMseUJBQUEsRUFBQSxhQUF3QztRQUVoRCxJQUFBLEtBYUUsUUFBUSxRQWJjLEVBQXhCLE9BQU8sbUJBQUcsY0FBYyxLQUFBLEVBQ3hCLEtBWUUsUUFBUSxpQkFac0MsRUFBaEQsZ0JBQWdCLG1CQUFHLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUEsRUFDaEQsS0FXRSxRQUFRLFNBSFQsRUFSRCxRQUFRLG1CQUFHLFVBQUMsUUFBUTtZQUNsQixJQUFNLE9BQU8sR0FBRyxVQUFDLEVBQXVDO29CQUFyQyxJQUFJLFVBQUE7Z0JBQ3JCLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUM7WUFDRixnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdEQsT0FBTztnQkFDTCxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0QsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxLQUFBLEVBQ0QsS0FFRSxRQUFRLE9BRmlELEVBQTNELE1BQU0sbUJBQUcsVUFBQyxPQUFPLElBQUssT0FBQSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQXJDLENBQXFDLEtBQUEsRUFDeEQsT0FBTyxVQUNSLFFBQVEsRUFkTixxREFjTCxDQURXLENBQ0M7UUFDYixPQUFBLE1BQUssa0NBQ0EsT0FBTyxLQUNWLFFBQVEsVUFBQSxFQUNSLE1BQU0sUUFBQSxJQUNOLFNBQUM7SUFDTCxDQUFDO0lBQ0gseUJBQUM7QUFBRCxDQUFDLEFBekJELENBRVUsU0FBUyxHQXVCbEI7QUFFRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQmFzZUludGVyYWN0aW9uLFxuICBMaXN0ZW5lck9wdGlvbnMsXG4gIFRyYW5zcG9ydE9wdGlvbnMsXG59IGZyb20gJy4uL2ludGVyZmFjZSc7XG5pbXBvcnQgeyBUcmFuc3BvcnQgfSBmcm9tICcuLi90cmFuc3BvcnQnO1xuXG5jb25zdCBkZWZhdWx0Q2hhbm5lbCA9ICckJEJyb2FkY2FzdENoYW5uZWxfVHJhbnNwb3J0JCQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJyb2FkY2FzdFRyYW5zcG9ydE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPFRyYW5zcG9ydE9wdGlvbnM+IHtcbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBicm9hZGNhc3QgY2hhbm5lbCBuYW1lLlxuICAgKi9cbiAgY2hhbm5lbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBicm9hZGNhc3QgY2hhbm5lbCBpbnN0YW5jZS5cbiAgICovXG4gIGJyb2FkY2FzdENoYW5uZWw/OiBCcm9hZGNhc3RDaGFubmVsO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBCcm9hZGNhc3RUcmFuc3BvcnQ8XG4gIFQgZXh0ZW5kcyBCYXNlSW50ZXJhY3Rpb24gPSBhbnlcbj4gZXh0ZW5kcyBUcmFuc3BvcnQ8VD4ge1xuICBjb25zdHJ1Y3Rvcihfb3B0aW9uczogQnJvYWRjYXN0VHJhbnNwb3J0T3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgY2hhbm5lbCA9IGRlZmF1bHRDaGFubmVsLFxuICAgICAgYnJvYWRjYXN0Q2hhbm5lbCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKGNoYW5uZWwpLFxuICAgICAgbGlzdGVuZXIgPSAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9ICh7IGRhdGEgfTogTWVzc2FnZUV2ZW50PExpc3RlbmVyT3B0aW9ucz4pID0+IHtcbiAgICAgICAgICBjYWxsYmFjayhkYXRhKTtcbiAgICAgICAgfTtcbiAgICAgICAgYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgaGFuZGxlcik7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgYnJvYWRjYXN0Q2hhbm5lbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgaGFuZGxlcik7XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgc2VuZGVyID0gKG1lc3NhZ2UpID0+IGJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UobWVzc2FnZSksXG4gICAgICAuLi5vcHRpb25zXG4gICAgfSA9IF9vcHRpb25zO1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBsaXN0ZW5lcixcbiAgICAgIHNlbmRlcixcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgeyBCcm9hZGNhc3RUcmFuc3BvcnQgfTtcbiJdfQ==