homebridge-plugin-utils 1.0.0 → 1.2.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/build/eslint-rules.mjs +172 -20
- package/dist/featureoptions.d.ts +24 -11
- package/dist/featureoptions.js +32 -22
- package/dist/featureoptions.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 +2 -8
- package/dist/mqttclient.js.map +1 -1
- package/dist/rtp.d.ts +25 -0
- package/dist/rtp.js +178 -0
- package/dist/rtp.js.map +1 -0
- package/dist/ui/featureoptions.js +32 -22
- package/dist/ui/featureoptions.js.map +1 -1
- package/dist/ui/{webui-featureoptions.mjs → webUi-featureoptions.mjs} +353 -117
- package/dist/ui/webUi.mjs +85 -56
- package/dist/utils.d.ts +22 -0
- package/dist/utils.js.map +1 -1
- package/package.json +4 -4
package/build/eslint-rules.mjs
CHANGED
|
@@ -5,15 +5,134 @@
|
|
|
5
5
|
import stylistic from "@stylistic/eslint-plugin";
|
|
6
6
|
import tsEslint from "@typescript-eslint/eslint-plugin";
|
|
7
7
|
|
|
8
|
+
const ruleBlankAfterOpenBrace = {
|
|
9
|
+
|
|
10
|
+
create(context) {
|
|
11
|
+
|
|
12
|
+
function checkNode(node) {
|
|
13
|
+
|
|
14
|
+
const sourceCode = context.getSourceCode();
|
|
15
|
+
const openBrace = sourceCode.getFirstToken(node);
|
|
16
|
+
const nextToken = sourceCode.getTokenAfter(openBrace);
|
|
17
|
+
|
|
18
|
+
if(openBrace.loc.end.line < nextToken.loc.start.line) {
|
|
19
|
+
|
|
20
|
+
const nextLine = sourceCode.lines[openBrace.loc.end.line];
|
|
21
|
+
|
|
22
|
+
if(nextLine.trim() !== "") {
|
|
23
|
+
|
|
24
|
+
context.report({
|
|
25
|
+
|
|
26
|
+
fix(fixer) {
|
|
27
|
+
|
|
28
|
+
return fixer.insertTextAfter(openBrace, "\n\n");
|
|
29
|
+
},
|
|
30
|
+
loc: openBrace.loc,
|
|
31
|
+
message: "Expected blank line after left brace and newline.",
|
|
32
|
+
node
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return {
|
|
39
|
+
|
|
40
|
+
// Validate block statements.
|
|
41
|
+
BlockStatement(node) {
|
|
42
|
+
|
|
43
|
+
checkNode(node);
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
// Validate class declarations and any embedded methods or objects.
|
|
47
|
+
ClassBody(node) {
|
|
48
|
+
|
|
49
|
+
checkNode(node);
|
|
50
|
+
|
|
51
|
+
for(const element of node.body) {
|
|
52
|
+
|
|
53
|
+
if(!["MethodDefinition", "PropertyDefinition"].includes(element.type) || element.value?.type !== "ObjectExpression") {
|
|
54
|
+
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
checkNode(node);
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
// Validate object expressions.
|
|
63
|
+
ObjectExpression(node) {
|
|
64
|
+
|
|
65
|
+
checkNode(node);
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
// Validate interface declarations and any embedded objects.
|
|
69
|
+
TSInterfaceBody(node) {
|
|
70
|
+
|
|
71
|
+
checkNode(node);
|
|
72
|
+
|
|
73
|
+
for(const property of node.body) {
|
|
74
|
+
|
|
75
|
+
if(!property.typeAnnotation || (property.type !== "TSPropertySignature") || (property.typeAnnotation.typeAnnotation.type !== "TSTypeLiteral")) {
|
|
76
|
+
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
checkNode(property.typeAnnotation.typeAnnotation);
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
// Validate type declarations and any embedded objects.
|
|
85
|
+
TSTypeAliasDeclaration(node) {
|
|
86
|
+
|
|
87
|
+
if(node.typeAnnotation.type !== "TSTypeLiteral") {
|
|
88
|
+
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
checkNode(node.typeAnnotation);
|
|
93
|
+
|
|
94
|
+
for(const member of node.typeAnnotation.members) {
|
|
95
|
+
|
|
96
|
+
if(!member.typeAnnotation || (member.type !== "TSPropertySignature") || (member.typeAnnotation.typeAnnotation.type !== "TSTypeLiteral")) {
|
|
97
|
+
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
checkNode(member.typeAnnotation.typeAnnotation);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
meta: {
|
|
107
|
+
|
|
108
|
+
docs: {
|
|
109
|
+
|
|
110
|
+
category: "Stylistic Issues",
|
|
111
|
+
description: "require a blank line after an opening brace if it is immediately followed by a newline",
|
|
112
|
+
recommended: false
|
|
113
|
+
},
|
|
114
|
+
fixable: "whitespace",
|
|
115
|
+
schema: [],
|
|
116
|
+
type: "layout"
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
8
120
|
// ESlint plugins to use.
|
|
9
|
-
const
|
|
121
|
+
const plugins = {
|
|
10
122
|
|
|
123
|
+
"@hjdhjd": {
|
|
124
|
+
|
|
125
|
+
"rules": {
|
|
126
|
+
|
|
127
|
+
"blank-line-after-open-brace": ruleBlankAfterOpenBrace
|
|
128
|
+
}
|
|
129
|
+
},
|
|
11
130
|
"@stylistic": stylistic,
|
|
12
131
|
"@typescript-eslint": tsEslint
|
|
13
132
|
};
|
|
14
133
|
|
|
15
134
|
// TypeScript-specific rules.
|
|
16
|
-
const
|
|
135
|
+
const tsRules = {
|
|
17
136
|
|
|
18
137
|
...tsEslint.configs.strictTypeChecked,
|
|
19
138
|
...tsEslint.configs.stylisticTypeChecked,
|
|
@@ -28,33 +147,60 @@ const eslintTsRules = {
|
|
|
28
147
|
};
|
|
29
148
|
|
|
30
149
|
// JavaScript-specific rules.
|
|
31
|
-
const
|
|
150
|
+
const jsRules = {
|
|
32
151
|
|
|
33
152
|
...tsEslint.configs.disableTypeChecked,
|
|
34
153
|
"@typescript-eslint/no-floating-promises": "off"
|
|
35
154
|
};
|
|
36
155
|
|
|
37
156
|
// Rules that exist across both JavaScript and TypeScript files.
|
|
38
|
-
const
|
|
157
|
+
const commonRules = {
|
|
39
158
|
|
|
40
159
|
...tsEslint.configs.eslintRecommended,
|
|
41
|
-
"@
|
|
42
|
-
"@stylistic/
|
|
43
|
-
"@stylistic/
|
|
44
|
-
"@stylistic/
|
|
160
|
+
"@hjdhjd/blank-line-after-open-brace": "warn",
|
|
161
|
+
"@stylistic/block-spacing": "warn",
|
|
162
|
+
"@stylistic/brace-style": ["warn", "1tbs", { "allowSingleLine": true }],
|
|
163
|
+
"@stylistic/comma-dangle": "warn",
|
|
164
|
+
"@stylistic/eol-last": ["warn", "always"],
|
|
165
|
+
"@stylistic/generator-star-spacing": "warn",
|
|
166
|
+
"@stylistic/implicit-arrow-linebreak": "warn",
|
|
45
167
|
"@stylistic/indent": ["warn", 2, { "SwitchCase": 1 }],
|
|
46
|
-
"@stylistic/keyword-spacing": ["
|
|
168
|
+
"@stylistic/keyword-spacing": ["warn",
|
|
47
169
|
{ "overrides": { "catch": { "after": false }, "for": { "after": false }, "if": { "after": false }, "switch": { "after": false}, "while": { "after": false } } }],
|
|
48
170
|
"@stylistic/linebreak-style": ["warn", "unix"],
|
|
49
171
|
"@stylistic/lines-between-class-members": ["warn", "always", { "exceptAfterSingleLine": true }],
|
|
50
172
|
"@stylistic/max-len": ["warn", 170],
|
|
51
|
-
"@stylistic/no-tabs": "
|
|
52
|
-
"@stylistic/no-trailing-spaces": "
|
|
173
|
+
"@stylistic/no-tabs": "warn",
|
|
174
|
+
"@stylistic/no-trailing-spaces": "warn",
|
|
175
|
+
"@stylistic/operator-linebreak": ["warn", "after", { "overrides": { ":": "after", "?": "after" } }],
|
|
176
|
+
"@stylistic/padding-line-between-statements": ["warn",
|
|
177
|
+
|
|
178
|
+
// Require a blank line before every statement type in next.
|
|
179
|
+
{ "blankLine": "always", "next": ["break", "case", "class", "continue", "default", "export", "for", "function", "if", "import", "return"], "prev": "*" },
|
|
180
|
+
|
|
181
|
+
// Require blank lines after every statement type in prev.
|
|
182
|
+
{ "blankLine": "always", "next": "*", "prev": ["const", "directive", "let", "var"] },
|
|
183
|
+
|
|
184
|
+
// Multiple sequential case declarations may be grouped together.
|
|
185
|
+
{ "blankLine": "any", "next": ["case", "default"], "prev": ["case", "default"] },
|
|
186
|
+
|
|
187
|
+
// Multiple sequential variable declarations may be grouped together.
|
|
188
|
+
{ "blankLine": "any", "next": ["const", "let", "var"], "prev": ["const", "let", "var"] },
|
|
189
|
+
|
|
190
|
+
// Multiple sequential export declarations may be grouped together.
|
|
191
|
+
{ "blankLine": "any", "next": "export", "prev": "export" },
|
|
192
|
+
|
|
193
|
+
// Multiple sequential import declarations must be grouped together.
|
|
194
|
+
{ "blankLine": "never", "next": "import", "prev": "import" },
|
|
195
|
+
|
|
196
|
+
// Multiple sequential directive prologues must be grouped together.
|
|
197
|
+
{ "blankLine": "never", "next": "directive", "prev": "directive" }
|
|
198
|
+
],
|
|
53
199
|
"@stylistic/semi": ["warn", "always"],
|
|
54
|
-
"@stylistic/space-before-function-paren": ["
|
|
55
|
-
"@stylistic/space-in-parens": "
|
|
56
|
-
"@stylistic/space-infix-ops": "
|
|
57
|
-
"@stylistic/space-unary-ops": "
|
|
200
|
+
"@stylistic/space-before-function-paren": ["warn", { "anonymous": "never", "asyncArrow": "always", "named": "never" }],
|
|
201
|
+
"@stylistic/space-in-parens": "warn",
|
|
202
|
+
"@stylistic/space-infix-ops": "warn",
|
|
203
|
+
"@stylistic/space-unary-ops": "warn",
|
|
58
204
|
"@typescript-eslint/no-this-alias": "warn",
|
|
59
205
|
"camelcase": "warn",
|
|
60
206
|
"curly": ["warn", "all"],
|
|
@@ -69,14 +215,20 @@ const eslintCommonRules = {
|
|
|
69
215
|
"sort-vars": "warn"
|
|
70
216
|
};
|
|
71
217
|
|
|
218
|
+
// Globals that tend to exist in Homebridge plugins with a webUI.
|
|
219
|
+
const globalsUi = Object.fromEntries(["console", "document", "fetch", "homebridge"].map(key => [key, "readonly"]));
|
|
220
|
+
|
|
72
221
|
export default {
|
|
73
222
|
|
|
74
|
-
|
|
223
|
+
globals: {
|
|
224
|
+
|
|
225
|
+
ui: globalsUi
|
|
226
|
+
},
|
|
227
|
+
plugins: plugins,
|
|
75
228
|
rules: {
|
|
76
229
|
|
|
77
|
-
common:
|
|
78
|
-
js:
|
|
79
|
-
ts:
|
|
230
|
+
common: commonRules,
|
|
231
|
+
js: jsRules,
|
|
232
|
+
ts: tsRules
|
|
80
233
|
}
|
|
81
234
|
};
|
|
82
|
-
|
package/dist/featureoptions.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface FeatureOptionEntry {
|
|
2
2
|
default: boolean;
|
|
3
|
-
defaultValue?: number;
|
|
3
|
+
defaultValue?: number | string;
|
|
4
4
|
description: string;
|
|
5
5
|
group?: string;
|
|
6
6
|
name: string;
|
|
@@ -8,7 +8,6 @@ export interface FeatureOptionEntry {
|
|
|
8
8
|
export interface FeatureCategoryEntry {
|
|
9
9
|
description: string;
|
|
10
10
|
name: string;
|
|
11
|
-
validFor: string[];
|
|
12
11
|
}
|
|
13
12
|
type OptionScope = "controller" | "device" | "global" | "none";
|
|
14
13
|
export declare class FeatureOptions {
|
|
@@ -21,8 +20,18 @@ export declare class FeatureOptions {
|
|
|
21
20
|
private valueOptions;
|
|
22
21
|
constructor(categories: FeatureCategoryEntry[], options: {
|
|
23
22
|
[index: string]: FeatureOptionEntry[];
|
|
24
|
-
}, configuredOptions
|
|
25
|
-
|
|
23
|
+
}, configuredOptions?: never[]);
|
|
24
|
+
/**
|
|
25
|
+
* Return a Bootstrap-specific color reference depending on the scope of a given feature option.
|
|
26
|
+
*
|
|
27
|
+
* @param option - Feature option to check.
|
|
28
|
+
* @param device - Optional device scope identifier.
|
|
29
|
+
* @param controller - Optional controller scope identifier.
|
|
30
|
+
*
|
|
31
|
+
* @returns Returns a Bootstrap color utility class associated with each scope level. `text-info` denotes an entry that's been modified at that scope level, while
|
|
32
|
+
* `text-success` and `text-warning` denote options that were defined at higher levels in the scope hierarchy - controller and global, respectively.
|
|
33
|
+
*/
|
|
34
|
+
color(option: string, device?: string, controller?: string): string;
|
|
26
35
|
/**
|
|
27
36
|
* Return the default value for an option.
|
|
28
37
|
*
|
|
@@ -52,19 +61,23 @@ export declare class FeatureOptions {
|
|
|
52
61
|
/**
|
|
53
62
|
* Parse a floating point feature option value.
|
|
54
63
|
*
|
|
55
|
-
* @param
|
|
64
|
+
* @param option - Feature option to check.
|
|
65
|
+
* @param device - Optional device scope identifier.
|
|
66
|
+
* @param controller - Optional controller scope identifier.
|
|
56
67
|
*
|
|
57
|
-
* @returns Returns a floating point number
|
|
68
|
+
* @returns Returns the value of a value-centric option as a floating point number or `undefined` if it doesn't exist or couldn't be parsed.
|
|
58
69
|
*/
|
|
59
|
-
getFloat(
|
|
70
|
+
getFloat(option: string, device?: string, controller?: string): number | undefined;
|
|
60
71
|
/**
|
|
61
72
|
* Parse an integer feature option value.
|
|
62
73
|
*
|
|
63
|
-
* @param
|
|
74
|
+
* @param option - Feature option to check.
|
|
75
|
+
* @param device - Optional device scope identifier.
|
|
76
|
+
* @param controller - Optional controller scope identifier.
|
|
64
77
|
*
|
|
65
|
-
* @returns Returns
|
|
78
|
+
* @returns Returns the value of a value-centric option as an integer or `undefined` if it doesn't exist or couldn't be parsed.
|
|
66
79
|
*/
|
|
67
|
-
getInteger(
|
|
80
|
+
getInteger(option: string, device?: string, controller?: string): number | undefined;
|
|
68
81
|
/**
|
|
69
82
|
* Return whether an option has been set in either the device or controller scope context.
|
|
70
83
|
*
|
|
@@ -168,7 +181,7 @@ export declare class FeatureOptions {
|
|
|
168
181
|
[index: string]: FeatureOptionEntry[];
|
|
169
182
|
});
|
|
170
183
|
private generateDefaults;
|
|
171
|
-
private
|
|
184
|
+
private optionInfo;
|
|
172
185
|
private isOptionEnabled;
|
|
173
186
|
private optionRegex;
|
|
174
187
|
private parseOptionNumeric;
|
package/dist/featureoptions.js
CHANGED
|
@@ -7,7 +7,7 @@ export class FeatureOptions {
|
|
|
7
7
|
defaults;
|
|
8
8
|
valueOptions;
|
|
9
9
|
// Create a feature option instance.
|
|
10
|
-
constructor(categories, options, configuredOptions) {
|
|
10
|
+
constructor(categories, options, configuredOptions = []) {
|
|
11
11
|
// Initialize our defaults.
|
|
12
12
|
this._categories = [];
|
|
13
13
|
this._configuredOptions = [];
|
|
@@ -20,8 +20,18 @@ export class FeatureOptions {
|
|
|
20
20
|
this.configuredOptions = configuredOptions;
|
|
21
21
|
this.options = options ?? {};
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Return a Bootstrap-specific color reference depending on the scope of a given feature option.
|
|
25
|
+
*
|
|
26
|
+
* @param option - Feature option to check.
|
|
27
|
+
* @param device - Optional device scope identifier.
|
|
28
|
+
* @param controller - Optional controller scope identifier.
|
|
29
|
+
*
|
|
30
|
+
* @returns Returns a Bootstrap color utility class associated with each scope level. `text-info` denotes an entry that's been modified at that scope level, while
|
|
31
|
+
* `text-success` and `text-warning` denote options that were defined at higher levels in the scope hierarchy - controller and global, respectively.
|
|
32
|
+
*/
|
|
33
|
+
color(option, device, controller) {
|
|
34
|
+
switch (this.scope(option, device, controller)) {
|
|
25
35
|
case "device":
|
|
26
36
|
return "text-info";
|
|
27
37
|
case "controller":
|
|
@@ -82,32 +92,28 @@ export class FeatureOptions {
|
|
|
82
92
|
/**
|
|
83
93
|
* Parse a floating point feature option value.
|
|
84
94
|
*
|
|
85
|
-
* @param
|
|
95
|
+
* @param option - Feature option to check.
|
|
96
|
+
* @param device - Optional device scope identifier.
|
|
97
|
+
* @param controller - Optional controller scope identifier.
|
|
86
98
|
*
|
|
87
|
-
* @returns Returns a floating point number
|
|
99
|
+
* @returns Returns the value of a value-centric option as a floating point number or `undefined` if it doesn't exist or couldn't be parsed.
|
|
88
100
|
*/
|
|
89
|
-
getFloat(
|
|
90
|
-
// We don't have the value configured -- we're done.
|
|
91
|
-
if (value === undefined) {
|
|
92
|
-
return undefined;
|
|
93
|
-
}
|
|
101
|
+
getFloat(option, device, controller) {
|
|
94
102
|
// Parse the number and return the value.
|
|
95
|
-
return this.parseOptionNumeric(value, parseFloat);
|
|
103
|
+
return this.parseOptionNumeric(this.value(option, device, controller), parseFloat);
|
|
96
104
|
}
|
|
97
105
|
/**
|
|
98
106
|
* Parse an integer feature option value.
|
|
99
107
|
*
|
|
100
|
-
* @param
|
|
108
|
+
* @param option - Feature option to check.
|
|
109
|
+
* @param device - Optional device scope identifier.
|
|
110
|
+
* @param controller - Optional controller scope identifier.
|
|
101
111
|
*
|
|
102
|
-
* @returns Returns
|
|
112
|
+
* @returns Returns the value of a value-centric option as an integer or `undefined` if it doesn't exist or couldn't be parsed.
|
|
103
113
|
*/
|
|
104
|
-
getInteger(
|
|
105
|
-
// We don't have the value configured -- we're done.
|
|
106
|
-
if (value === undefined) {
|
|
107
|
-
return undefined;
|
|
108
|
-
}
|
|
114
|
+
getInteger(option, device, controller) {
|
|
109
115
|
// Parse the number and return the value.
|
|
110
|
-
return this.parseOptionNumeric(value, parseInt);
|
|
116
|
+
return this.parseOptionNumeric(this.value(option, device, controller), parseInt);
|
|
111
117
|
}
|
|
112
118
|
/**
|
|
113
119
|
* Return whether an option has been set in either the device or controller scope context.
|
|
@@ -153,7 +159,7 @@ export class FeatureOptions {
|
|
|
153
159
|
* @returns Returns an object containing the location in the scope hierarchy of an `option` as well as the current value associated with the option.
|
|
154
160
|
*/
|
|
155
161
|
scope(option, device, controller) {
|
|
156
|
-
return this.
|
|
162
|
+
return this.optionInfo(option, device, controller).scope;
|
|
157
163
|
}
|
|
158
164
|
/**
|
|
159
165
|
* Return the current state of a feature option, traversing the scope hierarchy.
|
|
@@ -165,7 +171,7 @@ export class FeatureOptions {
|
|
|
165
171
|
* @returns Returns true if the option is enabled, and false otherwise.
|
|
166
172
|
*/
|
|
167
173
|
test(option, device, controller) {
|
|
168
|
-
return this.
|
|
174
|
+
return this.optionInfo(option, device, controller).value;
|
|
169
175
|
}
|
|
170
176
|
/**
|
|
171
177
|
* Return the value associated with a value-centric feature option, traversing the scope hierarchy.
|
|
@@ -177,6 +183,10 @@ export class FeatureOptions {
|
|
|
177
183
|
* @returns Returns the current value associated with `option` or `undefined` if none.
|
|
178
184
|
*/
|
|
179
185
|
value(option, device, controller) {
|
|
186
|
+
// If this isn't a value-centric feature option, we're done.
|
|
187
|
+
if (!this.isValue(option)) {
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
180
190
|
const getValue = (checkOption, checkId) => {
|
|
181
191
|
const regex = this.valueRegex(checkOption, checkId);
|
|
182
192
|
// Get the option value, if we have one.
|
|
@@ -287,7 +297,7 @@ export class FeatureOptions {
|
|
|
287
297
|
}
|
|
288
298
|
}
|
|
289
299
|
// Utility function to return the setting of a particular option and it's position in the scoping hierarchy.
|
|
290
|
-
|
|
300
|
+
optionInfo(option, device, controller) {
|
|
291
301
|
// There are a couple of ways to enable and disable options. The rules of the road are:
|
|
292
302
|
//
|
|
293
303
|
// 1. Explicitly disabling, or enabling an option on the controller propogates to all the devices that are managed by that controller. Why might you want to do this?
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"featureoptions.js","sourceRoot":"","sources":["../src/featureoptions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC"}
|
package/dist/mqttclient.js
CHANGED
|
@@ -124,18 +124,12 @@ export class MqttClient {
|
|
|
124
124
|
// Return the current status of a given sensor.
|
|
125
125
|
this.subscribe(id, topic + "/set", (message) => {
|
|
126
126
|
const value = message.toString().toLowerCase();
|
|
127
|
-
const logResult = () =>
|
|
128
|
-
log.info("MQTT: set message received for %s: %s.", type, value);
|
|
129
|
-
};
|
|
127
|
+
const logResult = () => log.info("MQTT: set message received for %s: %s.", type, value);
|
|
130
128
|
// Set our value and inform the user.
|
|
131
129
|
const result = setValue(value, message.toString());
|
|
132
130
|
// For callbacks that are promises, we wait until they complete before logging the result.
|
|
133
131
|
if (result && typeof result.then === "function") {
|
|
134
|
-
result.then((
|
|
135
|
-
logResult();
|
|
136
|
-
}).catch(error => {
|
|
137
|
-
log.error("MQTT: error seting message received for %s: %s. %s", type, value, error);
|
|
138
|
-
});
|
|
132
|
+
result.then(logResult).catch(error => log.error("MQTT: error seting message received for %s: %s. %s", type, value, error));
|
|
139
133
|
return;
|
|
140
134
|
}
|
|
141
135
|
// Log the outcome.
|
package/dist/mqttclient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"AAKA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C,MAAM,OAAO,UAAU;IAEb,SAAS,CAAS;IAClB,WAAW,CAAU;IACrB,iBAAiB,CAAS;IAC1B,GAAG,CAA0B;IAC7B,IAAI,CAAyB;IAC7B,aAAa,CAAkD;IAC/D,WAAW,CAAS;IAE5B,YAAY,SAAiB,EAAE,WAAmB,EAAE,GAA4B,EAAE,iBAAiB,GAAG,+BAA+B;QAEnI,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,8BAA8B;IACtB,SAAS;QAEf,2EAA2E;QAC3E,IAAI,CAAC;YAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAC,CAAC,CAAC;QAEzH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,IAAG,KAAK,YAAY,KAAK,EAAE,CAAC;gBAE1B,QAAO,KAAK,CAAC,OAAO,EAAE,CAAC;oBAErB,KAAK,kBAAkB;wBAErB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mqttclient.js","sourceRoot":"","sources":["../src/mqttclient.ts"],"names":[],"mappings":"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"}
|
package/dist/rtp.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { EventEmitter } from "node:events";
|
|
4
|
+
import { HomebridgePluginLogging } from "./utils.js";
|
|
5
|
+
export declare class RtpDemuxer extends EventEmitter {
|
|
6
|
+
private heartbeatTimer;
|
|
7
|
+
private heartbeatMsg;
|
|
8
|
+
private _isRunning;
|
|
9
|
+
private log?;
|
|
10
|
+
private inputPort;
|
|
11
|
+
readonly socket: import("dgram").Socket;
|
|
12
|
+
constructor(ipFamily: ("ipv4" | "ipv6"), inputPort: number, rtcpPort: number, rtpPort: number, log: HomebridgePluginLogging);
|
|
13
|
+
private heartbeat;
|
|
14
|
+
close(): void;
|
|
15
|
+
private getPayloadType;
|
|
16
|
+
private isRtpMessage;
|
|
17
|
+
get isRunning(): boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare class RtpPortAllocator {
|
|
20
|
+
private portsInUse;
|
|
21
|
+
constructor();
|
|
22
|
+
private getPort;
|
|
23
|
+
reserve(ipFamily?: ("ipv4" | "ipv6"), portCount?: (1 | 2), attempts?: number): Promise<number>;
|
|
24
|
+
cancel(port: number): void;
|
|
25
|
+
}
|