@iobroker/adapter-react-v5 5.0.3 → 5.0.5

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 (54) hide show
  1. package/Components/ColorPicker.d.ts +0 -1
  2. package/Components/ColorPicker.js +1 -1
  3. package/Components/ComplexCron.js +20 -28
  4. package/Components/CopyToClipboard.js +0 -4
  5. package/Components/CustomModal.js +1 -5
  6. package/Components/FileBrowser.js +13 -18
  7. package/Components/FileViewer.js +4 -11
  8. package/Components/Icon.d.ts +2 -2
  9. package/Components/Icon.js +2 -2
  10. package/Components/IconSelector.js +2 -10
  11. package/Components/Image.js +3 -1
  12. package/Components/Loader.d.ts +2 -2
  13. package/Components/Loader.js +1 -1
  14. package/Components/Loaders/PT.d.ts +1 -1
  15. package/Components/Loaders/PT.js +1 -1
  16. package/Components/Loaders/Vendor.d.ts +1 -1
  17. package/Components/Loaders/Vendor.js +2 -2
  18. package/Components/Logo.js +1 -1
  19. package/Components/MDUtils.js +2 -0
  20. package/Components/ObjectBrowser.d.ts +526 -2
  21. package/Components/ObjectBrowser.js +100 -84
  22. package/Components/SaveCloseButtons.js +9 -18
  23. package/Components/Schedule.js +2 -2
  24. package/Components/SimpleCron/cron2text.js +5 -3
  25. package/Components/SimpleCron/cronText.js +1 -1
  26. package/Components/SimpleCron/index.js +29 -35
  27. package/Components/TableResize.d.ts +1 -1
  28. package/Components/TableResize.js +1 -1
  29. package/Components/TextWithIcon.js +1 -1
  30. package/Components/TreeTable.js +5 -4
  31. package/Components/Utils.d.ts +58 -60
  32. package/Components/Utils.js +239 -197
  33. package/Dialogs/ComplexCron.js +2 -10
  34. package/Dialogs/Confirm.d.ts +1 -1
  35. package/Dialogs/Confirm.js +2 -4
  36. package/Dialogs/Cron.js +1 -3
  37. package/Dialogs/Error.d.ts +1 -11
  38. package/Dialogs/Error.js +1 -7
  39. package/Dialogs/Message.d.ts +1 -12
  40. package/Dialogs/Message.js +1 -8
  41. package/Dialogs/SelectFile.js +1 -5
  42. package/Dialogs/SelectID.d.ts +1 -1
  43. package/Dialogs/SelectID.js +13 -7
  44. package/Dialogs/SimpleCron.js +1 -3
  45. package/Dialogs/TextInput.js +1 -5
  46. package/GenericApp.d.ts +2 -3
  47. package/GenericApp.js +11 -9
  48. package/LegacyConnection.d.ts +11 -12
  49. package/LegacyConnection.js +350 -222
  50. package/README.md +4 -1
  51. package/i18n.d.ts +1 -1
  52. package/i18n.js +6 -8
  53. package/package.json +2 -2
  54. package/types.d.ts +27 -27
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ /**
3
+ * Copyright 2020-2024, Denis Haev (bluefox) <dogafox@gmail.com>
4
+ *
5
+ * MIT License
6
+ *
7
+ * */
2
8
  Object.defineProperty(exports, "__esModule", { value: true });
3
9
  exports.pattern2RegEx = exports.ERRORS = exports.PROGRESS = void 0;
4
10
  /** Possible progress states. */
@@ -9,8 +15,10 @@ exports.PROGRESS = {
9
15
  CONNECTED: 1,
10
16
  /** All objects are loaded. */
11
17
  OBJECTS_LOADED: 2,
18
+ /** All states are loaded. */
19
+ STATES_LOADED: 3,
12
20
  /** The socket is ready for use. */
13
- READY: 3,
21
+ READY: 4,
14
22
  };
15
23
  const PERMISSION_ERROR = 'permissionError';
16
24
  const NOT_CONNECTED = 'notConnectedError';
@@ -257,7 +265,7 @@ class Connection {
257
265
  this.onProgress(exports.PROGRESS.CONNECTING);
258
266
  this.onConnectionHandlers.forEach(cb => cb(false));
259
267
  });
