@robotical/webapp-types 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/application-manager.ts +20 -0
- package/dist-types/src/application/ApplicationManager/ApplicationManager.d.ts +91 -0
- package/dist-types/src/application/ApplicationManager/ApplicationManager.js +448 -0
- package/dist-types/src/application/RAFTs/Cog/Cog.d.ts +39 -0
- package/dist-types/src/application/RAFTs/Cog/Cog.js +171 -0
- package/dist-types/src/application/RAFTs/Marty/Marty.d.ts +40 -0
- package/dist-types/src/application/RAFTs/Marty/Marty.js +179 -0
- package/dist-types/src/application/RAFTs/RAFT.d.ts +109 -0
- package/dist-types/src/application/RAFTs/RAFT.js +313 -0
- package/dist-types/src/application/RAFTs/RAFTInterface.d.ts +13 -0
- package/dist-types/src/application/RAFTs/RAFTInterface.js +6 -0
- package/dist-types/src/application/RAFTs/RaftObserver.d.ts +10 -0
- package/dist-types/src/application/RAFTs/RaftObserver.js +1 -0
- package/dist-types/src/application/RAFTs/raft-subscription-helpers.d.ts +59 -0
- package/dist-types/src/application/RAFTs/raft-subscription-helpers.js +324 -0
- package/dist-types/src/application/communicators/SelfdestructiveMessagePromise.d.ts +10 -0
- package/dist-types/src/application/communicators/SelfdestructiveMessagePromise.js +31 -0
- package/dist-types/src/application/communicators/WrapperCommunicator.d.ts +24 -0
- package/dist-types/src/application/communicators/WrapperCommunicator.js +137 -0
- package/dist-types/src/components/disposables/LoadingSpinner/index.d.ts +7 -0
- package/dist-types/src/components/disposables/LoadingSpinner/index.js +29 -0
- package/dist-types/src/components/disposables/buttons/SVGImageButton/index.d.ts +14 -0
- package/dist-types/src/components/disposables/buttons/SVGImageButton/index.js +19 -0
- package/dist-types/src/components/disposables/buttons/SimpleButton/index.d.ts +14 -0
- package/dist-types/src/components/disposables/buttons/SimpleButton/index.js +18 -0
- package/dist-types/src/components/modals/DisconnectConfirmation/index.d.ts +6 -0
- package/dist-types/src/components/modals/DisconnectConfirmation/index.js +63 -0
- package/dist-types/src/components/modals/DisconnectConfirmation/styles.d.ts +1 -0
- package/dist-types/src/components/modals/DisconnectConfirmation/styles.js +7 -0
- package/dist-types/src/components/modals/InUnplugged/index.d.ts +1 -0
- package/dist-types/src/components/modals/InUnplugged/index.js +12 -0
- package/dist-types/src/components/modals/InUnplugged/styles.d.ts +5 -0
- package/dist-types/src/components/modals/InUnplugged/styles.js +11 -0
- package/dist-types/src/components/modals/VerificationModal/index.d.ts +6 -0
- package/dist-types/src/components/modals/VerificationModal/index.js +124 -0
- package/dist-types/src/components/modals/VerificationModalPhoneApp/index.d.ts +6 -0
- package/dist-types/src/components/modals/VerificationModalPhoneApp/index.js +190 -0
- package/dist-types/src/components/oneoffs/LEDs/index.d.ts +8 -0
- package/dist-types/src/components/oneoffs/LEDs/index.js +39 -0
- package/dist-types/src/components/oneoffs/RICSignal/index.d.ts +7 -0
- package/dist-types/src/components/oneoffs/RICSignal/index.js +29 -0
- package/dist-types/src/services/logger/Logger.d.ts +7 -0
- package/dist-types/src/services/logger/Logger.js +19 -0
- package/dist-types/src/state-observables/modal/ModalObserver.d.ts +17 -0
- package/dist-types/src/state-observables/modal/ModalObserver.js +1 -0
- package/dist-types/src/state-observables/modal/ModalState.d.ts +24 -0
- package/dist-types/src/state-observables/modal/ModalState.js +69 -0
- package/dist-types/src/store/SelectedRaftContext.d.ts +17 -0
- package/dist-types/src/store/SelectedRaftContext.js +80 -0
- package/dist-types/src/styles/colors.d.ts +35 -0
- package/dist-types/src/styles/colors.js +42 -0
- package/dist-types/src/types/communication-between-apps/wrapper-communication.d.ts +45 -0
- package/dist-types/src/types/communication-between-apps/wrapper-communication.js +25 -0
- package/dist-types/src/types/events/raft-info.d.ts +10 -0
- package/dist-types/src/types/events/raft-info.js +11 -0
- package/dist-types/src/types/phone-app-communicator.d.ts +20 -0
- package/dist-types/src/types/phone-app-communicator.js +5 -0
- package/dist-types/src/types/raft.d.ts +18 -0
- package/dist-types/src/types/raft.js +14 -0
- package/dist-types/src/utils/Toaster.d.ts +13 -0
- package/dist-types/src/utils/Toaster.js +38 -0
- package/dist-types/src/utils/helpers/compare-version.d.ts +2 -0
- package/dist-types/src/utils/helpers/compare-version.js +19 -0
- package/dist-types/src/utils/helpers/randomHashGenerator.d.ts +1 -0
- package/dist-types/src/utils/helpers/randomHashGenerator.js +10 -0
- package/dist-types/src/utils/helpers/rescale-range.d.ts +2 -0
- package/dist-types/src/utils/helpers/rescale-range.js +4 -0
- package/dist-types/src/utils/helpers/wifi-configuration-subtitle-gen.d.ts +3 -0
- package/dist-types/src/utils/helpers/wifi-configuration-subtitle-gen.js +34 -0
- package/dist-types/src/utils/phone-app-communication/is-phone-app.d.ts +5 -0
- package/dist-types/src/utils/phone-app-communication/is-phone-app.js +7 -0
- package/dist-types/src/wrapper-app/WrapperAppManager.d.ts +58 -0
- package/dist-types/src/wrapper-app/WrapperAppManager.js +176 -0
- package/dist-types/src/wrapper-app/communicators/WebAppCommunicator.d.ts +24 -0
- package/dist-types/src/wrapper-app/communicators/WebAppCommunicator.js +243 -0
- package/dist-types/src/wrapper-app/connectors/CogConnector/CogConnector.d.ts +35 -0
- package/dist-types/src/wrapper-app/connectors/CogConnector/CogConnector.js +177 -0
- package/dist-types/src/wrapper-app/connectors/Connector.d.ts +69 -0
- package/dist-types/src/wrapper-app/connectors/Connector.js +315 -0
- package/dist-types/src/wrapper-app/connectors/ConnectorFactory.d.ts +15 -0
- package/dist-types/src/wrapper-app/connectors/ConnectorFactory.js +99 -0
- package/dist-types/src/wrapper-app/connectors/ConnectorInterface.d.ts +10 -0
- package/dist-types/src/wrapper-app/connectors/ConnectorInterface.js +6 -0
- package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.d.ts +35 -0
- package/dist-types/src/wrapper-app/connectors/MartyConnector/MartyConnector.js +219 -0
- package/dist-types/types-package/application-manager.d.ts +17 -0
- package/dist-types/types-package/application-manager.js +5 -0
- package/package.json +13 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { AppSentMessage } from "../../types/communication-between-apps/wrapper-communication";
|
|
38
|
+
import { RaftTypeE } from "../../types/raft";
|
|
39
|
+
import { RaftInfoEvents } from "../../types/events/raft-info";
|
|
40
|
+
import { RaftPublishEvent, } from "@robdobsn/raftjs";
|
|
41
|
+
;
|
|
42
|
+
var RAFT = /** @class */ (function () {
|
|
43
|
+
function RAFT(id) {
|
|
44
|
+
this.id = id;
|
|
45
|
+
this.type = RaftTypeE.undefined;
|
|
46
|
+
this._ledLcdColours = [{ led: "#000000", lcd: "#000000" }];
|
|
47
|
+
// Observers
|
|
48
|
+
this._observers = {};
|
|
49
|
+
// Is the RAFT serial number registered in warranty
|
|
50
|
+
this.isSerialNoRegisteredInWarranty = null;
|
|
51
|
+
// System Info
|
|
52
|
+
this.systemInfo = null;
|
|
53
|
+
// RAFT State Info
|
|
54
|
+
this.raftStateInfo = null;
|
|
55
|
+
}
|
|
56
|
+
Object.defineProperty(RAFT.prototype, "ledLcdColours", {
|
|
57
|
+
/**
|
|
58
|
+
* Method to get ledLcdColours, to be implemented in child classes.
|
|
59
|
+
*/
|
|
60
|
+
get: function () {
|
|
61
|
+
throw new Error("RAFT.tsx: ledLcdColours: Method should be implemented in child class");
|
|
62
|
+
return this._ledLcdColours;
|
|
63
|
+
},
|
|
64
|
+
enumerable: false,
|
|
65
|
+
configurable: true
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Check if RAFT is connected
|
|
69
|
+
* Sends a message to the Wrapper RICConnector and waits for a response
|
|
70
|
+
*/
|
|
71
|
+
RAFT.prototype.getIsConnectedFresh = function () {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
+
var isConnected;
|
|
74
|
+
return __generator(this, function (_a) {
|
|
75
|
+
switch (_a.label) {
|
|
76
|
+
case 0: return [4 /*yield*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_IS_CONNECTED, { raftId: this.id })];
|
|
77
|
+
case 1:
|
|
78
|
+
isConnected = _a.sent();
|
|
79
|
+
return [2 /*return*/, isConnected];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Connect to a RAFT
|
|
86
|
+
* We first connect, then we discover the raft type, and then we create the appopriate raft instance
|
|
87
|
+
*/
|
|
88
|
+
RAFT.connect = function (method) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
90
|
+
var connectResults;
|
|
91
|
+
return __generator(this, function (_a) {
|
|
92
|
+
switch (_a.label) {
|
|
93
|
+
case 0: return [4 /*yield*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_CONNECT, { method: method })];
|
|
94
|
+
case 1:
|
|
95
|
+
connectResults = _a.sent();
|
|
96
|
+
return [2 /*return*/, connectResults];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Disconnect from a RAFT
|
|
103
|
+
*/
|
|
104
|
+
RAFT.prototype.disconnect = function () {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
106
|
+
return __generator(this, function (_a) {
|
|
107
|
+
return [2 /*return*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_DISCONNECT, { raftId: this.id })];
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Get RAFT name
|
|
113
|
+
*/
|
|
114
|
+
RAFT.prototype.getRaftName = function () {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
116
|
+
var raftName;
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
switch (_a.label) {
|
|
119
|
+
case 0: return [4 /*yield*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_GET_NAME, { raftId: this.id })];
|
|
120
|
+
case 1:
|
|
121
|
+
raftName = _a.sent();
|
|
122
|
+
return [2 /*return*/, raftName];
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Verify correct RAFT is selected for phone app
|
|
129
|
+
*/
|
|
130
|
+
RAFT.prototype.verifyRaftPhoneApp = function (discoveredRIC) {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
132
|
+
return __generator(this, function (_a) {
|
|
133
|
+
return [2 /*return*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_VERIFY_PHONE, { ledLcdColours: this.ledLcdColours, discoveredRIC: discoveredRIC, raftId: this.id })];
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Verify correct RAFT is selected
|
|
139
|
+
*/
|
|
140
|
+
RAFT.prototype.verifyRaft = function () {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
142
|
+
return __generator(this, function (_a) {
|
|
143
|
+
return [2 /*return*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_VERIFY, { ledLcdColours: this.ledLcdColours, raftId: this.id })];
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Stops the verification process
|
|
149
|
+
*/
|
|
150
|
+
RAFT.prototype.stopVerifyingRaft = function (isCorrectRIC) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
152
|
+
return __generator(this, function (_a) {
|
|
153
|
+
return [2 /*return*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_STOP_VERIFY, { isCorrectRIC: isCorrectRIC, raftId: this.id })];
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Receiveds events from the RICConnector
|
|
159
|
+
*/
|
|
160
|
+
RAFT.prototype.receivedRICEvent = function (eventType, eventEnum, eventName, eventData) {
|
|
161
|
+
this.publish(eventType, eventEnum, eventName, eventData);
|
|
162
|
+
this.handleRaftEvent(eventType, eventEnum, eventName, eventData);
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Send a REST message to the RAFT
|
|
166
|
+
*/
|
|
167
|
+
RAFT.prototype.sendRestMessage = function (msg, params) {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
169
|
+
return __generator(this, function (_a) {
|
|
170
|
+
return [2 /*return*/, window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_SEND_REST, { raftId: this.id, msg: msg, params: params })];
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Highlights the raft
|
|
176
|
+
*/
|
|
177
|
+
RAFT.prototype.highlight = function () {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
+
return __generator(this, function (_a) {
|
|
180
|
+
throw new Error("'highlight' Method should be implemented in child class");
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Publishing events to observers
|
|
186
|
+
* It could be either events we get from RAFT, or custom events related to the app
|
|
187
|
+
*/
|
|
188
|
+
RAFT.prototype.publish = function (eventType, eventEnum, eventName, eventData) {
|
|
189
|
+
if (this._observers.hasOwnProperty(eventType)) {
|
|
190
|
+
for (var _i = 0, _a = this._observers[eventType]; _i < _a.length; _i++) {
|
|
191
|
+
var observer = _a[_i];
|
|
192
|
+
observer.notify(eventType, eventEnum, eventName, eventData);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
// RAFT observer
|
|
197
|
+
RAFT.prototype.subscribe = function (observer, topics) {
|
|
198
|
+
for (var _i = 0, topics_1 = topics; _i < topics_1.length; _i++) {
|
|
199
|
+
var topic = topics_1[_i];
|
|
200
|
+
if (!this._observers[topic]) {
|
|
201
|
+
this._observers[topic] = [];
|
|
202
|
+
}
|
|
203
|
+
if (this._observers[topic].indexOf(observer) === -1) {
|
|
204
|
+
this._observers[topic].push(observer);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
RAFT.prototype.unsubscribe = function (observer) {
|
|
209
|
+
for (var topic in this._observers) {
|
|
210
|
+
if (this._observers.hasOwnProperty(topic)) {
|
|
211
|
+
var index = this._observers[topic].indexOf(observer);
|
|
212
|
+
if (index !== -1) {
|
|
213
|
+
this._observers[topic].splice(index, 1);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
/**
|
|
219
|
+
* Gets the RSSI of the RAFT
|
|
220
|
+
*/
|
|
221
|
+
RAFT.prototype.getRSSI = function () {
|
|
222
|
+
throw new Error("Method will be implemented in child class");
|
|
223
|
+
return 0;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Gets the battery strength of the RAFT
|
|
227
|
+
*/
|
|
228
|
+
RAFT.prototype.getBatteryStrength = function () {
|
|
229
|
+
throw new Error("Method will be implemented in child class");
|
|
230
|
+
return 0;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Gets the version of the RAFT
|
|
234
|
+
*/
|
|
235
|
+
RAFT.prototype.getRaftVersion = function () {
|
|
236
|
+
var _a;
|
|
237
|
+
return ((_a = this.systemInfo) === null || _a === void 0 ? void 0 : _a.SystemVersion) || "";
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Gets the Serial Number of the RAFT
|
|
241
|
+
*/
|
|
242
|
+
RAFT.prototype.getSerialNumber = function () {
|
|
243
|
+
var _a;
|
|
244
|
+
return ((_a = this.systemInfo) === null || _a === void 0 ? void 0 : _a.SerialNo) || "";
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* Gets the Friendly name of the RAFT
|
|
248
|
+
*/
|
|
249
|
+
RAFT.prototype.getFriendlyName = function () {
|
|
250
|
+
var _a;
|
|
251
|
+
return (_a = this.systemInfo) === null || _a === void 0 ? void 0 : _a.Friendly;
|
|
252
|
+
};
|
|
253
|
+
/**
|
|
254
|
+
* Stream audio to the RAFT
|
|
255
|
+
*/
|
|
256
|
+
RAFT.prototype.streamAudio = function (streamContents, clearExisting, duration) {
|
|
257
|
+
return window.wrapperCommunicator.sendMessageAndWait(AppSentMessage.RAFT_STREAM_AUDIO, { raftId: this.id, streamContents: Array.from(streamContents), clearExisting: clearExisting, duration: duration });
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* Handles RAFT events
|
|
261
|
+
* (to be implemented in child classes)
|
|
262
|
+
*/
|
|
263
|
+
RAFT.prototype.handleRaftEvent = function (eventType, eventEnum, eventName, eventData) {
|
|
264
|
+
switch (eventType) {
|
|
265
|
+
case "pub":
|
|
266
|
+
this._pubEventHandler(eventEnum, eventName, eventData);
|
|
267
|
+
break;
|
|
268
|
+
case "raftinfo":
|
|
269
|
+
this._raftInfoEventHandler(eventEnum, eventName, eventData);
|
|
270
|
+
break;
|
|
271
|
+
default:
|
|
272
|
+
break;
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
/**
|
|
276
|
+
* Pub Event Handler
|
|
277
|
+
*/
|
|
278
|
+
RAFT.prototype._pubEventHandler = function (eventEnum, eventName, data) {
|
|
279
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
280
|
+
return __generator(this, function (_a) {
|
|
281
|
+
switch (eventEnum) {
|
|
282
|
+
case RaftPublishEvent.PUBLISH_EVENT_DATA:
|
|
283
|
+
break;
|
|
284
|
+
default:
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
287
|
+
return [2 /*return*/];
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
};
|
|
291
|
+
/**
|
|
292
|
+
* Raft Info Event Handler
|
|
293
|
+
*/
|
|
294
|
+
RAFT.prototype._raftInfoEventHandler = function (eventEnum, eventName, data) {
|
|
295
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
296
|
+
return __generator(this, function (_a) {
|
|
297
|
+
switch (eventEnum) {
|
|
298
|
+
case RaftInfoEvents.STATE_INFO:
|
|
299
|
+
this.raftStateInfo = data.stateInfo;
|
|
300
|
+
break;
|
|
301
|
+
case RaftInfoEvents.SYSTEM_INFO:
|
|
302
|
+
this.systemInfo = data.systemInfo;
|
|
303
|
+
break;
|
|
304
|
+
default:
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
return [2 /*return*/];
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
};
|
|
311
|
+
return RAFT;
|
|
312
|
+
}());
|
|
313
|
+
export default RAFT;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RaftTypeE } from "../../types/raft";
|
|
2
|
+
import { RaftConnEvent, RaftPublishEvent, RaftUpdateEvent } from "@robdobsn/raftjs";
|
|
3
|
+
import { RaftInfoEvents } from "../../types/events/raft-info";
|
|
4
|
+
import { RICLedLcdColours } from "@robotical/roboticaljs";
|
|
5
|
+
export default abstract class RICInterface {
|
|
6
|
+
abstract type: RaftTypeE;
|
|
7
|
+
abstract _ledLcdColours: RICLedLcdColours;
|
|
8
|
+
abstract get ledLcdColours(): RICLedLcdColours;
|
|
9
|
+
abstract handleRaftEvent(eventType: string, eventEnum: RaftConnEvent | RaftUpdateEvent | RaftPublishEvent | RaftInfoEvents, eventName: string, eventData: any): void;
|
|
10
|
+
abstract getRSSI(): number;
|
|
11
|
+
abstract getBatteryStrength(): number;
|
|
12
|
+
abstract highlight(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RaftInfoEvents } from "../../types/events/raft-info";
|
|
2
|
+
import { RaftConnEvent, RaftUpdateEvent, RaftPublishEvent } from "@robdobsn/raftjs";
|
|
3
|
+
export interface MartyObservable {
|
|
4
|
+
subscribe(observer: RaftObserver, topics: Array<string>): void;
|
|
5
|
+
unsubscribe(observer: RaftObserver): void;
|
|
6
|
+
publish(eventType: string, eventEnum: RaftConnEvent | RaftUpdateEvent | RaftPublishEvent | RaftInfoEvents, eventName: string, eventData: any): void;
|
|
7
|
+
}
|
|
8
|
+
export interface RaftObserver {
|
|
9
|
+
notify(eventType: string, eventEnum: RaftConnEvent | RaftUpdateEvent | RaftPublishEvent | RaftInfoEvents, eventName: string, eventData: any): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import RAFT from "./RAFT";
|
|
2
|
+
/**
|
|
3
|
+
* Connection Verifying Subscription Helper
|
|
4
|
+
*/
|
|
5
|
+
export declare const raftConnectingSubscriptionHelper: (raft: RAFT) => {
|
|
6
|
+
subscribe: (callback: any) => void;
|
|
7
|
+
unsubscribe: () => void;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* RAFT Connected Subscription Helper
|
|
11
|
+
*/
|
|
12
|
+
export declare const raftConnectedSubscriptionHelper: (raft: RAFT) => {
|
|
13
|
+
subscribe: (callback: any) => void;
|
|
14
|
+
unsubscribe: () => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* RAFT Disconnected Subscription Helper
|
|
18
|
+
*/
|
|
19
|
+
export declare const raftDisconnectedSubscriptionHelper: (raft: RAFT) => {
|
|
20
|
+
subscribe: (callback: any) => void;
|
|
21
|
+
unsubscribe: () => void;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* RAFT Verified Subscription Helper
|
|
25
|
+
*/
|
|
26
|
+
export declare const raftVerifiedSubscriptionHelper: (raft: RAFT) => {
|
|
27
|
+
subscribe: (callback: any) => void;
|
|
28
|
+
unsubscribe: () => void;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Subscription Helper for raftFound event
|
|
32
|
+
* ApplicationManager
|
|
33
|
+
*/
|
|
34
|
+
export declare const raftFoundSubscriptionHelper: () => {
|
|
35
|
+
subscribe: (callback: any) => void;
|
|
36
|
+
unsubscribe: () => void;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Subscription Helper for raftDiscoveryFinished event
|
|
40
|
+
*/
|
|
41
|
+
export declare const raftDiscoveryFinishedSubscriptionHelper: () => {
|
|
42
|
+
subscribe: (callback: any) => void;
|
|
43
|
+
unsubscribe: () => void;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Subscription Helper for raftDiscoveryStarted event
|
|
47
|
+
*/
|
|
48
|
+
export declare const raftDiscoveryStartedSubscriptionHelper: () => {
|
|
49
|
+
subscribe: (callback: any) => void;
|
|
50
|
+
unsubscribe: () => void;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Subscription Helper for raftRejected event
|
|
54
|
+
* This event is triggered when the RAFT is rejected during the verification process
|
|
55
|
+
*/
|
|
56
|
+
export declare const raftRejectedSubscriptionHelper: (raft: RAFT) => {
|
|
57
|
+
subscribe: (callback: any) => void;
|
|
58
|
+
unsubscribe: () => void;
|
|
59
|
+
};
|