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

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 +53 -50
  2. package/@types/simple-plist.d.ts +4 -0
  3. package/README.md +19 -16
  4. package/dist/accessories/AirConditioner_accessory.js +30 -28
  5. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  6. package/dist/accessories/AppleTVRemote_accessory.js +81 -69
  7. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  8. package/dist/accessories/Camera_accessory.js +136 -141
  9. package/dist/accessories/Camera_accessory.js.map +1 -1
  10. package/dist/accessories/Fan_accessory.js +22 -18
  11. package/dist/accessories/Fan_accessory.js.map +1 -1
  12. package/dist/accessories/GarageDoorOpener_accessory.js +35 -33
  13. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  14. package/dist/accessories/Light-AdaptiveLighting_accessory.js +44 -42
  15. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  16. package/dist/accessories/Light_accessory.js +34 -32
  17. package/dist/accessories/Light_accessory.js.map +1 -1
  18. package/dist/accessories/Lock_accessory.js +26 -25
  19. package/dist/accessories/Lock_accessory.js.map +1 -1
  20. package/dist/accessories/MotionSensor_accessory.js +16 -13
  21. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  22. package/dist/accessories/Outlet_accessory.js +22 -20
  23. package/dist/accessories/Outlet_accessory.js.map +1 -1
  24. package/dist/accessories/SmartSpeaker_accessory.js +20 -18
  25. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  26. package/dist/accessories/Sprinkler_accessory.js +37 -34
  27. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  28. package/dist/accessories/TV_accessory.js +45 -43
  29. package/dist/accessories/TV_accessory.js.map +1 -1
  30. package/dist/accessories/TemperatureSensor_accessory.js +15 -12
  31. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  32. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  33. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  34. package/dist/accessories/Wi-FiRouter_accessory.js +12 -9
  35. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  36. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  37. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  38. package/dist/accessories/Wi-FiSatellite_accessory.js +14 -11
  39. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  40. package/dist/accessories/gstreamer-audioProducer.d.ts +3 -3
  41. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  42. package/dist/accessories/gstreamer-audioProducer.js +38 -37
  43. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  44. package/dist/accessories/types.d.ts +63 -63
  45. package/dist/accessories/types.d.ts.map +1 -1
  46. package/dist/accessories/types.js +87 -83
  47. package/dist/accessories/types.js.map +1 -1
  48. package/dist/index.d.ts +28 -26
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +34 -40
  51. package/dist/index.js.map +1 -1
  52. package/dist/internal-types.d.ts +1 -1
  53. package/dist/internal-types.d.ts.map +1 -1
  54. package/dist/internal-types.js +21 -19
  55. package/dist/internal-types.js.map +1 -1
  56. package/dist/lib/Accessory.d.ts +37 -38
  57. package/dist/lib/Accessory.d.ts.map +1 -1
  58. package/dist/lib/Accessory.js +296 -286
  59. package/dist/lib/Accessory.js.map +1 -1
  60. package/dist/lib/Advertiser.d.ts +7 -7
  61. package/dist/lib/Advertiser.d.ts.map +1 -1
  62. package/dist/lib/Advertiser.js +136 -128
  63. package/dist/lib/Advertiser.js.map +1 -1
  64. package/dist/lib/Bridge.d.ts +1 -1
  65. package/dist/lib/Bridge.d.ts.map +1 -1
  66. package/dist/lib/Bridge.js +6 -2
  67. package/dist/lib/Bridge.js.map +1 -1
  68. package/dist/lib/Characteristic.d.ts +41 -40
  69. package/dist/lib/Characteristic.d.ts.map +1 -1
  70. package/dist/lib/Characteristic.js +208 -204
  71. package/dist/lib/Characteristic.js.map +1 -1
  72. package/dist/lib/HAPServer.d.ts +30 -31
  73. package/dist/lib/HAPServer.d.ts.map +1 -1
  74. package/dist/lib/HAPServer.js +229 -220
  75. package/dist/lib/HAPServer.js.map +1 -1
  76. package/dist/lib/Service.d.ts +22 -22
  77. package/dist/lib/Service.d.ts.map +1 -1
  78. package/dist/lib/Service.js +67 -63
  79. package/dist/lib/Service.js.map +1 -1
  80. package/dist/lib/camera/RTPProxy.d.ts +1 -2
  81. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  82. package/dist/lib/camera/RTPProxy.js +44 -28
  83. package/dist/lib/camera/RTPProxy.js.map +1 -1
  84. package/dist/lib/camera/RTPStreamManagement.d.ts +33 -34
  85. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  86. package/dist/lib/camera/RTPStreamManagement.js +149 -181
  87. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  88. package/dist/lib/camera/RecordingManagement.d.ts +17 -19
  89. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  90. package/dist/lib/camera/RecordingManagement.js +151 -160
  91. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  92. package/dist/lib/camera/index.d.ts +3 -3
  93. package/dist/lib/camera/index.d.ts.map +1 -1
  94. package/dist/lib/camera/index.js +6 -3
  95. package/dist/lib/camera/index.js.map +1 -1
  96. package/dist/lib/controller/AdaptiveLightingController.d.ts +33 -33
  97. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  98. package/dist/lib/controller/AdaptiveLightingController.js +144 -152
  99. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  100. package/dist/lib/controller/CameraController.d.ts +20 -22
  101. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  102. package/dist/lib/controller/CameraController.js +78 -74
  103. package/dist/lib/controller/CameraController.js.map +1 -1
  104. package/dist/lib/controller/Controller.d.ts +4 -4
  105. package/dist/lib/controller/Controller.d.ts.map +1 -1
  106. package/dist/lib/controller/Controller.js +8 -5
  107. package/dist/lib/controller/Controller.js.map +1 -1
  108. package/dist/lib/controller/DoorbellController.d.ts +4 -5
  109. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  110. package/dist/lib/controller/DoorbellController.js +13 -9
  111. package/dist/lib/controller/DoorbellController.js.map +1 -1
  112. package/dist/lib/controller/RemoteController.d.ts +37 -39
  113. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  114. package/dist/lib/controller/RemoteController.js +197 -208
  115. package/dist/lib/controller/RemoteController.js.map +1 -1
  116. package/dist/lib/controller/index.d.ts +5 -5
  117. package/dist/lib/controller/index.d.ts.map +1 -1
  118. package/dist/lib/controller/index.js +8 -5
  119. package/dist/lib/controller/index.js.map +1 -1
  120. package/dist/lib/datastream/DataStreamManagement.d.ts +2 -2
  121. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  122. package/dist/lib/datastream/DataStreamManagement.js +39 -39
  123. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  124. package/dist/lib/datastream/DataStreamParser.d.ts +0 -1
  125. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  126. package/dist/lib/datastream/DataStreamParser.js +77 -57
  127. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  128. package/dist/lib/datastream/DataStreamServer.d.ts +22 -23
  129. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  130. package/dist/lib/datastream/DataStreamServer.js +164 -154
  131. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  132. package/dist/lib/datastream/index.d.ts +3 -3
  133. package/dist/lib/datastream/index.d.ts.map +1 -1
  134. package/dist/lib/datastream/index.js +6 -3
  135. package/dist/lib/datastream/index.js.map +1 -1
  136. package/dist/lib/definitions/CharacteristicDefinitions.d.ts +11 -1
  137. package/dist/lib/definitions/CharacteristicDefinitions.d.ts.map +1 -1
  138. package/dist/lib/definitions/CharacteristicDefinitions.js +1218 -957
  139. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  140. package/dist/lib/definitions/ServiceDefinitions.d.ts +1 -1
  141. package/dist/lib/definitions/ServiceDefinitions.d.ts.map +1 -1
  142. package/dist/lib/definitions/ServiceDefinitions.js +695 -620
  143. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  144. package/dist/lib/definitions/generate-definitions.d.ts +3 -3
  145. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  146. package/dist/lib/definitions/generate-definitions.js +256 -244
  147. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  148. package/dist/lib/definitions/generator-configuration.d.ts +1 -1
  149. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  150. package/dist/lib/definitions/generator-configuration.js +170 -160
  151. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  152. package/dist/lib/definitions/index.d.ts +2 -2
  153. package/dist/lib/definitions/index.d.ts.map +1 -1
  154. package/dist/lib/definitions/index.js +5 -2
  155. package/dist/lib/definitions/index.js.map +1 -1
  156. package/dist/lib/gen/HomeKit.d.ts +7 -0
  157. package/dist/lib/gen/HomeKit.d.ts.map +1 -0
  158. package/dist/lib/gen/HomeKit.js +8 -0
  159. package/dist/lib/gen/HomeKit.js.map +1 -0
  160. package/dist/lib/model/AccessoryInfo.d.ts +3 -4
  161. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  162. package/dist/lib/model/AccessoryInfo.js +53 -50
  163. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  164. package/dist/lib/model/ControllerStorage.d.ts +3 -3
  165. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  166. package/dist/lib/model/ControllerStorage.js +23 -18
  167. package/dist/lib/model/ControllerStorage.js.map +1 -1
  168. package/dist/lib/model/HAPStorage.d.ts +2 -2
  169. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  170. package/dist/lib/model/HAPStorage.js +11 -4
  171. package/dist/lib/model/HAPStorage.js.map +1 -1
  172. package/dist/lib/model/IdentifierCache.d.ts +1 -1
  173. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  174. package/dist/lib/model/IdentifierCache.js +27 -19
  175. package/dist/lib/model/IdentifierCache.js.map +1 -1
  176. package/dist/lib/tv/AccessControlManagement.d.ts +9 -9
  177. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  178. package/dist/lib/tv/AccessControlManagement.js +29 -27
  179. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  180. package/dist/lib/util/checkName.d.ts +2 -2
  181. package/dist/lib/util/checkName.d.ts.map +1 -1
  182. package/dist/lib/util/checkName.js +9 -6
  183. package/dist/lib/util/checkName.js.map +1 -1
  184. package/dist/lib/util/clone.d.ts.map +1 -1
  185. package/dist/lib/util/clone.js +5 -1
  186. package/dist/lib/util/clone.js.map +1 -1
  187. package/dist/lib/util/color-utils.d.ts +1 -1
  188. package/dist/lib/util/color-utils.d.ts.map +1 -1
  189. package/dist/lib/util/color-utils.js +9 -4
  190. package/dist/lib/util/color-utils.js.map +1 -1
  191. package/dist/lib/util/eventedhttp.d.ts +22 -23
  192. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  193. package/dist/lib/util/eventedhttp.js +116 -109
  194. package/dist/lib/util/eventedhttp.js.map +1 -1
  195. package/dist/lib/util/hapCrypto.d.ts +2 -3
  196. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  197. package/dist/lib/util/hapCrypto.js +40 -31
  198. package/dist/lib/util/hapCrypto.js.map +1 -1
  199. package/dist/lib/util/hapStatusError.d.ts +1 -1
  200. package/dist/lib/util/hapStatusError.d.ts.map +1 -1
  201. package/dist/lib/util/hapStatusError.js +8 -4
  202. package/dist/lib/util/hapStatusError.js.map +1 -1
  203. package/dist/lib/util/net-utils.d.ts +1 -1
  204. package/dist/lib/util/net-utils.js +23 -17
  205. package/dist/lib/util/net-utils.js.map +1 -1
  206. package/dist/lib/util/once.d.ts.map +1 -1
  207. package/dist/lib/util/once.js +6 -2
  208. package/dist/lib/util/once.js.map +1 -1
  209. package/dist/lib/util/promise-utils.d.ts +1 -1
  210. package/dist/lib/util/promise-utils.d.ts.map +1 -1
  211. package/dist/lib/util/promise-utils.js +10 -3
  212. package/dist/lib/util/promise-utils.js.map +1 -1
  213. package/dist/lib/util/request-util.d.ts +2 -3
  214. package/dist/lib/util/request-util.d.ts.map +1 -1
  215. package/dist/lib/util/request-util.js +19 -11
  216. package/dist/lib/util/request-util.js.map +1 -1
  217. package/dist/lib/util/time.d.ts +0 -1
  218. package/dist/lib/util/time.d.ts.map +1 -1
  219. package/dist/lib/util/time.js +11 -6
  220. package/dist/lib/util/time.js.map +1 -1
  221. package/dist/lib/util/tlv.d.ts +0 -1
  222. package/dist/lib/util/tlv.d.ts.map +1 -1
  223. package/dist/lib/util/tlv.js +43 -28
  224. package/dist/lib/util/tlv.js.map +1 -1
  225. package/dist/lib/util/uuid.d.ts +0 -1
  226. package/dist/lib/util/uuid.d.ts.map +1 -1
  227. package/dist/lib/util/uuid.js +38 -26
  228. package/dist/lib/util/uuid.js.map +1 -1
  229. package/dist/types.d.ts +24 -24
  230. package/dist/types.d.ts.map +1 -1
  231. package/dist/types.js +5 -3
  232. package/dist/types.js.map +1 -1
  233. package/package.json +45 -50
  234. package/dist/lib/dbus/align.d.ts +0 -2
  235. package/dist/lib/dbus/align.d.ts.map +0 -1
  236. package/dist/lib/dbus/align.js +0 -12
  237. package/dist/lib/dbus/align.js.map +0 -1
  238. package/dist/lib/dbus/bus.d.ts +0 -38
  239. package/dist/lib/dbus/bus.d.ts.map +0 -1
  240. package/dist/lib/dbus/bus.js +0 -222
  241. package/dist/lib/dbus/bus.js.map +0 -1
  242. package/dist/lib/dbus/constants.d.ts +0 -43
  243. package/dist/lib/dbus/constants.d.ts.map +0 -1
  244. package/dist/lib/dbus/constants.js +0 -53
  245. package/dist/lib/dbus/constants.js.map +0 -1
  246. package/dist/lib/dbus/dbus-buffer.d.ts +0 -30
  247. package/dist/lib/dbus/dbus-buffer.d.ts.map +0 -1
  248. package/dist/lib/dbus/dbus-buffer.js +0 -175
  249. package/dist/lib/dbus/dbus-buffer.js.map +0 -1
  250. package/dist/lib/dbus/handshake.d.ts +0 -2
  251. package/dist/lib/dbus/handshake.d.ts.map +0 -1
  252. package/dist/lib/dbus/handshake.js +0 -130
  253. package/dist/lib/dbus/handshake.js.map +0 -1
  254. package/dist/lib/dbus/index.d.ts +0 -3
  255. package/dist/lib/dbus/index.d.ts.map +0 -1
  256. package/dist/lib/dbus/index.js +0 -123
  257. package/dist/lib/dbus/index.js.map +0 -1
  258. package/dist/lib/dbus/introspect.d.ts +0 -30
  259. package/dist/lib/dbus/introspect.d.ts.map +0 -1
  260. package/dist/lib/dbus/introspect.js +0 -208
  261. package/dist/lib/dbus/introspect.js.map +0 -1
  262. package/dist/lib/dbus/marshall.d.ts +0 -2
  263. package/dist/lib/dbus/marshall.d.ts.map +0 -1
  264. package/dist/lib/dbus/marshall.js +0 -97
  265. package/dist/lib/dbus/marshall.js.map +0 -1
  266. package/dist/lib/dbus/marshallers.d.ts +0 -10
  267. package/dist/lib/dbus/marshallers.d.ts.map +0 -1
  268. package/dist/lib/dbus/marshallers.js +0 -329
  269. package/dist/lib/dbus/marshallers.js.map +0 -1
  270. package/dist/lib/dbus/message.d.ts +0 -4
  271. package/dist/lib/dbus/message.d.ts.map +0 -1
  272. package/dist/lib/dbus/message.js +0 -116
  273. package/dist/lib/dbus/message.js.map +0 -1
  274. package/dist/lib/dbus/put.d.ts +0 -21
  275. package/dist/lib/dbus/put.d.ts.map +0 -1
  276. package/dist/lib/dbus/put.js +0 -120
  277. package/dist/lib/dbus/put.js.map +0 -1
  278. package/dist/lib/dbus/readline.d.ts +0 -2
  279. package/dist/lib/dbus/readline.d.ts.map +0 -1
  280. package/dist/lib/dbus/readline.js +0 -27
  281. package/dist/lib/dbus/readline.js.map +0 -1
  282. package/dist/lib/dbus/signature.d.ts +0 -2
  283. package/dist/lib/dbus/signature.d.ts.map +0 -1
  284. package/dist/lib/dbus/signature.js +0 -59
  285. package/dist/lib/dbus/signature.js.map +0 -1
  286. package/dist/lib/dbus/stdifaces.d.ts +0 -3
  287. package/dist/lib/dbus/stdifaces.d.ts.map +0 -1
  288. package/dist/lib/dbus/stdifaces.js +0 -206
  289. package/dist/lib/dbus/stdifaces.js.map +0 -1
