hap-nodejs 1.1.1-beta.2 → 1.1.1-beta.4

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 (289) 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 +141 -136
  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 +37 -38
  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 +38 -37
  56. package/dist/lib/Accessory.d.ts.map +1 -1
  57. package/dist/lib/Accessory.js +286 -291
  58. package/dist/lib/Accessory.js.map +1 -1
  59. package/dist/lib/Advertiser.d.ts +7 -7
  60. package/dist/lib/Advertiser.d.ts.map +1 -1
  61. package/dist/lib/Advertiser.js +128 -136
  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 +40 -41
  68. package/dist/lib/Characteristic.d.ts.map +1 -1
  69. package/dist/lib/Characteristic.js +204 -208
  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 -22
  76. package/dist/lib/Service.d.ts.map +1 -1
  77. package/dist/lib/Service.js +63 -67
  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 +179 -151
  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/dbus/align.d.ts +2 -0
  136. package/dist/lib/dbus/align.d.ts.map +1 -0
  137. package/dist/lib/dbus/align.js +12 -0
  138. package/dist/lib/dbus/align.js.map +1 -0
  139. package/dist/lib/dbus/bus.d.ts +38 -0
  140. package/dist/lib/dbus/bus.d.ts.map +1 -0
  141. package/dist/lib/dbus/bus.js +222 -0
  142. package/dist/lib/dbus/bus.js.map +1 -0
  143. package/dist/lib/dbus/constants.d.ts +43 -0
  144. package/dist/lib/dbus/constants.d.ts.map +1 -0
  145. package/dist/lib/dbus/constants.js +53 -0
  146. package/dist/lib/dbus/constants.js.map +1 -0
  147. package/dist/lib/dbus/dbus-buffer.d.ts +30 -0
  148. package/dist/lib/dbus/dbus-buffer.d.ts.map +1 -0
  149. package/dist/lib/dbus/dbus-buffer.js +175 -0
  150. package/dist/lib/dbus/dbus-buffer.js.map +1 -0
  151. package/dist/lib/dbus/handshake.d.ts +2 -0
  152. package/dist/lib/dbus/handshake.d.ts.map +1 -0
  153. package/dist/lib/dbus/handshake.js +130 -0
  154. package/dist/lib/dbus/handshake.js.map +1 -0
  155. package/dist/lib/dbus/index.d.ts +3 -0
  156. package/dist/lib/dbus/index.d.ts.map +1 -0
  157. package/dist/lib/dbus/index.js +123 -0
  158. package/dist/lib/dbus/index.js.map +1 -0
  159. package/dist/lib/dbus/introspect.d.ts +30 -0
  160. package/dist/lib/dbus/introspect.d.ts.map +1 -0
  161. package/dist/lib/dbus/introspect.js +208 -0
  162. package/dist/lib/dbus/introspect.js.map +1 -0
  163. package/dist/lib/dbus/marshall.d.ts +2 -0
  164. package/dist/lib/dbus/marshall.d.ts.map +1 -0
  165. package/dist/lib/dbus/marshall.js +97 -0
  166. package/dist/lib/dbus/marshall.js.map +1 -0
  167. package/dist/lib/dbus/marshallers.d.ts +10 -0
  168. package/dist/lib/dbus/marshallers.d.ts.map +1 -0
  169. package/dist/lib/dbus/marshallers.js +329 -0
  170. package/dist/lib/dbus/marshallers.js.map +1 -0
  171. package/dist/lib/dbus/message.d.ts +4 -0
  172. package/dist/lib/dbus/message.d.ts.map +1 -0
  173. package/dist/lib/dbus/message.js +116 -0
  174. package/dist/lib/dbus/message.js.map +1 -0
  175. package/dist/lib/dbus/put.d.ts +21 -0
  176. package/dist/lib/dbus/put.d.ts.map +1 -0
  177. package/dist/lib/dbus/put.js +120 -0
  178. package/dist/lib/dbus/put.js.map +1 -0
  179. package/dist/lib/dbus/readline.d.ts +2 -0
  180. package/dist/lib/dbus/readline.d.ts.map +1 -0
  181. package/dist/lib/dbus/readline.js +27 -0
  182. package/dist/lib/dbus/readline.js.map +1 -0
  183. package/dist/lib/dbus/signature.d.ts +2 -0
  184. package/dist/lib/dbus/signature.d.ts.map +1 -0
  185. package/dist/lib/dbus/signature.js +59 -0
  186. package/dist/lib/dbus/signature.js.map +1 -0
  187. package/dist/lib/dbus/stdifaces.d.ts +3 -0
  188. package/dist/lib/dbus/stdifaces.d.ts.map +1 -0
  189. package/dist/lib/dbus/stdifaces.js +206 -0
  190. package/dist/lib/dbus/stdifaces.js.map +1 -0
  191. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +1 -1
  192. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  193. package/dist/lib/definitions/CharacteristicDefinitions.js +958 -1204
  194. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  195. package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -1
  196. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  197. package/dist/lib/definitions/ServiceDefinitions.js +620 -695
  198. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  199. package/dist/lib/definitions/generate-definitions.d.ts +3 -3
  200. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  201. package/dist/lib/definitions/generate-definitions.js +246 -253
  202. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  203. package/dist/lib/definitions/generator-configuration.d.ts +1 -1
  204. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  205. package/dist/lib/definitions/generator-configuration.js +160 -165
  206. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  207. package/dist/lib/definitions/index.d.ts +2 -2
  208. package/dist/lib/definitions/index.d.ts.map +1 -1
  209. package/dist/lib/definitions/index.js +2 -5
  210. package/dist/lib/definitions/index.js.map +1 -1
  211. package/dist/lib/model/AccessoryInfo.d.ts +4 -3
  212. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  213. package/dist/lib/model/AccessoryInfo.js +50 -53
  214. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  215. package/dist/lib/model/ControllerStorage.d.ts +3 -3
  216. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  217. package/dist/lib/model/ControllerStorage.js +17 -22
  218. package/dist/lib/model/ControllerStorage.js.map +1 -1
  219. package/dist/lib/model/HAPStorage.d.ts +2 -2
  220. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  221. package/dist/lib/model/HAPStorage.js +4 -11
  222. package/dist/lib/model/HAPStorage.js.map +1 -1
  223. package/dist/lib/model/IdentifierCache.d.ts +1 -1
  224. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  225. package/dist/lib/model/IdentifierCache.js +19 -27
  226. package/dist/lib/model/IdentifierCache.js.map +1 -1
  227. package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
  228. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  229. package/dist/lib/tv/AccessControlManagement.js +27 -29
  230. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  231. package/dist/lib/util/checkName.d.ts +2 -2
  232. package/dist/lib/util/checkName.d.ts.map +1 -1
  233. package/dist/lib/util/checkName.js +6 -9
  234. package/dist/lib/util/checkName.js.map +1 -1
  235. package/dist/lib/util/clone.d.ts.map +1 -1
  236. package/dist/lib/util/clone.js +1 -5
  237. package/dist/lib/util/clone.js.map +1 -1
  238. package/dist/lib/util/color-utils.d.ts +1 -1
  239. package/dist/lib/util/color-utils.d.ts.map +1 -1
  240. package/dist/lib/util/color-utils.js +4 -9
  241. package/dist/lib/util/color-utils.js.map +1 -1
  242. package/dist/lib/util/eventedhttp.d.ts +23 -22
  243. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  244. package/dist/lib/util/eventedhttp.js +109 -116
  245. package/dist/lib/util/eventedhttp.js.map +1 -1
  246. package/dist/lib/util/hapCrypto.d.ts +3 -2
  247. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  248. package/dist/lib/util/hapCrypto.js +31 -40
  249. package/dist/lib/util/hapCrypto.js.map +1 -1
  250. package/dist/lib/util/hapStatusError.d.ts +1 -1
  251. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  252. package/dist/lib/util/hapStatusError.js +4 -8
  253. package/dist/lib/util/hapStatusError.js.map +1 -1
  254. package/dist/lib/util/net-utils.d.ts +1 -1
  255. package/dist/lib/util/net-utils.js +17 -23
  256. package/dist/lib/util/net-utils.js.map +1 -1
  257. package/dist/lib/util/once.d.ts.map +1 -1
  258. package/dist/lib/util/once.js +2 -6
  259. package/dist/lib/util/once.js.map +1 -1
  260. package/dist/lib/util/promise-utils.d.ts +1 -1
  261. package/dist/lib/util/promise-utils.d.ts.map +1 -1
  262. package/dist/lib/util/promise-utils.js +3 -9
  263. package/dist/lib/util/promise-utils.js.map +1 -1
  264. package/dist/lib/util/request-util.d.ts +3 -2
  265. package/dist/lib/util/request-util.d.ts.map +1 -1
  266. package/dist/lib/util/request-util.js +11 -19
  267. package/dist/lib/util/request-util.js.map +1 -1
  268. package/dist/lib/util/time.d.ts +1 -0
  269. package/dist/lib/util/time.d.ts.map +1 -1
  270. package/dist/lib/util/time.js +6 -11
  271. package/dist/lib/util/time.js.map +1 -1
  272. package/dist/lib/util/tlv.d.ts +1 -0
  273. package/dist/lib/util/tlv.d.ts.map +1 -1
  274. package/dist/lib/util/tlv.js +28 -43
  275. package/dist/lib/util/tlv.js.map +1 -1
  276. package/dist/lib/util/uuid.d.ts +1 -0
  277. package/dist/lib/util/uuid.d.ts.map +1 -1
  278. package/dist/lib/util/uuid.js +26 -38
  279. package/dist/lib/util/uuid.js.map +1 -1
  280. package/dist/types.d.ts +24 -24
  281. package/dist/types.d.ts.map +1 -1
  282. package/dist/types.js +3 -5
  283. package/dist/types.js.map +1 -1
  284. package/package.json +48 -45
  285. package/@types/simple-plist.d.ts +0 -4
  286. package/dist/lib/gen/HomeKit.d.ts +0 -7
  287. package/dist/lib/gen/HomeKit.d.ts.map +0 -1
  288. package/dist/lib/gen/HomeKit.js +0 -8
  289. package/dist/lib/gen/HomeKit.js.map +0 -1
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataStreamWriter = exports.DataStreamReader = exports.DataStreamParser = exports.DataFormatTags = exports.UUID = exports.SecondsSince2001 = exports.Float64 = exports.Float32 = exports.Int64 = exports.Int32 = exports.Int16 = exports.Int8 = exports.ValueWrapper = void 0;
4
- const tslib_1 = require("tslib");
5
- const uuid = tslib_1.__importStar(require("../util/uuid"));
6
- const hapCrypto = tslib_1.__importStar(require("../util/hapCrypto"));
7
- const assert_1 = tslib_1.__importDefault(require("assert"));
8
- const debug_1 = tslib_1.__importDefault(require("debug"));
1
+ import assert from 'node:assert';
2
+ import { Buffer } from 'node:buffer';
3
+ import createDebug from 'debug';
4
+ import { writeUInt64LE } from '../util/hapCrypto.js';
5
+ import { isValid, unparse, write } from '../util/uuid.js';
9
6
  // welcome to hell :)
