rxjs-connector 5.0.5 → 5.1.3
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/build/es2019/factories/data-channel-accepting-observable-factory.d.ts +6 -2
- package/build/es2019/factories/data-channel-accepting-observable-factory.d.ts.map +1 -1
- package/build/es2019/factories/data-channel-accepting-observable-factory.js +3 -5
- package/build/es2019/factories/data-channel-accepting-observable-factory.js.map +1 -1
- package/build/es2019/factories/data-channel-awaitting-observable-factory.d.ts +6 -0
- package/build/es2019/factories/data-channel-awaitting-observable-factory.d.ts.map +1 -0
- package/build/es2019/factories/data-channel-awaitting-observable-factory.js +68 -0
- package/build/es2019/factories/data-channel-awaitting-observable-factory.js.map +1 -0
- package/build/es2019/factories/data-channels-accepting-observable-factory.d.ts +5 -2
- package/build/es2019/factories/data-channels-accepting-observable-factory.d.ts.map +1 -1
- package/build/es2019/factories/data-channels-accepting-observable-factory.js.map +1 -1
- package/build/es2019/functions/create-data-channel-creating-observable.d.ts +5 -0
- package/build/es2019/functions/create-data-channel-creating-observable.d.ts.map +1 -0
- package/build/es2019/{helpers/create-data-channels.js → functions/create-data-channel-creating-observable.js} +15 -8
- package/build/es2019/functions/create-data-channel-creating-observable.js.map +1 -0
- package/build/es2019/functions/emit-channel.d.ts +3 -0
- package/build/es2019/functions/emit-channel.d.ts.map +1 -0
- package/build/es2019/functions/emit-channel.js +5 -0
- package/build/es2019/functions/emit-channel.js.map +1 -0
- package/build/es2019/module.d.ts.map +1 -1
- package/build/es2019/module.js +4 -1
- package/build/es2019/module.js.map +1 -1
- package/build/es2019/types/client-event.d.ts +2 -1
- package/build/es2019/types/client-event.d.ts.map +1 -1
- package/build/es2019/types/index.d.ts +1 -4
- package/build/es2019/types/index.d.ts.map +1 -1
- package/build/es2019/types/index.js +1 -4
- package/build/es2019/types/index.js.map +1 -1
- package/build/es2019/types/termination-event.d.ts +6 -0
- package/build/es2019/types/termination-event.d.ts.map +1 -0
- package/build/es2019/types/termination-event.js +2 -0
- package/build/es2019/types/termination-event.js.map +1 -0
- package/build/es5/bundle.js +114 -91
- package/package.json +21 -21
- package/src/factories/data-channel-accepting-observable-factory.ts +17 -7
- package/src/factories/data-channel-awaitting-observable-factory.ts +94 -0
- package/src/factories/data-channels-accepting-observable-factory.ts +7 -5
- package/src/{helpers/create-data-channels.ts → functions/create-data-channel-creating-observable.ts} +19 -8
- package/src/functions/emit-channel.ts +6 -0
- package/src/module.ts +8 -1
- package/src/types/client-event.ts +2 -1
- package/src/types/index.ts +1 -4
- package/src/types/termination-event.ts +7 -0
- package/build/es2019/helpers/await-data-channels.d.ts +0 -5
- package/build/es2019/helpers/await-data-channels.d.ts.map +0 -1
- package/build/es2019/helpers/await-data-channels.js +0 -63
- package/build/es2019/helpers/await-data-channels.js.map +0 -1
- package/build/es2019/helpers/create-data-channels.d.ts +0 -5
- package/build/es2019/helpers/create-data-channels.d.ts.map +0 -1
- package/build/es2019/helpers/create-data-channels.js.map +0 -1
- package/build/es2019/types/data-channel-accepting-observable-factory-factory.d.ts +0 -3
- package/build/es2019/types/data-channel-accepting-observable-factory-factory.d.ts.map +0 -1
- package/build/es2019/types/data-channel-accepting-observable-factory-factory.js +0 -2
- package/build/es2019/types/data-channel-accepting-observable-factory-factory.js.map +0 -1
- package/build/es2019/types/data-channel-accepting-observable-factory.d.ts +0 -5
- package/build/es2019/types/data-channel-accepting-observable-factory.d.ts.map +0 -1
- package/build/es2019/types/data-channel-accepting-observable-factory.js +0 -2
- package/build/es2019/types/data-channel-accepting-observable-factory.js.map +0 -1
- package/build/es2019/types/data-channels-accepting-observable-factory-factory.d.ts +0 -4
- package/build/es2019/types/data-channels-accepting-observable-factory-factory.d.ts.map +0 -1
- package/build/es2019/types/data-channels-accepting-observable-factory-factory.js +0 -2
- package/build/es2019/types/data-channels-accepting-observable-factory-factory.js.map +0 -1
- package/build/es2019/types/data-channels-accepting-observable-factory.d.ts +0 -5
- package/build/es2019/types/data-channels-accepting-observable-factory.d.ts.map +0 -1
- package/build/es2019/types/data-channels-accepting-observable-factory.js +0 -2
- package/build/es2019/types/data-channels-accepting-observable-factory.js.map +0 -1
- package/src/helpers/await-data-channels.ts +0 -88
- package/src/types/data-channel-accepting-observable-factory-factory.ts +0 -3
- package/src/types/data-channel-accepting-observable-factory.ts +0 -9
- package/src/types/data-channels-accepting-observable-factory-factory.ts +0 -6
- package/src/types/data-channels-accepting-observable-factory.ts +0 -5
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { IRemoteSubject } from 'rxjs-broker';
|
|
3
|
+
import type { createDataChannelCreatingObservable as createDataChannelCreatingObservableFunction } from '../functions/create-data-channel-creating-observable';
|
|
4
|
+
import { TClientEvent } from '../types';
|
|
5
|
+
import type { createDataChannelAwaitingObservableFactory } from './data-channel-awaitting-observable-factory';
|
|
6
|
+
export declare const createDataChannelAcceptingObservableFactory: (createDataChannelAwaitingObservable: ReturnType<typeof createDataChannelAwaitingObservableFactory>, createDataChannelCreatingObservable: typeof createDataChannelCreatingObservableFunction, iceServers: RTCIceServer[]) => (isActive: boolean, label: null | string, webSocketSubject: IRemoteSubject<TClientEvent['message']>) => Observable<RTCDataChannel>;
|
|
3
7
|
//# sourceMappingURL=data-channel-accepting-observable-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-channel-accepting-observable-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/data-channel-accepting-observable-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-channel-accepting-observable-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/data-channel-accepting-observable-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,mCAAmC,IAAI,2CAA2C,EAAE,MAAM,sDAAsD,CAAC;AAC/J,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,6CAA6C,CAAC;AAE9G,eAAO,MAAM,2CAA2C,wCACf,WAAW,iDAAiD,CAAC,uCAC7D,kDAAkD,cAC3E,YAAY,EAAE,gBAGZ,OAAO,SACV,IAAI,GAAG,MAAM,oBACF,eAAe,YAAY,CAAC,SAAS,CAAC,CAAC,KAC1D,WAAW,cAAc,CAO/B,CAAC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import { createDataChannel } from '../helpers/create-data-channels';
|
|
3
|
-
export const createDataChannelAcceptingObservableFactory = (iceServers) => {
|
|
1
|
+
export const createDataChannelAcceptingObservableFactory = (createDataChannelAwaitingObservable, createDataChannelCreatingObservable, iceServers) => {
|
|
4
2
|
return (isActive, label, webSocketSubject) => {
|
|
5
3
|
if (isActive) {
|
|
6
|
-
return
|
|
4
|
+
return createDataChannelCreatingObservable(iceServers, label, webSocketSubject);
|
|
7
5
|
}
|
|
8
|
-
return
|
|
6
|
+
return createDataChannelAwaitingObservable(iceServers, webSocketSubject);
|
|
9
7
|
};
|
|
10
8
|
};
|
|
11
9
|
//# sourceMappingURL=data-channel-accepting-observable-factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-channel-accepting-observable-factory.js","sourceRoot":"","sources":["../../../src/factories/data-channel-accepting-observable-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-channel-accepting-observable-factory.js","sourceRoot":"","sources":["../../../src/factories/data-channel-accepting-observable-factory.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,2CAA2C,GAAG,CACvD,mCAAkG,EAClG,mCAAuF,EACvF,UAA0B,EAC5B,EAAE;IACA,OAAO,CACH,QAAiB,EACjB,KAAoB,EACpB,gBAAyD,EAC/B,EAAE;QAC5B,IAAI,QAAQ,EAAE;YACV,OAAO,mCAAmC,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;SACnF;QAED,OAAO,mCAAmC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { IRemoteSubject } from 'rxjs-broker';
|
|
3
|
+
import type { emitChannel as emitChannelFunction } from '../functions/emit-channel';
|
|
4
|
+
import { TClientEvent } from '../types';
|
|
5
|
+
export declare const createDataChannelAwaitingObservableFactory: (emitChannel: typeof emitChannelFunction) => (iceServers: RTCIceServer[], webSocketSubject: IRemoteSubject<TClientEvent['message']>) => Observable<RTCDataChannel>;
|
|
6
|
+
//# sourceMappingURL=data-channel-awaitting-observable-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-channel-awaitting-observable-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/data-channel-awaitting-observable-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,OAAO,EAAsC,YAAY,EAA6D,MAAM,UAAU,CAAC;AAEvI,eAAO,MAAM,0CAA0C,gBAAiB,0BAA0B,kBAC1E,YAAY,EAAE,oBAAoB,eAAe,YAAY,CAAC,SAAS,CAAC,CAAC,KAAG,WAAW,cAAc,CAsF5H,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Observable, filter } from 'rxjs';
|
|
2
|
+
import { mask } from 'rxjs-broker';
|
|
3
|
+
export const createDataChannelAwaitingObservableFactory = (emitChannel) => {
|
|
4
|
+
return (iceServers, webSocketSubject) => {
|
|
5
|
+
return new Observable((observer) => {
|
|
6
|
+
const peerConnection = new RTCPeerConnection({ iceServers });
|
|
7
|
+
const candidateChannelSubject = mask({ type: 'candidate' }, webSocketSubject);
|
|
8
|
+
const descriptionChannelSubject = mask({ type: 'description' }, webSocketSubject);
|
|
9
|
+
const termination$ = webSocketSubject.pipe(filter((event) => event.type === 'termination'));
|
|
10
|
+
const candidateChannelSubscription = candidateChannelSubject.subscribe(({ candidate }) => peerConnection.addIceCandidate(new RTCIceCandidate(candidate)).catch(() => {
|
|
11
|
+
// Errors can be ignored.
|
|
12
|
+
}));
|
|
13
|
+
const descriptionChannelSubscription = descriptionChannelSubject.subscribe(({ description }) => {
|
|
14
|
+
peerConnection.setRemoteDescription(new RTCSessionDescription(description)).catch(() => {
|
|
15
|
+
// @todo Handle this error and maybe request another description.
|
|
16
|
+
});
|
|
17
|
+
peerConnection
|
|
18
|
+
.createAnswer()
|
|
19
|
+
.then((answer) => {
|
|
20
|
+
peerConnection.setLocalDescription(answer).catch(() => {
|
|
21
|
+
// @todo Handle this error and maybe create another description.
|
|
22
|
+
});
|
|
23
|
+
// @todo Remove casting again when possible.
|
|
24
|
+
descriptionChannelSubject.send({ description: answer });
|
|
25
|
+
})
|
|
26
|
+
.catch(() => {
|
|
27
|
+
// @todo Handle this error and maybe create another answer.
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
const terminationSubscription = termination$.subscribe(() => {
|
|
31
|
+
unsubscribe();
|
|
32
|
+
observer.complete();
|
|
33
|
+
peerConnection.close();
|
|
34
|
+
});
|
|
35
|
+
const unsubscribe = () => {
|
|
36
|
+
candidateChannelSubscription.unsubscribe();
|
|
37
|
+
descriptionChannelSubscription.unsubscribe();
|
|
38
|
+
terminationSubscription.unsubscribe();
|
|
39
|
+
};
|
|
40
|
+
peerConnection.addEventListener('datachannel', ({ channel }) => {
|
|
41
|
+
unsubscribe();
|
|
42
|
+
// @todo In Firefox the channel might have a readyState of 'connecting'. That needs to be covered by a test.
|
|
43
|
+
if (channel.readyState === 'connecting') {
|
|
44
|
+
const emitChannelWhenOpen = () => {
|
|
45
|
+
channel.removeEventListener('open', emitChannelWhenOpen);
|
|
46
|
+
emitChannel(channel, observer);
|
|
47
|
+
};
|
|
48
|
+
// @todo What happens if there is no 'open' event and the channel gets closed before.
|
|
49
|
+
channel.addEventListener('open', emitChannelWhenOpen);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
emitChannel(channel, observer);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
peerConnection.addEventListener('icecandidate', ({ candidate }) => {
|
|
56
|
+
if (candidate !== null) {
|
|
57
|
+
// @todo Remove casting again when possible.
|
|
58
|
+
candidateChannelSubject.send({ candidate });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return () => {
|
|
62
|
+
unsubscribe();
|
|
63
|
+
// @todo Close the PeerConnection.
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=data-channel-awaitting-observable-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-channel-awaitting-observable-factory.js","sourceRoot":"","sources":["../../../src/factories/data-channel-awaitting-observable-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { IRemoteSubject } from 'rxjs-broker';
|
|
3
|
+
import { TWebSocketEvent } from '../types';
|
|
4
|
+
import type { createDataChannelAcceptingObservableFactory } from './data-channel-accepting-observable-factory';
|
|
5
|
+
export declare const createDataChannelsAcceptingObservableFactory: (createDataChannelAcceptingObservable: ReturnType<typeof createDataChannelAcceptingObservableFactory>) => (webSocketSubject: IRemoteSubject<TWebSocketEvent>) => Observable<RTCDataChannel>;
|
|
3
6
|
//# sourceMappingURL=data-channels-accepting-observable-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-channels-accepting-observable-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/data-channels-accepting-observable-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-channels-accepting-observable-factory.d.ts","sourceRoot":"","sources":["../../../src/factories/data-channels-accepting-observable-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAkC,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,6CAA6C,CAAC;AAE/G,eAAO,MAAM,4CAA4C,yCACf,WAAW,kDAAkD,CAAC,wBAE1E,eAAe,eAAe,CAAC,KAAG,WAAW,cAAc,CAMxF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-channels-accepting-observable-factory.js","sourceRoot":"","sources":["../../../src/factories/data-channels-accepting-observable-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-channels-accepting-observable-factory.js","sourceRoot":"","sources":["../../../src/factories/data-channels-accepting-observable-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,IAAI,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C,MAAM,CAAC,MAAM,4CAA4C,GAAG,CACxD,oCAAoG,EACtG,EAAE;IACA,OAAO,CAAC,gBAAiD,EAA8B,EAAE,CACrF,IAAI,CAAkD,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAC7F,QAAQ,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;QACtD,OAAO,oCAAoC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CACL,CAAC;AACV,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { IRemoteSubject } from 'rxjs-broker';
|
|
3
|
+
import { TClientEvent } from '../types';
|
|
4
|
+
export declare const createDataChannelCreatingObservable: (iceServers: RTCIceServer[], label: null | string, webSocketSubject: IRemoteSubject<TClientEvent['message']>) => Observable<RTCDataChannel>;
|
|
5
|
+
//# sourceMappingURL=create-data-channel-creating-observable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-data-channel-creating-observable.d.ts","sourceRoot":"","sources":["../../../src/functions/create-data-channel-creating-observable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAU,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAC;AACnD,OAAO,EAAsC,YAAY,EAA6D,MAAM,UAAU,CAAC;AAEvI,eAAO,MAAM,mCAAmC,eAChC,YAAY,EAAE,SACnB,IAAI,GAAG,MAAM,oBACF,eAAe,YAAY,CAAC,SAAS,CAAC,CAAC,KAC1D,WAAW,cAAc,CA+E3B,CAAC"}
|
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
1
|
+
import { Observable, filter } from 'rxjs';
|
|
2
2
|
import { mask } from 'rxjs-broker';
|
|
3
|
-
export const
|
|
3
|
+
export const createDataChannelCreatingObservable = (iceServers, label, webSocketSubject) => {
|
|
4
4
|
return new Observable((observer) => {
|
|
5
5
|
const peerConnection = new RTCPeerConnection({ iceServers });
|
|
6
6
|
const dataChannel = peerConnection.createDataChannel(label === null ? '' : label, { ordered: true });
|
|
7
7
|
const candidateSubject = mask({ type: 'candidate' }, webSocketSubject);
|
|
8
8
|
const descriptionSubject = mask({ type: 'description' }, webSocketSubject);
|
|
9
|
-
|
|
9
|
+
const termination$ = webSocketSubject.pipe(filter((event) => event.type === 'termination'));
|
|
10
10
|
const candidateSubjectSubscription = candidateSubject.subscribe(({ candidate }) => peerConnection.addIceCandidate(new RTCIceCandidate(candidate)).catch(() => {
|
|
11
11
|
// Errors can be ignored.
|
|
12
12
|
}));
|
|
13
|
-
// tslint:disable-next-line:deprecation
|
|
14
13
|
const descriptionSubjectSubscription = descriptionSubject.subscribe(({ description }) => peerConnection.setRemoteDescription(new RTCSessionDescription(description)).catch(() => {
|
|
15
14
|
// @todo Handle this error and maybe request another description.
|
|
16
15
|
}));
|
|
17
|
-
|
|
16
|
+
const terminationSubscription = termination$.subscribe(() => {
|
|
17
|
+
unsubscribe();
|
|
18
|
+
observer.complete();
|
|
19
|
+
peerConnection.close();
|
|
20
|
+
});
|
|
21
|
+
const unsubscribe = () => {
|
|
18
22
|
candidateSubjectSubscription.unsubscribe();
|
|
19
23
|
descriptionSubjectSubscription.unsubscribe();
|
|
24
|
+
terminationSubscription.unsubscribe();
|
|
25
|
+
};
|
|
26
|
+
dataChannel.addEventListener('open', () => {
|
|
27
|
+
unsubscribe();
|
|
20
28
|
// Make sure to close the peerConnection when the DataChannel gets closed.
|
|
21
29
|
dataChannel.addEventListener('close', () => peerConnection.close());
|
|
22
30
|
observer.next(dataChannel);
|
|
@@ -43,12 +51,11 @@ export const createDataChannel = (iceServers, label, webSocketSubject) => {
|
|
|
43
51
|
});
|
|
44
52
|
});
|
|
45
53
|
return () => {
|
|
46
|
-
|
|
47
|
-
descriptionSubjectSubscription.unsubscribe();
|
|
54
|
+
unsubscribe();
|
|
48
55
|
if (dataChannel.readyState === 'connecting') {
|
|
49
56
|
peerConnection.close();
|
|
50
57
|
}
|
|
51
58
|
};
|
|
52
59
|
});
|
|
53
60
|
};
|
|
54
|
-
//# sourceMappingURL=create-data-
|
|
61
|
+
//# sourceMappingURL=create-data-channel-creating-observable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-data-channel-creating-observable.js","sourceRoot":"","sources":["../../../src/functions/create-data-channel-creating-observable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-channel.d.ts","sourceRoot":"","sources":["../../../src/functions/emit-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,eAAO,MAAM,WAAW,YAAa,cAAc,YAAY,WAAW,cAAc,CAAC,KAAG,IAG3F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-channel.js","sourceRoot":"","sources":["../../../src/functions/emit-channel.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAuB,EAAE,QAAoC,EAAQ,EAAE;IAC/F,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAW,WAAW,EAAE,MAAM,aAAa,CAAC;AAMnE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAgB9B,eAAO,MAAM,MAAM,QAAS,MAAM,kBAAiB,eAAe,eAAe,CAAC,8CAEjF,CAAC;AAEF;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/build/es2019/module.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { connect, isSupported } from 'rxjs-broker';
|
|
2
2
|
import { createDataChannelAcceptingObservableFactory } from './factories/data-channel-accepting-observable-factory';
|
|
3
|
+
import { createDataChannelAwaitingObservableFactory } from './factories/data-channel-awaitting-observable-factory';
|
|
3
4
|
import { createDataChannelsAcceptingObservableFactory } from './factories/data-channels-accepting-observable-factory';
|
|
5
|
+
import { createDataChannelCreatingObservable } from './functions/create-data-channel-creating-observable';
|
|
6
|
+
import { emitChannel } from './functions/emit-channel';
|
|
4
7
|
/*
|
|
5
8
|
* @todo Explicitly referencing the barrel file seems to be necessary when enabling the
|
|
6
9
|
* isolatedModules compiler option.
|
|
@@ -12,7 +15,7 @@ const ICE_SERVERS = [
|
|
|
12
15
|
urls: ['stun:stun.l.google.com:19302', 'stun:stun1.l.google.com:19302']
|
|
13
16
|
}
|
|
14
17
|
];
|
|
15
|
-
const createDataChannelsAcceptingObservable = createDataChannelsAcceptingObservableFactory(createDataChannelAcceptingObservableFactory(ICE_SERVERS));
|
|
18
|
+
const createDataChannelsAcceptingObservable = createDataChannelsAcceptingObservableFactory(createDataChannelAcceptingObservableFactory(createDataChannelAwaitingObservableFactory(emitChannel), createDataChannelCreatingObservable, ICE_SERVERS));
|
|
16
19
|
export const accept = (url, subjectConfig = {}) => {
|
|
17
20
|
return createDataChannelsAcceptingObservable(connect(url, subjectConfig));
|
|
18
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,2CAA2C,EAAE,MAAM,uDAAuD,CAAC;AACpH,OAAO,EAAE,4CAA4C,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,2CAA2C,EAAE,MAAM,uDAAuD,CAAC;AACpH,OAAO,EAAE,0CAA0C,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,4CAA4C,EAAE,MAAM,wDAAwD,CAAC;AACtH,OAAO,EAAE,mCAAmC,EAAE,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;;GAGG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAE9B,MAAM,WAAW,GAAG;IAChB;QACI,IAAI,EAAE,CAAC,8BAA8B,EAAE,+BAA+B,CAAC;KAC1E;CACJ,CAAC;AAEF,MAAM,qCAAqC,GAAG,4CAA4C,CACtF,2CAA2C,CACvC,0CAA0C,CAAC,WAAW,CAAC,EACvD,mCAAmC,EACnC,WAAW,CACd,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,gBAAiD,EAAE,EAAE,EAAE;IACvF,OAAO,qCAAqC,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF;;GAEG;AACH,oEAAoE;AACpE,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { TStringifyableJsonObject } from 'rxjs-broker';
|
|
2
2
|
import { TCandidateEvent } from './candidate-event';
|
|
3
3
|
import { TDescriptionEvent } from './description-event';
|
|
4
|
+
import { TTerminationEvent } from './termination-event';
|
|
4
5
|
export declare type TClientEvent = TStringifyableJsonObject<{
|
|
5
6
|
client: {
|
|
6
7
|
id: string;
|
|
7
8
|
};
|
|
8
|
-
message: TCandidateEvent | TDescriptionEvent;
|
|
9
|
+
message: TCandidateEvent | TDescriptionEvent | TTerminationEvent;
|
|
9
10
|
}>;
|
|
10
11
|
//# sourceMappingURL=client-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-event.d.ts","sourceRoot":"","sources":["../../../src/types/client-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,oBAAY,YAAY,GAAG,wBAAwB,CAAC;IAChD,MAAM,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,OAAO,EAAE,eAAe,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client-event.d.ts","sourceRoot":"","sources":["../../../src/types/client-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,oBAAY,YAAY,GAAG,wBAAwB,CAAC;IAChD,MAAM,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,OAAO,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;CACpE,CAAC,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export * from './candidate-event';
|
|
2
2
|
export * from './candidate-message';
|
|
3
3
|
export * from './client-event';
|
|
4
|
-
export * from './data-channel-accepting-observable-factory';
|
|
5
|
-
export * from './data-channel-accepting-observable-factory-factory';
|
|
6
|
-
export * from './data-channels-accepting-observable-factory';
|
|
7
|
-
export * from './data-channels-accepting-observable-factory-factory';
|
|
8
4
|
export * from './description-event';
|
|
9
5
|
export * from './description-message';
|
|
10
6
|
export * from './request-event';
|
|
11
7
|
export * from './request-message';
|
|
8
|
+
export * from './termination-event';
|
|
12
9
|
export * from './web-socket-event';
|
|
13
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export * from './candidate-event';
|
|
2
2
|
export * from './candidate-message';
|
|
3
3
|
export * from './client-event';
|
|
4
|
-
export * from './data-channel-accepting-observable-factory';
|
|
5
|
-
export * from './data-channel-accepting-observable-factory-factory';
|
|
6
|
-
export * from './data-channels-accepting-observable-factory';
|
|
7
|
-
export * from './data-channels-accepting-observable-factory-factory';
|
|
8
4
|
export * from './description-event';
|
|
9
5
|
export * from './description-message';
|
|
10
6
|
export * from './request-event';
|
|
11
7
|
export * from './request-message';
|
|
8
|
+
export * from './termination-event';
|
|
12
9
|
export * from './web-socket-event';
|
|
13
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"termination-event.d.ts","sourceRoot":"","sources":["../../../src/types/termination-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,oBAAY,iBAAiB,GAAG,wBAAwB,CAAC;IACrD,OAAO,EAAE,SAAS,CAAC;IAEnB,IAAI,EAAE,aAAa,CAAC;CACvB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"termination-event.js","sourceRoot":"","sources":["../../../src/types/termination-event.ts"],"names":[],"mappings":""}
|