hap-nodejs 0.10.0-beta.9 → 0.10.0

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 (185) hide show
  1. package/@types/bonjour-hap.d.ts +4 -3
  2. package/@types/simple-plist.d.ts +2 -1
  3. package/dist/BridgedCore.js +5 -4
  4. package/dist/BridgedCore.js.map +1 -1
  5. package/dist/Core.js +12 -10
  6. package/dist/Core.js.map +1 -1
  7. package/dist/accessories/AirConditioner_accessory.js +9 -9
  8. package/dist/accessories/AirConditioner_accessory.js.map +1 -1
  9. package/dist/accessories/AppleTVRemote_accessory.js +9 -8
  10. package/dist/accessories/AppleTVRemote_accessory.js.map +1 -1
  11. package/dist/accessories/Camera_accessory.js +82 -75
  12. package/dist/accessories/Camera_accessory.js.map +1 -1
  13. package/dist/accessories/Fan_accessory.js +6 -11
  14. package/dist/accessories/Fan_accessory.js.map +1 -1
  15. package/dist/accessories/GarageDoorOpener_accessory.js +7 -8
  16. package/dist/accessories/GarageDoorOpener_accessory.js.map +1 -1
  17. package/dist/accessories/Light-AdaptiveLighting_accessory.js +3 -4
  18. package/dist/accessories/Light-AdaptiveLighting_accessory.js.map +1 -1
  19. package/dist/accessories/Light_accessory.js +23 -14
  20. package/dist/accessories/Light_accessory.js.map +1 -1
  21. package/dist/accessories/Lock_accessory.js +7 -8
  22. package/dist/accessories/Lock_accessory.js.map +1 -1
  23. package/dist/accessories/MotionSensor_accessory.js +5 -6
  24. package/dist/accessories/MotionSensor_accessory.js.map +1 -1
  25. package/dist/accessories/Outlet_accessory.js +5 -6
  26. package/dist/accessories/Outlet_accessory.js.map +1 -1
  27. package/dist/accessories/SmartSpeaker_accessory.js +6 -6
  28. package/dist/accessories/SmartSpeaker_accessory.js.map +1 -1
  29. package/dist/accessories/Sprinkler_accessory.js +12 -13
  30. package/dist/accessories/Sprinkler_accessory.js.map +1 -1
  31. package/dist/accessories/TV_accessory.js +4 -5
  32. package/dist/accessories/TV_accessory.js.map +1 -1
  33. package/dist/accessories/TemperatureSensor_accessory.js +5 -6
  34. package/dist/accessories/TemperatureSensor_accessory.js.map +1 -1
  35. package/dist/accessories/Wi-FiRouter_accessory.d.ts +1 -1
  36. package/dist/accessories/Wi-FiRouter_accessory.d.ts.map +1 -1
  37. package/dist/accessories/Wi-FiRouter_accessory.js +7 -8
  38. package/dist/accessories/Wi-FiRouter_accessory.js.map +1 -1
  39. package/dist/accessories/Wi-FiSatellite_accessory.d.ts +1 -1
  40. package/dist/accessories/Wi-FiSatellite_accessory.d.ts.map +1 -1
  41. package/dist/accessories/Wi-FiSatellite_accessory.js +6 -7
  42. package/dist/accessories/Wi-FiSatellite_accessory.js.map +1 -1
  43. package/dist/accessories/gstreamer-audioProducer.d.ts.map +1 -1
  44. package/dist/accessories/gstreamer-audioProducer.js +12 -12
  45. package/dist/accessories/gstreamer-audioProducer.js.map +1 -1
  46. package/dist/index.d.ts +22 -22
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +2 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal-types.d.ts.map +1 -1
  51. package/dist/internal-types.js.map +1 -1
  52. package/dist/lib/Accessory.d.ts +12 -12
  53. package/dist/lib/Accessory.d.ts.map +1 -1
  54. package/dist/lib/Accessory.js +109 -89
  55. package/dist/lib/Accessory.js.map +1 -1
  56. package/dist/lib/AccessoryLoader.d.ts +10 -10
  57. package/dist/lib/AccessoryLoader.d.ts.map +1 -1
  58. package/dist/lib/AccessoryLoader.js +105 -95
  59. package/dist/lib/AccessoryLoader.js.map +1 -1
  60. package/dist/lib/Advertiser.d.ts +4 -4
  61. package/dist/lib/Advertiser.d.ts.map +1 -1
  62. package/dist/lib/Advertiser.js +32 -27
  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.map +1 -1
  67. package/dist/lib/Characteristic.d.ts +23 -22
  68. package/dist/lib/Characteristic.d.ts.map +1 -1
  69. package/dist/lib/Characteristic.js +95 -93
  70. package/dist/lib/Characteristic.js.map +1 -1
  71. package/dist/lib/HAPServer.d.ts +2 -2
  72. package/dist/lib/HAPServer.d.ts.map +1 -1
  73. package/dist/lib/HAPServer.js +18 -14
  74. package/dist/lib/HAPServer.js.map +1 -1
  75. package/dist/lib/Service.d.ts +3 -3
  76. package/dist/lib/Service.d.ts.map +1 -1
  77. package/dist/lib/Service.js +26 -26
  78. package/dist/lib/Service.js.map +1 -1
  79. package/dist/lib/camera/Camera.d.ts +2 -2
  80. package/dist/lib/camera/Camera.d.ts.map +1 -1
  81. package/dist/lib/camera/Camera.js +3 -3
  82. package/dist/lib/camera/Camera.js.map +1 -1
  83. package/dist/lib/camera/RTPProxy.d.ts +19 -19
  84. package/dist/lib/camera/RTPProxy.d.ts.map +1 -1
  85. package/dist/lib/camera/RTPProxy.js +229 -207
  86. package/dist/lib/camera/RTPProxy.js.map +1 -1
  87. package/dist/lib/camera/RTPStreamManagement.d.ts +4 -4
  88. package/dist/lib/camera/RTPStreamManagement.d.ts.map +1 -1
  89. package/dist/lib/camera/RTPStreamManagement.js +38 -34
  90. package/dist/lib/camera/RTPStreamManagement.js.map +1 -1
  91. package/dist/lib/camera/RecordingManagement.d.ts.map +1 -1
  92. package/dist/lib/camera/RecordingManagement.js +70 -34
  93. package/dist/lib/camera/RecordingManagement.js.map +1 -1
  94. package/dist/lib/camera/index.d.ts +4 -4
  95. package/dist/lib/controller/AdaptiveLightingController.d.ts +9 -9
  96. package/dist/lib/controller/AdaptiveLightingController.d.ts.map +1 -1
  97. package/dist/lib/controller/AdaptiveLightingController.js +21 -17
  98. package/dist/lib/controller/AdaptiveLightingController.js.map +1 -1
  99. package/dist/lib/controller/CameraController.d.ts +6 -4
  100. package/dist/lib/controller/CameraController.d.ts.map +1 -1
  101. package/dist/lib/controller/CameraController.js +18 -16
  102. package/dist/lib/controller/CameraController.js.map +1 -1
  103. package/dist/lib/controller/Controller.d.ts +3 -3
  104. package/dist/lib/controller/Controller.d.ts.map +1 -1
  105. package/dist/lib/controller/Controller.js.map +1 -1
  106. package/dist/lib/controller/DoorbellController.d.ts.map +1 -1
  107. package/dist/lib/controller/DoorbellController.js +1 -0
  108. package/dist/lib/controller/DoorbellController.js.map +1 -1
  109. package/dist/lib/controller/RemoteController.d.ts +1 -1
  110. package/dist/lib/controller/RemoteController.d.ts.map +1 -1
  111. package/dist/lib/controller/RemoteController.js +50 -42
  112. package/dist/lib/controller/RemoteController.js.map +1 -1
  113. package/dist/lib/controller/index.d.ts +4 -4
  114. package/dist/lib/datastream/DataStreamManagement.d.ts.map +1 -1
  115. package/dist/lib/datastream/DataStreamManagement.js +10 -9
  116. package/dist/lib/datastream/DataStreamManagement.js.map +1 -1
  117. package/dist/lib/datastream/DataStreamParser.d.ts +24 -24
  118. package/dist/lib/datastream/DataStreamParser.d.ts.map +1 -1
  119. package/dist/lib/datastream/DataStreamParser.js +14 -6
  120. package/dist/lib/datastream/DataStreamParser.js.map +1 -1
  121. package/dist/lib/datastream/DataStreamServer.d.ts +11 -1
  122. package/dist/lib/datastream/DataStreamServer.d.ts.map +1 -1
  123. package/dist/lib/datastream/DataStreamServer.js +85 -54
  124. package/dist/lib/datastream/DataStreamServer.js.map +1 -1
  125. package/dist/lib/datastream/index.d.ts +3 -3
  126. package/dist/lib/definitions/generate-definitions.d.ts.map +1 -1
  127. package/dist/lib/definitions/generate-definitions.js +18 -14
  128. package/dist/lib/definitions/generate-definitions.js.map +1 -1
  129. package/dist/lib/definitions/generator-configuration.d.ts.map +1 -1
  130. package/dist/lib/definitions/generator-configuration.js +32 -14
  131. package/dist/lib/definitions/generator-configuration.js.map +1 -1
  132. package/dist/lib/model/AccessoryInfo.d.ts +6 -6
  133. package/dist/lib/model/AccessoryInfo.d.ts.map +1 -1
  134. package/dist/lib/model/AccessoryInfo.js +79 -69
  135. package/dist/lib/model/AccessoryInfo.js.map +1 -1
  136. package/dist/lib/model/ControllerStorage.d.ts.map +1 -1
  137. package/dist/lib/model/ControllerStorage.js +2 -2
  138. package/dist/lib/model/ControllerStorage.js.map +1 -1
  139. package/dist/lib/model/HAPStorage.d.ts.map +1 -1
  140. package/dist/lib/model/HAPStorage.js +1 -0
  141. package/dist/lib/model/HAPStorage.js.map +1 -1
  142. package/dist/lib/model/IdentifierCache.d.ts +11 -11
  143. package/dist/lib/model/IdentifierCache.d.ts.map +1 -1
  144. package/dist/lib/model/IdentifierCache.js +67 -65
  145. package/dist/lib/model/IdentifierCache.js.map +1 -1
  146. package/dist/lib/tv/AccessControlManagement.d.ts +1 -1
  147. package/dist/lib/tv/AccessControlManagement.d.ts.map +1 -1
  148. package/dist/lib/tv/AccessControlManagement.js.map +1 -1
  149. package/dist/lib/util/clone.js +1 -0
  150. package/dist/lib/util/clone.js.map +1 -1
  151. package/dist/lib/util/color-utils.d.ts.map +1 -1
  152. package/dist/lib/util/color-utils.js +1 -1
  153. package/dist/lib/util/color-utils.js.map +1 -1
  154. package/dist/lib/util/eventedhttp.d.ts +7 -7
  155. package/dist/lib/util/eventedhttp.d.ts.map +1 -1
  156. package/dist/lib/util/eventedhttp.js +71 -55
  157. package/dist/lib/util/eventedhttp.js.map +1 -1
  158. package/dist/lib/util/hapCrypto.d.ts +5 -5
  159. package/dist/lib/util/hapCrypto.d.ts.map +1 -1
  160. package/dist/lib/util/hapCrypto.js +57 -86
  161. package/dist/lib/util/hapCrypto.js.map +1 -1
  162. package/dist/lib/util/hapStatusError.js +1 -1
  163. package/dist/lib/util/net-utils.d.ts.map +1 -1
  164. package/dist/lib/util/net-utils.js +0 -2
  165. package/dist/lib/util/net-utils.js.map +1 -1
  166. package/dist/lib/util/once.d.ts +1 -1
  167. package/dist/lib/util/once.d.ts.map +1 -1
  168. package/dist/lib/util/once.js +1 -0
  169. package/dist/lib/util/once.js.map +1 -1
  170. package/dist/lib/util/request-util.d.ts.map +1 -1
  171. package/dist/lib/util/request-util.js +1 -0
  172. package/dist/lib/util/request-util.js.map +1 -1
  173. package/dist/lib/util/time.d.ts +1 -1
  174. package/dist/lib/util/time.d.ts.map +1 -1
  175. package/dist/lib/util/time.js +5 -5
  176. package/dist/lib/util/time.js.map +1 -1
  177. package/dist/lib/util/tlv.d.ts.map +1 -1
  178. package/dist/lib/util/tlv.js +9 -6
  179. package/dist/lib/util/tlv.js.map +1 -1
  180. package/dist/lib/util/uuid.d.ts.map +1 -1
  181. package/dist/lib/util/uuid.js +25 -19
  182. package/dist/lib/util/uuid.js.map +1 -1
  183. package/dist/types.d.ts +0 -1
  184. package/dist/types.d.ts.map +1 -1
  185. package/package.json +14 -11
