buttplug 3.1.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/.eslintrc.js +13 -8
  2. package/CHANGELOG.md +23 -0
  3. package/README.md +24 -25
  4. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.d.ts +13 -16
  5. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js +23 -52
  6. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js.map +1 -1
  7. package/dist/main/src/client/ButtplugClientConnectorException.d.ts +11 -11
  8. package/dist/main/src/client/ButtplugClientConnectorException.js +41 -41
  9. package/dist/main/src/client/ButtplugClientDevice.d.ts +67 -67
  10. package/dist/main/src/client/ButtplugClientDevice.js +325 -324
  11. package/dist/main/src/client/ButtplugClientDevice.js.map +1 -1
  12. package/dist/main/src/client/ButtplugNodeWebsocketClientConnector.d.ts +18 -18
  13. package/dist/main/src/client/ButtplugNodeWebsocketClientConnector.js +19 -19
  14. package/dist/main/src/client/Client.d.ts +41 -40
  15. package/dist/main/src/client/Client.js +241 -235
  16. package/dist/main/src/client/Client.js.map +1 -1
  17. package/dist/main/src/client/IButtplugClientConnector.d.ts +16 -16
  18. package/dist/main/src/client/IButtplugClientConnector.js +9 -9
  19. package/dist/main/src/core/Exceptions.d.ts +36 -36
  20. package/dist/main/src/core/Exceptions.js +106 -106
  21. package/dist/main/src/core/Logging.d.ts +112 -112
  22. package/dist/main/src/core/Logging.js +170 -170
  23. package/dist/main/src/core/Logging.js.map +1 -1
  24. package/dist/main/src/core/MessageUtils.d.ts +10 -9
  25. package/dist/main/src/core/MessageUtils.js +64 -58
  26. package/dist/main/src/core/MessageUtils.js.map +1 -1
  27. package/dist/main/src/core/Messages.d.ts +275 -275
  28. package/dist/main/src/core/Messages.js +429 -429
  29. package/dist/main/src/core/Messages.js.map +1 -1
  30. package/dist/main/src/index.d.ts +18 -18
  31. package/dist/main/src/index.js +34 -34
  32. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.d.ts +22 -22
  33. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.js +95 -95
  34. package/dist/main/src/utils/ButtplugMessageSorter.d.ts +19 -19
  35. package/dist/main/src/utils/ButtplugMessageSorter.js +81 -81
  36. package/dist/main/src/utils/Utils.d.ts +1 -1
  37. package/dist/main/src/utils/Utils.js +7 -7
  38. package/dist/web/buttplug.js +38 -7126
  39. package/dist/web/buttplug.mjs +2258 -0
  40. package/dist/web/client/ButtplugBrowserWebsocketClientConnector.d.ts +13 -0
  41. package/dist/web/client/ButtplugClientConnectorException.d.ts +11 -0
  42. package/dist/web/client/ButtplugClientDevice.d.ts +67 -0
  43. package/dist/web/client/ButtplugNodeWebsocketClientConnector.d.ts +18 -0
  44. package/dist/web/client/Client.d.ts +41 -0
  45. package/dist/web/client/IButtplugClientConnector.d.ts +16 -0
  46. package/dist/web/core/Exceptions.d.ts +36 -0
  47. package/dist/web/core/Logging.d.ts +112 -0
  48. package/dist/web/core/MessageUtils.d.ts +10 -0
  49. package/dist/web/core/Messages.d.ts +274 -0
  50. package/dist/web/index.d.ts +18 -0
  51. package/dist/web/utils/ButtplugBrowserWebsocketConnector.d.ts +22 -0
  52. package/dist/web/utils/ButtplugMessageSorter.d.ts +19 -0
  53. package/dist/web/utils/Utils.d.ts +1 -0
  54. package/package.json +23 -53
  55. package/src/client/ButtplugBrowserWebsocketClientConnector.ts +2 -24
  56. package/src/client/ButtplugClientDevice.ts +5 -4
  57. package/src/client/Client.ts +17 -10
  58. package/src/client/IButtplugClientConnector.ts +4 -4
  59. package/src/core/MessageUtils.ts +9 -1
  60. package/src/utils/ButtplugBrowserWebsocketConnector.ts +12 -12
  61. package/vite.config.ts +26 -0
  62. package/.github/FUNDING.yml +0 -5
  63. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -17
  64. package/.github/workflows/docs.yaml +0 -29
  65. package/azure-pipelines.yml +0 -19
  66. package/dist/web/buttplug.min.js +0 -3
  67. package/dist/web/buttplug.min.js.LICENSE.txt +0 -31
  68. package/dist/web/buttplug.min.js.map +0 -1
  69. package/jest-puppeteer.config.js +0 -5
  70. package/rollup.config.js +0 -55
  71. package/util/convert_device_config.js +0 -6