260
- this._socket.on('reauthenticate', () => this.authenticate());
268
+ this._socket.on('reauthenticate', () => Connection.authenticate());
261
269
  this._socket.on('log', message => {
262
270
  this.props.onLog && this.props.onLog(message);
263
271
  this.onLogHandlers.forEach(cb => cb(message));
@@ -270,7 +278,7 @@ class Connection {
270
278
  }
271
279
  _err = _err.toString();
272
280
  if (_err.includes('User not authorized')) {
273
- this.authenticate();
281
+ Connection.authenticate();
274
282
  }
275
283
  else {
276
284
  window.alert(`Socket Error: ${err}`);
@@ -333,15 +341,15 @@ class Connection {
333
341
  * Checks if running in ioBroker cloud
334
342
  */
335
343
  static isCloud() {
336
- if (window.location.hostname.includes("amazonaws.com") ||
337
- window.location.hostname.includes("iobroker.in")) {
344
+ if (window.location.hostname.includes('amazonaws.com') ||
345
+ window.location.hostname.includes('iobroker.in')) {
338
346
  return true;
339
347
  }
340
- if (typeof window.socketUrl === "undefined") {
348
+ if (typeof window.socketUrl === 'undefined') {
341
349
  return false;
342
350
  }
343
- return (window.socketUrl.includes("iobroker.in") ||
344
- window.socketUrl.includes("amazonaws"));
351
+ return (window.socketUrl.includes('iobroker.in') ||
352
+ window.socketUrl.includes('amazonaws'));
345
353
  }
346
354
  /**
347
355
  * Checks if the socket is connected.
@@ -358,27 +366,48 @@ class Connection {
358
366
  }
359
367
  /**
360
368
  * Called internally.
361
- * @private
362
369
  */
363
- _getUserPermissions(cb) {
370
+ async _getUserPermissions() {
364
371
  if (this.doNotLoadACL) {
365
- cb && cb(null, null);
366
- }
367
- else {
368
- this._socket.emit('getUserPermissions', cb);
372
+ return null;
369
373
  }
374
+ return new Promise((resolve, reject) => {
375
+ this._socket.emit('getUserPermissions', (err, acl) => (err ? reject(err) : resolve(acl)));
376
+ });
370
377
  }
371
378
  /**
372
379
  * Called internally.
373
- * @private
374
380
  */
375
- onConnect() {
376
- this._getUserPermissions((err, acl) => {
377
- if (err) {
378
- this.onError(`Cannot read user permissions: ${err}`);
381
+ async onConnect() {
382
+ let acl;
383
+ try {
384
+ acl = await this._getUserPermissions();
385
+ }
386
+ catch (err) {
387
+ this.onError(`Cannot read user permissions: ${err}`);
388
+ return;
389
+ }
390
+ if (!this.doNotLoadACL) {
391
+ if (this.loaded) {
379
392
  return;
380
393
  }
381
- if (!this.doNotLoadACL) {
394
+ this.loaded = true;
395
+ this.loadTimer && clearTimeout(this.loadTimer);
396
+ this.loadTimer = null;
397
+ this.onProgress(exports.PROGRESS.CONNECTED);
398
+ this.firstConnect = false;
399
+ this.acl = acl;
400
+ }
401
+ // Read system configuration
402
+ let data;
403
+ try {
404
+ if (this.admin5only && !window.vendorPrefix) {
405
+ data = await this.getCompactSystemConfig();
406
+ }
407
+ else {
408
+ data = await this.getSystemConfig();
409
+ }
410
+ if (this.doNotLoadACL) {
382
411
  if (this.loaded) {
383
412
  return;
384
413
  }
@@ -387,56 +416,42 @@ class Connection {
387
416
  this.loadTimer = null;
388
417
  this.onProgress(exports.PROGRESS.CONNECTED);
389
418
  this.firstConnect = false;
390
- this.acl = acl;
391
419
  }
392
- // Read system configuration
393
- return (this.admin5only && !window.vendorPrefix ? this.getCompactSystemConfig() : this.getSystemConfig())
394
- .then(data => {
395
- if (this.doNotLoadACL) {
396
- if (this.loaded) {
397
- return undefined;
398
- }
399
- this.loaded = true;
400
- this.loadTimer && clearTimeout(this.loadTimer);
401
- this.loadTimer = null;
402
- this.onProgress(exports.PROGRESS.CONNECTED);
403
- this.firstConnect = false;
404
- }
405
- this.systemConfig = data;
406
- if (this.systemConfig && this.systemConfig.common) {
407
- this.systemLang = this.systemConfig.common.language;
408
- }
409
- else {
410
- // @ts-expect-error userLanguage is not standard
411
- this.systemLang = window.navigator.userLanguage || window.navigator.language;
412
- if (/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)) {
413
- this.systemLang = this.systemLang.substr(0, 2);
414
- }
415
- else if (!/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)) {
416
- this.systemLang = 'en';
417
- }
420
+ this.systemConfig = data;
421
+ if (this.systemConfig && this.systemConfig.common) {
422
+ this.systemLang = this.systemConfig.common.language;
423
+ }
424
+ else {
425
+ // @ts-expect-error userLanguage is not standard
426
+ this.systemLang = window.navigator.userLanguage || window.navigator.language;
427
+ if (/^(en|de|ru|pt|nl|fr|it|es|pl|uk)-?/.test(this.systemLang)) {
428
+ this.systemLang = this.systemLang.substr(0, 2);
418
429
  }
419
- this.props.onLanguage && this.props.onLanguage(this.systemLang);
420
- if (!this.doNotLoadAllObjects) {
421
- return this.getObjects()
422
- .then(() => {
423
- this.onProgress(exports.PROGRESS.READY);
424
- this.props.onReady && this.objects && this.props.onReady(this.objects);
425
- });
430
+ else if (!/^(en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn)$/.test(this.systemLang)) {
431
+ this.systemLang = 'en';
426
432
  }
433
+ }
434
+ this.props.onLanguage && this.props.onLanguage(this.systemLang);
435
+ if (!this.doNotLoadAllObjects) {
436
+ await this.getObjects();
437
+ this.onProgress(exports.PROGRESS.READY);
438
+ this.props.onReady && this.objects && this.props.onReady(this.objects);
439
+ }
440
+ else {
427
441
  this.objects = this.admin5only ? {} : { 'system.config': data };
428
442
  this.onProgress(exports.PROGRESS.READY);
429
443
  this.props.onReady && this.props.onReady(this.objects);
430
- return undefined;
431
- })
432
- .catch((e) => this.onError(`Cannot read system config: ${e}`));
433
- });
444
+ }
445
+ }
446
+ catch (e) {
447
+ this.onError(`Cannot read system config: ${e}`);
448
+ }
434
449
  }
435
450
  /**
436
451
  * Called internally.
437
452
  * @private
438
453
  */
439
- authenticate() {
454
+ static authenticate() {
440
455
  if (window.location.search.includes('&href=')) {
441
456
  window.location.href = `${window.location.protocol}//${window.location.host}${window.location.pathname}${window.location.search}${window.location.hash}`;
442
457
  }
@@ -810,7 +825,6 @@ class Connection {
810
825
  }
811
826
  Object.keys(this.objectsSubscribes).forEach(_id => {
812
827
  if (_id === id || this.objectsSubscribes[_id].reg.test(id)) {
813
- // @ts-ignore
814
828
  this.objectsSubscribes[_id].cbs.forEach(cb => {
815
829
  try {
816
830
  cb(id, obj, oldObj);
@@ -872,12 +886,13 @@ class Connection {
872
886
  disableProgressUpdate = pattern;
873
887
  pattern = undefined;
874
888
  }
875
- return new Promise((resolve, reject) => this._socket.emit('getStates', pattern, (err, res) => {
876
- this.states = res;
877
- // @ts-ignore
878
- !disableProgressUpdate && this.onProgress(exports.PROGRESS.STATES_LOADED);
879
- return err ? reject(err) : resolve(this.states);
880
- }));
889
+ return new Promise((resolve, reject) => {
890
+ this._socket.emit('getStates', pattern, (err, res) => {
891
+ this.states = res;
892
+ !disableProgressUpdate && this.onProgress(exports.PROGRESS.STATES_LOADED);
893
+ err ? reject(err) : resolve(this.states);
894
+ });
895
+ });
881
896
  }
882
897
  /**
883
898
  * Gets the given state.
@@ -891,7 +906,9 @@ class Connection {
891
906
  if (id && id === this.ignoreState) {
892
907
  return Promise.resolve(this.simStates[id] || { val: null, ack: true });
893
908
  }
894
- return new Promise((resolve, reject) => (this._socket.emit('getState', id, (err, state) => err ? reject(err) : resolve(state))));
909
+ return new Promise((resolve, reject) => {
910
+ this._socket.emit('getState', id, (err, state) => (err ? reject(err) : resolve(state)));
911
+ });
895
912
  }
896
913
  /**
897
914
  * @deprecated since js-controller 5.0. Use files instead.
@@ -904,7 +921,9 @@ class Connection {
904
921
  return Promise.reject(NOT_CONNECTED);
905
922
  }
906
923
  // the data will come in base64
907
- return new Promise((resolve, reject) => this._socket.emit('getBinaryState', id, (err, base64) => err ? reject(err) : resolve(base64)));
924
+ return new Promise((resolve, reject) => {
925
+ this._socket.emit('getBinaryState', id, (err, base64) => (err ? reject(err) : resolve(base64)));
926
+ });
908
927
  }
909
928
  /**
910
929
  * @deprecated since js-controller 5.0. Use files instead.
@@ -919,7 +938,9 @@ class Connection {
919
938
  return Promise.reject(NOT_CONNECTED);
920
939
  }
921
940
  // the data will come in base64
922
- return new Promise((resolve, reject) => this._socket.emit('setBinaryState', id, base64, (err) => err ? reject(err) : resolve()));
941
+ return new Promise((resolve, reject) => {
942
+ this._socket.emit('setBinaryState', id, base64, (err) => ((err ? reject(err) : resolve())));
943
+ });
923
944
  }
924
945
  /**
925
946
  * Sets the given state value.
@@ -966,7 +987,9 @@ class Connection {
966
987
  }
967
988
  return Promise.resolve();
968
989
  }
969
- return new Promise((resolve, reject) => this._socket.emit('setState', id, val, (err) => err ? reject(err) : resolve()));
990
+ return new Promise((resolve, reject) => {
991
+ this._socket.emit('setState', id, val, (err) => (err ? reject(err) : resolve()));
992
+ });
970
993
  }
971
994
  /**
972
995
  * Gets all objects.
@@ -981,13 +1004,15 @@ class Connection {
981
1004
  }
982
1005
  return new Promise((resolve, reject) => {
983
1006
  if (!update && this.objects) {
984
- return resolve(this.objects);
1007
+ resolve(this.objects);
1008
+ }
1009
+ else {
1010
+ this._socket.emit(Connection.isWeb() ? 'getObjects' : 'getAllObjects', (err, res) => {
1011
+ this.objects = res;
1012
+ disableProgressUpdate && this.onProgress(exports.PROGRESS.OBJECTS_LOADED);
1013
+ err ? reject(err) : resolve(this.objects);
1014
+ });
985
1015
  }
986
- this._socket.emit(Connection.isWeb() ? 'getObjects' : 'getAllObjects', (err, res) => {
987
- this.objects = res;
988
- disableProgressUpdate && this.onProgress(exports.PROGRESS.OBJECTS_LOADED);
989
- err ? reject(err) : resolve(this.objects);
990
- });
991
1016
  });
992
1017
  }
993
1018
  /**
@@ -999,7 +1024,9 @@ class Connection {
999
1024
  if (!this.connected) {
1000
1025
  return Promise.reject(NOT_CONNECTED);
1001
1026
  }
1002
- return new Promise((resolve, reject) => this._socket.emit('getObjects', list, (err, res) => err ? reject(err) : resolve(res)));
1027
+ return new Promise((resolve, reject) => {
1028
+ this._socket.emit('getObjects', list, (err, res) => (err ? reject(err) : resolve(res)));
1029
+ });
1003
1030
  }
1004
1031
  /**
1005
1032
  * Called internally.
@@ -1041,7 +1068,9 @@ class Connection {
1041
1068
  if (!this.connected) {
1042
1069
  return Promise.reject(NOT_CONNECTED);
1043
1070
  }
1044
- return new Promise((resolve, reject) => this._socket.emit('requireLog', isEnabled, (err) => err ? reject(err) : resolve()));
1071
+ return new Promise((resolve, reject) => {
1072
+ this._socket.emit('requireLog', isEnabled, (err) => (err ? reject(err) : resolve()));
1073
+ });
1045
1074
  }
1046
1075
  /**
1047
1076
  * Deletes the given object.
@@ -1054,7 +1083,9 @@ class Connection {
1054
1083
  if (!this.connected) {
1055
1084
  return Promise.reject(NOT_CONNECTED);
1056
1085
  }
1057
- return new Promise((resolve, reject) => this._socket.emit('delObject', id, { maintenance: !!maintenance }, (err) => err ? reject(err) : resolve()));
1086
+ return new Promise((resolve, reject) => {
1087
+ this._socket.emit('delObject', id, { maintenance: !!maintenance }, (err) => (err ? reject(err) : resolve()));
1088
+ });
1058
1089
  }
1059
1090
  /**
1060
1091
  * Deletes the given object and all its children.
@@ -1067,7 +1098,9 @@ class Connection {
1067
1098
  if (!this.connected) {
1068
1099
  return Promise.reject(NOT_CONNECTED);
1069
1100
  }
1070
- return new Promise((resolve, reject) => this._socket.emit('delObjects', id, { maintenance: !!maintenance }, (err) => err ? reject(err) : resolve()));
1101
+ return new Promise((resolve, reject) => {
1102
+ this._socket.emit('delObjects', id, { maintenance: !!maintenance }, (err) => (err ? reject(err) : resolve()));
1103
+ });
1071
1104
  }
1072
1105
  /**
1073
1106
  * Sets the object.
@@ -1089,7 +1122,9 @@ class Connection {
1089
1122
  if (Object.prototype.hasOwnProperty.call(obj, 'ts')) {
1090
1123
  delete obj.ts;
1091
1124
  }
1092
- return new Promise((resolve, reject) => this._socket.emit('setObject', id, obj, (err) => err ? reject(err) : resolve()));
1125
+ return new Promise((resolve, reject) => {
1126
+ this._socket.emit('setObject', id, obj, (err) => (err ? reject(err) : resolve()));
1127
+ });
1093
1128
  }
1094
1129
  /**
1095
1130
  * Gets the object with the given id from the server.
@@ -1112,7 +1147,9 @@ class Connection {
1112
1147
  native: {},
1113
1148
  });
1114
1149
  }
1115
- return new Promise((resolve, reject) => this._socket.emit('getObject', id, (err, obj) => (err ? reject(err) : resolve(obj))));
1150
+ return new Promise((resolve, reject) => {
1151
+ this._socket.emit('getObject', id, (err, obj) => (err ? reject(err) : resolve(obj)));
1152
+ });
1116
1153
  }
1117
1154
  /**
1118
1155
  * Get all instances of the given adapter or all instances of all adapters.
@@ -1176,14 +1213,16 @@ class Connection {
1176
1213
  let timeout = setTimeout(() => {
1177
1214
  timeout = null;
1178
1215
  this.getObjectView(`system.adapter.${adapter}.`, `system.adapter.${adapter}.\u9999`, 'adapter')
1179
- .then(items => resolve(Object.keys(items).map(id => fixAdminUI(items[id]))))
1216
+ .then(items => {
1217
+ resolve(Object.keys(items).map(id => fixAdminUI(items[id])));
1218
+ })
1180
1219
  .catch(e => reject(e));
1181
1220
  }, TIMEOUT_FOR_ADMIN4);
1182
1221
  this._socket.emit('getAdapters', adapter, (err, adapters) => {
1183
1222
  if (timeout) {
1184
1223
  clearTimeout(timeout);
1185
1224
  timeout = null;
1186
- return err ? reject(err) : resolve(adapters);
1225
+ err ? reject(err) : resolve(adapters);
1187
1226
  }
1188
1227
  });
1189
1228
  });
@@ -1229,7 +1268,9 @@ class Connection {
1229
1268
  groupsToRename.forEach(group => {
1230
1269
  group.newId = (newId + group._id.substring(id.length));
1231
1270
  });
1232
- await new Promise((resolve, reject) => this._renameGroups(groupsToRename, (err) => err ? reject(err) : resolve(null)));
1271
+ await new Promise((resolve, reject) => {
1272
+ this._renameGroups(groupsToRename, (err) => (err ? reject(err) : resolve(null)));
1273
+ });
1233
1274
  const obj = groups.find(group => group._id === id);
1234
1275
  if (obj) {
1235
1276
  obj._id = newId;
@@ -1242,6 +1283,7 @@ class Connection {
1242
1283
  .then(() => this.delObject(id));
1243
1284
  }
1244
1285
  }
1286
+ return Promise.resolve();
1245
1287
  }
1246
1288
  /**
1247
1289
  * Sends a message to a specific instance or all instances of some specific adapter.
@@ -1257,7 +1299,9 @@ class Connection {
1257
1299
  if (!this.connected) {
1258
1300
  return Promise.reject(NOT_CONNECTED);
1259
1301
  }
1260
- return new Promise(resolve => this._socket.emit('sendTo', instance, command, data, (result) => resolve(result)));
1302
+ return new Promise(resolve => {
1303
+ this._socket.emit('sendTo', instance, command, data, (result) => resolve(result));
1304
+ });
1261
1305
  }
1262
1306
  /**
1263
1307
  * Extend an object and create it if it might not exist.
@@ -1271,16 +1315,18 @@ class Connection {
1271
1315
  return Promise.reject(NOT_CONNECTED);
1272
1316
  }
1273
1317
  obj = JSON.parse(JSON.stringify(obj));
1274
- if (obj.hasOwnProperty('from')) {
1318
+ if (Object.prototype.hasOwnProperty.call(obj, 'from')) {
1275
1319
  delete obj.from;
1276
1320
  }
1277
- if (obj.hasOwnProperty('user')) {
1321
+ if (Object.prototype.hasOwnProperty.call(obj, 'user')) {
1278
1322
  delete obj.user;
1279
1323
  }
1280
- if (obj.hasOwnProperty('ts')) {
1324
+ if (Object.prototype.hasOwnProperty.call(obj, 'ts')) {
1281
1325
  delete obj.ts;
1282
1326
  }
1283
- return new Promise((resolve, reject) => this._socket.emit('extendObject', id, obj, (err) => (err ? reject(err) : resolve())));
1327
+ return new Promise((resolve, reject) => {
1328
+ this._socket.emit('extendObject', id, obj, (err) => ((err ? reject(err) : resolve())));
1329
+ });
1284
1330
  }
1285
1331
  /**
1286
1332
  * Register a handler for log messages.
@@ -1513,11 +1559,12 @@ class Connection {
1513
1559
  if (!this.connected) {
1514
1560
  return Promise.reject(NOT_CONNECTED);
1515
1561
  }
1516
- return new Promise(resolve => this._socket.emit('sendToHost', host, 'getLogs', linesNumber || 200, (lines) => resolve(lines)));
1562
+ return new Promise(resolve => {
1563
+ this._socket.emit('sendToHost', host, 'getLogs', linesNumber || 200, (lines) => resolve(lines));
1564
+ });
1517
1565
  }
1518
1566
  /**
1519
1567
  * Get the log files (only for admin connection).
1520
- * @returns {Promise<string[]>}
1521
1568
  */
1522
1569
  getLogsFiles(host) {
1523
1570
  if (Connection.isWeb()) {
@@ -1526,7 +1573,9 @@ class Connection {
1526
1573
  if (!this.connected) {
1527
1574
  return Promise.reject(NOT_CONNECTED);
1528
1575
  }
1529
- return new Promise((resolve, reject) => this._socket.emit('readLogs', host, (err, files) => err ? reject(err) : resolve(files)));
1576
+ return new Promise((resolve, reject) => {
1577
+ this._socket.emit('readLogs', host, (err, files) => (err ? reject(err) : resolve(files)));
1578
+ });
1530
1579
  }
1531
1580
  /**
1532
1581
  * Delete the logs from a host (only for admin connection).
@@ -1538,7 +1587,9 @@ class Connection {
1538
1587
  if (!this.connected) {
1539
1588
  return Promise.reject(NOT_CONNECTED);
1540
1589
  }
1541
- return new Promise((resolve, reject) => this._socket.emit('sendToHost', host, 'delLogs', null, (error) => error ? reject(error) : resolve()));
1590
+ return new Promise((resolve, reject) => {
1591
+ this._socket.emit('sendToHost', host, 'delLogs', null, (error) => (error ? reject(error) : resolve()));
1592
+ });
1542
1593
  }
1543
1594
  /**
1544
1595
  * Read the meta items.
@@ -1547,7 +1598,9 @@ class Connection {
1547
1598
  if (!this.connected) {
1548
1599
  return Promise.reject(NOT_CONNECTED);
1549
1600
  }
1550
- return new Promise((resolve, reject) => this._socket.emit('getObjectView', 'system', 'meta', { startkey: '', endkey: '\u9999' }, (err, objs) => err ? reject(err) : resolve(objs.rows && objs.rows.map((obj) => obj.value))));
1601
+ return new Promise((resolve, reject) => {
1602
+ this._socket.emit('getObjectView', 'system', 'meta', { startkey: '', endkey: '\u9999' }, (err, objs) => (err ? reject(err) : resolve(objs.rows && objs.rows.map((obj) => obj.value))));
1603
+ });
1551
1604
  }
1552
1605
  /**
1553
1606
  * Read the directory of an adapter.
@@ -1560,7 +1613,9 @@ class Connection {
1560
1613
  if (!this.connected) {
1561
1614
  return Promise.reject(NOT_CONNECTED);
1562
1615
  }
1563
- return new Promise((resolve, reject) => this._socket.emit('readDir', adapter, fileName, (err, files) => err ? reject(err) : resolve(files)));
1616
+ return new Promise((resolve, reject) => {
1617
+ this._socket.emit('readDir', adapter, fileName, (err, files) => (err ? reject(err) : resolve(files)));
1618
+ });
1564
1619
  }
1565
1620
  /**
1566
1621
  * Read a file of an adapter.
@@ -1578,12 +1633,11 @@ class Connection {
1578
1633
  return new Promise((resolve, reject) => {
1579
1634
  if (!base64) {
1580
1635
  this._socket.emit('readFile', adapter, fileName, (err, data, type) => {
1581
- //@ts-ignore
1582
1636
  err ? reject(err) : resolve({ data, type });
1583
1637
  });
1584
1638
  }
1585
1639
  else {
1586
- this._socket.emit('readFile64', adapter, fileName, base64, (err, data) => err ? reject(err) : resolve(data));
1640
+ this._socket.emit('readFile64', adapter, fileName, base64, (err, data) => (err ? reject(err) : resolve(data)));
1587
1641
  }
1588
1642
  });
1589
1643
  }
@@ -1602,12 +1656,12 @@ class Connection {
1602
1656
  }
1603
1657
  return new Promise((resolve, reject) => {
1604
1658
  if (typeof data === 'string') {
1605
- this._socket.emit('writeFile', adapter, fileName, data, (err) => err ? reject(err) : resolve());
1659
+ this._socket.emit('writeFile', adapter, fileName, data, (err) => (err ? reject(err) : resolve()));
1606
1660
  }
1607
1661
  else {
1608
1662
  const base64 = btoa(new Uint8Array(data)
1609
- .reduce((data, byte) => data + String.fromCharCode(byte), ''));
1610
- this._socket.emit('writeFile64', adapter, fileName, base64, (err) => err ? reject(err) : resolve());
1663
+ .reduce((_data, byte) => _data + String.fromCharCode(byte), ''));
1664
+ this._socket.emit('writeFile64', adapter, fileName, base64, (err) => (err ? reject(err) : resolve()));
1611
1665
  }
1612
1666
  });
1613
1667
  }
@@ -1622,7 +1676,9 @@ class Connection {
1622
1676
  if (!this.connected) {
1623
1677
  return Promise.reject(NOT_CONNECTED);
1624
1678
  }
1625
- return new Promise((resolve, reject) => this._socket.emit('unlink', adapter, fileName, (err) => err ? reject(err) : resolve()));
1679
+ return new Promise((resolve, reject) => {
1680
+ this._socket.emit('unlink', adapter, fileName, (err) => (err ? reject(err) : resolve()));
1681
+ });
1626
1682
  }
1627
1683
  /**
1628
1684
  * Delete a folder of an adapter.
@@ -1636,7 +1692,9 @@ class Connection {
1636
1692
  if (!this.connected) {
1637
1693
  return Promise.reject(NOT_CONNECTED);
1638
1694
  }
1639
- return new Promise((resolve, reject) => this._socket.emit('deleteFolder', adapter, folderName, (err) => err ? reject(err) : resolve()));
1695
+ return new Promise((resolve, reject) => {
1696
+ this._socket.emit('deleteFolder', adapter, folderName, (err) => (err ? reject(err) : resolve()));
1697
+ });
1640
1698
  }
1641
1699
  /**
1642
1700
  * Get the list of all hosts.
@@ -1652,14 +1710,16 @@ class Connection {
1652
1710
  if (!this.connected) {
1653
1711
  return Promise.reject(NOT_CONNECTED);
1654
1712
  }
1655
- this._promises.hosts = new Promise((resolve, reject) => this._socket.emit('getObjectView', 'system', 'host', { startkey: 'system.host.', endkey: 'system.host.\u9999' }, (err, doc) => {
1656
- if (err) {
1657
- reject(err);
1658
- }
1659
- else {
1660
- resolve(doc.rows.map(item => item.value));
1661
- }
1662
- }));
1713
+ this._promises.hosts = new Promise((resolve, reject) => {
1714
+ this._socket.emit('getObjectView', 'system', 'host', { startkey: 'system.host.', endkey: 'system.host.\u9999' }, (err, doc) => {
1715
+ if (err) {
1716
+ reject(err);
1717
+ }
1718
+ else {
1719
+ resolve(doc.rows.map(item => item.value));
1720
+ }
1721
+ });
1722
+ });
1663
1723
  return this._promises.hosts;
1664
1724
  }
1665
1725
  /**
@@ -1677,14 +1737,16 @@ class Connection {
1677
1737
  if (!this.connected) {
1678
1738
  return Promise.reject(NOT_CONNECTED);
1679
1739
  }
1680
- this._promises.users = new Promise((resolve, reject) => this._socket.emit('getObjectView', 'system', 'user', { startkey: 'system.user.', endkey: 'system.user.\u9999' }, (err, doc) => {
1681
- if (err) {
1682
- reject(err);
1683
- }
1684
- else {
1685
- resolve(doc.rows.map(item => item.value));
1686
- }
1687
- }));
1740
+ this._promises.users = new Promise((resolve, reject) => {
1741
+ this._socket.emit('getObjectView', 'system', 'user', { startkey: 'system.user.', endkey: 'system.user.\u9999' }, (err, doc) => {
1742
+ if (err) {
1743
+ reject(err);
1744
+ }
1745
+ else {
1746
+ resolve(doc.rows.map(item => item.value));
1747
+ }
1748
+ });
1749
+ });
1688
1750
  return this._promises.users;
1689
1751
  }
1690
1752
  /**
@@ -1699,14 +1761,16 @@ class Connection {
1699
1761
  if (!this.connected) {
1700
1762
  return Promise.reject(NOT_CONNECTED);
1701
1763
  }
1702
- this._promises.groups = new Promise((resolve, reject) => this._socket.emit('getObjectView', 'system', 'group', { startkey: 'system.group.', endkey: 'system.group.\u9999' }, (err, doc) => {
1703
- if (err) {
1704
- reject(err);
1705
- }
1706
- else {
1707
- resolve(doc.rows.map(item => item.value));
1708
- }
1709
- }));
1764
+ this._promises.groups = new Promise((resolve, reject) => {
1765
+ this._socket.emit('getObjectView', 'system', 'group', { startkey: 'system.group.', endkey: 'system.group.\u9999' }, (err, doc) => {
1766
+ if (err) {
1767
+ reject(err);
1768
+ }
1769
+ else {
1770
+ resolve(doc.rows.map(item => item.value));
1771
+ }
1772
+ });
1773
+ });
1710
1774
  return this._promises.groups;
1711
1775
  }
1712
1776
  /**
@@ -1903,7 +1967,9 @@ class Connection {
1903
1967
  if (!this.connected) {
1904
1968
  return Promise.reject(NOT_CONNECTED);
1905
1969
  }
1906
- return new Promise((resolve, reject) => this._socket.emit('rename', adapter, oldName, newName, (err) => err ? reject(err) : resolve()));
1970
+ return new Promise((resolve, reject) => {
1971
+ this._socket.emit('rename', adapter, oldName, newName, (err) => (err ? reject(err) : resolve()));
1972
+ });
1907
1973
  }
1908
1974
  /**
1909
1975
  * Rename file in ioBroker DB
@@ -1918,7 +1984,9 @@ class Connection {
1918
1984
  if (!this.connected) {
1919
1985
  return Promise.reject(NOT_CONNECTED);
1920
1986
  }
1921
- return new Promise((resolve, reject) => this._socket.emit('renameFile', adapter, oldName, newName, (err) => err ? reject(err) : resolve()));
1987
+ return new Promise((resolve, reject) => {
1988
+ this._socket.emit('renameFile', adapter, oldName, newName, (err) => (err ? reject(err) : resolve()));
1989
+ });
1922
1990
  }
1923
1991
  /**
1924
1992
  * Execute a command on a host.
@@ -1976,9 +2044,9 @@ class Connection {
1976
2044
  if (!this.connected) {
1977
2045
  return Promise.reject(NOT_CONNECTED);
1978
2046
  }
1979
- this._promises[`supportedFeatures_${feature}`] = new Promise((resolve, reject) => this._socket.emit('checkFeatureSupported', feature, (err, supported) => {
1980
- err ? reject(err) : resolve(supported);
1981
- }));
2047
+ this._promises[`supportedFeatures_${feature}`] = new Promise((resolve, reject) => {
2048
+ this._socket.emit('checkFeatureSupported', feature, (err, supported) => (err ? reject(err) : resolve(supported)));
2049
+ });
1982
2050
  return this._promises[`supportedFeatures_${feature}`];
1983
2051
  }
1984
2052
  /**
@@ -2020,7 +2088,7 @@ class Connection {
2020
2088
  });
2021
2089
  });
2022
2090
  }
2023
- return await Promise.reject('Not supported');
2091
+ return Promise.reject('Not supported');
2024
2092
  }
2025
2093
  /**
2026
2094
  * Write the base settings of a given host.
@@ -2100,9 +2168,13 @@ class Connection {
2100
2168
  return Promise.reject(NOT_CONNECTED);
2101
2169
  }
2102
2170
  if (Connection.isWeb()) {
2103
- return new Promise((resolve, reject) => this._socket.emit('getStates', pattern || '*', (err, states) => err ? reject(err) : resolve(states)));
2171
+ return new Promise((resolve, reject) => {
2172
+ this._socket.emit('getStates', pattern || '*', (err, states) => (err ? reject(err) : resolve(states)));
2173
+ });
2104
2174
  }
2105
- return new Promise((resolve, reject) => this._socket.emit('getForeignStates', pattern || '*', (err, states) => err ? reject(err) : resolve(states)));
2175
+ return new Promise((resolve, reject) => {
2176
+ this._socket.emit('getForeignStates', pattern || '*', (err, states) => (err ? reject(err) : resolve(states)));
2177
+ });
2106
2178
  }
2107
2179
  /**
2108
2180
  * Get foreign objects by pattern, by specific type and resolve their enums. (Only admin)
@@ -2115,7 +2187,9 @@ class Connection {
2115
2187
  if (!this.connected) {
2116
2188
  return Promise.reject(NOT_CONNECTED);
2117
2189
  }
2118
- return new Promise((resolve, reject) => this._socket.emit('getForeignObjects', pattern || '*', type, (err, states) => err ? reject(err) : resolve(states)));
2190
+ return new Promise((resolve, reject) => {
2191
+ this._socket.emit('getForeignObjects', pattern || '*', type, (err, states) => (err ? reject(err) : resolve(states)));
2192
+ });
2119
2193
  }
2120
2194
  /**
2121
2195
  * Gets the system configuration.
@@ -2131,11 +2205,8 @@ class Connection {
2131
2205
  }
2132
2206
  this._promises.systemConfig = this.getObject('system.config')
2133
2207
  .then(systemConfig => {
2134
- // @ts-ignore
2135
2208
  systemConfig = systemConfig || {};
2136
- // @ts-ignore
2137
2209
  systemConfig.common = systemConfig.common || {};
2138
- // @ts-ignore
2139
2210
  systemConfig.native = systemConfig.native || {};
2140
2211
  return systemConfig;
2141
2212
  });
@@ -2161,7 +2232,9 @@ class Connection {
2161
2232
  if (!this.connected) {
2162
2233
  return Promise.reject(NOT_CONNECTED);
2163
2234
  }
2164
- return new Promise((resolve, reject) => this._socket.emit('getHistory', id, options, (err, values) => err ? reject(err) : resolve(values)));
2235
+ return new Promise((resolve, reject) => {
2236
+ this._socket.emit('getHistory', id, options, (err, values) => (err ? reject(err) : resolve(values)));
2237
+ });
2165
2238
  }
2166
2239
  /**
2167
2240
  * Get the history of a given state.
@@ -2170,7 +2243,9 @@ class Connection {
2170
2243
  if (!this.connected) {
2171
2244
  return Promise.reject(NOT_CONNECTED);
2172
2245
  }
2173
- return new Promise((resolve, reject) => this._socket.emit('getHistory', id, options, (err, values, stepIgnore, sessionId) => err ? reject(err) : resolve({ values, sessionId, stepIgnore })));
2246
+ return new Promise((resolve, reject) => {
2247
+ this._socket.emit('getHistory', id, options, (err, values, stepIgnore, sessionId) => (err ? reject(err) : resolve({ values, sessionId, stepIgnore })));
2248
+ });
2174
2249
  }
2175
2250
  /**
2176
2251
  * Change the password of the given user.
@@ -2179,7 +2254,9 @@ class Connection {
2179
2254
  if (Connection.isWeb()) {
2180
2255
  return Promise.reject('Allowed only in admin');
2181
2256
  }
2182
- return new Promise((resolve, reject) => this._socket.emit('changePassword', user, password, (err) => err ? reject(err) : resolve()));
2257
+ return new Promise((resolve, reject) => {
2258
+ this._socket.emit('changePassword', user, password, (err) => (err ? reject(err) : resolve()));
2259
+ });
2183
2260
  }
2184
2261
  /**
2185
2262
  * Get the IP addresses of the given host.
@@ -2197,7 +2274,7 @@ class Connection {
2197
2274
  return this._promises[`IPs_${host}`];
2198
2275
  }
2199
2276
  this._promises[`IPs_${host}`] = this.getObject(host)
2200
- .then(obj => obj && obj.common ? obj.common.address || [] : []);
2277
+ .then(obj => ((obj === null || obj === void 0 ? void 0 : obj.common) ? obj.common.address || [] : []));
2201
2278
  return this._promises[`IPs_${host}`];
2202
2279
  }
2203
2280
  /**
@@ -2215,30 +2292,40 @@ class Connection {
2215
2292
  if (!update && this._promises[`rIPs_${ipOrHostName}`]) {
2216
2293
  return this._promises[`rIPs_${ipOrHostName}`];
2217
2294
  }
2218
- this._promises[`rIPs_${ipOrHostName}`] = new Promise(resolve => this._socket.emit('getHostByIp', ipOrHostName, (ip, host) => {
2219
- var _a, _b;
2220
- const IPs4 = [{ name: '[IPv4] 0.0.0.0 - Listen on all IPs', address: '0.0.0.0', family: 'ipv4' }];
2221
- const IPs6 = [{ name: '[IPv6] :: - Listen on all IPs', address: '::', family: 'ipv6' }];
2222
- if ((_b = (_a = host === null || host === void 0 ? void 0 : host.native) === null || _a === void 0 ? void 0 : _a.hardware) === null || _b === void 0 ? void 0 : _b.networkInterfaces) {
2223
- for (const eth in host.native.hardware.networkInterfaces) {
2224
- if (!host.native.hardware.networkInterfaces.hasOwnProperty(eth)) {
2225
- continue;
2226
- }
2227
- for (let num = 0; num < host.native.hardware.networkInterfaces[eth].length; num++) {
2228
- if (host.native.hardware.networkInterfaces[eth][num].family !== 'IPv6') {
2229
- IPs4.push({ name: `[${host.native.hardware.networkInterfaces[eth][num].family}] ${host.native.hardware.networkInterfaces[eth][num].address} - ${eth}`, address: host.native.hardware.networkInterfaces[eth][num].address, family: 'ipv4' });
2295
+ this._promises[`rIPs_${ipOrHostName}`] = new Promise(resolve => {
2296
+ this._socket.emit('getHostByIp', ipOrHostName, (ip, host) => {
2297
+ var _a, _b;
2298
+ const IPs4 = [{ name: '[IPv4] 0.0.0.0 - Listen on all IPs', address: '0.0.0.0', family: 'ipv4' }];
2299
+ const IPs6 = [{ name: '[IPv6] :: - Listen on all IPs', address: '::', family: 'ipv6' }];
2300
+ if ((_b = (_a = host === null || host === void 0 ? void 0 : host.native) === null || _a === void 0 ? void 0 : _a.hardware) === null || _b === void 0 ? void 0 : _b.networkInterfaces) {
2301
+ for (const eth in host.native.hardware.networkInterfaces) {
2302
+ if (!Object.prototype.hasOwnProperty.call(host.native.hardware.networkInterfaces, eth)) {
2303
+ continue;
2230
2304
  }
2231
- else {
2232
- IPs6.push({ name: `[${host.native.hardware.networkInterfaces[eth][num].family}] ${host.native.hardware.networkInterfaces[eth][num].address} - ${eth}`, address: host.native.hardware.networkInterfaces[eth][num].address, family: 'ipv6' });
2305
+ for (let num = 0; num < host.native.hardware.networkInterfaces[eth].length; num++) {
2306
+ if (host.native.hardware.networkInterfaces[eth][num].family !== 'IPv6') {
2307
+ IPs4.push({
2308
+ name: `[${host.native.hardware.networkInterfaces[eth][num].family}] ${host.native.hardware.networkInterfaces[eth][num].address} - ${eth}`,
2309
+ address: host.native.hardware.networkInterfaces[eth][num].address,
2310
+ family: 'ipv4',
2311
+ });
2312
+ }
2313
+ else {
2314
+ IPs6.push({
2315
+ name: `[${host.native.hardware.networkInterfaces[eth][num].family}] ${host.native.hardware.networkInterfaces[eth][num].address} - ${eth}`,
2316
+ address: host.native.hardware.networkInterfaces[eth][num].address,
2317
+ family: 'ipv6',
2318
+ });
2319
+ }
2233
2320
  }
2234
2321
  }
2235
2322
  }
2236
- }
2237
- for (let i = 0; i < IPs6.length; i++) {
2238
- IPs4.push(IPs6[i]);
2239
- }
2240
- resolve(IPs4);
2241
- }));
2323
+ for (let i = 0; i < IPs6.length; i++) {
2324
+ IPs4.push(IPs6[i]);
2325
+ }
2326
+ resolve(IPs4);
2327
+ });
2328
+ });
2242
2329
  return this._promises[`rIPs_${ipOrHostName}`];
2243
2330
  }
2244
2331
  /**
@@ -2248,7 +2335,9 @@ class Connection {
2248
2335
  if (Connection.isWeb()) {
2249
2336
  return Promise.reject('Allowed only in admin');
2250
2337
  }
2251
- return new Promise((resolve, reject) => this._socket.emit('encrypt', text, (err, _text) => err ? reject(err) : resolve(_text)));
2338
+ return new Promise((resolve, reject) => {
2339
+ this._socket.emit('encrypt', text, (err, _text) => (err ? reject(err) : resolve(_text)));
2340
+ });
2252
2341
  }
2253
2342
  /**
2254
2343
  * Decrypt a text
@@ -2257,7 +2346,9 @@ class Connection {
2257
2346
  if (Connection.isWeb()) {
2258
2347
  return Promise.reject('Allowed only in admin');
2259
2348
  }
2260
- return new Promise((resolve, reject) => this._socket.emit('decrypt', encryptedText, (err, text) => err ? reject(err) : resolve(text)));
2349
+ return new Promise((resolve, reject) => {
2350
+ this._socket.emit('decrypt', encryptedText, (err, text) => (err ? reject(err) : resolve(text)));
2351
+ });
2261
2352
  }
2262
2353
  /**
2263
2354
  * Gets the version.
@@ -2267,15 +2358,17 @@ class Connection {
2267
2358
  if (update && this._promises.version) {
2268
2359
  delete this._promises.version;
2269
2360
  }
2270
- this._promises.version = this._promises.version || new Promise((resolve, reject) => this._socket.emit('getVersion', (err, version, serverName) => {
2271
- // support of old socket.io
2272
- if (err && !version && typeof err === 'string' && err.match(/\d+\.\d+\.\d+/)) {
2273
- resolve({ version: err, serverName: 'socketio' });
2274
- }
2275
- else {
2276
- return err ? reject(err) : resolve({ version, serverName });
2277
- }
2278
- }));
2361
+ this._promises.version = this._promises.version || new Promise((resolve, reject) => {
2362
+ this._socket.emit('getVersion', (err, version, serverName) => {
2363
+ // support of old socket.io
2364
+ if (err && !version && typeof err === 'string' && err.match(/\d+\.\d+\.\d+/)) {
2365
+ resolve({ version: err, serverName: 'socketio' });
2366
+ }
2367
+ else {
2368
+ err ? reject(err) : resolve({ version, serverName });
2369
+ }
2370
+ });
2371
+ });
2279
2372
  return this._promises.version;
2280
2373
  }
2281
2374
  /**
@@ -2283,7 +2376,9 @@ class Connection {
2283
2376
  * @returns {Promise<string>}
2284
2377
  */
2285
2378
  getWebServerName() {
2286
- this._promises.webName = this._promises.webName || new Promise((resolve, reject) => this._socket.emit('getAdapterName', (err, name) => err ? reject(err) : resolve(name)));
2379
+ this._promises.webName = this._promises.webName || new Promise((resolve, reject) => {
2380
+ this._socket.emit('getAdapterName', (err, name) => (err ? reject(err) : resolve(name)));
2381
+ });
2287
2382
  return this._promises.webName;
2288
2383
  }
2289
2384
  /**
@@ -2310,7 +2405,9 @@ class Connection {
2310
2405
  if (!this.connected) {
2311
2406
  return Promise.reject(NOT_CONNECTED);
2312
2407
  }
2313
- return new Promise((resolve, reject) => this._socket.emit('chmodFile', adapter, filename, options, (err, entries, id) => err ? reject(err) : resolve({ entries, id })));
2408
+ return new Promise((resolve, reject) => {
2409
+ this._socket.emit('chmodFile', adapter, filename, options, (err, entries, id) => (err ? reject(err) : resolve({ entries, id })));
2410
+ });
2314
2411
  }
2315
2412
  /**
2316
2413
  * Change an owner or/and owner group for file
@@ -2326,7 +2423,9 @@ class Connection {
2326
2423
  if (!this.connected) {
2327
2424
  return Promise.reject(NOT_CONNECTED);
2328
2425
  }
2329
- return new Promise((resolve, reject) => this._socket.emit('chownFile', adapter, fileName, options, (err, entries, id) => err ? reject(err) : resolve({ entries, id })));
2426
+ return new Promise((resolve, reject) => {
2427
+ this._socket.emit('chownFile', adapter, fileName, options, (err, entries, id) => (err ? reject(err) : resolve({ entries, id })));
2428
+ });
2330
2429
  }
2331
2430
  /**
2332
2431
  * Check if the file exists
@@ -2339,7 +2438,9 @@ class Connection {
2339
2438
  if (!this.connected) {
2340
2439
  return Promise.reject(NOT_CONNECTED);
2341
2440
  }
2342
- return new Promise((resolve, reject) => this._socket.emit('fileExists', adapter, fileName, (err, exists) => err ? reject(err) : resolve(exists)));
2441
+ return new Promise((resolve, reject) => {
2442
+ this._socket.emit('fileExists', adapter, fileName, (err, exists) => (err ? reject(err) : resolve(exists)));
2443
+ });
2343
2444
  }
2344
2445
  /**
2345
2446
  * Get the alarm notifications from a host (only for admin connection).
@@ -2352,7 +2453,9 @@ class Connection {
2352
2453
  if (!this.connected) {
2353
2454
  return Promise.reject(NOT_CONNECTED);
2354
2455
  }
2355
- return new Promise(resolve => this._socket.emit('sendToHost', host, 'getNotifications', { category }, (notifications) => resolve(notifications)));
2456
+ return new Promise(resolve => {
2457
+ this._socket.emit('sendToHost', host, 'getNotifications', { category }, (notifications) => resolve(notifications));
2458
+ });
2356
2459
  }
2357
2460
  /**
2358
2461
  * Clear the alarm notifications on a host (only for admin connection).
@@ -2367,7 +2470,9 @@ class Connection {
2367
2470
  if (!this.connected) {
2368
2471
  return Promise.reject(NOT_CONNECTED);
2369
2472
  }
2370
- return new Promise(resolve => this._socket.emit('sendToHost', host, 'clearNotifications', { category }, (result) => resolve(result)));
2473
+ return new Promise(resolve => {
2474
+ this._socket.emit('sendToHost', host, 'clearNotifications', { category }, (result) => resolve(result));
2475
+ });
2371
2476
  }
2372
2477
  /**
2373
2478
  * Read if only easy mode is allowed (only for admin connection).
@@ -2379,7 +2484,9 @@ class Connection {
2379
2484
  if (!this.connected) {
2380
2485
  return Promise.reject(NOT_CONNECTED);
2381
2486
  }
2382
- return new Promise((resolve, reject) => this._socket.emit('getIsEasyModeStrict', (error, isStrict) => error ? reject(error) : resolve(isStrict)));
2487
+ return new Promise((resolve, reject) => {
2488
+ this._socket.emit('getIsEasyModeStrict', (error, isStrict) => (error ? reject(error) : resolve(isStrict)));
2489
+ });
2383
2490
  }
2384
2491
  /**
2385
2492
  * Read easy mode configuration (only for admin connection).
@@ -2392,7 +2499,9 @@ class Connection {
2392
2499
  if (!this.connected) {
2393
2500
  return Promise.reject(NOT_CONNECTED);
2394
2501
  }
2395
- return new Promise((resolve, reject) => this._socket.emit('getEasyMode', (error, config) => error ? reject(error) : resolve(config)));
2502
+ return new Promise((resolve, reject) => {
2503
+ this._socket.emit('getEasyMode', (error, config) => (error ? reject(error) : resolve(config)));
2504
+ });
2396
2505
  }
2397
2506
  /**
2398
2507
  * Read current user
@@ -2402,7 +2511,9 @@ class Connection {
2402
2511
  if (!this.connected) {
2403
2512
  return Promise.reject(NOT_CONNECTED);
2404
2513
  }
2405
- return new Promise(resolve => this._socket.emit('authEnabled', (isSecure, user) => resolve(user)));
2514
+ return new Promise(resolve => {
2515
+ this._socket.emit('authEnabled', (isSecure, user) => resolve(user));
2516
+ });
2406
2517
  }
2407
2518
  getCurrentSession(cmdTimeout) {
2408
2519
  if (!this.connected) {
@@ -2417,7 +2528,7 @@ class Connection {
2417
2528
  reject('getCurrentSession timeout');
2418
2529
  }
2419
2530
  }, cmdTimeout || 5000);
2420
- return fetch('./session', { signal: controller.signal })
2531
+ fetch('./session', { signal: controller.signal })
2421
2532
  .then(res => res.json())
2422
2533
  .then(json => {
2423
2534
  if (timeout) {
@@ -2440,7 +2551,9 @@ class Connection {
2440
2551
  if (!this.connected) {
2441
2552
  return Promise.reject(NOT_CONNECTED);
2442
2553
  }
2443
- return new Promise((resolve, reject) => this._socket.emit('getRatings', update, (err, ratings) => err ? reject(err) : resolve(ratings)));
2554
+ return new Promise((resolve, reject) => {
2555
+ this._socket.emit('getRatings', update, (err, ratings) => (err ? reject(err) : resolve(ratings)));
2556
+ });
2444
2557
  }
2445
2558
  /**
2446
2559
  * Read current web, socketio or admin namespace, like admin.0
@@ -2450,7 +2563,9 @@ class Connection {
2450
2563
  return Promise.reject(NOT_CONNECTED);
2451
2564
  }
2452
2565
  this._promises.currentInstance = this._promises.currentInstance ||
2453
- new Promise((resolve, reject) => this._socket.emit('getCurrentInstance', (err, namespace) => err ? reject(err) : resolve(namespace)));
2566
+ new Promise((resolve, reject) => {
2567
+ this._socket.emit('getCurrentInstance', (err, namespace) => (err ? reject(err) : resolve(namespace)));
2568
+ });
2454
2569
  return this._promises.currentInstance;
2455
2570
  }
2456
2571
  // returns very optimized information for adapters to minimize a connection load
@@ -2464,7 +2579,9 @@ class Connection {
2464
2579
  if (!this.connected) {
2465
2580
  return Promise.reject(NOT_CONNECTED);
2466
2581
  }
2467
- this._promises.compactAdapters = new Promise((resolve, reject) => this._socket.emit('getCompactAdapters', (err, adapters) => err ? reject(err) : resolve(adapters)));
2582
+ this._promises.compactAdapters = new Promise((resolve, reject) => {
2583
+ this._socket.emit('getCompactAdapters', (err, adapters) => (err ? reject(err) : resolve(adapters)));
2584
+ });
2468
2585
  return this._promises.compactAdapters;
2469
2586
  }
2470
2587
  getAdaptersResetCache(adapter) {
@@ -2483,7 +2600,9 @@ class Connection {
2483
2600
  if (!this.connected) {
2484
2601
  return Promise.reject(NOT_CONNECTED);
2485
2602
  }
2486
- this._promises.compactInstances = new Promise((resolve, reject) => this._socket.emit('getCompactInstances', (err, instances) => err ? reject(err) : resolve(instances)));
2603
+ this._promises.compactInstances = new Promise((resolve, reject) => {
2604
+ this._socket.emit('getCompactInstances', (err, instances) => (err ? reject(err) : resolve(instances)));
2605
+ });
2487
2606
  return this._promises.compactInstances;
2488
2607
  }
2489
2608
  getAdapternInstancesResetCache(adapter) {
@@ -2579,7 +2698,9 @@ class Connection {
2579
2698
  if (!this.connected) {
2580
2699
  return Promise.reject(NOT_CONNECTED);
2581
2700
  }
2582
- this._promises.systemConfigCommon = new Promise((resolve, reject) => this._socket.emit('getCompactSystemConfig', (err, systemConfig) => err ? reject(err) : resolve(systemConfig)));
2701
+ this._promises.systemConfigCommon = new Promise((resolve, reject) => {
2702
+ this._socket.emit('getCompactSystemConfig', (err, systemConfig) => (err ? reject(err) : resolve(systemConfig)));
2703
+ });
2583
2704
  return this._promises.systemConfigCommon;
2584
2705
  }
2585
2706
  /**
@@ -2644,7 +2765,9 @@ class Connection {
2644
2765
  if (!this.connected) {
2645
2766
  return Promise.reject(NOT_CONNECTED);
2646
2767
  }
2647
- this._promises.hostsCompact = new Promise((resolve, reject) => this._socket.emit('getCompactHosts', (err, hosts) => err ? reject(err) : resolve(hosts)));
2768
+ this._promises.hostsCompact = new Promise((resolve, reject) => {
2769
+ this._socket.emit('getCompactHosts', (err, hosts) => (err ? reject(err) : resolve(hosts)));
2770
+ });
2648
2771
  return this._promises.hostsCompact;
2649
2772
  }
2650
2773
  /**
@@ -2658,7 +2781,6 @@ class Connection {
2658
2781
  return Promise.reject(NOT_CONNECTED);
2659
2782
  }
2660
2783
  this._promises.uuid = this.getObject('system.meta.uuid')
2661
- // @ts-ignore
2662
2784
  .then(obj => { var _a; return (_a = obj === null || obj === void 0 ? void 0 : obj.native) === null || _a === void 0 ? void 0 : _a.uuid; });
2663
2785
  return this._promises.uuid;
2664
2786
  }
@@ -2680,29 +2802,31 @@ class Connection {
2680
2802
  if (!this.connected) {
2681
2803
  return Promise.reject(NOT_CONNECTED);
2682
2804
  }
2683
- return new Promise((resolve, reject) => this._socket.emit('clientSubscribe', targetInstance, messageType, data, (err, result) => {
2684
- if (err) {
2685
- reject(err);
2686
- }
2687
- else if (result && result.error) {
2688
- reject(result.error);
2689
- }
2690
- else {
2691
- if (!targetInstance.startsWith('system.adapter.')) {
2692
- targetInstance = `system.adapter.${targetInstance}`;
2693
- }
2694
- // save callback
2695
- this._instanceSubscriptions[targetInstance] = this._instanceSubscriptions[targetInstance] || [];
2696
- if (!this._instanceSubscriptions[targetInstance].find(sub => sub.messageType === messageType &&
2697
- sub.callback === callback)) {
2698
- this._instanceSubscriptions[targetInstance].push({
2699
- messageType,
2700
- callback,
2701
- });
2805
+ return new Promise((resolve, reject) => {
2806
+ this._socket.emit('clientSubscribe', targetInstance, messageType, data, (err, result) => {
2807
+ if (err) {
2808
+ reject(err);
2702
2809
  }
2703
- resolve(result);
2704
- }
2705
- }));
2810
+ else if (result && result.error) {
2811
+ reject(result.error);
2812
+ }
2813
+ else {
2814
+ if (!targetInstance.startsWith('system.adapter.')) {
2815
+ targetInstance = `system.adapter.${targetInstance}`;
2816
+ }
2817
+ // save callback
2818
+ this._instanceSubscriptions[targetInstance] = this._instanceSubscriptions[targetInstance] || [];
2819
+ if (!this._instanceSubscriptions[targetInstance].find(sub => sub.messageType === messageType &&
2820
+ sub.callback === callback)) {
2821
+ this._instanceSubscriptions[targetInstance].push({
2822
+ messageType,
2823
+ callback,
2824
+ });
2825
+ }
2826
+ resolve(result);
2827
+ }
2828
+ });
2829
+ });
2706
2830
  }
2707
2831
  /**
2708
2832
  * Unsubscribe from instance message
@@ -2735,14 +2859,16 @@ class Connection {
2735
2859
  const found = this._instanceSubscriptions[targetInstance] &&
2736
2860
  this._instanceSubscriptions[targetInstance].find(sub => sub.messageType === _messageType);
2737
2861
  if (!found) {
2738
- promiseResults.push(new Promise((resolve, reject) => this._socket.emit('clientUnsubscribe', targetInstance, messageType, (err, wasSubscribed) => {
2739
- if (err) {
2740
- reject(err);
2741
- }
2742
- else {
2743
- resolve(wasSubscribed);
2744
- }
2745
- })));
2862
+ promiseResults.push(new Promise((resolve, reject) => {
2863
+ this._socket.emit('clientUnsubscribe', targetInstance, messageType, (err, wasSubscribed) => {
2864
+ if (err) {
2865
+ reject(err);
2866
+ }
2867
+ else {
2868
+ resolve(wasSubscribed);
2869
+ }
2870
+ });
2871
+ }));
2746
2872
  }
2747
2873
  }
2748
2874
  } while (deleted && (!callback || !messageType));
@@ -2766,7 +2892,9 @@ class Connection {
2766
2892
  if (!this.connected) {
2767
2893
  return Promise.reject(NOT_CONNECTED);
2768
2894
  }
2769
- return new Promise((resolve, reject) => this._socket.emit('logout', (err) => err ? reject(err) : resolve()));
2895
+ return new Promise((resolve, reject) => {
2896
+ this._socket.emit('logout', (err) => (err ? reject(err) : resolve()));
2897
+ });
2770
2898
  }
2771
2899
  /**
2772
2900
  * This is a special method for vis.