rx-postmessenger
Version:
Minimal RxJS adapter for the window.postMessage API for request-response streams and notification streams across frame windows.
15 lines (14 loc) • 710 B
JavaScript
import { MessageFactory } from './MessageFactory';
import { MessageIDGenerator } from './MessageIDGenerator';
import { MessageValidator } from './MessageValidator';
import { Messenger } from './Messenger';
import { PostmessageAdapter } from './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(new MessageFactory(new MessageIDGenerator()), new MessageValidator(remoteWindow, remoteOrigin), new PostmessageAdapter(remoteWindow, remoteOrigin));
}
};
export default defaultNamespace;