@@ -1,236 +1,242 @@
1
- /*!
2
- * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
3
- * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
4
- * project root for full license information.
5
- *
6
- * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
7
- */
8
- 'use strict';
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
32
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
- return new (P || (P = Promise))(function (resolve, reject) {
35
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
- step((generator = generator.apply(thisArg, _arguments || [])).next());
39
- });
40
- };
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.ButtplugClient = void 0;
43
- const Logging_1 = require("../core/Logging");
44
- const eventemitter3_1 = require("eventemitter3");
45
- const ButtplugClientDevice_1 = require("./ButtplugClientDevice");
46
- const Messages = __importStar(require("../core/Messages"));
47
- const Exceptions_1 = require("../core/Exceptions");
48
- const ButtplugClientConnectorException_1 = require("./ButtplugClientConnectorException");
49
- class ButtplugClient extends eventemitter3_1.EventEmitter {
50
- constructor(clientName = 'Generic Buttplug Client') {
51
- super();
52
- this._pingTimer = null;
53
- this._connector = null;
54
- this._devices = new Map();
55
- this._logger = Logging_1.ButtplugLogger.Logger;
56
- this._isScanning = false;
57
- this.connect = (connector) => __awaiter(this, void 0, void 0, function* () {
58
- this._logger.Info(`ButtplugClient: Connecting using ${connector.constructor.name}`);
59
- yield connector.Connect();
60
- this._connector = connector;
61
- this._connector.addListener('message', this.parseMessages);
62
- this._connector.addListener('disconnect', this.disconnectHandler);
63
- yield this.initializeConnection();
64
- });
65
- this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
66
- this._logger.Debug('ButtplugClient: Disconnect called');
67
- this.checkConnector();
68
- yield this.shutdownConnection();
69
- yield this._connector.Disconnect();
70
- });
71
- this.startScanning = () => __awaiter(this, void 0, void 0, function* () {
72
- this._logger.Debug('ButtplugClient: StartScanning called');
73
- this._isScanning = true;
74
- yield this.sendMsgExpectOk(new Messages.StartScanning());
75
- });
76
- this.stopScanning = () => __awaiter(this, void 0, void 0, function* () {
77
- this._logger.Debug('ButtplugClient: StopScanning called');
78
- this._isScanning = false;
79
- yield this.sendMsgExpectOk(new Messages.StopScanning());
80
- });
81
- this.stopAllDevices = () => __awaiter(this, void 0, void 0, function* () {
82
- this._logger.Debug('ButtplugClient: StopAllDevices');
83
- yield this.sendMsgExpectOk(new Messages.StopAllDevices());
84
- });
85
- this.disconnectHandler = () => {
86
- this._logger.Info('ButtplugClient: Disconnect event receieved.');
87
- this.emit('disconnect');
88
- };
89
- this.parseMessages = (msgs) => {
90
- for (const x of msgs) {
91
- switch (x.constructor) {
92
- case Messages.DeviceAdded: {
93
- const addedMsg = x;
94
- const addedDevice = ButtplugClientDevice_1.ButtplugClientDevice.fromMsg(addedMsg, this.sendDeviceMessageClosure);
95
- this._devices.set(addedMsg.DeviceIndex, addedDevice);
96
- this.emit('deviceadded', addedDevice);
97
- break;
98
- }
99
- case Messages.DeviceRemoved: {
100
- const removedMsg = x;
101
- if (this._devices.has(removedMsg.DeviceIndex)) {
102
- const removedDevice = this._devices.get(removedMsg.DeviceIndex);
103
- removedDevice === null || removedDevice === void 0 ? void 0 : removedDevice.emitDisconnected();
104
- this._devices.delete(removedMsg.DeviceIndex);
105
- this.emit('deviceremoved', removedDevice);
106
- }
107
- break;
108
- }
109
- case Messages.ScanningFinished:
110
- this._isScanning = false;
111
- this.emit('scanningfinished', x);
112
- break;
113
- }
114
- }
115
- };
116
- this.initializeConnection = () => __awaiter(this, void 0, void 0, function* () {
117
- this.checkConnector();
118
- const msg = yield this.sendMessage(new Messages.RequestServerInfo(this._clientName, Messages.MESSAGE_SPEC_VERSION));
119
- switch (msg.constructor) {
120
- case Messages.ServerInfo: {
121
- const serverinfo = msg;
122
- this._logger.Info(`ButtplugClient: Connected to Server ${serverinfo.ServerName}`);
123
- // TODO: maybe store server name, do something with message template version?
124
- const ping = serverinfo.MaxPingTime;
125
- if (serverinfo.MessageVersion < Messages.MESSAGE_SPEC_VERSION) {
126
- // Disconnect and throw an exception explaining the version mismatch problem.
127
- yield this._connector.Disconnect();
128
- throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugInitError, this._logger, `Server protocol version ${serverinfo.MessageVersion} is older than client protocol version ${Messages.MESSAGE_SPEC_VERSION}. Please update server.`);
129
- }
130
- if (ping > 0) {
131
- /*
132
- this._pingTimer = setInterval(async () => {
133
- // If we've disconnected, stop trying to ping the server.
134
- if (!this.Connected) {
135
- await this.ShutdownConnection();
136
- return;
137
- }
138
- await this.SendMessage(new Messages.Ping());
139
- } , Math.round(ping / 2));
140
- */
141
- }
142
- yield this.requestDeviceList();
143
- return true;
144
- }
145
- case Messages.Error: {
146
- // Disconnect and throw an exception with the error message we got back.
147
- // This will usually only error out if we have a version mismatch that the
148
- // server has detected.
149
- yield this._connector.Disconnect();
150
- const err = msg;
151
- throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugInitError, this._logger, `Cannot connect to server. ${err.ErrorMessage}`);
152
- }
153
- }
154
- return false;
155
- });
156
- this.requestDeviceList = () => __awaiter(this, void 0, void 0, function* () {
157
- this.checkConnector();
158
- this._logger.Debug('ButtplugClient: ReceiveDeviceList called');
159
- const deviceList = (yield this.sendMessage(new Messages.RequestDeviceList()));
160
- deviceList.Devices.forEach((d) => {
161
- if (!this._devices.has(d.DeviceIndex)) {
162
- const device = ButtplugClientDevice_1.ButtplugClientDevice.fromMsg(d, this.sendDeviceMessageClosure);
163
- this._logger.Debug(`ButtplugClient: Adding Device: ${device}`);
164
- this._devices.set(d.DeviceIndex, device);
165
- this.emit('deviceadded', device);
166
- }
167
- else {
168
- this._logger.Debug(`ButtplugClient: Device already added: ${d}`);
169
- }
170
- });
171
- });
172
- this.shutdownConnection = () => __awaiter(this, void 0, void 0, function* () {
173
- yield this.stopAllDevices();
174
- if (this._pingTimer !== null) {
175
- clearInterval(this._pingTimer);
176
- this._pingTimer = null;
177
- }
178
- });
179
- this.sendMsgExpectOk = (msg) => __awaiter(this, void 0, void 0, function* () {
180
- const response = yield this.sendMessage(msg);
181
- switch (response.constructor) {
182
- case Messages.Ok:
183
- return;
184
- case Messages.Error:
185
- throw Exceptions_1.ButtplugError.FromError(response);
186
- default:
187
- throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugMessageError, this._logger, `Message type ${response.constructor} not handled by SendMsgExpectOk`);
188
- }
189
- });
190
- this.sendDeviceMessageClosure = (device, msg) => __awaiter(this, void 0, void 0, function* () {
191
- return yield this.sendDeviceMessage(device, msg);
192
- });
193
- this._clientName = clientName;
194
- this._logger.Debug(`ButtplugClient: Client ${clientName} created.`);
195
- }
196
- get connected() {
197
- return this._connector !== null && this._connector.Connected;
198
- }
199
- get devices() {
200
- // While this function doesn't actually send a message, if we don't have a
201
- // connector, we shouldn't have devices.
202
- this.checkConnector();
203
- const devices = [];
204
- this._devices.forEach((d) => {
205
- devices.push(d);
206
- });
207
- return devices;
208
- }
209
- get isScanning() {
210
- return this._isScanning;
211
- }
212
- sendDeviceMessage(device, deviceMsg) {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- this.checkConnector();
215
- const dev = this._devices.get(device.index);
216
- if (dev === undefined) {
217
- throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugDeviceError, this._logger, `Device ${device.index} not available.`);
218
- }
219
- deviceMsg.DeviceIndex = device.index;
220
- return yield this.sendMessage(deviceMsg);
221
- });
222
- }
223
- sendMessage(msg) {
224
- return __awaiter(this, void 0, void 0, function* () {
225
- this.checkConnector();
226
- return yield this._connector.Send(msg);
227
- });
228
- }
229
- checkConnector() {
230
- if (!this.connected) {
231
- throw new ButtplugClientConnectorException_1.ButtplugClientConnectorException('ButtplugClient not connected');
232
- }
233
- }
234
- }
235
- exports.ButtplugClient = ButtplugClient;
1
+ /*!
2
+ * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
3
+ * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
4
+ * project root for full license information.
5
+ *
6
+ * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
7
+ */
8
+ 'use strict';
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.ButtplugClient = void 0;
43
+ const Logging_1 = require("../core/Logging");
44
+ const eventemitter3_1 = require("eventemitter3");
45
+ const ButtplugClientDevice_1 = require("./ButtplugClientDevice");
46
+ const ButtplugMessageSorter_1 = require("../utils/ButtplugMessageSorter");
47
+ const Messages = __importStar(require("../core/Messages"));
48
+ const Exceptions_1 = require("../core/Exceptions");
49
+ const ButtplugClientConnectorException_1 = require("./ButtplugClientConnectorException");
50
+ const MessageUtils_1 = require("../core/MessageUtils");
51
+ class ButtplugClient extends eventemitter3_1.EventEmitter {
52
+ constructor(clientName = 'Generic Buttplug Client') {
53
+ super();
54
+ this._pingTimer = null;
55
+ this._connector = null;
56
+ this._devices = new Map();
57
+ this._logger = Logging_1.ButtplugLogger.Logger;
58
+ this._isScanning = false;
59
+ this._sorter = new ButtplugMessageSorter_1.ButtplugMessageSorter(true);
60
+ this.connect = (connector) => __awaiter(this, void 0, void 0, function* () {
61
+ this._logger.Info(`ButtplugClient: Connecting using ${connector.constructor.name}`);
62
+ yield connector.connect();
63
+ this._connector = connector;
64
+ this._connector.addListener('message', this.parseMessages);
65
+ this._connector.addListener('disconnect', this.disconnectHandler);
66
+ yield this.initializeConnection();
67
+ });
68
+ this.disconnect = () => __awaiter(this, void 0, void 0, function* () {
69
+ this._logger.Debug('ButtplugClient: Disconnect called');
70
+ this.checkConnector();
71
+ yield this.shutdownConnection();
72
+ yield this._connector.disconnect();
73
+ });
74
+ this.startScanning = () => __awaiter(this, void 0, void 0, function* () {
75
+ this._logger.Debug('ButtplugClient: StartScanning called');
76
+ this._isScanning = true;
77
+ yield this.sendMsgExpectOk(new Messages.StartScanning());
78
+ });
79
+ this.stopScanning = () => __awaiter(this, void 0, void 0, function* () {
80
+ this._logger.Debug('ButtplugClient: StopScanning called');
81
+ this._isScanning = false;
82
+ yield this.sendMsgExpectOk(new Messages.StopScanning());
83
+ });
84
+ this.stopAllDevices = () => __awaiter(this, void 0, void 0, function* () {
85
+ this._logger.Debug('ButtplugClient: StopAllDevices');
86
+ yield this.sendMsgExpectOk(new Messages.StopAllDevices());
87
+ });
88
+ this.disconnectHandler = () => {
89
+ this._logger.Info('ButtplugClient: Disconnect event receieved.');
90
+ this.emit('disconnect');
91
+ };
92
+ this.parseMessages = (msgs) => {
93
+ const leftoverMsgs = this._sorter.ParseIncomingMessages(msgs);
94
+ for (const x of leftoverMsgs) {
95
+ switch ((0, MessageUtils_1.getMessageClassFromMessage)(x)) {
96
+ case Messages.DeviceAdded: {
97
+ const addedMsg = x;
98
+ const addedDevice = ButtplugClientDevice_1.ButtplugClientDevice.fromMsg(addedMsg, this.sendDeviceMessageClosure);
99
+ this._devices.set(addedMsg.DeviceIndex, addedDevice);
100
+ this.emit('deviceadded', addedDevice);
101
+ break;
102
+ }
103
+ case Messages.DeviceRemoved: {
104
+ const removedMsg = x;
105
+ if (this._devices.has(removedMsg.DeviceIndex)) {
106
+ const removedDevice = this._devices.get(removedMsg.DeviceIndex);
107
+ removedDevice === null || removedDevice === void 0 ? void 0 : removedDevice.emitDisconnected();
108
+ this._devices.delete(removedMsg.DeviceIndex);
109
+ this.emit('deviceremoved', removedDevice);
110
+ }
111
+ break;
112
+ }
113
+ case Messages.ScanningFinished:
114
+ this._isScanning = false;
115
+ this.emit('scanningfinished', x);
116
+ break;
117
+ }
118
+ }
119
+ };
120
+ this.initializeConnection = () => __awaiter(this, void 0, void 0, function* () {
121
+ this.checkConnector();
122
+ const msg = yield this.sendMessage(new Messages.RequestServerInfo(this._clientName, Messages.MESSAGE_SPEC_VERSION));
123
+ switch ((0, MessageUtils_1.getMessageClassFromMessage)(msg)) {
124
+ case Messages.ServerInfo: {
125
+ const serverinfo = msg;
126
+ this._logger.Info(`ButtplugClient: Connected to Server ${serverinfo.ServerName}`);
127
+ // TODO: maybe store server name, do something with message template version?
128
+ const ping = serverinfo.MaxPingTime;
129
+ if (serverinfo.MessageVersion < Messages.MESSAGE_SPEC_VERSION) {
130
+ // Disconnect and throw an exception explaining the version mismatch problem.
131
+ yield this._connector.disconnect();
132
+ throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugInitError, this._logger, `Server protocol version ${serverinfo.MessageVersion} is older than client protocol version ${Messages.MESSAGE_SPEC_VERSION}. Please update server.`);
133
+ }
134
+ if (ping > 0) {
135
+ /*
136
+ this._pingTimer = setInterval(async () => {
137
+ // If we've disconnected, stop trying to ping the server.
138
+ if (!this.Connected) {
139
+ await this.ShutdownConnection();
140
+ return;
141
+ }
142
+ await this.SendMessage(new Messages.Ping());
143
+ } , Math.round(ping / 2));
144
+ */
145
+ }
146
+ yield this.requestDeviceList();
147
+ return true;
148
+ }
149
+ case Messages.Error: {
150
+ // Disconnect and throw an exception with the error message we got back.
151
+ // This will usually only error out if we have a version mismatch that the
152
+ // server has detected.
153
+ yield this._connector.disconnect();
154
+ const err = msg;
155
+ throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugInitError, this._logger, `Cannot connect to server. ${err.ErrorMessage}`);
156
+ }
157
+ }
158
+ return false;
159
+ });
160
+ this.requestDeviceList = () => __awaiter(this, void 0, void 0, function* () {
161
+ this.checkConnector();
162
+ this._logger.Debug('ButtplugClient: ReceiveDeviceList called');
163
+ const deviceList = (yield this.sendMessage(new Messages.RequestDeviceList()));
164
+ deviceList.Devices.forEach((d) => {
165
+ if (!this._devices.has(d.DeviceIndex)) {
166
+ const device = ButtplugClientDevice_1.ButtplugClientDevice.fromMsg(d, this.sendDeviceMessageClosure);
167
+ this._logger.Debug(`ButtplugClient: Adding Device: ${device}`);
168
+ this._devices.set(d.DeviceIndex, device);
169
+ this.emit('deviceadded', device);
170
+ }
171
+ else {
172
+ this._logger.Debug(`ButtplugClient: Device already added: ${d}`);
173
+ }
174
+ });
175
+ });
176
+ this.shutdownConnection = () => __awaiter(this, void 0, void 0, function* () {
177
+ yield this.stopAllDevices();
178
+ if (this._pingTimer !== null) {
179
+ clearInterval(this._pingTimer);
180
+ this._pingTimer = null;
181
+ }
182
+ });
183
+ this.sendMsgExpectOk = (msg) => __awaiter(this, void 0, void 0, function* () {
184
+ const response = yield this.sendMessage(msg);
185
+ switch ((0, MessageUtils_1.getMessageClassFromMessage)(response)) {
186
+ case Messages.Ok:
187
+ return;
188
+ case Messages.Error:
189
+ throw Exceptions_1.ButtplugError.FromError(response);
190
+ default:
191
+ throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugMessageError, this._logger, `Message type ${(0, MessageUtils_1.getMessageClassFromMessage)(response).constructor} not handled by SendMsgExpectOk`);
192
+ }
193
+ });
194
+ this.sendDeviceMessageClosure = (device, msg) => __awaiter(this, void 0, void 0, function* () {
195
+ return yield this.sendDeviceMessage(device, msg);
196
+ });
197
+ this._clientName = clientName;
198
+ this._logger.Debug(`ButtplugClient: Client ${clientName} created.`);
199
+ }
200
+ get connected() {
201
+ return this._connector !== null && this._connector.Connected;
202
+ }
203
+ get devices() {
204
+ // While this function doesn't actually send a message, if we don't have a
205
+ // connector, we shouldn't have devices.
206
+ this.checkConnector();
207
+ const devices = [];
208
+ this._devices.forEach((d) => {
209
+ devices.push(d);
210
+ });
211
+ return devices;
212
+ }
213
+ get isScanning() {
214
+ return this._isScanning;
215
+ }
216
+ sendDeviceMessage(device, deviceMsg) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ this.checkConnector();
219
+ const dev = this._devices.get(device.index);
220
+ if (dev === undefined) {
221
+ throw Exceptions_1.ButtplugError.LogAndError(Exceptions_1.ButtplugDeviceError, this._logger, `Device ${device.index} not available.`);
222
+ }
223
+ deviceMsg.DeviceIndex = device.index;
224
+ return yield this.sendMessage(deviceMsg);
225
+ });
226
+ }
227
+ sendMessage(msg) {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ this.checkConnector();
230
+ const p = this._sorter.PrepareOutgoingMessage(msg);
231
+ yield this._connector.send(msg);
232
+ return yield p;
233
+ });
234
+ }
235
+ checkConnector() {
236
+ if (!this.connected) {
237
+ throw new ButtplugClientConnectorException_1.ButtplugClientConnectorException('ButtplugClient not connected');
238
+ }
239
+ }
240
+ }
241
+ exports.ButtplugClient = ButtplugClient;
236
242
  //# sourceMappingURL=Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../../src/client/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../../src/client/Client.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- /*!
