buttplug 3.2.1 → 4.0.0

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 (179) hide show
  1. package/.eslintrc.js +25 -25
  2. package/.jscsrc +2 -2
  3. package/.jshintrc +5 -5
  4. package/.prettierrc.json +3 -3
  5. package/.yarnrc.yml +5 -1
  6. package/CHANGELOG.md +577 -571
  7. package/LICENSE +27 -27
  8. package/README.md +97 -97
  9. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js +6 -9
  10. package/dist/main/src/client/ButtplugBrowserWebsocketClientConnector.js.map +1 -1
  11. package/dist/main/src/client/{Client.d.ts → ButtplugClient.d.ts} +3 -4
  12. package/dist/main/src/client/ButtplugClient.js +227 -0
  13. package/dist/main/src/client/ButtplugClient.js.map +1 -0
  14. package/dist/main/src/client/ButtplugClientConnectorException.js +17 -7
  15. package/dist/main/src/client/ButtplugClientConnectorException.js.map +1 -1
  16. package/dist/main/src/client/ButtplugClientDevice.d.ts +13 -28
  17. package/dist/main/src/client/ButtplugClientDevice.js +105 -247
  18. package/dist/main/src/client/ButtplugClientDevice.js.map +1 -1
  19. package/dist/main/src/client/ButtplugClientDeviceCommand.d.ts +42 -0
  20. package/dist/main/src/client/ButtplugClientDeviceCommand.js +105 -0
  21. package/dist/main/src/client/ButtplugClientDeviceCommand.js.map +1 -0
  22. package/dist/main/src/client/ButtplugClientDeviceFeature.d.ts +18 -0
  23. package/dist/main/src/client/ButtplugClientDeviceFeature.js +166 -0
  24. package/dist/main/src/client/ButtplugClientDeviceFeature.js.map +1 -0
  25. package/dist/main/src/client/ButtplugNodeWebsocketClientConnector.d.ts +1 -8
  26. package/dist/main/src/client/ButtplugNodeWebsocketClientConnector.js +1 -4
  27. package/dist/main/src/client/ButtplugNodeWebsocketClientConnector.js.map +1 -1
  28. package/dist/main/src/core/Exceptions.js +27 -9
  29. package/dist/main/src/core/Exceptions.js.map +1 -1
  30. package/dist/main/src/core/Logging.js +12 -6
  31. package/dist/main/src/core/Logging.js.map +1 -1
  32. package/dist/main/src/core/Messages.d.ts +118 -228
  33. package/dist/main/src/core/Messages.js +51 -404
  34. package/dist/main/src/core/Messages.js.map +1 -1
  35. package/dist/main/src/index.d.ts +2 -2
  36. package/dist/main/src/index.js +4 -2
  37. package/dist/main/src/index.js.map +1 -1
  38. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.js +40 -52
  39. package/dist/main/src/utils/ButtplugBrowserWebsocketConnector.js.map +1 -1
  40. package/dist/main/src/utils/ButtplugMessageSorter.js +27 -15
  41. package/dist/main/src/utils/ButtplugMessageSorter.js.map +1 -1
  42. package/dist/main/src/utils/Utils.js +1 -2
  43. package/dist/main/src/utils/Utils.js.map +1 -1
  44. package/dist/web/buttplug.js +1 -38
  45. package/dist/web/buttplug.mjs +595 -1984
  46. package/dist/web/client/ButtplugBrowserWebsocketClientConnector.d.ts +0 -7
  47. package/dist/web/client/{Client.d.ts → ButtplugClient.d.ts} +3 -11
  48. package/dist/web/client/ButtplugClientConnectorException.d.ts +0 -7
  49. package/dist/web/client/ButtplugClientDevice.d.ts +14 -29
  50. package/dist/web/client/ButtplugClientDeviceCommand.d.ts +42 -0
  51. package/dist/web/client/ButtplugClientDeviceFeature.d.ts +18 -0
  52. package/dist/web/client/ButtplugNodeWebsocketClientConnector.d.ts +1 -15
  53. package/dist/web/client/IButtplugClientConnector.d.ts +0 -7
  54. package/dist/web/core/Exceptions.d.ts +1 -1
  55. package/dist/web/core/Logging.d.ts +0 -7
  56. package/dist/web/core/Messages.d.ts +118 -227
  57. package/dist/web/index.d.ts +2 -2
  58. package/dist/web/utils/ButtplugBrowserWebsocketConnector.d.ts +0 -7
  59. package/examples/node/SYNC_MANIFEST.md +105 -0
  60. package/examples/node/application-example.ts +213 -0
  61. package/examples/node/async-example.ts +124 -0
  62. package/examples/node/connection-example.ts +76 -0
  63. package/examples/node/device-control-example.ts +131 -0
  64. package/examples/node/device-enumeration-example.ts +86 -0
  65. package/examples/node/device-info-example.ts +131 -0
  66. package/examples/node/errors-example.ts +166 -0
  67. package/examples/node/package-lock.json +281 -0
  68. package/examples/node/package.json +25 -0
  69. package/examples/node/remote-connector-example.ts +84 -0
  70. package/examples/node/tsconfig.json +14 -0
  71. package/examples/web/application-example.js +197 -0
  72. package/examples/web/async-example.js +90 -0
  73. package/examples/web/device-control-example.js +87 -0
  74. package/examples/web/device-enumeration-example.js +49 -0
  75. package/examples/web/device-info-example.js +100 -0
  76. package/examples/web/errors-example.js +110 -0
  77. package/examples/web/index.html +55 -0
  78. package/examples/web/logging.js +42 -0
  79. package/examples/web/ping-timeout-example.js +59 -0
  80. package/examples/web/remote-connector-example.js +68 -0
  81. package/node-test.js +24 -0
  82. package/node-test.ts +23 -5
  83. package/package.json +85 -87
  84. package/src/client/ButtplugBrowserWebsocketClientConnector.ts +25 -25
  85. package/src/client/ButtplugClient.ts +242 -0
  86. package/src/client/ButtplugClientConnectorException.ts +16 -16
  87. package/src/client/ButtplugClientDevice.ts +178 -401
  88. package/src/client/ButtplugClientDeviceCommand.ts +112 -0
  89. package/src/client/ButtplugClientDeviceFeature.ts +138 -0
  90. package/src/client/ButtplugNodeWebsocketClientConnector.ts +17 -17
  91. package/src/client/IButtplugClientConnector.ts +18 -18
  92. package/src/core/Exceptions.ts +107 -101
  93. package/src/core/Logging.ts +197 -197
  94. package/src/core/Messages.ts +209 -480
  95. package/src/core/index.d.ts +4 -4
  96. package/src/index.ts +21 -19
  97. package/src/utils/ButtplugBrowserWebsocketConnector.ts +89 -92
  98. package/src/utils/ButtplugMessageSorter.ts +66 -65
  99. package/src/utils/Utils.ts +3 -3
  100. package/tsconfig.json +22 -22
  101. package/tsfmt.json +14 -14
  102. package/tslint.json +27 -27
  103. package/typedocconfig.js +6 -6
  104. package/vite.config.ts +26 -26
  105. package/dist/main/src/client/Client.js +0 -242
  106. package/dist/main/src/client/Client.js.map +0 -1
  107. package/dist/main/src/core/MessageUtils.d.ts +0 -10
  108. package/dist/main/src/core/MessageUtils.js +0 -65
  109. package/dist/main/src/core/MessageUtils.js.map +0 -1
  110. package/dist/web/core/MessageUtils.d.ts +0 -10
  111. package/doc/.nojekyll +0 -1
  112. package/doc/assets/highlight.css +0 -22
  113. package/doc/assets/main.js +0 -58
  114. package/doc/assets/search.js +0 -1
  115. package/doc/assets/style.css +0 -1280
  116. package/doc/classes/ButtplugBrowserWebsocketClientConnector.html +0 -234
  117. package/doc/classes/ButtplugClient.html +0 -331
  118. package/doc/classes/ButtplugClientConnectorException.html +0 -216
  119. package/doc/classes/ButtplugClientDevice.html +0 -489
  120. package/doc/classes/ButtplugDeviceError.html +0 -218
  121. package/doc/classes/ButtplugDeviceMessage.html +0 -165
  122. package/doc/classes/ButtplugError.html +0 -220
  123. package/doc/classes/ButtplugInitError.html +0 -218
  124. package/doc/classes/ButtplugLogger.html +0 -288
  125. package/doc/classes/ButtplugMessage.html +0 -147
  126. package/doc/classes/ButtplugMessageError.html +0 -218
  127. package/doc/classes/ButtplugMessageSorter.html +0 -128
  128. package/doc/classes/ButtplugNodeWebsocketClientConnector.html +0 -239
  129. package/doc/classes/ButtplugPingError.html +0 -218
  130. package/doc/classes/ButtplugSystemMessage.html +0 -150
  131. package/doc/classes/ButtplugUnknownError.html +0 -218
  132. package/doc/classes/DeviceAdded.html +0 -186
  133. package/doc/classes/DeviceInfo.html +0 -114
  134. package/doc/classes/DeviceList.html +0 -160
  135. package/doc/classes/DeviceRemoved.html +0 -158
  136. package/doc/classes/Error.html +0 -179
  137. package/doc/classes/GenericDeviceMessageAttributes.html +0 -107
  138. package/doc/classes/GenericMessageSubcommand.html +0 -90
  139. package/doc/classes/LinearCmd.html +0 -187
  140. package/doc/classes/LogMessage.html +0 -134
  141. package/doc/classes/MessageAttributes.html +0 -160
  142. package/doc/classes/Ok.html +0 -151
  143. package/doc/classes/Ping.html +0 -151
  144. package/doc/classes/RawDeviceMessageAttributes.html +0 -86
  145. package/doc/classes/RawReadCmd.html +0 -188
  146. package/doc/classes/RawReading.html +0 -179
  147. package/doc/classes/RawSubscribeCmd.html +0 -170
  148. package/doc/classes/RawUnsubscribeCmd.html +0 -170
  149. package/doc/classes/RawWriteCmd.html +0 -188
  150. package/doc/classes/RequestDeviceList.html +0 -151
  151. package/doc/classes/RequestServerInfo.html +0 -169
  152. package/doc/classes/RotateCmd.html +0 -187
  153. package/doc/classes/RotateSubcommand.html +0 -108
  154. package/doc/classes/ScalarCmd.html +0 -170
  155. package/doc/classes/ScalarSubcommand.html +0 -108
  156. package/doc/classes/ScanningFinished.html +0 -146
  157. package/doc/classes/SensorDeviceMessageAttributes.html +0 -107
  158. package/doc/classes/SensorReadCmd.html +0 -179
  159. package/doc/classes/SensorReading.html +0 -188
  160. package/doc/classes/ServerInfo.html +0 -178
  161. package/doc/classes/StartScanning.html +0 -151
  162. package/doc/classes/StopAllDevices.html +0 -151
  163. package/doc/classes/StopDeviceCmd.html +0 -161
  164. package/doc/classes/StopScanning.html +0 -151
  165. package/doc/classes/VectorSubcommand.html +0 -108
  166. package/doc/enums/ActuatorType.html +0 -104
  167. package/doc/enums/ButtplugLogLevel.html +0 -97
  168. package/doc/enums/ErrorClass.html +0 -90
  169. package/doc/enums/SensorType.html +0 -90
  170. package/doc/functions/FromJSON.html +0 -113
  171. package/doc/index.html +0 -184
  172. package/doc/interfaces/IButtplugClientConnector.html +0 -137
  173. package/doc/modules.html +0 -176
  174. package/doc/variables/DEFAULT_MESSAGE_ID.html +0 -104
  175. package/doc/variables/MAX_ID.html +0 -104
  176. package/doc/variables/MESSAGE_SPEC_VERSION.html +0 -104
  177. package/doc/variables/SYSTEM_MESSAGE_ID.html +0 -104
  178. package/src/client/Client.ts +0 -276
  179. package/src/core/MessageUtils.ts +0 -48
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtplugClientDeviceCommand.js","sourceRoot":"","sources":["../../../../src/client/ButtplugClientDeviceCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import * as Messages from "../core/Messages";
2
+ import { DeviceOutputCommand } from "./ButtplugClientDeviceCommand";
3
+ export declare class ButtplugClientDeviceFeature {
4
+ private _deviceIndex;
5
+ private _deviceName;
6
+ private _feature;
7
+ private _sendClosure;
8
+ constructor(_deviceIndex: number, _deviceName: string, _feature: Messages.DeviceFeature, _sendClosure: (msg: Messages.ButtplugMessage) => Promise<Messages.ButtplugMessage>);
9
+ protected send: (msg: Messages.ButtplugMessage) => Promise<Messages.ButtplugMessage>;
10
+ protected sendMsgExpectOk: (msg: Messages.ButtplugMessage) => Promise<void>;
11
+ protected isOutputValid(type: Messages.OutputType): void;
12
+ protected isInputValid(type: Messages.InputType): void;
13
+ protected sendOutputCmd(command: DeviceOutputCommand): Promise<void>;
14
+ hasOutput(type: Messages.OutputType): boolean;
15
+ hasInput(type: Messages.InputType): boolean;
16
+ runOutput(cmd: DeviceOutputCommand): Promise<void>;
17
+ runInput(inputType: Messages.InputType, inputCommand: Messages.InputCommandType): Promise<Messages.InputReading | undefined>;
18
+ }
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ButtplugClientDeviceFeature = void 0;
37
+ const Exceptions_1 = require("../core/Exceptions");
38
+ const Messages = __importStar(require("../core/Messages"));
39
+ class ButtplugClientDeviceFeature {
40
+ _deviceIndex;
41
+ _deviceName;
42
+ _feature;
43
+ _sendClosure;
44
+ constructor(_deviceIndex, _deviceName, _feature, _sendClosure) {
45
+ this._deviceIndex = _deviceIndex;
46
+ this._deviceName = _deviceName;
47
+ this._feature = _feature;
48
+ this._sendClosure = _sendClosure;
49
+ }
50
+ send = async (msg) => {
51
+ return await this._sendClosure(msg);
52
+ };
53
+ sendMsgExpectOk = async (msg) => {
54
+ const response = await this.send(msg);
55
+ if (response.Ok !== undefined) {
56
+ return;
57
+ }
58
+ else if (response.Error !== undefined) {
59
+ throw Exceptions_1.ButtplugError.FromError(response);
60
+ }
61
+ else {
62
+ throw new Exceptions_1.ButtplugMessageError("Expected Ok or Error, and didn't get either!");
63
+ }
64
+ };
65
+ isOutputValid(type) {
66
+ if (this._feature.Output !== undefined && !this._feature.Output.hasOwnProperty(type)) {
67
+ throw new Exceptions_1.ButtplugDeviceError(`Feature index ${this._feature.FeatureIndex} does not support type ${type} for device ${this._deviceName}`);
68
+ }
69
+ }
70
+ isInputValid(type) {
71
+ if (this._feature.Input !== undefined && !this._feature.Input.hasOwnProperty(type)) {
72
+ throw new Exceptions_1.ButtplugDeviceError(`Feature index ${this._feature.FeatureIndex} does not support type ${type} for device ${this._deviceName}`);
73
+ }
74
+ }
75
+ async sendOutputCmd(command) {
76
+ // Make sure the requested feature is valid
77
+ this.isOutputValid(command.outputType);
78
+ if (command.value === undefined) {
79
+ throw new Exceptions_1.ButtplugDeviceError(`${command.outputType} requires value defined`);
80
+ }
81
+ let type = command.outputType;
82
+ let duration = undefined;
83
+ if (type == Messages.OutputType.PositionWithDuration) {
84
+ if (command.duration === undefined) {
85
+ throw new Exceptions_1.ButtplugDeviceError("PositionWithDuration requires duration defined");
86
+ }
87
+ duration = command.duration;
88
+ }
89
+ let value;
90
+ let p = command.value;
91
+ if (p.percent === undefined) {
92
+ // TODO Check step limits here
93
+ value = command.value.steps;
94
+ }
95
+ else {
96
+ value = Math.ceil(this._feature.Output[type].Value[1] * p.percent);
97
+ }
98
+ let newCommand = { Value: value, Duration: duration };
99
+ let outCommand = {};
100
+ outCommand[type.toString()] = newCommand;
101
+ let cmd = {
102
+ OutputCmd: {
103
+ Id: 1,
104
+ DeviceIndex: this._deviceIndex,
105
+ FeatureIndex: this._feature.FeatureIndex,
106
+ Command: outCommand
107
+ }
108
+ };
109
+ await this.sendMsgExpectOk(cmd);
110
+ }
111
+ hasOutput(type) {
112
+ if (this._feature.Output !== undefined) {
113
+ return this._feature.Output.hasOwnProperty(type.toString());
114
+ }
115
+ return false;
116
+ }
117
+ hasInput(type) {
118
+ if (this._feature.Input !== undefined) {
119
+ return this._feature.Input.hasOwnProperty(type.toString());
120
+ }
121
+ return false;
122
+ }
123
+ async runOutput(cmd) {
124
+ if (this._feature.Output !== undefined && this._feature.Output.hasOwnProperty(cmd.outputType.toString())) {
125
+ return this.sendOutputCmd(cmd);
126
+ }
127
+ throw new Exceptions_1.ButtplugDeviceError(`Output type ${cmd.outputType} not supported by feature.`);
128
+ }
129
+ async runInput(inputType, inputCommand) {
130
+ // Make sure the requested feature is valid
131
+ this.isInputValid(inputType);
132
+ let inputAttributes = this._feature.Input[inputType];
133
+ console.log(this._feature.Input);
134
+ if ((inputCommand === Messages.InputCommandType.Unsubscribe && !inputAttributes.Command.includes(Messages.InputCommandType.Subscribe)) && !inputAttributes.Command.includes(inputCommand)) {
135
+ throw new Exceptions_1.ButtplugDeviceError(`${inputType} does not support command ${inputCommand}`);
136
+ }
137
+ let cmd = {
138
+ InputCmd: {
139
+ Id: 1,
140
+ DeviceIndex: this._deviceIndex,
141
+ FeatureIndex: this._feature.FeatureIndex,
142
+ Type: inputType,
143
+ Command: inputCommand,
144
+ }
145
+ };
146
+ if (inputCommand == Messages.InputCommandType.Read) {
147
+ const response = await this.send(cmd);
148
+ if (response.InputReading !== undefined) {
149
+ return response.InputReading;
150
+ }
151
+ else if (response.Error !== undefined) {
152
+ throw Exceptions_1.ButtplugError.FromError(response);
153
+ }
154
+ else {
155
+ throw new Exceptions_1.ButtplugMessageError("Expected InputReading or Error, and didn't get either!");
156
+ }
157
+ }
158
+ else {
159
+ console.log(`Sending subscribe message: ${JSON.stringify(cmd)}`);
160
+ await this.sendMsgExpectOk(cmd);
161
+ console.log("Got back ok?");
162
+ }
163
+ }
164
+ }
165
+ exports.ButtplugClientDeviceFeature = ButtplugClientDeviceFeature;
166
+ //# sourceMappingURL=ButtplugClientDeviceFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtplugClientDeviceFeature.js","sourceRoot":"","sources":["../../../../src/client/ButtplugClientDeviceFeature.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,5 @@
7
7
  */
