1. Added polyfill for Array.findIndex() if missing 2. Added try/catch around indentiers module
1. Added polyfill for Array.findIndex() if missing 2. Added try/catch around indentiers module
Bryan Roe committed
Aug 16, 2021 at 12:57 UTC
1574a9bec9c20b02049559dda6b6018dbcf38618
1 file changed
+50
-22
agents/meshcore.js
+50
-22
@@ -46,6 +46,27 @@ var MESHRIGHT_CHATNOTIFY = 16384;
46
var MESHRIGHT_UNINSTALL = 32768;
47
var MESHRIGHT_NODESKTOP = 65536;
48
49
+try
50
+{
51
+ Object.defineProperty(Array.prototype, 'findIndex', {
52
+ value: function (func)
53
+ {
54
+ var i = 0;
55
+ for (i = 0; i < this.length; ++i)
56
+ {
57
+ if (func(this[i], i, this))
58
+ {
59
+ return (i);
60
+ }
61
+ }
62
+ return (-1);
63
+ }
64
+ });
65
+}
66
+catch (x)
67
+{
68
+}
69
+
70
if (require('MeshAgent').ARCHID == null) {
71
var id = null;
72
switch (process.platform) {
@@ -409,28 +430,35 @@ if ((require('fs').existsSync(process.cwd() + 'batterystate.txt')) && (require('
430
}, 1000);
431
});
432
}
412
-else {
413
- // Setup normal battery monitoring
414
- if (require('identifiers').isBatteryPowered && require('identifiers').isBatteryPowered()) {
415
- require('MeshAgent')._battLevelChanged = function _battLevelChanged(val) {
416
- _battLevelChanged.self._currentBatteryLevel = val;
417
- _battLevelChanged.self.SendCommand({ action: 'battery', state: _battLevelChanged.self._currentPowerState, level: val });
418
- };
419
- require('MeshAgent')._battLevelChanged.self = require('MeshAgent');
420
- require('MeshAgent')._powerChanged = function _powerChanged(val) {
421
- _powerChanged.self._currentPowerState = (val == 'AC' ? 'ac' : 'dc');
422
- _powerChanged.self.SendCommand({ action: 'battery', state: (val == 'AC' ? 'ac' : 'dc'), level: _powerChanged.self._currentBatteryLevel });
423
- };
424
- require('MeshAgent')._powerChanged.self = require('MeshAgent');
425
- require('MeshAgent').on('Connected', function (status) {
426
- if (status == 0) {
427
- require('power-monitor').removeListener('acdc', this._powerChanged);
428
- require('power-monitor').removeListener('batteryLevel', this._battLevelChanged);
429
- } else {
430
- require('power-monitor').on('acdc', this._powerChanged);
431
- require('power-monitor').on('batteryLevel', this._battLevelChanged);
432
- }
433
- });
433
+else
434
+{
435
+ try
436
+ {
437
+ // Setup normal battery monitoring
438
+ if (require('identifiers').isBatteryPowered && require('identifiers').isBatteryPowered()) {
439
+ require('MeshAgent')._battLevelChanged = function _battLevelChanged(val) {
440
+ _battLevelChanged.self._currentBatteryLevel = val;
441
+ _battLevelChanged.self.SendCommand({ action: 'battery', state: _battLevelChanged.self._currentPowerState, level: val });
442
+ };
443
+ require('MeshAgent')._battLevelChanged.self = require('MeshAgent');
444
+ require('MeshAgent')._powerChanged = function _powerChanged(val) {
445
+ _powerChanged.self._currentPowerState = (val == 'AC' ? 'ac' : 'dc');
446
+ _powerChanged.self.SendCommand({ action: 'battery', state: (val == 'AC' ? 'ac' : 'dc'), level: _powerChanged.self._currentBatteryLevel });
447
+ };
448
+ require('MeshAgent')._powerChanged.self = require('MeshAgent');
449
+ require('MeshAgent').on('Connected', function (status) {
450
+ if (status == 0) {
451
+ require('power-monitor').removeListener('acdc', this._powerChanged);
452
+ require('power-monitor').removeListener('batteryLevel', this._battLevelChanged);
453
+ } else {
454
+ require('power-monitor').on('acdc', this._powerChanged);
455
+ require('power-monitor').on('batteryLevel', this._battLevelChanged);
456
+ }
457
+ });
458
+ }
459
+ }
460
+ catch(e)
461
+ {
462
}
463
}
464