@@ -230,6 +230,39 @@ var ValidValuesIterable = /** @class */ (function () {
230
230
  };
231
231
  return ValidValuesIterable;
232
232
  }());
233
+ var numberPattern = /^-?\d+$/;
234
+ function extractHAPStatusFromError(error) {
235
+ var errorValue = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
236
+ if (numberPattern.test(error.message)) {
237
+ var value = parseInt(error.message, 10);
238
+ if ((0, HAPServer_1.IsKnownHAPStatusError)(value)) {
239
+ errorValue = value;
240
+ }
241
+ }
242
+ return errorValue;
243
+ }
244
+ function maxWithUndefined(a, b) {
245
+ if (a === undefined) {
246
+ return b;
247
+ }
248
+ else if (b === undefined) {
249
+ return a;
250
+ }
251
+ else {
252
+ return Math.max(a, b);
253
+ }
254
+ }
255
+ function minWithUndefined(a, b) {
256
+ if (a === undefined) {
257
+ return b;
258
+ }
259
+ else if (b === undefined) {
260
+ return a;
261
+ }
262
+ else {
263
+ return Math.min(a, b);
264
+ }
265
+ }
233
266
  /**
234
267
  * Characteristic represents a particular typed variable that can be assigned to a Service. For instance, a
235
268
  * "Hue" Characteristic might store a 'float' value of type 'arcdegrees'. You could add the Hue Characteristic
@@ -279,7 +312,7 @@ var Characteristic = /** @class */ (function (_super) {
279
312
  * @param handler
280
313
  */
281
314
  Characteristic.prototype.onGet = function (handler) {
282
- if (typeof handler !== 'function') {
315
+ if (typeof handler !== "function") {
283
316
  this.characteristicWarning(".onGet handler must be a function");
284
317
  return this;
285
318
  }
@@ -308,7 +341,7 @@ var Characteristic = /** @class */ (function (_super) {
308
341
  * @param handler
309
342
  */
310
343
  Characteristic.prototype.onSet = function (handler) {
311
- if (typeof handler !== 'function') {
344
+ if (typeof handler !== "function") {
312
345
  this.characteristicWarning(".onSet handler must be a function");
313
346
  return this;
314
347
  }
@@ -355,8 +388,8 @@ var Characteristic = /** @class */ (function (_super) {
355
388
  this.characteristicWarning("Characteristic Property 'minValue' can only be set for characteristics with numeric format, but not for " + this.props.format, "error-message" /* ERROR_MESSAGE */);
356
389
  props.minValue = undefined;
357
390
  }
358
- else if (typeof props.minValue !== 'number' || !Number.isFinite(props.minValue)) {
359
- this.characteristicWarning("Characteristic Property 'minValue' must be a finite number, received \"" + props.minValue + "\" (" + typeof props.minValue + ")", "error-message" /* ERROR_MESSAGE */);
391
+ else if (typeof props.minValue !== "number" || !Number.isFinite(props.minValue)) {
392
+ this.characteristicWarning("Characteristic Property 'minValue' must be a finite number, received \"".concat(props.minValue, "\" (").concat(typeof props.minValue, ")"), "error-message" /* ERROR_MESSAGE */);
360
393
  props.minValue = undefined;
361
394
  }
362
395
  else {
@@ -382,8 +415,8 @@ var Characteristic = /** @class */ (function (_super) {
382
415
  this.characteristicWarning("Characteristic Property 'maxValue' can only be set for characteristics with numeric format, but not for " + this.props.format, "error-message" /* ERROR_MESSAGE */);
383
416
  props.maxValue = undefined;
384
417
  }
385
- else if (typeof props.maxValue !== 'number' || !Number.isFinite(props.maxValue)) {
386
- this.characteristicWarning("Characteristic Property 'maxValue' must be a finite number, received \"" + props.maxValue + "\" (" + typeof props.maxValue + ")", "error-message" /* ERROR_MESSAGE */);
418
+ else if (typeof props.maxValue !== "number" || !Number.isFinite(props.maxValue)) {
419
+ this.characteristicWarning("Characteristic Property 'maxValue' must be a finite number, received \"".concat(props.maxValue, "\" (").concat(typeof props.maxValue, ")"), "error-message" /* ERROR_MESSAGE */);
387
420
  props.maxValue = undefined;
388
421
  }
389
422
  else {
@@ -629,7 +662,7 @@ var Characteristic = /** @class */ (function (_super) {
629
662
  /**
630
663
  * This method acts similarly to {@link updateValue} by setting the current value of the characteristic
631
664
  * without calling any {@link CharacteristicEventTypes.SET} or {@link onSet} handlers.
632
- * The difference is that this method forces a event notification sent (updateValue only sends one if the value changed).
665
+ * The difference is that this method forces an event notification sent (updateValue only sends one if the value changed).
633
666
  * This is especially useful for characteristics like {@link Characteristic.ButtonEvent} or {@link Characteristic.ProgrammableSwitchEvent}.
634
667
  *
635
668
  * @param value - The new value.
@@ -683,7 +716,7 @@ var Characteristic = /** @class */ (function (_super) {
683
716
  value = this.validateUserInput(value);
684
717
  }
685
718
  catch (error) {
686
- this.characteristicWarning("An illegal value was supplied by the read handler for characteristic: " + (error === null || error === void 0 ? void 0 : error.message), "warn-message" /* WARN_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
719
+ this.characteristicWarning("An illegal value was supplied by the read handler for characteristic: ".concat(error === null || error === void 0 ? void 0 : error.message), "warn-message" /* WARN_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
687
720
  this.statusCode = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
688
721
  // noinspection JSDeprecatedSymbols
689
722
  this.status = error;
@@ -709,7 +742,7 @@ var Characteristic = /** @class */ (function (_super) {
709
742
  this.status = error_1;
710
743
  }
711
744
  else {
712
- this.characteristicWarning("Unhandled error thrown inside read handler for characteristic: " + (error_1 === null || error_1 === void 0 ? void 0 : error_1.message), "error-message" /* ERROR_MESSAGE */, error_1 === null || error_1 === void 0 ? void 0 : error_1.stack);
745
+ this.characteristicWarning("Unhandled error thrown inside read handler for characteristic: ".concat(error_1 === null || error_1 === void 0 ? void 0 : error_1.message), "error-message" /* ERROR_MESSAGE */, error_1 === null || error_1 === void 0 ? void 0 : error_1.stack);
713
746
  this.statusCode = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
714
747
  // noinspection JSDeprecatedSymbols
715
748
  this.status = error_1;
@@ -724,7 +757,7 @@ var Characteristic = /** @class */ (function (_super) {
724
757
  return [2 /*return*/, this.validateUserInput(this.value)];
725
758
  }
726
759
  catch (error) {
727
- this.characteristicWarning("An illegal value was supplied by setting `value` for characteristic: " + (error === null || error === void 0 ? void 0 : error.message), "warn-message" /* WARN_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
760
+ this.characteristicWarning("An illegal value was supplied by setting `value` for characteristic: ".concat(error === null || error === void 0 ? void 0 : error.message), "warn-message" /* WARN_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
728
761
  return [2 /*return*/, Promise.reject(-70402 /* SERVICE_COMMUNICATION_FAILURE */)];
729
762
  }
730
763
  }
@@ -765,7 +798,7 @@ var Characteristic = /** @class */ (function (_super) {
765
798
  }), context, connection);
766
799
  }
767
800
  catch (error) {
768
- _this.characteristicWarning("Unhandled error thrown inside read handler for characteristic: " + (error === null || error === void 0 ? void 0 : error.message), "error-message" /* ERROR_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
801
+ _this.characteristicWarning("Unhandled error thrown inside read handler for characteristic: ".concat(error === null || error === void 0 ? void 0 : error.message), "error-message" /* ERROR_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
769
802
  _this.statusCode = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
770
803
  // noinspection JSDeprecatedSymbols
771
804
  _this.status = error;
@@ -804,7 +837,7 @@ var Characteristic = /** @class */ (function (_super) {
804
837
  value = this.validateClientSuppliedValue(value);
805
838
  }
806
839
  catch (e) {
807
- debug("[" + this.displayName + "]", e.message);
840
+ debug("[".concat(this.displayName, "]"), e.message);
808
841
  return [2 /*return*/, Promise.reject(-70410 /* INVALID_VALUE_IN_REQUEST */)];
809
842
  }
810
843
  }
@@ -849,7 +882,7 @@ var Characteristic = /** @class */ (function (_super) {
849
882
  this.status = error_2;
850
883
  }
851
884
  else {
852
- this.characteristicWarning("Unhandled error thrown inside write handler for characteristic: " + (error_2 === null || error_2 === void 0 ? void 0 : error_2.message), "error-message" /* ERROR_MESSAGE */, error_2 === null || error_2 === void 0 ? void 0 : error_2.stack);
885
+ this.characteristicWarning("Unhandled error thrown inside write handler for characteristic: ".concat(error_2 === null || error_2 === void 0 ? void 0 : error_2.message), "error-message" /* ERROR_MESSAGE */, error_2 === null || error_2 === void 0 ? void 0 : error_2.stack);
853
886
  this.statusCode = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
854
887
  // noinspection JSDeprecatedSymbols
855
888
  this.status = error_2;
@@ -905,7 +938,7 @@ var Characteristic = /** @class */ (function (_super) {
905
938
  }), context, connection);
906
939
  }
907
940
  catch (error) {
908
- _this.characteristicWarning("Unhandled error thrown inside write handler for characteristic: " + (error === null || error === void 0 ? void 0 : error.message), "error-message" /* ERROR_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
941
+ _this.characteristicWarning("Unhandled error thrown inside write handler for characteristic: ".concat(error === null || error === void 0 ? void 0 : error.message), "error-message" /* ERROR_MESSAGE */, error === null || error === void 0 ? void 0 : error.stack);
909
942
  _this.statusCode = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
910
943
  // noinspection JSDeprecatedSymbols
911
944
  _this.status = error;
@@ -978,10 +1011,10 @@ var Characteristic = /** @class */ (function (_super) {
978
1011
  case Characteristic.CurrentTemperature.UUID:
979
1012
  return 0; // some existing integrations expect this to be 0 by default
980
1013
  default: {
981
- if (((_a = this.props.validValues) === null || _a === void 0 ? void 0 : _a.length) && typeof this.props.validValues[0] === 'number') {
1014
+ if (((_a = this.props.validValues) === null || _a === void 0 ? void 0 : _a.length) && typeof this.props.validValues[0] === "number") {
982
1015
  return this.props.validValues[0];
983
1016
  }
984
- if (typeof this.props.minValue === 'number' && Number.isFinite(this.props.minValue)) {
1017
+ if (typeof this.props.minValue === "number" && Number.isFinite(this.props.minValue)) {
985
1018
  return this.props.minValue;
986
1019
  }
987
1020
  return 0;
@@ -998,18 +1031,18 @@ var Characteristic = /** @class */ (function (_super) {
998
1031
  * @param value - Value supplied by the HomeKit controller
999
1032
  */
1000
1033
  Characteristic.prototype.validateClientSuppliedValue = function (value) {
1001
- if (value == undefined) {
1002
- throw new Error("Client supplied invalid value for " + this.props.format + ": undefined");
1034
+ if (value == null) {
1035
+ throw new Error("Client supplied invalid value for ".concat(this.props.format, ": ").concat(value));
1003
1036
  }
1004
1037
  switch (this.props.format) {
1005
1038
  case "bool" /* BOOL */: {
1006
- if (typeof value === 'boolean') {
1039
+ if (typeof value === "boolean") {
1007
1040
  return value;
1008
1041
  }
1009
- if (typeof value === 'number' && (value === 1 || value === 0)) {
1042
+ if (typeof value === "number" && (value === 1 || value === 0)) {
1010
1043
  return Boolean(value);
1011
1044
  }
1012
- throw new Error("Client supplied invalid type for " + this.props.format + ": \"" + value + "\" (" + typeof value + ")");
1045
+ throw new Error("Client supplied invalid type for ".concat(this.props.format, ": \"").concat(value, "\" (").concat(typeof value, ")"));
1013
1046
  }
1014
1047
  case "int" /* INT */:
1015
1048
  case "float" /* FLOAT */:
@@ -1021,53 +1054,53 @@ var Characteristic = /** @class */ (function (_super) {
1021
1054
  value = value ? 1 : 0;
1022
1055
  }
1023
1056
  if (typeof value !== "number" || !Number.isFinite(value)) {
1024
- throw new Error("Client supplied invalid type for " + this.props.format + ": \"" + value + "\" (" + typeof value + ")");
1057
+ throw new Error("Client supplied invalid type for ".concat(this.props.format, ": \"").concat(value, "\" (").concat(typeof value, ")"));
1025
1058
  }
1026
1059
  var numericMin = maxWithUndefined(this.props.minValue, (0, request_util_1.numericLowerBound)(this.props.format));
1027
1060
  var numericMax = minWithUndefined(this.props.maxValue, (0, request_util_1.numericUpperBound)(this.props.format));
1028
- if (typeof numericMin === 'number' && value < numericMin) {
1029
- throw new Error("Client supplied value of " + value + " is less than the minimum allowed value of " + numericMin);
1061
+ if (typeof numericMin === "number" && value < numericMin) {
1062
+ throw new Error("Client supplied value of ".concat(value, " is less than the minimum allowed value of ").concat(numericMin));
1030
1063
  }
1031
- if (typeof numericMax === 'number' && value > numericMax) {
1032
- throw new Error("Client supplied value of " + value + " is greater than the maximum allowed value of " + numericMax);
1064
+ if (typeof numericMax === "number" && value > numericMax) {
1065
+ throw new Error("Client supplied value of ".concat(value, " is greater than the maximum allowed value of ").concat(numericMax));
1033
1066
  }
1034
1067
  if (this.props.validValues && !this.props.validValues.includes(value)) {
1035
- throw new Error("Client supplied value of " + value + " is not in " + this.props.validValues.toString());
1068
+ throw new Error("Client supplied value of ".concat(value, " is not in ").concat(this.props.validValues.toString()));
1036
1069
  }
1037
1070
  if (this.props.validValueRanges && this.props.validValueRanges.length === 2) {
1038
1071
  if (value < this.props.validValueRanges[0]) {
1039
- throw new Error("Client supplied value of " + value + " is less than the minimum allowed value of " + this.props.validValueRanges[0]);
1072
+ throw new Error("Client supplied value of ".concat(value, " is less than the minimum allowed value of ").concat(this.props.validValueRanges[0]));
1040
1073
  }
1041
1074
  if (value > this.props.validValueRanges[1]) {
1042
- throw new Error("Client supplied value of " + value + " is greater than the maximum allowed value of " + this.props.validValueRanges[1]);
1075
+ throw new Error("Client supplied value of ".concat(value, " is greater than the maximum allowed value of ").concat(this.props.validValueRanges[1]));
1043
1076
  }
1044
1077
  }
1045
1078
  return value;
1046
1079
  }
1047
1080
  case "string" /* STRING */: {
1048
1081
  if (typeof value !== "string") {
1049
- throw new Error("Client supplied invalid type for " + this.props.format + ": \"" + value + "\" (" + typeof value + ")");
1082
+ throw new Error("Client supplied invalid type for ".concat(this.props.format, ": \"").concat(value, "\" (").concat(typeof value, ")"));
1050
1083
  }
1051
1084
  var maxLength = this.props.maxLen != null ? this.props.maxLen : 64; // default is 64; max is 256 which is set in setProps
1052
1085
  if (value.length > maxLength) {
1053
- throw new Error("Client supplied value length of " + value.length + " exceeds maximum length allowed of " + maxLength);
1086
+ throw new Error("Client supplied value length of ".concat(value.length, " exceeds maximum length allowed of ").concat(maxLength));
1054
1087
  }
1055
1088
  return value;
1056
1089
  }
1057
1090
  case "data" /* DATA */: {
1058
1091
  if (typeof value !== "string") {
1059
- throw new Error("Client supplied invalid type for " + this.props.format + ": \"" + value + "\" (" + typeof value + ")");
1092
+ throw new Error("Client supplied invalid type for ".concat(this.props.format, ": \"").concat(value, "\" (").concat(typeof value, ")"));
1060
1093
  }
1061
1094
  // we don't validate base64 here
1062
1095
  var maxLength = this.props.maxDataLen != null ? this.props.maxDataLen : 0x200000; // default is 0x200000
1063
1096
  if (value.length > maxLength) {
1064
- throw new Error("Client supplied value length of " + value.length + " exceeds maximum length allowed of " + maxLength);
1097
+ throw new Error("Client supplied value length of ".concat(value.length, " exceeds maximum length allowed of ").concat(maxLength));
1065
1098
  }
1066
1099
  return value;
1067
1100
  }
1068
1101
  case "tlv8" /* TLV8 */:
1069
1102
  if (typeof value !== "string") {
1070
- throw new Error("Client supplied invalid type for " + this.props.format + ": \"" + value + "\" (" + typeof value + ")");
1103
+ throw new Error("Client supplied invalid type for ".concat(this.props.format, ": \"").concat(value, "\" (").concat(typeof value, ")"));
1071
1104
  }
1072
1105
  return value;
1073
1106
  }
@@ -1111,7 +1144,7 @@ var Characteristic = /** @class */ (function (_super) {
1111
1144
  }
1112
1145
  }
1113
1146
  else {
1114
- // we currently allow null for any non custom defined characteristics
1147
+ // we currently allow null for any non-custom defined characteristics
1115
1148
  return value;
1116
1149
  }
1117
1150
  }
@@ -1141,9 +1174,9 @@ var Characteristic = /** @class */ (function (_super) {
1141
1174
  if (typeof value === "string") {
1142
1175
  value = this.props.format === "float" /* FLOAT */ ? parseFloat(value) : parseInt(value, 10);
1143
1176
  }
1144
- if (typeof value !== 'number' || !Number.isFinite(value)) {
1145
- this.characteristicWarning("characteristic value expected valid finite number and received \"" + value + "\" (" + typeof value + ")");
1146
- value = typeof this.value === 'number' ? this.value : this.props.minValue || 0;
1177
+ if (typeof value !== "number" || !Number.isFinite(value)) {
1178
+ this.characteristicWarning("characteristic value expected valid finite number and received \"".concat(value, "\" (").concat(typeof value, ")"));
1179
+ value = typeof this.value === "number" ? this.value : this.props.minValue || 0;
1147
1180
  }
1148
1181
  var numericMin = maxWithUndefined(this.props.minValue, (0, request_util_1.numericLowerBound)(this.props.format));
1149
1182
  var numericMax = minWithUndefined(this.props.maxValue, (0, request_util_1.numericUpperBound)(this.props.format));
@@ -1155,28 +1188,28 @@ var Characteristic = /** @class */ (function (_super) {
1155
1188
  stepValue = maxWithUndefined(this.props.minStep, 1);
1156
1189
  }
1157
1190
  if (numericMin != null && value < numericMin) {
1158
- this.characteristicWarning("characteristic was supplied illegal value: number " + value + " exceeded minimum of " + numericMin);
1191
+ this.characteristicWarning("characteristic was supplied illegal value: number ".concat(value, " exceeded minimum of ").concat(numericMin));
1159
1192
  value = numericMin;
1160
1193
  }
1161
1194
  if (numericMax != null && value > numericMax) {
1162
- this.characteristicWarning("characteristic was supplied illegal value: number " + value + " exceeded maximum of " + numericMax);
1195
+ this.characteristicWarning("characteristic was supplied illegal value: number ".concat(value, " exceeded maximum of ").concat(numericMax));
1163
1196
  value = numericMax;
1164
1197
  }
1165
1198
  if (this.props.validValues && !this.props.validValues.includes(value)) {
1166
- this.characteristicWarning("characteristic value " + value + " is not contained in valid values array");
1199
+ this.characteristicWarning("characteristic value ".concat(value, " is not contained in valid values array"));
1167
1200
  return this.props.validValues.includes(this.value) ? this.value : (this.props.validValues[0] || 0);
1168
1201
  }
1169
1202
  if (this.props.validValueRanges && this.props.validValueRanges.length === 2) {
1170
1203
  if (value < this.props.validValueRanges[0]) {
1171
- this.characteristicWarning("characteristic was supplied illegal value: number " + value + " not contained in valid value range of " + this.props.validValueRanges + ", supplying illegal values will throw errors in the future");
1204
+ this.characteristicWarning("characteristic was supplied illegal value: number ".concat(value, " not contained in valid value range of ").concat(this.props.validValueRanges, ", supplying illegal values will throw errors in the future"));
1172
1205
  value = this.props.validValueRanges[0];
1173
1206
  }
1174
1207
  else if (value > this.props.validValueRanges[1]) {
1175
- this.characteristicWarning("characteristic was supplied illegal value: number " + value + " not contained in valid value range of " + this.props.validValueRanges + ", supplying illegal values will throw errors in the future");
1208
+ this.characteristicWarning("characteristic was supplied illegal value: number ".concat(value, " not contained in valid value range of ").concat(this.props.validValueRanges, ", supplying illegal values will throw errors in the future"));
1176
1209
  value = this.props.validValueRanges[1];
1177
1210
  }
1178
1211
  }
1179
- if (stepValue != undefined) {
1212
+ if (stepValue != null) {
1180
1213
  if (stepValue === 1) {
1181
1214
  value = Math.round(value);
1182
1215
  }
@@ -1189,20 +1222,22 @@ var Characteristic = /** @class */ (function (_super) {
1189
1222
  }
1190
1223
  case "string" /* STRING */: {
1191
1224
  if (typeof value === "number") {
1192
- this.characteristicWarning("characteristic was supplied illegal value: number instead of string, supplying illegal values will throw errors in the future");
1225
+ this.characteristicWarning("characteristic was supplied illegal value: number instead of string, " +
1226
+ "supplying illegal values will throw errors in the future");
1193
1227
  value = String(value);
1194
1228
  }
1195
1229
  if (typeof value !== "string") {
1196
1230
  this.characteristicWarning("characteristic value expected string and received " + (typeof value));
1197
- value = typeof this.value === 'string' ? this.value : value + '';
1231
+ value = typeof this.value === "string" ? this.value : value + "";
1198
1232
  }
1199
- if (value.length <= 1 && (this.UUID === Characteristic.Model.UUID || this.UUID === Characteristic.SerialNumber.UUID)) { // mirrors the case value = null at the beginning
1200
- this.characteristicWarning("[" + this.displayName + "] characteristic must have a length of more than 1 character otherwise HomeKit will reject this accessory, ignoring new value");
1233
+ // mirrors the case value = null at the beginning
1234
+ if (value.length <= 1 && (this.UUID === Characteristic.Model.UUID || this.UUID === Characteristic.SerialNumber.UUID)) {
1235
+ this.characteristicWarning("[".concat(this.displayName, "] characteristic must have a length of more than 1 character otherwise HomeKit will reject this accessory, ignoring new value"));
1201
1236
  return this.value; // just return the current value
1202
1237
  }
1203
1238
  var maxLength = (_a = this.props.maxLen) !== null && _a !== void 0 ? _a : 64; // default is 64 (max is 256 which is set in setProps)
1204
1239
  if (value.length > maxLength) {
1205
- this.characteristicWarning("characteristic was supplied illegal value: string '" + value + "' exceeded max length of " + maxLength);
1240
+ this.characteristicWarning("characteristic was supplied illegal value: string '".concat(value, "' exceeded max length of ").concat(maxLength));
1206
1241
  value = value.substring(0, maxLength);
1207
1242
  }
1208
1243
  return value;
@@ -1263,9 +1298,9 @@ var Characteristic = /** @class */ (function (_super) {
1263
1298
  this.updateValue(characteristic.value);
1264
1299
  var getListeners = characteristic.listeners("get" /* GET */);
1265
1300
  if (getListeners.length) {
1266
- // the callback can only be called once so we remove all old listeners
1301
+ // the callback can only be called once, so we remove all old listeners
1267
1302
  this.removeAllListeners("get" /* GET */);
1268
- // @ts-expect-error
1303
+ // @ts-expect-error: force type
1269
1304
  getListeners.forEach(function (listener) { return _this.addListener("get" /* GET */, listener); });
1270
1305
  }
1271
1306
  this.removeOnGet();
@@ -1274,9 +1309,9 @@ var Characteristic = /** @class */ (function (_super) {
1274
1309
  }
1275
1310
  var setListeners = characteristic.listeners("set" /* SET */);
1276
1311
  if (setListeners.length) {
1277
- // the callback can only be called once so we remove all old listeners
1312
+ // the callback can only be called once, so we remove all old listeners
1278
1313
  this.removeAllListeners("set" /* SET */);
1279
- // @ts-expect-error
1314
+ // @ts-expect-error: force type
1280
1315
  setListeners.forEach(function (listener) { return _this.addListener("set" /* SET */, listener); });
1281
1316
  }
1282
1317
  this.removeOnSet();
@@ -1309,7 +1344,7 @@ var Characteristic = /** @class */ (function (_super) {
1309
1344
  if (!contactGetHandlers) return [3 /*break*/, 4];
1310
1345
  return [4 /*yield*/, this.handleGetRequest(connection).catch(function () {
1311
1346
  var value = _this.getDefaultValue();
1312
- debug('[%s] Error getting value for characteristic on /accessories request. Returning default value instead: %s', _this.displayName, "" + value);
1347
+ debug("[%s] Error getting value for characteristic on /accessories request. Returning default value instead: %s", _this.displayName, "".concat(value));
1313
1348
  return value; // use default value
1314
1349
  })];
1315
1350
  case 3:
@@ -1393,54 +1428,21 @@ var Characteristic = /** @class */ (function (_super) {
1393
1428
  return characteristic;
1394
1429
  };
1395
1430
  /**
1396
- * @deprecated Please use the Formats const enum above. Scheduled to be removed in 2021-06.
1431
+ * @deprecated Please use the Formats const enum above.
1397
1432
  */
1398
- // @ts-expect-error
1433
+ // @ts-expect-error: forceConsistentCasingInFileNames compiler option
1399
1434
  Characteristic.Formats = Formats;
1400
1435
  /**
1401
- * @deprecated Please use the Units const enum above. Scheduled to be removed in 2021-06.
1436
+ * @deprecated Please use the Units const enum above.
1402
1437
  */
1403
- // @ts-expect-error
1438
+ // @ts-expect-error: forceConsistentCasingInFileNames compiler option
1404
1439
  Characteristic.Units = Units;
1405
1440
  /**
1406
- * @deprecated Please use the Perms const enum above. Scheduled to be removed in 2021-06.
1441
+ * @deprecated Please use the Perms const enum above.
1407
1442
  */
1408
- // @ts-expect-error
1443
+ // @ts-expect-error: forceConsistentCasingInFileNames compiler option
1409
1444
  Characteristic.Perms = Perms;
1410
1445
  return Characteristic;
1411
1446
  }(events_1.EventEmitter));
1412
1447
  exports.Characteristic = Characteristic;
1413
- var numberPattern = /^-?\d+$/;
1414
- function extractHAPStatusFromError(error) {
1415
- var errorValue = -70402 /* SERVICE_COMMUNICATION_FAILURE */;
1416
- if (numberPattern.test(error.message)) {
1417
- var value = parseInt(error.message, 10);
1418
- if ((0, HAPServer_1.IsKnownHAPStatusError)(value)) {
1419
- errorValue = value;
1420
- }
1421
- }
1422
- return errorValue;
1423
- }
1424
- function maxWithUndefined(a, b) {
1425
- if (a === undefined) {
1426
- return b;
1427
- }
1428
- else if (b === undefined) {
1429
- return a;
1430
- }
1431
- else {
1432
- return Math.max(a, b);
1433
- }
1434
- }
1435
- function minWithUndefined(a, b) {
1436
- if (a === undefined) {
1437
- return b;
1438
- }
1439
- else if (b === undefined) {
1440
- return a;
1441
- }
1442
- else {
1443
- return Math.min(a, b);
1444
- }
1445
- }
1446
1448
  //# sourceMappingURL=Characteristic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Characteristic.js","sourceRoot":"","sources":["../../src/lib/Characteristic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Characteristic.js","sourceRoot":"","sources":["../../src/lib/Characteristic.ts"],"names":[],"mappings":"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"}