hap-nodejs 0.10.0-beta.1 → 0.10.0-beta.10

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 (209) hide show
  1. package/@types/bonjour-hap.d.ts +4 -3
  2. package/@types/simple-plist.d.ts +2 -1
  3. package/README.md +1 -1
  4. package/dist/BridgedCore.js +7 -6
  5. package/dist/BridgedCore.js.map +1 -1
  6. package/dist/Core.js +14 -12
  7. package/dist/Core.js.map +1 -1
  8. package/dist/accessories/AirConditioner_accessory.js +9 -9
  9. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  10. package/dist/accessories/AppleTVRemote_accessory.js +17 -16
  11. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  12. package/dist/accessories/Camera_accessory.js +415 -36
  13. package/dist/accessories/Camera_accessory.js.map +1 -1
  14. package/dist/accessories/Fan_accessory.js +10 -15
  15. package/dist/accessories/Fan_accessory.js.map +1 -1
  16. package/dist/accessories/GarageDoorOpener_accessory.js +7 -8
  17. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  18. package/dist/accessories/Light-AdaptiveLighting_accessory.js +3 -4
  19. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  20. package/dist/accessories/Light_accessory.js +23 -14
  21. package/dist/accessories/Light_accessory.js.map +1 -1
  22. package/dist/accessories/Lock_accessory.js +7 -8
  23. package/dist/accessories/Lock_accessory.js.map +1 -1
  24. package/dist/accessories/MotionSensor_accessory.js +5 -6
  25. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  26. package/dist/accessories/Outlet_accessory.js +5 -6
  27. package/dist/accessories/Outlet_accessory.js.map +1 -1
  28. package/dist/accessories/SmartSpeaker_accessory.js +6 -6
  29. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  30. package/dist/accessories/Sprinkler_accessory.js +12 -13
  31. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  32. package/dist/accessories/TV_accessory.js +4 -5
  33. package/dist/accessories/TV_accessory.js.map +1 -1
  34. package/dist/accessories/TemperatureSensor_accessory.js +5 -6
  35. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  36. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  37. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  38. package/dist/accessories/Wi-FiRouter_accessory.js +7 -8
  39. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  40. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  41. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  42. package/dist/accessories/Wi-FiSatellite_accessory.js +6 -7
  43. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  44. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  45. package/dist/accessories/gstreamer-audioProducer.js +21 -22
  46. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  47. package/dist/index.d.ts +27 -22
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +35 -24
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal-types.d.ts +2 -0
  52. package/dist/internal-types.d.ts.map +1 -1
  53. package/dist/internal-types.js.map +1 -1
  54. package/dist/lib/Accessory.d.ts +38 -17
  55. package/dist/lib/Accessory.d.ts.map +1 -1
  56. package/dist/lib/Accessory.js +345 -273
  57. package/dist/lib/Accessory.js.map +1 -1
  58. package/dist/lib/AccessoryLoader.d.ts +10 -10
  59. package/dist/lib/AccessoryLoader.d.ts.map +1 -1
  60. package/dist/lib/AccessoryLoader.js +109 -99
  61. package/dist/lib/AccessoryLoader.js.map +1 -1
  62. package/dist/lib/Advertiser.d.ts +23 -3
  63. package/dist/lib/Advertiser.d.ts.map +1 -1
  64. package/dist/lib/Advertiser.js +242 -29
  65. package/dist/lib/Advertiser.js.map +1 -1
  66. package/dist/lib/Bridge.d.ts +1 -1
  67. package/dist/lib/Bridge.d.ts.map +1 -1
  68. package/dist/lib/Bridge.js +1 -1
  69. package/dist/lib/Bridge.js.map +1 -1
  70. package/dist/lib/Characteristic.d.ts +22 -21
  71. package/dist/lib/Characteristic.d.ts.map +1 -1
  72. package/dist/lib/Characteristic.js +147 -144
  73. package/dist/lib/Characteristic.js.map +1 -1
  74. package/dist/lib/HAPServer.d.ts +2 -2
  75. package/dist/lib/HAPServer.d.ts.map +1 -1
  76. package/dist/lib/HAPServer.js +43 -39
  77. package/dist/lib/HAPServer.js.map +1 -1
  78. package/dist/lib/Service.d.ts +3 -3
  79. package/dist/lib/Service.d.ts.map +1 -1
  80. package/dist/lib/Service.js +51 -47
  81. package/dist/lib/Service.js.map +1 -1
  82. package/dist/lib/camera/Camera.d.ts +2 -2
  83. package/dist/lib/camera/Camera.d.ts.map +1 -1
  84. package/dist/lib/camera/Camera.js +3 -3
  85. package/dist/lib/camera/Camera.js.map +1 -1
  86. package/dist/lib/camera/RTPProxy.d.ts +19 -19
  87. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  88. package/dist/lib/camera/RTPProxy.js +230 -208
  89. package/dist/lib/camera/RTPProxy.js.map +1 -1
  90. package/dist/lib/camera/RTPStreamManagement.d.ts +46 -10
  91. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  92. package/dist/lib/camera/RTPStreamManagement.js +124 -49
  93. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  94. package/dist/lib/camera/RecordingManagement.d.ts +267 -0
  95. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
  96. package/dist/lib/camera/RecordingManagement.js +750 -0
  97. package/dist/lib/camera/RecordingManagement.js.map +1 -0
  98. package/dist/lib/camera/index.d.ts +4 -3
  99. package/dist/lib/camera/index.d.ts.map +1 -1
  100. package/dist/lib/camera/index.js +4 -3
  101. package/dist/lib/camera/index.js.map +1 -1
  102. package/dist/lib/controller/AdaptiveLightingController.d.ts +9 -9
  103. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  104. package/dist/lib/controller/AdaptiveLightingController.js +37 -31
  105. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  106. package/dist/lib/controller/CameraController.d.ts +253 -7
  107. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  108. package/dist/lib/controller/CameraController.js +382 -35
  109. package/dist/lib/controller/CameraController.js.map +1 -1
  110. package/dist/lib/controller/Controller.d.ts +3 -3
  111. package/dist/lib/controller/Controller.d.ts.map +1 -1
  112. package/dist/lib/controller/Controller.js.map +1 -1
  113. package/dist/lib/controller/DoorbellController.d.ts +43 -1
  114. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  115. package/dist/lib/controller/DoorbellController.js +64 -12
  116. package/dist/lib/controller/DoorbellController.js.map +1 -1
  117. package/dist/lib/controller/RemoteController.d.ts +4 -4
  118. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  119. package/dist/lib/controller/RemoteController.js +79 -69
  120. package/dist/lib/controller/RemoteController.js.map +1 -1
  121. package/dist/lib/controller/index.d.ts +4 -4
  122. package/dist/lib/controller/index.js +5 -5
  123. package/dist/lib/controller/index.js.map +1 -1
  124. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamManagement.js +12 -11
  126. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamParser.d.ts +24 -24
  128. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamParser.js +31 -22
  130. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  131. package/dist/lib/datastream/DataStreamServer.d.ts +24 -5
  132. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  133. package/dist/lib/datastream/DataStreamServer.js +109 -68
  134. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  135. package/dist/lib/datastream/index.d.ts +3 -3
  136. package/dist/lib/datastream/index.js +3 -3
  137. package/dist/lib/datastream/index.js.map +1 -1
  138. package/dist/lib/definitions/CharacteristicDefinitions.js +249 -249
  139. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  140. package/dist/lib/definitions/ServiceDefinitions.js +75 -75
  141. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  142. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  143. package/dist/lib/definitions/generate-definitions.js +76 -72
  144. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  145. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  146. package/dist/lib/definitions/generator-configuration.js +34 -16
  147. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  148. package/dist/lib/definitions/index.js +2 -2
  149. package/dist/lib/definitions/index.js.map +1 -1
  150. package/dist/lib/model/AccessoryInfo.d.ts +6 -6
  151. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  152. package/dist/lib/model/AccessoryInfo.js +86 -76
  153. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  154. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  155. package/dist/lib/model/ControllerStorage.js +9 -9
  156. package/dist/lib/model/ControllerStorage.js.map +1 -1
  157. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  158. package/dist/lib/model/HAPStorage.js +2 -1
  159. package/dist/lib/model/HAPStorage.js.map +1 -1
  160. package/dist/lib/model/IdentifierCache.d.ts +11 -11
  161. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  162. package/dist/lib/model/IdentifierCache.js +69 -67
  163. package/dist/lib/model/IdentifierCache.js.map +1 -1
  164. package/dist/lib/tv/AccessControlManagement.d.ts +1 -1
  165. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  166. package/dist/lib/tv/AccessControlManagement.js +2 -2
  167. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  168. package/dist/lib/util/clone.js +5 -4
  169. package/dist/lib/util/clone.js.map +1 -1
  170. package/dist/lib/util/color-utils.d.ts.map +1 -1
  171. package/dist/lib/util/color-utils.js +2 -2
  172. package/dist/lib/util/color-utils.js.map +1 -1
  173. package/dist/lib/util/eventedhttp.d.ts +4 -4
  174. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  175. package/dist/lib/util/eventedhttp.js +54 -51
  176. package/dist/lib/util/eventedhttp.js.map +1 -1
  177. package/dist/lib/util/hapCrypto.d.ts +5 -5
  178. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  179. package/dist/lib/util/hapCrypto.js +66 -82
  180. package/dist/lib/util/hapCrypto.js.map +1 -1
  181. package/dist/lib/util/hapStatusError.js +3 -3
  182. package/dist/lib/util/hapStatusError.js.map +1 -1
  183. package/dist/lib/util/net-utils.d.ts.map +1 -1
  184. package/dist/lib/util/net-utils.js +4 -6
  185. package/dist/lib/util/net-utils.js.map +1 -1
  186. package/dist/lib/util/once.d.ts +1 -1
  187. package/dist/lib/util/once.d.ts.map +1 -1
  188. package/dist/lib/util/once.js +2 -1
  189. package/dist/lib/util/once.js.map +1 -1
  190. package/dist/lib/util/promise-utils.d.ts +2 -0
  191. package/dist/lib/util/promise-utils.d.ts.map +1 -0
  192. package/dist/lib/util/promise-utils.js +10 -0
  193. package/dist/lib/util/promise-utils.js.map +1 -0
  194. package/dist/lib/util/request-util.d.ts.map +1 -1
  195. package/dist/lib/util/request-util.js +1 -0
  196. package/dist/lib/util/request-util.js.map +1 -1
  197. package/dist/lib/util/time.d.ts +1 -1
  198. package/dist/lib/util/time.d.ts.map +1 -1
  199. package/dist/lib/util/time.js +8 -8
  200. package/dist/lib/util/time.js.map +1 -1
  201. package/dist/lib/util/tlv.d.ts.map +1 -1
  202. package/dist/lib/util/tlv.js +15 -12
  203. package/dist/lib/util/tlv.js.map +1 -1
  204. package/dist/lib/util/uuid.d.ts.map +1 -1
  205. package/dist/lib/util/uuid.js +26 -20
  206. package/dist/lib/util/uuid.js.map +1 -1
  207. package/dist/types.d.ts +0 -1
  208. package/dist/types.d.ts.map +1 -1
  209. package/package.json +22 -19
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SiriAudioSession = exports.SiriAudioSessionEvents = exports.HomeKitRemoteController = exports.RemoteController = exports.RemoteControllerEvents = exports.TargetUpdates = exports.AudioSamplerate = exports.AudioBitrate = exports.AudioCodecTypes = exports.ButtonState = exports.TargetCategory = exports.ButtonType = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var assert_1 = tslib_1.__importDefault(require("assert"));
6
- var debug_1 = tslib_1.__importDefault(require("debug"));
5
+ var assert_1 = (0, tslib_1.__importDefault)(require("assert"));
6
+ var debug_1 = (0, tslib_1.__importDefault)(require("debug"));
7
7
  var events_1 = require("events");
