|
|
- 'use strict';
-
- var JSON3 = require('json3')
- , iframeUtils = require('./utils/iframe')
- ;
-
- function FacadeJS(transport) {
- this._transport = transport;
- transport.on('message', this._transportMessage.bind(this));
- transport.on('close', this._transportClose.bind(this));
- }
-
- FacadeJS.prototype._transportClose = function(code, reason) {
- iframeUtils.postMessage('c', JSON3.stringify([code, reason]));
- };
- FacadeJS.prototype._transportMessage = function(frame) {
- iframeUtils.postMessage('t', frame);
- };
- FacadeJS.prototype._send = function(data) {
- this._transport.send(data);
- };
- FacadeJS.prototype._close = function() {
- this._transport.close();
- this._transport.removeAllListeners();
- };
-
- module.exports = FacadeJS;
|