backendless-rt-client
Advanced tools
Comparing version 0.4.0 to 0.5.0-dev.1
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,29 +8,16 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _config = _interopRequireDefault(require("./config")); | ||
var _subscriptions = _interopRequireDefault(require("./subscriptions")); | ||
var _methods = _interopRequireDefault(require("./methods")); | ||
var _session = _interopRequireDefault(require("./session")); | ||
var CONNECTION_MANAGE_EVENTS = [_constants.NativeSocketEvents.CONNECTING, _constants.NativeSocketEvents.CONNECT, _constants.NativeSocketEvents.CONNECT_ERROR, _constants.NativeSocketEvents.DISCONNECT, _constants.NativeSocketEvents.RECONNECT_ATTEMPT]; | ||
var RTClient = /*#__PURE__*/function () { | ||
var RTClient = exports["default"] = /*#__PURE__*/function () { | ||
function RTClient(config) { | ||
var _this = this; | ||
(0, _classCallCheck2["default"])(this, RTClient); | ||
@@ -41,3 +27,2 @@ (0, _defineProperty2["default"])(this, "onConnectError", function () { | ||
_this.disconnect('There are no active subscriptions and methods'); | ||
_this.connectible = true; | ||
@@ -51,6 +36,4 @@ } | ||
} | ||
if (_this.connectible) { | ||
var rtSocketPromise = _this.provideConnection(); | ||
if (_this.connected) { | ||
@@ -68,7 +51,4 @@ rtSocketPromise.then(function (rtSocket) { | ||
_this.subscriptions.stop(); | ||
_this.methods.stop(); | ||
delete _this.session; | ||
_this.provideConnection(); | ||
@@ -80,3 +60,2 @@ }); | ||
} | ||
if (_this.socketEvents[event]) { | ||
@@ -88,2 +67,3 @@ _this.socketEvents[event].forEach(function (callback) { | ||
}); | ||
/* eslint-disable max-len */ | ||
(0, _defineProperty2["default"])(this, "addConnectingEventListener", function (callback) { | ||
@@ -119,2 +99,3 @@ return _this.addSocketEventListener(_constants.NativeSocketEvents.CONNECTING, callback); | ||
}); | ||
/* eslint-enable max-len */ | ||
(0, _defineProperty2["default"])(this, "removeConnectionListeners", function () { | ||
@@ -136,4 +117,3 @@ CONNECTION_MANAGE_EVENTS.forEach(function (event) { | ||
} | ||
(0, _createClass2["default"])(RTClient, [{ | ||
return (0, _createClass2["default"])(RTClient, [{ | ||
key: "resetSocketEvents", | ||
@@ -148,3 +128,2 @@ value: function resetSocketEvents() { | ||
this.config.set(config); | ||
if (this.session) { | ||
@@ -159,3 +138,2 @@ this.disconnect('Re-config socket connection'); | ||
var _this2 = this; | ||
if (!this.session) { | ||
@@ -165,13 +143,8 @@ this.session = new _session["default"](this.config, this.emitSocketEventListeners, this.onSessionDisconnect); | ||
_this2.connected = true; | ||
_this2.methods.initialize(); | ||
_this2.methods.restore(); | ||
_this2.subscriptions.initialize(); | ||
_this2.subscriptions.restore(); | ||
}); | ||
} | ||
return this.session.getSocket(); | ||
@@ -182,33 +155,25 @@ } | ||
value: function () { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!this.session) { | ||
_context.next = 4; | ||
break; | ||
} | ||
_context.next = 3; | ||
return this.session.getConnectionId(); | ||
case 3: | ||
return _context.abrupt("return", _context.sent); | ||
case 4: | ||
return _context.abrupt("return", null); | ||
case 5: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!this.session) { | ||
_context.next = 4; | ||
break; | ||
} | ||
_context.next = 3; | ||
return this.session.getConnectionId(); | ||
case 3: | ||
return _context.abrupt("return", _context.sent); | ||
case 4: | ||
return _context.abrupt("return", null); | ||
case 5: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getConnectionId() { | ||
return _getConnectionId.apply(this, arguments); | ||
} | ||
return getConnectionId; | ||
@@ -232,3 +197,2 @@ }() | ||
} | ||
this.connectible = false; | ||
@@ -259,3 +223,2 @@ this.connected = false; | ||
}) : []; | ||
if (!this.socketEvents[event].length) { | ||
@@ -265,9 +228,5 @@ delete this.socketEvents[event]; | ||
} | ||
return this; | ||
} | ||
}]); | ||
return RTClient; | ||
}(); | ||
exports["default"] = RTClient; | ||
}(); |
194
es/config.js
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,45 +8,31 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _backendlessRequest = _interopRequireDefault(require("backendless-request")); | ||
var isUndefined = function isUndefined(value) { | ||
return typeof value === 'undefined'; | ||
}; | ||
var isString = function isString(value) { | ||
return typeof value === 'string'; | ||
}; | ||
var isFunction = function isFunction(value) { | ||
return typeof value === 'function'; | ||
}; | ||
var isObject = function isObject(value) { | ||
return (0, _typeof2["default"])(value) === 'object' && value !== null; | ||
}; | ||
var RTConfig = /*#__PURE__*/function () { | ||
var RTConfig = exports["default"] = /*#__PURE__*/function () { | ||
function RTConfig(config) { | ||
(0, _classCallCheck2["default"])(this, RTConfig); | ||
this.appId = null; | ||
this.lookupPath = null; | ||
this.lookupHeaders = {}; | ||
this.debugMode = false; | ||
this.connectQuery = {}; | ||
this.socketConfigTransform = null; | ||
this.hostResolver = null; | ||
this.socketConfig = null; | ||
this.set(config); | ||
} | ||
(0, _createClass2["default"])(RTConfig, [{ | ||
return (0, _createClass2["default"])(RTConfig, [{ | ||
key: "set", | ||
@@ -58,3 +43,7 @@ value: function set(config) { | ||
} | ||
if (!isUndefined(config.hostResolver)) { | ||
if (isFunction(config.hostResolver)) { | ||
this.hostResolver = config.hostResolver; | ||
} | ||
} | ||
if (!isUndefined(config.appId)) { | ||
@@ -64,26 +53,7 @@ if (!isString(config.appId)) { | ||
} | ||
this.appId = config.appId; | ||
} | ||
if (!isUndefined(config.lookupPath)) { | ||
if (!isString(config.lookupPath)) { | ||
throw new Error('"lookupPath" must be String.'); | ||
} | ||
this.lookupPath = config.lookupPath; | ||
} | ||
if (!isUndefined(config.lookupHeaders)) { | ||
if (!isObject(config.lookupHeaders)) { | ||
throw new Error('"lookupHeaders" must be Object.'); | ||
} | ||
this.lookupHeaders = config.lookupHeaders; | ||
} | ||
if (!isUndefined(config.debugMode)) { | ||
this.debugMode = !!config.debugMode; | ||
} | ||
if (!isUndefined(config.connectQuery)) { | ||
@@ -98,3 +68,2 @@ if (isFunction(config.connectQuery)) { | ||
} | ||
if (!isUndefined(config.socketConfigTransform)) { | ||
@@ -114,76 +83,95 @@ if (isFunction(config.socketConfigTransform)) { | ||
}, { | ||
key: "prepare", | ||
key: "getSocketConfig", | ||
value: function getSocketConfig() { | ||
return this.socketConfig; | ||
} | ||
}, { | ||
key: "getHost", | ||
value: function () { | ||
var _prepare = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var host, url, path, query, socketConfig; | ||
var _getHost = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var host; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (isString(this.lookupPath)) { | ||
_context.next = 2; | ||
break; | ||
} | ||
throw new Error('lookupPath must be String'); | ||
case 2: | ||
_context.next = 4; | ||
return _backendlessRequest["default"].get(this.lookupPath).set(this.lookupHeaders); | ||
case 4: | ||
host = _context.sent; | ||
url = this.appId ? "".concat(host, "/").concat(this.appId) : host; | ||
path = this.appId ? "/".concat(this.appId) : undefined; | ||
query = this.getConnectQuery(); | ||
this.socketConfig = { | ||
host: host, | ||
url: url, | ||
options: { | ||
path: path, | ||
query: query, | ||
forceNew: true, | ||
autoConnect: false, | ||
reconnection: false | ||
} | ||
}; | ||
if (!this.socketConfigTransform) { | ||
_context.next = 14; | ||
break; | ||
} | ||
_context.next = 12; | ||
return this.socketConfigTransform(this.socketConfig); | ||
case 12: | ||
socketConfig = _context.sent; | ||
if (socketConfig) { | ||
this.socketConfig = socketConfig; | ||
} | ||
case 14: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!(isUndefined(this.hostResolver) || !isFunction(this.hostResolver))) { | ||
_context.next = 2; | ||
break; | ||
} | ||
throw new Error('"hostResolver" must be a function'); | ||
case 2: | ||
_context.next = 4; | ||
return this.hostResolver(); | ||
case 4: | ||
host = _context.sent; | ||
if (!(!host || typeof host !== 'string')) { | ||
_context.next = 7; | ||
break; | ||
} | ||
throw new Error('"hostResolver" must return a valid string'); | ||
case 7: | ||
return _context.abrupt("return", host); | ||
case 8: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getHost() { | ||
return _getHost.apply(this, arguments); | ||
} | ||
return getHost; | ||
}() | ||
}, { | ||
key: "prepare", | ||
value: function () { | ||
var _prepare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() { | ||
var query, host, url, path; | ||
return _regenerator["default"].wrap(function _callee2$(_context2) { | ||
while (1) switch (_context2.prev = _context2.next) { | ||
case 0: | ||
query = this.getConnectQuery(); | ||
_context2.next = 3; | ||
return this.getHost(); | ||
case 3: | ||
host = _context2.sent; | ||
url = this.appId ? "".concat(host, "/").concat(this.appId) : host; | ||
path = this.appId ? "/".concat(this.appId) : undefined; | ||
this.socketConfig = { | ||
host: host, | ||
url: url, | ||
options: { | ||
path: path, | ||
query: query, | ||
forceNew: true, | ||
autoConnect: false, | ||
reconnection: false | ||
} | ||
}; | ||
if (!this.socketConfigTransform) { | ||
_context2.next = 14; | ||
break; | ||
} | ||
_context2.next = 10; | ||
return this.socketConfigTransform(this.socketConfig); | ||
case 10: | ||
_context2.t0 = _context2.sent; | ||
if (_context2.t0) { | ||
_context2.next = 13; | ||
break; | ||
} | ||
_context2.t0 = this.socketConfig; | ||
case 13: | ||
this.socketConfig = _context2.t0; | ||
case 14: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
}, _callee2, this); | ||
})); | ||
function prepare() { | ||
return _prepare.apply(this, arguments); | ||
} | ||
return prepare; | ||
}() | ||
}, { | ||
key: "getSocketConfig", | ||
value: function getSocketConfig() { | ||
return this.socketConfig; | ||
} | ||
}]); | ||
return RTConfig; | ||
}(); | ||
exports["default"] = RTConfig; | ||
}(); |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.RTSubscriptionTypes = exports.RTSocketEvents = exports.RTMethodTypes = exports.NativeSocketEvents = void 0; | ||
var NativeSocketEvents = { | ||
var NativeSocketEvents = exports.NativeSocketEvents = { | ||
CONNECTING: 'connecting', | ||
@@ -23,4 +23,3 @@ CONNECT: 'connect', | ||
}; | ||
exports.NativeSocketEvents = NativeSocketEvents; | ||
var RTSocketEvents = { | ||
var RTSocketEvents = exports.RTSocketEvents = { | ||
SUB_ON: 'SUB_ON', | ||
@@ -33,4 +32,3 @@ SUB_OFF: 'SUB_OFF', | ||
}; | ||
exports.RTSocketEvents = RTSocketEvents; | ||
var RTSubscriptionTypes = { | ||
var RTSubscriptionTypes = exports.RTSubscriptionTypes = { | ||
OBJECTS_CHANGES: 'OBJECTS_CHANGES', | ||
@@ -50,11 +48,12 @@ RELATIONS_CHANGES: 'RELATIONS_CHANGES', | ||
//----------- FOR CONSOLE ONLY ------------// | ||
LOGGING_MESSAGES: 'LOGGING_MESSAGES', | ||
CONSOLE_MESSAGES: 'CONSOLE_MESSAGES', | ||
DEVELOPER_MESSAGES: 'DEVELOPER_MESSAGES', | ||
AUTOMATION_MESSAGES: 'AUTOMATION_MESSAGES' //----------- FOR CONSOLE ONLY ------------// | ||
AUTOMATION_MESSAGES: 'AUTOMATION_MESSAGES' | ||
//----------- FOR CONSOLE ONLY ------------// | ||
//-----------------------------------------// | ||
}; | ||
exports.RTSubscriptionTypes = RTSubscriptionTypes; | ||
var RTMethodTypes = { | ||
var RTMethodTypes = exports.RTMethodTypes = { | ||
SET_USER_TOKEN: 'SET_USER_TOKEN', | ||
@@ -67,3 +66,2 @@ RSO_GET: 'RSO_GET', | ||
PUB_SUB_COMMAND: 'PUB_SUB_COMMAND' | ||
}; | ||
exports.RTMethodTypes = RTMethodTypes; | ||
}; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = exports.RTScopeConnector = exports.RTListeners = void 0; | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _backendlessRequest = _interopRequireDefault(require("backendless-request")); | ||
var _client = _interopRequireDefault(require("./client")); | ||
var _listeners = _interopRequireDefault(require("./listeners")); | ||
var _scopeConnector = _interopRequireDefault(require("./scope-connector")); | ||
var root = (typeof self === "undefined" ? "undefined" : (0, _typeof2["default"])(self)) === 'object' && self.self === self && self || (typeof global === "undefined" ? "undefined" : (0, _typeof2["default"])(global)) === 'object' && global.global === global && global; | ||
@@ -25,13 +18,8 @@ _client["default"].Request = _backendlessRequest["default"]; | ||
_client["default"].ScopeConnector = _scopeConnector["default"]; | ||
if (root) { | ||
root.BackendlessRTClient = _client["default"]; | ||
} | ||
module.exports = _client["default"]; | ||
var _default = _client["default"]; | ||
exports["default"] = _default; | ||
var RTListeners = _listeners["default"]; | ||
exports.RTListeners = RTListeners; | ||
var RTScopeConnector = _scopeConnector["default"]; | ||
exports.RTScopeConnector = RTScopeConnector; | ||
var _default = exports["default"] = _client["default"]; | ||
var RTListeners = exports.RTListeners = _listeners["default"]; | ||
var RTScopeConnector = exports.RTScopeConnector = _scopeConnector["default"]; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,14 +8,8 @@ value: true | ||
exports["default"] = void 0; | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var RTListeners = /*#__PURE__*/function () { | ||
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
var RTListeners = exports["default"] = /*#__PURE__*/function () { | ||
function RTListeners() { | ||
@@ -27,13 +20,11 @@ (0, _classCallCheck2["default"])(this, RTListeners); | ||
} | ||
(0, _createClass2["default"])(RTListeners, [{ | ||
return (0, _createClass2["default"])(RTListeners, [{ | ||
key: "addSubscription", | ||
value: function addSubscription(type, subscriberFn, _ref) { | ||
var _this = this; | ||
var callback = _ref.callback, | ||
onError = _ref.onError, | ||
onReady = _ref.onReady, | ||
parser = _ref.parser, | ||
params = _ref.params; | ||
onError = _ref.onError, | ||
onReady = _ref.onReady, | ||
parser = _ref.parser, | ||
params = _ref.params; | ||
this.subscriptions[type] = this.subscriptions[type] || []; | ||
@@ -71,5 +62,4 @@ var subscription = subscriberFn(_objectSpread(_objectSpread({}, params), this.getSubscriptionOptions()), { | ||
var callback = _ref2.callback, | ||
matcher = _ref2.matcher; | ||
matcher = _ref2.matcher; | ||
var subscriptionsStack = this.subscriptions[type] = this.subscriptions[type] || []; | ||
if (matcher) { | ||
@@ -110,3 +100,2 @@ subscriptionsStack.forEach(function (subscriptionStore) { | ||
} | ||
if (this.simpleListeners[type]) { | ||
@@ -122,3 +111,2 @@ this.simpleListeners[type].forEach(function (callback) { | ||
var _this2 = this; | ||
Object.keys(this.subscriptions).forEach(function (listenerType) { | ||
@@ -133,5 +121,2 @@ _this2.subscriptions[listenerType].forEach(function (_ref3) { | ||
}]); | ||
return RTListeners; | ||
}(); | ||
exports["default"] = RTListeners; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _utils = _interopRequireDefault(require("./utils")); | ||
var method = function method(type) { | ||
@@ -26,9 +19,7 @@ return function (data) { | ||
}; | ||
var RTMethods = /*#__PURE__*/function () { | ||
var RTMethods = exports["default"] = /*#__PURE__*/function () { | ||
function RTMethods(_ref) { | ||
var _this = this; | ||
var onMessage = _ref.onMessage, | ||
emitMessage = _ref.emitMessage; | ||
emitMessage = _ref.emitMessage; | ||
(0, _classCallCheck2["default"])(this, RTMethods); | ||
@@ -42,8 +33,6 @@ (0, _defineProperty2["default"])(this, "sendRequest", function (invocationId) { | ||
var id = _ref2.id, | ||
error = _ref2.error, | ||
result = _ref2.result; | ||
error = _ref2.error, | ||
result = _ref2.result; | ||
if (_this.invocations[id]) { | ||
var invocation = _this.invocations[id]; | ||
if (error) { | ||
@@ -54,8 +43,17 @@ invocation.reject(error); | ||
} | ||
delete _this.invocations[id]; | ||
} | ||
}); | ||
//---------------------------------// | ||
//----------- AUTH METHODS --------// | ||
(0, _defineProperty2["default"])(this, "setUserToken", method(_constants.RTMethodTypes.SET_USER_TOKEN).bind(this)); | ||
//----------- AUTH METHODS --------// | ||
//---------------------------------// | ||
//---------------------------------// | ||
//-------- PUB_SUB METHODS --------// | ||
(0, _defineProperty2["default"])(this, "sendPubSubCommand", method(_constants.RTMethodTypes.PUB_SUB_COMMAND).bind(this)); | ||
//-------- PUB_SUB METHODS --------// | ||
//---------------------------------// | ||
//---------------------------------// | ||
//----------- RSO METHODS ---------// | ||
(0, _defineProperty2["default"])(this, "getRSO", method(_constants.RTMethodTypes.RSO_GET).bind(this)); | ||
@@ -70,4 +68,3 @@ (0, _defineProperty2["default"])(this, "setRSO", method(_constants.RTMethodTypes.RSO_SET).bind(this)); | ||
} | ||
(0, _createClass2["default"])(RTMethods, [{ | ||
return (0, _createClass2["default"])(RTMethods, [{ | ||
key: "initialize", | ||
@@ -81,3 +78,2 @@ value: function initialize() { | ||
var _this2 = this; | ||
Object.keys(this.invocations).forEach(function (invocationId) { | ||
@@ -104,5 +100,3 @@ _this2.sendRequest(invocationId); | ||
var _this3 = this; | ||
var invocationId = _utils["default"].generateUID(); | ||
this.invocations[invocationId] = { | ||
@@ -120,9 +114,7 @@ data: { | ||
}); | ||
} //----------- RSO METHODS ---------// | ||
} | ||
//----------- RSO METHODS ---------// | ||
//---------------------------------// | ||
}]); | ||
return RTMethods; | ||
}(); | ||
exports["default"] = RTMethods; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,31 +8,17 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); | ||
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); | ||
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get")); | ||
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor")); | ||
var _listeners = _interopRequireDefault(require("./listeners")); | ||
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
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 { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } | ||
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _RTScopeConnector; | ||
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); } | ||
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } | ||
function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } | ||
var ListenerTypes = { | ||
@@ -45,19 +30,13 @@ CONNECT: 'CONNECT', | ||
}; | ||
var RTScopeConnector = (_dec = connectionRequired(), _dec2 = connectionRequired(), _dec3 = connectionRequired(), _dec4 = connectionRequired(), _dec5 = connectionRequired(true), (_class = (_class2 = /*#__PURE__*/function (_RTListeners) { | ||
(0, _inherits2["default"])(RTScopeConnector, _RTListeners); | ||
var _super = _createSuper(RTScopeConnector); | ||
var RTScopeConnector = exports["default"] = (_dec = connectionRequired(), _dec2 = connectionRequired(), _dec3 = connectionRequired(), _dec4 = connectionRequired(), _dec5 = connectionRequired(true), _class = (_RTScopeConnector = /*#__PURE__*/function (_RTListeners) { | ||
function RTScopeConnector(options) { | ||
var _this2; | ||
(0, _classCallCheck2["default"])(this, RTScopeConnector); | ||
_this2 = _super.call(this); | ||
_this2 = _callSuper(this, RTScopeConnector); | ||
_this2.options = options; | ||
_this2.waitConnection = []; | ||
_this2.connect(); | ||
return _this2; | ||
} | ||
/** | ||
@@ -68,21 +47,7 @@ * @public method | ||
**/ | ||
(0, _createClass2["default"])(RTScopeConnector, [{ | ||
(0, _inherits2["default"])(RTScopeConnector, _RTListeners); | ||
return (0, _createClass2["default"])(RTScopeConnector, [{ | ||
key: "connectSubscriber", | ||
get: | ||
/** | ||
* @static | ||
* @function | ||
* @decorator | ||
* @param {Boolean} [returnPromise] - if passed to TRUE the method returns a Promise | ||
* and will be resolved when the instance is connected to scope | ||
* and method return any result | ||
* | ||
* decorate instance's methods of the Class | ||
* puts the method's execution to pool and run it immediately after connected to Connection Scope. | ||
* if the instance is already connected to the scope the method will be executed immediately | ||
**/ | ||
/** | ||
* @abstract getter, must be overridden in an inherited class | ||
@@ -95,2 +60,3 @@ * must returns a function for adding subscriptions to CONNECT to connection scope | ||
} | ||
/** | ||
@@ -102,3 +68,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -109,2 +74,3 @@ key: "commandSubscriber", | ||
} | ||
/** | ||
@@ -116,3 +82,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -123,2 +88,3 @@ key: "usersSubscriber", | ||
} | ||
/** | ||
@@ -130,3 +96,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -141,3 +106,2 @@ key: "commandSender", | ||
var _this3 = this; | ||
if (!this.isConnected()) { | ||
@@ -157,2 +121,3 @@ this.connection = this.connectSubscriber(this.getScopeOptions(), { | ||
} | ||
/** | ||
@@ -163,3 +128,2 @@ * @public method | ||
**/ | ||
}, { | ||
@@ -172,2 +136,3 @@ key: "disconnect", | ||
} | ||
/** | ||
@@ -178,3 +143,2 @@ * @public method | ||
**/ | ||
}, { | ||
@@ -185,6 +149,6 @@ key: "isConnected", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -195,6 +159,6 @@ key: "getSubscriptionOptions", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -205,6 +169,6 @@ key: "getScopeOptions", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -219,6 +183,6 @@ key: "onConnect", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -229,6 +193,6 @@ key: "onError", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -239,6 +203,6 @@ key: "onDisconnect", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -248,9 +212,9 @@ key: "removeAllListeners", | ||
this.waitConnection = []; | ||
(0, _get2["default"])((0, _getPrototypeOf2["default"])(RTScopeConnector.prototype), "removeAllListeners", this).call(this); | ||
_superPropGet(RTScopeConnector, "removeAllListeners", this, 3)([]); | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -260,13 +224,11 @@ key: "addConnectListener", | ||
this.addSimpleListener(ListenerTypes.CONNECT, callback); | ||
if (onError) { | ||
this.addSimpleListener(ListenerTypes.ERROR, onError); | ||
} | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -276,13 +238,11 @@ key: "removeConnectListeners", | ||
this.removeSimpleListener(ListenerTypes.CONNECT, callback); | ||
if (onError) { | ||
this.removeSimpleListener(ListenerTypes.ERROR, onError); | ||
} | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -297,6 +257,6 @@ key: "addCommandListener", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -310,6 +270,6 @@ key: "removeCommandListeners", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -324,6 +284,6 @@ key: "addUserStatusListener", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -337,6 +297,6 @@ key: "removeUserStatusListeners", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -351,22 +311,15 @@ key: "send", | ||
}]); | ||
return RTScopeConnector; | ||
}(_listeners["default"]), (0, _defineProperty2["default"])(_class2, "connectionRequired", connectionRequired), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addCommandListener", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "addCommandListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeCommandListeners", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "removeCommandListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addUserStatusListener", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "addUserStatusListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeUserStatusListeners", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "removeUserStatusListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "send", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "send"), _class.prototype)), _class)); | ||
exports["default"] = RTScopeConnector; | ||
}(_listeners["default"]), (0, _defineProperty2["default"])(_RTScopeConnector, "connectionRequired", connectionRequired), _RTScopeConnector), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addCommandListener", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "addCommandListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeCommandListeners", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "removeCommandListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addUserStatusListener", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "addUserStatusListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeUserStatusListeners", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "removeUserStatusListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "send", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "send"), _class.prototype), _class); | ||
function connectionRequired(returnPromise) { | ||
return function (target, key, descriptor) { | ||
var decorated = descriptor.value; | ||
descriptor.value = function () { | ||
var _arguments = arguments, | ||
_this = this; | ||
_this = this; | ||
var run = function run() { | ||
return decorated.apply(_this, _arguments); | ||
}; | ||
if (this.isConnected()) { | ||
return run(); | ||
} | ||
if (returnPromise) { | ||
@@ -379,9 +332,7 @@ return new Promise(function (resolve, reject) { | ||
} | ||
this.waitConnection.push(run); | ||
return this; | ||
}; | ||
return descriptor; | ||
}; | ||
} |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,15 +8,8 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _constants = require("./constants"); | ||
var _socket = _interopRequireDefault(require("./socket")); | ||
var INCREASE_RECONNECTION_TIMEOUT_STEP = 10; | ||
@@ -32,4 +24,3 @@ var INITIAL_RECONNECTION_TIMEOUT = 200; | ||
}; | ||
var RTSession = /*#__PURE__*/function () { | ||
var RTSession = exports["default"] = /*#__PURE__*/function () { | ||
function RTSession(config, dispatch, onDisconnect) { | ||
@@ -43,4 +34,3 @@ (0, _classCallCheck2["default"])(this, RTSession); | ||
} | ||
(0, _createClass2["default"])(RTSession, [{ | ||
return (0, _createClass2["default"])(RTSession, [{ | ||
key: "terminate", | ||
@@ -50,6 +40,5 @@ value: function terminate() { | ||
this.terminated = true; | ||
this.dispatch = function () {//if sessions has been terminated don't need to dispatch any events | ||
this.dispatch = function () { | ||
//if sessions has been terminated don't need to dispatch any events | ||
}; | ||
this.socketPromise.then(function (rtSocket) { | ||
@@ -66,10 +55,9 @@ if (rtSocket) { | ||
var _this = this; | ||
return this.socketPromise.then(function (rtSocket) { | ||
if (_this.terminated) { | ||
return new Promise(function () {//return unresolvable promise for preventing errors | ||
return new Promise(function () { | ||
//return unresolvable promise for preventing errors | ||
//this connection session has been terminated and a new one will be created if it necessary | ||
}); | ||
} | ||
return rtSocket; | ||
@@ -81,29 +69,22 @@ }); | ||
value: function () { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _socket$ioSocket, _socket$ioSocket$io, _socket$ioSocket$io$e; | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _socket$ioSocket; | ||
var socket; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.getSocket(); | ||
case 2: | ||
socket = _context.sent; | ||
return _context.abrupt("return", (socket === null || socket === void 0 ? void 0 : (_socket$ioSocket = socket.ioSocket) === null || _socket$ioSocket === void 0 ? void 0 : (_socket$ioSocket$io = _socket$ioSocket.io) === null || _socket$ioSocket$io === void 0 ? void 0 : (_socket$ioSocket$io$e = _socket$ioSocket$io.engine) === null || _socket$ioSocket$io$e === void 0 ? void 0 : _socket$ioSocket$io$e.id) || null); | ||
case 4: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.getSocket(); | ||
case 2: | ||
socket = _context.sent; | ||
return _context.abrupt("return", (socket === null || socket === void 0 || (_socket$ioSocket = socket.ioSocket) === null || _socket$ioSocket === void 0 || (_socket$ioSocket = _socket$ioSocket.io) === null || _socket$ioSocket === void 0 || (_socket$ioSocket = _socket$ioSocket.engine) === null || _socket$ioSocket === void 0 ? void 0 : _socket$ioSocket.id) || null); | ||
case 4: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getConnectionId() { | ||
return _getConnectionId.apply(this, arguments); | ||
} | ||
return getConnectionId; | ||
@@ -115,24 +96,17 @@ }() | ||
var _this2 = this; | ||
if (this.terminated) { | ||
return; | ||
} | ||
this.connectAttempt = this.connectAttempt + 1; | ||
var nextReconnectionTimeout = this.getNextReconnectionTimeout(); | ||
this.onConnecting(); | ||
if (this.connectAttempt > 1) { | ||
this.onReconnectAttempt(this.connectAttempt - 1, nextReconnectionTimeout); | ||
} | ||
return _socket["default"].connect(this.config, this.onSocketDisconnect.bind(this)).then(function (rtSocket) { | ||
_this2.connectAttempt = 0; | ||
_this2.onConnect(); | ||
return rtSocket; | ||
})["catch"](function (error) { | ||
_this2.onConnectError(error); | ||
if (!_this2.terminated) { | ||
@@ -157,3 +131,2 @@ // wait for 400|800|1600|...|MAX_RECONNECTION_TIMEOUT milliseconds | ||
this.dispatch(_constants.NativeSocketEvents.DISCONNECT, reason); | ||
if (!this.terminated) { | ||
@@ -185,5 +158,2 @@ this.terminate(); | ||
}]); | ||
return RTSession; | ||
}(); | ||
exports["default"] = RTSession; | ||
}(); |
@@ -13,4 +13,4 @@ "use strict"; | ||
*/ | ||
var Emitter = require('component-emitter'); | ||
exports.protocol = 4; | ||
@@ -27,4 +27,4 @@ exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; | ||
exports.Decoder = Decoder; | ||
function Encoder() {} | ||
function Encoder() {} | ||
/** | ||
@@ -40,6 +40,6 @@ * Encode a packet as a single string if non-binary, or as a | ||
Encoder.prototype.encode = function (obj, callback) { | ||
callback([encodeAsString(obj)]); | ||
}; | ||
/** | ||
@@ -53,33 +53,31 @@ * Encode packet as string. | ||
function encodeAsString(obj) { | ||
// first is type | ||
var str = '' + obj.type; // attachments if we have them | ||
var str = '' + obj.type; | ||
// attachments if we have them | ||
if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { | ||
str += obj.attachments + '-'; | ||
} // if we have a namespace other than `/` | ||
} | ||
// if we have a namespace other than `/` | ||
// we append it followed by a comma `,` | ||
if (obj.nsp && '/' !== obj.nsp) { | ||
str += obj.nsp + ','; | ||
} // immediately followed by the id | ||
} | ||
// immediately followed by the id | ||
if (null != obj.id) { | ||
str += obj.id; | ||
} // json data | ||
} | ||
// json data | ||
if (null != obj.data) { | ||
str += JSON.stringify(obj.data); | ||
} | ||
return str; | ||
} | ||
function Decoder() {} | ||
Emitter(Decoder.prototype); | ||
Emitter(Decoder.prototype); | ||
/** | ||
@@ -100,2 +98,3 @@ * Decodes an ecoded packet string into packet JSON. | ||
}; | ||
/** | ||
@@ -109,14 +108,13 @@ * Decode a packet String (JSON data) | ||
function decodeString(str) { | ||
var i = 0; // look up type | ||
var i = 0; | ||
// look up type | ||
var p = { | ||
type: Number(str.charAt(0)) | ||
}; | ||
if (null == exports.types[p.type]) return error(); // look up attachments if type binary | ||
if (null == exports.types[p.type]) return error(); | ||
// look up attachments if type binary | ||
if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { | ||
var buf = ''; | ||
while (str.charAt(++i) !== '-') { | ||
@@ -126,14 +124,11 @@ buf += str.charAt(i); | ||
} | ||
if (buf != Number(buf) || str.charAt(i) !== '-') { | ||
throw new Error('Illegal attachments'); | ||
} | ||
p.attachments = Number(buf); | ||
} // look up namespace (if any) | ||
} | ||
// look up namespace (if any) | ||
if ('/' === str.charAt(i + 1)) { | ||
p.nsp = ''; | ||
while (++i) { | ||
@@ -147,13 +142,10 @@ var c = str.charAt(i); | ||
p.nsp = '/'; | ||
} // look up id | ||
} | ||
// look up id | ||
var next = str.charAt(i + 1); | ||
if ('' !== next && Number(next) == next) { | ||
p.id = ''; | ||
while (++i) { | ||
var c = str.charAt(i); | ||
if (null == c || Number(c) != c) { | ||
@@ -163,18 +155,14 @@ --i; | ||
} | ||
p.id += str.charAt(i); | ||
if (i === str.length) break; | ||
} | ||
p.id = Number(p.id); | ||
} // look up json data | ||
} | ||
// look up json data | ||
if (str.charAt(++i)) { | ||
p = tryParse(p, str.substr(i)); | ||
} | ||
return p; | ||
} | ||
function tryParse(p, str) { | ||
@@ -186,5 +174,5 @@ try { | ||
} | ||
return p; | ||
} | ||
/** | ||
@@ -196,5 +184,3 @@ * Deallocates a parser's resources | ||
Decoder.prototype.destroy = function () {}; | ||
function error() { | ||
@@ -201,0 +187,0 @@ return { |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,26 +8,17 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _constants = require("./constants"); | ||
var RTSocket = /*#__PURE__*/function () { | ||
var RTSocket = exports["default"] = /*#__PURE__*/function () { | ||
function RTSocket(config, host) { | ||
(0, _classCallCheck2["default"])(this, RTSocket); | ||
var io = require('socket.io-client'); | ||
this.config = config; | ||
this.events = {}; | ||
var _config$getSocketConf = config.getSocketConfig(), | ||
url = _config$getSocketConf.url, | ||
options = _config$getSocketConf.options; | ||
url = _config$getSocketConf.url, | ||
options = _config$getSocketConf.options; | ||
this.ioSocket = io(url, options); | ||
} | ||
(0, _createClass2["default"])(RTSocket, [{ | ||
return (0, _createClass2["default"])(RTSocket, [{ | ||
key: "connect", | ||
@@ -50,3 +40,2 @@ value: function connect() { | ||
var _this = this; | ||
if (!this.events[event]) { | ||
@@ -57,3 +46,2 @@ this.ioSocket.on(event, function (data) { | ||
} | ||
this.events[event] = this.events[event] || []; | ||
@@ -68,7 +56,5 @@ this.events[event].push(callback); | ||
}) : []; | ||
if (!this.events[event].length) { | ||
delete this.events[event]; | ||
} | ||
if (!this.events[event]) { | ||
@@ -82,3 +68,2 @@ this.ioSocket.off(event); | ||
this.logMessage('FROM SERVER', event, data); | ||
if (this.events[event]) { | ||
@@ -101,7 +86,5 @@ this.events[event].forEach(function (callback) { | ||
var _console; | ||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
// eslint-disable-next-line | ||
@@ -132,3 +115,2 @@ (_console = console)[type].apply(_console, ['[RT Client]:'].concat(args)); | ||
rtSocket.connect(); | ||
function onConnect() { | ||
@@ -138,3 +120,2 @@ rtSocket.log('log', 'socket connected'); | ||
} | ||
function onError(error) { | ||
@@ -144,3 +125,2 @@ rtSocket.log('error', 'received one of [CONNECT_ERROR,CONNECT_TIMEOUT] socket event while connecting', error); | ||
} | ||
function closeAndReject(error) { | ||
@@ -159,5 +139,2 @@ rtSocket.log('log', 'close and reject socket with error:', error); | ||
}]); | ||
return RTSocket; | ||
}(); | ||
exports["default"] = RTSocket; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _utils = _interopRequireDefault(require("./utils")); | ||
var subscription = function subscription(type) { | ||
@@ -26,23 +19,65 @@ return function (options, callbacks) { | ||
}; | ||
var RTSubscriptions = /*#__PURE__*/function () { | ||
var RTSubscriptions = exports["default"] = /*#__PURE__*/function () { | ||
function RTSubscriptions(_ref) { | ||
var onMessage = _ref.onMessage, | ||
emitMessage = _ref.emitMessage; | ||
emitMessage = _ref.emitMessage; | ||
(0, _classCallCheck2["default"])(this, RTSubscriptions); | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/***************************************** **/ | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onObjectsChanges", subscription(_constants.RTSubscriptionTypes.OBJECTS_CHANGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRelationsChanges", subscription(_constants.RTSubscriptionTypes.RELATIONS_CHANGES).bind(this)); | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** PUB_SUB SUBSCRIPTIONS ************* **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "connectToPubSub", subscription(_constants.RTSubscriptionTypes.PUB_SUB_CONNECT).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubMessage", subscription(_constants.RTSubscriptionTypes.PUB_SUB_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubCommand", subscription(_constants.RTSubscriptionTypes.PUB_SUB_COMMANDS).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubUserStatus", subscription(_constants.RTSubscriptionTypes.PUB_SUB_USERS).bind(this)); | ||
/***** PUB_SUB SUBSCRIPTIONS ************* **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** RSO SUBSCRIPTIONS ***************** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "connectToRSO", subscription(_constants.RTSubscriptionTypes.RSO_CONNECT).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOChanges", subscription(_constants.RTSubscriptionTypes.RSO_CHANGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOClear", subscription(_constants.RTSubscriptionTypes.RSO_CLEARED).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOCommand", subscription(_constants.RTSubscriptionTypes.RSO_COMMANDS).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOInvoke", subscription(_constants.RTSubscriptionTypes.RSO_INVOKE).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOUserStatus", subscription(_constants.RTSubscriptionTypes.RSO_USERS).bind(this)); | ||
/***** RSO SUBSCRIPTIONS ***************** **/ | ||
/***************************************** **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** CONSOLE's SUBSCRIPTIONS **************************************************** **/ | ||
/***************************************** **/ | ||
/***** LOGGING SUBSCRIPTIONS ****** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onLoggingMessages", subscription(_constants.RTSubscriptionTypes.LOGGING_MESSAGES).bind(this)); | ||
/***** LOGGING SUBSCRIPTIONS ****** **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** CONSOLE SUBSCRIPTIONS ****** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onConsoleMessages", subscription(_constants.RTSubscriptionTypes.CONSOLE_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onDeveloperMessage", subscription(_constants.RTSubscriptionTypes.DEVELOPER_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onAutomationLoggingMessages", subscription(_constants.RTSubscriptionTypes.AUTOMATION_MESSAGES).bind(this)); | ||
@@ -53,8 +88,6 @@ this.onMessage = onMessage; | ||
} | ||
(0, _createClass2["default"])(RTSubscriptions, [{ | ||
return (0, _createClass2["default"])(RTSubscriptions, [{ | ||
key: "initialize", | ||
value: function initialize() { | ||
var _this = this; | ||
this.onMessage(_constants.RTSocketEvents.SUB_READY, function (data) { | ||
@@ -71,3 +104,2 @@ return _this.onSubscriptionReady(data); | ||
var _this2 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -81,3 +113,2 @@ _this2.subscriptions[subscriptionId].ready = false; | ||
var _this3 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -91,3 +122,2 @@ return _this3.stopSubscription(subscriptionId); | ||
var _this4 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -106,11 +136,8 @@ _this4.startSubscription(subscriptionId); | ||
var _this5 = this; | ||
var parser = _ref2.parser, | ||
onData = _ref2.onData, | ||
onError = _ref2.onError, | ||
onStop = _ref2.onStop, | ||
onReady = _ref2.onReady; | ||
onData = _ref2.onData, | ||
onError = _ref2.onError, | ||
onStop = _ref2.onStop, | ||
onReady = _ref2.onReady; | ||
var subscriptionId = _utils["default"].generateUID(); | ||
this.subscriptions[subscriptionId] = { | ||
@@ -151,3 +178,2 @@ data: { | ||
var subscription = this.subscriptions[subscriptionId]; | ||
if (subscription) { | ||
@@ -157,3 +183,2 @@ if (subscription.onStop) { | ||
} | ||
delete this.subscriptions[subscriptionId]; | ||
@@ -166,3 +191,2 @@ } | ||
var subscription = this.subscriptions[subscriptionId]; | ||
if (subscription) { | ||
@@ -180,6 +204,4 @@ this.emitMessage(_constants.RTSocketEvents.SUB_OFF, { | ||
var subscription = this.subscriptions[id]; | ||
if (subscription && !subscription.ready) { | ||
subscription.ready = true; | ||
if (subscription.onReady) { | ||
@@ -194,6 +216,5 @@ subscription.onReady(); | ||
var id = _ref4.id, | ||
data = _ref4.data, | ||
error = _ref4.error; | ||
data = _ref4.data, | ||
error = _ref4.error; | ||
var subscription = this.subscriptions[id]; | ||
if (subscription) { | ||
@@ -204,3 +225,2 @@ if (error) { | ||
} | ||
this.stopSubscription(id); | ||
@@ -210,3 +230,2 @@ } else { | ||
subscription.ready = true; | ||
if (subscription.onReady) { | ||
@@ -216,3 +235,2 @@ subscription.onReady(); | ||
} | ||
if (subscription.onData) { | ||
@@ -222,3 +240,2 @@ if (typeof subscription.parser === 'function') { | ||
} | ||
subscription.onData(data); | ||
@@ -229,28 +246,8 @@ } | ||
} | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/***************************************** **/ | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/** */ | ||
/***** CONSOLE SUBSCRIPTIONS ****** **/ | ||
/***************************************** **/ | ||
/** CONSOLE's SUBSCRIPTIONS **************************************************** **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
}]); | ||
return RTSubscriptions; | ||
}(); | ||
exports["default"] = RTSubscriptions; | ||
}(); |
@@ -12,11 +12,8 @@ "use strict"; | ||
var hash = ''; | ||
for (var i = 0; i < 8; i++) { | ||
hash += CHARS.charAt(Math.floor(Math.random() * CHARS.length)); | ||
} | ||
return hash + Date.now(); | ||
} | ||
}; | ||
var _default = Utils; | ||
exports["default"] = _default; | ||
var _default = exports["default"] = Utils; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,29 +8,16 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _config = _interopRequireDefault(require("./config")); | ||
var _subscriptions = _interopRequireDefault(require("./subscriptions")); | ||
var _methods = _interopRequireDefault(require("./methods")); | ||
var _session = _interopRequireDefault(require("./session")); | ||
var CONNECTION_MANAGE_EVENTS = [_constants.NativeSocketEvents.CONNECTING, _constants.NativeSocketEvents.CONNECT, _constants.NativeSocketEvents.CONNECT_ERROR, _constants.NativeSocketEvents.DISCONNECT, _constants.NativeSocketEvents.RECONNECT_ATTEMPT]; | ||
var RTClient = /*#__PURE__*/function () { | ||
var RTClient = exports["default"] = /*#__PURE__*/function () { | ||
function RTClient(config) { | ||
var _this = this; | ||
(0, _classCallCheck2["default"])(this, RTClient); | ||
@@ -41,3 +27,2 @@ (0, _defineProperty2["default"])(this, "onConnectError", function () { | ||
_this.disconnect('There are no active subscriptions and methods'); | ||
_this.connectible = true; | ||
@@ -51,6 +36,4 @@ } | ||
} | ||
if (_this.connectible) { | ||
var rtSocketPromise = _this.provideConnection(); | ||
if (_this.connected) { | ||
@@ -68,7 +51,4 @@ rtSocketPromise.then(function (rtSocket) { | ||
_this.subscriptions.stop(); | ||
_this.methods.stop(); | ||
delete _this.session; | ||
_this.provideConnection(); | ||
@@ -80,3 +60,2 @@ }); | ||
} | ||
if (_this.socketEvents[event]) { | ||
@@ -88,2 +67,3 @@ _this.socketEvents[event].forEach(function (callback) { | ||
}); | ||
/* eslint-disable max-len */ | ||
(0, _defineProperty2["default"])(this, "addConnectingEventListener", function (callback) { | ||
@@ -119,2 +99,3 @@ return _this.addSocketEventListener(_constants.NativeSocketEvents.CONNECTING, callback); | ||
}); | ||
/* eslint-enable max-len */ | ||
(0, _defineProperty2["default"])(this, "removeConnectionListeners", function () { | ||
@@ -136,4 +117,3 @@ CONNECTION_MANAGE_EVENTS.forEach(function (event) { | ||
} | ||
(0, _createClass2["default"])(RTClient, [{ | ||
return (0, _createClass2["default"])(RTClient, [{ | ||
key: "resetSocketEvents", | ||
@@ -148,3 +128,2 @@ value: function resetSocketEvents() { | ||
this.config.set(config); | ||
if (this.session) { | ||
@@ -159,3 +138,2 @@ this.disconnect('Re-config socket connection'); | ||
var _this2 = this; | ||
if (!this.session) { | ||
@@ -165,13 +143,8 @@ this.session = new _session["default"](this.config, this.emitSocketEventListeners, this.onSessionDisconnect); | ||
_this2.connected = true; | ||
_this2.methods.initialize(); | ||
_this2.methods.restore(); | ||
_this2.subscriptions.initialize(); | ||
_this2.subscriptions.restore(); | ||
}); | ||
} | ||
return this.session.getSocket(); | ||
@@ -182,33 +155,25 @@ } | ||
value: function () { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!this.session) { | ||
_context.next = 4; | ||
break; | ||
} | ||
_context.next = 3; | ||
return this.session.getConnectionId(); | ||
case 3: | ||
return _context.abrupt("return", _context.sent); | ||
case 4: | ||
return _context.abrupt("return", null); | ||
case 5: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!this.session) { | ||
_context.next = 4; | ||
break; | ||
} | ||
_context.next = 3; | ||
return this.session.getConnectionId(); | ||
case 3: | ||
return _context.abrupt("return", _context.sent); | ||
case 4: | ||
return _context.abrupt("return", null); | ||
case 5: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getConnectionId() { | ||
return _getConnectionId.apply(this, arguments); | ||
} | ||
return getConnectionId; | ||
@@ -232,3 +197,2 @@ }() | ||
} | ||
this.connectible = false; | ||
@@ -259,3 +223,2 @@ this.connected = false; | ||
}) : []; | ||
if (!this.socketEvents[event].length) { | ||
@@ -265,9 +228,5 @@ delete this.socketEvents[event]; | ||
} | ||
return this; | ||
} | ||
}]); | ||
return RTClient; | ||
}(); | ||
exports["default"] = RTClient; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,45 +8,31 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _backendlessRequest = _interopRequireDefault(require("backendless-request")); | ||
var isUndefined = function isUndefined(value) { | ||
return typeof value === 'undefined'; | ||
}; | ||
var isString = function isString(value) { | ||
return typeof value === 'string'; | ||
}; | ||
var isFunction = function isFunction(value) { | ||
return typeof value === 'function'; | ||
}; | ||
var isObject = function isObject(value) { | ||
return (0, _typeof2["default"])(value) === 'object' && value !== null; | ||
}; | ||
var RTConfig = /*#__PURE__*/function () { | ||
var RTConfig = exports["default"] = /*#__PURE__*/function () { | ||
function RTConfig(config) { | ||
(0, _classCallCheck2["default"])(this, RTConfig); | ||
this.appId = null; | ||
this.lookupPath = null; | ||
this.lookupHeaders = {}; | ||
this.debugMode = false; | ||
this.connectQuery = {}; | ||
this.socketConfigTransform = null; | ||
this.hostResolver = null; | ||
this.socketConfig = null; | ||
this.set(config); | ||
} | ||
(0, _createClass2["default"])(RTConfig, [{ | ||
return (0, _createClass2["default"])(RTConfig, [{ | ||
key: "set", | ||
@@ -58,3 +43,7 @@ value: function set(config) { | ||
} | ||
if (!isUndefined(config.hostResolver)) { | ||
if (isFunction(config.hostResolver)) { | ||
this.hostResolver = config.hostResolver; | ||
} | ||
} | ||
if (!isUndefined(config.appId)) { | ||
@@ -64,26 +53,7 @@ if (!isString(config.appId)) { | ||
} | ||
this.appId = config.appId; | ||
} | ||
if (!isUndefined(config.lookupPath)) { | ||
if (!isString(config.lookupPath)) { | ||
throw new Error('"lookupPath" must be String.'); | ||
} | ||
this.lookupPath = config.lookupPath; | ||
} | ||
if (!isUndefined(config.lookupHeaders)) { | ||
if (!isObject(config.lookupHeaders)) { | ||
throw new Error('"lookupHeaders" must be Object.'); | ||
} | ||
this.lookupHeaders = config.lookupHeaders; | ||
} | ||
if (!isUndefined(config.debugMode)) { | ||
this.debugMode = !!config.debugMode; | ||
} | ||
if (!isUndefined(config.connectQuery)) { | ||
@@ -98,3 +68,2 @@ if (isFunction(config.connectQuery)) { | ||
} | ||
if (!isUndefined(config.socketConfigTransform)) { | ||
@@ -114,76 +83,95 @@ if (isFunction(config.socketConfigTransform)) { | ||
}, { | ||
key: "prepare", | ||
key: "getSocketConfig", | ||
value: function getSocketConfig() { | ||
return this.socketConfig; | ||
} | ||
}, { | ||
key: "getHost", | ||
value: function () { | ||
var _prepare = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var host, url, path, query, socketConfig; | ||
var _getHost = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var host; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
if (isString(this.lookupPath)) { | ||
_context.next = 2; | ||
break; | ||
} | ||
throw new Error('lookupPath must be String'); | ||
case 2: | ||
_context.next = 4; | ||
return _backendlessRequest["default"].get(this.lookupPath).set(this.lookupHeaders); | ||
case 4: | ||
host = _context.sent; | ||
url = this.appId ? "".concat(host, "/").concat(this.appId) : host; | ||
path = this.appId ? "/".concat(this.appId) : undefined; | ||
query = this.getConnectQuery(); | ||
this.socketConfig = { | ||
host: host, | ||
url: url, | ||
options: { | ||
path: path, | ||
query: query, | ||
forceNew: true, | ||
autoConnect: false, | ||
reconnection: false | ||
} | ||
}; | ||
if (!this.socketConfigTransform) { | ||
_context.next = 14; | ||
break; | ||
} | ||
_context.next = 12; | ||
return this.socketConfigTransform(this.socketConfig); | ||
case 12: | ||
socketConfig = _context.sent; | ||
if (socketConfig) { | ||
this.socketConfig = socketConfig; | ||
} | ||
case 14: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
if (!(isUndefined(this.hostResolver) || !isFunction(this.hostResolver))) { | ||
_context.next = 2; | ||
break; | ||
} | ||
throw new Error('"hostResolver" must be a function'); | ||
case 2: | ||
_context.next = 4; | ||
return this.hostResolver(); | ||
case 4: | ||
host = _context.sent; | ||
if (!(!host || typeof host !== 'string')) { | ||
_context.next = 7; | ||
break; | ||
} | ||
throw new Error('"hostResolver" must return a valid string'); | ||
case 7: | ||
return _context.abrupt("return", host); | ||
case 8: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getHost() { | ||
return _getHost.apply(this, arguments); | ||
} | ||
return getHost; | ||
}() | ||
}, { | ||
key: "prepare", | ||
value: function () { | ||
var _prepare = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() { | ||
var query, host, url, path; | ||
return _regenerator["default"].wrap(function _callee2$(_context2) { | ||
while (1) switch (_context2.prev = _context2.next) { | ||
case 0: | ||
query = this.getConnectQuery(); | ||
_context2.next = 3; | ||
return this.getHost(); | ||
case 3: | ||
host = _context2.sent; | ||
url = this.appId ? "".concat(host, "/").concat(this.appId) : host; | ||
path = this.appId ? "/".concat(this.appId) : undefined; | ||
this.socketConfig = { | ||
host: host, | ||
url: url, | ||
options: { | ||
path: path, | ||
query: query, | ||
forceNew: true, | ||
autoConnect: false, | ||
reconnection: false | ||
} | ||
}; | ||
if (!this.socketConfigTransform) { | ||
_context2.next = 14; | ||
break; | ||
} | ||
_context2.next = 10; | ||
return this.socketConfigTransform(this.socketConfig); | ||
case 10: | ||
_context2.t0 = _context2.sent; | ||
if (_context2.t0) { | ||
_context2.next = 13; | ||
break; | ||
} | ||
_context2.t0 = this.socketConfig; | ||
case 13: | ||
this.socketConfig = _context2.t0; | ||
case 14: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
}, _callee2, this); | ||
})); | ||
function prepare() { | ||
return _prepare.apply(this, arguments); | ||
} | ||
return prepare; | ||
}() | ||
}, { | ||
key: "getSocketConfig", | ||
value: function getSocketConfig() { | ||
return this.socketConfig; | ||
} | ||
}]); | ||
return RTConfig; | ||
}(); | ||
exports["default"] = RTConfig; | ||
}(); |
@@ -7,3 +7,3 @@ "use strict"; | ||
exports.RTSubscriptionTypes = exports.RTSocketEvents = exports.RTMethodTypes = exports.NativeSocketEvents = void 0; | ||
var NativeSocketEvents = { | ||
var NativeSocketEvents = exports.NativeSocketEvents = { | ||
CONNECTING: 'connecting', | ||
@@ -23,4 +23,3 @@ CONNECT: 'connect', | ||
}; | ||
exports.NativeSocketEvents = NativeSocketEvents; | ||
var RTSocketEvents = { | ||
var RTSocketEvents = exports.RTSocketEvents = { | ||
SUB_ON: 'SUB_ON', | ||
@@ -33,4 +32,3 @@ SUB_OFF: 'SUB_OFF', | ||
}; | ||
exports.RTSocketEvents = RTSocketEvents; | ||
var RTSubscriptionTypes = { | ||
var RTSubscriptionTypes = exports.RTSubscriptionTypes = { | ||
OBJECTS_CHANGES: 'OBJECTS_CHANGES', | ||
@@ -50,11 +48,12 @@ RELATIONS_CHANGES: 'RELATIONS_CHANGES', | ||
//----------- FOR CONSOLE ONLY ------------// | ||
LOGGING_MESSAGES: 'LOGGING_MESSAGES', | ||
CONSOLE_MESSAGES: 'CONSOLE_MESSAGES', | ||
DEVELOPER_MESSAGES: 'DEVELOPER_MESSAGES', | ||
AUTOMATION_MESSAGES: 'AUTOMATION_MESSAGES' //----------- FOR CONSOLE ONLY ------------// | ||
AUTOMATION_MESSAGES: 'AUTOMATION_MESSAGES' | ||
//----------- FOR CONSOLE ONLY ------------// | ||
//-----------------------------------------// | ||
}; | ||
exports.RTSubscriptionTypes = RTSubscriptionTypes; | ||
var RTMethodTypes = { | ||
var RTMethodTypes = exports.RTMethodTypes = { | ||
SET_USER_TOKEN: 'SET_USER_TOKEN', | ||
@@ -67,3 +66,2 @@ RSO_GET: 'RSO_GET', | ||
PUB_SUB_COMMAND: 'PUB_SUB_COMMAND' | ||
}; | ||
exports.RTMethodTypes = RTMethodTypes; | ||
}; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = exports.RTScopeConnector = exports.RTListeners = void 0; | ||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); | ||
var _backendlessRequest = _interopRequireDefault(require("backendless-request")); | ||
var _client = _interopRequireDefault(require("./client")); | ||
var _listeners = _interopRequireDefault(require("./listeners")); | ||
var _scopeConnector = _interopRequireDefault(require("./scope-connector")); | ||
var root = (typeof self === "undefined" ? "undefined" : (0, _typeof2["default"])(self)) === 'object' && self.self === self && self || (typeof global === "undefined" ? "undefined" : (0, _typeof2["default"])(global)) === 'object' && global.global === global && global; | ||
@@ -25,13 +18,8 @@ _client["default"].Request = _backendlessRequest["default"]; | ||
_client["default"].ScopeConnector = _scopeConnector["default"]; | ||
if (root) { | ||
root.BackendlessRTClient = _client["default"]; | ||
} | ||
module.exports = _client["default"]; | ||
var _default = _client["default"]; | ||
exports["default"] = _default; | ||
var RTListeners = _listeners["default"]; | ||
exports.RTListeners = RTListeners; | ||
var RTScopeConnector = _scopeConnector["default"]; | ||
exports.RTScopeConnector = RTScopeConnector; | ||
var _default = exports["default"] = _client["default"]; | ||
var RTListeners = exports.RTListeners = _listeners["default"]; | ||
var RTScopeConnector = exports.RTScopeConnector = _scopeConnector["default"]; |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,14 +8,8 @@ value: true | ||
exports["default"] = void 0; | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
var RTListeners = /*#__PURE__*/function () { | ||
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
var RTListeners = exports["default"] = /*#__PURE__*/function () { | ||
function RTListeners() { | ||
@@ -27,13 +20,11 @@ (0, _classCallCheck2["default"])(this, RTListeners); | ||
} | ||
(0, _createClass2["default"])(RTListeners, [{ | ||
return (0, _createClass2["default"])(RTListeners, [{ | ||
key: "addSubscription", | ||
value: function addSubscription(type, subscriberFn, _ref) { | ||
var _this = this; | ||
var callback = _ref.callback, | ||
onError = _ref.onError, | ||
onReady = _ref.onReady, | ||
parser = _ref.parser, | ||
params = _ref.params; | ||
onError = _ref.onError, | ||
onReady = _ref.onReady, | ||
parser = _ref.parser, | ||
params = _ref.params; | ||
this.subscriptions[type] = this.subscriptions[type] || []; | ||
@@ -71,5 +62,4 @@ var subscription = subscriberFn(_objectSpread(_objectSpread({}, params), this.getSubscriptionOptions()), { | ||
var callback = _ref2.callback, | ||
matcher = _ref2.matcher; | ||
matcher = _ref2.matcher; | ||
var subscriptionsStack = this.subscriptions[type] = this.subscriptions[type] || []; | ||
if (matcher) { | ||
@@ -110,3 +100,2 @@ subscriptionsStack.forEach(function (subscriptionStore) { | ||
} | ||
if (this.simpleListeners[type]) { | ||
@@ -122,3 +111,2 @@ this.simpleListeners[type].forEach(function (callback) { | ||
var _this2 = this; | ||
Object.keys(this.subscriptions).forEach(function (listenerType) { | ||
@@ -133,5 +121,2 @@ _this2.subscriptions[listenerType].forEach(function (_ref3) { | ||
}]); | ||
return RTListeners; | ||
}(); | ||
exports["default"] = RTListeners; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _utils = _interopRequireDefault(require("./utils")); | ||
var method = function method(type) { | ||
@@ -26,9 +19,7 @@ return function (data) { | ||
}; | ||
var RTMethods = /*#__PURE__*/function () { | ||
var RTMethods = exports["default"] = /*#__PURE__*/function () { | ||
function RTMethods(_ref) { | ||
var _this = this; | ||
var onMessage = _ref.onMessage, | ||
emitMessage = _ref.emitMessage; | ||
emitMessage = _ref.emitMessage; | ||
(0, _classCallCheck2["default"])(this, RTMethods); | ||
@@ -42,8 +33,6 @@ (0, _defineProperty2["default"])(this, "sendRequest", function (invocationId) { | ||
var id = _ref2.id, | ||
error = _ref2.error, | ||
result = _ref2.result; | ||
error = _ref2.error, | ||
result = _ref2.result; | ||
if (_this.invocations[id]) { | ||
var invocation = _this.invocations[id]; | ||
if (error) { | ||
@@ -54,8 +43,17 @@ invocation.reject(error); | ||
} | ||
delete _this.invocations[id]; | ||
} | ||
}); | ||
//---------------------------------// | ||
//----------- AUTH METHODS --------// | ||
(0, _defineProperty2["default"])(this, "setUserToken", method(_constants.RTMethodTypes.SET_USER_TOKEN).bind(this)); | ||
//----------- AUTH METHODS --------// | ||
//---------------------------------// | ||
//---------------------------------// | ||
//-------- PUB_SUB METHODS --------// | ||
(0, _defineProperty2["default"])(this, "sendPubSubCommand", method(_constants.RTMethodTypes.PUB_SUB_COMMAND).bind(this)); | ||
//-------- PUB_SUB METHODS --------// | ||
//---------------------------------// | ||
//---------------------------------// | ||
//----------- RSO METHODS ---------// | ||
(0, _defineProperty2["default"])(this, "getRSO", method(_constants.RTMethodTypes.RSO_GET).bind(this)); | ||
@@ -70,4 +68,3 @@ (0, _defineProperty2["default"])(this, "setRSO", method(_constants.RTMethodTypes.RSO_SET).bind(this)); | ||
} | ||
(0, _createClass2["default"])(RTMethods, [{ | ||
return (0, _createClass2["default"])(RTMethods, [{ | ||
key: "initialize", | ||
@@ -81,3 +78,2 @@ value: function initialize() { | ||
var _this2 = this; | ||
Object.keys(this.invocations).forEach(function (invocationId) { | ||
@@ -104,5 +100,3 @@ _this2.sendRequest(invocationId); | ||
var _this3 = this; | ||
var invocationId = _utils["default"].generateUID(); | ||
this.invocations[invocationId] = { | ||
@@ -120,9 +114,7 @@ data: { | ||
}); | ||
} //----------- RSO METHODS ---------// | ||
} | ||
//----------- RSO METHODS ---------// | ||
//---------------------------------// | ||
}]); | ||
return RTMethods; | ||
}(); | ||
exports["default"] = RTMethods; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,31 +8,17 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); | ||
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); | ||
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get")); | ||
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor")); | ||
var _listeners = _interopRequireDefault(require("./listeners")); | ||
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2; | ||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } | ||
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 { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } | ||
var _dec, _dec2, _dec3, _dec4, _dec5, _class, _RTScopeConnector; | ||
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } | ||
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } | ||
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); } | ||
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } | ||
function _superPropGet(t, o, e, r) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } | ||
var ListenerTypes = { | ||
@@ -45,19 +30,13 @@ CONNECT: 'CONNECT', | ||
}; | ||
var RTScopeConnector = (_dec = connectionRequired(), _dec2 = connectionRequired(), _dec3 = connectionRequired(), _dec4 = connectionRequired(), _dec5 = connectionRequired(true), (_class = (_class2 = /*#__PURE__*/function (_RTListeners) { | ||
(0, _inherits2["default"])(RTScopeConnector, _RTListeners); | ||
var _super = _createSuper(RTScopeConnector); | ||
var RTScopeConnector = exports["default"] = (_dec = connectionRequired(), _dec2 = connectionRequired(), _dec3 = connectionRequired(), _dec4 = connectionRequired(), _dec5 = connectionRequired(true), _class = (_RTScopeConnector = /*#__PURE__*/function (_RTListeners) { | ||
function RTScopeConnector(options) { | ||
var _this2; | ||
(0, _classCallCheck2["default"])(this, RTScopeConnector); | ||
_this2 = _super.call(this); | ||
_this2 = _callSuper(this, RTScopeConnector); | ||
_this2.options = options; | ||
_this2.waitConnection = []; | ||
_this2.connect(); | ||
return _this2; | ||
} | ||
/** | ||
@@ -68,21 +47,7 @@ * @public method | ||
**/ | ||
(0, _createClass2["default"])(RTScopeConnector, [{ | ||
(0, _inherits2["default"])(RTScopeConnector, _RTListeners); | ||
return (0, _createClass2["default"])(RTScopeConnector, [{ | ||
key: "connectSubscriber", | ||
get: | ||
/** | ||
* @static | ||
* @function | ||
* @decorator | ||
* @param {Boolean} [returnPromise] - if passed to TRUE the method returns a Promise | ||
* and will be resolved when the instance is connected to scope | ||
* and method return any result | ||
* | ||
* decorate instance's methods of the Class | ||
* puts the method's execution to pool and run it immediately after connected to Connection Scope. | ||
* if the instance is already connected to the scope the method will be executed immediately | ||
**/ | ||
/** | ||
* @abstract getter, must be overridden in an inherited class | ||
@@ -95,2 +60,3 @@ * must returns a function for adding subscriptions to CONNECT to connection scope | ||
} | ||
/** | ||
@@ -102,3 +68,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -109,2 +74,3 @@ key: "commandSubscriber", | ||
} | ||
/** | ||
@@ -116,3 +82,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -123,2 +88,3 @@ key: "usersSubscriber", | ||
} | ||
/** | ||
@@ -130,3 +96,2 @@ * @abstract getter, must be overridden in an inherited class | ||
**/ | ||
}, { | ||
@@ -141,3 +106,2 @@ key: "commandSender", | ||
var _this3 = this; | ||
if (!this.isConnected()) { | ||
@@ -157,2 +121,3 @@ this.connection = this.connectSubscriber(this.getScopeOptions(), { | ||
} | ||
/** | ||
@@ -163,3 +128,2 @@ * @public method | ||
**/ | ||
}, { | ||
@@ -172,2 +136,3 @@ key: "disconnect", | ||
} | ||
/** | ||
@@ -178,3 +143,2 @@ * @public method | ||
**/ | ||
}, { | ||
@@ -185,6 +149,6 @@ key: "isConnected", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -195,6 +159,6 @@ key: "getSubscriptionOptions", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -205,6 +169,6 @@ key: "getScopeOptions", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -219,6 +183,6 @@ key: "onConnect", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -229,6 +193,6 @@ key: "onError", | ||
} | ||
/** | ||
* @private method | ||
**/ | ||
}, { | ||
@@ -239,6 +203,6 @@ key: "onDisconnect", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -248,9 +212,9 @@ key: "removeAllListeners", | ||
this.waitConnection = []; | ||
(0, _get2["default"])((0, _getPrototypeOf2["default"])(RTScopeConnector.prototype), "removeAllListeners", this).call(this); | ||
_superPropGet(RTScopeConnector, "removeAllListeners", this, 3)([]); | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -260,13 +224,11 @@ key: "addConnectListener", | ||
this.addSimpleListener(ListenerTypes.CONNECT, callback); | ||
if (onError) { | ||
this.addSimpleListener(ListenerTypes.ERROR, onError); | ||
} | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -276,13 +238,11 @@ key: "removeConnectListeners", | ||
this.removeSimpleListener(ListenerTypes.CONNECT, callback); | ||
if (onError) { | ||
this.removeSimpleListener(ListenerTypes.ERROR, onError); | ||
} | ||
return this; | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -297,6 +257,6 @@ key: "addCommandListener", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -310,6 +270,6 @@ key: "removeCommandListeners", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -324,6 +284,6 @@ key: "addUserStatusListener", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -337,6 +297,6 @@ key: "removeUserStatusListeners", | ||
} | ||
/** | ||
* @public method | ||
**/ | ||
}, { | ||
@@ -351,22 +311,15 @@ key: "send", | ||
}]); | ||
return RTScopeConnector; | ||
}(_listeners["default"]), (0, _defineProperty2["default"])(_class2, "connectionRequired", connectionRequired), _class2), ((0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addCommandListener", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "addCommandListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeCommandListeners", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "removeCommandListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addUserStatusListener", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "addUserStatusListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeUserStatusListeners", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "removeUserStatusListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "send", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "send"), _class.prototype)), _class)); | ||
exports["default"] = RTScopeConnector; | ||
}(_listeners["default"]), (0, _defineProperty2["default"])(_RTScopeConnector, "connectionRequired", connectionRequired), _RTScopeConnector), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addCommandListener", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "addCommandListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeCommandListeners", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "removeCommandListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "addUserStatusListener", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "addUserStatusListener"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "removeUserStatusListeners", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "removeUserStatusListeners"), _class.prototype), (0, _applyDecoratedDescriptor2["default"])(_class.prototype, "send", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "send"), _class.prototype), _class); | ||
function connectionRequired(returnPromise) { | ||
return function (target, key, descriptor) { | ||
var decorated = descriptor.value; | ||
descriptor.value = function () { | ||
var _arguments = arguments, | ||
_this = this; | ||
_this = this; | ||
var run = function run() { | ||
return decorated.apply(_this, _arguments); | ||
}; | ||
if (this.isConnected()) { | ||
return run(); | ||
} | ||
if (returnPromise) { | ||
@@ -379,9 +332,7 @@ return new Promise(function (resolve, reject) { | ||
} | ||
this.waitConnection.push(run); | ||
return this; | ||
}; | ||
return descriptor; | ||
}; | ||
} |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,15 +8,8 @@ value: true | ||
exports["default"] = void 0; | ||
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); | ||
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _constants = require("./constants"); | ||
var _socket = _interopRequireDefault(require("./socket")); | ||
var INCREASE_RECONNECTION_TIMEOUT_STEP = 10; | ||
@@ -32,4 +24,3 @@ var INITIAL_RECONNECTION_TIMEOUT = 200; | ||
}; | ||
var RTSession = /*#__PURE__*/function () { | ||
var RTSession = exports["default"] = /*#__PURE__*/function () { | ||
function RTSession(config, dispatch, onDisconnect) { | ||
@@ -43,4 +34,3 @@ (0, _classCallCheck2["default"])(this, RTSession); | ||
} | ||
(0, _createClass2["default"])(RTSession, [{ | ||
return (0, _createClass2["default"])(RTSession, [{ | ||
key: "terminate", | ||
@@ -50,6 +40,5 @@ value: function terminate() { | ||
this.terminated = true; | ||
this.dispatch = function () {//if sessions has been terminated don't need to dispatch any events | ||
this.dispatch = function () { | ||
//if sessions has been terminated don't need to dispatch any events | ||
}; | ||
this.socketPromise.then(function (rtSocket) { | ||
@@ -66,10 +55,9 @@ if (rtSocket) { | ||
var _this = this; | ||
return this.socketPromise.then(function (rtSocket) { | ||
if (_this.terminated) { | ||
return new Promise(function () {//return unresolvable promise for preventing errors | ||
return new Promise(function () { | ||
//return unresolvable promise for preventing errors | ||
//this connection session has been terminated and a new one will be created if it necessary | ||
}); | ||
} | ||
return rtSocket; | ||
@@ -81,29 +69,22 @@ }); | ||
value: function () { | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _socket$ioSocket, _socket$ioSocket$io, _socket$ioSocket$io$e; | ||
var _getConnectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() { | ||
var _socket$ioSocket; | ||
var socket; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.getSocket(); | ||
case 2: | ||
socket = _context.sent; | ||
return _context.abrupt("return", (socket === null || socket === void 0 ? void 0 : (_socket$ioSocket = socket.ioSocket) === null || _socket$ioSocket === void 0 ? void 0 : (_socket$ioSocket$io = _socket$ioSocket.io) === null || _socket$ioSocket$io === void 0 ? void 0 : (_socket$ioSocket$io$e = _socket$ioSocket$io.engine) === null || _socket$ioSocket$io$e === void 0 ? void 0 : _socket$ioSocket$io$e.id) || null); | ||
case 4: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.getSocket(); | ||
case 2: | ||
socket = _context.sent; | ||
return _context.abrupt("return", (socket === null || socket === void 0 || (_socket$ioSocket = socket.ioSocket) === null || _socket$ioSocket === void 0 || (_socket$ioSocket = _socket$ioSocket.io) === null || _socket$ioSocket === void 0 || (_socket$ioSocket = _socket$ioSocket.engine) === null || _socket$ioSocket === void 0 ? void 0 : _socket$ioSocket.id) || null); | ||
case 4: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
}, _callee, this); | ||
})); | ||
function getConnectionId() { | ||
return _getConnectionId.apply(this, arguments); | ||
} | ||
return getConnectionId; | ||
@@ -115,24 +96,17 @@ }() | ||
var _this2 = this; | ||
if (this.terminated) { | ||
return; | ||
} | ||
this.connectAttempt = this.connectAttempt + 1; | ||
var nextReconnectionTimeout = this.getNextReconnectionTimeout(); | ||
this.onConnecting(); | ||
if (this.connectAttempt > 1) { | ||
this.onReconnectAttempt(this.connectAttempt - 1, nextReconnectionTimeout); | ||
} | ||
return _socket["default"].connect(this.config, this.onSocketDisconnect.bind(this)).then(function (rtSocket) { | ||
_this2.connectAttempt = 0; | ||
_this2.onConnect(); | ||
return rtSocket; | ||
})["catch"](function (error) { | ||
_this2.onConnectError(error); | ||
if (!_this2.terminated) { | ||
@@ -157,3 +131,2 @@ // wait for 400|800|1600|...|MAX_RECONNECTION_TIMEOUT milliseconds | ||
this.dispatch(_constants.NativeSocketEvents.DISCONNECT, reason); | ||
if (!this.terminated) { | ||
@@ -185,5 +158,2 @@ this.terminate(); | ||
}]); | ||
return RTSession; | ||
}(); | ||
exports["default"] = RTSession; | ||
}(); |
@@ -13,4 +13,4 @@ "use strict"; | ||
*/ | ||
var Emitter = require('component-emitter'); | ||
exports.protocol = 4; | ||
@@ -27,4 +27,4 @@ exports.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']; | ||
exports.Decoder = Decoder; | ||
function Encoder() {} | ||
function Encoder() {} | ||
/** | ||
@@ -40,6 +40,6 @@ * Encode a packet as a single string if non-binary, or as a | ||
Encoder.prototype.encode = function (obj, callback) { | ||
callback([encodeAsString(obj)]); | ||
}; | ||
/** | ||
@@ -53,33 +53,31 @@ * Encode packet as string. | ||
function encodeAsString(obj) { | ||
// first is type | ||
var str = '' + obj.type; // attachments if we have them | ||
var str = '' + obj.type; | ||
// attachments if we have them | ||
if (exports.BINARY_EVENT === obj.type || exports.BINARY_ACK === obj.type) { | ||
str += obj.attachments + '-'; | ||
} // if we have a namespace other than `/` | ||
} | ||
// if we have a namespace other than `/` | ||
// we append it followed by a comma `,` | ||
if (obj.nsp && '/' !== obj.nsp) { | ||
str += obj.nsp + ','; | ||
} // immediately followed by the id | ||
} | ||
// immediately followed by the id | ||
if (null != obj.id) { | ||
str += obj.id; | ||
} // json data | ||
} | ||
// json data | ||
if (null != obj.data) { | ||
str += JSON.stringify(obj.data); | ||
} | ||
return str; | ||
} | ||
function Decoder() {} | ||
Emitter(Decoder.prototype); | ||
Emitter(Decoder.prototype); | ||
/** | ||
@@ -100,2 +98,3 @@ * Decodes an ecoded packet string into packet JSON. | ||
}; | ||
/** | ||
@@ -109,14 +108,13 @@ * Decode a packet String (JSON data) | ||
function decodeString(str) { | ||
var i = 0; // look up type | ||
var i = 0; | ||
// look up type | ||
var p = { | ||
type: Number(str.charAt(0)) | ||
}; | ||
if (null == exports.types[p.type]) return error(); // look up attachments if type binary | ||
if (null == exports.types[p.type]) return error(); | ||
// look up attachments if type binary | ||
if (exports.BINARY_EVENT === p.type || exports.BINARY_ACK === p.type) { | ||
var buf = ''; | ||
while (str.charAt(++i) !== '-') { | ||
@@ -126,14 +124,11 @@ buf += str.charAt(i); | ||
} | ||
if (buf != Number(buf) || str.charAt(i) !== '-') { | ||
throw new Error('Illegal attachments'); | ||
} | ||
p.attachments = Number(buf); | ||
} // look up namespace (if any) | ||
} | ||
// look up namespace (if any) | ||
if ('/' === str.charAt(i + 1)) { | ||
p.nsp = ''; | ||
while (++i) { | ||
@@ -147,13 +142,10 @@ var c = str.charAt(i); | ||
p.nsp = '/'; | ||
} // look up id | ||
} | ||
// look up id | ||
var next = str.charAt(i + 1); | ||
if ('' !== next && Number(next) == next) { | ||
p.id = ''; | ||
while (++i) { | ||
var c = str.charAt(i); | ||
if (null == c || Number(c) != c) { | ||
@@ -163,18 +155,14 @@ --i; | ||
} | ||
p.id += str.charAt(i); | ||
if (i === str.length) break; | ||
} | ||
p.id = Number(p.id); | ||
} // look up json data | ||
} | ||
// look up json data | ||
if (str.charAt(++i)) { | ||
p = tryParse(p, str.substr(i)); | ||
} | ||
return p; | ||
} | ||
function tryParse(p, str) { | ||
@@ -186,5 +174,5 @@ try { | ||
} | ||
return p; | ||
} | ||
/** | ||
@@ -196,5 +184,3 @@ * Deallocates a parser's resources | ||
Decoder.prototype.destroy = function () {}; | ||
function error() { | ||
@@ -201,0 +187,0 @@ return { |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,26 +8,17 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _constants = require("./constants"); | ||
var RTSocket = /*#__PURE__*/function () { | ||
var RTSocket = exports["default"] = /*#__PURE__*/function () { | ||
function RTSocket(config, host) { | ||
(0, _classCallCheck2["default"])(this, RTSocket); | ||
var io = require('socket.io-client'); | ||
this.config = config; | ||
this.events = {}; | ||
var _config$getSocketConf = config.getSocketConfig(), | ||
url = _config$getSocketConf.url, | ||
options = _config$getSocketConf.options; | ||
url = _config$getSocketConf.url, | ||
options = _config$getSocketConf.options; | ||
this.ioSocket = io(url, options); | ||
} | ||
(0, _createClass2["default"])(RTSocket, [{ | ||
return (0, _createClass2["default"])(RTSocket, [{ | ||
key: "connect", | ||
@@ -50,3 +40,2 @@ value: function connect() { | ||
var _this = this; | ||
if (!this.events[event]) { | ||
@@ -57,3 +46,2 @@ this.ioSocket.on(event, function (data) { | ||
} | ||
this.events[event] = this.events[event] || []; | ||
@@ -68,7 +56,5 @@ this.events[event].push(callback); | ||
}) : []; | ||
if (!this.events[event].length) { | ||
delete this.events[event]; | ||
} | ||
if (!this.events[event]) { | ||
@@ -82,3 +68,2 @@ this.ioSocket.off(event); | ||
this.logMessage('FROM SERVER', event, data); | ||
if (this.events[event]) { | ||
@@ -101,7 +86,5 @@ this.events[event].forEach(function (callback) { | ||
var _console; | ||
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
// eslint-disable-next-line | ||
@@ -132,3 +115,2 @@ (_console = console)[type].apply(_console, ['[RT Client]:'].concat(args)); | ||
rtSocket.connect(); | ||
function onConnect() { | ||
@@ -138,3 +120,2 @@ rtSocket.log('log', 'socket connected'); | ||
} | ||
function onError(error) { | ||
@@ -144,3 +125,2 @@ rtSocket.log('error', 'received one of [CONNECT_ERROR,CONNECT_TIMEOUT] socket event while connecting', error); | ||
} | ||
function closeAndReject(error) { | ||
@@ -159,5 +139,2 @@ rtSocket.log('log', 'close and reject socket with error:', error); | ||
}]); | ||
return RTSocket; | ||
}(); | ||
exports["default"] = RTSocket; | ||
}(); |
"use strict"; | ||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); | ||
Object.defineProperty(exports, "__esModule", { | ||
@@ -9,13 +8,7 @@ value: true | ||
exports["default"] = void 0; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); | ||
var _constants = require("./constants"); | ||
var _utils = _interopRequireDefault(require("./utils")); | ||
var subscription = function subscription(type) { | ||
@@ -26,23 +19,65 @@ return function (options, callbacks) { | ||
}; | ||
var RTSubscriptions = /*#__PURE__*/function () { | ||
var RTSubscriptions = exports["default"] = /*#__PURE__*/function () { | ||
function RTSubscriptions(_ref) { | ||
var onMessage = _ref.onMessage, | ||
emitMessage = _ref.emitMessage; | ||
emitMessage = _ref.emitMessage; | ||
(0, _classCallCheck2["default"])(this, RTSubscriptions); | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/***************************************** **/ | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onObjectsChanges", subscription(_constants.RTSubscriptionTypes.OBJECTS_CHANGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRelationsChanges", subscription(_constants.RTSubscriptionTypes.RELATIONS_CHANGES).bind(this)); | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** PUB_SUB SUBSCRIPTIONS ************* **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "connectToPubSub", subscription(_constants.RTSubscriptionTypes.PUB_SUB_CONNECT).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubMessage", subscription(_constants.RTSubscriptionTypes.PUB_SUB_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubCommand", subscription(_constants.RTSubscriptionTypes.PUB_SUB_COMMANDS).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onPubSubUserStatus", subscription(_constants.RTSubscriptionTypes.PUB_SUB_USERS).bind(this)); | ||
/***** PUB_SUB SUBSCRIPTIONS ************* **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** RSO SUBSCRIPTIONS ***************** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "connectToRSO", subscription(_constants.RTSubscriptionTypes.RSO_CONNECT).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOChanges", subscription(_constants.RTSubscriptionTypes.RSO_CHANGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOClear", subscription(_constants.RTSubscriptionTypes.RSO_CLEARED).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOCommand", subscription(_constants.RTSubscriptionTypes.RSO_COMMANDS).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOInvoke", subscription(_constants.RTSubscriptionTypes.RSO_INVOKE).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onRSOUserStatus", subscription(_constants.RTSubscriptionTypes.RSO_USERS).bind(this)); | ||
/***** RSO SUBSCRIPTIONS ***************** **/ | ||
/***************************************** **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** CONSOLE's SUBSCRIPTIONS **************************************************** **/ | ||
/***************************************** **/ | ||
/***** LOGGING SUBSCRIPTIONS ****** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onLoggingMessages", subscription(_constants.RTSubscriptionTypes.LOGGING_MESSAGES).bind(this)); | ||
/***** LOGGING SUBSCRIPTIONS ****** **/ | ||
/***************************************** **/ | ||
/***************************************** **/ | ||
/***** CONSOLE SUBSCRIPTIONS ****** **/ | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onConsoleMessages", subscription(_constants.RTSubscriptionTypes.CONSOLE_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onDeveloperMessage", subscription(_constants.RTSubscriptionTypes.DEVELOPER_MESSAGES).bind(this)); | ||
/** */ | ||
(0, _defineProperty2["default"])(this, "onAutomationLoggingMessages", subscription(_constants.RTSubscriptionTypes.AUTOMATION_MESSAGES).bind(this)); | ||
@@ -53,8 +88,6 @@ this.onMessage = onMessage; | ||
} | ||
(0, _createClass2["default"])(RTSubscriptions, [{ | ||
return (0, _createClass2["default"])(RTSubscriptions, [{ | ||
key: "initialize", | ||
value: function initialize() { | ||
var _this = this; | ||
this.onMessage(_constants.RTSocketEvents.SUB_READY, function (data) { | ||
@@ -71,3 +104,2 @@ return _this.onSubscriptionReady(data); | ||
var _this2 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -81,3 +113,2 @@ _this2.subscriptions[subscriptionId].ready = false; | ||
var _this3 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -91,3 +122,2 @@ return _this3.stopSubscription(subscriptionId); | ||
var _this4 = this; | ||
Object.keys(this.subscriptions).forEach(function (subscriptionId) { | ||
@@ -106,11 +136,8 @@ _this4.startSubscription(subscriptionId); | ||
var _this5 = this; | ||
var parser = _ref2.parser, | ||
onData = _ref2.onData, | ||
onError = _ref2.onError, | ||
onStop = _ref2.onStop, | ||
onReady = _ref2.onReady; | ||
onData = _ref2.onData, | ||
onError = _ref2.onError, | ||
onStop = _ref2.onStop, | ||
onReady = _ref2.onReady; | ||
var subscriptionId = _utils["default"].generateUID(); | ||
this.subscriptions[subscriptionId] = { | ||
@@ -151,3 +178,2 @@ data: { | ||
var subscription = this.subscriptions[subscriptionId]; | ||
if (subscription) { | ||
@@ -157,3 +183,2 @@ if (subscription.onStop) { | ||
} | ||
delete this.subscriptions[subscriptionId]; | ||
@@ -166,3 +191,2 @@ } | ||
var subscription = this.subscriptions[subscriptionId]; | ||
if (subscription) { | ||
@@ -180,6 +204,4 @@ this.emitMessage(_constants.RTSocketEvents.SUB_OFF, { | ||
var subscription = this.subscriptions[id]; | ||
if (subscription && !subscription.ready) { | ||
subscription.ready = true; | ||
if (subscription.onReady) { | ||
@@ -194,6 +216,5 @@ subscription.onReady(); | ||
var id = _ref4.id, | ||
data = _ref4.data, | ||
error = _ref4.error; | ||
data = _ref4.data, | ||
error = _ref4.error; | ||
var subscription = this.subscriptions[id]; | ||
if (subscription) { | ||
@@ -204,3 +225,2 @@ if (error) { | ||
} | ||
this.stopSubscription(id); | ||
@@ -210,3 +230,2 @@ } else { | ||
subscription.ready = true; | ||
if (subscription.onReady) { | ||
@@ -216,3 +235,2 @@ subscription.onReady(); | ||
} | ||
if (subscription.onData) { | ||
@@ -222,3 +240,2 @@ if (typeof subscription.parser === 'function') { | ||
} | ||
subscription.onData(data); | ||
@@ -229,28 +246,8 @@ } | ||
} | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
/** COMMON SUBSCRIPTIONS ******************************************************** **/ | ||
/***************************************** **/ | ||
/***** DATA SUBSCRIPTIONS **************** **/ | ||
/** */ | ||
/***** CONSOLE SUBSCRIPTIONS ****** **/ | ||
/***************************************** **/ | ||
/** CONSOLE's SUBSCRIPTIONS **************************************************** **/ | ||
/******************************************************************************* **/ | ||
/******************************************************************************* **/ | ||
}]); | ||
return RTSubscriptions; | ||
}(); | ||
exports["default"] = RTSubscriptions; | ||
}(); |
@@ -12,11 +12,8 @@ "use strict"; | ||
var hash = ''; | ||
for (var i = 0; i < 8; i++) { | ||
hash += CHARS.charAt(Math.floor(Math.random() * CHARS.length)); | ||
} | ||
return hash + Date.now(); | ||
} | ||
}; | ||
var _default = Utils; | ||
exports["default"] = _default; | ||
var _default = exports["default"] = Utils; |
{ | ||
"name": "backendless-rt-client", | ||
"version": "0.4.0", | ||
"version": "0.5.0-dev.1", | ||
"description": "Backendless RT Client for connect to Backendless RT Server", | ||
@@ -49,27 +49,27 @@ "browser": "dist/backendless-rt-client.js", | ||
"devDependencies": { | ||
"@babel/cli": "^7.17.10", | ||
"@babel/core": "^7.18.2", | ||
"@babel/plugin-proposal-class-properties": "^7.17.12", | ||
"@babel/plugin-proposal-decorators": "^7.18.2", | ||
"@babel/plugin-transform-object-assign": "^7.16.7", | ||
"@babel/plugin-transform-runtime": "^7.18.2", | ||
"@babel/cli": "^7.26.4", | ||
"@babel/core": "^7.26.7", | ||
"@babel/plugin-transform-class-properties": "^7.25.9", | ||
"@babel/plugin-proposal-decorators": "^7.25.9", | ||
"@babel/plugin-transform-object-assign": "^7.25.9", | ||
"@babel/plugin-transform-runtime": "^7.25.9", | ||
"@babel/polyfill": "^7.12.1", | ||
"@babel/preset-env": "^7.18.2", | ||
"@babel/register": "^7.17.7", | ||
"@babel/preset-env": "^7.26.7", | ||
"@babel/register": "^7.25.9", | ||
"babel-eslint": "^10.1.0", | ||
"babel-loader": "^8.2.5", | ||
"babel-loader": "^9.2.1", | ||
"bannerize": "^1.1.4", | ||
"cross-env": "^7.0.3", | ||
"eslint": "^8.16.0", | ||
"rimraf": "^3.0.2", | ||
"eslint": "^9.19.0", | ||
"rimraf": "^5.0.10", | ||
"watch": "^1.0.2", | ||
"terser-webpack-plugin": "^5.3.1", | ||
"webpack": "^5.72.1", | ||
"webpack-cli": "^4.9.2" | ||
"terser-webpack-plugin": "^5.3.11", | ||
"webpack": "^5.97.1", | ||
"webpack-cli": "^6.0.1" | ||
}, | ||
"dependencies": { | ||
"@babel/runtime": "^7.18.2", | ||
"backendless-request": "^0.4.3", | ||
"socket.io-client": "^2.0.3" | ||
"@babel/runtime": "^7.26.7", | ||
"backendless-request": "^0.8.0", | ||
"socket.io-client": "^2.5.0" | ||
} | ||
} |
@@ -1,3 +0,1 @@ | ||
import Request from 'backendless-request' | ||
const isUndefined = value => typeof value === 'undefined' | ||
@@ -12,7 +10,6 @@ const isString = value => typeof value === 'string' | ||
this.appId = null | ||
this.lookupPath = null | ||
this.lookupHeaders = {} | ||
this.debugMode = false | ||
this.connectQuery = {} | ||
this.socketConfigTransform = null | ||
this.hostResolver = null | ||
@@ -29,2 +26,8 @@ this.socketConfig = null | ||
if (!isUndefined(config.hostResolver)) { | ||
if (isFunction(config.hostResolver)) { | ||
this.hostResolver = config.hostResolver | ||
} | ||
} | ||
if (!isUndefined(config.appId)) { | ||
@@ -38,18 +41,2 @@ if (!isString(config.appId)) { | ||
if (!isUndefined(config.lookupPath)) { | ||
if (!isString(config.lookupPath)) { | ||
throw new Error('"lookupPath" must be String.') | ||
} | ||
this.lookupPath = config.lookupPath | ||
} | ||
if (!isUndefined(config.lookupHeaders)) { | ||
if (!isObject(config.lookupHeaders)) { | ||
throw new Error('"lookupHeaders" must be Object.') | ||
} | ||
this.lookupHeaders = config.lookupHeaders | ||
} | ||
if (!isUndefined(config.debugMode)) { | ||
@@ -85,14 +72,27 @@ this.debugMode = !!config.debugMode | ||
async prepare() { | ||
if (!isString(this.lookupPath)) { | ||
throw new Error('lookupPath must be String') | ||
getSocketConfig() { | ||
return this.socketConfig | ||
} | ||
async getHost() { | ||
if (isUndefined(this.hostResolver) || !isFunction(this.hostResolver)) { | ||
throw new Error('"hostResolver" must be a function'); | ||
} | ||
const host = await Request.get(this.lookupPath).set(this.lookupHeaders) | ||
const host = await this.hostResolver() | ||
if (!host || typeof host !== 'string') { | ||
throw new Error('"hostResolver" must return a valid string'); | ||
} | ||
return host | ||
} | ||
async prepare() { | ||
const query = this.getConnectQuery() | ||
const host = await this.getHost() | ||
const url = this.appId ? `${ host }/${ this.appId }` : host | ||
const path = this.appId ? `/${ this.appId }` : undefined | ||
const query = this.getConnectQuery() | ||
this.socketConfig = { | ||
@@ -111,14 +111,6 @@ host, | ||
if (this.socketConfigTransform) { | ||
const socketConfig = await this.socketConfigTransform(this.socketConfig) | ||
if (socketConfig) { | ||
this.socketConfig = socketConfig | ||
} | ||
this.socketConfig = await this.socketConfigTransform(this.socketConfig) || this.socketConfig | ||
} | ||
} | ||
getSocketConfig() { | ||
return this.socketConfig | ||
} | ||
} | ||
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
1325382
13559
+ Addedbackendless-request@0.8.1(transitive)
- Removedbackendless-request@0.4.3(transitive)
Updated@babel/runtime@^7.26.7
Updatedbackendless-request@^0.8.0
Updatedsocket.io-client@^2.5.0