@iobroker/js-controller-adapter 7.2.3 → 8.0.0-alpha.1-20260921-e5941ca8a
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/cjs/index.d.ts +0 -1
- package/build/cjs/index.js +5 -8
- package/build/cjs/index.js.map +2 -2
- package/build/cjs/lib/_Types.d.ts +394 -63
- package/build/cjs/lib/adapter/adapter.d.ts +1818 -177
- package/build/cjs/lib/adapter/adapter.js +715 -1035
- package/build/cjs/lib/adapter/adapter.js.map +2 -2
- package/build/cjs/lib/adapter/asyncAdapter.d.ts +124 -0
- package/build/cjs/lib/adapter/asyncAdapter.js +184 -0
- package/build/cjs/lib/adapter/asyncAdapter.js.map +7 -0
- package/build/cjs/lib/adapter/context.d.ts +34 -0
- package/build/cjs/lib/adapter/context.js +17 -0
- package/build/cjs/lib/adapter/context.js.map +7 -0
- package/build/cjs/lib/adapter/defaultObjs.d.ts +5 -0
- package/build/cjs/lib/adapter/defaultObjs.js +2 -0
- package/build/cjs/lib/adapter/defaultObjs.js.map +2 -2
- package/build/cjs/lib/adapter/log.d.ts +25 -0
- package/build/cjs/lib/adapter/log.js +29 -0
- package/build/cjs/lib/adapter/log.js.map +2 -2
- package/build/cjs/lib/adapter/managers/AdapterContextBase.d.ts +49 -0
- package/build/cjs/lib/adapter/managers/AdapterContextBase.js +98 -0
- package/build/cjs/lib/adapter/managers/AdapterContextBase.js.map +7 -0
- package/build/cjs/lib/adapter/managers/AliasManager.d.ts +103 -0
- package/build/cjs/lib/adapter/managers/AliasManager.js +293 -0
- package/build/cjs/lib/adapter/managers/AliasManager.js.map +7 -0
- package/build/cjs/lib/adapter/managers/CertificateManager.d.ts +50 -0
- package/build/cjs/lib/adapter/managers/CertificateManager.js +174 -0
- package/build/cjs/lib/adapter/managers/CertificateManager.js.map +7 -0
- package/build/cjs/lib/adapter/managers/MessagingManager.d.ts +58 -0
- package/build/cjs/lib/adapter/managers/MessagingManager.js +289 -0
- package/build/cjs/lib/adapter/managers/MessagingManager.js.map +7 -0
- package/build/cjs/lib/adapter/managers/SubscriptionManager.d.ts +107 -0
- package/build/cjs/lib/adapter/managers/SubscriptionManager.js +349 -0
- package/build/cjs/lib/adapter/managers/SubscriptionManager.js.map +7 -0
- package/build/cjs/lib/adapter/userInterfaceMessagingController.d.ts +10 -0
- package/build/cjs/lib/adapter/userInterfaceMessagingController.js +9 -2
- package/build/cjs/lib/adapter/userInterfaceMessagingController.js.map +2 -2
- package/build/cjs/lib/adapter/utils.js +15 -1
- package/build/cjs/lib/adapter/utils.js.map +2 -2
- package/build/cjs/lib/adapter/validator.d.ts +10 -5
- package/build/cjs/lib/adapter/validator.js +6 -5
- package/build/cjs/lib/adapter/validator.js.map +2 -2
- package/build/esm/index.d.ts +0 -1
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/index.js +0 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/lib/_Types.d.ts +394 -63
- package/build/esm/lib/_Types.d.ts.map +1 -1
- package/build/esm/lib/adapter/adapter.d.ts +1818 -177
- package/build/esm/lib/adapter/adapter.d.ts.map +1 -1
- package/build/esm/lib/adapter/adapter.js +827 -1215
- package/build/esm/lib/adapter/adapter.js.map +1 -1
- package/build/esm/lib/adapter/asyncAdapter.d.ts +124 -0
- package/build/esm/lib/adapter/asyncAdapter.d.ts.map +1 -0
- package/build/esm/lib/adapter/asyncAdapter.js +157 -0
- package/build/esm/lib/adapter/asyncAdapter.js.map +1 -0
- package/build/esm/lib/adapter/context.d.ts +34 -0
- package/build/esm/lib/adapter/context.d.ts.map +1 -0
- package/build/esm/lib/adapter/context.js +2 -0
- package/build/esm/lib/adapter/context.js.map +1 -0
- package/build/esm/lib/adapter/defaultObjs.d.ts +5 -0
- package/build/esm/lib/adapter/defaultObjs.d.ts.map +1 -1
- package/build/esm/lib/adapter/defaultObjs.js +5 -0
- package/build/esm/lib/adapter/defaultObjs.js.map +1 -1
- package/build/esm/lib/adapter/log.d.ts +25 -0
- package/build/esm/lib/adapter/log.d.ts.map +1 -1
- package/build/esm/lib/adapter/log.js +25 -0
- package/build/esm/lib/adapter/log.js.map +1 -1
- package/build/esm/lib/adapter/managers/AdapterContextBase.d.ts +49 -0
- package/build/esm/lib/adapter/managers/AdapterContextBase.d.ts.map +1 -0
- package/build/esm/lib/adapter/managers/AdapterContextBase.js +77 -0
- package/build/esm/lib/adapter/managers/AdapterContextBase.js.map +1 -0
- package/build/esm/lib/adapter/managers/AliasManager.d.ts +103 -0
- package/build/esm/lib/adapter/managers/AliasManager.d.ts.map +1 -0
- package/build/esm/lib/adapter/managers/AliasManager.js +269 -0
- package/build/esm/lib/adapter/managers/AliasManager.js.map +1 -0
- package/build/esm/lib/adapter/managers/CertificateManager.d.ts +50 -0
- package/build/esm/lib/adapter/managers/CertificateManager.d.ts.map +1 -0
- package/build/esm/lib/adapter/managers/CertificateManager.js +142 -0
- package/build/esm/lib/adapter/managers/CertificateManager.js.map +1 -0
- package/build/esm/lib/adapter/managers/MessagingManager.d.ts +58 -0
- package/build/esm/lib/adapter/managers/MessagingManager.d.ts.map +1 -0
- package/build/esm/lib/adapter/managers/MessagingManager.js +267 -0
- package/build/esm/lib/adapter/managers/MessagingManager.js.map +1 -0
- package/build/esm/lib/adapter/managers/SubscriptionManager.d.ts +107 -0
- package/build/esm/lib/adapter/managers/SubscriptionManager.d.ts.map +1 -0
- package/build/esm/lib/adapter/managers/SubscriptionManager.js +374 -0
- package/build/esm/lib/adapter/managers/SubscriptionManager.js.map +1 -0
- package/build/esm/lib/adapter/userInterfaceMessagingController.d.ts +10 -0
- package/build/esm/lib/adapter/userInterfaceMessagingController.d.ts.map +1 -1
- package/build/esm/lib/adapter/userInterfaceMessagingController.js +8 -2
- package/build/esm/lib/adapter/userInterfaceMessagingController.js.map +1 -1
- package/build/esm/lib/adapter/utils.d.ts.map +1 -1
- package/build/esm/lib/adapter/utils.js +1 -1
- package/build/esm/lib/adapter/utils.js.map +1 -1
- package/build/esm/lib/adapter/validator.d.ts +10 -5
- package/build/esm/lib/adapter/validator.d.ts.map +1 -1
- package/build/esm/lib/adapter/validator.js +8 -5
- package/build/esm/lib/adapter/validator.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +25 -20
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { tools } from '@iobroker/js-controller-common';
|
|
2
|
+
import { AdapterContextBase } from '../../../lib/adapter/managers/AdapterContextBase.js';
|
|
3
|
+
import { ALIAS_STARTS_WITH } from '../../../lib/adapter/constants.js';
|
|
4
|
+
/** Owns object-, file- and state-change subscriptions plus the auto-subscribe bookkeeping. */
|
|
5
|
+
export class SubscriptionManager extends AdapterContextBase {
|
|
6
|
+
#fixId;
|
|
7
|
+
#alias;
|
|
8
|
+
#objectAccess;
|
|
9
|
+
#autoSubscribe = [];
|
|
10
|
+
/**
|
|
11
|
+
* @param ctx Shared adapter context providing live runtime state
|
|
12
|
+
* @param fixId Namespace-prefixer bound to the adapter's Validator
|
|
13
|
+
* @param aliasManager Alias subscription cache and bookkeeping
|
|
14
|
+
* @param objectAccess Reader for state-typed objects matching a pattern
|
|
15
|
+
*/
|
|
16
|
+
constructor(ctx, fixId, aliasManager, objectAccess) {
|
|
17
|
+
super(ctx);
|
|
18
|
+
this.#fixId = fixId;
|
|
19
|
+
this.#alias = aliasManager;
|
|
20
|
+
this.#objectAccess = objectAccess;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Subscribe to object changes within this instance's namespace.
|
|
24
|
+
*
|
|
25
|
+
* @param pattern pattern without namespace, `*` for all own objects, or an array of patterns
|
|
26
|
+
* passed through as-is (not namespaced)
|
|
27
|
+
* @param options optional user context
|
|
28
|
+
*/
|
|
29
|
+
async subscribeObjects(pattern, options) {
|
|
30
|
+
const fixed = pattern === '*' ? `${this.namespace}.*` : Array.isArray(pattern) ? pattern : this.#fixId(pattern, true);
|
|
31
|
+
return this.objects.subscribeUserAsync(fixed, options ?? null);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Unsubscribe from object changes within this instance's namespace.
|
|
35
|
+
*
|
|
36
|
+
* @param pattern pattern without namespace, `*` for all own objects, or an array of patterns
|
|
37
|
+
* passed through as-is (not namespaced)
|
|
38
|
+
* @param options optional user context
|
|
39
|
+
*/
|
|
40
|
+
async unsubscribeObjects(pattern, options) {
|
|
41
|
+
const fixed = pattern === '*' ? `${this.namespace}.*` : Array.isArray(pattern) ? pattern : this.#fixId(pattern, true);
|
|
42
|
+
return this.objects.unsubscribeUserAsync(fixed, options ?? null);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Subscribe to object changes in any instance.
|
|
46
|
+
*
|
|
47
|
+
* @param pattern pattern or array of patterns
|
|
48
|
+
* @param options optional user context
|
|
49
|
+
*/
|
|
50
|
+
async subscribeForeignObjects(pattern, options) {
|
|
51
|
+
return this.objects.subscribeUserAsync(pattern, options ?? null);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unsubscribe from object changes in any instance.
|
|
55
|
+
*
|
|
56
|
+
* @param pattern pattern or array of patterns (defaults to `*`)
|
|
57
|
+
* @param options optional user context
|
|
58
|
+
*/
|
|
59
|
+
async unsubscribeForeignObjects(pattern, options) {
|
|
60
|
+
return this.objects.unsubscribeUserAsync(pattern || '*', options ?? null);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Subscribe to file changes in a specific instance.
|
|
64
|
+
*
|
|
65
|
+
* @param id adapter id, e.g. `vis-2.0`
|
|
66
|
+
* @param pattern pattern or array of patterns
|
|
67
|
+
* @param options optional user context
|
|
68
|
+
*/
|
|
69
|
+
async subscribeForeignFiles(id, pattern, options) {
|
|
70
|
+
return this.objects.subscribeUserFile(id, pattern, options ?? undefined);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Unsubscribe from file changes in a specific instance.
|
|
74
|
+
*
|
|
75
|
+
* @param id adapter id, e.g. `vis-2.0`
|
|
76
|
+
* @param pattern pattern or array of patterns (defaults to `*`)
|
|
77
|
+
* @param options optional user context
|
|
78
|
+
*/
|
|
79
|
+
async unsubscribeForeignFiles(id, pattern, options) {
|
|
80
|
+
return this.objects.unsubscribeUserFile(id, pattern || '*', options ?? undefined);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Register an instance as auto-subscribable (its `subscribes` counter is maintained on subscribe/unsubscribe).
|
|
84
|
+
*
|
|
85
|
+
* @param id instance id, e.g. `pushover.0`
|
|
86
|
+
*/
|
|
87
|
+
addSubscribableInstance(id) {
|
|
88
|
+
if (!this.#autoSubscribe.includes(id)) {
|
|
89
|
+
this.#autoSubscribe.push(id);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Stop treating an instance as auto-subscribable.
|
|
94
|
+
*
|
|
95
|
+
* @param id instance id, e.g. `pushover.0`
|
|
96
|
+
*/
|
|
97
|
+
removeSubscribableInstance(id) {
|
|
98
|
+
const pos = this.#autoSubscribe.indexOf(id);
|
|
99
|
+
if (pos !== -1) {
|
|
100
|
+
this.#autoSubscribe.splice(pos, 1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Populate the auto-subscribe instance list from the objects DB. */
|
|
104
|
+
async autoSubscribeOn() {
|
|
105
|
+
// Known-dead guard: #autoSubscribe is always truthy so the body never runs; the live fix is tracked separately — do not "repair" it here.
|
|
106
|
+
if (!this.#autoSubscribe && this.objects) {
|
|
107
|
+
try {
|
|
108
|
+
// collect all
|
|
109
|
+
const res = await this.objects.getObjectViewAsync('system', 'instance', {
|
|
110
|
+
startkey: 'system.adapter.',
|
|
111
|
+
endkey: 'system.adapter.\u9999',
|
|
112
|
+
});
|
|
113
|
+
this.#autoSubscribe = [];
|
|
114
|
+
for (const row of res.rows) {
|
|
115
|
+
if (row.value?.common.subscribable) {
|
|
116
|
+
const _id = row.id.substring(15); // cut system.adapter.
|
|
117
|
+
if (!this.#autoSubscribe.includes(_id)) {
|
|
118
|
+
this.#autoSubscribe.push(_id);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// because of autoSubscribe
|
|
123
|
+
await this.objects.subscribeAsync('system.adapter.*');
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// ignore
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Subscribe to state changes in any instance, resolving aliases and maintaining auto-subscribe counters.
|
|
132
|
+
*
|
|
133
|
+
* @param pattern pattern, `*`, an `alias.*` id, or an array of ids/patterns
|
|
134
|
+
* @param options optional user context
|
|
135
|
+
*/
|
|
136
|
+
async subscribeForeignStates(pattern, options) {
|
|
137
|
+
// Todo check rights for options
|
|
138
|
+
await this.autoSubscribeOn();
|
|
139
|
+
// Force the up-front connection check: a disconnected DB must reject (ERROR_DB_CLOSED) before any branch runs.
|
|
140
|
+
void this.states;
|
|
141
|
+
void this.objects;
|
|
142
|
+
// compare if this pattern for one of auto-subscribe adapters
|
|
143
|
+
for (const autoSubEntry of this.#autoSubscribe) {
|
|
144
|
+
if (typeof pattern === 'string' && (pattern === '*' || pattern.startsWith(`${autoSubEntry}.`))) {
|
|
145
|
+
// put this pattern into adapter list
|
|
146
|
+
let state;
|
|
147
|
+
try {
|
|
148
|
+
state = await this.states.getState(`system.adapter.${autoSubEntry}.subscribes`);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// ignore
|
|
152
|
+
}
|
|
153
|
+
state = state || { val: '{}' };
|
|
154
|
+
state.val = state.val || '{}';
|
|
155
|
+
let subs;
|
|
156
|
+
try {
|
|
157
|
+
subs = JSON.parse(state.val);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
this.logger.error(`${this.namespaceLog} Cannot parse subscribes for "${autoSubEntry}.subscribes"`);
|
|
161
|
+
}
|
|
162
|
+
// rebuild without a prototype so a "__proto__" key in the persisted value cannot
|
|
163
|
+
// pollute Object.prototype via the subs[pattern] writes below
|
|
164
|
+
subs = tools.isObject(subs) ? Object.assign(Object.create(null), subs) : Object.create(null);
|
|
165
|
+
if (!tools.isObject(subs[pattern])) {
|
|
166
|
+
subs[pattern] = {};
|
|
167
|
+
}
|
|
168
|
+
if (typeof subs[pattern][this.namespace] !== 'number') {
|
|
169
|
+
subs[pattern][this.namespace] = 0;
|
|
170
|
+
}
|
|
171
|
+
subs[pattern][this.namespace]++;
|
|
172
|
+
this.countOutput();
|
|
173
|
+
await this.states.setState(`system.adapter.${autoSubEntry}.subscribes`, JSON.stringify(subs));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (Array.isArray(pattern)) {
|
|
177
|
+
// get all aliases
|
|
178
|
+
const aliasesIds = pattern
|
|
179
|
+
.map(id => (id.startsWith(ALIAS_STARTS_WITH) ? id : null))
|
|
180
|
+
.filter(id => id);
|
|
181
|
+
// get all non aliases
|
|
182
|
+
const nonAliasesIds = pattern
|
|
183
|
+
.map(id => (!id.startsWith(ALIAS_STARTS_WITH) ? id : null))
|
|
184
|
+
.filter(id => id);
|
|
185
|
+
for (const aliasPattern of pattern) {
|
|
186
|
+
if ((aliasPattern.startsWith(ALIAS_STARTS_WITH) || aliasPattern.includes('*')) &&
|
|
187
|
+
!this.#alias.hasPattern(aliasPattern)) {
|
|
188
|
+
// it's a new alias conform pattern to store
|
|
189
|
+
this.#alias.addPattern(aliasPattern);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const promises = new Array();
|
|
193
|
+
if (aliasesIds.length) {
|
|
194
|
+
this.#alias.ensureAliasObjectSubscription();
|
|
195
|
+
let aliasObjs;
|
|
196
|
+
try {
|
|
197
|
+
aliasObjs = await this.objects.getObjects(aliasesIds, options);
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
this.logger.error(`Could not get objects by array: ${e.message}`);
|
|
201
|
+
aliasObjs = [];
|
|
202
|
+
}
|
|
203
|
+
for (const aliasObj of aliasObjs) {
|
|
204
|
+
if (aliasObj) {
|
|
205
|
+
promises.push(this.#alias.addAliasSubscribe(aliasObj, aliasObj._id));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (nonAliasesIds.length) {
|
|
210
|
+
for (const id of nonAliasesIds) {
|
|
211
|
+
promises.push(new Promise(resolve => this.states.subscribeUser(id, () => resolve())));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
try {
|
|
215
|
+
await Promise.all(promises);
|
|
216
|
+
}
|
|
217
|
+
catch (e) {
|
|
218
|
+
this.logger.error(`${this.namespaceLog} Error on "subscribeForeignStates": ${e.message}`);
|
|
219
|
+
}
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
else if (pattern.includes('*')) {
|
|
223
|
+
if (pattern === '*' || pattern.startsWith(ALIAS_STARTS_WITH)) {
|
|
224
|
+
this.#alias.ensureAliasObjectSubscription();
|
|
225
|
+
// read all aliases
|
|
226
|
+
try {
|
|
227
|
+
const objs = await this.#objectAccess.getForeignStateObjects(pattern, options);
|
|
228
|
+
const promises = new Array();
|
|
229
|
+
if (!this.#alias.hasPattern(pattern)) {
|
|
230
|
+
// it's a new pattern to store
|
|
231
|
+
this.#alias.addPattern(pattern);
|
|
232
|
+
}
|
|
233
|
+
for (const id of Object.keys(objs)) {
|
|
234
|
+
// If alias
|
|
235
|
+
if (id.startsWith(ALIAS_STARTS_WITH)) {
|
|
236
|
+
const aliasObj = objs[id];
|
|
237
|
+
promises.push(this.#alias.addAliasSubscribe(aliasObj, pattern));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
try {
|
|
241
|
+
await Promise.all(promises);
|
|
242
|
+
}
|
|
243
|
+
catch (e) {
|
|
244
|
+
this.logger.error(`${this.namespaceLog} Error on "subscribeForeignStates": ${e.message}`);
|
|
245
|
+
}
|
|
246
|
+
// re-check: states may have disconnected during the awaits above
|
|
247
|
+
const states = this.states;
|
|
248
|
+
if (promises.length && pattern !== '*') {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
// no alias objects found or pattern *
|
|
252
|
+
return states.subscribeUser(pattern);
|
|
253
|
+
}
|
|
254
|
+
catch (e) {
|
|
255
|
+
this.logger.warn(`${this.namespaceLog} Cannot subscribe to ${pattern}: ${e.message}`);
|
|
256
|
+
throw e;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
return this.states.subscribeUser(pattern);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else if (pattern.startsWith(ALIAS_STARTS_WITH)) {
|
|
264
|
+
this.#alias.ensureAliasObjectSubscription();
|
|
265
|
+
// just read one alias Object
|
|
266
|
+
try {
|
|
267
|
+
const aliasObj = await this.objects.getObject(pattern, options);
|
|
268
|
+
if (aliasObj) {
|
|
269
|
+
await this.#alias.addAliasSubscribe(aliasObj, pattern);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
this.logger.warn(`${this.namespaceLog} cannot subscribe on alias "${pattern}": ${e.message}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
return this.states.subscribeUser(pattern);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Unsubscribe from state changes in any instance, mirroring {@link subscribeForeignStates}.
|
|
284
|
+
*
|
|
285
|
+
* @param pattern pattern, `*`, an `alias.*` id, or an array of ids/patterns
|
|
286
|
+
* @param options optional user context
|
|
287
|
+
*/
|
|
288
|
+
async unsubscribeForeignStates(pattern, options) {
|
|
289
|
+
// An empty pattern means "all" — matches the legacy public method, and applies per element
|
|
290
|
+
// on the array-recursion path below.
|
|
291
|
+
pattern = pattern || '*';
|
|
292
|
+
// Force the up-front connection check (states getter throws ERROR_DB_CLOSED).
|
|
293
|
+
void this.states;
|
|
294
|
+
if (this.#autoSubscribe && typeof pattern === 'string') {
|
|
295
|
+
for (const autoSub of this.#autoSubscribe) {
|
|
296
|
+
if (pattern === '*' || pattern.substring(0, autoSub.length + 1) === `${autoSub}.`) {
|
|
297
|
+
// remove this pattern from adapter list
|
|
298
|
+
let state;
|
|
299
|
+
try {
|
|
300
|
+
state = await this.states.getState(`system.adapter.${autoSub}.subscribes`);
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
// ignore
|
|
304
|
+
}
|
|
305
|
+
if (!state || !state.val) {
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
let subs;
|
|
309
|
+
try {
|
|
310
|
+
subs = JSON.parse(state.val);
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
this.logger.error(`${this.namespaceLog} Cannot parse subscribes for "${autoSub}.subscribes"`);
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
if (!tools.isObject(subs) ||
|
|
317
|
+
!tools.isObject(subs[pattern]) ||
|
|
318
|
+
subs[pattern][this.namespace] === undefined) {
|
|
319
|
+
// check subs is a valid object, because it comes from state.val
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
// rebuild without a prototype so a "__proto__" key cannot pollute Object.prototype
|
|
323
|
+
subs = Object.assign(Object.create(null), subs);
|
|
324
|
+
if (typeof subs[pattern][this.namespace] === 'number') {
|
|
325
|
+
subs[pattern][this.namespace]--;
|
|
326
|
+
if (subs[pattern][this.namespace] <= 0) {
|
|
327
|
+
delete subs[pattern][this.namespace];
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
// corrupted info, we can only delete
|
|
332
|
+
delete subs[pattern][this.namespace];
|
|
333
|
+
}
|
|
334
|
+
// if no other subs are there
|
|
335
|
+
if (!Object.keys(subs[pattern]).length) {
|
|
336
|
+
delete subs[pattern];
|
|
337
|
+
}
|
|
338
|
+
this.countOutput();
|
|
339
|
+
await this.states.setState(`system.adapter.${autoSub}.subscribes`, JSON.stringify(subs));
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
let aliasPattern;
|
|
344
|
+
const promises = new Array();
|
|
345
|
+
if (Array.isArray(pattern)) {
|
|
346
|
+
// process every entry as single unsubscribe
|
|
347
|
+
for (const _pattern of pattern) {
|
|
348
|
+
promises.push(this.unsubscribeForeignStates(_pattern, options));
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
else if (pattern.includes('*') || pattern.startsWith(ALIAS_STARTS_WITH)) {
|
|
352
|
+
if (pattern === '*' || pattern.startsWith(ALIAS_STARTS_WITH)) {
|
|
353
|
+
aliasPattern = pattern; // check all aliases
|
|
354
|
+
if (pattern === '*') {
|
|
355
|
+
promises.push(this.states.unsubscribeUser(pattern));
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
promises.push(this.states.unsubscribeUser(pattern));
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
promises.push(this.states.unsubscribeUser(pattern));
|
|
364
|
+
}
|
|
365
|
+
if (aliasPattern) {
|
|
366
|
+
this.#alias.deletePattern(aliasPattern);
|
|
367
|
+
promises.push(this.#alias.removeTargetsForPattern(aliasPattern));
|
|
368
|
+
}
|
|
369
|
+
await Promise.all(promises);
|
|
370
|
+
this.#alias.maybeDropAliasObjectSubscription();
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
//# sourceMappingURL=SubscriptionManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubscriptionManager.js","sourceRoot":"","sources":["../../../../../src/lib/adapter/managers/SubscriptionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { Client as StatesInRedisClient } from '@iobroker/db-states-redis';
|
|
2
2
|
import type { AdapterClass } from '../../lib/adapter/adapter.js';
|
|
3
3
|
import type { UserInterfaceClientRemoveMessage, UserInterfaceClientSubscribeHandler, UserInterfaceClientSubscribeReturnType, UserInterfaceClientUnsubscribeHandler } from '../../lib/_Types.js';
|
|
4
|
+
/** A heartbeat timer for a subscribed UI client */
|
|
4
5
|
export interface HeartbeatTimer {
|
|
5
6
|
/** The actual timer */
|
|
6
7
|
timer: NodeJS.Timeout;
|
|
7
8
|
/** The heartbeat interval */
|
|
8
9
|
heartbeat: number;
|
|
9
10
|
}
|
|
11
|
+
/** Options for the UI messaging controller */
|
|
10
12
|
export interface MessagingControllerOptions {
|
|
11
13
|
/** The adapter using this messaging controller */
|
|
12
14
|
adapter: AdapterClass;
|
|
@@ -15,6 +17,7 @@ export interface MessagingControllerOptions {
|
|
|
15
17
|
/** Callback to call if successfully unsubscribed */
|
|
16
18
|
unsubscribeCallback?: UserInterfaceClientUnsubscribeHandler;
|
|
17
19
|
}
|
|
20
|
+
/** Options for sending a message to a single UI client */
|
|
18
21
|
export interface SendToClientOptions {
|
|
19
22
|
/** ID of the client to send the message to, will send to all if omitted */
|
|
20
23
|
clientId: string;
|
|
@@ -24,6 +27,7 @@ export interface SendToClientOptions {
|
|
|
24
27
|
states: StatesInRedisClient;
|
|
25
28
|
}
|
|
26
29
|
export type SendToAllClientOptions = Omit<SendToClientOptions, 'clientId'>;
|
|
30
|
+
/** Handler describing a subscribed UI client */
|
|
27
31
|
export interface ClientHandler {
|
|
28
32
|
/** The session id of the client connection */
|
|
29
33
|
sid: string;
|
|
@@ -32,6 +36,9 @@ export interface ClientHandler {
|
|
|
32
36
|
/** Individual type which can be specified */
|
|
33
37
|
type: string;
|
|
34
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Controller for messaging with UI clients (subscribe, heartbeat and sending data)
|
|
41
|
+
*/
|
|
35
42
|
export declare class UserInterfaceMessagingController {
|
|
36
43
|
/** The adapter using this messaging controller */
|
|
37
44
|
private readonly adapter;
|
|
@@ -43,6 +50,9 @@ export declare class UserInterfaceMessagingController {
|
|
|
43
50
|
private readonly handlers;
|
|
44
51
|
/** Collection of current heartbeat timers */
|
|
45
52
|
private heartbeatTimers;
|
|
53
|
+
/**
|
|
54
|
+
* @param options The adapter and the subscribe/unsubscribe callbacks
|
|
55
|
+
*/
|
|
46
56
|
constructor(options: MessagingControllerOptions);
|
|
47
57
|
/**
|
|
48
58
|
* Send a message to the given clientId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInterfaceMessagingController.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/userInterfaceMessagingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACR,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACxC,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACvC,kDAAkD;IAClD,OAAO,EAAE,YAAY,CAAC;IACtB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,mCAAmC,CAAC;IACxD,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;CAC/D;AAED,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC1B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAcD,qBAAa,gCAAgC;IACzC,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAwC;IAC7E,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAsC;IACzE,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,6CAA6C;IAC7C,OAAO,CAAC,eAAe,CAAqC;
|
|
1
|
+
{"version":3,"file":"userInterfaceMessagingController.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/userInterfaceMessagingController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACR,gCAAgC,EAChC,mCAAmC,EACnC,sCAAsC,EACtC,qCAAqC,EACxC,MAAM,iBAAiB,CAAC;AAEzB,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC3B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACvC,kDAAkD;IAClD,OAAO,EAAE,YAAY,CAAC;IACtB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,mCAAmC,CAAC;IACxD,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,qCAAqC,CAAC;CAC/D;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,oBAAoB;IACpB,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAE3E,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC1B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CAChB;AAcD;;GAEG;AACH,qBAAa,gCAAgC;IACzC,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAwC;IAC7E,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAsC;IACzE,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAC7D,6CAA6C;IAC7C,OAAO,CAAC,eAAe,CAAqC;IAC5D;;OAEG;gBACS,OAAO,EAAE,0BAA0B;IAQ/C;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtE;;;;OAIG;IACG,gCAAgC,CAClC,GAAG,EAAE,QAAQ,CAAC,OAAO,GACtB,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC;IAmC9D;;;;;OAKG;IACH,8BAA8B,CAAC,GAAG,EAAE,gCAAgC,GAAG,IAAI;IA6B3E;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;CAU3B"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Controller for messaging with UI clients (subscribe, heartbeat and sending data)
|
|
3
|
+
*/
|
|
1
4
|
export class UserInterfaceMessagingController {
|
|
2
5
|
/** The adapter using this messaging controller */
|
|
3
6
|
adapter;
|
|
@@ -9,6 +12,9 @@ export class UserInterfaceMessagingController {
|
|
|
9
12
|
handlers = new Map();
|
|
10
13
|
/** Collection of current heartbeat timers */
|
|
11
14
|
heartbeatTimers = new Map();
|
|
15
|
+
/**
|
|
16
|
+
* @param options The adapter and the subscribe/unsubscribe callbacks
|
|
17
|
+
*/
|
|
12
18
|
constructor(options) {
|
|
13
19
|
const { adapter, unsubscribeCallback, subscribeCallback } = options;
|
|
14
20
|
this.adapter = adapter;
|
|
@@ -98,7 +104,7 @@ export class UserInterfaceMessagingController {
|
|
|
98
104
|
}
|
|
99
105
|
this.handlers.delete(clientId);
|
|
100
106
|
if (this.unsubscribeCallback) {
|
|
101
|
-
this.unsubscribeCallback({ clientId, message: msg, reason });
|
|
107
|
+
Promise.resolve(this.unsubscribeCallback({ clientId, message: msg, reason })).catch(e => this.adapter.log.error(`Error in unsubscribe callback: ${e.message}`));
|
|
102
108
|
}
|
|
103
109
|
}
|
|
104
110
|
}
|
|
@@ -128,7 +134,7 @@ export class UserInterfaceMessagingController {
|
|
|
128
134
|
this.handlers.delete(clientId);
|
|
129
135
|
this.heartbeatTimers.delete(clientId);
|
|
130
136
|
if (this.unsubscribeCallback) {
|
|
131
|
-
this.unsubscribeCallback({ clientId, reason: 'timeout' });
|
|
137
|
+
Promise.resolve(this.unsubscribeCallback({ clientId, reason: 'timeout' })).catch(e => this.adapter.log.error(`Error in unsubscribe callback: ${e.message}`));
|
|
132
138
|
}
|
|
133
139
|
}
|
|
134
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userInterfaceMessagingController.js","sourceRoot":"","sources":["../../../../src/lib/adapter/userInterfaceMessagingController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userInterfaceMessagingController.js","sourceRoot":"","sources":["../../../../src/lib/adapter/userInterfaceMessagingController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/utils.ts"],"names":[],"mappings":"AAYA,UAAU,mBAAmB;IACzB,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,yCAAyC;IACzC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,iCAAiC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAMtF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAElE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,iCAAiC,GAAG,MAAM,CASpG;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/utils.ts"],"names":[],"mappings":"AAYA,UAAU,mBAAmB;IACzB,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,yCAAyC;IACzC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,iCAAiC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAMtF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAElE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,iCAAiC,GAAG,MAAM,CASpG;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBnF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQzE;AA2BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAM9E;AA+BD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAO3F;AA2BD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQlF"}
|
|
@@ -107,7 +107,7 @@ export async function listInstalledNodeModules(namespace) {
|
|
|
107
107
|
export async function requestModuleNameByUrl(url) {
|
|
108
108
|
const res = await execAsync(`npm view ${url} name`);
|
|
109
109
|
if (typeof res.stdout !== 'string') {
|
|
110
|
-
throw new Error(`Could not determine module name for url "${url}". Unexpected stdout: "${
|
|
110
|
+
throw new Error(`Could not determine module name for url "${url}". Unexpected stdout: "${typeof res.stdout}"`);
|
|
111
111
|
}
|
|
112
112
|
return res.stdout.trim();
|
|
113
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/adapter/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/adapter/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
import type { Client as ObjectsInRedisClient } from '../../../../db-objects-redis/src/index.js';
|
|
1
2
|
type Callback = (...args: any[]) => void | Promise<void>;
|
|
2
3
|
type OptionalCallback = undefined | Callback;
|
|
3
4
|
type Pattern = string | string[];
|
|
5
|
+
/** Options for validating an object/state id */
|
|
4
6
|
export interface ValidateIdOptions {
|
|
5
7
|
/** in maintenance mode, we can access invalid ids to delete them, only works with the admin user */
|
|
6
8
|
maintenance?: boolean;
|
|
7
9
|
/** User used to check for access rights */
|
|
8
10
|
user?: string;
|
|
9
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Validates arguments passed to the adapter's public methods
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
10
17
|
export declare class Validator {
|
|
11
18
|
private readonly objects;
|
|
12
|
-
private readonly states;
|
|
13
19
|
private readonly namespaceLog;
|
|
14
20
|
private readonly log;
|
|
15
21
|
private readonly namespace;
|
|
@@ -18,13 +24,12 @@ export declare class Validator {
|
|
|
18
24
|
* Validator for internal adapter.js usage
|
|
19
25
|
*
|
|
20
26
|
* @param objects - Objects DB
|
|
21
|
-
* @param states - States DB
|
|
22
27
|
* @param namespaceLog - Log prefix
|
|
23
28
|
* @param logger - Logger instance
|
|
24
29
|
* @param namespace - the namespace of the adapter
|
|
25
30
|
* @param namespaceRegExp - the namespace RegExp of the adapter `adapter.0`
|
|
26
31
|
*/
|
|
27
|
-
constructor(objects:
|
|
32
|
+
constructor(objects: ObjectsInRedisClient, namespaceLog: string, logger: ioBroker.Logger, namespace: string, namespaceRegExp: RegExp);
|
|
28
33
|
/**
|
|
29
34
|
* Performs the strict object check, which includes checking object existence, read-only logic, type and min/max
|
|
30
35
|
* additionally it rounds state values whose objects have a `common.step` attribute defined
|
|
@@ -39,9 +44,9 @@ export declare class Validator {
|
|
|
39
44
|
* @param id id to check or object with properties device, channel and state
|
|
40
45
|
* @param isForeignId true&false if the ID is a foreign/full ID or only an "adapter local" id
|
|
41
46
|
* @param options optional
|
|
42
|
-
* @throws Error when id is invalid
|
|
47
|
+
* @throws {Error} when id is invalid
|
|
43
48
|
*/
|
|
44
|
-
validateId(id:
|
|
49
|
+
validateId(id: string, isForeignId: boolean, options?: ValidateIdOptions | null): asserts id is string;
|
|
45
50
|
/**
|
|
46
51
|
* Look up the error description for an error code
|
|
47
52
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/lib/adapter/validator.ts"],"names":[],"mappings":"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"}
|