@@ -1,8 +1,14 @@
1
- import storage from 'node-persist';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HAPStorage = void 0;
4
+ const tslib_1 = require("tslib");
5
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
+ // @ts-ignore
7
+ const node_persist_1 = tslib_1.__importDefault(require("node-persist"));
2
8
  /**
3
9
  * @group Model
4
10
  */
5
- export class HAPStorage {
11
+ class HAPStorage {
6
12
  static INSTANCE = new HAPStorage();
7
13
  localStore;
8
14
  customStoragePath;
@@ -14,7 +20,7 @@ export class HAPStorage {
14
20
  }
15
21
  storage() {
16
22
  if (!this.localStore) {
17
- this.localStore = storage.create();
23
+ this.localStore = node_persist_1.default.create();
18
24
  if (this.customStoragePath) {
19
25
  this.localStore.initSync({
20
26
  dir: this.customStoragePath,
@@ -28,9 +34,10 @@ export class HAPStorage {
28
34
  }
29
35
  setCustomStoragePath(path) {
30
36
  if (this.localStore) {
31
- throw new Error('Cannot change storage path after it has already been initialized!');
37
+ throw new Error("Cannot change storage path after it has already been initialized!");
32
38
  }
33
39
  this.customStoragePath = path;
34
40
  }
35
41
  }
42
+ exports.HAPStorage = HAPStorage;
36
43
  //# sourceMappingURL=HAPStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,MAAM,CAAU,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAA;IAE3C,UAAU,CAAe;IACzB,iBAAiB,CAAS;IAE3B,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;IAChC,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;YAElC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACtF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAA;IAC/B,CAAC"}
1
+ {"version":3,"file":"HAPStorage.js","sourceRoot":"","sources":["../../../src/lib/model/HAPStorage.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,aAAa;AACb,wEAAqD;AAErD;;GAEG;AACH,MAAa,UAAU;IAEb,MAAM,CAAU,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAC;IAE5C,UAAU,CAAgB;IAC1B,iBAAiB,CAAU;IAE5B,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,IAAY;QAC7C,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,sBAAO,CAAC,MAAM,EAAE,CAAC;YAEnC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACvB,GAAG,EAAE,IAAI,CAAC,iBAAiB;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;;AArCH,gCAuCC"}
@@ -1,4 +1,4 @@
1
- import type { MacAddress } from '../../types';
1
+ import { MacAddress } from "../../types";
2
2
  /**
3
3
  * IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs"
4
4
  * with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAO7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKP,QAAQ,EAAE,UAAU;IAJvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAChD,eAAe,SAAK;gBAED,QAAQ,EAAE,UAAU;IAGvC,kBAAkB,IAAI,IAAI;IAI1B,gCAAgC,IAAI,IAAI;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS5C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOrC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUhH,UAAU,IAAI,MAAM;IAOpB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOzC,IAAI,IAAI,IAAI;IAYZ;;OAEG;IAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI;IAczD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI1C"}
1
+ {"version":3,"file":"IdentifierCache.d.ts","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAKP,QAAQ,EAAE,UAAU;IAJvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAQ;IACjD,eAAe,SAAM;gBAEF,QAAQ,EAAE,UAAU;IAGvC,kBAAkB,IAAI,IAAI;IAI1B,gCAAgC,IAAI,IAAI;IAMxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAS5C,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOrC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;IAUhH,UAAU,IAAI,MAAM;IAOpB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAOzC,IAAI,IAAI,IAAI;IAYZ;;OAEG;IAEH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,GAAG,MAAM;IAI/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,eAAe,GAAG,IAAI;IAczD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;CAI1C"}
@@ -1,6 +1,10 @@
1
- import { createHash } from 'node:crypto';
2
- import { format } from 'node:util';
3
- import { HAPStorage } from './HAPStorage.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IdentifierCache = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const crypto_1 = tslib_1.__importDefault(require("crypto"));
6
+ const util_1 = tslib_1.__importDefault(require("util"));
7
+ const HAPStorage_1 = require("./HAPStorage");
4
8
  /**
5
9
  * IdentifierCache is a model class that manages a system of associating HAP "Accessory IDs" and "Instance IDs"
6
10
  * with other values that don't usually change. HomeKit Clients use Accessory/Instance IDs as a primary key of
@@ -10,11 +14,11 @@ import { HAPStorage } from './HAPStorage.js';
10
14
  * the scene will stop working.
11
15
  * @group Model
12
16
  */
13
- export class IdentifierCache {
17
+ class IdentifierCache {
14
18
  username;
15
19
  _cache = {}; // cache[key:string] = id:number
16
20
  _usedCache = null; // for usage tracking and expiring old keys
17
- _savedCacheHash = ''; // for checking if new cache need to be saved
21
+ _savedCacheHash = ""; // for checking if new cache need to be saved
18
22
  constructor(username) {
19
23
  this.username = username;
20
24
  }
@@ -29,7 +33,7 @@ export class IdentifierCache {
29
33
  getCache(key) {
30
34
  const value = this._cache[key];
31
35
  // track this cache item if needed
32
- if (this._usedCache && typeof value !== 'undefined') {
36
+ if (this._usedCache && typeof value !== "undefined") {
33
37
  this._usedCache[key] = value;
34
38
  }
35
39
  return value;
@@ -45,36 +49,39 @@ export class IdentifierCache {
45
49
  getAID(accessoryUUID) {
46
50
  const key = accessoryUUID;
47
51
  // ensure that our "next AID" field is not expired
48
- this.getCache('|nextAID');
52
+ this.getCache("|nextAID");
49
53
  return this.getCache(key) || this.setCache(key, this.getNextAID());
50
54
  }
51
55
  getIID(accessoryUUID, serviceUUID, serviceSubtype, characteristicUUID) {
52
- const key = `${accessoryUUID}|${serviceUUID}${serviceSubtype ? `|${serviceSubtype}` : ''}${characteristicUUID ? `|${characteristicUUID}` : ''}`;
56
+ const key = accessoryUUID
57
+ + "|" + serviceUUID
58
+ + (serviceSubtype ? "|" + serviceSubtype : "")
59
+ + (characteristicUUID ? "|" + characteristicUUID : "");
53
60
  // ensure that our "next IID" field for this accessory is not expired
54
- this.getCache(`${accessoryUUID}|nextIID`);
61
+ this.getCache(accessoryUUID + "|nextIID");
55
62
  return this.getCache(key) || this.setCache(key, this.getNextIID(accessoryUUID));
56
63
  }
57
64
  getNextAID() {
58
- const key = '|nextAID';
65
+ const key = "|nextAID";
59
66
  const nextAID = this.getCache(key) || 2; // start at 2 because the root Accessory or Bridge must be 1
60
67
  this.setCache(key, nextAID + 1); // increment
61
68
  return nextAID;
62
69
  }
63
70
  getNextIID(accessoryUUID) {
64
- const key = `${accessoryUUID}|nextIID`;
71
+ const key = accessoryUUID + "|nextIID";
65
72
  const nextIID = this.getCache(key) || 2; // iid 1 is reserved for the Accessory Information service
66
73
  this.setCache(key, nextIID + 1); // increment
67
74
  return nextIID;
68
75
  }
69
76
  save() {
70
- const newCacheHash = createHash('sha1').update(JSON.stringify(this._cache)).digest('hex'); // calculate hash of new cache
71
- if (newCacheHash !== this._savedCacheHash) { // check if cache need to be saved and proceed accordingly
77
+ const newCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(this._cache)).digest("hex"); //calculate hash of new cache
78
+ if (newCacheHash !== this._savedCacheHash) { //check if cache need to be saved and proceed accordingly
72
79
  const saved = {
73
80
  cache: this._cache,
74
81
  };
75
82
  const key = IdentifierCache.persistKey(this.username);
76
- HAPStorage.storage().setItemSync(key, saved);
77
- this._savedCacheHash = newCacheHash; // update hash of saved cache for future use
83
+ HAPStorage_1.HAPStorage.storage().setItemSync(key, saved);
84
+ this._savedCacheHash = newCacheHash; //update hash of saved cache for future use
78
85
  }
79
86
  }
80
87
  /**
@@ -82,16 +89,16 @@ export class IdentifierCache {
82
89
  */
83
90
  // Gets a key for storing this IdentifierCache in the filesystem, like "IdentifierCache.CC223DE3CEF3.json"
84
91
  static persistKey(username) {
85
- return format('IdentifierCache.%s.json', username.replace(/:/g, '').toUpperCase());
92
+ return util_1.default.format("IdentifierCache.%s.json", username.replace(/:/g, "").toUpperCase());
86
93
  }
87
94
  static load(username) {
88
95
  const key = IdentifierCache.persistKey(username);
89
- const saved = HAPStorage.storage().getItem(key);
96
+ const saved = HAPStorage_1.HAPStorage.storage().getItem(key);
90
97
  if (saved) {
91
98
  const info = new IdentifierCache(username);
92
99
  info._cache = saved.cache;
93
100
  // calculate hash of the saved hash to decide in future if saving of new cache is needed
94
- info._savedCacheHash = createHash('sha1').update(JSON.stringify(info._cache)).digest('hex');
101
+ info._savedCacheHash = crypto_1.default.createHash("sha1").update(JSON.stringify(info._cache)).digest("hex");
95
102
  return info;
96
103
  }
97
104
  else {
@@ -100,7 +107,8 @@ export class IdentifierCache {
100
107
  }
101
108
  static remove(username) {
102
109
  const key = this.persistKey(username);
103
- HAPStorage.storage().removeItemSync(key);
110
+ HAPStorage_1.HAPStorage.storage().removeItemSync(key);
104
111
  }
105
112
  }
113
+ exports.IdentifierCache = IdentifierCache;
106
114
  //# sourceMappingURL=IdentifierCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentifierCache.js","sourceRoot":"","sources":["../../../src/lib/model/IdentifierCache.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { AccessControl } from '../definitions';
2
- import { EventEmitter } from 'node:events';
1
+ import { EventEmitter } from "events";
2
+ import type { AccessControl } from "../definitions";
3
3
  /**
4
4
  * This defines the Access Level for TVs and Speakers. It is pretty much only used for the AirPlay 2 protocol
5
5
  * so this information is not really useful.
@@ -8,15 +8,15 @@ import { EventEmitter } from 'node:events';
8
8
  */
9
9
  export declare const enum AccessLevel {
10
10
  /**
11
- * This access level is set when the user selects "Anyone" or "Anyone On The Same Network"
11
+ * This access level is set when the users selects "Anyone" or "Anyone On The Same Network"
12
12
  * in the Access Control settings.
13
13
  */
14
14
  ANYONE = 0,
15
15
  /**
16
- * This access level is set when the user selects "Only People Sharing this Home" in the
16
+ * This access level is set when the users selects "Only People Sharing this Home" in the
17
17
  * Access Control settings.
18
18
  * On this level password setting is ignored.
19
- * Requests to the HAPServer can only come from Home members anyway, so there is no real use to it.
19
+ * Requests to the HAPServer can only come from Home members anyways, so there is no real use to it.
20
20
  * This is pretty much only used for the AirPlay 2 protocol.
21
21
  */
22
22
  HOME_MEMBERS_ONLY = 1
@@ -32,10 +32,10 @@ export declare const enum AccessControlEvent {
32
32
  * @group Television
33
33
  */
34
34
  export declare interface AccessControlManagement {
35
- on(event: 'update-control-level', listener: (accessLevel: AccessLevel) => void): this;
36
- on(event: 'update-password', listener: (password: string | undefined, passwordRequired: boolean) => void): this;
37
- emit(event: 'update-control-level', accessLevel: AccessLevel): boolean;
38
- emit(event: 'update-password', password: string | undefined, passwordRequired: boolean): boolean;
35
+ on(event: "update-control-level", listener: (accessLevel: AccessLevel) => void): this;
36
+ on(event: "update-password", listener: (password: string | undefined, passwordRequired: boolean) => void): this;
37
+ emit(event: "update-control-level", accessLevel: AccessLevel): boolean;
38
+ emit(event: "update-password", password: string | undefined, passwordRequired: boolean): boolean;
39
39
  }
40
40
  /**
41
41
  * @group Television
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlManagement.d.ts","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAY1C;;;;;GAKG;AAEH,0BAAkB,WAAW;IAC3B;;;OAGG;IACH,MAAM,IAAI;IACV;;;;;;OAMG;IACH,iBAAiB,IAAI;CAItB;AAED;;GAEG;AAEH,0BAAkB,kBAAkB;IAClC,oBAAoB,yBAAyB;IAC7C,wBAAwB,oBAAoB;CAC7C;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAE9C,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAA;IACrF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IAC/G,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAA;IACtE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CAEjG;AAED;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,YAAY;IACvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAe;IAEpD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;OAIG;gBACS,QAAQ,CAAC,EAAE,OAAO;IAC9B;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAQvD;;OAEG;IACI,UAAU,IAAI,aAAa;IAIlC;;OAEG;IACI,cAAc,IAAI,WAAW;IAIpC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAStB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;CAa7B"}
1
+ {"version":3,"file":"AccessControlManagement.d.ts","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AASpD;;;;;GAKG;AACH,0BAAkB,WAAW;IAE3B;;;OAGG;IACH,MAAM,IAAI;IACV;;;;;;OAMG;IACH,iBAAiB,IAAI;CAItB;AAED;;GAEG;AACH,0BAAkB,kBAAkB;IAClC,oBAAoB,yBAAyB;IAC7C,wBAAwB,oBAAoB;CAC7C;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IACtF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAEhH,IAAI,CAAC,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC;IACvE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC;CAClG;AAED;;GAEG;AAEH,qBAAa,uBAAwB,SAAQ,YAAY;IAEvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IAErD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B;;;;OAIG;gBACS,QAAQ,CAAC,EAAE,OAAO;IAC9B;;;;;OAKG;gBACS,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa;IAQvD;;OAEG;IACI,UAAU,IAAI,aAAa;IAIlC;;OAEG;IACI,cAAc,IAAI,WAAW;IAIpC;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAIxC;;;;OAIG;IACI,OAAO,IAAI,IAAI;IAStB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;CAc7B"}
@@ -1,9 +1,11 @@
1
- import { Buffer } from 'node:buffer';
2
- import { EventEmitter } from 'node:events';
3
- import { Characteristic } from '../Characteristic.js';
4
- import { Service } from '../Service.js';
5
- import { decode } from '../util/tlv.js';
6
- // eslint-disable-next-line no-restricted-syntax
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccessControlManagement = exports.AccessControlEvent = exports.AccessLevel = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const events_1 = require("events");
6
+ const Characteristic_1 = require("../Characteristic");
7
+ const Service_1 = require("../Service");
8
+ const tlv = tslib_1.__importStar(require("../util/tlv"));
7
9
  var AccessControlTypes;
8
10
  (function (AccessControlTypes) {
9
11
  AccessControlTypes[AccessControlTypes["PASSWORD"] = 1] = "PASSWORD";
@@ -15,39 +17,38 @@ var AccessControlTypes;
15
17
  *
16
18
  * @group Television
17
19
  */
18
- // eslint-disable-next-line no-restricted-syntax
19
- export var AccessLevel;
20
+ var AccessLevel;
20
21
  (function (AccessLevel) {
22
+ // noinspection JSUnusedGlobalSymbols
21
23
  /**
22
- * This access level is set when the user selects "Anyone" or "Anyone On The Same Network"
24
+ * This access level is set when the users selects "Anyone" or "Anyone On The Same Network"
23
25
  * in the Access Control settings.
24
26
  */
25
27
  AccessLevel[AccessLevel["ANYONE"] = 0] = "ANYONE";
26
28
  /**
27
- * This access level is set when the user selects "Only People Sharing this Home" in the
29
+ * This access level is set when the users selects "Only People Sharing this Home" in the
28
30
  * Access Control settings.
29
31
  * On this level password setting is ignored.
30
- * Requests to the HAPServer can only come from Home members anyway, so there is no real use to it.
32
+ * Requests to the HAPServer can only come from Home members anyways, so there is no real use to it.
31
33
  * This is pretty much only used for the AirPlay 2 protocol.
32
34
  */
33
35
  AccessLevel[AccessLevel["HOME_MEMBERS_ONLY"] = 1] = "HOME_MEMBERS_ONLY";
34
36
  // 2 seems to be also a valid value in the range, but never encountered it.
35
37
  // so don't know what's the use of it.
36
- })(AccessLevel || (AccessLevel = {}));
38
+ })(AccessLevel || (exports.AccessLevel = AccessLevel = {}));
37
39
  /**
38
40
  * @group Television
39
41
  */
40
- // eslint-disable-next-line no-restricted-syntax
41
- export var AccessControlEvent;
42
+ var AccessControlEvent;
42
43
  (function (AccessControlEvent) {
43
44
  AccessControlEvent["ACCESS_LEVEL_UPDATED"] = "update-control-level";
44
45
  AccessControlEvent["PASSWORD_SETTING_UPDATED"] = "update-password";
45
- })(AccessControlEvent || (AccessControlEvent = {}));
46
+ })(AccessControlEvent || (exports.AccessControlEvent = AccessControlEvent = {}));
46
47
  /**
47
48
  * @group Television
48
49
  */
49
- // eslint-disable-next-line ts/no-unsafe-declaration-merging
50
- export class AccessControlManagement extends EventEmitter {
50
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
51
+ class AccessControlManagement extends events_1.EventEmitter {
51
52
  accessControlService;
52
53
  /**
53
54
  * The current access level set for the Home
@@ -57,7 +58,7 @@ export class AccessControlManagement extends EventEmitter {
57
58
  password; // undefined if passwordRequired = false
58
59
  constructor(password, service) {
59
60
  super();
60
- this.accessControlService = service || new Service.AccessControl();
61
+ this.accessControlService = service || new Service_1.Service.AccessControl();
61
62
  this.setupServiceHandlers(password);
62
63
  }
63
64
  /**
@@ -85,9 +86,9 @@ export class AccessControlManagement extends EventEmitter {
85
86
  */
86
87
  destroy() {
87
88
  this.removeAllListeners();
88
- this.accessControlService.getCharacteristic(Characteristic.AccessControlLevel).removeOnSet();
89
- if (this.accessControlService.testCharacteristic(Characteristic.PasswordSetting)) {
90
- this.accessControlService.getCharacteristic(Characteristic.PasswordSetting).removeOnSet();
89
+ this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.AccessControlLevel).removeOnSet();
90
+ if (this.accessControlService.testCharacteristic(Characteristic_1.Characteristic.PasswordSetting)) {
91
+ this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.PasswordSetting).removeOnSet();
91
92
  }
92
93
  }
93
94
  handleAccessLevelChange(value) {
@@ -97,10 +98,10 @@ export class AccessControlManagement extends EventEmitter {
97
98
  }, 0).unref();
98
99
  }
99
100
  handlePasswordChange(value) {
100
- const data = Buffer.from(value, 'base64');
101
- const objects = decode(data);
101
+ const data = Buffer.from(value, "base64");
102
+ const objects = tlv.decode(data);
102
103
  if (objects[1 /* AccessControlTypes.PASSWORD */]) {
103
- this.password = objects[1 /* AccessControlTypes.PASSWORD */].toString('utf8');
104
+ this.password = objects[1 /* AccessControlTypes.PASSWORD */].toString("utf8");
104
105
  }
105
106
  else {
106
107
  this.password = undefined;
@@ -112,14 +113,15 @@ export class AccessControlManagement extends EventEmitter {
112
113
  }
113
114
  setupServiceHandlers(enabledPasswordCharacteristics) {
114
115
  // perms: [Perms.NOTIFY, Perms.PAIRED_READ, Perms.PAIRED_WRITE],
115
- this.accessControlService.getCharacteristic(Characteristic.AccessControlLevel)
116
+ this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.AccessControlLevel)
116
117
  .onSet(value => this.handleAccessLevelChange(value))
117
118
  .updateValue(0);
118
119
  if (enabledPasswordCharacteristics) {
119
- this.accessControlService.getCharacteristic(Characteristic.PasswordSetting)
120
+ this.accessControlService.getCharacteristic(Characteristic_1.Characteristic.PasswordSetting)
120
121
  .onSet(value => this.handlePasswordChange(value))
121
- .updateValue('');
122
+ .updateValue("");
122
123
  }
123
124
  }
124
125
  }
126
+ exports.AccessControlManagement = AccessControlManagement;
125
127
  //# sourceMappingURL=AccessControlManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControlManagement.js","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessControlManagement.js","sourceRoot":"","sources":["../../../src/lib/tv/AccessControlManagement.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import type { CharacteristicValue, Nullable } from '../../types';
1
+ import { CharacteristicValue, Nullable } from "../../types";
2
2
  /**
3
3
  * Checks that supplied field meets Apple HomeKit naming rules
4
4
  * https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names
5
- * @private
5
+ * @private Private API
6
6
  */
7
7
  export declare function checkName(displayName: string, name: string, value: Nullable<CharacteristicValue>): void;
8
8
  //# sourceMappingURL=checkName.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkName.d.ts","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEhE;;;;GAIG;AAEH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAOvG"}
1
+ {"version":3,"file":"checkName.d.ts","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;GAIG;AAEH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAQvG"}
@@ -1,14 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkName = checkName;
1
4
  /**
2
5
  * Checks that supplied field meets Apple HomeKit naming rules
3
6
  * https://developer.apple.com/design/human-interface-guidelines/homekit#Help-people-choose-useful-names
4
- * @private
7
+ * @private Private API
5
8
  */
6
- export function checkName(displayName, name, value) {
9
+ function checkName(displayName, name, value) {
7
10
  // Ensure the string starts and ends with a Unicode letter or number and allow any combination of letters, numbers, spaces, and apostrophes in the middle.
8
- if (typeof value === 'string' && !/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u.test(value)) {
9
- console.warn(`HAP-NodeJS WARNING: The accessory '${displayName}' has an invalid '${name}' characteristic ('${value}'). Please use only `
10
- + `alphanumeric, space, and apostrophe characters. Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis. This may prevent `
11
- + `the accessory from being added in the Home App or cause unresponsiveness.`);
11
+ if (typeof value === "string" && !(new RegExp(/^[\p{L}\p{N}][\p{L}\p{N} ']*[\p{L}\p{N}]$/u)).test(value)) {
12
+ console.warn("HAP-NodeJS WARNING: The accessory '" + displayName + "' has an invalid '" + name + "' characteristic ('" + value + "'). Please use only " +
13
+ "alphanumeric, space, and apostrophe characters. Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis. This may prevent " +
14
+ "the accessory from being added in the Home App or cause unresponsiveness.");
12
15
  }
13
16
  }
14
17
  //# sourceMappingURL=checkName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkName.js","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAoC;IAC/F,0JAA0J;IAC1J,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,sCAAsC,WAAW,qBAAqB,IAAI,sBAAsB,KAAK,sBAAsB;cACtI,wJAAwJ;cACxJ,2EAA2E,CAAC,CAAA;IAChF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"checkName.js","sourceRoot":"","sources":["../../../src/lib/util/checkName.ts"],"names":[],"mappings":";;AAQA,8BAQC;AAdD;;;;GAIG;AAEH,SAAgB,SAAS,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAoC;IAE/F,0JAA0J;IAC1J,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzG,OAAO,CAAC,IAAI,CAAC,qCAAqC,GAAG,WAAW,GAAG,oBAAoB,GAAG,IAAI,GAAG,qBAAqB,GAAG,KAAK,GAAG,sBAAsB;YACrJ,wJAAwJ;YACxJ,2EAA2E,CAAC,CAAC;IACjF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAcvE"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAevE"}
@@ -1,9 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clone = clone;
1
4
  /**
2
5
  * A simple clone function that also allows you to pass an "extend" object whose properties will be
3
6
  * added to the cloned copy of the original object passed.
4
7
  * @group Utils
5
8
  */
6
- export function clone(object, extend) {
9
+ function clone(object, extend) {
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
11
  const cloned = {};
8
12
  for (const [key, value] of Object.entries(object)) {
9
13
  cloned[key] = value;
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAsB,MAAS,EAAE,MAAU;IAC9D,MAAM,MAAM,GAAG,EAAsB,CAAA;IAErC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../src/lib/util/clone.ts"],"names":[],"mappings":";;AAKA,sBAeC;AApBD;;;;GAIG;AACH,SAAgB,KAAK,CAAsB,MAAS,EAAE,MAAU;IAC9D,8DAA8D;IAC9D,MAAM,MAAM,GAAG,EAAsB,CAAC;IAEtC,KAAK,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAE,GAAG,EAAE,KAAK,CAAE,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -7,7 +7,7 @@ export declare class ColorUtils {
7
7
  *
8
8
  * @param colorTemperature - The color temperature in mired.
9
9
  * @param roundResults - The lookup table has a precision of .1 decimal places. The given characteristics only have a step value of 1.
10
- * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
10
+ * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
11
11
  * @returns An number array of length 2 with the first element being the saturation and the second argument being the hue.
12
12
  */
13
13
  static colorTemperatureToHueAndSaturation(colorTemperature: number, roundResults?: boolean): {
@@ -1 +1 @@
1
- {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":"AAsZA;;GAEG;AACH,qBAAa,UAAU;IACrB;;;;;;;OAOG;WACW,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAoBrI"}
1
+ {"version":3,"file":"color-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/util/color-utils.ts"],"names":[],"mappings":"AAsZA;;GAEG;AACH,qBAAa,UAAU;IAErB;;;;;;;OAOG;WACW,kCAAkC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;CAqBrI"}
@@ -1,4 +1,8 @@
1
- import assert from 'node:assert';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ColorUtils = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const assert_1 = tslib_1.__importDefault(require("assert"));
2
6
  const lookupTable = new Map([
3
7
  [100, [19, 222.1]],
4
8
  [101, [18.7, 222.2]],
@@ -405,13 +409,13 @@ const lookupTable = new Map([
405
409
  /**
406
410
  * @group Utils
407
411
  */
408
- export class ColorUtils {
412
+ class ColorUtils {
409
413
  /**
410
414
  * Returns the Hue and Saturation representation of the given color temperature in mired.
411
415
  *
412
416
  * @param colorTemperature - The color temperature in mired.
413
417
  * @param roundResults - The lookup table has a precision of .1 decimal places. The given characteristics only have a step value of 1.
414
- * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
418
+ * Thus, the method will round the results by default to an integer value. This can be turned off using this option.
415
419
  * @returns An number array of length 2 with the first element being the saturation and the second argument being the hue.
416
420
  */
417
421
  static colorTemperatureToHueAndSaturation(colorTemperature, roundResults = true) {
@@ -423,7 +427,7 @@ export class ColorUtils {
423
427
  }
424
428
  colorTemperature = Math.round(colorTemperature); // ensure integer
425
429
  const hueAndTemperature = lookupTable.get(colorTemperature);
426
- assert(colorTemperature != null, `lookup for temperature ${colorTemperature} did not yield any results`);
430
+ (0, assert_1.default)(colorTemperature != null, "lookup for temperature " + colorTemperature + " did not yield any results");
427
431
  if (roundResults) {
428
432
  hueAndTemperature[0] = Math.round(hueAndTemperature[0]);
429
433
  hueAndTemperature[1] = Math.round(hueAndTemperature[1]);
@@ -434,4 +438,5 @@ export class ColorUtils {
434
438
  };
435
439
  }
436
440
  }
441
+ exports.ColorUtils = ColorUtils;
437
442
  //# sourceMappingURL=color-utils.js.map