@react-native-harness/bridge 1.6.0 → 1.7.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/dist/app-liveness.d.ts +33 -0
- package/dist/app-liveness.d.ts.map +1 -0
- package/dist/app-liveness.js +57 -0
- package/dist/client.d.ts +6 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +112 -105
- package/dist/connection-check.d.ts +22 -0
- package/dist/connection-check.d.ts.map +1 -0
- package/dist/connection-check.js +30 -0
- package/dist/errors.d.ts +6 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +12 -4
- package/dist/image-snapshot.d.ts +2 -2
- package/dist/image-snapshot.d.ts.map +1 -1
- package/dist/image-snapshot.js +21 -8
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/js-block-budget-policy.d.ts +31 -0
- package/dist/js-block-budget-policy.d.ts.map +1 -0
- package/dist/js-block-budget-policy.js +60 -0
- package/dist/js-watchdog.d.ts +31 -0
- package/dist/js-watchdog.d.ts.map +1 -0
- package/dist/js-watchdog.js +46 -0
- package/dist/protocol.d.ts +10 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +2 -2
- package/dist/rpc-peer.d.ts +3 -1
- package/dist/rpc-peer.d.ts.map +1 -1
- package/dist/rpc-peer.js +2 -2
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +71 -56
- package/dist/shared/test-runner.d.ts +11 -0
- package/dist/shared/test-runner.d.ts.map +1 -1
- package/dist/shared.d.ts +5 -1
- package/dist/shared.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/app-liveness.ts +103 -0
- package/src/binary.ts +74 -0
- package/src/client.ts +172 -170
- package/src/connection-check.ts +60 -0
- package/src/errors.ts +16 -5
- package/src/image-snapshot.ts +31 -9
- package/src/index.ts +0 -2
- package/src/js-block-budget-policy.ts +90 -0
- package/src/js-watchdog.ts +78 -0
- package/src/link/README.md +43 -0
- package/src/link/channel.ts +473 -0
- package/src/link/envelope.ts +110 -0
- package/src/link/index.ts +321 -0
- package/src/link/ports.ts +42 -0
- package/src/link/scheduler.ts +132 -0
- package/src/link/standard-websocket.ts +251 -0
- package/src/link/streams.ts +34 -0
- package/src/protocol.ts +14 -9
- package/src/rpc-peer.ts +6 -3
- package/src/server.ts +99 -67
- package/src/shared/test-runner.ts +12 -0
- package/src/shared.ts +6 -1
- package/dist/binary-transfer.d.ts +0 -17
- package/dist/binary-transfer.d.ts.map +0 -1
- package/dist/binary-transfer.js +0 -60
- package/dist/events.d.ts +0 -45
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -1
- package/dist/heartbeat.d.ts +0 -13
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -49
- package/dist/platform-bridge.d.ts +0 -4
- package/dist/platform-bridge.d.ts.map +0 -1
- package/dist/platform-bridge.js +0 -25
- package/dist/transport.d.ts +0 -22
- package/dist/transport.d.ts.map +0 -1
- package/dist/transport.js +0 -22
- package/dist/websocket-client-transport.d.ts +0 -3
- package/dist/websocket-client-transport.d.ts.map +0 -1
- package/dist/websocket-client-transport.js +0 -45
- package/dist/websocket-server-transport.d.ts +0 -4
- package/dist/websocket-server-transport.d.ts.map +0 -1
- package/dist/websocket-server-transport.js +0 -43
- package/src/binary-transfer.ts +0 -79
- package/src/heartbeat.ts +0 -67
- package/src/transport.ts +0 -47
- package/src/websocket-client-transport.ts +0 -85
- package/src/websocket-server-transport.ts +0 -54
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
toTransportState,
|
|
3
|
-
type BridgeTransport,
|
|
4
|
-
} from './transport.js';
|
|
5
|
-
|
|
6
|
-
type BrowserWebSocketLike = {
|
|
7
|
-
readonly readyState: number;
|
|
8
|
-
binaryType: BinaryType;
|
|
9
|
-
send: (data: string | ArrayBufferLike | Blob | ArrayBufferView) => void;
|
|
10
|
-
close: (code?: number, reason?: string) => void;
|
|
11
|
-
addEventListener: {
|
|
12
|
-
(type: 'open', listener: () => void): void;
|
|
13
|
-
(
|
|
14
|
-
type: 'message',
|
|
15
|
-
listener: (event: MessageEvent<string | ArrayBuffer>) => void,
|
|
16
|
-
): void;
|
|
17
|
-
(type: 'close', listener: (event: CloseEvent) => void): void;
|
|
18
|
-
(
|
|
19
|
-
type: 'error',
|
|
20
|
-
listener: (event: Event & { message?: string }) => void,
|
|
21
|
-
): void;
|
|
22
|
-
};
|
|
23
|
-
removeEventListener: {
|
|
24
|
-
(type: 'open', listener: () => void): void;
|
|
25
|
-
(
|
|
26
|
-
type: 'message',
|
|
27
|
-
listener: (event: MessageEvent<string | ArrayBuffer>) => void,
|
|
28
|
-
): void;
|
|
29
|
-
(type: 'close', listener: (event: CloseEvent) => void): void;
|
|
30
|
-
(
|
|
31
|
-
type: 'error',
|
|
32
|
-
listener: (event: Event & { message?: string }) => void,
|
|
33
|
-
): void;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export const createWebSocketClientTransport = (url: string): BridgeTransport => {
|
|
38
|
-
const socket = new WebSocket(url) as BrowserWebSocketLike;
|
|
39
|
-
socket.binaryType = 'arraybuffer';
|
|
40
|
-
|
|
41
|
-
return {
|
|
42
|
-
get state() {
|
|
43
|
-
return toTransportState(socket.readyState);
|
|
44
|
-
},
|
|
45
|
-
send: (message) => {
|
|
46
|
-
socket.send(message);
|
|
47
|
-
},
|
|
48
|
-
close: (code, reason) => {
|
|
49
|
-
socket.close(code, reason);
|
|
50
|
-
},
|
|
51
|
-
onOpen: (listener) => {
|
|
52
|
-
socket.addEventListener('open', listener);
|
|
53
|
-
return () => socket.removeEventListener('open', listener);
|
|
54
|
-
},
|
|
55
|
-
onMessage: (listener) => {
|
|
56
|
-
const handleMessage = (event: MessageEvent<string | ArrayBuffer>) => {
|
|
57
|
-
if (typeof event.data === 'string') {
|
|
58
|
-
listener(event.data);
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
listener(new Uint8Array(event.data));
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
socket.addEventListener('message', handleMessage);
|
|
66
|
-
return () => socket.removeEventListener('message', handleMessage);
|
|
67
|
-
},
|
|
68
|
-
onClose: (listener) => {
|
|
69
|
-
const handleClose = (event: CloseEvent) => {
|
|
70
|
-
listener({ code: event.code, reason: event.reason });
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
socket.addEventListener('close', handleClose);
|
|
74
|
-
return () => socket.removeEventListener('close', handleClose);
|
|
75
|
-
},
|
|
76
|
-
onError: (listener) => {
|
|
77
|
-
const handleError = (event: Event & { message?: string }) => {
|
|
78
|
-
listener(new Error(event.message || 'Harness connection error'));
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
socket.addEventListener('error', handleError);
|
|
82
|
-
return () => socket.removeEventListener('error', handleError);
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { RawData, WebSocket as NodeWebSocket } from 'ws';
|
|
2
|
-
import {
|
|
3
|
-
toTransportState,
|
|
4
|
-
type BridgeTransport,
|
|
5
|
-
} from './transport.js';
|
|
6
|
-
|
|
7
|
-
const toUint8Array = (message: RawData): Uint8Array => {
|
|
8
|
-
const buffer = Array.isArray(message)
|
|
9
|
-
? Buffer.concat(message)
|
|
10
|
-
: Buffer.isBuffer(message)
|
|
11
|
-
? message
|
|
12
|
-
: Buffer.from(message);
|
|
13
|
-
|
|
14
|
-
return new Uint8Array(buffer);
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export const createNodeWebSocketTransport = (
|
|
18
|
-
socket: NodeWebSocket,
|
|
19
|
-
): BridgeTransport => {
|
|
20
|
-
return {
|
|
21
|
-
get state() {
|
|
22
|
-
return toTransportState(socket.readyState);
|
|
23
|
-
},
|
|
24
|
-
send: (message) => {
|
|
25
|
-
socket.send(message);
|
|
26
|
-
},
|
|
27
|
-
close: (code, reason) => {
|
|
28
|
-
socket.close(code, reason);
|
|
29
|
-
},
|
|
30
|
-
onOpen: () => {
|
|
31
|
-
return () => undefined;
|
|
32
|
-
},
|
|
33
|
-
onMessage: (listener) => {
|
|
34
|
-
const handleMessage = (message: RawData, isBinary: boolean) => {
|
|
35
|
-
listener(isBinary ? toUint8Array(message) : message.toString());
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
socket.on('message', handleMessage);
|
|
39
|
-
return () => socket.off('message', handleMessage);
|
|
40
|
-
},
|
|
41
|
-
onClose: (listener) => {
|
|
42
|
-
const handleClose = (code: number, reason: Buffer) => {
|
|
43
|
-
listener({ code, reason: reason.toString() });
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
socket.on('close', handleClose);
|
|
47
|
-
return () => socket.off('close', handleClose);
|
|
48
|
-
},
|
|
49
|
-
onError: (listener) => {
|
|
50
|
-
socket.on('error', listener);
|
|
51
|
-
return () => socket.off('error', listener);
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
};
|