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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/@types/bonjour-hap.d.ts +4 -3
  2. package/@types/simple-plist.d.ts +2 -1
  3. package/README.md +1 -1
  4. package/dist/BridgedCore.js +7 -6
  5. package/dist/BridgedCore.js.map +1 -1
  6. package/dist/Core.js +14 -12
  7. package/dist/Core.js.map +1 -1
  8. package/dist/accessories/AirConditioner_accessory.js +9 -9
  9. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  10. package/dist/accessories/AppleTVRemote_accessory.js +17 -16
  11. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  12. package/dist/accessories/Camera_accessory.js +415 -36
  13. package/dist/accessories/Camera_accessory.js.map +1 -1
  14. package/dist/accessories/Fan_accessory.js +10 -15
  15. package/dist/accessories/Fan_accessory.js.map +1 -1
  16. package/dist/accessories/GarageDoorOpener_accessory.js +7 -8
  17. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  18. package/dist/accessories/Light-AdaptiveLighting_accessory.js +3 -4
  19. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  20. package/dist/accessories/Light_accessory.js +23 -14
  21. package/dist/accessories/Light_accessory.js.map +1 -1
  22. package/dist/accessories/Lock_accessory.js +7 -8
  23. package/dist/accessories/Lock_accessory.js.map +1 -1
  24. package/dist/accessories/MotionSensor_accessory.js +5 -6
  25. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  26. package/dist/accessories/Outlet_accessory.js +5 -6
  27. package/dist/accessories/Outlet_accessory.js.map +1 -1
  28. package/dist/accessories/SmartSpeaker_accessory.js +6 -6
  29. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  30. package/dist/accessories/Sprinkler_accessory.js +12 -13
  31. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  32. package/dist/accessories/TV_accessory.js +4 -5
  33. package/dist/accessories/TV_accessory.js.map +1 -1
  34. package/dist/accessories/TemperatureSensor_accessory.js +5 -6
  35. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  36. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  37. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  38. package/dist/accessories/Wi-FiRouter_accessory.js +7 -8
  39. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  40. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  41. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  42. package/dist/accessories/Wi-FiSatellite_accessory.js +6 -7
  43. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  44. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  45. package/dist/accessories/gstreamer-audioProducer.js +21 -22
  46. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  47. package/dist/index.d.ts +27 -22
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +35 -24
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal-types.d.ts +2 -0
  52. package/dist/internal-types.d.ts.map +1 -1
  53. package/dist/internal-types.js.map +1 -1
  54. package/dist/lib/Accessory.d.ts +38 -17
  55. package/dist/lib/Accessory.d.ts.map +1 -1
  56. package/dist/lib/Accessory.js +345 -273
  57. package/dist/lib/Accessory.js.map +1 -1
  58. package/dist/lib/AccessoryLoader.d.ts +10 -10
  59. package/dist/lib/AccessoryLoader.d.ts.map +1 -1
  60. package/dist/lib/AccessoryLoader.js +109 -99
  61. package/dist/lib/AccessoryLoader.js.map +1 -1
  62. package/dist/lib/Advertiser.d.ts +26 -6
  63. package/dist/lib/Advertiser.d.ts.map +1 -1
  64. package/dist/lib/Advertiser.js +242 -29
  65. package/dist/lib/Advertiser.js.map +1 -1
  66. package/dist/lib/Bridge.d.ts +1 -1
  67. package/dist/lib/Bridge.d.ts.map +1 -1
  68. package/dist/lib/Bridge.js +1 -1
  69. package/dist/lib/Bridge.js.map +1 -1
  70. package/dist/lib/Characteristic.d.ts +23 -22
  71. package/dist/lib/Characteristic.d.ts.map +1 -1
  72. package/dist/lib/Characteristic.js +148 -145
  73. package/dist/lib/Characteristic.js.map +1 -1
  74. package/dist/lib/HAPServer.d.ts +2 -2
  75. package/dist/lib/HAPServer.d.ts.map +1 -1
  76. package/dist/lib/HAPServer.js +43 -39
  77. package/dist/lib/HAPServer.js.map +1 -1
  78. package/dist/lib/Service.d.ts +3 -3
  79. package/dist/lib/Service.d.ts.map +1 -1
  80. package/dist/lib/Service.js +51 -47
  81. package/dist/lib/Service.js.map +1 -1
  82. package/dist/lib/camera/Camera.d.ts +2 -2
  83. package/dist/lib/camera/Camera.d.ts.map +1 -1
  84. package/dist/lib/camera/Camera.js +3 -3
  85. package/dist/lib/camera/Camera.js.map +1 -1
  86. package/dist/lib/camera/RTPProxy.d.ts +19 -19
  87. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  88. package/dist/lib/camera/RTPProxy.js +230 -208
  89. package/dist/lib/camera/RTPProxy.js.map +1 -1
  90. package/dist/lib/camera/RTPStreamManagement.d.ts +46 -10
  91. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  92. package/dist/lib/camera/RTPStreamManagement.js +124 -49
  93. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  94. package/dist/lib/camera/RecordingManagement.d.ts +267 -0
  95. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -0
  96. package/dist/lib/camera/RecordingManagement.js +750 -0
  97. package/dist/lib/camera/RecordingManagement.js.map +1 -0
  98. package/dist/lib/camera/index.d.ts +4 -3
  99. package/dist/lib/camera/index.d.ts.map +1 -1
  100. package/dist/lib/camera/index.js +4 -3
  101. package/dist/lib/camera/index.js.map +1 -1
  102. package/dist/lib/controller/AdaptiveLightingController.d.ts +9 -9
  103. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  104. package/dist/lib/controller/AdaptiveLightingController.js +37 -31
  105. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  106. package/dist/lib/controller/CameraController.d.ts +254 -7
  107. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  108. package/dist/lib/controller/CameraController.js +382 -35
  109. package/dist/lib/controller/CameraController.js.map +1 -1
  110. package/dist/lib/controller/Controller.d.ts +3 -3
  111. package/dist/lib/controller/Controller.d.ts.map +1 -1
  112. package/dist/lib/controller/Controller.js.map +1 -1
  113. package/dist/lib/controller/DoorbellController.d.ts +43 -1
  114. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  115. package/dist/lib/controller/DoorbellController.js +64 -12
  116. package/dist/lib/controller/DoorbellController.js.map +1 -1
  117. package/dist/lib/controller/RemoteController.d.ts +4 -4
  118. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  119. package/dist/lib/controller/RemoteController.js +79 -69
  120. package/dist/lib/controller/RemoteController.js.map +1 -1
  121. package/dist/lib/controller/index.d.ts +4 -4
  122. package/dist/lib/controller/index.js +5 -5
  123. package/dist/lib/controller/index.js.map +1 -1
  124. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  125. package/dist/lib/datastream/DataStreamManagement.js +12 -11
  126. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  127. package/dist/lib/datastream/DataStreamParser.d.ts +24 -24
  128. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  129. package/dist/lib/datastream/DataStreamParser.js +31 -22
  130. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  131. package/dist/lib/datastream/DataStreamServer.d.ts +24 -5
  132. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  133. package/dist/lib/datastream/DataStreamServer.js +109 -68
  134. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  135. package/dist/lib/datastream/index.d.ts +3 -3
  136. package/dist/lib/datastream/index.js +3 -3
  137. package/dist/lib/datastream/index.js.map +1 -1
  138. package/dist/lib/definitions/CharacteristicDefinitions.js +249 -249
  139. package/dist/lib/definitions/CharacteristicDefinitions.js.map +1 -1
  140. package/dist/lib/definitions/ServiceDefinitions.js +75 -75
  141. package/dist/lib/definitions/ServiceDefinitions.js.map +1 -1
  142. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  143. package/dist/lib/definitions/generate-definitions.js +76 -72
  144. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  145. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  146. package/dist/lib/definitions/generator-configuration.js +34 -16
  147. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  148. package/dist/lib/definitions/index.js +2 -2
  149. package/dist/lib/definitions/index.js.map +1 -1
  150. package/dist/lib/model/AccessoryInfo.d.ts +6 -6
  151. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  152. package/dist/lib/model/AccessoryInfo.js +86 -76
  153. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  154. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  155. package/dist/lib/model/ControllerStorage.js +9 -9
  156. package/dist/lib/model/ControllerStorage.js.map +1 -1
  157. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  158. package/dist/lib/model/HAPStorage.js +2 -1
  159. package/dist/lib/model/HAPStorage.js.map +1 -1
  160. package/dist/lib/model/IdentifierCache.d.ts +11 -11
  161. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  162. package/dist/lib/model/IdentifierCache.js +69 -67
  163. package/dist/lib/model/IdentifierCache.js.map +1 -1
  164. package/dist/lib/tv/AccessControlManagement.d.ts +1 -1
  165. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  166. package/dist/lib/tv/AccessControlManagement.js +2 -2
  167. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  168. package/dist/lib/util/clone.js +5 -4
  169. package/dist/lib/util/clone.js.map +1 -1
  170. package/dist/lib/util/color-utils.d.ts.map +1 -1
  171. package/dist/lib/util/color-utils.js +2 -2
  172. package/dist/lib/util/color-utils.js.map +1 -1
  173. package/dist/lib/util/eventedhttp.d.ts +8 -8
  174. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  175. package/dist/lib/util/eventedhttp.js +100 -84
  176. package/dist/lib/util/eventedhttp.js.map +1 -1
  177. package/dist/lib/util/hapCrypto.d.ts +5 -5
  178. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  179. package/dist/lib/util/hapCrypto.js +66 -82
  180. package/dist/lib/util/hapCrypto.js.map +1 -1
  181. package/dist/lib/util/hapStatusError.js +3 -3
  182. package/dist/lib/util/hapStatusError.js.map +1 -1
  183. package/dist/lib/util/net-utils.d.ts.map +1 -1
  184. package/dist/lib/util/net-utils.js +4 -6
  185. package/dist/lib/util/net-utils.js.map +1 -1
  186. package/dist/lib/util/once.d.ts +1 -1
  187. package/dist/lib/util/once.d.ts.map +1 -1
  188. package/dist/lib/util/once.js +2 -1
  189. package/dist/lib/util/once.js.map +1 -1
  190. package/dist/lib/util/promise-utils.d.ts +2 -0
  191. package/dist/lib/util/promise-utils.d.ts.map +1 -0
  192. package/dist/lib/util/promise-utils.js +10 -0
  193. package/dist/lib/util/promise-utils.js.map +1 -0
  194. package/dist/lib/util/request-util.d.ts.map +1 -1
  195. package/dist/lib/util/request-util.js +1 -0
  196. package/dist/lib/util/request-util.js.map +1 -1
  197. package/dist/lib/util/time.d.ts +1 -1
  198. package/dist/lib/util/time.d.ts.map +1 -1
  199. package/dist/lib/util/time.js +8 -8
  200. package/dist/lib/util/time.js.map +1 -1
  201. package/dist/lib/util/tlv.d.ts.map +1 -1
  202. package/dist/lib/util/tlv.js +15 -12
  203. package/dist/lib/util/tlv.js.map +1 -1
  204. package/dist/lib/util/uuid.d.ts.map +1 -1
  205. package/dist/lib/util/uuid.js +26 -20
  206. package/dist/lib/util/uuid.js.map +1 -1
  207. package/dist/types.d.ts +0 -1
  208. package/dist/types.d.ts.map +1 -1
  209. package/package.json +22 -19
