mockrtc 0.3.2 → 0.5.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/.github/workflows/ci.yml +5 -3
- package/README.md +2 -10
- package/dist/handling/handler-builder.js +13 -13
- package/dist/handling/handler-builder.js.map +1 -1
- package/dist/handling/handler-step-definitions.d.ts +36 -22
- package/dist/handling/handler-step-definitions.js +47 -34
- package/dist/handling/handler-step-definitions.js.map +1 -1
- package/dist/handling/handler-step-impls.d.ts +56 -0
- package/dist/handling/handler-step-impls.js +228 -0
- package/dist/handling/handler-step-impls.js.map +1 -0
- package/dist/main-browser.d.ts +2 -2
- package/dist/main-browser.js +3 -3
- package/dist/main-browser.js.map +1 -1
- package/dist/main.d.ts +3 -3
- package/dist/main.js +3 -3
- package/dist/main.js.map +1 -1
- package/dist/matching/matcher-definition-impls.d.ts +51 -0
- package/dist/matching/matcher-definition-impls.js +94 -0
- package/dist/matching/matcher-definition-impls.js.map +1 -0
- package/dist/matching/matcher-definition.d.ts +51 -0
- package/dist/matching/matcher-definition.js +94 -0
- package/dist/matching/matcher-definition.js.map +1 -0
- package/dist/matching/matcher-definitions.d.ts +14 -14
- package/dist/matching/matcher-definitions.js +22 -22
- package/dist/matching/matcher-definitions.js.map +1 -1
- package/dist/matching/matcher-impls.d.ts +27 -0
- package/dist/matching/matcher-impls.js +87 -0
- package/dist/matching/matcher-impls.js.map +1 -0
- package/dist/matching/matchers.d.ts +9 -9
- package/dist/matching/matchers.js +23 -23
- package/dist/matching/matchers.js.map +1 -1
- package/dist/rule-builder.js +7 -7
- package/dist/rule-builder.js.map +1 -1
- package/dist/server/mockrtc-admin-plugin.d.ts +1 -1
- package/dist/server/mockrtc-admin-plugin.js +7 -7
- package/dist/server/mockrtc-admin-plugin.js.map +1 -1
- package/dist/server/mockrtc-server-peer.d.ts +2 -2
- package/dist/server/mockrtc-server-peer.js.map +1 -1
- package/dist/server/mockrtc-server.js +6 -6
- package/dist/server/mockrtc-server.js.map +1 -1
- package/dist/webrtc/mockrtc-connection.d.ts +1 -1
- package/dist/webrtc/mockrtc-connection.js +1 -0
- package/dist/webrtc/mockrtc-connection.js.map +1 -1
- package/dist/webrtc/rtc-connection.d.ts +3 -3
- package/dist/webrtc/rtc-connection.js +3 -6
- package/dist/webrtc/rtc-connection.js.map +1 -1
- package/package.json +5 -6
- package/src/handling/handler-builder.ts +24 -24
- package/src/handling/handler-step-definitions.ts +38 -22
- package/src/handling/{handler-steps.ts → handler-step-impls.ts} +36 -39
- package/src/main-browser.ts +2 -2
- package/src/main.ts +3 -3
- package/src/matching/matcher-definitions.ts +14 -14
- package/src/matching/{matchers.ts → matcher-impls.ts} +22 -22
- package/src/rule-builder.ts +14 -14
- package/src/server/mockrtc-admin-plugin.ts +8 -8
- package/src/server/mockrtc-server-peer.ts +3 -3
- package/src/server/mockrtc-server.ts +8 -8
- package/src/webrtc/mockrtc-connection.ts +1 -0
- package/src/webrtc/rtc-connection.ts +9 -20
|
@@ -4,36 +4,36 @@ export declare const Serializable: typeof PluggableAdmin.Serialization.Serializa
|
|
|
4
4
|
export interface MatcherDefinition extends Serializable {
|
|
5
5
|
readonly type: keyof typeof MatcherDefinitionLookup;
|
|
6
6
|
}
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class HasDataChannelMatcher extends Serializable implements MatcherDefinition {
|
|
8
8
|
readonly type = "has-rtc-data-channel";
|
|
9
9
|
explain(): string;
|
|
10
10
|
}
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class HasVideoTrackMatcher extends Serializable implements MatcherDefinition {
|
|
12
12
|
readonly type = "has-rtc-video-track";
|
|
13
13
|
explain(): string;
|
|
14
14
|
}
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class HasAudioTrackMatcher extends Serializable implements MatcherDefinition {
|
|
16
16
|
readonly type = "has-rtc-audio-track";
|
|
17
17
|
explain(): string;
|
|
18
18
|
}
|
|
19
|
-
export declare class
|
|
19
|
+
export declare class HasMediaTrackMatcher extends Serializable implements MatcherDefinition {
|
|
20
20
|
readonly type = "has-rtc-media-track";
|
|
21
21
|
explain(): string;
|
|
22
22
|
}
|
|
23
|
-
export declare class
|
|
23
|
+
export declare class HostnameMatcher extends Serializable implements MatcherDefinition {
|
|
24
24
|
readonly hostname: string;
|
|
25
25
|
readonly type = "rtc-page-hostname";
|
|
26
26
|
constructor(hostname: string);
|
|
27
27
|
explain(): string;
|
|
28
28
|
}
|
|
29
|
-
export declare class
|
|
29
|
+
export declare class UrlRegexMatcher extends Serializable implements MatcherDefinition {
|
|
30
30
|
readonly type = "rtc-page-regex";
|
|
31
31
|
readonly regexSource: string;
|
|
32
32
|
readonly regexFlags: string;
|
|
33
33
|
constructor(regex: RegExp);
|
|
34
34
|
explain(): string;
|
|
35
35
|
}
|
|
36
|
-
export declare class
|
|
36
|
+
export declare class UserAgentRegexMatcher extends Serializable implements MatcherDefinition {
|
|
37
37
|
readonly type = "rtc-user-agent-regex";
|
|
38
38
|
readonly regexSource: string;
|
|
39
39
|
readonly regexFlags: string;
|
|
@@ -41,11 +41,11 @@ export declare class UserAgentRegexMatcherDefinition extends Serializable implem
|
|
|
41
41
|
explain(): string;
|
|
42
42
|
}
|
|
43
43
|
export declare const MatcherDefinitionLookup: {
|
|
44
|
-
'has-rtc-data-channel': typeof
|
|
45
|
-
'has-rtc-video-track': typeof
|
|
46
|
-
'has-rtc-audio-track': typeof
|
|
47
|
-
'has-rtc-media-track': typeof
|
|
48
|
-
'rtc-page-hostname': typeof
|
|
49
|
-
'rtc-page-regex': typeof
|
|
50
|
-
'rtc-user-agent-regex': typeof
|
|
44
|
+
'has-rtc-data-channel': typeof HasDataChannelMatcher;
|
|
45
|
+
'has-rtc-video-track': typeof HasVideoTrackMatcher;
|
|
46
|
+
'has-rtc-audio-track': typeof HasAudioTrackMatcher;
|
|
47
|
+
'has-rtc-media-track': typeof HasMediaTrackMatcher;
|
|
48
|
+
'rtc-page-hostname': typeof HostnameMatcher;
|
|
49
|
+
'rtc-page-regex': typeof UrlRegexMatcher;
|
|
50
|
+
'rtc-user-agent-regex': typeof UserAgentRegexMatcher;
|
|
51
51
|
};
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MatcherDefinitionLookup = exports.
|
|
7
|
+
exports.MatcherDefinitionLookup = exports.UserAgentRegexMatcher = exports.UrlRegexMatcher = exports.HostnameMatcher = exports.HasMediaTrackMatcher = exports.HasAudioTrackMatcher = exports.HasVideoTrackMatcher = exports.HasDataChannelMatcher = exports.Serializable = void 0;
|
|
8
8
|
const PluggableAdmin = require("mockttp/dist/pluggable-admin-api/pluggable-admin.browser");
|
|
9
9
|
exports.Serializable = PluggableAdmin.Serialization.Serializable;
|
|
10
|
-
class
|
|
10
|
+
class HasDataChannelMatcher extends exports.Serializable {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this.type = 'has-rtc-data-channel';
|
|
@@ -16,8 +16,8 @@ class HasDataChannelMatcherDefinition extends exports.Serializable {
|
|
|
16
16
|
return `with a data channel`;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
exports.
|
|
20
|
-
class
|
|
19
|
+
exports.HasDataChannelMatcher = HasDataChannelMatcher;
|
|
20
|
+
class HasVideoTrackMatcher extends exports.Serializable {
|
|
21
21
|
constructor() {
|
|
22
22
|
super(...arguments);
|
|
23
23
|
this.type = 'has-rtc-video-track';
|
|
@@ -26,8 +26,8 @@ class HasVideoTrackMatcherDefinition extends exports.Serializable {
|
|
|
26
26
|
return `with a video track`;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
exports.
|
|
30
|
-
class
|
|
29
|
+
exports.HasVideoTrackMatcher = HasVideoTrackMatcher;
|
|
30
|
+
class HasAudioTrackMatcher extends exports.Serializable {
|
|
31
31
|
constructor() {
|
|
32
32
|
super(...arguments);
|
|
33
33
|
this.type = 'has-rtc-audio-track';
|
|
@@ -36,8 +36,8 @@ class HasAudioTrackMatcherDefinition extends exports.Serializable {
|
|
|
36
36
|
return `with an audio track`;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
exports.
|
|
40
|
-
class
|
|
39
|
+
exports.HasAudioTrackMatcher = HasAudioTrackMatcher;
|
|
40
|
+
class HasMediaTrackMatcher extends exports.Serializable {
|
|
41
41
|
constructor() {
|
|
42
42
|
super(...arguments);
|
|
43
43
|
this.type = 'has-rtc-media-track';
|
|
@@ -46,8 +46,8 @@ class HasMediaTrackMatcherDefinition extends exports.Serializable {
|
|
|
46
46
|
return `with any media track`;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
exports.
|
|
50
|
-
class
|
|
49
|
+
exports.HasMediaTrackMatcher = HasMediaTrackMatcher;
|
|
50
|
+
class HostnameMatcher extends exports.Serializable {
|
|
51
51
|
constructor(hostname) {
|
|
52
52
|
super();
|
|
53
53
|
this.hostname = hostname;
|
|
@@ -57,8 +57,8 @@ class HostnameMatcherDefinition extends exports.Serializable {
|
|
|
57
57
|
return `from a page on ${this.hostname}`;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
exports.
|
|
61
|
-
class
|
|
60
|
+
exports.HostnameMatcher = HostnameMatcher;
|
|
61
|
+
class UrlRegexMatcher extends exports.Serializable {
|
|
62
62
|
constructor(regex) {
|
|
63
63
|
super();
|
|
64
64
|
this.type = 'rtc-page-regex';
|
|
@@ -69,8 +69,8 @@ class UrlRegexMatcherDefinition extends exports.Serializable {
|
|
|
69
69
|
return `from a page with URL matching /${this.regexSource}/${this.regexFlags}`;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
exports.
|
|
73
|
-
class
|
|
72
|
+
exports.UrlRegexMatcher = UrlRegexMatcher;
|
|
73
|
+
class UserAgentRegexMatcher extends exports.Serializable {
|
|
74
74
|
constructor(regex) {
|
|
75
75
|
super();
|
|
76
76
|
this.type = 'rtc-user-agent-regex';
|
|
@@ -81,14 +81,14 @@ class UserAgentRegexMatcherDefinition extends exports.Serializable {
|
|
|
81
81
|
return `from a user agent matching /${this.regexSource}/${this.regexFlags}`;
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
exports.
|
|
84
|
+
exports.UserAgentRegexMatcher = UserAgentRegexMatcher;
|
|
85
85
|
exports.MatcherDefinitionLookup = {
|
|
86
|
-
'has-rtc-data-channel':
|
|
87
|
-
'has-rtc-video-track':
|
|
88
|
-
'has-rtc-audio-track':
|
|
89
|
-
'has-rtc-media-track':
|
|
90
|
-
'rtc-page-hostname':
|
|
91
|
-
'rtc-page-regex':
|
|
92
|
-
'rtc-user-agent-regex':
|
|
86
|
+
'has-rtc-data-channel': HasDataChannelMatcher,
|
|
87
|
+
'has-rtc-video-track': HasVideoTrackMatcher,
|
|
88
|
+
'has-rtc-audio-track': HasAudioTrackMatcher,
|
|
89
|
+
'has-rtc-media-track': HasMediaTrackMatcher,
|
|
90
|
+
'rtc-page-hostname': HostnameMatcher,
|
|
91
|
+
'rtc-page-regex': UrlRegexMatcher,
|
|
92
|
+
'rtc-user-agent-regex': UserAgentRegexMatcher
|
|
93
93
|
};
|
|
94
94
|
//# sourceMappingURL=matcher-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher-definitions.js","sourceRoot":"","sources":["../../src/matching/matcher-definitions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2FAA2F;AAG5E,oBAAY,GAAK,cAAc,CAAC,aAAa,cAAC;AAM7D,MAAa
|
|
1
|
+
{"version":3,"file":"matcher-definitions.js","sourceRoot":"","sources":["../../src/matching/matcher-definitions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2FAA2F;AAG5E,oBAAY,GAAK,cAAc,CAAC,aAAa,cAAC;AAM7D,MAAa,qBAAsB,SAAQ,oBAAY;IAAvD;;QACa,SAAI,GAAG,sBAAsB,CAAC;IAK3C,CAAC;IAHG,OAAO;QACH,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ;AAND,sDAMC;AAED,MAAa,oBAAqB,SAAQ,oBAAY;IAAtD;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,oBAAoB,CAAC;IAChC,CAAC;CACJ;AAND,oDAMC;AAED,MAAa,oBAAqB,SAAQ,oBAAY;IAAtD;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ;AAND,oDAMC;AAED,MAAa,oBAAqB,SAAQ,oBAAY;IAAtD;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,sBAAsB,CAAC;IAClC,CAAC;CACJ;AAND,oDAMC;AAED,MAAa,eAAgB,SAAQ,oBAAY;IAI7C,YACoB,QAAgB;QAEhC,KAAK,EAAE,CAAC;QAFQ,aAAQ,GAAR,QAAQ,CAAQ;QAH3B,SAAI,GAAG,mBAAmB,CAAC;IAMpC,CAAC;IAED,OAAO;QACH,OAAO,kBAAkB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7C,CAAC;CAEJ;AAdD,0CAcC;AAED,MAAa,eAAgB,SAAQ,oBAAY;IAO7C,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QANH,SAAI,GAAG,gBAAgB,CAAC;QAO7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,OAAO;QACH,OAAO,kCAAkC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACnF,CAAC;CAEJ;AAjBD,0CAiBC;AAED,MAAa,qBAAuB,SAAQ,oBAAY;IAOpD,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QANH,SAAI,GAAG,sBAAsB,CAAC;QAOnC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,OAAO;QACH,OAAO,+BAA+B,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IAChF,CAAC;CAEJ;AAjBD,sDAiBC;AAEY,QAAA,uBAAuB,GAAG;IACnC,sBAAsB,EAAE,qBAAqB;IAC7C,qBAAqB,EAAE,oBAAoB;IAC3C,qBAAqB,EAAE,oBAAoB;IAC3C,qBAAqB,EAAE,oBAAoB;IAC3C,mBAAmB,EAAE,eAAe;IACpC,gBAAgB,EAAE,eAAe;IACjC,sBAAsB,EAAE,qBAAqB;CAChD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RTCConnection } from "../webrtc/rtc-connection";
|
|
2
|
+
import { MatcherDefinition, MatcherDefinitionLookup, HasAudioTrackMatcher, HasDataChannelMatcher, HasMediaTrackMatcher, HasVideoTrackMatcher, HostnameMatcher, UrlRegexMatcher, UserAgentRegexMatcher } from "./matcher-definitions";
|
|
3
|
+
export interface MatcherImpl extends MatcherDefinition {
|
|
4
|
+
matches(connection: RTCConnection): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class HasDataChannelMatcherImpl extends HasDataChannelMatcher {
|
|
7
|
+
matches(connection: RTCConnection): boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class HasVideoTrackMatcherImpl extends HasVideoTrackMatcher {
|
|
10
|
+
matches(connection: RTCConnection): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class HasAudioTrackMatcherImpl extends HasAudioTrackMatcher {
|
|
13
|
+
matches(connection: RTCConnection): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class HasMediaTrackMatcherImpl extends HasMediaTrackMatcher {
|
|
16
|
+
matches(connection: RTCConnection): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class HostnameMatcherImpl extends HostnameMatcher {
|
|
19
|
+
matches(connection: RTCConnection): boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class UrlRegexMatcherImpl extends UrlRegexMatcher {
|
|
22
|
+
matches(connection: RTCConnection): boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class UserAgentRegexMatcherImpl extends UserAgentRegexMatcher {
|
|
25
|
+
matches(connection: RTCConnection): boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const MatcherLookup: typeof MatcherDefinitionLookup;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SPDX-FileCopyrightText: 2022 Tim Perry <tim@httptoolkit.tech>
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MatcherLookup = exports.UserAgentRegexMatcherImpl = exports.UrlRegexMatcherImpl = exports.HostnameMatcherImpl = exports.HasMediaTrackMatcherImpl = exports.HasAudioTrackMatcherImpl = exports.HasVideoTrackMatcherImpl = exports.HasDataChannelMatcherImpl = void 0;
|
|
8
|
+
const matcher_definitions_1 = require("./matcher-definitions");
|
|
9
|
+
class HasDataChannelMatcherImpl extends matcher_definitions_1.HasDataChannelMatcher {
|
|
10
|
+
matches(connection) {
|
|
11
|
+
return [
|
|
12
|
+
...connection.getLocalDescription().parsedSdp.media,
|
|
13
|
+
...connection.getRemoteDescription().parsedSdp.media
|
|
14
|
+
].some(media => media.type === 'application');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.HasDataChannelMatcherImpl = HasDataChannelMatcherImpl;
|
|
18
|
+
class HasVideoTrackMatcherImpl extends matcher_definitions_1.HasVideoTrackMatcher {
|
|
19
|
+
matches(connection) {
|
|
20
|
+
return [
|
|
21
|
+
...connection.getLocalDescription().parsedSdp.media,
|
|
22
|
+
...connection.getRemoteDescription().parsedSdp.media
|
|
23
|
+
].some(media => media.type === 'video');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.HasVideoTrackMatcherImpl = HasVideoTrackMatcherImpl;
|
|
27
|
+
class HasAudioTrackMatcherImpl extends matcher_definitions_1.HasAudioTrackMatcher {
|
|
28
|
+
matches(connection) {
|
|
29
|
+
return [
|
|
30
|
+
...connection.getLocalDescription().parsedSdp.media,
|
|
31
|
+
...connection.getRemoteDescription().parsedSdp.media
|
|
32
|
+
].some(media => media.type === 'audio');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.HasAudioTrackMatcherImpl = HasAudioTrackMatcherImpl;
|
|
36
|
+
class HasMediaTrackMatcherImpl extends matcher_definitions_1.HasMediaTrackMatcher {
|
|
37
|
+
matches(connection) {
|
|
38
|
+
return [
|
|
39
|
+
...connection.getLocalDescription().parsedSdp.media,
|
|
40
|
+
...connection.getRemoteDescription().parsedSdp.media
|
|
41
|
+
].some(media => media.type === 'video' || media.type === 'audio');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.HasMediaTrackMatcherImpl = HasMediaTrackMatcherImpl;
|
|
45
|
+
const getConnectionSourceURL = (connection) => {
|
|
46
|
+
const { sourceURL } = connection.metadata;
|
|
47
|
+
if (!sourceURL)
|
|
48
|
+
return;
|
|
49
|
+
try {
|
|
50
|
+
return new URL(sourceURL);
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
console.warn('Unparseable RTC source URL:', e);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
class HostnameMatcherImpl extends matcher_definitions_1.HostnameMatcher {
|
|
58
|
+
matches(connection) {
|
|
59
|
+
const url = getConnectionSourceURL(connection);
|
|
60
|
+
return (url === null || url === void 0 ? void 0 : url.hostname) === this.hostname;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.HostnameMatcherImpl = HostnameMatcherImpl;
|
|
64
|
+
class UrlRegexMatcherImpl extends matcher_definitions_1.UrlRegexMatcher {
|
|
65
|
+
matches(connection) {
|
|
66
|
+
const url = getConnectionSourceURL(connection);
|
|
67
|
+
return !!(url === null || url === void 0 ? void 0 : url.toString().match(new RegExp(this.regexSource, this.regexFlags)));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.UrlRegexMatcherImpl = UrlRegexMatcherImpl;
|
|
71
|
+
class UserAgentRegexMatcherImpl extends matcher_definitions_1.UserAgentRegexMatcher {
|
|
72
|
+
matches(connection) {
|
|
73
|
+
const userAgent = connection.metadata.userAgent;
|
|
74
|
+
return !!(userAgent === null || userAgent === void 0 ? void 0 : userAgent.match(new RegExp(this.regexSource, this.regexFlags)));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.UserAgentRegexMatcherImpl = UserAgentRegexMatcherImpl;
|
|
78
|
+
exports.MatcherLookup = {
|
|
79
|
+
'has-rtc-data-channel': HasDataChannelMatcherImpl,
|
|
80
|
+
'has-rtc-video-track': HasVideoTrackMatcherImpl,
|
|
81
|
+
'has-rtc-audio-track': HasAudioTrackMatcherImpl,
|
|
82
|
+
'has-rtc-media-track': HasMediaTrackMatcherImpl,
|
|
83
|
+
'rtc-page-hostname': HostnameMatcherImpl,
|
|
84
|
+
'rtc-page-regex': UrlRegexMatcherImpl,
|
|
85
|
+
'rtc-user-agent-regex': UserAgentRegexMatcherImpl
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=matcher-impls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher-impls.js","sourceRoot":"","sources":["../../src/matching/matcher-impls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { RTCConnection } from "../webrtc/rtc-connection";
|
|
2
|
-
import { MatcherDefinition, MatcherDefinitionLookup,
|
|
3
|
-
export interface
|
|
2
|
+
import { MatcherDefinition, MatcherDefinitionLookup, HasAudioTrackMatcher, HasDataChannelMatcher, HasMediaTrackMatcher, HasVideoTrackMatcher, HostnameMatcher, UrlRegexMatcher, UserAgentRegexMatcher } from "./matcher-definition-impls";
|
|
3
|
+
export interface MatcherImpl extends MatcherDefinition {
|
|
4
4
|
matches(connection: RTCConnection): boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class HasDataChannelMatcherImpl extends HasDataChannelMatcher {
|
|
7
7
|
matches(connection: RTCConnection): boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare class
|
|
9
|
+
export declare class HasVideoTrackMatcherImpl extends HasVideoTrackMatcher {
|
|
10
10
|
matches(connection: RTCConnection): boolean;
|
|
11
11
|
}
|
|
12
|
-
export declare class
|
|
12
|
+
export declare class HasAudioTrackMatcherImpl extends HasAudioTrackMatcher {
|
|
13
13
|
matches(connection: RTCConnection): boolean;
|
|
14
14
|
}
|
|
15
|
-
export declare class
|
|
15
|
+
export declare class HasMediaTrackMatcherImpl extends HasMediaTrackMatcher {
|
|
16
16
|
matches(connection: RTCConnection): boolean;
|
|
17
17
|
}
|
|
18
|
-
export declare class
|
|
18
|
+
export declare class HostnameMatcherImpl extends HostnameMatcher {
|
|
19
19
|
matches(connection: RTCConnection): boolean;
|
|
20
20
|
}
|
|
21
|
-
export declare class
|
|
21
|
+
export declare class UrlRegexMatcherImpl extends UrlRegexMatcher {
|
|
22
22
|
matches(connection: RTCConnection): boolean;
|
|
23
23
|
}
|
|
24
|
-
export declare class
|
|
24
|
+
export declare class UserAgentRegexMatcherImpl extends UserAgentRegexMatcher {
|
|
25
25
|
matches(connection: RTCConnection): boolean;
|
|
26
26
|
}
|
|
27
27
|
export declare const MatcherLookup: typeof MatcherDefinitionLookup;
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.MatcherLookup = exports.
|
|
8
|
-
const
|
|
9
|
-
class
|
|
7
|
+
exports.MatcherLookup = exports.UserAgentRegexMatcherImpl = exports.UrlRegexMatcherImpl = exports.HostnameMatcherImpl = exports.HasMediaTrackMatcherImpl = exports.HasAudioTrackMatcherImpl = exports.HasVideoTrackMatcherImpl = exports.HasDataChannelMatcherImpl = void 0;
|
|
8
|
+
const matcher_definition_impls_1 = require("./matcher-definition-impls");
|
|
9
|
+
class HasDataChannelMatcherImpl extends matcher_definition_impls_1.HasDataChannelMatcher {
|
|
10
10
|
matches(connection) {
|
|
11
11
|
return [
|
|
12
12
|
...connection.getLocalDescription().parsedSdp.media,
|
|
@@ -14,8 +14,8 @@ class HasDataChannelMatcher extends matcher_definitions_1.HasDataChannelMatcherD
|
|
|
14
14
|
].some(media => media.type === 'application');
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
exports.
|
|
18
|
-
class
|
|
17
|
+
exports.HasDataChannelMatcherImpl = HasDataChannelMatcherImpl;
|
|
18
|
+
class HasVideoTrackMatcherImpl extends matcher_definition_impls_1.HasVideoTrackMatcher {
|
|
19
19
|
matches(connection) {
|
|
20
20
|
return [
|
|
21
21
|
...connection.getLocalDescription().parsedSdp.media,
|
|
@@ -23,8 +23,8 @@ class HasVideoTrackMatcher extends matcher_definitions_1.HasVideoTrackMatcherDef
|
|
|
23
23
|
].some(media => media.type === 'video');
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
exports.
|
|
27
|
-
class
|
|
26
|
+
exports.HasVideoTrackMatcherImpl = HasVideoTrackMatcherImpl;
|
|
27
|
+
class HasAudioTrackMatcherImpl extends matcher_definition_impls_1.HasAudioTrackMatcher {
|
|
28
28
|
matches(connection) {
|
|
29
29
|
return [
|
|
30
30
|
...connection.getLocalDescription().parsedSdp.media,
|
|
@@ -32,8 +32,8 @@ class HasAudioTrackMatcher extends matcher_definitions_1.HasAudioTrackMatcherDef
|
|
|
32
32
|
].some(media => media.type === 'audio');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
exports.
|
|
36
|
-
class
|
|
35
|
+
exports.HasAudioTrackMatcherImpl = HasAudioTrackMatcherImpl;
|
|
36
|
+
class HasMediaTrackMatcherImpl extends matcher_definition_impls_1.HasMediaTrackMatcher {
|
|
37
37
|
matches(connection) {
|
|
38
38
|
return [
|
|
39
39
|
...connection.getLocalDescription().parsedSdp.media,
|
|
@@ -41,7 +41,7 @@ class HasMediaTrackMatcher extends matcher_definitions_1.HasMediaTrackMatcherDef
|
|
|
41
41
|
].some(media => media.type === 'video' || media.type === 'audio');
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
exports.
|
|
44
|
+
exports.HasMediaTrackMatcherImpl = HasMediaTrackMatcherImpl;
|
|
45
45
|
const getConnectionSourceURL = (connection) => {
|
|
46
46
|
const { sourceURL } = connection.metadata;
|
|
47
47
|
if (!sourceURL)
|
|
@@ -54,34 +54,34 @@ const getConnectionSourceURL = (connection) => {
|
|
|
54
54
|
return;
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
class
|
|
57
|
+
class HostnameMatcherImpl extends matcher_definition_impls_1.HostnameMatcher {
|
|
58
58
|
matches(connection) {
|
|
59
59
|
const url = getConnectionSourceURL(connection);
|
|
60
60
|
return (url === null || url === void 0 ? void 0 : url.hostname) === this.hostname;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
exports.
|
|
64
|
-
class
|
|
63
|
+
exports.HostnameMatcherImpl = HostnameMatcherImpl;
|
|
64
|
+
class UrlRegexMatcherImpl extends matcher_definition_impls_1.UrlRegexMatcher {
|
|
65
65
|
matches(connection) {
|
|
66
66
|
const url = getConnectionSourceURL(connection);
|
|
67
67
|
return !!(url === null || url === void 0 ? void 0 : url.toString().match(new RegExp(this.regexSource, this.regexFlags)));
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
exports.
|
|
71
|
-
class
|
|
70
|
+
exports.UrlRegexMatcherImpl = UrlRegexMatcherImpl;
|
|
71
|
+
class UserAgentRegexMatcherImpl extends matcher_definition_impls_1.UserAgentRegexMatcher {
|
|
72
72
|
matches(connection) {
|
|
73
73
|
const userAgent = connection.metadata.userAgent;
|
|
74
74
|
return !!(userAgent === null || userAgent === void 0 ? void 0 : userAgent.match(new RegExp(this.regexSource, this.regexFlags)));
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
|
-
exports.
|
|
77
|
+
exports.UserAgentRegexMatcherImpl = UserAgentRegexMatcherImpl;
|
|
78
78
|
exports.MatcherLookup = {
|
|
79
|
-
'has-rtc-data-channel':
|
|
80
|
-
'has-rtc-video-track':
|
|
81
|
-
'has-rtc-audio-track':
|
|
82
|
-
'has-rtc-media-track':
|
|
83
|
-
'rtc-page-hostname':
|
|
84
|
-
'rtc-page-regex':
|
|
85
|
-
'rtc-user-agent-regex':
|
|
79
|
+
'has-rtc-data-channel': HasDataChannelMatcherImpl,
|
|
80
|
+
'has-rtc-video-track': HasVideoTrackMatcherImpl,
|
|
81
|
+
'has-rtc-audio-track': HasAudioTrackMatcherImpl,
|
|
82
|
+
'has-rtc-media-track': HasMediaTrackMatcherImpl,
|
|
83
|
+
'rtc-page-hostname': HostnameMatcherImpl,
|
|
84
|
+
'rtc-page-regex': UrlRegexMatcherImpl,
|
|
85
|
+
'rtc-user-agent-regex': UserAgentRegexMatcherImpl
|
|
86
86
|
};
|
|
87
87
|
//# sourceMappingURL=matchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/matching/matchers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/matching/matchers.ts"],"names":[],"mappings":"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"}
|
package/dist/rule-builder.js
CHANGED
|
@@ -40,7 +40,7 @@ class MockRTCRuleBuilder {
|
|
|
40
40
|
* Match RTC connections whose initial negotiation includes a data channel.
|
|
41
41
|
*/
|
|
42
42
|
withDataChannels() {
|
|
43
|
-
this.matchers.push(new matcher_definitions_1.
|
|
43
|
+
this.matchers.push(new matcher_definitions_1.HasDataChannelMatcher());
|
|
44
44
|
return this;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
@@ -48,21 +48,21 @@ class MockRTCRuleBuilder {
|
|
|
48
48
|
* media track.
|
|
49
49
|
*/
|
|
50
50
|
withMedia() {
|
|
51
|
-
this.matchers.push(new matcher_definitions_1.
|
|
51
|
+
this.matchers.push(new matcher_definitions_1.HasMediaTrackMatcher());
|
|
52
52
|
return this;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Match RTC connections whose initial negotiation includes a video media track
|
|
56
56
|
*/
|
|
57
57
|
withVideo() {
|
|
58
|
-
this.matchers.push(new matcher_definitions_1.
|
|
58
|
+
this.matchers.push(new matcher_definitions_1.HasVideoTrackMatcher());
|
|
59
59
|
return this;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Match RTC connections whose initial negotiation includes an audio media track
|
|
63
63
|
*/
|
|
64
64
|
withAudio() {
|
|
65
|
-
this.matchers.push(new matcher_definitions_1.
|
|
65
|
+
this.matchers.push(new matcher_definitions_1.HasAudioTrackMatcher());
|
|
66
66
|
return this;
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
@@ -76,7 +76,7 @@ class MockRTCRuleBuilder {
|
|
|
76
76
|
* @category Matcher
|
|
77
77
|
*/
|
|
78
78
|
fromPageHostname(hostname) {
|
|
79
|
-
this.matchers.push(new matcher_definitions_1.
|
|
79
|
+
this.matchers.push(new matcher_definitions_1.HostnameMatcher(hostname));
|
|
80
80
|
return this;
|
|
81
81
|
}
|
|
82
82
|
/**
|
|
@@ -90,7 +90,7 @@ class MockRTCRuleBuilder {
|
|
|
90
90
|
* @category Matcher
|
|
91
91
|
*/
|
|
92
92
|
fromPageUrlMatching(urlRegex) {
|
|
93
|
-
this.matchers.push(new matcher_definitions_1.
|
|
93
|
+
this.matchers.push(new matcher_definitions_1.UrlRegexMatcher(urlRegex));
|
|
94
94
|
return this;
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
@@ -105,7 +105,7 @@ class MockRTCRuleBuilder {
|
|
|
105
105
|
* @category Matcher
|
|
106
106
|
*/
|
|
107
107
|
fromUserAgentMatching(userAgentRegEx) {
|
|
108
|
-
this.matchers.push(new matcher_definitions_1.
|
|
108
|
+
this.matchers.push(new matcher_definitions_1.UserAgentRegexMatcher(userAgentRegEx));
|
|
109
109
|
return this;
|
|
110
110
|
}
|
|
111
111
|
}
|
package/dist/rule-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-builder.js","sourceRoot":"","sources":["../src/rule-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gEAAmE;AAEnE,wEASwC;AAIxC;;;;GAIG;AACH,MAAa,kBAAkB;IAE3B,YACY,eAGU;QAHV,oBAAe,GAAf,eAAe,CAGL;QAGd,aAAQ,GAAwB,EAAE,CAAC;QAiF3C,kFAAkF;QAClF,gFAAgF;QACxE,0BAAqB,GAAG,CAC5B,UAAa,EACf,EAAE,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE;YACrB,MAAM,cAAc,GAAG,IAAI,uCAAqB,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CACxD,CAAC;YAEF,OAAQ,cAAsB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACxD,CAAC,CAA0B,CAAC;QAE5B,UAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC5C,mBAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,iBAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC1D,uBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;QACtE,qBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAClE,gCAA2B,GAAG,IAAI,CAAC,qBAAqB,CAAC,6BAA6B,CAAC,CAAC;QACxF,sBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;QACpE,SAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC1C,cAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpD,aAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAClD,aAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAClD,kBAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAC5D,oBAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IA3G7D,CAAC;IAIJ;;OAEG;IACH,gBAAgB;QACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"rule-builder.js","sourceRoot":"","sources":["../src/rule-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,5 @@ export declare class MockRTCAdminPlugin implements PluggableAdmin.AdminPlugin<Mo
|
|
|
13
13
|
reset(): void;
|
|
14
14
|
stop(): Promise<void>;
|
|
15
15
|
schema: import("graphql").DocumentNode;
|
|
16
|
-
buildResolvers(adminStream: stream.Duplex
|
|
16
|
+
buildResolvers(adminStream: stream.Duplex): IResolvers;
|
|
17
17
|
}
|
|
@@ -18,9 +18,9 @@ const _ = require("lodash");
|
|
|
18
18
|
const graphql_tag_1 = require("graphql-tag");
|
|
19
19
|
const mockttp_1 = require("mockttp");
|
|
20
20
|
const graphql_subscriptions_1 = require("graphql-subscriptions");
|
|
21
|
-
const
|
|
21
|
+
const handler_step_impls_1 = require("../handling/handler-step-impls");
|
|
22
22
|
const mockrtc_server_1 = require("./mockrtc-server");
|
|
23
|
-
const
|
|
23
|
+
const matcher_impls_1 = require("../matching/matcher-impls");
|
|
24
24
|
const { deserialize } = mockttp_1.PluggableAdmin.Serialization;
|
|
25
25
|
const EVENTS = [
|
|
26
26
|
'peer-connected',
|
|
@@ -215,7 +215,7 @@ class MockRTCAdminPlugin {
|
|
|
215
215
|
stop() {
|
|
216
216
|
return this.mockRTCServer.stop();
|
|
217
217
|
}
|
|
218
|
-
buildResolvers(adminStream
|
|
218
|
+
buildResolvers(adminStream) {
|
|
219
219
|
const pubsub = new graphql_subscriptions_1.PubSub();
|
|
220
220
|
EVENTS.forEach((eventName) => {
|
|
221
221
|
this.mockRTCServer.on(eventName, (peer) => {
|
|
@@ -225,15 +225,15 @@ class MockRTCAdminPlugin {
|
|
|
225
225
|
return {
|
|
226
226
|
Mutation: {
|
|
227
227
|
createPeer: (__, { data: { steps } }) => {
|
|
228
|
-
return this.mockRTCServer.buildPeerFromDefinition(steps.map((stepData) => deserialize(stepData, adminStream,
|
|
228
|
+
return this.mockRTCServer.buildPeerFromDefinition(steps.map((stepData) => deserialize(stepData, adminStream, {}, handler_step_impls_1.StepLookup)));
|
|
229
229
|
},
|
|
230
230
|
addRTCRule: (__, { data: { steps, matchers } }) => {
|
|
231
|
-
return this.mockRTCServer.addRuleFromDefinition(matchers.map((matcherData) => deserialize(matcherData, adminStream,
|
|
231
|
+
return this.mockRTCServer.addRuleFromDefinition(matchers.map((matcherData) => deserialize(matcherData, adminStream, {}, matcher_impls_1.MatcherLookup)), steps.map((stepData) => deserialize(stepData, adminStream, {}, handler_step_impls_1.StepLookup)));
|
|
232
232
|
},
|
|
233
233
|
setRTCRules: (__, { data: rules }) => {
|
|
234
234
|
return this.mockRTCServer.setRulesFromDefinitions(rules.map(({ matchers, steps }) => ({
|
|
235
|
-
matchers: matchers.map((matcherData) => deserialize(matcherData, adminStream,
|
|
236
|
-
steps: steps.map((stepData) => deserialize(stepData, adminStream,
|
|
235
|
+
matchers: matchers.map((matcherData) => deserialize(matcherData, adminStream, {}, matcher_impls_1.MatcherLookup)),
|
|
236
|
+
steps: steps.map((stepData) => deserialize(stepData, adminStream, {}, handler_step_impls_1.StepLookup))
|
|
237
237
|
})));
|
|
238
238
|
},
|
|
239
239
|
createOffer: (__, { peerId, sessionId, options }) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockrtc-admin-plugin.js","sourceRoot":"","sources":["../../src/server/mockrtc-admin-plugin.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,4BAA4B;AAE5B,6CAAkC;AAClC,qCAAyC;AAEzC,iEAA+C;AAE/C,
|
|
1
|
+
{"version":3,"file":"mockrtc-admin-plugin.js","sourceRoot":"","sources":["../../src/server/mockrtc-admin-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from "events";
|
|
3
3
|
import { MockRTCPeer, MockRTCPeerOptions, MockRTCSession, MockRTCAnswerParams, MockRTCOfferParams, MockRTCExternalAnswerParams, MockRTCExternalOfferParams, OfferOptions, AnswerOptions } from "../mockrtc-peer";
|
|
4
|
-
import {
|
|
4
|
+
import { HandlerStepImpl } from '../handling/handler-step-impls';
|
|
5
5
|
import { RTCConnection } from '../webrtc/rtc-connection';
|
|
6
6
|
export declare class MockRTCServerPeer implements MockRTCPeer {
|
|
7
7
|
private getHandlerSteps;
|
|
@@ -11,7 +11,7 @@ export declare class MockRTCServerPeer implements MockRTCPeer {
|
|
|
11
11
|
private debug;
|
|
12
12
|
private readonly connections;
|
|
13
13
|
private readonly unassignedExternalConnections;
|
|
14
|
-
constructor(getHandlerSteps: (conn: RTCConnection) => (
|
|
14
|
+
constructor(getHandlerSteps: (conn: RTCConnection) => (HandlerStepImpl[] | Promise<HandlerStepImpl[]>), options: MockRTCPeerOptions & {
|
|
15
15
|
peerId?: string;
|
|
16
16
|
}, eventEmitter: EventEmitter);
|
|
17
17
|
private trackConnection;
|