rpc-websockets
Advanced tools
Comparing version 7.9.0 to 7.10.0
@@ -118,2 +118,23 @@ /** | ||
/** | ||
* Enable / disable automatic reconnection. | ||
* @method | ||
* @param {Boolean} reconnect - enable / disable reconnection | ||
* @return {Undefined} | ||
*/ | ||
setAutoReconnect(reconnect: boolean): void; | ||
/** | ||
* Set the interval between reconnection attempts. | ||
* @method | ||
* @param {Number} interval - reconnection interval in milliseconds | ||
* @return {Undefined} | ||
*/ | ||
setReconnectInterval(interval: number): void; | ||
/** | ||
* Set the maximum number of reconnection attempts. | ||
* @method | ||
* @param {Number} max_reconnects - maximum reconnection attempts | ||
* @return {Undefined} | ||
*/ | ||
setMaxReconnects(max_reconnects: number): void; | ||
/** | ||
* Connection/Message handler. | ||
@@ -120,0 +141,0 @@ * @method |
@@ -186,2 +186,29 @@ /** | ||
/** | ||
* Enable / disable automatic reconnection. | ||
* @method | ||
* @param {Boolean} reconnect - enable / disable reconnection | ||
* @return {Undefined} | ||
*/ | ||
setAutoReconnect(reconnect) { | ||
this.reconnect = reconnect; | ||
} | ||
/** | ||
* Set the interval between reconnection attempts. | ||
* @method | ||
* @param {Number} interval - reconnection interval in milliseconds | ||
* @return {Undefined} | ||
*/ | ||
setReconnectInterval(interval) { | ||
this.reconnect_interval = interval; | ||
} | ||
/** | ||
* Set the maximum number of reconnection attempts. | ||
* @method | ||
* @param {Number} max_reconnects - maximum reconnection attempts | ||
* @return {Undefined} | ||
*/ | ||
setMaxReconnects(max_reconnects) { | ||
this.max_reconnects = max_reconnects; | ||
} | ||
/** | ||
* Connection/Message handler. | ||
@@ -188,0 +215,0 @@ * @method |
import NodeWebSocket from "ws"; | ||
export declare type BrowserWebSocketType = InstanceType<typeof WebSocket>; | ||
export declare type NodeWebSocketType = InstanceType<typeof NodeWebSocket>; | ||
export declare type NodeWebSocketTypeOptions = NodeWebSocket.ClientOptions; | ||
export type BrowserWebSocketType = InstanceType<typeof WebSocket>; | ||
export type NodeWebSocketType = InstanceType<typeof NodeWebSocket>; | ||
export type NodeWebSocketTypeOptions = NodeWebSocket.ClientOptions; | ||
export interface IWSClientAdditionalOptions { | ||
@@ -6,0 +6,0 @@ autoconnect?: boolean; |
@@ -10,12 +10,10 @@ "use strict"; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _websocket = _interopRequireDefault(require("./lib/client/websocket.browser")); | ||
var _client = _interopRequireDefault(require("./lib/client")); | ||
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 Client = /*#__PURE__*/function (_CommonClient) { | ||
(0, _inherits2["default"])(Client, _CommonClient); | ||
var _super = _createSuper(Client); | ||
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; })(); } | ||
var Client = exports.Client = /*#__PURE__*/function (_CommonClient) { | ||
function Client() { | ||
@@ -34,3 +32,3 @@ var address = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "ws://localhost:8080"; | ||
(0, _classCallCheck2["default"])(this, Client); | ||
return _super.call(this, _websocket["default"], address, { | ||
return _callSuper(this, Client, [_websocket["default"], address, { | ||
autoconnect: autoconnect, | ||
@@ -40,6 +38,6 @@ reconnect: reconnect, | ||
max_reconnects: max_reconnects | ||
}, generate_request_id); | ||
}, generate_request_id]); | ||
} | ||
(0, _inherits2["default"])(Client, _CommonClient); | ||
return (0, _createClass2["default"])(Client); | ||
}(_client["default"]); | ||
exports.Client = Client; | ||
}(_client["default"]); |
@@ -16,15 +16,13 @@ "use strict"; | ||
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); | ||
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _websocket = _interopRequireDefault(require("./lib/client/websocket")); | ||
var _client = _interopRequireDefault(require("./lib/client")); | ||
var _server = _interopRequireDefault(require("./lib/server")); | ||
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; } } | ||
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; })(); } | ||
var __rest = void 0 && (void 0).__rest || function (s, e) { | ||
var t = {}; | ||
for (var p in s) { | ||
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; | ||
} | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
@@ -35,5 +33,3 @@ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; | ||
}; | ||
var Client = /*#__PURE__*/function (_CommonClient) { | ||
(0, _inherits2["default"])(Client, _CommonClient); | ||
var _super = _createSuper(Client); | ||
var Client = exports.Client = /*#__PURE__*/function (_CommonClient) { | ||
function Client() { | ||
@@ -53,3 +49,3 @@ var address = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "ws://localhost:8080"; | ||
rest_options = __rest(_a, ["autoconnect", "reconnect", "reconnect_interval", "max_reconnects"]); | ||
return _super.call(this, _websocket["default"], address, Object.assign({ | ||
return _callSuper(this, Client, [_websocket["default"], address, Object.assign({ | ||
autoconnect: autoconnect, | ||
@@ -59,6 +55,6 @@ reconnect: reconnect, | ||
max_reconnects: max_reconnects | ||
}, rest_options), generate_request_id); | ||
}, rest_options), generate_request_id]); | ||
} | ||
(0, _inherits2["default"])(Client, _CommonClient); | ||
return (0, _createClass2["default"])(Client); | ||
}(_client["default"]); | ||
exports.Client = Client; | ||
}(_client["default"]); |
@@ -118,2 +118,23 @@ /** | ||
/** | ||
* Enable / disable automatic reconnection. | ||
* @method | ||
* @param {Boolean} reconnect - enable / disable reconnection | ||
* @return {Undefined} | ||
*/ | ||
setAutoReconnect(reconnect: boolean): void; | ||
/** | ||
* Set the interval between reconnection attempts. | ||
* @method | ||
* @param {Number} interval - reconnection interval in milliseconds | ||
* @return {Undefined} | ||
*/ | ||
setReconnectInterval(interval: number): void; | ||
/** | ||
* Set the maximum number of reconnection attempts. | ||
* @method | ||
* @param {Number} max_reconnects - maximum reconnection attempts | ||
* @return {Undefined} | ||
*/ | ||
setMaxReconnects(max_reconnects: number): void; | ||
/** | ||
* Connection/Message handler. | ||
@@ -120,0 +141,0 @@ * @method |
@@ -18,14 +18,12 @@ /** | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _eventemitter = require("eventemitter3"); | ||
var _utils = require("./utils"); | ||
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; } } | ||
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; })(); } | ||
var __rest = void 0 && (void 0).__rest || function (s, e) { | ||
var t = {}; | ||
for (var p in s) { | ||
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; | ||
} | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
@@ -37,5 +35,3 @@ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; | ||
// @ts-ignore | ||
var CommonClient = /*#__PURE__*/function (_EventEmitter) { | ||
(0, _inherits2["default"])(CommonClient, _EventEmitter); | ||
var _super = _createSuper(CommonClient); | ||
var CommonClient = exports["default"] = /*#__PURE__*/function (_EventEmitter) { | ||
/** | ||
@@ -67,3 +63,3 @@ * Instantiate a Client class. | ||
rest_options = __rest(_a, ["autoconnect", "reconnect", "reconnect_interval", "max_reconnects"]); | ||
_this = _super.call(this); | ||
_this = _callSuper(this, CommonClient); | ||
_this.webSocketFactory = webSocketFactory; | ||
@@ -98,3 +94,4 @@ _this.queue = {}; | ||
*/ | ||
(0, _createClass2["default"])(CommonClient, [{ | ||
(0, _inherits2["default"])(CommonClient, _EventEmitter); | ||
return (0, _createClass2["default"])(CommonClient, [{ | ||
key: "connect", | ||
@@ -158,24 +155,22 @@ value: function connect() { | ||
key: "login", | ||
value: function () { | ||
value: (function () { | ||
var _login = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(params) { | ||
var resp; | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.call("rpc.login", params); | ||
case 2: | ||
resp = _context.sent; | ||
if (resp) { | ||
_context.next = 5; | ||
break; | ||
} | ||
throw new Error("authentication failed"); | ||
case 5: | ||
return _context.abrupt("return", resp); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.call("rpc.login", params); | ||
case 2: | ||
resp = _context.sent; | ||
if (resp) { | ||
_context.next = 5; | ||
break; | ||
} | ||
throw new Error("authentication failed"); | ||
case 5: | ||
return _context.abrupt("return", resp); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
@@ -194,18 +189,17 @@ }, _callee, this); | ||
*/ | ||
) | ||
}, { | ||
key: "listMethods", | ||
value: function () { | ||
value: (function () { | ||
var _listMethods = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { | ||
return _regenerator["default"].wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context2.next = 2; | ||
return this.call("__listMethods"); | ||
case 2: | ||
return _context2.abrupt("return", _context2.sent); | ||
case 3: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
while (1) switch (_context2.prev = _context2.next) { | ||
case 0: | ||
_context2.next = 2; | ||
return this.call("__listMethods"); | ||
case 2: | ||
return _context2.abrupt("return", _context2.sent); | ||
case 3: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
@@ -226,2 +220,3 @@ }, _callee2, this); | ||
*/ | ||
) | ||
}, { | ||
@@ -253,25 +248,23 @@ key: "notify", | ||
key: "subscribe", | ||
value: function () { | ||
value: (function () { | ||
var _subscribe = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(event) { | ||
var result; | ||
return _regenerator["default"].wrap(function _callee3$(_context3) { | ||
while (1) { | ||
switch (_context3.prev = _context3.next) { | ||
case 0: | ||
if (typeof event === "string") event = [event]; | ||
_context3.next = 3; | ||
return this.call("rpc.on", event); | ||
case 3: | ||
result = _context3.sent; | ||
if (!(typeof event === "string" && result[event] !== "ok")) { | ||
_context3.next = 6; | ||
break; | ||
} | ||
throw new Error("Failed subscribing to an event '" + event + "' with: " + result[event]); | ||
case 6: | ||
return _context3.abrupt("return", result); | ||
case 7: | ||
case "end": | ||
return _context3.stop(); | ||
} | ||
while (1) switch (_context3.prev = _context3.next) { | ||
case 0: | ||
if (typeof event === "string") event = [event]; | ||
_context3.next = 3; | ||
return this.call("rpc.on", event); | ||
case 3: | ||
result = _context3.sent; | ||
if (!(typeof event === "string" && result[event] !== "ok")) { | ||
_context3.next = 6; | ||
break; | ||
} | ||
throw new Error("Failed subscribing to an event '" + event + "' with: " + result[event]); | ||
case 6: | ||
return _context3.abrupt("return", result); | ||
case 7: | ||
case "end": | ||
return _context3.stop(); | ||
} | ||
@@ -292,27 +285,26 @@ }, _callee3, this); | ||
*/ | ||
) | ||
}, { | ||
key: "unsubscribe", | ||
value: function () { | ||
value: (function () { | ||
var _unsubscribe = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(event) { | ||
var result; | ||
return _regenerator["default"].wrap(function _callee4$(_context4) { | ||
while (1) { | ||
switch (_context4.prev = _context4.next) { | ||
case 0: | ||
if (typeof event === "string") event = [event]; | ||
_context4.next = 3; | ||
return this.call("rpc.off", event); | ||
case 3: | ||
result = _context4.sent; | ||
if (!(typeof event === "string" && result[event] !== "ok")) { | ||
_context4.next = 6; | ||
break; | ||
} | ||
throw new Error("Failed unsubscribing from an event with: " + result); | ||
case 6: | ||
return _context4.abrupt("return", result); | ||
case 7: | ||
case "end": | ||
return _context4.stop(); | ||
} | ||
while (1) switch (_context4.prev = _context4.next) { | ||
case 0: | ||
if (typeof event === "string") event = [event]; | ||
_context4.next = 3; | ||
return this.call("rpc.off", event); | ||
case 3: | ||
result = _context4.sent; | ||
if (!(typeof event === "string" && result[event] !== "ok")) { | ||
_context4.next = 6; | ||
break; | ||
} | ||
throw new Error("Failed unsubscribing from an event with: " + result); | ||
case 6: | ||
return _context4.abrupt("return", result); | ||
case 7: | ||
case "end": | ||
return _context4.stop(); | ||
} | ||
@@ -333,2 +325,3 @@ }, _callee4, this); | ||
*/ | ||
) | ||
}, { | ||
@@ -340,2 +333,35 @@ key: "close", | ||
/** | ||
* Enable / disable automatic reconnection. | ||
* @method | ||
* @param {Boolean} reconnect - enable / disable reconnection | ||
* @return {Undefined} | ||
*/ | ||
}, { | ||
key: "setAutoReconnect", | ||
value: function setAutoReconnect(reconnect) { | ||
this.reconnect = reconnect; | ||
} | ||
/** | ||
* Set the interval between reconnection attempts. | ||
* @method | ||
* @param {Number} interval - reconnection interval in milliseconds | ||
* @return {Undefined} | ||
*/ | ||
}, { | ||
key: "setReconnectInterval", | ||
value: function setReconnectInterval(interval) { | ||
this.reconnect_interval = interval; | ||
} | ||
/** | ||
* Set the maximum number of reconnection attempts. | ||
* @method | ||
* @param {Number} max_reconnects - maximum reconnection attempts | ||
* @return {Undefined} | ||
*/ | ||
}, { | ||
key: "setMaxReconnects", | ||
value: function setMaxReconnects(max_reconnects) { | ||
this.max_reconnects = max_reconnects; | ||
} | ||
/** | ||
* Connection/Message handler. | ||
@@ -373,5 +399,3 @@ * @method | ||
// using for-loop instead of unshift/spread because performance is better | ||
for (var i = 0; i < message.params.length; i++) { | ||
args.push(message.params[i]); | ||
} | ||
for (var i = 0; i < message.params.length; i++) args.push(message.params[i]); | ||
// run as microtask so that pending queue messages are resolved first | ||
@@ -420,4 +444,2 @@ // eslint-disable-next-line prefer-spread | ||
}]); | ||
return CommonClient; | ||
}(_eventemitter.EventEmitter); | ||
exports["default"] = CommonClient; | ||
}(_eventemitter.EventEmitter); |
import NodeWebSocket from "ws"; | ||
export declare type BrowserWebSocketType = InstanceType<typeof WebSocket>; | ||
export declare type NodeWebSocketType = InstanceType<typeof NodeWebSocket>; | ||
export declare type NodeWebSocketTypeOptions = NodeWebSocket.ClientOptions; | ||
export type BrowserWebSocketType = InstanceType<typeof WebSocket>; | ||
export type NodeWebSocketType = InstanceType<typeof NodeWebSocket>; | ||
export type NodeWebSocketTypeOptions = NodeWebSocket.ClientOptions; | ||
export interface IWSClientAdditionalOptions { | ||
@@ -6,0 +6,0 @@ autoconnect?: boolean; |
@@ -14,11 +14,9 @@ /** | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _eventemitter = require("eventemitter3"); | ||
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; } } | ||
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; })(); } | ||
var WebSocketBrowserImpl = /*#__PURE__*/function (_EventEmitter) { | ||
(0, _inherits2["default"])(WebSocketBrowserImpl, _EventEmitter); | ||
var _super = _createSuper(WebSocketBrowserImpl); | ||
/** Instantiate a WebSocket class | ||
@@ -34,3 +32,3 @@ * @constructor | ||
(0, _classCallCheck2["default"])(this, WebSocketBrowserImpl); | ||
_this = _super.call(this); | ||
_this = _callSuper(this, WebSocketBrowserImpl); | ||
_this.socket = new window.WebSocket(address, protocols); | ||
@@ -59,3 +57,4 @@ _this.socket.onopen = function () { | ||
*/ | ||
(0, _createClass2["default"])(WebSocketBrowserImpl, [{ | ||
(0, _inherits2["default"])(WebSocketBrowserImpl, _EventEmitter); | ||
return (0, _createClass2["default"])(WebSocketBrowserImpl, [{ | ||
key: "send", | ||
@@ -90,3 +89,2 @@ value: function send(data, optionsOrCallback, callback) { | ||
}]); | ||
return WebSocketBrowserImpl; | ||
}(_eventemitter.EventEmitter); | ||
@@ -93,0 +91,0 @@ /** |
@@ -21,5 +21,5 @@ /** | ||
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); | ||
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); | ||
var _eventemitter = require("eventemitter3"); | ||
@@ -30,12 +30,10 @@ var _ws = require("ws"); | ||
var utils = _interopRequireWildcard(require("./utils")); | ||
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } | ||
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } | ||
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } | ||
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
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 Server = /*#__PURE__*/function (_EventEmitter) { | ||
(0, _inherits2["default"])(Server, _EventEmitter); | ||
var _super = _createSuper(Server); | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } | ||
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; })(); } | ||
var Server = exports["default"] = /*#__PURE__*/function (_EventEmitter) { | ||
/** | ||
@@ -51,3 +49,3 @@ * Instantiate a Server class. | ||
(0, _classCallCheck2["default"])(this, Server); | ||
_this = _super.call(this); | ||
_this = _callSuper(this, Server); | ||
/** | ||
@@ -110,3 +108,4 @@ * Stores all connected sockets with a universally unique identifier | ||
*/ | ||
(0, _createClass2["default"])(Server, [{ | ||
(0, _inherits2["default"])(Server, _EventEmitter); | ||
return (0, _createClass2["default"])(Server, [{ | ||
key: "register", | ||
@@ -429,102 +428,100 @@ value: function register(name, fn) { | ||
return _regenerator["default"].wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
msg_options = {}; | ||
if (data instanceof ArrayBuffer) { | ||
msg_options.binary = true; | ||
data = Buffer.from(data).toString(); | ||
} | ||
if (!(socket.readyState !== 1)) { | ||
_context.next = 4; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 4: | ||
_context.prev = 4; | ||
parsedData = _this5.dataPack.decode(data); | ||
_context.next = 11; | ||
while (1) switch (_context.prev = _context.next) { | ||
case 0: | ||
msg_options = {}; | ||
if (data instanceof ArrayBuffer) { | ||
msg_options.binary = true; | ||
data = Buffer.from(data).toString(); | ||
} | ||
if (!(socket.readyState !== 1)) { | ||
_context.next = 4; | ||
break; | ||
case 8: | ||
_context.prev = 8; | ||
_context.t0 = _context["catch"](4); | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode({ | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32700, _context.t0.toString()), | ||
id: null | ||
}), msg_options)); | ||
case 11: | ||
if (!Array.isArray(parsedData)) { | ||
_context.next = 39; | ||
break; | ||
} | ||
if (parsedData.length) { | ||
_context.next = 14; | ||
break; | ||
} | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode({ | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid array"), | ||
id: null | ||
}), msg_options)); | ||
case 14: | ||
responses = []; | ||
_iterator3 = _createForOfIteratorHelper(parsedData); | ||
_context.prev = 16; | ||
_iterator3.s(); | ||
case 18: | ||
if ((_step3 = _iterator3.n()).done) { | ||
_context.next = 28; | ||
break; | ||
} | ||
message = _step3.value; | ||
_context.next = 22; | ||
return _this5._runMethod(message, socket._id, ns); | ||
case 22: | ||
_response = _context.sent; | ||
if (_response) { | ||
_context.next = 25; | ||
break; | ||
} | ||
return _context.abrupt("continue", 26); | ||
case 25: | ||
responses.push(_response); | ||
case 26: | ||
_context.next = 18; | ||
} | ||
return _context.abrupt("return"); | ||
case 4: | ||
_context.prev = 4; | ||
parsedData = _this5.dataPack.decode(data); | ||
_context.next = 11; | ||
break; | ||
case 8: | ||
_context.prev = 8; | ||
_context.t0 = _context["catch"](4); | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode({ | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32700, _context.t0.toString()), | ||
id: null | ||
}), msg_options)); | ||
case 11: | ||
if (!Array.isArray(parsedData)) { | ||
_context.next = 39; | ||
break; | ||
case 28: | ||
_context.next = 33; | ||
} | ||
if (parsedData.length) { | ||
_context.next = 14; | ||
break; | ||
case 30: | ||
_context.prev = 30; | ||
_context.t1 = _context["catch"](16); | ||
_iterator3.e(_context.t1); | ||
case 33: | ||
_context.prev = 33; | ||
_iterator3.f(); | ||
return _context.finish(33); | ||
case 36: | ||
if (responses.length) { | ||
_context.next = 38; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 38: | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode(responses), msg_options)); | ||
case 39: | ||
_context.next = 41; | ||
return _this5._runMethod(parsedData, socket._id, ns); | ||
case 41: | ||
response = _context.sent; | ||
if (response) { | ||
_context.next = 44; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 44: | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode(response), msg_options)); | ||
case 45: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode({ | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid array"), | ||
id: null | ||
}), msg_options)); | ||
case 14: | ||
responses = []; | ||
_iterator3 = _createForOfIteratorHelper(parsedData); | ||
_context.prev = 16; | ||
_iterator3.s(); | ||
case 18: | ||
if ((_step3 = _iterator3.n()).done) { | ||
_context.next = 28; | ||
break; | ||
} | ||
message = _step3.value; | ||
_context.next = 22; | ||
return _this5._runMethod(message, socket._id, ns); | ||
case 22: | ||
_response = _context.sent; | ||
if (_response) { | ||
_context.next = 25; | ||
break; | ||
} | ||
return _context.abrupt("continue", 26); | ||
case 25: | ||
responses.push(_response); | ||
case 26: | ||
_context.next = 18; | ||
break; | ||
case 28: | ||
_context.next = 33; | ||
break; | ||
case 30: | ||
_context.prev = 30; | ||
_context.t1 = _context["catch"](16); | ||
_iterator3.e(_context.t1); | ||
case 33: | ||
_context.prev = 33; | ||
_iterator3.f(); | ||
return _context.finish(33); | ||
case 36: | ||
if (responses.length) { | ||
_context.next = 38; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 38: | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode(responses), msg_options)); | ||
case 39: | ||
_context.next = 41; | ||
return _this5._runMethod(parsedData, socket._id, ns); | ||
case 41: | ||
response = _context.sent; | ||
if (response) { | ||
_context.next = 44; | ||
break; | ||
} | ||
return _context.abrupt("return"); | ||
case 44: | ||
return _context.abrupt("return", socket.send(_this5.dataPack.encode(response), msg_options)); | ||
case 45: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
@@ -548,3 +545,3 @@ }, _callee, null, [[4, 8], [16, 30, 33, 36]]); | ||
key: "_runMethod", | ||
value: function () { | ||
value: (function () { | ||
var _runMethod2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(message, socket_id) { | ||
@@ -569,285 +566,283 @@ var ns, | ||
return _regenerator["default"].wrap(function _callee2$(_context2) { | ||
while (1) { | ||
switch (_context2.prev = _context2.next) { | ||
case 0: | ||
ns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : "/"; | ||
if (!((0, _typeof2["default"])(message) !== "object" || message === null)) { | ||
_context2.next = 3; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600), | ||
id: null | ||
}); | ||
case 3: | ||
if (!(message.jsonrpc !== "2.0")) { | ||
_context2.next = 5; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid JSON RPC version"), | ||
id: message.id || null | ||
}); | ||
case 5: | ||
if (message.method) { | ||
_context2.next = 7; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32602, "Method not specified"), | ||
id: message.id || null | ||
}); | ||
case 7: | ||
if (!(typeof message.method !== "string")) { | ||
_context2.next = 9; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid method name"), | ||
id: message.id || null | ||
}); | ||
case 9: | ||
if (!(message.params && typeof message.params === "string")) { | ||
_context2.next = 11; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600), | ||
id: message.id || null | ||
}); | ||
case 11: | ||
if (!(message.method === "rpc.on")) { | ||
_context2.next = 47; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 14; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32000), | ||
id: message.id || null | ||
}); | ||
case 14: | ||
results = {}; | ||
event_names = Object.keys(this.namespaces[ns].events); | ||
_iterator4 = _createForOfIteratorHelper(message.params); | ||
_context2.prev = 17; | ||
_iterator4.s(); | ||
case 19: | ||
if ((_step4 = _iterator4.n()).done) { | ||
_context2.next = 36; | ||
break; | ||
} | ||
name = _step4.value; | ||
index = event_names.indexOf(name); | ||
namespace = this.namespaces[ns]; | ||
if (!(index === -1)) { | ||
_context2.next = 26; | ||
break; | ||
} | ||
results[name] = "provided event invalid"; | ||
return _context2.abrupt("continue", 34); | ||
case 26: | ||
if (!(namespace.events[event_names[index]]["protected"] === true && namespace.clients.get(socket_id)["_authenticated"] === false)) { | ||
_context2.next = 28; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32606), | ||
id: message.id || null | ||
}); | ||
case 28: | ||
socket_index = namespace.events[event_names[index]].sockets.indexOf(socket_id); | ||
if (!(socket_index >= 0)) { | ||
_context2.next = 32; | ||
break; | ||
} | ||
results[name] = "socket has already been subscribed to event"; | ||
return _context2.abrupt("continue", 34); | ||
case 32: | ||
namespace.events[event_names[index]].sockets.push(socket_id); | ||
results[name] = "ok"; | ||
case 34: | ||
_context2.next = 19; | ||
while (1) switch (_context2.prev = _context2.next) { | ||
case 0: | ||
ns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : "/"; | ||
if (!((0, _typeof2["default"])(message) !== "object" || message === null)) { | ||
_context2.next = 3; | ||
break; | ||
case 36: | ||
_context2.next = 41; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600), | ||
id: null | ||
}); | ||
case 3: | ||
if (!(message.jsonrpc !== "2.0")) { | ||
_context2.next = 5; | ||
break; | ||
case 38: | ||
_context2.prev = 38; | ||
_context2.t0 = _context2["catch"](17); | ||
_iterator4.e(_context2.t0); | ||
case 41: | ||
_context2.prev = 41; | ||
_iterator4.f(); | ||
return _context2.finish(41); | ||
case 44: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: results, | ||
id: message.id || null | ||
}); | ||
case 47: | ||
if (!(message.method === "rpc.off")) { | ||
_context2.next = 78; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 50; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32000), | ||
id: message.id || null | ||
}); | ||
case 50: | ||
_results = {}; | ||
_iterator5 = _createForOfIteratorHelper(message.params); | ||
_context2.prev = 52; | ||
_iterator5.s(); | ||
case 54: | ||
if ((_step5 = _iterator5.n()).done) { | ||
_context2.next = 67; | ||
break; | ||
} | ||
_name = _step5.value; | ||
if (this.namespaces[ns].events[_name]) { | ||
_context2.next = 59; | ||
break; | ||
} | ||
_results[_name] = "provided event invalid"; | ||
return _context2.abrupt("continue", 65); | ||
case 59: | ||
_index = this.namespaces[ns].events[_name].sockets.indexOf(socket_id); | ||
if (!(_index === -1)) { | ||
_context2.next = 63; | ||
break; | ||
} | ||
_results[_name] = "not subscribed"; | ||
return _context2.abrupt("continue", 65); | ||
case 63: | ||
this.namespaces[ns].events[_name].sockets.splice(_index, 1); | ||
_results[_name] = "ok"; | ||
case 65: | ||
_context2.next = 54; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid JSON RPC version"), | ||
id: message.id || null | ||
}); | ||
case 5: | ||
if (message.method) { | ||
_context2.next = 7; | ||
break; | ||
case 67: | ||
_context2.next = 72; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32602, "Method not specified"), | ||
id: message.id || null | ||
}); | ||
case 7: | ||
if (!(typeof message.method !== "string")) { | ||
_context2.next = 9; | ||
break; | ||
case 69: | ||
_context2.prev = 69; | ||
_context2.t1 = _context2["catch"](52); | ||
_iterator5.e(_context2.t1); | ||
case 72: | ||
_context2.prev = 72; | ||
_iterator5.f(); | ||
return _context2.finish(72); | ||
case 75: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: _results, | ||
id: message.id || null | ||
}); | ||
case 78: | ||
if (!(message.method === "rpc.login")) { | ||
_context2.next = 81; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 81; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32604), | ||
id: message.id || null | ||
}); | ||
case 81: | ||
if (this.namespaces[ns].rpc_methods[message.method]) { | ||
_context2.next = 83; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32601), | ||
id: message.id || null | ||
}); | ||
case 83: | ||
response = null; // reject request if method is protected and if client is not authenticated | ||
if (!(this.namespaces[ns].rpc_methods[message.method]["protected"] === true && this.namespaces[ns].clients.get(socket_id)["_authenticated"] === false)) { | ||
_context2.next = 86; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32605), | ||
id: message.id || null | ||
}); | ||
case 86: | ||
_context2.prev = 86; | ||
_context2.next = 89; | ||
return this.namespaces[ns].rpc_methods[message.method].fn(message.params, socket_id); | ||
case 89: | ||
response = _context2.sent; | ||
_context2.next = 99; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600, "Invalid method name"), | ||
id: message.id || null | ||
}); | ||
case 9: | ||
if (!(message.params && typeof message.params === "string")) { | ||
_context2.next = 11; | ||
break; | ||
case 92: | ||
_context2.prev = 92; | ||
_context2.t2 = _context2["catch"](86); | ||
if (message.id) { | ||
_context2.next = 96; | ||
break; | ||
} | ||
return _context2.abrupt("return"); | ||
case 96: | ||
if (!(_context2.t2 instanceof Error)) { | ||
_context2.next = 98; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: { | ||
code: -32000, | ||
message: _context2.t2.name, | ||
data: _context2.t2.message | ||
}, | ||
id: message.id | ||
}); | ||
case 98: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: _context2.t2, | ||
id: message.id | ||
}); | ||
case 99: | ||
if (message.id) { | ||
_context2.next = 101; | ||
break; | ||
} | ||
return _context2.abrupt("return"); | ||
case 101: | ||
// if login middleware returned true, set connection as authenticated | ||
if (message.method === "rpc.login" && response === true) { | ||
s = this.namespaces[ns].clients.get(socket_id); | ||
s["_authenticated"] = true; | ||
this.namespaces[ns].clients.set(socket_id, s); | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: response, | ||
id: message.id | ||
}); | ||
case 103: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32600), | ||
id: message.id || null | ||
}); | ||
case 11: | ||
if (!(message.method === "rpc.on")) { | ||
_context2.next = 47; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 14; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32000), | ||
id: message.id || null | ||
}); | ||
case 14: | ||
results = {}; | ||
event_names = Object.keys(this.namespaces[ns].events); | ||
_iterator4 = _createForOfIteratorHelper(message.params); | ||
_context2.prev = 17; | ||
_iterator4.s(); | ||
case 19: | ||
if ((_step4 = _iterator4.n()).done) { | ||
_context2.next = 36; | ||
break; | ||
} | ||
name = _step4.value; | ||
index = event_names.indexOf(name); | ||
namespace = this.namespaces[ns]; | ||
if (!(index === -1)) { | ||
_context2.next = 26; | ||
break; | ||
} | ||
results[name] = "provided event invalid"; | ||
return _context2.abrupt("continue", 34); | ||
case 26: | ||
if (!(namespace.events[event_names[index]]["protected"] === true && namespace.clients.get(socket_id)["_authenticated"] === false)) { | ||
_context2.next = 28; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32606), | ||
id: message.id || null | ||
}); | ||
case 28: | ||
socket_index = namespace.events[event_names[index]].sockets.indexOf(socket_id); | ||
if (!(socket_index >= 0)) { | ||
_context2.next = 32; | ||
break; | ||
} | ||
results[name] = "socket has already been subscribed to event"; | ||
return _context2.abrupt("continue", 34); | ||
case 32: | ||
namespace.events[event_names[index]].sockets.push(socket_id); | ||
results[name] = "ok"; | ||
case 34: | ||
_context2.next = 19; | ||
break; | ||
case 36: | ||
_context2.next = 41; | ||
break; | ||
case 38: | ||
_context2.prev = 38; | ||
_context2.t0 = _context2["catch"](17); | ||
_iterator4.e(_context2.t0); | ||
case 41: | ||
_context2.prev = 41; | ||
_iterator4.f(); | ||
return _context2.finish(41); | ||
case 44: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: results, | ||
id: message.id || null | ||
}); | ||
case 47: | ||
if (!(message.method === "rpc.off")) { | ||
_context2.next = 78; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 50; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32000), | ||
id: message.id || null | ||
}); | ||
case 50: | ||
_results = {}; | ||
_iterator5 = _createForOfIteratorHelper(message.params); | ||
_context2.prev = 52; | ||
_iterator5.s(); | ||
case 54: | ||
if ((_step5 = _iterator5.n()).done) { | ||
_context2.next = 67; | ||
break; | ||
} | ||
_name = _step5.value; | ||
if (this.namespaces[ns].events[_name]) { | ||
_context2.next = 59; | ||
break; | ||
} | ||
_results[_name] = "provided event invalid"; | ||
return _context2.abrupt("continue", 65); | ||
case 59: | ||
_index = this.namespaces[ns].events[_name].sockets.indexOf(socket_id); | ||
if (!(_index === -1)) { | ||
_context2.next = 63; | ||
break; | ||
} | ||
_results[_name] = "not subscribed"; | ||
return _context2.abrupt("continue", 65); | ||
case 63: | ||
this.namespaces[ns].events[_name].sockets.splice(_index, 1); | ||
_results[_name] = "ok"; | ||
case 65: | ||
_context2.next = 54; | ||
break; | ||
case 67: | ||
_context2.next = 72; | ||
break; | ||
case 69: | ||
_context2.prev = 69; | ||
_context2.t1 = _context2["catch"](52); | ||
_iterator5.e(_context2.t1); | ||
case 72: | ||
_context2.prev = 72; | ||
_iterator5.f(); | ||
return _context2.finish(72); | ||
case 75: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: _results, | ||
id: message.id || null | ||
}); | ||
case 78: | ||
if (!(message.method === "rpc.login")) { | ||
_context2.next = 81; | ||
break; | ||
} | ||
if (message.params) { | ||
_context2.next = 81; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32604), | ||
id: message.id || null | ||
}); | ||
case 81: | ||
if (this.namespaces[ns].rpc_methods[message.method]) { | ||
_context2.next = 83; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32601), | ||
id: message.id || null | ||
}); | ||
case 83: | ||
response = null; // reject request if method is protected and if client is not authenticated | ||
if (!(this.namespaces[ns].rpc_methods[message.method]["protected"] === true && this.namespaces[ns].clients.get(socket_id)["_authenticated"] === false)) { | ||
_context2.next = 86; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: utils.createError(-32605), | ||
id: message.id || null | ||
}); | ||
case 86: | ||
_context2.prev = 86; | ||
_context2.next = 89; | ||
return this.namespaces[ns].rpc_methods[message.method].fn(message.params, socket_id); | ||
case 89: | ||
response = _context2.sent; | ||
_context2.next = 99; | ||
break; | ||
case 92: | ||
_context2.prev = 92; | ||
_context2.t2 = _context2["catch"](86); | ||
if (message.id) { | ||
_context2.next = 96; | ||
break; | ||
} | ||
return _context2.abrupt("return"); | ||
case 96: | ||
if (!(_context2.t2 instanceof Error)) { | ||
_context2.next = 98; | ||
break; | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: { | ||
code: -32000, | ||
message: _context2.t2.name, | ||
data: _context2.t2.message | ||
}, | ||
id: message.id | ||
}); | ||
case 98: | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
error: _context2.t2, | ||
id: message.id | ||
}); | ||
case 99: | ||
if (message.id) { | ||
_context2.next = 101; | ||
break; | ||
} | ||
return _context2.abrupt("return"); | ||
case 101: | ||
// if login middleware returned true, set connection as authenticated | ||
if (message.method === "rpc.login" && response === true) { | ||
s = this.namespaces[ns].clients.get(socket_id); | ||
s["_authenticated"] = true; | ||
this.namespaces[ns].clients.set(socket_id, s); | ||
} | ||
return _context2.abrupt("return", { | ||
jsonrpc: "2.0", | ||
result: response, | ||
id: message.id | ||
}); | ||
case 103: | ||
case "end": | ||
return _context2.stop(); | ||
} | ||
@@ -868,2 +863,3 @@ }, _callee2, this, [[17, 38, 41, 44], [52, 69, 72, 75], [86, 92]]); | ||
*/ | ||
) | ||
}, { | ||
@@ -887,4 +883,2 @@ key: "_generateNamespace", | ||
}]); | ||
return Server; | ||
}(_eventemitter.EventEmitter); | ||
exports["default"] = Server; | ||
}(_eventemitter.EventEmitter); |
@@ -12,7 +12,7 @@ "use strict"; | ||
var errors = new Map([[-32000, "Event not provided"], [-32600, "Invalid Request"], [-32601, "Method not found"], [-32602, "Invalid params"], [-32603, "Internal error"], [-32604, "Params not found"], [-32605, "Method forbidden"], [-32606, "Event forbidden"], [-32700, "Parse error"]]); | ||
var DefaultDataPack = /*#__PURE__*/function () { | ||
var DefaultDataPack = exports.DefaultDataPack = /*#__PURE__*/function () { | ||
function DefaultDataPack() { | ||
(0, _classCallCheck2["default"])(this, DefaultDataPack); | ||
} | ||
(0, _createClass2["default"])(DefaultDataPack, [{ | ||
return (0, _createClass2["default"])(DefaultDataPack, [{ | ||
key: "encode", | ||
@@ -28,3 +28,2 @@ value: function encode(value) { | ||
}]); | ||
return DefaultDataPack; | ||
}(); | ||
@@ -37,3 +36,2 @@ /** | ||
*/ | ||
exports.DefaultDataPack = DefaultDataPack; | ||
function createError(code, details) { | ||
@@ -40,0 +38,0 @@ var error = { |
{ | ||
"name": "rpc-websockets", | ||
"version": "7.9.0", | ||
"version": "7.10.0", | ||
"description": "JSON-RPC 2.0 implementation over WebSockets for Node.js", | ||
@@ -5,0 +5,0 @@ "main": "./dist/index.js", |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
6615
5437241