rx-postmessenger
Version:
Minimal RxJS adapter for the window.postMessage API for request-response streams and notification streams across frame windows.
17 lines (16 loc) • 885 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var MessageFactory_1 = require("./MessageFactory");
var MessageIDGenerator_1 = require("./MessageIDGenerator");
var MessageValidator_1 = require("./MessageValidator");
var Messenger_1 = require("./Messenger");
var PostmessageAdapter_1 = require("./PostmessageAdapter");
var defaultNamespace = {
connect: function (remoteWindow, remoteOrigin) {
if (window === remoteWindow) {
throw new Error('Remote window can not be the same as the local window environment');
}
return new Messenger_1.Messenger(new MessageFactory_1.MessageFactory(new MessageIDGenerator_1.MessageIDGenerator()), new MessageValidator_1.MessageValidator(remoteWindow, remoteOrigin), new PostmessageAdapter_1.PostmessageAdapter(remoteWindow, remoteOrigin));
}
};
exports.default = defaultNamespace;