hap-nodejs 1.1.0 → 1.1.1-alpha.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 (233) hide show
  1. package/@types/bonjour-hap.d.ts +50 -53
  2. package/README.md +16 -19
  3. package/dist/accessories/AirConditioner_accessory.js +28 -30
  4. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  5. package/dist/accessories/AppleTVRemote_accessory.js +69 -81
  6. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  7. package/dist/accessories/Camera_accessory.js +159 -144
  8. package/dist/accessories/Camera_accessory.js.map +1 -1
  9. package/dist/accessories/Fan_accessory.js +18 -22
  10. package/dist/accessories/Fan_accessory.js.map +1 -1
  11. package/dist/accessories/GarageDoorOpener_accessory.js +33 -35
  12. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  13. package/dist/accessories/Light-AdaptiveLighting_accessory.js +42 -44
  14. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  15. package/dist/accessories/Light_accessory.js +32 -34
  16. package/dist/accessories/Light_accessory.js.map +1 -1
  17. package/dist/accessories/Lock_accessory.js +25 -26
  18. package/dist/accessories/Lock_accessory.js.map +1 -1
  19. package/dist/accessories/MotionSensor_accessory.js +13 -16
  20. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  21. package/dist/accessories/Outlet_accessory.js +20 -22
  22. package/dist/accessories/Outlet_accessory.js.map +1 -1
  23. package/dist/accessories/SmartSpeaker_accessory.js +18 -20
  24. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  25. package/dist/accessories/Sprinkler_accessory.js +34 -37
  26. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  27. package/dist/accessories/TV_accessory.js +43 -45
  28. package/dist/accessories/TV_accessory.js.map +1 -1
  29. package/dist/accessories/TemperatureSensor_accessory.js +12 -15
  30. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  31. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  32. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  33. package/dist/accessories/Wi-FiRouter_accessory.js +9 -12
  34. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  35. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  36. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  37. package/dist/accessories/Wi-FiSatellite_accessory.js +11 -14
  38. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  39. package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
  40. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  41. package/dist/accessories/gstreamer-audioProducer.js +45 -46
  42. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  43. package/dist/accessories/types.d.ts +63 -63
  44. package/dist/accessories/types.d.ts.map +1 -1
  45. package/dist/accessories/types.js +83 -87
  46. package/dist/accessories/types.js.map +1 -1
  47. package/dist/index.d.ts +26 -28
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +40 -34
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal-types.d.ts +1 -1
  52. package/dist/internal-types.d.ts.map +1 -1
  53. package/dist/internal-types.js +19 -21
  54. package/dist/internal-types.js.map +1 -1
  55. package/dist/lib/Accessory.d.ts +39 -38
  56. package/dist/lib/Accessory.d.ts.map +1 -1
  57. package/dist/lib/Accessory.js +313 -296
  58. package/dist/lib/Accessory.js.map +1 -1
  59. package/dist/lib/Advertiser.d.ts +16 -13
  60. package/dist/lib/Advertiser.d.ts.map +1 -1
  61. package/dist/lib/Advertiser.js +147 -153
  62. package/dist/lib/Advertiser.js.map +1 -1
  63. package/dist/lib/Bridge.d.ts +1 -1
  64. package/dist/lib/Bridge.d.ts.map +1 -1
  65. package/dist/lib/Bridge.js +2 -6
  66. package/dist/lib/Bridge.js.map +1 -1
  67. package/dist/lib/Characteristic.d.ts +48 -69
  68. package/dist/lib/Characteristic.d.ts.map +1 -1
  69. package/dist/lib/Characteristic.js +212 -236
  70. package/dist/lib/Characteristic.js.map +1 -1
  71. package/dist/lib/HAPServer.d.ts +31 -30
  72. package/dist/lib/HAPServer.d.ts.map +1 -1
  73. package/dist/lib/HAPServer.js +220 -229
  74. package/dist/lib/HAPServer.js.map +1 -1
  75. package/dist/lib/Service.d.ts +22 -30
  76. package/dist/lib/Service.d.ts.map +1 -1
  77. package/dist/lib/Service.js +63 -75
  78. package/dist/lib/Service.js.map +1 -1
  79. package/dist/lib/camera/RTPProxy.d.ts +2 -1
  80. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  81. package/dist/lib/camera/RTPProxy.js +28 -44
  82. package/dist/lib/camera/RTPProxy.js.map +1 -1
  83. package/dist/lib/camera/RTPStreamManagement.d.ts +34 -33
  84. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  85. package/dist/lib/camera/RTPStreamManagement.js +181 -149
  86. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  87. package/dist/lib/camera/RecordingManagement.d.ts +19 -17
  88. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  89. package/dist/lib/camera/RecordingManagement.js +160 -151
  90. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  91. package/dist/lib/camera/index.d.ts +3 -3
  92. package/dist/lib/camera/index.d.ts.map +1 -1
  93. package/dist/lib/camera/index.js +3 -6
  94. package/dist/lib/camera/index.js.map +1 -1
  95. package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
  96. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  97. package/dist/lib/controller/AdaptiveLightingController.js +152 -144
  98. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  99. package/dist/lib/controller/CameraController.d.ts +22 -20
  100. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  101. package/dist/lib/controller/CameraController.js +74 -78
  102. package/dist/lib/controller/CameraController.js.map +1 -1
  103. package/dist/lib/controller/Controller.d.ts +4 -4
  104. package/dist/lib/controller/Controller.d.ts.map +1 -1
  105. package/dist/lib/controller/Controller.js +5 -8
  106. package/dist/lib/controller/Controller.js.map +1 -1
  107. package/dist/lib/controller/DoorbellController.d.ts +5 -4
  108. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  109. package/dist/lib/controller/DoorbellController.js +9 -13
  110. package/dist/lib/controller/DoorbellController.js.map +1 -1
  111. package/dist/lib/controller/RemoteController.d.ts +39 -37
  112. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  113. package/dist/lib/controller/RemoteController.js +208 -197
  114. package/dist/lib/controller/RemoteController.js.map +1 -1
  115. package/dist/lib/controller/index.d.ts +5 -5
  116. package/dist/lib/controller/index.d.ts.map +1 -1
  117. package/dist/lib/controller/index.js +5 -8
  118. package/dist/lib/controller/index.js.map +1 -1
  119. package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
  120. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  121. package/dist/lib/datastream/DataStreamManagement.js +39 -39
  122. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  123. package/dist/lib/datastream/DataStreamParser.d.ts +1 -0
  124. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamParser.js +57 -77
  126. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamServer.d.ts +23 -22
  128. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamServer.js +154 -164
  130. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  131. package/dist/lib/datastream/index.d.ts +3 -3
  132. package/dist/lib/datastream/index.d.ts.map +1 -1
  133. package/dist/lib/datastream/index.js +3 -6
  134. package/dist/lib/datastream/index.js.map +1 -1
  135. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +15 -60
  136. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  137. package/dist/lib/definitions/CharacteristicDefinitions.js +978 -1317
  138. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  139. package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -15
  140. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  141. package/dist/lib/definitions/ServiceDefinitions.js +621 -726
  142. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  143. package/dist/lib/definitions/generate-definitions.d.ts +3 -3
  144. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  145. package/dist/lib/definitions/generate-definitions.js +246 -251
  146. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  147. package/dist/lib/definitions/generator-configuration.d.ts +1 -1
  148. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  149. package/dist/lib/definitions/generator-configuration.js +160 -354
  150. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  151. package/dist/lib/definitions/index.d.ts +2 -2
  152. package/dist/lib/definitions/index.d.ts.map +1 -1
  153. package/dist/lib/definitions/index.js +2 -5
  154. package/dist/lib/definitions/index.js.map +1 -1
  155. package/dist/lib/model/AccessoryInfo.d.ts +4 -3
  156. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  157. package/dist/lib/model/AccessoryInfo.js +50 -53
  158. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  159. package/dist/lib/model/ControllerStorage.d.ts +3 -3
  160. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  161. package/dist/lib/model/ControllerStorage.js +18 -23
  162. package/dist/lib/model/ControllerStorage.js.map +1 -1
  163. package/dist/lib/model/HAPStorage.d.ts +2 -2
  164. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  165. package/dist/lib/model/HAPStorage.js +4 -11
  166. package/dist/lib/model/HAPStorage.js.map +1 -1
  167. package/dist/lib/model/IdentifierCache.d.ts +1 -1
  168. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  169. package/dist/lib/model/IdentifierCache.js +19 -27
  170. package/dist/lib/model/IdentifierCache.js.map +1 -1
  171. package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
  172. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  173. package/dist/lib/tv/AccessControlManagement.js +27 -29
  174. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  175. package/dist/lib/util/checkName.d.ts +2 -2
  176. package/dist/lib/util/checkName.d.ts.map +1 -1
  177. package/dist/lib/util/checkName.js +6 -9
  178. package/dist/lib/util/checkName.js.map +1 -1
  179. package/dist/lib/util/clone.d.ts.map +1 -1
  180. package/dist/lib/util/clone.js +1 -5
  181. package/dist/lib/util/clone.js.map +1 -1
  182. package/dist/lib/util/color-utils.d.ts +1 -1
  183. package/dist/lib/util/color-utils.d.ts.map +1 -1
  184. package/dist/lib/util/color-utils.js +4 -9
  185. package/dist/lib/util/color-utils.js.map +1 -1
  186. package/dist/lib/util/eventedhttp.d.ts +23 -22
  187. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  188. package/dist/lib/util/eventedhttp.js +109 -116
  189. package/dist/lib/util/eventedhttp.js.map +1 -1
  190. package/dist/lib/util/hapCrypto.d.ts +3 -2
  191. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  192. package/dist/lib/util/hapCrypto.js +31 -40
  193. package/dist/lib/util/hapCrypto.js.map +1 -1
  194. package/dist/lib/util/hapStatusError.d.ts +1 -1
  195. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  196. package/dist/lib/util/hapStatusError.js +4 -8
  197. package/dist/lib/util/hapStatusError.js.map +1 -1
  198. package/dist/lib/util/net-utils.d.ts +1 -1
  199. package/dist/lib/util/net-utils.js +17 -23
  200. package/dist/lib/util/net-utils.js.map +1 -1
  201. package/dist/lib/util/once.d.ts.map +1 -1
  202. package/dist/lib/util/once.js +2 -6
  203. package/dist/lib/util/once.js.map +1 -1
  204. package/dist/lib/util/promise-utils.d.ts +1 -1
  205. package/dist/lib/util/promise-utils.d.ts.map +1 -1
  206. package/dist/lib/util/promise-utils.js +3 -10
  207. package/dist/lib/util/promise-utils.js.map +1 -1
  208. package/dist/lib/util/request-util.d.ts +3 -2
  209. package/dist/lib/util/request-util.d.ts.map +1 -1
  210. package/dist/lib/util/request-util.js +11 -19
  211. package/dist/lib/util/request-util.js.map +1 -1
  212. package/dist/lib/util/time.d.ts +1 -0
  213. package/dist/lib/util/time.d.ts.map +1 -1
  214. package/dist/lib/util/time.js +6 -11
  215. package/dist/lib/util/time.js.map +1 -1
  216. package/dist/lib/util/tlv.d.ts +1 -0
  217. package/dist/lib/util/tlv.d.ts.map +1 -1
  218. package/dist/lib/util/tlv.js +28 -43
  219. package/dist/lib/util/tlv.js.map +1 -1
  220. package/dist/lib/util/uuid.d.ts +1 -0
  221. package/dist/lib/util/uuid.d.ts.map +1 -1
  222. package/dist/lib/util/uuid.js +26 -38
  223. package/dist/lib/util/uuid.js.map +1 -1
  224. package/dist/types.d.ts +24 -24
  225. package/dist/types.d.ts.map +1 -1
  226. package/dist/types.js +3 -5
  227. package/dist/types.js.map +1 -1
  228. package/package.json +49 -47
  229. package/@types/simple-plist.d.ts +0 -4
  230. package/dist/lib/gen/HomeKit.d.ts +0 -7
  231. package/dist/lib/gen/HomeKit.d.ts.map +0 -1
  232. package/dist/lib/gen/HomeKit.js +0 -8
  233. package/dist/lib/gen/HomeKit.js.map +0 -1
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Service = exports.ServiceEventTypes = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = tslib_1.__importDefault(require("assert"));
6
- const debug_1 = tslib_1.__importDefault(require("debug"));
7
- const events_1 = require("events");
8
- const Characteristic_1 = require("./Characteristic");
9
- const uuid_1 = require("./util/uuid");
10
- const checkName_1 = require("./util/checkName");
11
- const debug = (0, debug_1.default)("HAP-NodeJS:Service");
1
+ import assert from 'node:assert';
2
+ import { EventEmitter } from 'node:events';
3
+ import createDebug from 'debug';
4
+ import { Characteristic } from './Characteristic.js';
5
+ import { checkName } from './util/checkName.js';
6
+ import { toShortForm } from './util/uuid.js';
7
+ const debug = createDebug('HAP-NodeJS:Service');
12
8
  /**
13
9
  * HAP spec allows a maximum of 100 characteristics per service!
14
10
  */