2
- * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
3
- * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
4
- * project root for full license information.
5
- *
6
- * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
7
- */
8
- import { ButtplugMessage } from '../core/Messages';
9
- import { EventEmitter } from 'eventemitter3';
10
- export interface IButtplugClientConnector extends EventEmitter {
11
- Connect: () => Promise<void>;
12
- Disconnect: () => Promise<void>;
13
- Initialize: () => Promise<void>;
14
- Send: (msg: ButtplugMessage) => Promise<ButtplugMessage>;
15
- readonly Connected: boolean;
16
- }
1
+ /*!
2
+ * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
3
+ * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
4
+ * project root for full license information.
5
+ *
6
+ * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
7
+ */
8
+ import { ButtplugMessage } from '../core/Messages';
9
+ import { EventEmitter } from 'eventemitter3';
10
+ export interface IButtplugClientConnector extends EventEmitter {
11
+ connect: () => Promise<void>;
12
+ disconnect: () => Promise<void>;
13
+ initialize: () => Promise<void>;
14
+ send: (msg: ButtplugMessage) => void;
15
+ readonly Connected: boolean;
16
+ }
@@ -1,10 +1,10 @@
1
- "use strict";
2
- /*!
3
- * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
4
- * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
5
- * project root for full license information.
6
- *
7
- * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ /*!
3
+ * Buttplug JS Source Code File - Visit https://buttplug.io for more info about
4
+ * the project. Licensed under the BSD 3-Clause license. See LICENSE file in the
5
+ * project root for full license information.
6
+ *
7
+ * @copyright Copyright (c) Nonpolynomial Labs LLC. All rights reserved.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  //# sourceMappingURL=IButtplugClientConnector.js.map