@openfin/remote-adapter 38.81.19 → 38.81.23
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/out/backchannel.js +21 -0
- package/out/bridge-ef11968f.js +77 -0
- package/out/bridge.js +11 -0
- package/out/constants.js +11 -0
- package/out/remote-adapter-alpha.d.ts +18842 -0
- package/out/remote-adapter-beta.d.ts +18842 -0
- package/out/remote-adapter-public.d.ts +18842 -0
- package/out/remote-adapter.d.ts +19301 -0
- package/out/remote-adapter.js +17257 -0
- package/package.json +1 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var require$$0 = require('events');
|
|
4
|
+
var bridge = require('./bridge-ef11968f.js');
|
|
5
|
+
|
|
6
|
+
class BackChannel extends require$$0.EventEmitter {
|
|
7
|
+
constructor(datachannel) {
|
|
8
|
+
super();
|
|
9
|
+
this.datachannel = datachannel;
|
|
10
|
+
this.onmessage = (message) => {
|
|
11
|
+
const data = JSON.parse(message.data);
|
|
12
|
+
this.emit(data.type, data);
|
|
13
|
+
};
|
|
14
|
+
this.send = (data) => {
|
|
15
|
+
this.datachannel.send(JSON.stringify(data));
|
|
16
|
+
};
|
|
17
|
+
this.opened = bridge.initializeMessageReceiver(datachannel, this.onmessage, () => this.emit('closed', { type: 'closed' }));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
exports.BackChannel = BackChannel;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var messageReceiver = {};
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(messageReceiver, "__esModule", { value: true });
|
|
6
|
+
var isOpen_1 = messageReceiver.isOpen = void 0;
|
|
7
|
+
function isOpen(receiver) {
|
|
8
|
+
return receiver.readyState === 'open' || receiver.readyState === 1;
|
|
9
|
+
}
|
|
10
|
+
isOpen_1 = messageReceiver.isOpen = isOpen;
|
|
11
|
+
|
|
12
|
+
async function initializeMessageReceiver(socket, onmessage, onclose) {
|
|
13
|
+
return new Promise((resolve, reject) => {
|
|
14
|
+
socket.addEventListener('open', () => resolve());
|
|
15
|
+
socket.addEventListener('error', reject);
|
|
16
|
+
if (onmessage) {
|
|
17
|
+
socket.addEventListener('message', onmessage);
|
|
18
|
+
}
|
|
19
|
+
if (onclose) {
|
|
20
|
+
socket.addEventListener('close', onclose);
|
|
21
|
+
}
|
|
22
|
+
if (isOpen_1(socket)) {
|
|
23
|
+
resolve();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function bridge(local, remote) {
|
|
28
|
+
const onMessage = (other) => (event) => {
|
|
29
|
+
if (isOpen_1(other)) {
|
|
30
|
+
other.send(event.data);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
await Promise.all([
|
|
34
|
+
initializeMessageReceiver(local, onMessage(remote), () => remote.close()),
|
|
35
|
+
initializeMessageReceiver(remote, onMessage(local), () => local.close())
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
function createOpenedDataChannel(label, rtc) {
|
|
39
|
+
const datachannel = rtc.createDataChannel(label);
|
|
40
|
+
return new Promise((resolve) => {
|
|
41
|
+
const listener = () => {
|
|
42
|
+
datachannel.removeEventListener('open', listener);
|
|
43
|
+
resolve(datachannel);
|
|
44
|
+
};
|
|
45
|
+
datachannel.addEventListener('open', listener);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function waitForDataChannel(label, rtc) {
|
|
49
|
+
let resolver;
|
|
50
|
+
const dataChannelPromise = new Promise((resolve) => {
|
|
51
|
+
resolver = resolve;
|
|
52
|
+
});
|
|
53
|
+
const listener = (event) => {
|
|
54
|
+
const openListener = () => {
|
|
55
|
+
event.channel.removeEventListener('open', openListener);
|
|
56
|
+
resolver(event.channel);
|
|
57
|
+
};
|
|
58
|
+
if (event.channel.label === label) {
|
|
59
|
+
event.channel.addEventListener('open', openListener);
|
|
60
|
+
rtc.removeEventListener('datachannel', listener);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
rtc.addEventListener('datachannel', listener);
|
|
64
|
+
return dataChannelPromise;
|
|
65
|
+
}
|
|
66
|
+
function promisifyOnce(emitter, eventName) {
|
|
67
|
+
return new Promise((resolve) => {
|
|
68
|
+
emitter.once(eventName, resolve);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
exports.bridge = bridge;
|
|
73
|
+
exports.createOpenedDataChannel = createOpenedDataChannel;
|
|
74
|
+
exports.initializeMessageReceiver = initializeMessageReceiver;
|
|
75
|
+
exports.messageReceiver = messageReceiver;
|
|
76
|
+
exports.promisifyOnce = promisifyOnce;
|
|
77
|
+
exports.waitForDataChannel = waitForDataChannel;
|
package/out/bridge.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var bridge = require('./bridge-ef11968f.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.bridge = bridge.bridge;
|
|
8
|
+
exports.createOpenedDataChannel = bridge.createOpenedDataChannel;
|
|
9
|
+
exports.initializeMessageReceiver = bridge.initializeMessageReceiver;
|
|
10
|
+
exports.promisifyOnce = bridge.promisifyOnce;
|
|
11
|
+
exports.waitForDataChannel = bridge.waitForDataChannel;
|
package/out/constants.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const PRIMARY_NAME = 'wire';
|
|
4
|
+
const SECONDARY_NAME = 'backchannel';
|
|
5
|
+
const REMOTE_READY = 'remote-ready';
|
|
6
|
+
const HOST_READY = 'host-ready';
|
|
7
|
+
|
|
8
|
+
exports.HOST_READY = HOST_READY;
|
|
9
|
+
exports.PRIMARY_NAME = PRIMARY_NAME;
|
|
10
|
+
exports.REMOTE_READY = REMOTE_READY;
|
|
11
|
+
exports.SECONDARY_NAME = SECONDARY_NAME;
|