@@ -16,12 +12,13 @@ const MAX_CHARACTERISTICS = 100;
16
12
  /**
17
13
  * @group Service
18
14
  */
19
- var ServiceEventTypes;
15
+ // eslint-disable-next-line no-restricted-syntax
16
+ export var ServiceEventTypes;
20
17
  (function (ServiceEventTypes) {
21
18
  ServiceEventTypes["CHARACTERISTIC_CHANGE"] = "characteristic-change";
22
19
  ServiceEventTypes["SERVICE_CONFIGURATION_CHANGE"] = "service-configurationChange";
23
20
  ServiceEventTypes["CHARACTERISTIC_WARNING"] = "characteristic-warning";
24
- })(ServiceEventTypes || (exports.ServiceEventTypes = ServiceEventTypes = {}));
21
+ })(ServiceEventTypes || (ServiceEventTypes = {}));
25
22
  /**
26
23
  * Service represents a set of grouped values necessary to provide a logical function. For instance, a
27
24
  * "Door Lock Mechanism" service might contain two values, one for the "desired lock state" and one for the
@@ -44,8 +41,8 @@ var ServiceEventTypes;
44
41
  *
45
42
  * @group Service
46
43
  */
47
- // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
48
- class Service extends events_1.EventEmitter {
44
+ // eslint-disable-next-line ts/no-unsafe-declaration-merging
45
+ export class Service extends EventEmitter {
49
46
  // Service MUST NOT have any other static variables
50
47
  // Pattern below is for automatic detection of the section of defined services. Used by the generator
51
48
  // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@@ -113,10 +110,6 @@ class Service extends events_1.EventEmitter {
113
110
  * @group Service Definitions
114
111
  */
115
112
  static CarbonMonoxideSensor;
116
- /**
117
- * @group Service Definitions
118
- */
119
- static CloudRelay;
120
113
  /**
121
114
  * @group Service Definitions
122
115
  */
@@ -313,10 +306,6 @@ class Service extends events_1.EventEmitter {
313
306
  * @group Service Definitions
314
307
  */
315
308
  static TransferTransportManagement;
316
- /**
317
- * @group Service Definitions
318
- */
319
- static Tunnel;
320
309
  /**
321
310
  * @group Service Definitions
322
311
  */
@@ -362,9 +351,9 @@ class Service extends events_1.EventEmitter {
362
351
  * @private
363
352
  */
364
353
  linkedServices = [];
365
- constructor(displayName = "", UUID, subtype) {
354
+ constructor(displayName = '', UUID, subtype) {
366
355
  super();
367
- (0, assert_1.default)(UUID, "Services must be created with a valid UUID.");
356
+ assert(UUID, 'Services must be created with a valid UUID.');
368
357
  this.displayName = displayName;
369
358
  this.UUID = UUID;
370
359
  this.subtype = subtype;
@@ -373,9 +362,9 @@ class Service extends events_1.EventEmitter {
373
362
  // if you don't provide a display name, some HomeKit apps may choose to hide the device.
374
363
  if (displayName) {
375
364
  // create the characteristic if necessary
376
- (0, checkName_1.checkName)(this.displayName, "Name", displayName);
377
- const nameCharacteristic = this.getCharacteristic(Characteristic_1.Characteristic.Name) ||
378
- this.addCharacteristic(Characteristic_1.Characteristic.Name);
365
+ checkName(this.displayName, 'Name', displayName);
366
+ const nameCharacteristic = this.getCharacteristic(Characteristic.Name)
367
+ || this.addCharacteristic(Characteristic.Name);
379
368
  nameCharacteristic.updateValue(displayName);
380
369
  }
381
370
  }
@@ -387,24 +376,24 @@ class Service extends events_1.EventEmitter {
387
376
  * @returns the serviceId
388
377
  */
389
378
  getServiceId() {
390
- return this.UUID + (this.subtype || "");
379
+ return this.UUID + (this.subtype || '');
391
380
  }
392
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
393
381
  addCharacteristic(input, ...constructorArgs) {
394
382
  // characteristic might be a constructor like `Characteristic.Brightness` instead of an instance of Characteristic. Coerce if necessary.
395
- const characteristic = typeof input === "function" ? new input(...constructorArgs) : input;
383
+ // eslint-disable-next-line new-cap
384
+ const characteristic = typeof input === 'function' ? new input(...constructorArgs) : input;
396
385
  // check for UUID conflict
397
386
  for (const existing of this.characteristics) {
398
387
  if (existing.UUID === characteristic.UUID) {
399
- if (characteristic.UUID === "00000052-0000-1000-8000-0026BB765291") {
400
- //This is a special workaround for the Firmware Revision characteristic.
388
+ if (characteristic.UUID === '00000052-0000-1000-8000-0026BB765291') {
389
+ // This is a special workaround for the Firmware Revision characteristic.
401
390
  return existing;
402
391
  }
403
- throw new Error("Cannot add a Characteristic with the same UUID as another Characteristic in this Service: " + existing.UUID);
392
+ throw new Error(`Cannot add a Characteristic with the same UUID as another Characteristic in this Service: ${existing.UUID}`);
404
393
  }
405
394
  }
406
395
  if (this.characteristics.length >= MAX_CHARACTERISTICS) {
407
- throw new Error("Cannot add more than " + MAX_CHARACTERISTICS + " characteristics to a single service!");
396
+ throw new Error(`Cannot add more than ${MAX_CHARACTERISTICS} characteristics to a single service!`);
408
397
  }
409
398
  this.setupCharacteristicEventHandlers(characteristic);
410
399
  this.characteristics.push(characteristic);
@@ -439,7 +428,7 @@ class Service extends events_1.EventEmitter {
439
428
  * @param service - The service this service should link to
440
429
  */
441
430
  addLinkedService(service) {
442
- //TODO: Add a check if the service is on the same accessory.
431
+ // TODO: Add a check if the service is on the same accessory.
443
432
  if (!this.linkedServices.includes(service)) {
444
433
  this.linkedServices.push(service);
445
434
  }
@@ -451,7 +440,7 @@ class Service extends events_1.EventEmitter {
451
440
  * @param service - Previously linked service
452
441
  */
453
442
  removeLinkedService(service) {
454
- //TODO: Add a check if the service is on the same accessory.
443
+ // TODO: Add a check if the service is on the same accessory.
455
444
  const index = this.linkedServices.indexOf(service);
456
445
  if (index !== -1) {
457
446
  this.linkedServices.splice(index, 1);
@@ -471,17 +460,17 @@ class Service extends events_1.EventEmitter {
471
460
  // If Service.prototype.getCharacteristic(Characteristic.Type) does not find the characteristic,
472
461
  // but the type is in optionalCharacteristics, it adds the characteristic.type to the service and returns it.
473
462
  for (const characteristic of this.characteristics) {
474
- if (typeof name === "string" && characteristic.displayName === name) {
463
+ if (typeof name === 'string' && characteristic.displayName === name) {
475
464
  return characteristic;
476
465
  }
477
466
  else {
478
467
  // @ts-expect-error ('UUID' does not exist on type 'never')
479
- if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
468
+ if (typeof name === 'function' && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
480
469
  return characteristic;
481
470
  }
482
471
  }
483
472
  }
484
- if (typeof name === "function") {
473
+ if (typeof name === 'function') {
485
474
  for (const characteristic of this.optionalCharacteristics) {
486
475
  // @ts-expect-error ('UUID' does not exist on type 'never')
487
476
  if ((characteristic instanceof name) || (name.UUID === characteristic.UUID)) {
@@ -490,8 +479,8 @@ class Service extends events_1.EventEmitter {
490
479
  }
491
480
  const instance = this.addCharacteristic(name);
492
481
  // Not found in optional Characteristics. Adding anyway, but warning about it if it isn't the Name.
493
- if (name.UUID !== Characteristic_1.Characteristic.Name.UUID) {
494
- this.emitCharacteristicWarningEvent(instance, "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */, "Characteristic not in required or optional characteristic section for service " + this.constructor.name + ". Adding anyway.");
482
+ if (name.UUID !== Characteristic.Name.UUID) {
483
+ this.emitCharacteristicWarningEvent(instance, "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */, `Characteristic not in required or optional characteristic section for service ${this.constructor.name}. Adding anyway.`);
495
484
  }
496
485
  return instance;
497
486
  }
@@ -499,12 +488,12 @@ class Service extends events_1.EventEmitter {
499
488
  testCharacteristic(name) {
500
489
  // checks for the existence of a characteristic object in the service
501
490
  for (const characteristic of this.characteristics) {
502
- if (typeof name === "string" && characteristic.displayName === name) {
491
+ if (typeof name === 'string' && characteristic.displayName === name) {
503
492
  return true;
504
493
  }
505
494
  else {
506
495
  // @ts-expect-error ('UUID' does not exist on type 'never')
507
- if (typeof name === "function" && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
496
+ if (typeof name === 'function' && ((characteristic instanceof name) || (name.UUID === characteristic.UUID))) {
508
497
  return true;
509
498
  }
510
499
  }
@@ -523,12 +512,11 @@ class Service extends events_1.EventEmitter {
523
512
  addOptionalCharacteristic(characteristic) {
524
513
  // characteristic might be a constructor like `Characteristic.Brightness` instead of an instance
525
514
  // of Characteristic. Coerce if necessary.
526
- if (typeof characteristic === "function") {
527
- characteristic = new characteristic();
515
+ if (typeof characteristic === 'function') {
516
+ characteristic = new characteristic(); // eslint-disable-line new-cap
528
517
  }
529
518
  this.optionalCharacteristics.push(characteristic);
530
519
  }
531
- // noinspection JSUnusedGlobalSymbols
532
520
  /**
533
521
  * This method was created to copy all characteristics from another service to this.
534
522
  * It's only adopting is currently in homebridge to merge the AccessoryInformation service. So some things
@@ -537,7 +525,7 @@ class Service extends events_1.EventEmitter {
537
525
  * It will not remove characteristics which are present currently but not added on the other characteristic.
538
526
  * It will not replace the characteristic if the value is falsy (except of '0' or 'false')
539
527
  * @param service
540
- * @private used by homebridge
528
+ * @private
541
529
  */
542
530
  replaceCharacteristicsFromService(service) {
543
531
  if (this.UUID !== service.UUID) {
@@ -545,7 +533,7 @@ class Service extends events_1.EventEmitter {
545
533
  }
546
534
  const foreignCharacteristics = {}; // index foreign characteristics by UUID
547
535
  service.characteristics.forEach(characteristic => foreignCharacteristics[characteristic.UUID] = characteristic);
548
- this.characteristics.forEach(characteristic => {
536
+ this.characteristics.forEach((characteristic) => {
549
537
  const foreignCharacteristic = foreignCharacteristics[characteristic.UUID];
550
538
  if (foreignCharacteristic) {
551
539
  delete foreignCharacteristics[characteristic.UUID];
@@ -573,7 +561,7 @@ class Service extends events_1.EventEmitter {
573
561
  */
574
562
  _assignIDs(identifierCache, accessoryName, baseIID = 0) {
575
563
  // the Accessory Information service must have a (reserved by IdentifierCache) ID of 1
576
- if (this.UUID === "0000003E-0000-1000-8000-0026BB765291") {
564
+ if (this.UUID === '0000003E-0000-1000-8000-0026BB765291') {
577
565
  this.iid = 1;
578
566
  }
579
567
  else {
@@ -587,14 +575,14 @@ class Service extends events_1.EventEmitter {
587
575
  }
588
576
  /**
589
577
  * Returns a JSON representation of this service suitable for delivering to HAP clients.
590
- * @private used to generate response to /accessories query
578
+ * @private
591
579
  */
592
580
  toHAP(connection, contactGetHandlers = true) {
593
- return new Promise(resolve => {
594
- (0, assert_1.default)(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
595
- (0, assert_1.default)(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
581
+ return new Promise((resolve) => {
582
+ assert(this.iid, `iid cannot be undefined for service '${this.displayName}'`);
583
+ assert(this.characteristics.length, `service '${this.displayName}' does not have any characteristics!`);
596
584
  const service = {
597
- type: (0, uuid_1.toShortForm)(this.UUID),
585
+ type: toShortForm(this.UUID),
598
586
  iid: this.iid,
599
587
  characteristics: [],
600
588
  hidden: this.isHiddenService ? true : undefined,
@@ -623,8 +611,7 @@ class Service extends events_1.EventEmitter {
623
611
  timeout = setTimeout(() => {
624
612
  timeout = undefined;
625
613
  for (const characteristic of missingCharacteristics) {
626
- this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */, "The read handler for the characteristic '" + characteristic?.displayName +
627
- "' didn't respond at all!. Please check that you properly call the callback!");
614
+ this.emitCharacteristicWarningEvent(characteristic, "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */, `The read handler for the characteristic '${characteristic?.displayName}' didn't respond at all!. Please check that you properly call the callback!`);
628
615
  service.characteristics.push(characteristic.internalHAPRepresentation()); // value is set to null
629
616
  }
630
617
  missingCharacteristics.clear();
@@ -633,7 +620,7 @@ class Service extends events_1.EventEmitter {
633
620
  }, 3000);
634
621
  for (const characteristic of this.characteristics) {
635
622
  missingCharacteristics.add(characteristic);
636
- characteristic.toHAP(connection, contactGetHandlers).then(value => {
623
+ characteristic.toHAP(connection, contactGetHandlers).then((value) => {
637
624
  if (!timeout) {
638
625
  return; // if timeout is undefined, response was already sent out
639
626
  }
@@ -652,13 +639,13 @@ class Service extends events_1.EventEmitter {
652
639
  }
653
640
  /**
654
641
  * Returns a JSON representation of this service without characteristic values.
655
- * @private used to generate the config hash
642
+ * @private
656
643
  */
657
644
  internalHAPRepresentation() {
658
- (0, assert_1.default)(this.iid, "iid cannot be undefined for service '" + this.displayName + "'");
659
- (0, assert_1.default)(this.characteristics.length, "service '" + this.displayName + "' does not have any characteristics!");
645
+ assert(this.iid, `iid cannot be undefined for service '${this.displayName}'`);
646
+ assert(this.characteristics.length, `service '${this.displayName}' does not have any characteristics!`);
660
647
  const service = {
661
- type: (0, uuid_1.toShortForm)(this.UUID),
648
+ type: toShortForm(this.UUID),
662
649
  iid: this.iid,
663
650
  characteristics: this.characteristics.map(characteristic => characteristic.internalHAPRepresentation()),
664
651
  hidden: this.isHiddenService ? true : undefined,
@@ -687,7 +674,7 @@ class Service extends events_1.EventEmitter {
687
674
  setupCharacteristicEventHandlers(characteristic) {
688
675
  // listen for changes in characteristics and bubble them up
689
676
  characteristic.on("change" /* CharacteristicEventTypes.CHANGE */, (change) => {
690
- this.emit("characteristic-change" /* ServiceEventTypes.CHARACTERISTIC_CHANGE */, { ...change, characteristic: characteristic });
677
+ this.emit("characteristic-change" /* ServiceEventTypes.CHARACTERISTIC_CHANGE */, { ...change, characteristic });
691
678
  });
692
679
  characteristic.on("characteristic-warning" /* CharacteristicEventTypes.CHARACTERISTIC_WARNING */, this.emitCharacteristicWarningEvent.bind(this, characteristic));
693
680
  }
@@ -696,11 +683,11 @@ class Service extends events_1.EventEmitter {
696
683
  */
697
684
  emitCharacteristicWarningEvent(characteristic, type, message, stack) {
698
685
  this.emit("characteristic-warning" /* ServiceEventTypes.CHARACTERISTIC_WARNING */, {
699
- characteristic: characteristic,
700
- type: type,
701
- message: message,
686
+ characteristic,
687
+ type,
688
+ message,
702
689
  originatorChain: [this.displayName, characteristic.displayName],
703
- stack: stack,
690
+ stack,
704
691
  });
705
692
  }
706
693
  /**
@@ -717,18 +704,18 @@ class Service extends events_1.EventEmitter {
717
704
  */
718
705
  static serialize(service) {
719
706
  let constructorName;
720
- if (service.constructor.name !== "Service") {
707
+ if (service.constructor.name !== 'Service') {
721
708
  constructorName = service.constructor.name;
722
709
  }
723
710
  return {
724
711
  displayName: service.displayName,
725
712
  UUID: service.UUID,
726
713
  subtype: service.subtype,
727
- constructorName: constructorName,
714
+ constructorName,
728
715
  hiddenService: service.isHiddenService,
729
716
  primaryService: service.isPrimaryService,
730
- characteristics: service.characteristics.map(characteristic => Characteristic_1.Characteristic.serialize(characteristic)),
731
- optionalCharacteristics: service.optionalCharacteristics.map(characteristic => Characteristic_1.Characteristic.serialize(characteristic)),
717
+ characteristics: service.characteristics.map(characteristic => Characteristic.serialize(characteristic)),
718
+ optionalCharacteristics: service.optionalCharacteristics.map(characteristic => Characteristic.serialize(characteristic)),
732
719
  };
733
720
  }
734
721
  /**
@@ -746,17 +733,18 @@ class Service extends events_1.EventEmitter {
746
733
  }
747
734
  service.isHiddenService = !!json.hiddenService;
748
735
  service.isPrimaryService = !!json.primaryService;
749
- const characteristics = json.characteristics.map(serialized => Characteristic_1.Characteristic.deserialize(serialized));
736
+ const characteristics = json.characteristics.map(serialized => Characteristic.deserialize(serialized));
750
737
  service._sideloadCharacteristics(characteristics);
751
738
  if (json.optionalCharacteristics) {
752
- service.optionalCharacteristics = json.optionalCharacteristics.map(serialized => Characteristic_1.Characteristic.deserialize(serialized));
739
+ service.optionalCharacteristics = json.optionalCharacteristics.map(serialized => Characteristic.deserialize(serialized));
753
740
  }
754
741
  return service;
755
742
  }
756
743
  }
757
- exports.Service = Service;
758
744
  // We have a cyclic dependency problem. Within this file we have the definitions of "./definitions" as
759
745
  // type imports only (in order to define the static properties). Setting those properties is done outside
760
746
  // this file, within the definition files. Therefore, we import it at the end of this file. Seems weird, but is important.
761
- require("./definitions/ServiceDefinitions");
747
+ (async () => {
748
+ await import('./definitions/ServiceDefinitions.js');
749
+ })();
762
750
  //# sourceMappingURL=Service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../../src/lib/Service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Socket, SocketType } from "dgram";
1
+ import type { Socket, SocketType } from 'node:dgram';
2
+ import { Buffer } from 'node:buffer';
2
3
  /**
3
4
  * @group Camera
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAkBR,OAAO,EAAE,eAAe;IAjB3C,YAAY,SAAS;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,iBAAiB,EAAG,MAAM,CAAC;IAC3B,kBAAkB,EAAG,MAAM,CAAC;IAC5B,cAAc,EAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,eAAe;IAc3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,OAAO,IAAI,IAAI;IAcf,eAAe,IAAI,MAAM;IAUzB,gBAAgB,IAAI,MAAM;IAU1B,iBAAiB,IAAI,MAAM;IAU3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3B,OAAO,IAAI,IAAI;IAkBf,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAuB7B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI;IA2BjG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAiB5B,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B/C,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwDtD"}
1
+ {"version":3,"file":"RTPProxy.d.ts","sourceRoot":"","sources":["../../../src/lib/camera/RTPProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGpC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,QAAQ;IAkBR,OAAO,EAAE,eAAe;IAjB3C,YAAY,SAAQ;IACpB,IAAI,EAAE,UAAU,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;IAEjB,iBAAiB,EAAG,MAAM,CAAA;IAC1B,kBAAkB,EAAG,MAAM,CAAA;IAC3B,cAAc,EAAG,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEJ,OAAO,EAAE,eAAe;IAcrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,IAAI,IAAI;IAcf,eAAe,IAAI,MAAM;IAKzB,gBAAgB,IAAI,MAAM;IAK1B,iBAAiB,IAAI,MAAM;IAK3B,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIrC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS1B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAS3B,OAAO,IAAI,IAAI;IAkBf,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAsB7B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI;IA2BjG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkB9B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAgB5B,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B/C,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwDtD"}
@@ -1,7 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const dgram_1 = tslib_1.__importDefault(require("dgram"));
1
+ import { Buffer } from 'node:buffer';
2
+ import { createSocket } from 'node:dgram';
5
3
  /**
6
4
  * RTPProxy to proxy unencrypted RTP and RTCP
7
5
  *
@@ -11,7 +9,7 @@ const dgram_1 = tslib_1.__importDefault(require("dgram"));
11
9
  * with a custom HAP controller.
12
10
  * @group Camera
13
11
  */
14
- class RTPProxy {
12
+ export default class RTPProxy {
15
13
  options;
16
14
  startingPort = 10000;
17
15
  type;
@@ -30,7 +28,7 @@ class RTPProxy {
30
28
  serverRTCPPort;
31
29
  constructor(options) {
32
30
  this.options = options;
33
- this.type = options.isIPV6 ? "udp6" : "udp4";
31
+ this.type = options.isIPV6 ? 'udp6' : 'udp4';
34
32
  this.startingPort = 10000;
35
33
  this.outgoingAddress = options.outgoingAddress;
36
34
  this.outgoingPort = options.outgoingPort;
@@ -40,16 +38,12 @@ class RTPProxy {
40
38
  this.incomingSSRC = null;
41
39
  this.outgoingPayloadType = null;
42
40
  }
43
- setup() {
44
- return this.createSocketPair(this.type)
45
- .then((sockets) => {
46
- this.incomingRTPSocket = sockets[0];
47
- this.incomingRTCPSocket = sockets[1];
48
- return this.createSocket(this.type);
49
- }).then((socket) => {
50
- this.outgoingSocket = socket;
51
- this.onBound();
52
- });
41
+ async setup() {
42
+ const sockets = await this.createSocketPair(this.type);
43
+ this.incomingRTPSocket = sockets[0];
44
+ this.incomingRTCPSocket = sockets[1];
45
+ this.outgoingSocket = await this.createSocket(this.type);
46
+ this.onBound();
53
47
  }
54
48
  destroy() {
55
49
  if (this.incomingRTPSocket) {
@@ -64,24 +58,15 @@ class RTPProxy {
64
58
  }
65
59
  incomingRTPPort() {
66
60
  const address = this.incomingRTPSocket.address();
67
- if (typeof address !== "string") {
68
- return address.port;
69
- }
70
- throw new Error("Unsupported socket!");
61
+ return address.port;
71
62
  }
72
63
  incomingRTCPPort() {
73
64
  const address = this.incomingRTCPSocket.address();
74
- if (typeof address !== "string") {
75
- return address.port;
76
- }
77
- throw new Error("Unsupported socket!");
65
+ return address.port;
78
66
  }
79
67
  outgoingLocalPort() {
80
68
  const address = this.outgoingSocket.address();
81
- if (typeof address !== "string") {
82
- return address.port;
83
- }
84
- throw new Error("Unsupported socket!");
69
+ return address.port;
85
70
  }
86
71
  setServerAddress(address) {
87
72
  this.serverAddress = address;
@@ -116,13 +101,13 @@ class RTPProxy {
116
101
  if (this.disabled) {
117
102
  return;
118
103
  }
119
- this.incomingRTPSocket.on("message", msg => {
104
+ this.incomingRTPSocket.on('message', (msg) => {
120
105
  this.rtpMessage(msg);
121
106
  });
122
- this.incomingRTCPSocket.on("message", msg => {
107
+ this.incomingRTCPSocket.on('message', (msg) => {
123
108
  this.rtcpMessage(msg);
124
109
  });
125
- this.outgoingSocket.on("message", msg => {
110
+ this.outgoingSocket.on('message', (msg) => {
126
111
  this.rtcpReply(msg);
127
112
  });
128
113
  }
@@ -153,7 +138,7 @@ class RTPProxy {
153
138
  if ((offset + 4 + len) > msg.length) {
154
139
  break;
155
140
  }
156
- let packet = msg.slice(offset, offset + 4 + len);
141
+ let packet = msg.subarray(offset, offset + 4 + len);
157
142
  packet = transform(pt, packet);
158
143
  if (packet) {
159
144
  rtcpPackets.push(packet);
@@ -194,9 +179,9 @@ class RTPProxy {
194
179
  }
195
180
  }
196
181
  createSocket(type) {
197
- return new Promise(resolve => {
182
+ return new Promise((resolve) => {
198
183
  const retry = () => {
199
- const socket = dgram_1.default.createSocket(type);
184
+ const socket = createSocket(type);
200
185
  const bindErrorHandler = () => {
201
186
  if (this.startingPort === 65535) {
202
187
  this.startingPort = 10000;
@@ -207,8 +192,8 @@ class RTPProxy {
207
192
  socket.close();
208
193
  retry();
209
194
  };
210
- socket.once("error", bindErrorHandler);
211
- socket.on("listening", () => {
195
+ socket.once('error', bindErrorHandler);
196
+ socket.on('listening', () => {
212
197
  resolve(socket);
213
198
  });
214
199
  socket.bind(this.startingPort);
@@ -217,10 +202,10 @@ class RTPProxy {
217
202
  });
218
203
  }
219
204
  createSocketPair(type) {
220
- return new Promise(resolve => {
205
+ return new Promise((resolve) => {
221
206
  const retry = () => {
222
- const socket1 = dgram_1.default.createSocket(type);
223
- const socket2 = dgram_1.default.createSocket(type);
207
+ const socket1 = createSocket(type);
208
+ const socket2 = createSocket(type);
224
209
  const state = { socket1: 0, socket2: 0 };
225
210
  const recheck = () => {
226
211
  if (state.socket1 === 0 || state.socket2 === 0) {
@@ -240,19 +225,19 @@ class RTPProxy {
240
225
  socket2.close();
241
226
  retry();
242
227
  };
243
- socket1.once("error", () => {
228
+ socket1.once('error', () => {
244
229
  state.socket1 = 1;
245
230
  recheck();
246
231
  });
247
- socket2.once("error", () => {
232
+ socket2.once('error', () => {
248
233
  state.socket2 = 1;
249
234
  recheck();
250
235
  });
251
- socket1.once("listening", () => {
236
+ socket1.once('listening', () => {
252
237
  state.socket1 = 2;
253
238
  recheck();
254
239
  });
255
- socket2.once("listening", () => {
240
+ socket2.once('listening', () => {
256
241
  state.socket2 = 2;
257
242
  recheck();
258
243
  });
@@ -263,5 +248,4 @@ class RTPProxy {
263
248
  });
264
249
  }
265
250
  }
266
- exports.default = RTPProxy;
267
251
  //# sourceMappingURL=RTPProxy.js.map