homebridge-plugin-utils 1.34.0 → 1.35.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.
- package/dist/backpressure.d.ts +79 -0
- package/dist/backpressure.js +137 -0
- package/dist/backpressure.js.map +1 -0
- package/dist/ffmpeg/codecs.js +8 -3
- package/dist/ffmpeg/codecs.js.map +1 -1
- package/dist/ffmpeg/fmp4.d.ts +21 -2
- package/dist/ffmpeg/fmp4.js +55 -2
- package/dist/ffmpeg/fmp4.js.map +1 -1
- package/dist/ffmpeg/options.d.ts +1 -1
- package/dist/ffmpeg/options.js +1 -1
- package/dist/ffmpeg/options.js.map +1 -1
- package/dist/ffmpeg/process.d.ts +18 -12
- package/dist/ffmpeg/process.js +41 -28
- package/dist/ffmpeg/process.js.map +1 -1
- package/dist/ffmpeg/record.d.ts +3 -3
- package/dist/ffmpeg/record.js +23 -16
- package/dist/ffmpeg/record.js.map +1 -1
- package/dist/ffmpeg/rtp.d.ts +2 -2
- package/dist/ffmpeg/rtp.js +8 -1
- package/dist/ffmpeg/rtp.js.map +1 -1
- package/dist/ffmpeg/settings.d.ts +1 -0
- package/dist/ffmpeg/settings.js +3 -0
- package/dist/ffmpeg/settings.js.map +1 -1
- package/dist/ffmpeg/stream.js +5 -3
- package/dist/ffmpeg/stream.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mqttclient.js +1 -1
- package/dist/mqttclient.js.map +1 -1
- package/dist/service.d.ts +1 -1
- package/dist/service.js +1 -1
- package/dist/util.d.ts +0 -5
- package/dist/util.js +24 -10
- package/dist/util.js.map +1 -1
- package/package.json +2 -2
package/dist/service.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ export declare function validService(accessory: PlatformAccessory, serviceType:
|
|
|
84
84
|
* @param service - The service from which to retrieve the name.
|
|
85
85
|
* @returns The configured or display name of the service, or `undefined` if neither is set.
|
|
86
86
|
*
|
|
87
|
-
* @see setServiceName — to update the current name
|
|
87
|
+
* @see setServiceName — to update the current name on a service.
|
|
88
88
|
* @category Accessory
|
|
89
89
|
*/
|
|
90
90
|
export declare function getServiceName(service?: Service): string | undefined;
|
package/dist/service.js
CHANGED
|
@@ -221,7 +221,7 @@ function serviceHasName(service) {
|
|
|
221
221
|
* @param service - The service from which to retrieve the name.
|
|
222
222
|
* @returns The configured or display name of the service, or `undefined` if neither is set.
|
|
223
223
|
*
|
|
224
|
-
* @see setServiceName — to update the current name
|
|
224
|
+
* @see setServiceName — to update the current name on a service.
|
|
225
225
|
* @category Accessory
|
|
226
226
|
*/
|
|
227
227
|
export function getServiceName(service) {
|
package/dist/util.d.ts
CHANGED
package/dist/util.js
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
*
|
|
3
3
|
* util.ts: Useful utility functions when writing TypeScript.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* TypeScript Utilities.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/
|
|
10
|
+
// Validates a name against HomeKit's naming conventions. Compiled once at module scope since this sits on the fast path of sanitizeName().
|
|
11
|
+
const VALID_HOMEKIT_NAME = /^(?!.*\p{Extended_Pictographic})(?!.* {2})(?=^[\p{L}\p{N}].*[\p{L}\p{N}.]$)[\p{L}\p{N}\-"'.,#& ]+$/u;
|
|
5
12
|
/**
|
|
6
13
|
* A utility method that formats a bitrate value into a human-readable form as kbps or Mbps.
|
|
7
14
|
*
|
|
@@ -61,17 +68,24 @@ export function formatBps(value) {
|
|
|
61
68
|
* @category Utilities
|
|
62
69
|
*/
|
|
63
70
|
export async function retry(operation, retryInterval, totalRetries) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
let remainingRetries = totalRetries;
|
|
72
|
+
for (;;) {
|
|
73
|
+
// If we've exhausted our retries, we're done.
|
|
74
|
+
if ((remainingRetries !== undefined) && (remainingRetries <= 0)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
// Try the operation that was requested.
|
|
78
|
+
// eslint-disable-next-line no-await-in-loop
|
|
79
|
+
if (await operation()) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
// If the operation wasn't successful, sleep for the requested interval and try again.
|
|
83
|
+
if (remainingRetries !== undefined) {
|
|
84
|
+
remainingRetries--;
|
|
85
|
+
}
|
|
86
|
+
// eslint-disable-next-line no-await-in-loop
|
|
70
87
|
await sleep(retryInterval);
|
|
71
|
-
return retry(operation, retryInterval, (totalRetries === undefined) ? undefined : --totalRetries);
|
|
72
88
|
}
|
|
73
|
-
// We were successful - we're done.
|
|
74
|
-
return true;
|
|
75
89
|
}
|
|
76
90
|
/**
|
|
77
91
|
* Run a promise with a guaranteed timeout to complete.
|
|
@@ -205,6 +219,6 @@ export function sanitizeName(name) {
|
|
|
205
219
|
* @category Utilities
|
|
206
220
|
*/
|
|
207
221
|
export function validateName(name) {
|
|
208
|
-
return
|
|
222
|
+
return VALID_HOMEKIT_NAME.test(name);
|
|
209
223
|
}
|
|
210
224
|
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-plugin-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.35.0",
|
|
4
4
|
"displayName": "Homebridge Plugin Utilities",
|
|
5
5
|
"description": "Opinionated utilities to provide common capabilities and create rich configuration webUI experiences for Homebridge plugins.",
|
|
6
6
|
"author": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"typedoc": "0.28.18",
|
|
49
49
|
"typedoc-plugin-markdown": "4.11.0",
|
|
50
50
|
"typescript": "5.9.3",
|
|
51
|
-
"typescript-eslint": "8.58.
|
|
51
|
+
"typescript-eslint": "8.58.1"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"mqtt": "5.15.1"
|