10
7
  // in this file lies madness and frustration. and It's not only about HDS. Also, JavaScript is hell
11
- const debug = (0, debug_1.default)("HAP-NodeJS:DataStream:Parser");
8
+ const debug = createDebug('HAP-NodeJS:DataStream:Parser');
12
9
  class Magics {
13
- static TERMINATOR = { type: "terminator" };
10
+ static TERMINATOR = { type: 'terminator' };
14
11
  }
15
12
  /**
16
13
  * @group HomeKit Data Streams (HDS)
17
14
  */
18
- class ValueWrapper {
15
+ export class ValueWrapper {
19
16
  value;
20
17
  constructor(value) {
21
18
  this.value = value;
@@ -24,63 +21,55 @@ class ValueWrapper {
24
21
  return this.constructor.name === obj.constructor.name && obj.value === this.value;
25
22
  }
26
23
  }
27
- exports.ValueWrapper = ValueWrapper;
28
24
  /**
29
25
  * @group HomeKit Data Streams (HDS)
30
26
  */
31
- class Int8 extends ValueWrapper {
27
+ export class Int8 extends ValueWrapper {
32
28
  }
33
- exports.Int8 = Int8;
34
29
  /**
35
30
  * @group HomeKit Data Streams (HDS)
36
31
  */
37
- class Int16 extends ValueWrapper {
32
+ export class Int16 extends ValueWrapper {
38
33
  }
39
- exports.Int16 = Int16;
40
34
  /**
41
35
  * @group HomeKit Data Streams (HDS)
42
36
  */
43
- class Int32 extends ValueWrapper {
37
+ export class Int32 extends ValueWrapper {
44
38
  }
45
- exports.Int32 = Int32;
46
39
  /**
47
40
  * @group HomeKit Data Streams (HDS)
48
41
  */
49
- class Int64 extends ValueWrapper {
42
+ export class Int64 extends ValueWrapper {
50
43
  }
51
- exports.Int64 = Int64;
52
44
  /**
53
45
  * @group HomeKit Data Streams (HDS)
54
46
  */
55
- class Float32 extends ValueWrapper {
47
+ export class Float32 extends ValueWrapper {
56
48
  }
57
- exports.Float32 = Float32;
58
49
  /**
59
50
  * @group HomeKit Data Streams (HDS)
60
51
  */
61
- class Float64 extends ValueWrapper {
52
+ export class Float64 extends ValueWrapper {
62
53
  }
63
- exports.Float64 = Float64;
64
54
  /**
65
55
  * @group HomeKit Data Streams (HDS)
66
56
  */
67
- class SecondsSince2001 extends ValueWrapper {
57
+ export class SecondsSince2001 extends ValueWrapper {
68
58
  }
69
- exports.SecondsSince2001 = SecondsSince2001;
70
59
  /**
71
60
  * @group HomeKit Data Streams (HDS)
72
61
  */
73
- class UUID extends ValueWrapper {
62
+ export class UUID extends ValueWrapper {
74
63
  constructor(value) {
75
- (0, assert_1.default)(uuid.isValid(value), "invalid uuid format");
64
+ assert(isValid(value), 'invalid uuid format');
76
65
  super(value);
77
66
  }
78
67
  }
79
- exports.UUID = UUID;
80
68
  /**
81
69
  * @group HomeKit Data Streams (HDS)
82
70
  */
83
- var DataFormatTags;
71
+ // eslint-disable-next-line no-restricted-syntax
72
+ export var DataFormatTags;
84
73
  (function (DataFormatTags) {
85
74
  DataFormatTags[DataFormatTags["INVALID"] = 0] = "INVALID";
86
75
  DataFormatTags[DataFormatTags["TRUE"] = 1] = "TRUE";
@@ -120,16 +109,15 @@ var DataFormatTags;
120
109
  DataFormatTags[DataFormatTags["DICTIONARY_LENGTH_START"] = 224] = "DICTIONARY_LENGTH_START";
121
110
  DataFormatTags[DataFormatTags["DICTIONARY_LENGTH_STOP"] = 238] = "DICTIONARY_LENGTH_STOP";
122
111
  DataFormatTags[DataFormatTags["DICTIONARY_TERMINATED"] = 239] = "DICTIONARY_TERMINATED";
123
- })(DataFormatTags || (exports.DataFormatTags = DataFormatTags = {}));
112
+ })(DataFormatTags || (DataFormatTags = {}));
124
113
  /**
125
114
  * @group HomeKit Data Streams (HDS)
126
115
  */
127
- class DataStreamParser {
128
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
116
+ export class DataStreamParser {
129
117
  static decode(buffer) {
130
118
  const tag = buffer.readTag();
131
119
  if (tag === 0 /* DataFormatTags.INVALID */) {
132
- throw new Error("HDSDecoder: zero tag detected on index " + buffer.readerIndex);
120
+ throw new Error(`HDSDecoder: zero tag detected on index ${buffer.readerIndex}`);
133
121
  }
134
122
  else if (tag === 1 /* DataFormatTags.TRUE */) {
135
123
  return buffer.readTrue();
@@ -225,15 +213,15 @@ class DataStreamParser {
225
213
  }
226
214
  else if (tag === 223 /* DataFormatTags.ARRAY_TERMINATED */) {
227
215
  const array = [];
228
- let element;
229
- while ((element = this.decode(buffer)) !== Magics.TERMINATOR) {
216
+ let element = this.decode(buffer);
217
+ while (element !== Magics.TERMINATOR) {
230
218
  array.push(element);
219
+ element = this.decode(buffer);
231
220
  }
232
221
  return array;
233
222
  }
234
223
  else if (tag >= 224 /* DataFormatTags.DICTIONARY_LENGTH_START */ && tag <= 238 /* DataFormatTags.DICTIONARY_LENGTH_STOP */) {
235
224
  const length = tag - 224 /* DataFormatTags.DICTIONARY_LENGTH_START */;
236
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
237
225
  const dictionary = {};
238
226
  for (let i = 0; i < length; i++) {
239
227
  const key = this.decode(buffer);
@@ -242,29 +230,28 @@ class DataStreamParser {
242
230
  return dictionary;
243
231
  }
244
232
  else if (tag === 239 /* DataFormatTags.DICTIONARY_TERMINATED */) {
245
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
233
  const dictionary = {};
247
- let key;
248
- while ((key = this.decode(buffer)) !== Magics.TERMINATOR) {
234
+ let key = this.decode(buffer);
235
+ while (key !== Magics.TERMINATOR) {
249
236
  dictionary[key] = this.decode(buffer); // decode value
237
+ key = this.decode(buffer);
250
238
  }
251
239
  return dictionary;
252
240
  }
253
241
  else {
254
- throw new Error("HDSDecoder: encountered unknown tag on index " + buffer.readerIndex + ": " + tag.toString(16));
242
+ throw new Error(`HDSDecoder: encountered unknown tag on index ${buffer.readerIndex}: ${tag.toString(16)}`);
255
243
  }
256
244
  }
257
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types,@typescript-eslint/no-explicit-any
258
245
  static encode(data, buffer) {
259
246
  if (data === undefined) {
260
- throw new Error("HDSEncoder: cannot encode undefined");
247
+ throw new Error('HDSEncoder: cannot encode undefined');
261
248
  }
262
249
  if (data === null) {
263
250
  buffer.writeTag(4 /* DataFormatTags.NULL */);
264
251
  return;
265
252
  }
266
253
  switch (typeof data) {
267
- case "boolean":
254
+ case 'boolean':
268
255
  if (data) {
269
256
  buffer.writeTrue();
270
257
  }
@@ -272,7 +259,7 @@ class DataStreamParser {
272
259
  buffer.writeFalse();
273
260
  }
274
261
  break;
275
- case "number":
262
+ case 'number':
276
263
  if (Number.isInteger(data)) {
277
264
  buffer.writeNumber(data);
278
265
  }
@@ -280,10 +267,10 @@ class DataStreamParser {
280
267
  buffer.writeFloat64LE(new Float64(data));
281
268
  }
282
269
  break;
283
- case "string":
270
+ case 'string':
284
271
  buffer.writeUTF8(data);
285
272
  break;
286
- case "object":
273
+ case 'object':
287
274
  if (Array.isArray(data)) {
288
275
  const length = data.length;
289
276
  if (length <= 12) {
@@ -292,7 +279,7 @@ class DataStreamParser {
292
279
  else {
293
280
  buffer.writeTag(223 /* DataFormatTags.ARRAY_TERMINATED */);
294
281
  }
295
- data.forEach(element => {
282
+ data.forEach((element) => {
296
283
  this.encode(element, buffer);
297
284
  });
298
285
  if (length > 12) {
@@ -325,7 +312,7 @@ class DataStreamParser {
325
312
  buffer.writeUUID(data.value);
326
313
  }
327
314
  else {
328
- throw new Error("Unknown wrapped object 'ValueWrapper' of class " + data.constructor.name);
315
+ throw new TypeError(`Unknown wrapped object 'ValueWrapper' of class ${data.constructor.name}`);
329
316
  }
330
317
  }
331
318
  else if (data instanceof Buffer) {
@@ -340,7 +327,7 @@ class DataStreamParser {
340
327
  else {
341
328
  buffer.writeTag(239 /* DataFormatTags.DICTIONARY_TERMINATED */);
342
329
  }
343
- entries.forEach(entry => {
330
+ entries.forEach((entry) => {
344
331
  this.encode(entry[0], buffer); // encode key
345
332
  this.encode(entry[1], buffer); // encode value
346
333
  });
@@ -350,18 +337,16 @@ class DataStreamParser {
350
337
  }
351
338
  break;
352
339
  default:
353
- throw new Error("HDSEncoder: no idea how to encode value of type '" + (typeof data) + "': " + data);
340
+ throw new Error(`HDSEncoder: no idea how to encode value of type '${typeof data}': ${data}`);
354
341
  }
355
342
  }
356
343
  }
357
- exports.DataStreamParser = DataStreamParser;
358
344
  /**
359
345
  * @group HomeKit Data Streams (HDS)
360
346
  */
361
- class DataStreamReader {
347
+ export class DataStreamReader {
362
348
  data;
363
349
  readerIndex;
364
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
365
350
  trackedCompressedData = [];
366
351
  constructor(data) {
367
352
  this.data = data;
@@ -369,15 +354,13 @@ class DataStreamReader {
369
354
  }
370
355
  finished() {
371
356
  if (this.readerIndex < this.data.length) {
372
- const remainingHex = this.data.slice(this.readerIndex, this.data.length).toString("hex");
373
- debug("WARNING Finished reading HDS stream, but there are still %d bytes remaining () %s", this.data.length - this.readerIndex, remainingHex);
357
+ const remainingHex = this.data.subarray(this.readerIndex, this.data.length).toString('hex');
358
+ debug('WARNING Finished reading HDS stream, but there are still %d bytes remaining () %s', this.data.length - this.readerIndex, remainingHex);
374
359
  }
375
360
  }
376
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
377
361
  decompressData(index) {
378
362
  if (index >= this.trackedCompressedData.length) {
379
- throw new Error("HDSDecoder: Tried decompression of data for an index out of range (index " + index +
380
- " and got " + this.trackedCompressedData.length + " elements)");
363
+ throw new Error(`HDSDecoder: Tried decompression of data for an index out of range (index ${index} and got ${this.trackedCompressedData.length} elements)`);
381
364
  }
382
365
  return this.trackedCompressedData[index];
383
366
  }
@@ -388,7 +371,7 @@ class DataStreamReader {
388
371
  ensureLength(bytes) {
389
372
  if (this.readerIndex + bytes > this.data.length) {
390
373
  const remaining = this.data.length - this.readerIndex;
391
- throw new Error("HDSDecoder: End of data stream. Tried reading " + bytes + " bytes however got only " + remaining + " remaining!");
374
+ throw new Error(`HDSDecoder: End of data stream. Tried reading ${bytes} bytes however got only ${remaining} remaining!`);
392
375
  }
393
376
  }
394
377
  readTag() {
@@ -469,7 +452,7 @@ class DataStreamReader {
469
452
  }
470
453
  readUTF8(length) {
471
454
  this.ensureLength(length);
472
- const value = this.data.toString("utf8", this.readerIndex, this.readerIndex + length);
455
+ const value = this.data.toString('utf8', this.readerIndex, this.readerIndex + length);
473
456
  this.readerIndex += length;
474
457
  return this.trackData(value);
475
458
  }
@@ -495,7 +478,7 @@ class DataStreamReader {
495
478
  for (;;) {
496
479
  nextByte = this.data[offset];
497
480
  if (nextByte === undefined) {
498
- throw new Error("HDSDecoder: Reached end of data stream while reading NUL terminated string!");
481
+ throw new Error('HDSDecoder: Reached end of data stream while reading NUL terminated string!');
499
482
  }
500
483
  else if (nextByte === 0) {
501
484
  break;
@@ -504,13 +487,13 @@ class DataStreamReader {
504
487
  offset++;
505
488
  }
506
489
  }
507
- const value = this.data.toString("utf8", this.readerIndex, offset);
490
+ const value = this.data.toString('utf8', this.readerIndex, offset);
508
491
  this.readerIndex = offset + 1;
509
492
  return this.trackData(value);
510
493
  }
511
494
  readData(length) {
512
495
  this.ensureLength(length);
513
- const value = this.data.slice(this.readerIndex, this.readerIndex + length);
496
+ const value = this.data.subarray(this.readerIndex, this.readerIndex + length);
514
497
  this.readerIndex += length;
515
498
  return this.trackData(value);
516
499
  }
@@ -536,7 +519,7 @@ class DataStreamReader {
536
519
  for (;;) {
537
520
  nextByte = this.data[offset];
538
521
  if (nextByte === undefined) {
539
- throw new Error("HDSDecoder: Reached end of data stream while reading terminated data!");
522
+ throw new Error('HDSDecoder: Reached end of data stream while reading terminated data!');
540
523
  }
541
524
  else if (nextByte === 3 /* DataFormatTags.TERMINATOR */) {
542
525
  break;
@@ -545,7 +528,7 @@ class DataStreamReader {
545
528
  offset++;
546
529
  }
547
530
  }
548
- const value = this.data.slice(this.readerIndex, offset);
531
+ const value = this.data.subarray(this.readerIndex, offset);
549
532
  this.readerIndex = offset + 1;
550
533
  return this.trackData(value);
551
534
  }
@@ -555,14 +538,12 @@ class DataStreamReader {
555
538
  }
556
539
  readUUID() {
557
540
  this.ensureLength(16);
558
- const value = uuid.unparse(this.data, this.readerIndex);
541
+ const value = unparse(this.data, this.readerIndex);
559
542
  this.readerIndex += 16;
560
543
  return this.trackData(value);
561
544
  }
562
545
  }
563
- exports.DataStreamReader = DataStreamReader;
564
546
  class WrittenDataList {
565
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
566
547
  writtenData = [];
567
548
  push(data) {
568
549
  this.writtenData.push(data);
@@ -585,7 +566,7 @@ class WrittenDataList {
585
566
  /**
586
567
  * @group HomeKit Data Streams (HDS)
587
568
  */
588
- class DataStreamWriter {
569
+ export class DataStreamWriter {
589
570
  static chunkSize = 128; // seems to be a good default
590
571
  data;
591
572
  writerIndex;
@@ -598,7 +579,7 @@ class DataStreamWriter {
598
579
  return this.writerIndex; // since writerIndex points to the next FREE index it also represents the length
599
580
  }
600
581
  getData() {
601
- return this.data.slice(0, this.writerIndex);
582
+ return this.data.subarray(0, this.writerIndex);
602
583
  }
603
584
  ensureLength(bytes) {
604
585
  const neededBytes = (this.writerIndex + bytes) - this.data.length;
@@ -653,7 +634,7 @@ class DataStreamWriter {
653
634
  this.writeInt64LE(new Int64(number));
654
635
  }
655
636
  else {
656
- throw new Error("Tried writing unrepresentable number (" + number + ")");
637
+ throw new Error(`Tried writing unrepresentable number (${number})`);
657
638
  }
658
639
  }
659
640
  writeInt8(int8) {
@@ -726,7 +707,7 @@ class DataStreamWriter {
726
707
  }
727
708
  writeLength64LE(length) {
728
709
  this.ensureLength(8);
729
- hapCrypto.writeUInt64LE(length, this.data, this.writerIndex);
710
+ writeUInt64LE(length, this.data, this.writerIndex);
730
711
  this.writerIndex += 8;
731
712
  }
732
713
  writeUTF8(utf8) {
@@ -758,7 +739,7 @@ class DataStreamWriter {
758
739
  _writeUTF8(utf8) {
759
740
  const byteLength = Buffer.byteLength(utf8);
760
741
  this.ensureLength(byteLength);
761
- this.data.write(utf8, this.writerIndex, byteLength, "utf8");
742
+ this.data.write(utf8, this.writerIndex, byteLength, 'utf8');
762
743
  this.writerIndex += byteLength;
763
744
  }
764
745
  writeUTF8_Length8(utf8) {
@@ -865,15 +846,14 @@ class DataStreamWriter {
865
846
  this.writerIndex += 8;
866
847
  }
867
848
  writeUUID(uuid_string) {
868
- (0, assert_1.default)(uuid.isValid(uuid_string), "supplied uuid is invalid");
849
+ assert(isValid(uuid_string), 'supplied uuid is invalid');
869
850
  if (this.compressDataIfPossible(new UUID(uuid_string))) {
870
851
  return;
871
852
  }
872
853
  this.ensureLength(17);
873
854
  this.writeTag(5 /* DataFormatTags.UUID */);
874
- uuid.write(uuid_string, this.data, this.writerIndex);
855
+ write(uuid_string, this.data, this.writerIndex);
875
856
  this.writerIndex += 16;
876
857
  }
877
858
  }
878
- exports.DataStreamWriter = DataStreamWriter;
879
859
  //# sourceMappingURL=DataStreamParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataStreamParser.js","sourceRoot":"","sources":["../../../src/lib/datastream/DataStreamParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataStreamParser.js","sourceRoot":"","sources":["../../../src/lib/datastream/DataStreamParser.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
- import { EventEmitter } from "events";
2
- import { Socket } from "net";
3
- import { HAPConnection } from "../util/eventedhttp";
1
+ import type { Socket } from 'node:net';
2
+ import type { HAPConnection } from '../util/eventedhttp';
3
+ import { Buffer } from 'node:buffer';
4
+ import { EventEmitter } from 'node:events';
4
5
  /**
5
6
  * @group HomeKit Data Streams (HDS)
6
7
  */
7
- export type PreparedDataStreamSession = {
8
+ export interface PreparedDataStreamSession {
8
9
  connection: HAPConnection;
9
10
  accessoryToControllerEncryptionKey: Buffer;
10
11
  controllerToAccessoryEncryptionKey: Buffer;
11
12
  accessoryKeySalt: Buffer;
12
13
  port?: number;
13
14
  connectTimeout?: NodeJS.Timeout;
14
- };
15
+ }
15
16
  /**
16
17
  * @group HomeKit Data Streams (HDS)
17
18
  */
@@ -99,19 +100,19 @@ export declare class HDSProtocolError extends Error {
99
100
  /**
100
101
  * Initializes a new `HDSProtocolError`
101
102
  * @param reason - The {@link HDSProtocolSpecificErrorReason}.
102
- * Values MUST NOT be {@link HDSProtocolSpecificErrorReason.NORMAL}.
103
+ * Values MUST NOT be {@link HDSProtocolSpecificErrorReason.NORMAL}.
103
104
  */
104
105
  constructor(reason: HDSProtocolSpecificErrorReason);
105
106
  }
106
107
  /**
107
108
  * @group HomeKit Data Streams (HDS)
108
109
  */
109
- export type HDSFrame = {
110
+ export interface HDSFrame {
110
111
  header: Buffer;
111
112
  cipheredPayload: Buffer;
112
113
  authTag: Buffer;
113
114
  plaintextPayload?: Buffer;
114
- };
115
+ }
115
116
  /**
116
117
  * @group HomeKit Data Streams (HDS)
117
118
  */
@@ -123,14 +124,14 @@ export declare const enum MessageType {
123
124
  /**
124
125
  * @group HomeKit Data Streams (HDS)
125
126
  */
126
- export type DataStreamMessage = {
127
+ export interface DataStreamMessage {
127
128
  type: MessageType;
128
129
  protocol: string;
129
130
  topic: string;
130
131
  id?: number;
131
132
  status?: HDSStatus;
132
133
  message: Record<any, any>;
133
- };
134
+ }
134
135
  /**
135
136
  * @group HomeKit Data Streams (HDS)
136
137
  */
@@ -149,10 +150,10 @@ export declare const enum DataStreamServerEvent {
149
150
  * @group HomeKit Data Streams (HDS)
150
151
  */
151
152
  export declare interface DataStreamServer {
152
- on(event: "connection-opened", listener: (connection: DataStreamConnection) => void): this;
153
- on(event: "connection-closed", listener: (connection: DataStreamConnection) => void): this;
154
- emit(event: "connection-opened", connection: DataStreamConnection): boolean;
155
- emit(event: "connection-closed", connection: DataStreamConnection): boolean;
153
+ on(event: 'connection-opened', listener: (connection: DataStreamConnection) => void): this;
154
+ on(event: 'connection-closed', listener: (connection: DataStreamConnection) => void): this;
155
+ emit(event: 'connection-opened', connection: DataStreamConnection): boolean;
156
+ emit(event: 'connection-closed', connection: DataStreamConnection): boolean;
156
157
  }
157
158
  /**
158
159
  * DataStreamServer which listens for incoming tcp connections and handles identification of new connections
@@ -249,12 +250,12 @@ export declare const enum DataStreamConnectionEvent {
249
250
  * @group HomeKit Data Streams (HDS)
250
251
  */
251
252
  export declare interface DataStreamConnection {
252
- on(event: "identification", listener: (frame: HDSFrame, callback: IdentificationCallback) => void): this;
253
- on(event: "handle-message-globally", listener: (message: DataStreamMessage) => void): this;
254
- on(event: "closed", listener: () => void): this;
255
- emit(event: "identification", frame: HDSFrame, callback: IdentificationCallback): boolean;
256
- emit(event: "handle-message-globally", message: DataStreamMessage): boolean;
257
- emit(event: "closed"): boolean;
253
+ on(event: 'identification', listener: (frame: HDSFrame, callback: IdentificationCallback) => void): this;
254
+ on(event: 'handle-message-globally', listener: (message: DataStreamMessage) => void): this;
255
+ on(event: 'closed', listener: () => void): this;
256
+ emit(event: 'identification', frame: HDSFrame, callback: IdentificationCallback): boolean;
257
+ emit(event: 'handle-message-globally', message: DataStreamMessage): boolean;
258
+ emit(event: 'closed'): boolean;
258
259
  }
259
260
  /**
260
261
  * @group HomeKit Data Streams (HDS)
@@ -327,7 +328,7 @@ export declare class DataStreamConnection extends EventEmitter {
327
328
  * @param request - name of the request (also referred to as topic. See {@link Topics} for some known ones)
328
329
  * @param message - message dictionary which gets sent along the request
329
330
  * @param callback - handler which gets supplied with an error object if the response didn't
330
- * arrive in time or the status and the message dictionary from the response
331
+ * arrive in time or the status and the message dictionary from the response
331
332
  */
332
333
  sendRequest(protocol: string | Protocols, request: string | Topics, message: Record<any, any> | undefined, callback: ResponseHandler): void;
333
334
  /**
@@ -343,7 +344,7 @@ export declare class DataStreamConnection extends EventEmitter {
343
344
  private onSocketData;
344
345
  private decodeHDSFrames;
345
346
  /**
346
- * @private file-private API
347
+ * @private
347
348
  */
348
349
  decryptHDSFrame(frame: HDSFrame, keyOverwrite?: Buffer): boolean;
349
350
  private decodePayloads;