@@ -1,9 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from "events";
3
3
  import { SrpServer } from "fast-srp-hap";
4
- import { IncomingMessage, ServerResponse } from 'http';
5
- import { Socket } from 'net';
6
- import { CharacteristicValue, Nullable, SessionIdentifier } from '../../types';
4
+ import { IncomingMessage, ServerResponse } from "http";
5
+ import { Socket } from "net";
6
+ import { CharacteristicValue, Nullable, SessionIdentifier } from "../../types";
7
7
  export declare type HAPUsername = string;
8
8
  export declare type EventName = string;
9
9
  /**
@@ -44,7 +44,7 @@ export declare interface EventedHTTPServer {
44
44
  * Implementation
45
45
  * --------------
46
46
  * In order to implement the "custom HTTP" server required by the HAP protocol (see HAPServer.js) without completely
47
- * reinventing the wheel, we create both a generic TCP socket server as well as a standard Node HTTP server.
47
+ * reinventing the wheel, we create both a generic TCP socket server and a standard Node HTTP server.
48
48
  * The TCP socket server acts as a proxy, allowing users of this class to transform data (for encryption) as necessary
49
49
  * and passing through bytes directly to the HTTP server for processing. This way we get Node to do all
50
50
  * the "heavy lifting" of HTTP like parsing headers and formatting responses.
@@ -75,15 +75,15 @@ export declare class EventedHTTPServer extends EventEmitter {
75
75
  stop(): void;
76
76
  destroy(): void;
77
77
  /**
78
- * Send a even notification for given characteristic and changed value to all connected clients.
78
+ * Send an event notification for given characteristic and changed value to all connected clients.
79
79
  * If {@param originator} is specified, the given {@link HAPConnection} will be excluded from the broadcast.
80
80
  *
81
81
  * @param aid - The accessory id of the updated characteristic.
82
82
  * @param iid - The instance id of the updated characteristic.
83
83
  * @param value - The newly set value of the characteristic.
84
- * @param originator - If specified, the connection will not get a event message.
84
+ * @param originator - If specified, the connection will not get an event message.
85
85
  * @param immediateDelivery - The HAP spec requires some characteristics to be delivery immediately.
86
- * Namely for the {@link ButtonEvent} and the {@link ProgrammableSwitchEvent} characteristics.
86
+ * Namely, for the {@link ButtonEvent} and the {@link ProgrammableSwitchEvent} characteristics.
87
87
  */
