@onekeyfe/hd-transport-react-native 1.2.0-alpha.6 → 1.2.0-alpha.60
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/dist/BleTransport.d.ts +1 -3
- package/dist/BleTransport.d.ts.map +1 -1
- package/dist/bleStrategy.d.ts +0 -2
- package/dist/bleStrategy.d.ts.map +1 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/index.d.ts +21 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +401 -367
- package/dist/subscribeBleOn.d.ts.map +1 -1
- package/dist/transportLog.d.ts +2 -0
- package/dist/transportLog.d.ts.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/jest.config.js +5 -0
- package/package.json +7 -6
- package/src/BleTransport.ts +6 -41
- package/src/__tests__/BleTransport.test.ts +93 -0
- package/src/__tests__/bleStrategy.test.ts +1 -6
- package/src/__tests__/constants.test.ts +20 -0
- package/src/__tests__/enumerate.test.ts +132 -0
- package/src/__tests__/protocolV2Link.test.ts +747 -0
- package/src/bleStrategy.ts +0 -25
- package/src/constants.ts +7 -13
- package/src/index.ts +472 -386
- package/src/subscribeBleOn.ts +0 -2
- package/src/transportLog.ts +1 -0
- package/src/types.ts +1 -0
package/dist/BleTransport.d.ts
CHANGED
|
@@ -10,9 +10,7 @@ export default class BleTransport {
|
|
|
10
10
|
disconnectSubscription?: Subscription;
|
|
11
11
|
notifyTransactionId?: string;
|
|
12
12
|
monitorToken?: number;
|
|
13
|
-
static MAX_RETRIES: number;
|
|
14
|
-
static RETRY_DELAY: number;
|
|
15
13
|
constructor(device: Device, writeCharacteristic: Characteristic, notifyCharacteristic: Characteristic);
|
|
16
|
-
writeWithRetry(data: string
|
|
14
|
+
writeWithRetry(data: string): Promise<void>;
|
|
17
15
|
}
|
|
18
16
|
//# sourceMappingURL=BleTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,SAA6B;IAEjC,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,SAAM;IAEb,mBAAmB,EAAE,cAAc,CAAC;IAEpC,oBAAoB,EAAE,cAAc,CAAC;IAErC,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAElC,sBAAsB,CAAC,EAAE,YAAY,CAAC;IAEtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,cAAc,EACnC,oBAAoB,EAAE,cAAc;IAQhC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD"}
|
package/dist/bleStrategy.d.ts
CHANGED
|
@@ -3,9 +3,7 @@ export type BleWriteCapability = {
|
|
|
3
3
|
isWritableWithResponse?: boolean | null;
|
|
4
4
|
isWritableWithoutResponse?: boolean | null;
|
|
5
5
|
};
|
|
6
|
-
export type BleWriteMode = 'withResponse' | 'withoutResponse';
|
|
7
6
|
export declare function hasWritableCapability(characteristic: BleWriteCapability): boolean;
|
|
8
|
-
export declare function resolveBleWriteMode(characteristic: BleWriteCapability, preferredMode?: BleWriteMode): BleWriteMode;
|
|
9
7
|
export declare function resolveProtocolV2PacketCapacity({ platform, iosPacketLength, androidPacketLength, mtu, }: {
|
|
10
8
|
platform: BlePlatform;
|
|
11
9
|
iosPacketLength?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bleStrategy.d.ts","sourceRoot":"","sources":["../src/bleStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,yBAAyB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"bleStrategy.d.ts","sourceRoot":"","sources":["../src/bleStrategy.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,sBAAsB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,yBAAyB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,kBAAkB,WAEvE;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,eAAmC,EACnC,mBAA2C,EAC3C,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,WAAW,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,UAWA"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -8,6 +8,5 @@ export declare const getInfosForServiceUuid: (serviceUuid: string, deviceType: '
|
|
|
8
8
|
notifyUuid?: string | undefined;
|
|
9
9
|
} | null;
|
|
10
10
|
export declare const normalizeBleUuid: (uuid?: string | null) => string;
|
|
11
|
-
export declare const getBleUuidKey: (uuid?: string | null) => string;
|
|
12
11
|
export declare const isSameBleUuid: (left?: string | null, right?: string | null) => boolean;
|
|
13
12
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AA8BtC,eAAO,MAAM,wBAAwB,gBAA0B,CAAC;AAChE,eAAO,MAAM,sBAAsB,gBAAiB,MAAM,cAAc,SAAS;iBA1BhE,MAAM;;;QA2CtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,MAAM,GAAG,IAAI,WACP,CAAC;AAE/C,eAAO,MAAM,aAAa,UAAW,MAAM,GAAG,IAAI,UAAU,MAAM,GAAG,IAAI,YAGxE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,10 +15,8 @@ declare class BleTransport {
|
|
|
15
15
|
disconnectSubscription?: Subscription;
|
|
16
16
|
notifyTransactionId?: string;
|
|
17
17
|
monitorToken?: number;
|
|
18
|
-
static MAX_RETRIES: number;
|
|
19
|
-
static RETRY_DELAY: number;
|
|
20
18
|
constructor(device: Device, writeCharacteristic: Characteristic, notifyCharacteristic: Characteristic);
|
|
21
|
-
writeWithRetry(data: string
|
|
19
|
+
writeWithRetry(data: string): Promise<void>;
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
type TransportOptions = {
|
|
@@ -28,50 +26,48 @@ type BleAcquireInput = {
|
|
|
28
26
|
uuid: string;
|
|
29
27
|
forceCleanRunPromise?: boolean;
|
|
30
28
|
expectedProtocol?: ProtocolType;
|
|
29
|
+
protocolHint?: ProtocolType;
|
|
31
30
|
};
|
|
32
31
|
|
|
32
|
+
type FirmwareUploadWriteRetryType = 'congested';
|
|
33
33
|
type ResolvedBleCharacteristics = {
|
|
34
34
|
writeCharacteristic: Characteristic;
|
|
35
35
|
notifyCharacteristic: Characteristic;
|
|
36
36
|
};
|
|
37
|
+
declare const getFirmwareUploadWriteRetryType: (error: unknown) => FirmwareUploadWriteRetryType | null;
|
|
37
38
|
type ProtocolV2BleTuning = {
|
|
38
39
|
iosPacketLength?: number;
|
|
39
40
|
androidPacketLength?: number;
|
|
40
|
-
highVolumeWriteBurstSize?: number;
|
|
41
|
-
highVolumeWritePauseMs?: number;
|
|
42
|
-
highVolumeWriteFlushDelayMs?: number;
|
|
43
|
-
highVolumeWriteWithResponse?: boolean;
|
|
44
41
|
};
|
|
45
42
|
declare function configureProtocolV2BleTuning(tuning?: ProtocolV2BleTuning): void;
|
|
46
43
|
declare function resetProtocolV2BleTuning(): void;
|
|
47
44
|
declare function getProtocolV2BleTuning(): {
|
|
48
45
|
iosPacketLength: number;
|
|
49
46
|
androidPacketLength: number;
|
|
50
|
-
highVolumeWriteBurstSize: number;
|
|
51
|
-
highVolumeWritePauseMs: number;
|
|
52
|
-
highVolumeWriteFlushDelayMs: number;
|
|
53
|
-
highVolumeWriteWithResponse: boolean;
|
|
54
47
|
};
|
|
55
48
|
type IOneKeyDevice = OneKeyDeviceInfoBase & Device;
|
|
56
49
|
declare class ReactNativeBleTransport {
|
|
57
50
|
blePlxManager: BleManager | undefined;
|
|
58
51
|
_messages: ReturnType<typeof transport__default.parseConfigure> | undefined;
|
|
59
52
|
_messagesV2: ReturnType<typeof transport__default.parseConfigure> | undefined;
|
|
53
|
+
private protocolV2SchemaConfiguration;
|
|
60
54
|
name: string;
|
|
61
55
|
configured: boolean;
|
|
62
56
|
stopped: boolean;
|
|
63
57
|
scanTimeout: number;
|
|
64
58
|
runPromise: Deferred<any> | null;
|
|
59
|
+
private runPromiseDeviceId;
|
|
65
60
|
emitter?: EventEmitter;
|
|
66
61
|
firmwareUploadWriteRecoveryIds: Set<string>;
|
|
62
|
+
/** Per-device protocol type detected by active wire-level probe after connect. */
|
|
67
63
|
private deviceProtocol;
|
|
68
64
|
private deviceProtocolHints;
|
|
69
65
|
private protocolV2Assemblers;
|
|
70
66
|
private protocolV2FrameQueues;
|
|
71
67
|
private protocolV2FramePromises;
|
|
72
|
-
private
|
|
73
|
-
private nextProtocolV2CallToken;
|
|
68
|
+
private protocolV2Links;
|
|
74
69
|
private monitorTokens;
|
|
70
|
+
private disconnectEventTokens;
|
|
75
71
|
private nextMonitorToken;
|
|
76
72
|
constructor(options: TransportOptions);
|
|
77
73
|
init(logger: any, emitter: EventEmitter): void;
|
|
@@ -81,14 +77,22 @@ declare class ReactNativeBleTransport {
|
|
|
81
77
|
getPlxManager(): Promise<BleManager>;
|
|
82
78
|
resolveCharacteristics(device: Device): Promise<ResolvedBleCharacteristics>;
|
|
83
79
|
attachDisconnectSubscription(transport: BleTransport, device: Device, uuid: string): void;
|
|
80
|
+
private emitDeviceDisconnect;
|
|
84
81
|
reconnectFirmwareUploadTransport(uuid: string, transport: BleTransport): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* 获取设备列表
|
|
84
|
+
* 在搜索超过超时时间或设备数量大于 5 台时,返回 OneKey 设备,
|
|
85
|
+
* @returns
|
|
86
|
+
*/
|
|
85
87
|
enumerate(): Promise<IOneKeyDevice[]>;
|
|
88
|
+
private installTransportForAcquire;
|
|
86
89
|
acquire(input: BleAcquireInput): Promise<{
|
|
87
90
|
uuid: string;
|
|
88
91
|
protocolType: ProtocolType;
|
|
89
92
|
}>;
|
|
90
93
|
_monitorCharacteristic(characteristic: Characteristic, uuid: string, monitorToken: number, notifyTransactionId: string): Subscription;
|
|
91
94
|
release(uuid: string, onclose?: boolean): Promise<boolean>;
|
|
95
|
+
private releaseNative;
|
|
92
96
|
post(session: string, name: string, data: Record<string, unknown>): Promise<void>;
|
|
93
97
|
call(uuid: string, name: string, data: Record<string, unknown>, options?: TransportCallOptions): Promise<transport.MessageFromOneKey>;
|
|
94
98
|
private callProtocolV1;
|
|
@@ -106,13 +110,14 @@ declare class ReactNativeBleTransport {
|
|
|
106
110
|
private handleProtocolV2Notification;
|
|
107
111
|
private getProtocolV2FrameQueue;
|
|
108
112
|
private resolveProtocolV2Frame;
|
|
109
|
-
private rejectAllProtocolV2Frames;
|
|
110
113
|
private resetProtocolV2Frames;
|
|
111
|
-
private
|
|
114
|
+
private rejectProtocolV2Frames;
|
|
112
115
|
private readProtocolV2Frame;
|
|
116
|
+
private writeProtocolV2Packet;
|
|
113
117
|
private writeProtocolV2Frame;
|
|
114
118
|
private callProtocolV2;
|
|
119
|
+
private createProtocolV2Adapter;
|
|
115
120
|
getProtocolType(path: string): ProtocolType | undefined;
|
|
116
121
|
}
|
|
117
122
|
|
|
118
|
-
export { IOneKeyDevice, ProtocolV2BleTuning, configureProtocolV2BleTuning, ReactNativeBleTransport as default, getProtocolV2BleTuning, resetProtocolV2BleTuning };
|
|
123
|
+
export { IOneKeyDevice, ProtocolV2BleTuning, configureProtocolV2BleTuning, ReactNativeBleTransport as default, getFirmwareUploadWriteRetryType, getProtocolV2BleTuning, resetProtocolV2BleTuning };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAIL,UAAU,IAAI,aAAa,EAE5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,SAAS,EAAE,EAEhB,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|