8
8
  var Characteristic_1 = require("../Characteristic");
9
9
  var datastream_1 = require("../datastream");
10
10
  var Service_1 = require("../Service");
11
- var tlv = tslib_1.__importStar(require("../util/tlv"));
12
- var debug = debug_1.default('HAP-NodeJS:Remote:Controller');
11
+ var tlv = (0, tslib_1.__importStar)(require("../util/tlv"));
12
+ var debug = (0, debug_1.default)("HAP-NodeJS:Remote:Controller");
13
13
  var TargetControlCommands;
14
14
  (function (TargetControlCommands) {
15
15
  TargetControlCommands[TargetControlCommands["MAXIMUM_TARGETS"] = 1] = "MAXIMUM_TARGETS";
@@ -186,7 +186,7 @@ var RemoteControllerEvents;
186
186
  * Handles everything needed to implement a fully working HomeKit remote controller.
187
187
  */
188
188
  var RemoteController = /** @class */ (function (_super) {
189
- tslib_1.__extends(RemoteController, _super);
189
+ (0, tslib_1.__extends)(RemoteController, _super);
190
190
  /**
191
191
  * Creates a new RemoteController.
192
192
  * If siri voice input is supported the constructor to an SiriAudioStreamProducer needs to be supplied.
@@ -198,6 +198,7 @@ var RemoteController = /** @class */ (function (_super) {
198
198
  * @param producerOptions - if supplied this argument will be supplied as third argument of the SiriAudioStreamProducer
199
199
  * constructor. This should be used to supply configurations to the stream producer.
200
200
  */
201
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any,@typescript-eslint/explicit-module-boundary-types
201
202
  function RemoteController(audioProducerConstructor, producerOptions) {
202
203
  var _this = _super.call(this) || this;
203
204
  _this.buttons = {}; // internal mapping of buttonId to buttonType for supported buttons
@@ -220,7 +221,7 @@ var RemoteController = /** @class */ (function (_super) {
220
221
  bitrate: 0 /* VARIABLE */,
221
222
  samplerate: 1 /* KHZ_16 */,
222
223
  rtpTime: 20,
223
- }
224
+ },
224
225
  };
225
226
  _this.selectedAudioConfigurationString = RemoteController.buildSelectedAudioConfigurationTLV({
226
227
  audioCodecConfiguration: _this.selectedAudioConfiguration,
@@ -278,8 +279,8 @@ var RemoteController = /** @class */ (function (_super) {
278
279
  RemoteController.prototype.getTargetIdentifierByName = function (name) {
279
280
  var e_1, _a;
280
281
  try {
281
- for (var _b = tslib_1.__values(Object.entries(this.targetConfigurations)), _c = _b.next(); !_c.done; _c = _b.next()) {
282
- var _d = tslib_1.__read(_c.value, 2), activeIdentifier = _d[0], configuration = _d[1];
282
+ for (var _b = (0, tslib_1.__values)(Object.entries(this.targetConfigurations)), _c = _b.next(); !_c.done; _c = _b.next()) {
283
+ var _d = (0, tslib_1.__read)(_c.value, 2), activeIdentifier = _d[0], configuration = _d[1];
283
284
  if (configuration.targetName === name) {
284
285
  return parseInt(activeIdentifier, 10);
285
286
  }
@@ -339,12 +340,12 @@ var RemoteController = /** @class */ (function (_super) {
339
340
  maximumTargets: 10,
340
341
  ticksPerSecond: 1000,
341
342
  supportedButtonConfiguration: [],
342
- hardwareImplemented: this.audioSupported // siri is only allowed for hardware implemented remotes
343
+ hardwareImplemented: this.audioSupported, // siri is only allowed for hardware implemented remotes
343
344
  };
344
345
  var supportedButtons = [
345
346
  1 /* MENU */, 2 /* PLAY_PAUSE */, 3 /* TV_HOME */, 4 /* SELECT */,
346
347
  5 /* ARROW_UP */, 6 /* ARROW_RIGHT */, 7 /* ARROW_DOWN */, 8 /* ARROW_LEFT */,
347
- 9 /* VOLUME_UP */, 10 /* VOLUME_DOWN */, 12 /* POWER */, 13 /* GENERIC */
348
+ 9 /* VOLUME_UP */, 10 /* VOLUME_DOWN */, 12 /* POWER */, 13 /* GENERIC */,
348
349
  ];
349
350
  if (this.audioSupported) { // add siri button if this remote supports it
350
351
  supportedButtons.push(11 /* SIRI */);
@@ -352,7 +353,7 @@ var RemoteController = /** @class */ (function (_super) {
352
353
  supportedButtons.forEach(function (button) {
353
354
  var buttonConfiguration = {
354
355
  buttonID: 100 + button,
355
- buttonType: button
356
+ buttonType: button,
356
357
  };
357
358
  configuration.supportedButtonConfiguration.push(buttonConfiguration);
358
359
  _this.buttons[button] = buttonConfiguration.buttonID; // also saving mapping of type to id locally
@@ -368,13 +369,14 @@ var RemoteController = /** @class */ (function (_super) {
368
369
  channels: 1,
369
370
  bitrate: 0 /* VARIABLE */,
370
371
  samplerate: 1 /* KHZ_16 */,
371
- }
372
+ },
372
373
  },
373
374
  };
374
375
  };
375
376
  // --------------------------------- TARGET CONTROL ----------------------------------
377
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
376
378
  RemoteController.prototype.handleTargetControlWrite = function (value, callback) {
377
- var data = Buffer.from(value, 'base64');
379
+ var data = Buffer.from(value, "base64");
378
380
  var objects = tlv.decode(data);
379
381
  var operation = objects[1 /* OPERATION */][0];
380
382
  var targetConfiguration = undefined;
@@ -449,7 +451,7 @@ var RemoteController = /** @class */ (function (_super) {
449
451
  if (targetConfiguration.buttonConfiguration) {
450
452
  debug("%d button configurations were updated for target '%s' (%d)", Object.keys(targetConfiguration.buttonConfiguration).length, configuredTarget.targetName, configuredTarget.targetIdentifier);
451
453
  try {
452
- for (var _b = tslib_1.__values(Object.values(targetConfiguration.buttonConfiguration)), _c = _b.next(); !_c.done; _c = _b.next()) {
454
+ for (var _b = (0, tslib_1.__values)(Object.values(targetConfiguration.buttonConfiguration)), _c = _b.next(); !_c.done; _c = _b.next()) {
453
455
  var configuration = _c.value;
454
456
  var savedConfiguration = configuredTarget.buttonConfiguration[configuration.buttonID];
455
457
  savedConfiguration.buttonType = configuration.buttonType;
@@ -583,25 +585,24 @@ var RemoteController = /** @class */ (function (_super) {
583
585
  }
584
586
  var buttonIdTlv = tlv.encode(1 /* BUTTON_ID */, buttonID);
585
587
  var buttonStateTlv = tlv.encode(2 /* BUTTON_STATE */, buttonState);
586
- var timestampTlv = tlv.encode(3 /* TIMESTAMP */, tlv.writeUInt64(new Date().getTime())
587
- // timestamp should be uint64. bigint though is only supported by node 10.4.0 and above
588
- // thus we just interpret timestamp as a regular number
589
- );
588
+ var timestampTlv = tlv.encode(3 /* TIMESTAMP */, tlv.writeUInt64(new Date().getTime()));
590
589
  var activeIdentifierTlv = tlv.encode(4 /* ACTIVE_IDENTIFIER */, tlv.writeUInt32(this.activeIdentifier));
591
590
  this.lastButtonEvent = Buffer.concat([
592
- buttonIdTlv, buttonStateTlv, timestampTlv, activeIdentifierTlv
593
- ]).toString('base64');
591
+ buttonIdTlv, buttonStateTlv, timestampTlv, activeIdentifierTlv,
592
+ ]).toString("base64");
594
593
  this.targetControlService.getCharacteristic(Characteristic_1.Characteristic.ButtonEvent).sendEventNotification(this.lastButtonEvent);
595
594
  };
596
595
  RemoteController.prototype.parseTargetConfigurationTLV = function (data) {
597
596
  var configTLV = tlv.decode(data);
598
597
  var identifier = tlv.readUInt32(configTLV[1 /* TARGET_IDENTIFIER */]);
599
598
  var name = undefined;
600
- if (configTLV[2 /* TARGET_NAME */])
599
+ if (configTLV[2 /* TARGET_NAME */]) {
601
600
  name = configTLV[2 /* TARGET_NAME */].toString();
601
+ }
602
602
  var category = undefined;
603
- if (configTLV[3 /* TARGET_CATEGORY */])
603
+ if (configTLV[3 /* TARGET_CATEGORY */]) {
604
604
  category = tlv.readUInt16(configTLV[3 /* TARGET_CATEGORY */]);
605
+ }
605
606
  var buttonConfiguration = {};
606
607
  if (configTLV[4 /* BUTTON_CONFIGURATION */]) {
607
608
  var buttonConfigurationTLV = tlv.decodeList(configTLV[4 /* BUTTON_CONFIGURATION */], 1 /* BUTTON_ID */);
@@ -613,13 +614,13 @@ var RemoteController = /** @class */ (function (_super) {
613
614
  buttonName = entry[3 /* BUTTON_NAME */].toString();
614
615
  }
615
616
  else {
616
- // @ts-ignore
617
+ // @ts-expect-error: forceConsistentCasingInFileNames compiler option
617
618
  buttonName = ButtonType[buttonType];
618
619
  }
619
620
  buttonConfiguration[buttonId] = {
620
621
  buttonID: buttonId,
621
622
  buttonType: buttonType,
622
- buttonName: buttonName
623
+ buttonName: buttonName,
623
624
  };
624
625
  });
625
626
  }
@@ -627,27 +628,28 @@ var RemoteController = /** @class */ (function (_super) {
627
628
  targetIdentifier: identifier,
628
629
  targetName: name,
629
630
  targetCategory: category,
630
- buttonConfiguration: buttonConfiguration
631
+ buttonConfiguration: buttonConfiguration,
631
632
  };
632
633
  };
633
634
  RemoteController.prototype.updatedTargetConfiguration = function () {
634
635
  var e_3, _a, e_4, _b;
636
+ var _c;
635
637
  var bufferList = [];
636
638
  try {
637
- for (var _c = tslib_1.__values(Object.values(this.targetConfigurations)), _d = _c.next(); !_d.done; _d = _c.next()) {
638
- var configuration = _d.value;
639
+ for (var _d = (0, tslib_1.__values)(Object.values(this.targetConfigurations)), _e = _d.next(); !_e.done; _e = _d.next()) {
640
+ var configuration = _e.value;
639
641
  var targetIdentifier = tlv.encode(1 /* TARGET_IDENTIFIER */, tlv.writeUInt32(configuration.targetIdentifier));
640
642
  var targetName = tlv.encode(2 /* TARGET_NAME */, configuration.targetName);
641
643
  var targetCategory = tlv.encode(3 /* TARGET_CATEGORY */, tlv.writeUInt16(configuration.targetCategory));
642
644
  var buttonConfigurationBuffers = [];
643
645
  try {
644
- for (var _e = (e_4 = void 0, tslib_1.__values(configuration.buttonConfiguration.values())), _f = _e.next(); !_f.done; _f = _e.next()) {
645
- var value = _f.value;
646
+ for (var _f = (e_4 = void 0, (0, tslib_1.__values)(configuration.buttonConfiguration.values())), _g = _f.next(); !_g.done; _g = _f.next()) {
647
+ var value = _g.value;
646
648
  var tlvBuffer = tlv.encode(1 /* BUTTON_ID */, value.buttonID, 2 /* BUTTON_TYPE */, tlv.writeUInt16(value.buttonType));
647
649
  if (value.buttonName) {
648
650
  tlvBuffer = Buffer.concat([
649
651
  tlvBuffer,
650
- tlv.encode(3 /* BUTTON_NAME */, value.buttonName)
652
+ tlv.encode(3 /* BUTTON_NAME */, value.buttonName),
651
653
  ]);
652
654
  }
653
655
  buttonConfigurationBuffers.push(tlvBuffer);
@@ -656,7 +658,7 @@ var RemoteController = /** @class */ (function (_super) {
656
658
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
657
659
  finally {
658
660
  try {
659
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
661
+ if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
660
662
  }
661
663
  finally { if (e_4) throw e_4.error; }
662
664
  }
@@ -668,12 +670,12 @@ var RemoteController = /** @class */ (function (_super) {
668
670
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
669
671
  finally {
670
672
  try {
671
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
673
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
672
674
  }
673
675
  finally { if (e_3) throw e_3.error; }
674
676
  }
675
- this.targetConfigurationsString = Buffer.concat(bufferList).toString('base64');
676
- this.stateChangeDelegate && this.stateChangeDelegate();
677
+ this.targetConfigurationsString = Buffer.concat(bufferList).toString("base64");
678
+ (_c = this.stateChangeDelegate) === null || _c === void 0 ? void 0 : _c.call(this);
677
679
  };
678
680
  RemoteController.prototype.buildTargetControlSupportedConfigurationTLV = function (configuration) {
679
681
  var maximumTargets = tlv.encode(1 /* MAXIMUM_TARGETS */, configuration.maximumTargets);
@@ -685,11 +687,12 @@ var RemoteController = /** @class */ (function (_super) {
685
687
  });
686
688
  var supportedButtonConfiguration = tlv.encode(3 /* SUPPORTED_BUTTON_CONFIGURATION */, Buffer.concat(supportedButtonConfigurationBuffers));
687
689
  var type = tlv.encode(4 /* TYPE */, configuration.hardwareImplemented ? 1 : 0);
688
- return Buffer.concat([maximumTargets, ticksPerSecond, supportedButtonConfiguration, type]).toString('base64');
690
+ return Buffer.concat([maximumTargets, ticksPerSecond, supportedButtonConfiguration, type]).toString("base64");
689
691
  };
690
692
  // --------------------------------- SIRI/DATA STREAM --------------------------------
693
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
691
694
  RemoteController.prototype.handleTargetControlWhoAmI = function (connection, message) {
692
- var targetIdentifier = message["identifier"];
695
+ var targetIdentifier = message.identifier;
693
696
  this.dataStreamConnections.set(targetIdentifier, connection);
694
697
  debug("Discovered HDS connection for targetIdentifier %s", targetIdentifier);
695
698
  connection.addProtocolHandler("dataSend" /* DATA_SEND */, this);
@@ -713,6 +716,7 @@ var RemoteController = /** @class */ (function (_super) {
713
716
  debug("Tried opening Siri audio stream however target is not connected via HDS");
714
717
  return;
715
718
  }
719
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
716
720
  var audioSession = new SiriAudioSession(connection, this.selectedAudioConfiguration, this.audioProducerConstructor, this.audioProducerOptions);
717
721
  if (!this.activeAudioSession) {
718
722
  this.activeAudioSession = audioSession;
@@ -738,9 +742,10 @@ var RemoteController = /** @class */ (function (_super) {
738
742
  }
739
743
  debug("handleSiriAudioStop called although no audio session was started");
740
744
  };
745
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
741
746
  RemoteController.prototype.handleDataSendAckEvent = function (message) {
742
- var streamId = message["streamId"];
743
- var endOfStream = message["endOfStream"];
747
+ var streamId = message.streamId;
748
+ var endOfStream = message.endOfStream;
744
749
  if (this.activeAudioSession && this.activeAudioSession.streamId === streamId) {
745
750
  this.activeAudioSession.handleDataSendAckEvent(endOfStream);
746
751
  }
@@ -751,9 +756,10 @@ var RemoteController = /** @class */ (function (_super) {
751
756
  debug("Received dataSend acknowledgment event for unknown streamId '%s'", streamId);
752
757
  }
753
758
  };
759
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
754
760
  RemoteController.prototype.handleDataSendCloseEvent = function (message) {
755
- var streamId = message["streamId"];
756
- var reason = message["reason"];
761
+ var streamId = message.streamId;
762
+ var reason = message.reason;
757
763
  if (this.activeAudioSession && this.activeAudioSession.streamId === streamId) {
758
764
  this.activeAudioSession.handleDataSendCloseEvent(reason);
759
765
  }
@@ -776,8 +782,8 @@ var RemoteController = /** @class */ (function (_super) {
776
782
  RemoteController.prototype.handleDataStreamConnectionClosed = function (connection) {
777
783
  var e_5, _a;
778
784
  try {
779
- for (var _b = tslib_1.__values(this.dataStreamConnections), _c = _b.next(); !_c.done; _c = _b.next()) {
780
- var _d = tslib_1.__read(_c.value, 2), targetIdentifier = _d[0], connection0 = _d[1];
785
+ for (var _b = (0, tslib_1.__values)(this.dataStreamConnections), _c = _b.next(); !_c.done; _c = _b.next()) {
786
+ var _d = (0, tslib_1.__read)(_c.value, 2), targetIdentifier = _d[0], connection0 = _d[1];
781
787
  if (connection === connection0) {
782
788
  debug("HDS connection disconnected for targetIdentifier %s", targetIdentifier);
783
789
  this.dataStreamConnections.delete(targetIdentifier);
@@ -794,8 +800,9 @@ var RemoteController = /** @class */ (function (_super) {
794
800
  }
795
801
  };
796
802
  // ------------------------------- AUDIO CONFIGURATION -------------------------------
803
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
797
804
  RemoteController.prototype.handleSelectedAudioConfigurationWrite = function (value, callback) {
798
- var data = Buffer.from(value, 'base64');
805
+ var data = Buffer.from(value, "base64");
799
806
  var objects = tlv.decode(data);
800
807
  var selectedAudioStreamConfiguration = tlv.decode(objects[1 /* SELECTED_AUDIO_INPUT_STREAM_CONFIGURATION */]);
801
808
  var codec = selectedAudioStreamConfiguration[1 /* CODEC_TYPE */][0];
@@ -809,8 +816,8 @@ var RemoteController = /** @class */ (function (_super) {
809
816
  channels: channels,
810
817
  bitrate: bitrate,
811
818
  samplerate: samplerate,
812
- rtpTime: 20
813
- }
819
+ rtpTime: 20,
820
+ },
814
821
  };
815
822
  this.selectedAudioConfigurationString = RemoteController.buildSelectedAudioConfigurationTLV({
816
823
  audioCodecConfiguration: this.selectedAudioConfiguration,
@@ -820,12 +827,12 @@ var RemoteController = /** @class */ (function (_super) {
820
827
  RemoteController.buildSupportedAudioConfigurationTLV = function (configuration) {
821
828
  var codecConfigurationTLV = RemoteController.buildCodecConfigurationTLV(configuration.audioCodecConfiguration);
822
829
  var supportedAudioStreamConfiguration = tlv.encode(1 /* AUDIO_CODEC_CONFIGURATION */, codecConfigurationTLV);
823
- return supportedAudioStreamConfiguration.toString('base64');
830
+ return supportedAudioStreamConfiguration.toString("base64");
824
831
  };
825
832
  RemoteController.buildSelectedAudioConfigurationTLV = function (configuration) {
826
833
  var codecConfigurationTLV = RemoteController.buildCodecConfigurationTLV(configuration.audioCodecConfiguration);
827
834
  var supportedAudioStreamConfiguration = tlv.encode(1 /* SELECTED_AUDIO_INPUT_STREAM_CONFIGURATION */, codecConfigurationTLV);
828
- return supportedAudioStreamConfiguration.toString('base64');
835
+ return supportedAudioStreamConfiguration.toString("base64");
829
836
  };
830
837
  RemoteController.buildCodecConfigurationTLV = function (codecConfiguration) {
831
838
  var parameters = codecConfiguration.parameters;
@@ -833,7 +840,7 @@ var RemoteController = /** @class */ (function (_super) {
833
840
  if (parameters.rtpTime) {
834
841
  parametersTLV = Buffer.concat([
835
842
  parametersTLV,
836
- tlv.encode(4 /* PACKET_TIME */, parameters.rtpTime)
843
+ tlv.encode(4 /* PACKET_TIME */, parameters.rtpTime),
837
844
  ]);
838
845
  }
839
846
  return tlv.encode(1 /* CODEC_TYPE */, codecConfiguration.codecType, 2 /* CODEC_PARAMETERS */, parametersTLV);
@@ -844,20 +851,20 @@ var RemoteController = /** @class */ (function (_super) {
844
851
  */
845
852
  RemoteController.prototype.constructServices = function () {
846
853
  var _a;
847
- this.targetControlManagementService = new Service_1.Service.TargetControlManagement('', '');
854
+ this.targetControlManagementService = new Service_1.Service.TargetControlManagement("", "");
848
855
  this.targetControlManagementService.setCharacteristic(Characteristic_1.Characteristic.TargetControlSupportedConfiguration, this.supportedConfiguration);
849
856
  this.targetControlManagementService.setCharacteristic(Characteristic_1.Characteristic.TargetControlList, this.targetConfigurationsString);
850
857
  this.targetControlManagementService.setPrimaryService();
851
858
  // you can also expose multiple TargetControl services to control multiple apple tvs simultaneously.
852
859
  // should we extend this class to support multiple TargetControl services or should users just create a second accessory?
853
- this.targetControlService = new Service_1.Service.TargetControl('', '');
860
+ this.targetControlService = new Service_1.Service.TargetControl("", "");
854
861
  this.targetControlService.setCharacteristic(Characteristic_1.Characteristic.ActiveIdentifier, 0);
855
862
  this.targetControlService.setCharacteristic(Characteristic_1.Characteristic.Active, false);
856
863
  this.targetControlService.setCharacteristic(Characteristic_1.Characteristic.ButtonEvent, this.lastButtonEvent);
857
864
  if (this.audioSupported) {
858
- this.siriService = new Service_1.Service.Siri('', '');
865
+ this.siriService = new Service_1.Service.Siri("", "");
859
866
  this.siriService.setCharacteristic(Characteristic_1.Characteristic.SiriInputType, Characteristic_1.Characteristic.SiriInputType.PUSH_BUTTON_TRIGGERED_APPLE_TV);
860
- this.audioStreamManagementService = new Service_1.Service.AudioStreamManagement('', '');
867
+ this.audioStreamManagementService = new Service_1.Service.AudioStreamManagement("", "");
861
868
  this.audioStreamManagementService.setCharacteristic(Characteristic_1.Characteristic.SupportedAudioStreamConfiguration, this.supportedAudioConfiguration);
862
869
  this.audioStreamManagementService.setCharacteristic(Characteristic_1.Characteristic.SelectedAudioStreamConfiguration, this.selectedAudioConfigurationString);
863
870
  this.dataStreamManagement = new datastream_1.DataStreamManagement();
@@ -869,7 +876,7 @@ var RemoteController = /** @class */ (function (_super) {
869
876
  targetControl: this.targetControlService,
870
877
  siri: this.siriService,
871
878
  audioStreamManagement: this.audioStreamManagementService,
872
- dataStreamTransportManagement: (_a = this.dataStreamManagement) === null || _a === void 0 ? void 0 : _a.getService()
879
+ dataStreamTransportManagement: (_a = this.dataStreamManagement) === null || _a === void 0 ? void 0 : _a.getService(),
873
880
  };
874
881
  };
875
882
  /**
@@ -967,8 +974,8 @@ var RemoteController = /** @class */ (function (_super) {
967
974
  }
968
975
  return {
969
976
  activeIdentifier: this.activeIdentifier,
970
- targetConfigurations: tslib_1.__spreadArray([], tslib_1.__read(this.targetConfigurations)).reduce(function (obj, _a) {
971
- var _b = tslib_1.__read(_a, 2), key = _b[0], value = _b[1];
977
+ targetConfigurations: (0, tslib_1.__spreadArray)([], (0, tslib_1.__read)(this.targetConfigurations), false).reduce(function (obj, _a) {
978
+ var _b = (0, tslib_1.__read)(_a, 2), key = _b[0], value = _b[1];
972
979
  obj[key] = value;
973
980
  return obj;
974
981
  }, {}),
@@ -980,7 +987,7 @@ var RemoteController = /** @class */ (function (_super) {
980
987
  RemoteController.prototype.deserialize = function (serialized) {
981
988
  this.activeIdentifier = serialized.activeIdentifier;
982
989
  this.targetConfigurations = Object.entries(serialized.targetConfigurations).reduce(function (map, _a) {
983
- var _b = tslib_1.__read(_a, 2), key = _b[0], value = _b[1];
990
+ var _b = (0, tslib_1.__read)(_a, 2), key = _b[0], value = _b[1];
984
991
  var identifier = parseInt(key, 10);
985
992
  map.set(identifier, value);
986
993
  return map;
@@ -1001,7 +1008,7 @@ exports.RemoteController = RemoteController;
1001
1008
  * @deprecated - only there for backwards compatibility, please use {@see RemoteController} directly
1002
1009
  */
1003
1010
  var HomeKitRemoteController = /** @class */ (function (_super) {
1004
- tslib_1.__extends(HomeKitRemoteController, _super);
1011
+ (0, tslib_1.__extends)(HomeKitRemoteController, _super);
1005
1012
  function HomeKitRemoteController() {
1006
1013
  return _super !== null && _super.apply(this, arguments) || this;
1007
1014
  }
@@ -1016,8 +1023,10 @@ var SiriAudioSessionEvents;
1016
1023
  * Represents an ongoing audio transmission
1017
1024
  */
1018
1025
  var SiriAudioSession = /** @class */ (function (_super) {
1019
- tslib_1.__extends(SiriAudioSession, _super);
1020
- function SiriAudioSession(connection, selectedAudioConfiguration, producerConstructor, producerOptions) {
1026
+ (0, tslib_1.__extends)(SiriAudioSession, _super);
1027
+ function SiriAudioSession(connection, selectedAudioConfiguration, producerConstructor,
1028
+ // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,@typescript-eslint/no-explicit-any
1029
+ producerOptions) {
1021
1030
  var _this = _super.call(this) || this;
1022
1031
  _this.producerRunning = false; // indicates if the producer is running
1023
1032
  _this.state = 0 /* STARTING */;
@@ -1040,7 +1049,7 @@ var SiriAudioSession = /** @class */ (function (_super) {
1040
1049
  // opening dataSend
1041
1050
  this.connection.sendRequest("dataSend" /* DATA_SEND */, "open" /* OPEN */, {
1042
1051
  target: "controller",
1043
- type: "audio.siri"
1052
+ type: "audio.siri",
1044
1053
  }, function (error, status, message) {
1045
1054
  if (_this.state === 3 /* CLOSED */) {
1046
1055
  debug("Ignoring dataSend open response as the session is already closed");
@@ -1058,9 +1067,9 @@ var SiriAudioSession = /** @class */ (function (_super) {
1058
1067
  _this.closed();
1059
1068
  }
1060
1069
  else {
1061
- _this.streamId = message["streamId"];
1070
+ _this.streamId = message.streamId;
1062
1071
  if (!_this.producerRunning) { // audio producer errored in the meantime
1063
- _this.sendDataSendCloseEvent(datastream_1.DataSendCloseReason.CANCELLED);
1072
+ _this.sendDataSendCloseEvent(3 /* CANCELLED */);
1064
1073
  }
1065
1074
  else {
1066
1075
  debug("Successfully setup siri audio stream with streamId %d", _this.streamId);
@@ -1079,7 +1088,7 @@ var SiriAudioSession = /** @class */ (function (_super) {
1079
1088
  * Called when siri button is released (or active identifier is changed to another device)
1080
1089
  */
1081
1090
  SiriAudioSession.prototype.stop = function () {
1082
- assert_1.default(this.state <= 1 /* SENDING */, "state was higher than SENDING");
1091
+ (0, assert_1.default)(this.state <= 1 /* SENDING */, "state was higher than SENDING");
1083
1092
  debug("Stopping siri audio stream with streamId %d", this.streamId);
1084
1093
  this.endOfStream = true; // mark as endOfStream
1085
1094
  this.stopAudioProducer();
@@ -1098,7 +1107,7 @@ var SiriAudioSession = /** @class */ (function (_super) {
1098
1107
  this.producerTimer = setTimeout(function () {
1099
1108
  debug("Didn't receive any frames from audio producer for stream with streamId %s. Canceling the stream now.", _this.streamId);
1100
1109
  _this.producerTimer = undefined;
1101
- _this.handleProducerError(datastream_1.DataSendCloseReason.CANCELLED);
1110
+ _this.handleProducerError(3 /* CANCELLED */);
1102
1111
  }, 3000);
1103
1112
  this.producerTimer.unref();
1104
1113
  };
@@ -1134,7 +1143,7 @@ var SiriAudioSession = /** @class */ (function (_super) {
1134
1143
  metadata: {
1135
1144
  rms: new datastream_1.Float32(frame.rms),
1136
1145
  sequenceNumber: new datastream_1.Int64(_this.sequenceNumber++),
1137
- }
1146
+ },
1138
1147
  };
1139
1148
  packets.push(packetData);
1140
1149
  });
@@ -1174,18 +1183,19 @@ var SiriAudioSession = /** @class */ (function (_super) {
1174
1183
  SiriAudioSession.prototype.handleDataSendAckEvent = function (endOfStream) {
1175
1184
  assert_1.default.strictEqual(endOfStream, true);
1176
1185
  debug("Received acknowledgment for siri audio stream with streamId %s, closing it now", this.streamId);
1177
- this.sendDataSendCloseEvent(datastream_1.DataSendCloseReason.NORMAL);
1186
+ this.sendDataSendCloseEvent(0 /* NORMAL */);
1178
1187
  };
1179
1188
  SiriAudioSession.prototype.handleDataSendCloseEvent = function (reason) {
1180
- debug("Received close event from controller with reason %s for stream with streamId %s", datastream_1.DataSendCloseReason[reason], this.streamId);
1189
+ // @ts-expect-error: forceConsistentCasingInFileNames compiler option
1190
+ debug("Received close event from controller with reason %s for stream with streamId %s", datastream_1.HDSProtocolSpecificErrorReason[reason], this.streamId);
1181
1191
  if (this.state <= 1 /* SENDING */) {
1182
1192
  this.stopAudioProducer();
1183
1193
  }
1184
1194
  this.closed();
1185
1195
  };
1186
1196
  SiriAudioSession.prototype.sendDataSendCloseEvent = function (reason) {
1187
- assert_1.default(this.state >= 1 /* SENDING */, "state was less than SENDING");
1188
- assert_1.default(this.state <= 2 /* CLOSING */, "state was higher than CLOSING");
1197
+ (0, assert_1.default)(this.state >= 1 /* SENDING */, "state was less than SENDING");
1198
+ (0, assert_1.default)(this.state <= 2 /* CLOSING */, "state was higher than CLOSING");
1189
1199
  this.connection.sendEvent("dataSend" /* DATA_SEND */, "close" /* CLOSE */, {
1190
1200
  streamId: new datastream_1.Int64(this.streamId),
1191
1201
  reason: new datastream_1.Int64(reason),
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteController.js","sourceRoot":"","sources":["../../../src/lib/controller/RemoteController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteController.js","sourceRoot":"","sources":["../../../src/lib/controller/RemoteController.ts"],"names":[],"mappings":"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"}