@ledgerhq/react-native-hw-transport-ble 6.24.1 → 6.25.2-monorepo.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/jest.config.ts +6 -0
  3. package/package.json +11 -8
  4. package/src/BleTransport.ts +23 -4
  5. package/LICENSE +0 -202
  6. package/lib/BleTransport.d.ts +0 -69
  7. package/lib/BleTransport.d.ts.map +0 -1
  8. package/lib/BleTransport.js +0 -637
  9. package/lib/BleTransport.js.map +0 -1
  10. package/lib/awaitsBleOn.d.ts +0 -3
  11. package/lib/awaitsBleOn.d.ts.map +0 -1
  12. package/lib/awaitsBleOn.js +0 -38
  13. package/lib/awaitsBleOn.js.map +0 -1
  14. package/lib/monitorCharacteristic.d.ts +0 -5
  15. package/lib/monitorCharacteristic.d.ts.map +0 -1
  16. package/lib/monitorCharacteristic.js +0 -35
  17. package/lib/monitorCharacteristic.js.map +0 -1
  18. package/lib/remapErrors.d.ts +0 -4
  19. package/lib/remapErrors.d.ts.map +0 -1
  20. package/lib/remapErrors.js +0 -23
  21. package/lib/remapErrors.js.map +0 -1
  22. package/lib/timer.d.ts +0 -5
  23. package/lib/timer.d.ts.map +0 -1
  24. package/lib/timer.js +0 -26
  25. package/lib/timer.js.map +0 -1
  26. package/lib/types.d.ts +0 -4
  27. package/lib/types.d.ts.map +0 -1
  28. package/lib/types.js +0 -3
  29. package/lib/types.js.map +0 -1
  30. package/lib-es/BleTransport.d.ts +0 -69
  31. package/lib-es/BleTransport.d.ts.map +0 -1
  32. package/lib-es/BleTransport.js +0 -630
  33. package/lib-es/BleTransport.js.map +0 -1
  34. package/lib-es/awaitsBleOn.d.ts +0 -3
  35. package/lib-es/awaitsBleOn.d.ts.map +0 -1
  36. package/lib-es/awaitsBleOn.js +0 -31
  37. package/lib-es/awaitsBleOn.js.map +0 -1
  38. package/lib-es/monitorCharacteristic.d.ts +0 -5
  39. package/lib-es/monitorCharacteristic.d.ts.map +0 -1
  40. package/lib-es/monitorCharacteristic.js +0 -31
  41. package/lib-es/monitorCharacteristic.js.map +0 -1
  42. package/lib-es/remapErrors.d.ts +0 -4
  43. package/lib-es/remapErrors.d.ts.map +0 -1
  44. package/lib-es/remapErrors.js +0 -17
  45. package/lib-es/remapErrors.js.map +0 -1
  46. package/lib-es/timer.d.ts +0 -5
  47. package/lib-es/timer.d.ts.map +0 -1
  48. package/lib-es/timer.js +0 -24
  49. package/lib-es/timer.js.map +0 -1
  50. package/lib-es/types.d.ts +0 -4
  51. package/lib-es/types.d.ts.map +0 -1
  52. package/lib-es/types.js +0 -2
  53. package/lib-es/types.js.map +0 -1
