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