8
8
  import { ButtplugBrowserWebsocketClientConnector } from './ButtplugBrowserWebsocketClientConnector';
9
9
  export declare class ButtplugNodeWebsocketClientConnector extends ButtplugBrowserWebsocketClientConnector {
10
- protected _websocketConstructor: {
11
- new (url: string | URL, protocols?: string | string[] | undefined): WebSocket;
12
- prototype: WebSocket;
13
- readonly CONNECTING: 0;
14
- readonly OPEN: 1;
15
- readonly CLOSING: 2;
16
- readonly CLOSED: 3;
17
- };
10
+ protected _websocketConstructor: typeof WebSocket;
18
11
  }
@@ -11,10 +11,7 @@ exports.ButtplugNodeWebsocketClientConnector = void 0;
11
11
  const ButtplugBrowserWebsocketClientConnector_1 = require("./ButtplugBrowserWebsocketClientConnector");
12
12
  const ws_1 = require("ws");
13
13
  class ButtplugNodeWebsocketClientConnector extends ButtplugBrowserWebsocketClientConnector_1.ButtplugBrowserWebsocketClientConnector {
14
- constructor() {
15
- super(...arguments);
16
- this._websocketConstructor = ws_1.WebSocket;
17
- }
14
+ _websocketConstructor = ws_1.WebSocket;
18
15
  }
