@zoranwong/acc-engine.js
Version:
A javascript framework to accelerate your applicatin developement
158 lines (118 loc) • 5.38 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase"));
var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey"));
var _Adapter2 = _interopRequireDefault(require("./Adapter"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
var _sockets = (0, _classPrivateFieldLooseKey2["default"])("sockets");
var _currentSocket = (0, _classPrivateFieldLooseKey2["default"])("currentSocket");
var WebsocketAdapter = /*#__PURE__*/function (_Adapter) {
(0, _inherits2["default"])(WebsocketAdapter, _Adapter);
var _super = _createSuper(WebsocketAdapter);
/**@property {WebSocket} #currentSocket*/
function WebsocketAdapter(app) {
var _this;
(0, _classCallCheck2["default"])(this, WebsocketAdapter);
_this = _super.call(this, app);
Object.defineProperty((0, _assertThisInitialized2["default"])(_this), _sockets, {
writable: true,
value: {}
});
Object.defineProperty((0, _assertThisInitialized2["default"])(_this), _currentSocket, {
writable: true,
value: null
});
_this.socket();
return _this;
}
/**
* @return {WebSocket}
* */
(0, _createClass2["default"])(WebsocketAdapter, [{
key: "socket",
/**
* @param {String} socket
* @return {WebsocketAdapter}
* */
value: function socket() {
var _socket = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';
if (!(0, _classPrivateFieldLooseBase2["default"])(this, _sockets)[_sockets][_socket]) {
var _this$config$_socket = this.config[_socket],
gateway = _this$config$_socket.gateway,
protocol = _this$config$_socket.protocol;
(0, _classPrivateFieldLooseBase2["default"])(this, _sockets)[_sockets][_socket] = new WebSocket(gateway, protocol);
}
(0, _classPrivateFieldLooseBase2["default"])(this, _currentSocket)[_currentSocket] = (0, _classPrivateFieldLooseBase2["default"])(this, _sockets)[_sockets][_socket];
return this;
}
}, {
key: "onOpen",
value: function onOpen(_onOpen) {
var _this2 = this;
this.currentSocket.onopen = function (event) {
(0, _newArrowCheck2["default"])(this, _this2);
_onOpen.call(this, event);
}.bind(this);
return this;
}
}, {
key: "onClose",
value: function onClose(_onClose) {
var _this3 = this;
this.currentSocket.onclose = function (event) {
(0, _newArrowCheck2["default"])(this, _this3);
_onClose.call(this, event);
}.bind(this);
return this;
}
}, {
key: "onError",
value: function onError(_onError) {
var _this4 = this;
this.currentSocket.onerror = function (event) {
(0, _newArrowCheck2["default"])(this, _this4);
_onError.call(this, event);
}.bind(this);
return this;
}
}, {
key: "onMessage",
value: function onMessage(_onMessage) {
var _this5 = this;
this.currentSocket.onmessage = function (event) {
(0, _newArrowCheck2["default"])(this, _this5);
_onMessage.call(this, event);
}.bind(this);
return this;
}
}, {
key: "close",
value: function close(code, reason) {
this.currentSocket.close(code, reason);
}
}, {
key: "send",
value: function send(data) {
this.currentSocket.send(data);
}
}, {
key: "currentSocket",
get: function get() {
return (0, _classPrivateFieldLooseBase2["default"])(this, _currentSocket)[_currentSocket];
}
}]);
return WebsocketAdapter;
}(_Adapter2["default"]);
exports["default"] = WebsocketAdapter;