88
88
  broadcastEvent(aid: number, iid: number, value: Nullable<CharacteristicValue>, originator?: HAPConnection, immediateDelivery?: boolean): void;
89
89
  private onConnection;
@@ -164,7 +164,7 @@ export declare class HAPConnection extends EventEmitter {
164
164
  private writeQueuedEventNotifications;
165
165
  /**
166
166
  * This will create an EVENT/1.0 notification header with the provided event notification.
167
- * If currently a HTTP request is in progress the assembled packet will be
167
+ * If currently an HTTP request is in progress the assembled packet will be
168
168
  * added to the pending events list.
169
169
  *
170
170
  * @param notification - The event which should be sent out
@@ -1 +1 @@
1
- {"version":3,"file":"eventedhttp.d.ts","sourceRoot":"","sources":["../../../src/lib/util/eventedhttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventedhttp.d.ts","sourceRoot":"","sources":["../../../src/lib/util/eventedhttp.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HAPConnection = exports.HAPConnectionEvent = exports.HAPConnectionState = exports.EventedHTTPServer = exports.EventedHTTPServerEvent = exports.HAPEncryption = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var domain_formatter_1 = require("@homebridge/ciao/lib/util/domain-formatter");
6
- var assert_1 = tslib_1.__importDefault(require("assert"));
7
- var debug_1 = tslib_1.__importDefault(require("debug"));
6
+ var assert_1 = (0, tslib_1.__importDefault)(require("assert"));
7
+ var debug_1 = (0, tslib_1.__importDefault)(require("debug"));
8
8
  var events_1 = require("events");
9
- var http_1 = tslib_1.__importDefault(require("http"));
10
- var net_1 = tslib_1.__importDefault(require("net"));
11
- var os_1 = tslib_1.__importDefault(require("os"));
12
- var hapCrypto = tslib_1.__importStar(require("./hapCrypto"));
9
+ var http_1 = (0, tslib_1.__importDefault)(require("http"));
10
+ var net_1 = (0, tslib_1.__importDefault)(require("net"));
11
+ var os_1 = (0, tslib_1.__importDefault)(require("os"));
12
+ var hapCrypto = (0, tslib_1.__importStar)(require("./hapCrypto"));
13
13
  var net_utils_1 = require("./net-utils");
14
- var uuid = tslib_1.__importStar(require("./uuid"));
15
- var debug = debug_1.default('HAP-NodeJS:EventedHTTPServer');
16
- var debugCon = debug_1.default("HAP-NodeJS:EventedHTTPServer:Connection");
14
+ var uuid = (0, tslib_1.__importStar)(require("./uuid"));
15
+ var debug = (0, debug_1.default)("HAP-NodeJS:EventedHTTPServer");
16
+ var debugCon = (0, debug_1.default)("HAP-NodeJS:EventedHTTPServer:Connection");
17
17
  /**
18
18
  * Simple struct to hold vars needed to support HAP encryption.
19
19
  */
@@ -45,7 +45,7 @@ var EventedHTTPServerEvent;
45
45
  * Implementation
46
46
  * --------------
47
47
  * In order to implement the "custom HTTP" server required by the HAP protocol (see HAPServer.js) without completely
48
- * reinventing the wheel, we create both a generic TCP socket server as well as a standard Node HTTP server.
48
+ * reinventing the wheel, we create both a generic TCP socket server and a standard Node HTTP server.
49
49
  * The TCP socket server acts as a proxy, allowing users of this class to transform data (for encryption) as necessary
50
50
  * and passing through bytes directly to the HTTP server for processing. This way we get Node to do all
51
51
  * the "heavy lifting" of HTTP like parsing headers and formatting responses.
@@ -57,7 +57,7 @@ var EventedHTTPServerEvent;
57
57
  * for safe event insertion.
58
58
  */
59
59
  var EventedHTTPServer = /** @class */ (function (_super) {
60
- tslib_1.__extends(EventedHTTPServer, _super);
60
+ (0, tslib_1.__extends)(EventedHTTPServer, _super);
61
61
  function EventedHTTPServer() {
62
62
  var _this = _super.call(this) || this;
63
63
  /**
@@ -74,7 +74,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
74
74
  var e_1, _a;
75
75
  var connectionString = "";
76
76
  try {
77
- for (var _b = tslib_1.__values(_this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
77
+ for (var _b = (0, tslib_1.__values)(_this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
78
78
  var connection = _c.value;
79
79
  if (connectionString) {
80
80
  connectionString += ", ";
@@ -104,7 +104,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
104
104
  var currentTime = new Date().getTime();
105
105
  var nextTimeout = -1;
106
106
  try {
107
- for (var _b = tslib_1.__values(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
107
+ for (var _b = (0, tslib_1.__values)(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
108
108
  var connection = _c.value;
109
109
  var timeDelta = currentTime - connection.lastSocketOperation;
110
110
  if (timeDelta >= EventedHTTPServer.MAX_CONNECTION_IDLE_TIME) {
@@ -131,7 +131,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
131
131
  var _this = this;
132
132
  this.tcpServer.listen(targetPort, hostname, function () {
133
133
  var address = _this.tcpServer.address(); // address() is only a string when listening to unix domain sockets
134
- debug("Server listening on %s:%s", address.family === "IPv6" ? "[" + address.address + "]" : address.address, address.port);
134
+ debug("Server listening on %s:%s", address.family === "IPv6" ? "[".concat(address.address, "]") : address.address, address.port);
135
135
  _this.emit("listening" /* LISTENING */, address.port, address.address);
136
136
  });
137
137
  this.tcpServer.on("connection", this.onConnection.bind(this));
@@ -140,7 +140,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
140
140
  var e_3, _a;
141
141
  this.tcpServer.close();
142
142
  try {
143
- for (var _b = tslib_1.__values(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
143
+ for (var _b = (0, tslib_1.__values)(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
144
144
  var connection = _c.value;
145
145
  connection.close();
146
146
  }
@@ -158,20 +158,20 @@ var EventedHTTPServer = /** @class */ (function (_super) {
158
158
  this.removeAllListeners();
159
159
  };
160
160
  /**
161
- * Send a even notification for given characteristic and changed value to all connected clients.
161
+ * Send an event notification for given characteristic and changed value to all connected clients.
162
162
  * If {@param originator} is specified, the given {@link HAPConnection} will be excluded from the broadcast.
163
163
  *
164
164
  * @param aid - The accessory id of the updated characteristic.
165
165
  * @param iid - The instance id of the updated characteristic.
166
166
  * @param value - The newly set value of the characteristic.
167
- * @param originator - If specified, the connection will not get a event message.
167
+ * @param originator - If specified, the connection will not get an event message.
168
168
  * @param immediateDelivery - The HAP spec requires some characteristics to be delivery immediately.
169
- * Namely for the {@link ButtonEvent} and the {@link ProgrammableSwitchEvent} characteristics.
169
+ * Namely, for the {@link ButtonEvent} and the {@link ProgrammableSwitchEvent} characteristics.
170
170
  */
171
171
  EventedHTTPServer.prototype.broadcastEvent = function (aid, iid, value, originator, immediateDelivery) {
172
172
  var e_4, _a;
173
173
  try {
174
- for (var _b = tslib_1.__values(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
174
+ for (var _b = (0, tslib_1.__values)(this.connections), _c = _b.next(); !_c.done; _c = _b.next()) {
175
175
  var connection = _c.value;
176
176
  if (connection === originator) {
177
177
  debug("[%s] Muting event '%s' notification for this connection since it originated here.", connection.remoteAddress, aid + "." + iid);
@@ -190,6 +190,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
190
190
  };
191
191
  EventedHTTPServer.prototype.onConnection = function (socket) {
192
192
  var _this = this;
193
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
193
194
  var connection = new HAPConnection(this, socket);
194
195
  connection.on("request" /* REQUEST */, function (request, response) {
195
196
  _this.emit("request" /* REQUEST */, connection, request, response);
@@ -233,7 +234,7 @@ var EventedHTTPServer = /** @class */ (function (_super) {
233
234
  var connections = initiator.server.connectionsByUsername.get(username);
234
235
  if (connections) {
235
236
  try {
236
- for (var connections_1 = tslib_1.__values(connections), connections_1_1 = connections_1.next(); !connections_1_1.done; connections_1_1 = connections_1.next()) {
237
+ for (var connections_1 = (0, tslib_1.__values)(connections), connections_1_1 = connections_1.next(); !connections_1_1.done; connections_1_1 = connections_1.next()) {
237
238
  var connection = connections_1_1.value;
238
239
  connection.closeConnectionAsOfUnpair(initiator);
239
240
  }
@@ -260,7 +261,7 @@ var HAPConnectionState;
260
261
  HAPConnectionState[HAPConnectionState["CONNECTING"] = 0] = "CONNECTING";
261
262
  HAPConnectionState[HAPConnectionState["FULLY_SET_UP"] = 1] = "FULLY_SET_UP";
262
263
  HAPConnectionState[HAPConnectionState["AUTHENTICATED"] = 2] = "AUTHENTICATED";
263
- // above signals are represent a alive connection
264
+ // above signals represent an alive connection
264
265
  // below states are considered "closed or soon closed"
265
266
  HAPConnectionState[HAPConnectionState["TO_BE_TEARED_DOWN"] = 3] = "TO_BE_TEARED_DOWN";
266
267
  HAPConnectionState[HAPConnectionState["CLOSING"] = 4] = "CLOSING";
@@ -277,7 +278,7 @@ var HAPConnectionEvent;
277
278
  * @private
278
279
  */
279
280
  var HAPConnection = /** @class */ (function (_super) {
280
- tslib_1.__extends(HAPConnection, _super);
281
+ (0, tslib_1.__extends)(HAPConnection, _super);
281
282
  function HAPConnection(server, clientSocket) {
282
283
  var _this = _super.call(this) || this;
283
284
  _this.state = 0 /* CONNECTING */;
@@ -285,31 +286,33 @@ var HAPConnection = /** @class */ (function (_super) {
285
286
  _this.pendingClientSocketData = Buffer.alloc(0); // data received from client before HTTP proxy is fully setup
286
287
  _this.handlingRequest = false; // true while we are composing an HTTP response (so events can wait)
287
288
  _this.registeredEvents = new Set();
288
- _this.queuedEvents = new Map();
289
- _this.pendingEventData = []; // queue of unencrypted event data waiting to be sent until after an in-progress HTTP response is being written
289
+ _this.queuedEvents = [];
290
+ // queue of unencrypted event data waiting to be sent until after an in-progress HTTP response is being written
291
+ _this.pendingEventData = [];
290
292
  _this.server = server;
291
- _this.sessionID = uuid.generate(clientSocket.remoteAddress + ':' + clientSocket.remotePort);
293
+ _this.sessionID = uuid.generate(clientSocket.remoteAddress + ":" + clientSocket.remotePort);
292
294
  _this.localAddress = clientSocket.localAddress;
293
295
  _this.remoteAddress = clientSocket.remoteAddress; // cache because it becomes undefined in 'onClientSocketClose'
294
296
  _this.remotePort = clientSocket.remotePort;
295
297
  _this.networkInterface = HAPConnection.getLocalNetworkInterface(clientSocket);
296
298
  // clientSocket is the socket connected to the actual iOS device
297
299
  _this.tcpSocket = clientSocket;
298
- _this.tcpSocket.on('data', _this.onTCPSocketData.bind(_this));
299
- _this.tcpSocket.on('close', _this.onTCPSocketClose.bind(_this));
300
- _this.tcpSocket.on('error', _this.onTCPSocketError.bind(_this)); // we MUST register for this event, otherwise the error will bubble up to the top and crash the node process entirely.
300
+ _this.tcpSocket.on("data", _this.onTCPSocketData.bind(_this));
301
+ _this.tcpSocket.on("close", _this.onTCPSocketClose.bind(_this));
302
+ // we MUST register for this event, otherwise the error will bubble up to the top and crash the node process entirely.
303
+ _this.tcpSocket.on("error", _this.onTCPSocketError.bind(_this));
301
304
  _this.tcpSocket.setNoDelay(true); // disable Nagle algorithm
302
305
  // "HAP accessory servers must not use keepalive messages, which periodically wake up iOS devices".
303
- // Thus we don't configure any tcp keepalive
306
+ // Thus, we don't configure any tcp keepalive
304
307
  // create our internal HTTP server for this connection that we will proxy data to and from
305
308
  _this.internalHttpServer = http_1.default.createServer();
306
309
  _this.internalHttpServer.timeout = 0; // clients expect to hold connections open as long as they want
307
310
  _this.internalHttpServer.keepAliveTimeout = 0; // workaround for https://github.com/nodejs/node/issues/13391
308
311
  _this.internalHttpServer.on("listening", _this.onHttpServerListening.bind(_this));
309
- _this.internalHttpServer.on('request', _this.handleHttpServerRequest.bind(_this));
310
- _this.internalHttpServer.on('error', _this.onHttpServerError.bind(_this));
312
+ _this.internalHttpServer.on("request", _this.handleHttpServerRequest.bind(_this));
313
+ _this.internalHttpServer.on("error", _this.onHttpServerError.bind(_this));
311
314
  // close event is added later on the "connect" event as possible listen retries would throw unnecessary close events
312
- _this.internalHttpServer.listen(0, _this.internalHttpServerAddress = net_utils_1.getOSLoopbackAddressIfAvailable());
315
+ _this.internalHttpServer.listen(0, _this.internalHttpServerAddress = (0, net_utils_1.getOSLoopbackAddressIfAvailable)());
313
316
  return _this;
314
317
  }
315
318
  /**
@@ -346,35 +349,46 @@ var HAPConnection = /** @class */ (function (_super) {
346
349
  }
347
350
  };
348
351
  HAPConnection.prototype.sendEvent = function (aid, iid, value, immediateDelivery) {
349
- assert_1.default(aid != undefined, "HAPConnection.sendEvent: aid must be defined!");
350
- assert_1.default(iid != undefined, "HAPConnection.sendEvent: iid must be defined!");
352
+ (0, assert_1.default)(aid != null, "HAPConnection.sendEvent: aid must be defined!");
353
+ (0, assert_1.default)(iid != null, "HAPConnection.sendEvent: iid must be defined!");
351
354
  var eventName = aid + "." + iid;
352
355
  if (!this.registeredEvents.has(eventName)) {
353
356
  return;
354
357
  }
358
+ var event = {
359
+ aid: aid,
360
+ iid: iid,
361
+ value: value,
362
+ };
355
363
  if (immediateDelivery) {
356
364
  // some characteristics are required to deliver notifications immediately
357
- this.writeEventNotification({
358
- characteristics: [{
359
- aid: aid,
360
- iid: iid,
361
- value: value,
362
- }],
363
- });
365
+ // we will flush all other events too, on that occasion.
366
+ this.queuedEvents.push(event);
367
+ if (this.eventsTimer) {
368
+ clearTimeout(this.eventsTimer);
369
+ }
370
+ this.handleEventsTimeout();
371
+ return;
364
372
  }
365
- else {
366
- // TODO should a new event not remove a previous event (to support censor open -> censor closed :thinking:)
367
- // any only remove previous events if the same value was set?
368
- this.queuedEvents.set(eventName, {
369
- aid: aid,
370
- iid: iid,
371
- value: value,
372
- });
373
- if (!this.handlingRequest && !this.eventsTimer) { // if we are handling a request or there is already a timer running we just add it in the queue
374
- this.eventsTimer = setTimeout(this.handleEventsTimeout.bind(this), 250);
375
- this.eventsTimer.unref();
373
+ // we search the list of queued events in reverse order.
374
+ // if the last element with the same aid and iid has the same value we don't want to send the event notification twice.
375
+ // BUT, we do not want to override previous event notifications which have a different value. Automations must be executed!
376
+ for (var i = this.queuedEvents.length - 1; i >= 0; i--) {
377
+ var queuedEvent = this.queuedEvents[i];
378
+ if (queuedEvent.aid === aid && queuedEvent.iid === iid) {
379
+ if (queuedEvent.value === value) {
380
+ return; // the same event was already queued. do not add it again!
381
+ }
382
+ break; // we break in any case
376
383
  }
377
384
  }
385
+ this.queuedEvents.push(event);
386
+ // if we are handling a request or there is already a timer running we just add it in the queue.
387
+ // remember: we flush the event queue after we send out the response.
388
+ if (!this.handlingRequest && !this.eventsTimer) {
389
+ this.eventsTimer = setTimeout(this.handleEventsTimeout.bind(this), 250);
390
+ this.eventsTimer.unref();
391
+ }
378
392
  };
379
393
  HAPConnection.prototype.handleEventsTimeout = function () {
380
394
  this.eventsTimer = undefined;
@@ -388,7 +402,7 @@ var HAPConnection = /** @class */ (function (_super) {
388
402
  HAPConnection.prototype.writePendingEventNotifications = function () {
389
403
  var e_6, _a;
390
404
  try {
391
- for (var _b = tslib_1.__values(this.pendingEventData), _c = _b.next(); !_c.done; _c = _b.next()) {
405
+ for (var _b = (0, tslib_1.__values)(this.pendingEventData), _c = _b.next(); !_c.done; _c = _b.next()) {
392
406
  var buffer = _c.value;
393
407
  this.tcpSocket.write(this.encrypt(buffer));
394
408
  }
@@ -404,17 +418,19 @@ var HAPConnection = /** @class */ (function (_super) {
404
418
  };
405
419
  HAPConnection.prototype.writeQueuedEventNotifications = function () {
406
420
  var e_7, _a;
407
- if (this.queuedEvents.size === 0 || this.eventsTimer) {
421
+ if (this.queuedEvents.length === 0 || this.eventsTimer) {
408
422
  return; // don't send empty event notifications or if there is a timeout running
409
423
  }
410
- var eventData = { characteristics: [] };
424
+ var eventData = {
425
+ characteristics: [],
426
+ };
411
427
  try {
412
- for (var _b = tslib_1.__values(this.queuedEvents), _c = _b.next(); !_c.done; _c = _b.next()) {
413
- var _d = tslib_1.__read(_c.value, 2), eventName = _d[0], characteristic = _d[1];
414
- if (!this.registeredEvents.has(eventName)) { // client unregistered events in the mean time
415
- continue;
428
+ for (var _b = (0, tslib_1.__values)(this.queuedEvents), _c = _b.next(); !_c.done; _c = _b.next()) {
429
+ var queuedEvent = _c.value;
430
+ if (!this.registeredEvents.has(queuedEvent.aid + "." + queuedEvent.iid)) {
431
+ continue; // client unregistered that event in the meantime
416
432
  }
417
- eventData.characteristics.push(characteristic);
433
+ eventData.characteristics.push(queuedEvent);
418
434
  }
419
435
  }
420
436
  catch (e_7_1) { e_7 = { error: e_7_1 }; }
@@ -424,12 +440,12 @@ var HAPConnection = /** @class */ (function (_super) {
424
440
  }
425
441
  finally { if (e_7) throw e_7.error; }
426
442
  }
427
- this.queuedEvents.clear();
443
+ this.queuedEvents.splice(0, this.queuedEvents.length);
428
444
  this.writeEventNotification(eventData);
429
445
  };
430
446
  /**
431
447
  * This will create an EVENT/1.0 notification header with the provided event notification.
432
- * If currently a HTTP request is in progress the assembled packet will be
448
+ * If currently an HTTP request is in progress the assembled packet will be
433
449
  * added to the pending events list.
434
450
  *
435
451
  * @param notification - The event which should be sent out
@@ -440,8 +456,7 @@ var HAPConnection = /** @class */ (function (_super) {
440
456
  var header = Buffer.from("EVENT/1.0 200 OK\r\n" +
441
457
  "Content-Type: application/hap+json\r\n" +
442
458
  "Content-Length: " + dataBuffer.length + "\r\n" +
443
- "\r\n", "utf8" // buffer encoding
444
- );
459
+ "\r\n", "utf8");
445
460
  var buffer = Buffer.concat([header, dataBuffer]);
446
461
  if (this.handlingRequest) {
447
462
  // it is important that we not encrypt the pending event data. This would increment the nonce used in encryption
@@ -474,29 +489,30 @@ var HAPConnection = /** @class */ (function (_super) {
474
489
  if (this.encryption && this.encryption.accessoryToControllerKey.length > 0 && this.encryption.controllerToAccessoryCount > 0) {
475
490
  return hapCrypto.layerEncrypt(data, this.encryption);
476
491
  }
477
- return data; // otherwise we don't encrypt and return plaintext
492
+ return data; // otherwise, we don't encrypt and return plaintext
478
493
  };
479
494
  HAPConnection.prototype.decrypt = function (data) {
480
495
  if (this.encryption && this.encryption.controllerToAccessoryKey.length > 0) {
481
496
  // below call may throw an error if decryption failed
482
497
  return hapCrypto.layerDecrypt(data, this.encryption);
483
498
  }
484
- return data; // otherwise we don't decrypt and return plaintext
499
+ return data; // otherwise, we don't decrypt and return plaintext
485
500
  };
486
501
  HAPConnection.prototype.onHttpServerListening = function () {
487
502
  var _this = this;
488
503
  var addressInfo = this.internalHttpServer.address(); // address() is only a string when listening to unix domain sockets
489
- var addressString = addressInfo.family === "IPv6" ? "[" + addressInfo.address + "]" : addressInfo.address;
504
+ var addressString = addressInfo.family === "IPv6" ? "[".concat(addressInfo.address, "]") : addressInfo.address;
490
505
  this.internalHttpServerPort = addressInfo.port;
491
506
  debugCon("[%s] Internal HTTP server listening on %s:%s", this.remoteAddress, addressString, addressInfo.port);
492
- this.internalHttpServer.on('close', this.onHttpServerClose.bind(this));
507
+ this.internalHttpServer.on("close", this.onHttpServerClose.bind(this));
493
508
  // now we can establish a connection to this running HTTP server for proxying data
494
509
  this.httpSocket = net_1.default.createConnection(this.internalHttpServerPort, this.internalHttpServerAddress); // previously we used addressInfo.address
495
510
  this.httpSocket.setNoDelay(true); // disable Nagle algorithm
496
- this.httpSocket.on('data', this.handleHttpServerResponse.bind(this));
497
- this.httpSocket.on('error', this.onHttpSocketError.bind(this)); // we MUST register for this event, otherwise the error will bubble up to the top and crash the node process entirely.
498
- this.httpSocket.on('close', this.onHttpSocketClose.bind(this));
499
- this.httpSocket.on('connect', function () {
511
+ this.httpSocket.on("data", this.handleHttpServerResponse.bind(this));
512
+ // we MUST register for this event, otherwise the error will bubble up to the top and crash the node process entirely.
513
+ this.httpSocket.on("error", this.onHttpSocketError.bind(this));
514
+ this.httpSocket.on("close", this.onHttpSocketClose.bind(this));
515
+ this.httpSocket.on("connect", function () {
500
516
  // we are now fully set up:
501
517
  // - clientSocket is connected to the iOS device
502
518
  // - serverSocket is connected to the httpServer
@@ -589,10 +605,10 @@ var HAPConnection = /** @class */ (function (_super) {
589
605
  };
590
606
  HAPConnection.prototype.onHttpServerError = function (err) {
591
607
  debugCon("[%s] HTTP server error: %s", this.remoteAddress, err.message);
592
- if (err.code === 'EADDRINUSE') {
608
+ if (err.code === "EADDRINUSE") {
593
609
  this.internalHttpServerPort = undefined;
594
610
  this.internalHttpServer.close();
595
- this.internalHttpServer.listen(0, this.internalHttpServerAddress = net_utils_1.getOSLoopbackAddressIfAvailable());
611
+ this.internalHttpServer.listen(0, this.internalHttpServerAddress = (0, net_utils_1.getOSLoopbackAddressIfAvailable)());
596
612
  }
597
613
  };
598
614
  HAPConnection.prototype.onHttpServerClose = function () {
@@ -615,7 +631,7 @@ var HAPConnection = /** @class */ (function (_super) {
615
631
  var infos = os_1.default.networkInterfaces()[this.networkInterface];
616
632
  if (ipVersion === "ipv4") {
617
633
  try {
618
- for (var infos_1 = tslib_1.__values(infos), infos_1_1 = infos_1.next(); !infos_1_1.done; infos_1_1 = infos_1.next()) {
634
+ for (var infos_1 = (0, tslib_1.__values)(infos), infos_1_1 = infos_1.next(); !infos_1_1.done; infos_1_1 = infos_1.next()) {
619
635
  var info = infos_1_1.value;
620
636
  if (info.family === "IPv4") {
621
637
  return info.address;
@@ -634,7 +650,7 @@ var HAPConnection = /** @class */ (function (_super) {
634
650
  else {
635
651
  var localUniqueAddress = undefined;
636
652
  try {
637
- for (var infos_2 = tslib_1.__values(infos), infos_2_1 = infos_2.next(); !infos_2_1.done; infos_2_1 = infos_2.next()) {
653
+ for (var infos_2 = (0, tslib_1.__values)(infos), infos_2_1 = infos_2.next(); !infos_2_1.done; infos_2_1 = infos_2.next()) {
638
654
  var info = infos_2_1.value;
639
655
  if (info.family === "IPv6") {
640
656
  if (!info.scopeid) {
@@ -673,10 +689,10 @@ var HAPConnection = /** @class */ (function (_super) {
673
689
  }
674
690
  var interfaces = os_1.default.networkInterfaces();
675
691
  try {
676
- for (var _e = tslib_1.__values(Object.entries(interfaces)), _f = _e.next(); !_f.done; _f = _e.next()) {
677
- var _g = tslib_1.__read(_f.value, 2), name = _g[0], infos = _g[1];
692
+ for (var _e = (0, tslib_1.__values)(Object.entries(interfaces)), _f = _e.next(); !_f.done; _f = _e.next()) {
693
+ var _g = (0, tslib_1.__read)(_f.value, 2), name = _g[0], infos = _g[1];
678
694
  try {
679
- for (var infos_3 = (e_11 = void 0, tslib_1.__values(infos)), infos_3_1 = infos_3.next(); !infos_3_1.done; infos_3_1 = infos_3.next()) {
695
+ for (var infos_3 = (e_11 = void 0, (0, tslib_1.__values)(infos)), infos_3_1 = infos_3.next(); !infos_3_1.done; infos_3_1 = infos_3.next()) {
680
696
  var info = infos_3_1.value;
681
697
  if (info.address === localAddress) {
682
698
  return name;
@@ -702,16 +718,16 @@ var HAPConnection = /** @class */ (function (_super) {
702
718
  // we couldn't map the address from above, we try now to match subnets (see https://github.com/homebridge/HAP-NodeJS/issues/847)
703
719
  var family = net_1.default.isIPv4(localAddress) ? "IPv4" : "IPv6";
704
720
  try {
705
- for (var _h = tslib_1.__values(Object.entries(interfaces)), _j = _h.next(); !_j.done; _j = _h.next()) {
706
- var _k = tslib_1.__read(_j.value, 2), name = _k[0], infos = _k[1];
721
+ for (var _h = (0, tslib_1.__values)(Object.entries(interfaces)), _j = _h.next(); !_j.done; _j = _h.next()) {
722
+ var _k = (0, tslib_1.__read)(_j.value, 2), name = _k[0], infos = _k[1];
707
723
  try {
708
- for (var infos_4 = (e_13 = void 0, tslib_1.__values(infos)), infos_4_1 = infos_4.next(); !infos_4_1.done; infos_4_1 = infos_4.next()) {
724
+ for (var infos_4 = (e_13 = void 0, (0, tslib_1.__values)(infos)), infos_4_1 = infos_4.next(); !infos_4_1.done; infos_4_1 = infos_4.next()) {
709
725
  var info = infos_4_1.value;
710
726
  if (info.family !== family) {
711
727
  continue;
712
728
  }
713
729
  // check if the localAddress is in the same subnet
714
- if (domain_formatter_1.getNetAddress(localAddress, info.netmask) === domain_formatter_1.getNetAddress(info.address, info.netmask)) {
730
+ if ((0, domain_formatter_1.getNetAddress)(localAddress, info.netmask) === (0, domain_formatter_1.getNetAddress)(info.address, info.netmask)) {
715
731
  return name;
716
732
  }
717
733
  }
@@ -732,7 +748,7 @@ var HAPConnection = /** @class */ (function (_super) {
732
748
  }
733
749
  finally { if (e_12) throw e_12.error; }
734
750
  }
735
- console.log("WARNING couldn't map socket coming from remote address " + socket.remoteAddress + ":" + socket.remotePort + " at local address " + socket.localAddress + " to a interface!");
751
+ console.log("WARNING couldn't map socket coming from remote address ".concat(socket.remoteAddress, ":").concat(socket.remotePort, " at local address ").concat(socket.localAddress, " to a interface!"));
736
752
  return Object.keys(interfaces)[1]; // just use the first interface after the loopback interface as fallback
737
753
  };
738
754
  return HAPConnection;
@@ -1 +1 @@
1
- {"version":3,"file":"eventedhttp.js","sourceRoot":"","sources":["../../../src/lib/util/eventedhttp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventedhttp.js","sourceRoot":"","sources":["../../../src/lib/util/eventedhttp.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /// <reference types="node" />
2
- import tweetnacl from 'tweetnacl';
2
+ import { BoxKeyPair } from "tweetnacl";
3
3
  import { HAPEncryption } from "./eventedhttp";
4
- export declare function generateCurve25519KeyPair(): tweetnacl.BoxKeyPair;
4
+ export declare function generateCurve25519KeyPair(): BoxKeyPair;
5
5
  export declare function generateCurve25519SharedSecKey(priKey: Uint8Array, pubKey: Uint8Array): Uint8Array;
6
6
  export declare function HKDF(hashAlg: string, salt: Buffer, ikm: Buffer, info: Buffer, size: number): Buffer;
7
- export declare function layerEncrypt(data: Buffer, encryption: HAPEncryption): Buffer;
8
- export declare function layerDecrypt(packet: Buffer, encryption: HAPEncryption): Buffer;
7
+ export declare function writeUInt64LE(number: number, buffer: Buffer, offset?: number): void;
9
8
  export declare function chacha20_poly1305_decryptAndVerify(key: Buffer, nonce: Buffer, aad: Buffer | null, ciphertext: Buffer, authTag: Buffer): Buffer;
10
9
  export declare function chacha20_poly1305_encryptAndSeal(key: Buffer, nonce: Buffer, aad: Buffer | null, plaintext: Buffer): {
11
10
  ciphertext: Buffer;
12
11
  authTag: Buffer;
13
12
  };
14
- export declare function writeUInt64LE(number: number, buffer: Buffer, offset?: number): void;
13
+ export declare function layerEncrypt(data: Buffer, encryption: HAPEncryption): Buffer;
14
+ export declare function layerDecrypt(packet: Buffer, encryption: HAPEncryption): Buffer;
15
15
  //# sourceMappingURL=hapCrypto.d.ts.map