19
16
  exports.ButtplugNodeWebsocketClientConnector = ButtplugNodeWebsocketClientConnector;
20
17
  //# sourceMappingURL=ButtplugNodeWebsocketClientConnector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtplugNodeWebsocketClientConnector.js","sourceRoot":"","sources":["../../../../src/client/ButtplugNodeWebsocketClientConnector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,CAAC;;;AAEb,uGAAoG;AACpG,2BAAgD;AAEhD,MAAa,oCAAqC,SAAQ,iFAAuC;IAAjG;;QACY,0BAAqB,GAC7B,cAA4C,CAAC;IACjD,CAAC;CAAA;AAHD,oFAGC"}
1
+ {"version":3,"file":"ButtplugNodeWebsocketClientConnector.js","sourceRoot":"","sources":["../../../../src/client/ButtplugNodeWebsocketClientConnector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,CAAC;;;AAEb,uGAAoG;AACpG,2BAAgD;AAEhD,MAAa,oCAAqC,SAAQ,iFAAuC;IACrF,qBAAqB,GAC7B,cAA4C,CAAC;CAChD;AAHD,oFAGC"}
@@ -22,13 +22,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
22
22
  }) : function(o, v) {
23
23
  o["default"] = v;
24
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
- };
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
32
42
  Object.defineProperty(exports, "__esModule", { value: true });
