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