@@ -1,637 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- var __generator = (this && this.__generator) || function (thisArg, body) {
27
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
- function verb(n) { return function (v) { return step([n, v]); }; }
30
- function step(op) {
31
- if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
33
- 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;
34
- if (y = 0, t) op = [op[0] & 2, t.value];
35
- switch (op[0]) {
36
- case 0: case 1: t = op; break;
37
- case 4: _.label++; return { value: op[1], done: false };
38
- case 5: _.label++; y = op[1]; op = [0]; continue;
39
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
- default:
41
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
- if (t[2]) _.ops.pop();
46
- _.trys.pop(); continue;
47
- }
48
- op = body.call(thisArg, _);
49
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
- }
52
- };
53
- var __read = (this && this.__read) || function (o, n) {
54
- var m = typeof Symbol === "function" && o[Symbol.iterator];
55
- if (!m) return o;
56
- var i = m.call(o), r, ar = [], e;
57
- try {
58
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
59
- }
60
- catch (error) { e = { error: error }; }
61
- finally {
62
- try {
63
- if (r && !r.done && (m = i["return"])) m.call(i);
64
- }
65
- finally { if (e) throw e.error; }
66
- }
67
- return ar;
68
- };
69
- var __values = (this && this.__values) || function(o) {
70
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
71
- if (m) return m.call(o);
72
- if (o && typeof o.length === "number") return {
73
- next: function () {
74
- if (o && i >= o.length) o = void 0;
75
- return { value: o && o[i++], done: !o };
76
- }
77
- };
78
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
79
- };
80
- var __importDefault = (this && this.__importDefault) || function (mod) {
81
- return (mod && mod.__esModule) ? mod : { "default": mod };
82
- };
83
- exports.__esModule = true;
84
- exports.setReconnectionConfig = void 0;
85
- /* eslint-disable prefer-template */
86
- var hw_transport_1 = __importDefault(require("@ledgerhq/hw-transport"));
87
- var react_native_ble_plx_1 = require("react-native-ble-plx");
88
- var devices_1 = require("@ledgerhq/devices");
89
- var sendAPDU_1 = require("@ledgerhq/devices/lib/ble/sendAPDU");
90
- var receiveAPDU_1 = require("@ledgerhq/devices/lib/ble/receiveAPDU");
91
- var logs_1 = require("@ledgerhq/logs");
92
- var rxjs_1 = require("rxjs");
93
- var operators_1 = require("rxjs/operators");
94
- var errors_1 = require("@ledgerhq/errors");
95
- var monitorCharacteristic_1 = require("./monitorCharacteristic");
96
- var awaitsBleOn_1 = require("./awaitsBleOn");
97
- var remapErrors_1 = require("./remapErrors");
98
- var connectOptions = {
99
- requestMTU: 156,
100
- connectionPriority: 1
101
- };
102
- var transportsCache = {};
103
- var bleManager = new react_native_ble_plx_1.BleManager();
104
- var retrieveInfos = function (device) {
105
- if (!device || !device.serviceUUIDs)
106
- return;
107
- var _a = __read(device.serviceUUIDs, 1), serviceUUID = _a[0];
108
- if (!serviceUUID)
109
- return;
110
- var infos = (0, devices_1.getInfosForServiceUuid)(serviceUUID);
111
- if (!infos)
112
- return;
113
- return infos;
114
- };
115
- var reconnectionConfig = {
116
- pairingThreshold: 1000,
117
- delayAfterFirstPairing: 4000
118
- };
119
- function setReconnectionConfig(config) {
120
- reconnectionConfig = config;
121
- }
122
- exports.setReconnectionConfig = setReconnectionConfig;
123
- var delay = function (ms) { return new Promise(function (success) { return setTimeout(success, ms); }); };
124
- function open(deviceOrId, needsReconnect) {
125
- return __awaiter(this, void 0, void 0, function () {
126
- var device, devices, connectedDevices, connectedDevicesFiltered, e_1, e_2, res, characteristics, _a, _b, uuid, e_3, e_4_1, deviceModel, serviceUuid, writeUuid, writeCmdUuid, notifyUuid, writeC, writeCmdC, notifyC, characteristics_1, characteristics_1_1, c, notifyObservable, notif, transport, onDisconnect, disconnectedSub, beforeMTUTime, afterMTUTime;
127
- var _c, _d, e_4, _e, e_5, _f;
128
- return __generator(this, function (_g) {
129
- switch (_g.label) {
130
- case 0:
131
- if (!(typeof deviceOrId === "string")) return [3 /*break*/, 13];
132
- if (transportsCache[deviceOrId]) {
133
- (0, logs_1.log)("ble-verbose", "Transport in cache, using that.");
134
- return [2 /*return*/, transportsCache[deviceOrId]];
135
- }
136
- (0, logs_1.log)("ble-verbose", "open(".concat(deviceOrId, ")"));
137
- return [4 /*yield*/, (0, awaitsBleOn_1.awaitsBleOn)(bleManager)];
138
- case 1:
139
- _g.sent();
140
- if (!!device) return [3 /*break*/, 3];
141
- return [4 /*yield*/, bleManager.devices([deviceOrId])];
142
- case 2:
143
- devices = _g.sent();
144
- (0, logs_1.log)("ble-verbose", "found ".concat(devices.length, " devices"));
145
- _c = __read(devices, 1), device = _c[0];
146
- _g.label = 3;
147
- case 3:
148
- if (!!device) return [3 /*break*/, 5];
149
- return [4 /*yield*/, bleManager.connectedDevices((0, devices_1.getBluetoothServiceUuids)())];
150
- case 4:
151
- connectedDevices = _g.sent();
152
- connectedDevicesFiltered = connectedDevices.filter(function (d) { return d.id === deviceOrId; });
153
- (0, logs_1.log)("ble-verbose", "found ".concat(connectedDevicesFiltered.length, " connected devices"));
154
- _d = __read(connectedDevicesFiltered, 1), device = _d[0];
155
- _g.label = 5;
156
- case 5:
157
- if (!!device) return [3 /*break*/, 12];
158
- (0, logs_1.log)("ble-verbose", "connectToDevice(".concat(deviceOrId, ")"));
159
- _g.label = 6;
160
- case 6:
161
- _g.trys.push([6, 8, , 12]);
162
- return [4 /*yield*/, bleManager.connectToDevice(deviceOrId, connectOptions)];
163
- case 7:
164
- device = _g.sent();
165
- return [3 /*break*/, 12];
166
- case 8:
167
- e_1 = _g.sent();
168
- if (!(e_1.errorCode === react_native_ble_plx_1.BleErrorCode.DeviceMTUChangeFailed)) return [3 /*break*/, 10];
169
- // eslint-disable-next-line require-atomic-updates
170
- connectOptions = {};
171
- return [4 /*yield*/, bleManager.connectToDevice(deviceOrId)];
172
- case 9:
173
- device = _g.sent();
174
- return [3 /*break*/, 11];
175
- case 10: throw e_1;
176
- case 11: return [3 /*break*/, 12];
177
- case 12:
178
- if (!device) {
179
- throw new errors_1.CantOpenDevice();
180
- }
181
- return [3 /*break*/, 14];
182
- case 13:
183
- device = deviceOrId;
184
- _g.label = 14;
185
- case 14: return [4 /*yield*/, device.isConnected()];
186
- case 15:
187
- if (!!(_g.sent())) return [3 /*break*/, 22];
188
- (0, logs_1.log)("ble-verbose", "not connected. connecting...");
189
- _g.label = 16;
190
- case 16:
191
- _g.trys.push([16, 18, , 22]);
192
- return [4 /*yield*/, device.connect(connectOptions)];
193
- case 17:
194
- _g.sent();
195
- return [3 /*break*/, 22];
196
- case 18:
197
- e_2 = _g.sent();
198
- if (!(e_2.errorCode === react_native_ble_plx_1.BleErrorCode.DeviceMTUChangeFailed)) return [3 /*break*/, 20];
199
- // eslint-disable-next-line require-atomic-updates
200
- connectOptions = {};
201
- return [4 /*yield*/, device.connect()];
202
- case 19:
203
- _g.sent();
204
- return [3 /*break*/, 21];
205
- case 20: throw e_2;
206
- case 21: return [3 /*break*/, 22];
207
- case 22: return [4 /*yield*/, device.discoverAllServicesAndCharacteristics()];
208
- case 23:
209
- _g.sent();
210
- res = retrieveInfos(device);
211
- if (!!res) return [3 /*break*/, 33];
212
- _g.label = 24;
213
- case 24:
214
- _g.trys.push([24, 31, 32, 33]);
215
- _a = __values((0, devices_1.getBluetoothServiceUuids)()), _b = _a.next();
216
- _g.label = 25;
217
- case 25:
218
- if (!!_b.done) return [3 /*break*/, 30];
219
- uuid = _b.value;
220
- _g.label = 26;
221
- case 26:
222
- _g.trys.push([26, 28, , 29]);
223
- return [4 /*yield*/, device.characteristicsForService(uuid)];
224
- case 27:
225
- characteristics = _g.sent();
226
- res = (0, devices_1.getInfosForServiceUuid)(uuid);
227
- return [3 /*break*/, 30];
228
- case 28:
229
- e_3 = _g.sent();
230
- return [3 /*break*/, 29];
231
- case 29:
232
- _b = _a.next();
233
- return [3 /*break*/, 25];
234
- case 30: return [3 /*break*/, 33];
235
- case 31:
236
- e_4_1 = _g.sent();
237
- e_4 = { error: e_4_1 };
238
- return [3 /*break*/, 33];
239
- case 32:
240
- try {
241
- if (_b && !_b.done && (_e = _a["return"])) _e.call(_a);
242
- }
243
- finally { if (e_4) throw e_4.error; }
244
- return [7 /*endfinally*/];
245
- case 33:
246
- if (!res) {
247
- throw new errors_1.TransportError("service not found", "BLEServiceNotFound");
248
- }
249
- deviceModel = res.deviceModel, serviceUuid = res.serviceUuid, writeUuid = res.writeUuid, writeCmdUuid = res.writeCmdUuid, notifyUuid = res.notifyUuid;
250
- if (!!characteristics) return [3 /*break*/, 35];
251
- return [4 /*yield*/, device.characteristicsForService(serviceUuid)];
252
- case 34:
253
- characteristics = _g.sent();
254
- _g.label = 35;
255
- case 35:
256
- if (!characteristics) {
257
- throw new errors_1.TransportError("service not found", "BLEServiceNotFound");
258
- }
259
- try {
260
- for (characteristics_1 = __values(characteristics), characteristics_1_1 = characteristics_1.next(); !characteristics_1_1.done; characteristics_1_1 = characteristics_1.next()) {
261
- c = characteristics_1_1.value;
262
- if (c.uuid === writeUuid) {
263
- writeC = c;
264
- }
265
- else if (c.uuid === writeCmdUuid) {
266
- writeCmdC = c;
267
- }
268
- else if (c.uuid === notifyUuid) {
269
- notifyC = c;
270
- }
271
- }
272
- }
273
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
274
- finally {
275
- try {
276
- if (characteristics_1_1 && !characteristics_1_1.done && (_f = characteristics_1["return"])) _f.call(characteristics_1);
277
- }
278
- finally { if (e_5) throw e_5.error; }
279
- }
280
- if (!writeC) {
281
- throw new errors_1.TransportError("write characteristic not found", "BLEChracteristicNotFound");
282
- }
283
- if (!notifyC) {
284
- throw new errors_1.TransportError("notify characteristic not found", "BLEChracteristicNotFound");
285
- }
286
- if (!writeC.isWritableWithResponse) {
287
- throw new errors_1.TransportError("write characteristic not writableWithResponse", "BLEChracteristicInvalid");
288
- }
289
- if (!notifyC.isNotifiable) {
290
- throw new errors_1.TransportError("notify characteristic not notifiable", "BLEChracteristicInvalid");
291
- }
292
- if (writeCmdC) {
293
- if (!writeCmdC.isWritableWithoutResponse) {
294
- throw new errors_1.TransportError("write cmd characteristic not writableWithoutResponse", "BLEChracteristicInvalid");
295
- }
296
- }
297
- (0, logs_1.log)("ble-verbose", "device.mtu=".concat(device.mtu));
298
- notifyObservable = (0, monitorCharacteristic_1.monitorCharacteristic)(notifyC).pipe((0, operators_1.tap)(function (value) {
299
- (0, logs_1.log)("ble-frame", "<= " + value.toString("hex"));
300
- }), (0, operators_1.share)());
301
- notif = notifyObservable.subscribe();
302
- transport = new BluetoothTransport(device, writeC, writeCmdC, notifyObservable, deviceModel);
303
- onDisconnect = function (e) {
304
- transport.notYetDisconnected = false;
305
- notif.unsubscribe();
306
- disconnectedSub.remove();
307
- delete transportsCache[transport.id];
308
- (0, logs_1.log)("ble-verbose", "BleTransport(".concat(transport.id, ") disconnected"));
309
- transport.emit("disconnect", e);
310
- };
311
- // eslint-disable-next-line require-atomic-updates
312
- transportsCache[transport.id] = transport;
313
- disconnectedSub = device.onDisconnected(function (e) {
314
- if (!transport.notYetDisconnected)
315
- return;
316
- onDisconnect(e);
317
- });
318
- beforeMTUTime = Date.now();
319
- _g.label = 36;
320
- case 36:
321
- _g.trys.push([36, , 38, 44]);
322
- return [4 /*yield*/, transport.inferMTU()];
323
- case 37:
324
- _g.sent();
325
- return [3 /*break*/, 44];
326
- case 38:
327
- afterMTUTime = Date.now();
328
- if (!reconnectionConfig) return [3 /*break*/, 42];
329
- // workaround for #279: we need to open() again if we come the first time here,
330
- // to make sure we do a disconnect() after the first pairing time
331
- // because of a firmware bug
332
- if (afterMTUTime - beforeMTUTime < reconnectionConfig.pairingThreshold) {
333
- needsReconnect = false; // (optim) there is likely no new pairing done because mtu answer was fast.
334
- }
335
- if (!needsReconnect) return [3 /*break*/, 41];
336
- // necessary time for the bonding workaround
337
- return [4 /*yield*/, BluetoothTransport.disconnect(transport.id)["catch"](function () { })];
338
- case 39:
339
- // necessary time for the bonding workaround
340
- _g.sent();
341
- return [4 /*yield*/, delay(reconnectionConfig.delayAfterFirstPairing)];
342
- case 40:
343
- _g.sent();
344
- _g.label = 41;
345
- case 41: return [3 /*break*/, 43];
346
- case 42:
347
- needsReconnect = false;
348
- _g.label = 43;
349
- case 43: return [7 /*endfinally*/];
350
- case 44:
351
- if (needsReconnect) {
352
- return [2 /*return*/, open(device, false)];
353
- }
354
- return [2 /*return*/, transport];
355
- }
356
- });
357
- });
358
- }
359
- /**
360
- * react-native bluetooth BLE implementation
361
- * @example
362
- * import BluetoothTransport from "@ledgerhq/react-native-hw-transport-ble";
363
- */
364
- var BluetoothTransport = /** @class */ (function (_super) {
365
- __extends(BluetoothTransport, _super);
366
- function BluetoothTransport(device, writeCharacteristic, writeCmdCharacteristic, notifyObservable, deviceModel) {
367
- var _this = _super.call(this) || this;
368
- _this.mtuSize = 20;
369
- _this.notYetDisconnected = true;
370
- /**
371
- * communicate with a BLE transport
372
- */
373
- _this.exchange = function (apdu) {
374
- return _this.exchangeAtomicImpl(function () { return __awaiter(_this, void 0, void 0, function () {
375
- var msgIn, data, msgOut, e_6;
376
- return __generator(this, function (_b) {
377
- switch (_b.label) {
378
- case 0:
379
- _b.trys.push([0, 2, , 5]);
380
- msgIn = apdu.toString("hex");
381
- (0, logs_1.log)("apdu", "=> ".concat(msgIn));
382
- return [4 /*yield*/, (0, rxjs_1.merge)(
383
- // $FlowFixMe
384
- this.notifyObservable.pipe(receiveAPDU_1.receiveAPDU), (0, sendAPDU_1.sendAPDU)(this.write, apdu, this.mtuSize)).toPromise()];
385
- case 1:
386
- data = _b.sent();
387
- msgOut = data.toString("hex");
388
- (0, logs_1.log)("apdu", "<= ".concat(msgOut));
389
- return [2 /*return*/, data];
390
- case 2:
391
- e_6 = _b.sent();
392
- (0, logs_1.log)("ble-error", "exchange got " + String(e_6));
393
- if (!this.notYetDisconnected) return [3 /*break*/, 4];
394
- // in such case we will always disconnect because something is bad.
395
- return [4 /*yield*/, bleManager.cancelDeviceConnection(this.id)["catch"](function () { })];
396
- case 3:
397
- // in such case we will always disconnect because something is bad.
398
- _b.sent(); // but we ignore if disconnect worked.
399
- _b.label = 4;
400
- case 4: throw (0, remapErrors_1.remapError)(e_6);
401
- case 5: return [2 /*return*/];
402
- }
403
- });
404
- }); });
405
- };
406
- _this.write = function (buffer, txid) { return __awaiter(_this, void 0, void 0, function () {
407
- var e_7, e_8;
408
- return __generator(this, function (_b) {
409
- switch (_b.label) {
410
- case 0:
411
- (0, logs_1.log)("ble-frame", "=> " + buffer.toString("hex"));
412
- if (!!this.writeCmdCharacteristic) return [3 /*break*/, 5];
413
- _b.label = 1;
414
- case 1:
415
- _b.trys.push([1, 3, , 4]);
416
- return [4 /*yield*/, this.writeCharacteristic.writeWithResponse(buffer.toString("base64"), txid)];
417
- case 2:
418
- _b.sent();
419
- return [3 /*break*/, 4];
420
- case 3:
421
- e_7 = _b.sent();
422
- throw new errors_1.DisconnectedDeviceDuringOperation(e_7.message);
423
- case 4: return [3 /*break*/, 8];
424
- case 5:
425
- _b.trys.push([5, 7, , 8]);
426
- return [4 /*yield*/, this.writeCmdCharacteristic.writeWithoutResponse(buffer.toString("base64"), txid)];
427
- case 6:
428
- _b.sent();
429
- return [3 /*break*/, 8];
430
- case 7:
431
- e_8 = _b.sent();
432
- throw new errors_1.DisconnectedDeviceDuringOperation(e_8.message);
433
- case 8: return [2 /*return*/];
434
- }
435
- });
436
- }); };
437
- _this.id = device.id;
438
- _this.device = device;
439
- _this.writeCharacteristic = writeCharacteristic;
440
- _this.writeCmdCharacteristic = writeCmdCharacteristic;
441
- _this.notifyObservable = notifyObservable;
442
- _this.deviceModel = deviceModel;
443
- (0, logs_1.log)("ble-verbose", "BleTransport(".concat(String(_this.id), ") new instance"));
444
- return _this;
445
- }
446
- /**
447
- * TODO could add this concept in all transports
448
- * observe event with { available: bool, string } // available is generic, type is specific
449
- * an event is emit once and then listened
450
- */
451
- BluetoothTransport.observeState = function (observer) {
452
- var emitFromState = function (type) {
453
- observer.next({
454
- type: type,
455
- available: type === "PoweredOn"
456
- });
457
- };
458
- bleManager.onStateChange(emitFromState, true);
459
- return {
460
- unsubscribe: function () { }
461
- };
462
- };
463
- /**
464
- * Scan for bluetooth Ledger devices
465
- */
466
- BluetoothTransport.listen = function (observer) {
467
- var _this = this;
468
- (0, logs_1.log)("ble-verbose", "listen...");
469
- var unsubscribed;
470
- // $FlowFixMe
471
- var stateSub = bleManager.onStateChange(function (state) { return __awaiter(_this, void 0, void 0, function () {
472
- var devices;
473
- return __generator(this, function (_b) {
474
- switch (_b.label) {
475
- case 0:
476
- if (!(state === "PoweredOn")) return [3 /*break*/, 3];
477
- stateSub.remove();
478
- return [4 /*yield*/, bleManager.connectedDevices((0, devices_1.getBluetoothServiceUuids)())];
479
- case 1:
480
- devices = _b.sent();
481
- if (unsubscribed)
482
- return [2 /*return*/];
483
- return [4 /*yield*/, Promise.all(devices.map(function (d) {
484
- return BluetoothTransport.disconnect(d.id)["catch"](function () { });
485
- }))];
486
- case 2:
487
- _b.sent();
488
- if (unsubscribed)
489
- return [2 /*return*/];
490
- bleManager.startDeviceScan((0, devices_1.getBluetoothServiceUuids)(), null, function (bleError, device) {
491
- if (bleError) {
492
- observer.error(bleError);
493
- unsubscribe();
494
- return;
495
- }
496
- var res = retrieveInfos(device);
497
- var deviceModel = res && res.deviceModel;
498
- observer.next({
499
- type: "add",
500
- descriptor: device,
501
- deviceModel: deviceModel
502
- });
503
- });
504
- _b.label = 3;
505
- case 3: return [2 /*return*/];
506
- }
507
- });
508
- }); }, true);
509
- var unsubscribe = function () {
510
- unsubscribed = true;
511
- bleManager.stopDeviceScan();
512
- stateSub.remove();
513
- (0, logs_1.log)("ble-verbose", "done listening.");
514
- };
515
- return {
516
- unsubscribe: unsubscribe
517
- };
518
- };
519
- /**
520
- * Open a BLE transport
521
- * @param {*} deviceOrId
522
- */
523
- BluetoothTransport.open = function (deviceOrId) {
524
- return __awaiter(this, void 0, void 0, function () {
525
- return __generator(this, function (_b) {
526
- return [2 /*return*/, open(deviceOrId, true)];
527
- });
528
- });
529
- };
530
- // TODO we probably will do this at end of open
531
- BluetoothTransport.prototype.inferMTU = function () {
532
- return __awaiter(this, void 0, void 0, function () {
533
- var mtu, mtuSize;
534
- var _this = this;
535
- return __generator(this, function (_b) {
536
- switch (_b.label) {
537
- case 0:
538
- mtu = this.device.mtu;
539
- return [4 /*yield*/, this.exchangeAtomicImpl(function () { return __awaiter(_this, void 0, void 0, function () {
540
- var e_9;
541
- var _this = this;
542
- return __generator(this, function (_b) {
543
- switch (_b.label) {
544
- case 0:
545
- _b.trys.push([0, 2, , 4]);
546
- return [4 /*yield*/, (0, rxjs_1.merge)(this.notifyObservable.pipe((0, operators_1.first)(function (buffer) { return buffer.readUInt8(0) === 0x08; }), (0, operators_1.map)(function (buffer) { return buffer.readUInt8(5); })), (0, rxjs_1.defer)(function () { return (0, rxjs_1.from)(_this.write(Buffer.from([0x08, 0, 0, 0, 0]))); }).pipe((0, operators_1.ignoreElements)())).toPromise()];
547
- case 1:
548
- mtu =
549
- (_b.sent()) + 3;
550
- return [3 /*break*/, 4];
551
- case 2:
552
- e_9 = _b.sent();
553
- (0, logs_1.log)("ble-error", "inferMTU got " + String(e_9));
554
- return [4 /*yield*/, bleManager.cancelDeviceConnection(this.id)["catch"](function () { })];
555
- case 3:
556
- _b.sent(); // but we ignore if disconnect worked.
557
- throw (0, remapErrors_1.remapError)(e_9);
558
- case 4: return [2 /*return*/];
559
- }
560
- });
561
- }); })];
562
- case 1:
563
- _b.sent();
564
- if (mtu > 23) {
565
- mtuSize = mtu - 3;
566
- (0, logs_1.log)("ble-verbose", "BleTransport(".concat(String(this.id), ") mtu set to ").concat(String(mtuSize)));
567
- this.mtuSize = mtuSize;
568
- }
569
- return [2 /*return*/, this.mtuSize];
570
- }
571
- });
572
- });
573
- };
574
- BluetoothTransport.prototype.requestConnectionPriority = function (connectionPriority) {
575
- return __awaiter(this, void 0, void 0, function () {
576
- return __generator(this, function (_b) {
577
- switch (_b.label) {
578
- case 0: return [4 /*yield*/, (0, remapErrors_1.decoratePromiseErrors)(this.device.requestConnectionPriority(react_native_ble_plx_1.ConnectionPriority[connectionPriority]))];
579
- case 1:
580
- _b.sent();
581
- return [2 /*return*/];
582
- }
583
- });
584
- });
585
- };
586
- BluetoothTransport.prototype.setScrambleKey = function () { };
587
- BluetoothTransport.prototype.close = function () {
588
- return __awaiter(this, void 0, void 0, function () {
589
- return __generator(this, function (_b) {
590
- switch (_b.label) {
591
- case 0:
592
- if (!this.exchangeBusyPromise) return [3 /*break*/, 2];
593
- return [4 /*yield*/, this.exchangeBusyPromise];
594
- case 1:
595
- _b.sent();
596
- _b.label = 2;
597
- case 2: return [2 /*return*/];
598
- }
599
- });
600
- });
601
- };
602
- var _a;
603
- _a = BluetoothTransport;
604
- /**
605
- *
606
- */
607
- BluetoothTransport.isSupported = function () {
608
- return Promise.resolve(typeof react_native_ble_plx_1.BleManager === "function");
609
- };
610
- /**
611
- *
612
- */
613
- BluetoothTransport.setLogLevel = function (level) {
614
- bleManager.setLogLevel(level);
615
- };
616
- BluetoothTransport.list = function () {
617
- throw new Error("not implemented");
618
- };
619
- /**
620
- * Globally disconnect a BLE device by its ID
621
- */
622
- BluetoothTransport.disconnect = function (id) { return __awaiter(void 0, void 0, void 0, function () {
623
- return __generator(_a, function (_b) {
624
- switch (_b.label) {
625
- case 0:
626
- (0, logs_1.log)("ble-verbose", "user disconnect(".concat(id, ")"));
627
- return [4 /*yield*/, bleManager.cancelDeviceConnection(id)];
628
- case 1:
629
- _b.sent();
630
- return [2 /*return*/];
631
- }
632
- });
633
- }); };
634
- return BluetoothTransport;
635
- }(hw_transport_1["default"]));
636
- exports["default"] = BluetoothTransport;
637
- //# sourceMappingURL=BleTransport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { BleManager } from "./types";
2
- export declare const awaitsBleOn: (bleManager: BleManager, ms?: number) => Promise<void>;
3
- //# sourceMappingURL=awaitsBleOn.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"awaitsBleOn.d.ts","sourceRoot":"","sources":["../src/awaitsBleOn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,eAAO,MAAM,WAAW,eAAgB,UAAU,kBAAc,QAAQ,IAAI,CAyBxE,CAAC"}