33
43
  exports.ButtplugUnknownError = exports.ButtplugPingError = exports.ButtplugMessageError = exports.ButtplugDeviceError = exports.ButtplugInitError = exports.ButtplugError = void 0;
34
44
  const Messages = __importStar(require("./Messages"));
@@ -43,7 +53,13 @@ class ButtplugError extends Error {
43
53
  return this.messageId;
44
54
  }
45
55
  get ErrorMessage() {
46
- return new Messages.Error(this.message, this.ErrorClass, this.Id);
56
+ return {
57
+ Error: {
58
+ Id: this.Id,
59
+ ErrorCode: this.ErrorClass,
60
+ ErrorMessage: this.message
61
+ }
62
+ };
47
63
  }
48
64
  static LogAndError(constructor, logger, message, id = Messages.SYSTEM_MESSAGE_ID) {
49
65
  logger.Error(message);
@@ -65,9 +81,11 @@ class ButtplugError extends Error {
65
81
  throw new Error(`Message type ${error.ErrorCode} not handled`);
66
82
  }
67
83
  }
84
+ errorClass = Messages.ErrorClass.ERROR_UNKNOWN;
85
+ innerError;
86
+ messageId;
68
87
  constructor(message, errorClass, id = Messages.SYSTEM_MESSAGE_ID, inner) {
69
88
  super(message);
70
- this.errorClass = Messages.ErrorClass.ERROR_UNKNOWN;
71
89
  this.errorClass = errorClass;
72
90
  this.innerError = inner;
73
91
  this.messageId = id;
@@ -1 +1 @@
1
- {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../../../src/core/Exceptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../../../../src/core/Exceptions.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ var ButtplugLogLevel;
22
22
  * Representation of log messages for the internal logging utility.
23
23
  */
24
24
  class LogMessage {
25
+ /** Timestamp for the log message */
26
+ timestamp;
27
+ /** Log Message */
28
+ logMessage;
29
+ /** Log Level */
30
+ logLevel;
25
31
  /**
26
32
  * @param logMessage Log message.
27
33
  * @param logLevel: Log severity level.
@@ -67,6 +73,12 @@ exports.LogMessage = LogMessage;
67
73
  * basically), and allows message logging throughout the module.
68
74
  */
69
75
  class ButtplugLogger extends eventemitter3_1.EventEmitter {
76
+ /** Singleton instance for the logger */
77
+ static sLogger = undefined;
78
+ /** Sets maximum log level to log to console */
79
+ maximumConsoleLogLevel = ButtplugLogLevel.Off;
80
+ /** Sets maximum log level for all log messages */
81
+ maximumEventLogLevel = ButtplugLogLevel.Off;
70
82
  /**
71
83
  * Returns the stored static instance of the logger, creating one if it
72
84
  * doesn't currently exist.
@@ -83,10 +95,6 @@ class ButtplugLogger extends eventemitter3_1.EventEmitter {
83
95
  */
84
96
  constructor() {
85
97
  super();
86
- /** Sets maximum log level to log to console */
87
- this.maximumConsoleLogLevel = ButtplugLogLevel.Off;
88
- /** Sets maximum log level for all log messages */
89
- this.maximumEventLogLevel = ButtplugLogLevel.Off;
90
98
  }
91
99
  /**
92
100
  * Set the maximum log level to output to console.
@@ -166,6 +174,4 @@ class ButtplugLogger extends eventemitter3_1.EventEmitter {
166
174
  }
167
175
  }
168
176
  exports.ButtplugLogger = ButtplugLogger;
169
- /** Singleton instance for the logger */
170
- ButtplugLogger.sLogger = undefined;
171
177
  //# sourceMappingURL=Logging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../../../src/core/Logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logging.js","sourceRoot":"","sources":["../../../../src/core/Logging.ts"],"names":[],"mappings":"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"}