mockrtc 0.1.0 → 0.3.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 +2 -2
- package/README.md +2 -2
- package/dist/client/mockrtc-admin-request-builder.d.ts +27 -0
- package/dist/client/mockrtc-admin-request-builder.js +201 -0
- package/dist/client/mockrtc-admin-request-builder.js.map +1 -0
- package/dist/client/mockrtc-client.d.ts +12 -4
- package/dist/client/mockrtc-client.js +38 -22
- package/dist/client/mockrtc-client.js.map +1 -1
- package/dist/client/mockrtc-remote-peer.d.ts +3 -2
- package/dist/client/mockrtc-remote-peer.js.map +1 -1
- package/dist/handling/handler-builder.d.ts +16 -9
- package/dist/handling/handler-builder.js +11 -1
- package/dist/handling/handler-builder.js.map +1 -1
- package/dist/handling/handler-step-definitions.d.ts +43 -25
- package/dist/handling/handler-step-definitions.js +61 -19
- package/dist/handling/handler-step-definitions.js.map +1 -1
- package/dist/handling/handler-steps.d.ts +4 -1
- package/dist/handling/handler-steps.js +27 -17
- package/dist/handling/handler-steps.js.map +1 -1
- package/dist/main-browser.d.ts +3 -0
- package/dist/main-browser.js +6 -1
- package/dist/main-browser.js.map +1 -1
- package/dist/main.d.ts +8 -5
- package/dist/main.js +6 -1
- package/dist/main.js.map +1 -1
- package/dist/matching/matcher-definitions.d.ts +51 -0
- package/dist/matching/matcher-definitions.js +94 -0
- package/dist/matching/matcher-definitions.js.map +1 -0
- package/dist/matching/matchers.d.ts +27 -0
- package/dist/matching/matchers.js +87 -0
- package/dist/matching/matchers.js.map +1 -0
- package/dist/mockrtc-base.d.ts +16 -0
- package/dist/mockrtc-base.js +19 -0
- package/dist/mockrtc-base.js.map +1 -0
- package/dist/mockrtc-peer.d.ts +44 -6
- package/dist/mockrtc.d.ts +200 -1
- package/dist/mockrtc.js +1 -0
- package/dist/mockrtc.js.map +1 -1
- package/dist/rule-builder.d.ts +86 -0
- package/dist/rule-builder.js +113 -0
- package/dist/rule-builder.js.map +1 -0
- package/dist/server/mockrtc-admin-plugin.d.ts +2 -2
- package/dist/server/mockrtc-admin-plugin.js +165 -3
- package/dist/server/mockrtc-admin-plugin.js.map +1 -1
- package/dist/server/mockrtc-server-peer.d.ts +8 -2
- package/dist/server/mockrtc-server-peer.js +119 -6
- package/dist/server/mockrtc-server-peer.js.map +1 -1
- package/dist/server/mockrtc-server.d.ts +20 -5
- package/dist/server/mockrtc-server.js +87 -14
- package/dist/server/mockrtc-server.js.map +1 -1
- package/dist/webrtc/datachannel-stream.d.ts +4 -0
- package/dist/webrtc/datachannel-stream.js +27 -1
- package/dist/webrtc/datachannel-stream.js.map +1 -1
- package/dist/webrtc/mediatrack-stream.d.ts +6 -0
- package/dist/webrtc/mediatrack-stream.js +28 -2
- package/dist/webrtc/mediatrack-stream.js.map +1 -1
- package/dist/webrtc/mockrtc-connection.d.ts +1 -1
- package/dist/webrtc/mockrtc-connection.js +77 -60
- package/dist/webrtc/mockrtc-connection.js.map +1 -1
- package/dist/webrtc/rtc-connection.d.ts +28 -5
- package/dist/webrtc/rtc-connection.js +62 -23
- package/dist/webrtc/rtc-connection.js.map +1 -1
- package/dist/webrtc-hooks.js +10 -2
- package/dist/webrtc-hooks.js.map +1 -1
- package/package.json +12 -6
- package/src/client/mockrtc-admin-request-builder.ts +232 -0
- package/src/client/mockrtc-client.ts +50 -28
- package/src/client/mockrtc-remote-peer.ts +9 -8
- package/src/handling/handler-builder.ts +22 -10
- package/src/handling/handler-step-definitions.ts +87 -27
- package/src/handling/handler-steps.ts +34 -20
- package/src/main-browser.ts +5 -0
- package/src/main.ts +23 -5
- package/src/matching/matcher-definitions.ts +109 -0
- package/src/matching/matchers.ts +118 -0
- package/src/mockrtc-base.ts +49 -0
- package/src/mockrtc-peer.ts +48 -6
- package/src/mockrtc.ts +235 -1
- package/src/rule-builder.ts +142 -0
- package/src/server/mockrtc-admin-plugin.ts +200 -9
- package/src/server/mockrtc-server-peer.ts +194 -7
- package/src/server/mockrtc-server.ts +136 -19
- package/src/webrtc/datachannel-stream.ts +31 -1
- package/src/webrtc/mediatrack-stream.ts +31 -4
- package/src/webrtc/mockrtc-connection.ts +22 -7
- package/src/webrtc/rtc-connection.ts +111 -29
- package/src/webrtc-hooks.ts +13 -4
- package/test/integration/events.spec.ts +538 -0
- package/test/integration/matching.spec.ts +257 -0
- package/test/integration/proxy.spec.ts +68 -1
- package/test/integration/send-steps.spec.ts +25 -0
- package/test/test-setup.ts +19 -0
|
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.StepDefinitionLookup = exports.DynamicProxyStepDefinition = exports.PeerProxyStepDefinition = exports.EchoStepDefinition = exports.CloseStepDefinition = exports.SendStepDefinition = exports.WaitForMediaStepDefinition = exports.WaitForTrackStepDefinition = exports.WaitForMessageStepDefinition = exports.WaitForChannelStepDefinition = exports.WaitForDurationStepDefinition = exports.Serializable = void 0;
|
|
16
|
+
exports.StepDefinitionLookup = exports.DynamicProxyStepDefinition = exports.PeerProxyStepDefinition = exports.EchoStepDefinition = exports.CloseStepDefinition = exports.SendStepDefinition = exports.CreateChannelStepDefinition = exports.WaitForMediaStepDefinition = exports.WaitForTrackStepDefinition = exports.WaitForMessageStepDefinition = exports.WaitForChannelStepDefinition = exports.WaitForDurationStepDefinition = exports.Serializable = void 0;
|
|
17
17
|
const PluggableAdmin = require("mockttp/dist/pluggable-admin-api/pluggable-admin.browser");
|
|
18
18
|
exports.Serializable = PluggableAdmin.Serialization.Serializable;
|
|
19
19
|
class WaitForDurationStepDefinition extends exports.Serializable {
|
|
@@ -22,13 +22,19 @@ class WaitForDurationStepDefinition extends exports.Serializable {
|
|
|
22
22
|
this.durationMs = durationMs;
|
|
23
23
|
this.type = 'wait-for-duration';
|
|
24
24
|
}
|
|
25
|
+
explain() {
|
|
26
|
+
return `wait for ${this.durationMs}ms`;
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
29
|
exports.WaitForDurationStepDefinition = WaitForDurationStepDefinition;
|
|
27
30
|
class WaitForChannelStepDefinition extends exports.Serializable {
|
|
28
31
|
constructor(channelLabel) {
|
|
29
32
|
super();
|
|
30
33
|
this.channelLabel = channelLabel;
|
|
31
|
-
this.type = 'wait-for-channel';
|
|
34
|
+
this.type = 'wait-for-rtc-data-channel';
|
|
35
|
+
}
|
|
36
|
+
explain() {
|
|
37
|
+
return `wait for an RTC channel${this.channelLabel ? ` labelled '${this.channelLabel}'` : ''}`;
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
40
|
exports.WaitForChannelStepDefinition = WaitForChannelStepDefinition;
|
|
@@ -36,51 +42,80 @@ class WaitForMessageStepDefinition extends exports.Serializable {
|
|
|
36
42
|
constructor(channelLabel) {
|
|
37
43
|
super();
|
|
38
44
|
this.channelLabel = channelLabel;
|
|
39
|
-
this.type = 'wait-for-message';
|
|
45
|
+
this.type = 'wait-for-rtc-message';
|
|
46
|
+
}
|
|
47
|
+
explain() {
|
|
48
|
+
return `wait for an RTC message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
exports.WaitForMessageStepDefinition = WaitForMessageStepDefinition;
|
|
43
52
|
class WaitForTrackStepDefinition extends exports.Serializable {
|
|
44
53
|
constructor() {
|
|
45
54
|
super(...arguments);
|
|
46
|
-
this.type = 'wait-for-track';
|
|
55
|
+
this.type = 'wait-for-rtc-track';
|
|
56
|
+
}
|
|
57
|
+
explain() {
|
|
58
|
+
return `wait for an RTC track`;
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
exports.WaitForTrackStepDefinition = WaitForTrackStepDefinition;
|
|
50
62
|
class WaitForMediaStepDefinition extends exports.Serializable {
|
|
51
63
|
constructor() {
|
|
52
64
|
super(...arguments);
|
|
53
|
-
this.type = 'wait-for-media';
|
|
65
|
+
this.type = 'wait-for-rtc-media';
|
|
66
|
+
}
|
|
67
|
+
explain() {
|
|
68
|
+
return `wait for RTC media data`;
|
|
54
69
|
}
|
|
55
70
|
}
|
|
56
71
|
exports.WaitForMediaStepDefinition = WaitForMediaStepDefinition;
|
|
72
|
+
class CreateChannelStepDefinition extends exports.Serializable {
|
|
73
|
+
constructor(channelLabel) {
|
|
74
|
+
super();
|
|
75
|
+
this.channelLabel = channelLabel;
|
|
76
|
+
this.type = 'create-rtc-data-channel';
|
|
77
|
+
}
|
|
78
|
+
explain() {
|
|
79
|
+
return `create an RTC data channel labelled '${this.channelLabel}'`;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.CreateChannelStepDefinition = CreateChannelStepDefinition;
|
|
57
83
|
class SendStepDefinition extends exports.Serializable {
|
|
58
84
|
constructor(channelLabel, message) {
|
|
59
85
|
super();
|
|
60
86
|
this.channelLabel = channelLabel;
|
|
61
87
|
this.message = message;
|
|
62
|
-
this.type = 'send-message';
|
|
88
|
+
this.type = 'send-rtc-data-message';
|
|
89
|
+
}
|
|
90
|
+
explain() {
|
|
91
|
+
return `send an RTC data message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
|
|
63
92
|
}
|
|
64
93
|
}
|
|
65
94
|
exports.SendStepDefinition = SendStepDefinition;
|
|
66
95
|
class CloseStepDefinition extends exports.Serializable {
|
|
67
96
|
constructor() {
|
|
68
97
|
super(...arguments);
|
|
69
|
-
this.type = 'close-connection';
|
|
98
|
+
this.type = 'close-rtc-connection';
|
|
99
|
+
}
|
|
100
|
+
explain() {
|
|
101
|
+
return `close the RTC connection`;
|
|
70
102
|
}
|
|
71
103
|
}
|
|
72
104
|
exports.CloseStepDefinition = CloseStepDefinition;
|
|
73
105
|
class EchoStepDefinition extends exports.Serializable {
|
|
74
106
|
constructor() {
|
|
75
107
|
super(...arguments);
|
|
76
|
-
this.type = 'echo-
|
|
108
|
+
this.type = 'echo-rtc';
|
|
109
|
+
}
|
|
110
|
+
explain() {
|
|
111
|
+
return `echo all RTC media & data`;
|
|
77
112
|
}
|
|
78
113
|
}
|
|
79
114
|
exports.EchoStepDefinition = EchoStepDefinition;
|
|
80
115
|
class PeerProxyStepDefinition extends exports.Serializable {
|
|
81
116
|
constructor(connectionTarget) {
|
|
82
117
|
super();
|
|
83
|
-
this.type = 'peer-proxy';
|
|
118
|
+
this.type = 'rtc-peer-proxy';
|
|
84
119
|
if (connectionTarget instanceof Function) {
|
|
85
120
|
this.getAnswer = connectionTarget;
|
|
86
121
|
}
|
|
@@ -93,6 +128,9 @@ class PeerProxyStepDefinition extends exports.Serializable {
|
|
|
93
128
|
});
|
|
94
129
|
}
|
|
95
130
|
}
|
|
131
|
+
explain() {
|
|
132
|
+
return `proxy the RTC connection to the configured peer`;
|
|
133
|
+
}
|
|
96
134
|
serialize(channel) {
|
|
97
135
|
channel.onRequest((msg) => __awaiter(this, void 0, void 0, function* () {
|
|
98
136
|
return { answer: yield this.getAnswer(msg.offer) };
|
|
@@ -104,20 +142,24 @@ exports.PeerProxyStepDefinition = PeerProxyStepDefinition;
|
|
|
104
142
|
class DynamicProxyStepDefinition extends exports.Serializable {
|
|
105
143
|
constructor() {
|
|
106
144
|
super(...arguments);
|
|
107
|
-
this.type = 'dynamic-proxy';
|
|
145
|
+
this.type = 'rtc-dynamic-proxy';
|
|
146
|
+
}
|
|
147
|
+
explain() {
|
|
148
|
+
return `proxy the RTC connection to a remote peer`;
|
|
108
149
|
}
|
|
109
150
|
}
|
|
110
151
|
exports.DynamicProxyStepDefinition = DynamicProxyStepDefinition;
|
|
111
152
|
exports.StepDefinitionLookup = {
|
|
112
153
|
'wait-for-duration': WaitForDurationStepDefinition,
|
|
113
|
-
'wait-for-channel': WaitForChannelStepDefinition,
|
|
114
|
-
'wait-for-track': WaitForTrackStepDefinition,
|
|
115
|
-
'wait-for-media': WaitForMediaStepDefinition,
|
|
116
|
-
'wait-for-message': WaitForMessageStepDefinition,
|
|
117
|
-
'
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'
|
|
121
|
-
'
|
|
154
|
+
'wait-for-rtc-data-channel': WaitForChannelStepDefinition,
|
|
155
|
+
'wait-for-rtc-track': WaitForTrackStepDefinition,
|
|
156
|
+
'wait-for-rtc-media': WaitForMediaStepDefinition,
|
|
157
|
+
'wait-for-rtc-message': WaitForMessageStepDefinition,
|
|
158
|
+
'create-rtc-data-channel': CreateChannelStepDefinition,
|
|
159
|
+
'send-rtc-data-message': SendStepDefinition,
|
|
160
|
+
'close-rtc-connection': CloseStepDefinition,
|
|
161
|
+
'echo-rtc': EchoStepDefinition,
|
|
162
|
+
'rtc-peer-proxy': PeerProxyStepDefinition,
|
|
163
|
+
'rtc-dynamic-proxy': DynamicProxyStepDefinition
|
|
122
164
|
};
|
|
123
165
|
//# sourceMappingURL=handler-step-definitions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-step-definitions.js","sourceRoot":"","sources":["../../src/handling/handler-step-definitions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,2FAA2F;
|
|
1
|
+
{"version":3,"file":"handler-step-definitions.js","sourceRoot":"","sources":["../../src/handling/handler-step-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PluggableAdmin } from 'mockttp';
|
|
2
2
|
import type { MockRTCConnection } from '../webrtc/mockrtc-connection';
|
|
3
|
-
import { StepDefinitionLookup, CloseStepDefinition, DynamicProxyStepDefinition, EchoStepDefinition, HandlerStepDefinition, PeerProxyStepDefinition, SendStepDefinition, WaitForChannelStepDefinition, WaitForDurationStepDefinition, WaitForMediaStepDefinition, WaitForMessageStepDefinition, WaitForTrackStepDefinition } from './handler-step-definitions';
|
|
3
|
+
import { StepDefinitionLookup, CloseStepDefinition, DynamicProxyStepDefinition, EchoStepDefinition, HandlerStepDefinition, PeerProxyStepDefinition, CreateChannelStepDefinition, SendStepDefinition, WaitForChannelStepDefinition, WaitForDurationStepDefinition, WaitForMediaStepDefinition, WaitForMessageStepDefinition, WaitForTrackStepDefinition } from './handler-step-definitions';
|
|
4
4
|
declare type ClientServerChannel = PluggableAdmin.Serialization.ClientServerChannel;
|
|
5
5
|
export interface HandlerStep extends HandlerStepDefinition {
|
|
6
6
|
handle(connection: MockRTCConnection): Promise<void>;
|
|
@@ -22,6 +22,9 @@ export declare class WaitForTrackStep extends WaitForTrackStepDefinition {
|
|
|
22
22
|
export declare class WaitForMediaStep extends WaitForMediaStepDefinition {
|
|
23
23
|
handle(connection: MockRTCConnection): Promise<void>;
|
|
24
24
|
}
|
|
25
|
+
export declare class CreateChannelStep extends CreateChannelStepDefinition {
|
|
26
|
+
handle(conn: MockRTCConnection): Promise<void>;
|
|
27
|
+
}
|
|
25
28
|
export declare class SendStep extends SendStepDefinition {
|
|
26
29
|
private matchesChannel;
|
|
27
30
|
handle({ channels }: MockRTCConnection): Promise<void>;
|
|
@@ -13,7 +13,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.StepLookup = exports.DynamicProxyStep = exports.PeerProxyStep = exports.EchoStep = exports.CloseStep = exports.SendStep = exports.WaitForMediaStep = exports.WaitForTrackStep = exports.WaitForMessageStep = exports.WaitForChannelStep = exports.WaitForDurationStep = void 0;
|
|
16
|
+
exports.StepLookup = exports.DynamicProxyStep = exports.PeerProxyStep = exports.EchoStep = exports.CloseStep = exports.SendStep = exports.CreateChannelStep = exports.WaitForMediaStep = exports.WaitForTrackStep = exports.WaitForMessageStep = exports.WaitForChannelStep = exports.WaitForDurationStep = void 0;
|
|
17
17
|
const rtc_connection_1 = require("../webrtc/rtc-connection");
|
|
18
18
|
const handler_step_definitions_1 = require("./handler-step-definitions");
|
|
19
19
|
class WaitForDurationStep extends handler_step_definitions_1.WaitForDurationStepDefinition {
|
|
@@ -52,7 +52,7 @@ class WaitForMessageStep extends handler_step_definitions_1.WaitForMessageStepDe
|
|
|
52
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
53
|
return new Promise((resolve) => {
|
|
54
54
|
const messageReceived = () => {
|
|
55
|
-
connection.removeListener('channel-
|
|
55
|
+
connection.removeListener('channel-created', listenForMessage);
|
|
56
56
|
connection.channels.forEach((channel) => {
|
|
57
57
|
channel.removeListener('data', messageReceived);
|
|
58
58
|
channel.pause();
|
|
@@ -64,7 +64,7 @@ class WaitForMessageStep extends handler_step_definitions_1.WaitForMessageStepDe
|
|
|
64
64
|
channel.once('data', messageReceived);
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
|
-
connection.on('channel-
|
|
67
|
+
connection.on('channel-created', listenForMessage);
|
|
68
68
|
connection.channels.forEach(listenForMessage);
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -89,7 +89,7 @@ class WaitForMediaStep extends handler_step_definitions_1.WaitForMediaStepDefini
|
|
|
89
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
90
|
return new Promise((resolve) => {
|
|
91
91
|
const messageReceived = () => {
|
|
92
|
-
connection.removeListener('track-
|
|
92
|
+
connection.removeListener('track-created', listenForData);
|
|
93
93
|
connection.mediaTracks.forEach((track) => {
|
|
94
94
|
track.removeListener('data', messageReceived);
|
|
95
95
|
track.pause();
|
|
@@ -99,13 +99,22 @@ class WaitForMediaStep extends handler_step_definitions_1.WaitForMediaStepDefini
|
|
|
99
99
|
const listenForData = (track) => {
|
|
100
100
|
track.once('data', messageReceived);
|
|
101
101
|
};
|
|
102
|
-
connection.on('track-
|
|
102
|
+
connection.on('track-created', listenForData);
|
|
103
103
|
connection.mediaTracks.forEach(listenForData);
|
|
104
104
|
});
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
exports.WaitForMediaStep = WaitForMediaStep;
|
|
109
|
+
class CreateChannelStep extends handler_step_definitions_1.CreateChannelStepDefinition {
|
|
110
|
+
handle(conn) {
|
|
111
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
const channel = conn.createDataChannel(this.channelLabel);
|
|
113
|
+
return new Promise((resolve) => channel.once('channel-open', resolve));
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.CreateChannelStep = CreateChannelStep;
|
|
109
118
|
class SendStep extends handler_step_definitions_1.SendStepDefinition {
|
|
110
119
|
matchesChannel(channel) {
|
|
111
120
|
return this.channelLabel === undefined || this.channelLabel === channel.label;
|
|
@@ -142,8 +151,8 @@ class EchoStep extends handler_step_definitions_1.EchoStepDefinition {
|
|
|
142
151
|
const echoContent = (stream) => {
|
|
143
152
|
stream.pipe(stream);
|
|
144
153
|
};
|
|
145
|
-
connection.on('channel-
|
|
146
|
-
connection.on('track-
|
|
154
|
+
connection.on('channel-created', echoContent);
|
|
155
|
+
connection.on('track-created', echoContent);
|
|
147
156
|
connection.channels.forEach(echoContent);
|
|
148
157
|
connection.mediaTracks.forEach(echoContent);
|
|
149
158
|
// This step keeps running indefinitely, until the connection closes
|
|
@@ -164,7 +173,7 @@ class PeerProxyStep extends handler_step_definitions_1.PeerProxyStepDefinition {
|
|
|
164
173
|
// We mirror the internal peer's SDP as an offer to the given connection:
|
|
165
174
|
const externalOffer = yield externalConn.getMirroredLocalOffer(connection.getRemoteDescription().sdp);
|
|
166
175
|
externalConn.setRemoteDescription(yield this.getAnswer(externalOffer));
|
|
167
|
-
connection.proxyTrafficTo(externalConn);
|
|
176
|
+
yield connection.proxyTrafficTo(externalConn);
|
|
168
177
|
// This step keeps running indefinitely, until the connection closes
|
|
169
178
|
return new Promise((resolve) => connection.on('connection-closed', resolve));
|
|
170
179
|
});
|
|
@@ -205,14 +214,15 @@ class DynamicProxyStep extends handler_step_definitions_1.DynamicProxyStepDefini
|
|
|
205
214
|
exports.DynamicProxyStep = DynamicProxyStep;
|
|
206
215
|
exports.StepLookup = {
|
|
207
216
|
'wait-for-duration': WaitForDurationStep,
|
|
208
|
-
'wait-for-channel': WaitForChannelStep,
|
|
209
|
-
'wait-for-track': WaitForTrackStep,
|
|
210
|
-
'wait-for-media': WaitForMediaStep,
|
|
211
|
-
'wait-for-message': WaitForMessageStep,
|
|
212
|
-
'
|
|
213
|
-
'
|
|
214
|
-
'
|
|
215
|
-
'
|
|
216
|
-
'
|
|
217
|
+
'wait-for-rtc-data-channel': WaitForChannelStep,
|
|
218
|
+
'wait-for-rtc-track': WaitForTrackStep,
|
|
219
|
+
'wait-for-rtc-media': WaitForMediaStep,
|
|
220
|
+
'wait-for-rtc-message': WaitForMessageStep,
|
|
221
|
+
'create-rtc-data-channel': CreateChannelStep,
|
|
222
|
+
'send-rtc-data-message': SendStep,
|
|
223
|
+
'close-rtc-connection': CloseStep,
|
|
224
|
+
'echo-rtc': EchoStep,
|
|
225
|
+
'rtc-peer-proxy': PeerProxyStep,
|
|
226
|
+
'rtc-dynamic-proxy': DynamicProxyStep
|
|
217
227
|
};
|
|
218
228
|
//# sourceMappingURL=handler-steps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-steps.js","sourceRoot":"","sources":["../../src/handling/handler-steps.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handler-steps.js","sourceRoot":"","sources":["../../src/handling/handler-steps.ts"],"names":[],"mappings":"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"}
|
package/dist/main-browser.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { MockRTC, MockRTCOptions } from "./mockrtc";
|
|
2
2
|
import { MockRTCClientOptions } from "./client/mockrtc-client";
|
|
3
|
+
export * as HandlerStepDefinitions from "./handling/handler-step-definitions";
|
|
4
|
+
export * as MatcherDefinitions from "./matching/matcher-definitions";
|
|
5
|
+
export { MockRTCAdminRequestBuilder } from "./client/mockrtc-admin-request-builder";
|
|
3
6
|
export type { MockRTC, MockRTCOptions };
|
|
4
7
|
export type { MockRTCPeer, MockRTCSession, MockRTCOfferParams, MockRTCAnswerParams, MockRTCExternalOfferParams, MockRTCExternalAnswerParams, OfferOptions, AnswerOptions } from './mockrtc-peer';
|
|
5
8
|
export { MOCKRTC_CONTROL_CHANNEL } from './webrtc/control-channel';
|
package/dist/main-browser.js
CHANGED
|
@@ -4,8 +4,13 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.getAdminServer = exports.getRemote = exports.getLocal = exports.hookAllWebRTC = exports.hookWebRTCConnection = exports.MOCKRTC_CONTROL_CHANNEL = void 0;
|
|
7
|
+
exports.getAdminServer = exports.getRemote = exports.getLocal = exports.hookAllWebRTC = exports.hookWebRTCConnection = exports.MOCKRTC_CONTROL_CHANNEL = exports.MockRTCAdminRequestBuilder = exports.MatcherDefinitions = exports.HandlerStepDefinitions = void 0;
|
|
8
8
|
const mockrtc_client_1 = require("./client/mockrtc-client");
|
|
9
|
+
// Export the required structures to remotely build and send rules to the admin API:
|
|
10
|
+
exports.HandlerStepDefinitions = require("./handling/handler-step-definitions");
|
|
11
|
+
exports.MatcherDefinitions = require("./matching/matcher-definitions");
|
|
12
|
+
var mockrtc_admin_request_builder_1 = require("./client/mockrtc-admin-request-builder");
|
|
13
|
+
Object.defineProperty(exports, "MockRTCAdminRequestBuilder", { enumerable: true, get: function () { return mockrtc_admin_request_builder_1.MockRTCAdminRequestBuilder; } });
|
|
9
14
|
var control_channel_1 = require("./webrtc/control-channel");
|
|
10
15
|
Object.defineProperty(exports, "MOCKRTC_CONTROL_CHANNEL", { enumerable: true, get: function () { return control_channel_1.MOCKRTC_CONTROL_CHANNEL; } });
|
|
11
16
|
var webrtc_hooks_1 = require("./webrtc-hooks");
|
package/dist/main-browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-browser.js","sourceRoot":"","sources":["../src/main-browser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,4DAA8E;
|
|
1
|
+
{"version":3,"file":"main-browser.js","sourceRoot":"","sources":["../src/main-browser.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,4DAA8E;AAE9E,oFAAoF;AACpF,gFAA8E;AAC9E,uEAAqE;AACrE,wFAAoF;AAA3E,2IAAA,0BAA0B,OAAA;AAkBnC,4DAAmE;AAA1D,0HAAA,uBAAuB,OAAA;AAChC,+CAGwB;AAFpB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AAGjB,SAAgB,QAAQ;IACpB,OAAO,IAAI,8BAAa,EAAE,CAAC;AAC/B,CAAC;AAFD,4BAEC;AAED,SAAgB,SAAS,CAAC,UAAgC,EAAE;IACxD,OAAO,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc;IAC1B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AACjE,CAAC;AAFD,wCAEC"}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import { MockRTC, MockRTCOptions, MockRTCPeerBuilder } from "./mockrtc";
|
|
1
|
+
import { MockRTC, MockRTCOptions, MockRTCPeerBuilder, MockRTCEvent, MockRTCEventData, MockRTCRuleDefinition, MockRTCSessionDescription, SelectedRTCCandidate, TimingEvents } from "./mockrtc";
|
|
2
2
|
import { MockRTCAdminServer } from "./server/mockrtc-admin-server";
|
|
3
3
|
export { MockRTCAdminPlugin } from "./server/mockrtc-admin-plugin";
|
|
4
4
|
import { MockRTCClientOptions } from "./client/mockrtc-client";
|
|
5
|
-
export
|
|
5
|
+
export * as HandlerStepDefinitions from "./handling/handler-step-definitions";
|
|
6
|
+
export * as MatcherDefinitions from "./matching/matcher-definitions";
|
|
7
|
+
export { MockRTCAdminRequestBuilder } from "./client/mockrtc-admin-request-builder";
|
|
6
8
|
export type { HandlerStep } from "./handling/handler-steps";
|
|
7
9
|
export type { MockRTCHandlerBuilder } from "./handling/handler-builder";
|
|
10
|
+
export type { MockRTCRuleBuilder, RuleHandlerBuilder } from "./rule-builder";
|
|
8
11
|
export type { MockRTCServerPeer } from "./server/mockrtc-server-peer";
|
|
9
12
|
export type { SessionData } from "./server/mockrtc-admin-plugin";
|
|
10
|
-
export type { RTCConnection } from "./webrtc/rtc-connection";
|
|
13
|
+
export type { RTCConnection, ParsedSDP } from "./webrtc/rtc-connection";
|
|
11
14
|
export type { MockRTCConnection } from "./webrtc/mockrtc-connection";
|
|
12
15
|
export type { DataChannelStream } from "./webrtc/datachannel-stream";
|
|
13
16
|
export type { MediaTrackStream } from "./webrtc/mediatrack-stream";
|
|
14
17
|
export type { PluggableAdmin } from 'mockttp';
|
|
15
|
-
export type { MockRTC, MockRTCOptions, MockRTCClientOptions, MockRTCPeerBuilder, MockRTCAdminServer };
|
|
16
|
-
export type { MockRTCPeer, MockRTCPeerOptions, MockRTCSession, MockRTCOfferParams, MockRTCAnswerParams, MockRTCExternalOfferParams, MockRTCExternalAnswerParams, OfferOptions, AnswerOptions } from './mockrtc-peer';
|
|
18
|
+
export type { MockRTC, MockRTCOptions, MockRTCClientOptions, MockRTCPeerBuilder, MockRTCAdminServer, MockRTCEvent, MockRTCEventData, MockRTCRuleDefinition, MockRTCSessionDescription, SelectedRTCCandidate, TimingEvents };
|
|
19
|
+
export type { MockRTCPeer, MockRTCPeerOptions, MockRTCSession, MockRTCOfferParams, MockRTCAnswerParams, MockRTCExternalOfferParams, MockRTCExternalAnswerParams, OfferOptions, AnswerOptions, ConnectionMetadata } from './mockrtc-peer';
|
|
17
20
|
export { MOCKRTC_CONTROL_CHANNEL, type MockRTCControlMessage } from './webrtc/control-channel';
|
|
18
21
|
export { hookWebRTCConnection, hookAllWebRTC } from "./webrtc-hooks";
|
|
19
22
|
/**
|
package/dist/main.js
CHANGED
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.getAdminServer = exports.getRemote = exports.getLocal = exports.hookAllWebRTC = exports.hookWebRTCConnection = exports.MOCKRTC_CONTROL_CHANNEL = exports.MockRTCAdminPlugin = void 0;
|
|
7
|
+
exports.getAdminServer = exports.getRemote = exports.getLocal = exports.hookAllWebRTC = exports.hookWebRTCConnection = exports.MOCKRTC_CONTROL_CHANNEL = exports.MockRTCAdminRequestBuilder = exports.MatcherDefinitions = exports.HandlerStepDefinitions = exports.MockRTCAdminPlugin = void 0;
|
|
8
8
|
const mockrtc_server_1 = require("./server/mockrtc-server");
|
|
9
9
|
const mockrtc_admin_server_1 = require("./server/mockrtc-admin-server");
|
|
10
10
|
var mockrtc_admin_plugin_1 = require("./server/mockrtc-admin-plugin");
|
|
11
11
|
Object.defineProperty(exports, "MockRTCAdminPlugin", { enumerable: true, get: function () { return mockrtc_admin_plugin_1.MockRTCAdminPlugin; } });
|
|
12
12
|
const mockrtc_client_1 = require("./client/mockrtc-client");
|
|
13
|
+
// Export the required structures to remotely build and send rules to the admin API:
|
|
14
|
+
exports.HandlerStepDefinitions = require("./handling/handler-step-definitions");
|
|
15
|
+
exports.MatcherDefinitions = require("./matching/matcher-definitions");
|
|
16
|
+
var mockrtc_admin_request_builder_1 = require("./client/mockrtc-admin-request-builder");
|
|
17
|
+
Object.defineProperty(exports, "MockRTCAdminRequestBuilder", { enumerable: true, get: function () { return mockrtc_admin_request_builder_1.MockRTCAdminRequestBuilder; } });
|
|
13
18
|
var control_channel_1 = require("./webrtc/control-channel");
|
|
14
19
|
Object.defineProperty(exports, "MOCKRTC_CONTROL_CHANNEL", { enumerable: true, get: function () { return control_channel_1.MOCKRTC_CONTROL_CHANNEL; } });
|
|
15
20
|
var webrtc_hooks_1 = require("./webrtc-hooks");
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAcH,4DAAwD;AACxD,wEAAmE;AACnE,sEAAmE;AAA1D,0HAAA,kBAAkB,OAAA;AAE3B,4DAA8E;AAE9E,oFAAoF;AACpF,gFAA8E;AAC9E,uEAAqE;AACrE,wFAAoF;AAA3E,2IAAA,0BAA0B,OAAA;AA4CnC,4DAGkC;AAF9B,0HAAA,uBAAuB,OAAA;AAG3B,+CAGwB;AAFpB,oHAAA,oBAAoB,OAAA;AACpB,6GAAA,aAAa,OAAA;AAGjB;;;;;;;;;;;;;GAaG;AACH,SAAgB,QAAQ;IACpB,OAAO,IAAI,8BAAa,EAAE,CAAC;AAC/B,CAAC;AAFD,4BAEC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CAAC,UAAgC,EAAE;IACxD,OAAO,IAAI,8BAAa,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAFD,8BAEC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,cAAc;IAC1B,OAAO,IAAI,yCAAkB,EAAE,CAAC;AACpC,CAAC;AAFD,wCAEC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as PluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
|
|
2
|
+
export declare type Serializable = PluggableAdmin.Serialization.Serializable;
|
|
3
|
+
export declare const Serializable: typeof PluggableAdmin.Serialization.Serializable;
|
|
4
|
+
export interface MatcherDefinition extends Serializable {
|
|
5
|
+
readonly type: keyof typeof MatcherDefinitionLookup;
|
|
6
|
+
}
|
|
7
|
+
export declare class HasDataChannelMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
8
|
+
readonly type = "has-rtc-data-channel";
|
|
9
|
+
explain(): string;
|
|
10
|
+
}
|
|
11
|
+
export declare class HasVideoTrackMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
12
|
+
readonly type = "has-rtc-video-track";
|
|
13
|
+
explain(): string;
|
|
14
|
+
}
|
|
15
|
+
export declare class HasAudioTrackMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
16
|
+
readonly type = "has-rtc-audio-track";
|
|
17
|
+
explain(): string;
|
|
18
|
+
}
|
|
19
|
+
export declare class HasMediaTrackMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
20
|
+
readonly type = "has-rtc-media-track";
|
|
21
|
+
explain(): string;
|
|
22
|
+
}
|
|
23
|
+
export declare class HostnameMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
24
|
+
readonly hostname: string;
|
|
25
|
+
readonly type = "rtc-page-hostname";
|
|
26
|
+
constructor(hostname: string);
|
|
27
|
+
explain(): string;
|
|
28
|
+
}
|
|
29
|
+
export declare class UrlRegexMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
30
|
+
readonly type = "rtc-page-regex";
|
|
31
|
+
readonly regexSource: string;
|
|
32
|
+
readonly regexFlags: string;
|
|
33
|
+
constructor(regex: RegExp);
|
|
34
|
+
explain(): string;
|
|
35
|
+
}
|
|
36
|
+
export declare class UserAgentRegexMatcherDefinition extends Serializable implements MatcherDefinition {
|
|
37
|
+
readonly type = "rtc-user-agent-regex";
|
|
38
|
+
readonly regexSource: string;
|
|
39
|
+
readonly regexFlags: string;
|
|
40
|
+
constructor(regex: RegExp);
|
|
41
|
+
explain(): string;
|
|
42
|
+
}
|
|
43
|
+
export declare const MatcherDefinitionLookup: {
|
|
44
|
+
'has-rtc-data-channel': typeof HasDataChannelMatcherDefinition;
|
|
45
|
+
'has-rtc-video-track': typeof HasVideoTrackMatcherDefinition;
|
|
46
|
+
'has-rtc-audio-track': typeof HasAudioTrackMatcherDefinition;
|
|
47
|
+
'has-rtc-media-track': typeof HasMediaTrackMatcherDefinition;
|
|
48
|
+
'rtc-page-hostname': typeof HostnameMatcherDefinition;
|
|
49
|
+
'rtc-page-regex': typeof UrlRegexMatcherDefinition;
|
|
50
|
+
'rtc-user-agent-regex': typeof UserAgentRegexMatcherDefinition;
|
|
51
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
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.MatcherDefinitionLookup = exports.UserAgentRegexMatcherDefinition = exports.UrlRegexMatcherDefinition = exports.HostnameMatcherDefinition = exports.HasMediaTrackMatcherDefinition = exports.HasAudioTrackMatcherDefinition = exports.HasVideoTrackMatcherDefinition = exports.HasDataChannelMatcherDefinition = exports.Serializable = void 0;
|
|
8
|
+
const PluggableAdmin = require("mockttp/dist/pluggable-admin-api/pluggable-admin.browser");
|
|
9
|
+
exports.Serializable = PluggableAdmin.Serialization.Serializable;
|
|
10
|
+
class HasDataChannelMatcherDefinition extends exports.Serializable {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.type = 'has-rtc-data-channel';
|
|
14
|
+
}
|
|
15
|
+
explain() {
|
|
16
|
+
return `with a data channel`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.HasDataChannelMatcherDefinition = HasDataChannelMatcherDefinition;
|
|
20
|
+
class HasVideoTrackMatcherDefinition extends exports.Serializable {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
this.type = 'has-rtc-video-track';
|
|
24
|
+
}
|
|
25
|
+
explain() {
|
|
26
|
+
return `with a video track`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.HasVideoTrackMatcherDefinition = HasVideoTrackMatcherDefinition;
|
|
30
|
+
class HasAudioTrackMatcherDefinition extends exports.Serializable {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments);
|
|
33
|
+
this.type = 'has-rtc-audio-track';
|
|
34
|
+
}
|
|
35
|
+
explain() {
|
|
36
|
+
return `with an audio track`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.HasAudioTrackMatcherDefinition = HasAudioTrackMatcherDefinition;
|
|
40
|
+
class HasMediaTrackMatcherDefinition extends exports.Serializable {
|
|
41
|
+
constructor() {
|
|
42
|
+
super(...arguments);
|
|
43
|
+
this.type = 'has-rtc-media-track';
|
|
44
|
+
}
|
|
45
|
+
explain() {
|
|
46
|
+
return `with any media track`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.HasMediaTrackMatcherDefinition = HasMediaTrackMatcherDefinition;
|
|
50
|
+
class HostnameMatcherDefinition extends exports.Serializable {
|
|
51
|
+
constructor(hostname) {
|
|
52
|
+
super();
|
|
53
|
+
this.hostname = hostname;
|
|
54
|
+
this.type = 'rtc-page-hostname';
|
|
55
|
+
}
|
|
56
|
+
explain() {
|
|
57
|
+
return `from a page on ${this.hostname}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.HostnameMatcherDefinition = HostnameMatcherDefinition;
|
|
61
|
+
class UrlRegexMatcherDefinition extends exports.Serializable {
|
|
62
|
+
constructor(regex) {
|
|
63
|
+
super();
|
|
64
|
+
this.type = 'rtc-page-regex';
|
|
65
|
+
this.regexSource = regex.source;
|
|
66
|
+
this.regexFlags = regex.flags;
|
|
67
|
+
}
|
|
68
|
+
explain() {
|
|
69
|
+
return `from a page with URL matching /${this.regexSource}/${this.regexFlags}`;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.UrlRegexMatcherDefinition = UrlRegexMatcherDefinition;
|
|
73
|
+
class UserAgentRegexMatcherDefinition extends exports.Serializable {
|
|
74
|
+
constructor(regex) {
|
|
75
|
+
super();
|
|
76
|
+
this.type = 'rtc-user-agent-regex';
|
|
77
|
+
this.regexSource = regex.source;
|
|
78
|
+
this.regexFlags = regex.flags;
|
|
79
|
+
}
|
|
80
|
+
explain() {
|
|
81
|
+
return `from a user agent matching /${this.regexSource}/${this.regexFlags}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.UserAgentRegexMatcherDefinition = UserAgentRegexMatcherDefinition;
|
|
85
|
+
exports.MatcherDefinitionLookup = {
|
|
86
|
+
'has-rtc-data-channel': HasDataChannelMatcherDefinition,
|
|
87
|
+
'has-rtc-video-track': HasVideoTrackMatcherDefinition,
|
|
88
|
+
'has-rtc-audio-track': HasAudioTrackMatcherDefinition,
|
|
89
|
+
'has-rtc-media-track': HasMediaTrackMatcherDefinition,
|
|
90
|
+
'rtc-page-hostname': HostnameMatcherDefinition,
|
|
91
|
+
'rtc-page-regex': UrlRegexMatcherDefinition,
|
|
92
|
+
'rtc-user-agent-regex': UserAgentRegexMatcherDefinition
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=matcher-definitions.js.map
|
|
@@ -0,0 +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,+BAAgC,SAAQ,oBAAY;IAAjE;;QACa,SAAI,GAAG,sBAAsB,CAAC;IAK3C,CAAC;IAHG,OAAO;QACH,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ;AAND,0EAMC;AAED,MAAa,8BAA+B,SAAQ,oBAAY;IAAhE;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,oBAAoB,CAAC;IAChC,CAAC;CACJ;AAND,wEAMC;AAED,MAAa,8BAA+B,SAAQ,oBAAY;IAAhE;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,qBAAqB,CAAC;IACjC,CAAC;CACJ;AAND,wEAMC;AAED,MAAa,8BAA+B,SAAQ,oBAAY;IAAhE;;QACa,SAAI,GAAG,qBAAqB,CAAC;IAK1C,CAAC;IAHG,OAAO;QACH,OAAO,sBAAsB,CAAC;IAClC,CAAC;CACJ;AAND,wEAMC;AAED,MAAa,yBAA0B,SAAQ,oBAAY;IAIvD,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,8DAcC;AAED,MAAa,yBAA0B,SAAQ,oBAAY;IAOvD,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,8DAiBC;AAED,MAAa,+BAAiC,SAAQ,oBAAY;IAO9D,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,0EAiBC;AAEY,QAAA,uBAAuB,GAAG;IACnC,sBAAsB,EAAE,+BAA+B;IACvD,qBAAqB,EAAE,8BAA8B;IACrD,qBAAqB,EAAE,8BAA8B;IACrD,qBAAqB,EAAE,8BAA8B;IACrD,mBAAmB,EAAE,yBAAyB;IAC9C,gBAAgB,EAAE,yBAAyB;IAC3C,sBAAsB,EAAE,+BAA+B;CAC1D,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { RTCConnection } from "../webrtc/rtc-connection";
|
|
2
|
+
import { MatcherDefinition, MatcherDefinitionLookup, HasAudioTrackMatcherDefinition, HasDataChannelMatcherDefinition, HasMediaTrackMatcherDefinition, HasVideoTrackMatcherDefinition, HostnameMatcherDefinition, UrlRegexMatcherDefinition, UserAgentRegexMatcherDefinition } from "./matcher-definitions";
|
|
3
|
+
export interface Matcher extends MatcherDefinition {
|
|
4
|
+
matches(connection: RTCConnection): boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare class HasDataChannelMatcher extends HasDataChannelMatcherDefinition {
|
|
7
|
+
matches(connection: RTCConnection): boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class HasVideoTrackMatcher extends HasVideoTrackMatcherDefinition {
|
|
10
|
+
matches(connection: RTCConnection): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class HasAudioTrackMatcher extends HasAudioTrackMatcherDefinition {
|
|
13
|
+
matches(connection: RTCConnection): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class HasMediaTrackMatcher extends HasMediaTrackMatcherDefinition {
|
|
16
|
+
matches(connection: RTCConnection): boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class HostnameMatcher extends HostnameMatcherDefinition {
|
|
19
|
+
matches(connection: RTCConnection): boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare class UrlRegexMatcher extends UrlRegexMatcherDefinition {
|
|
22
|
+
matches(connection: RTCConnection): boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class UserAgentRegexMatcher extends UserAgentRegexMatcherDefinition {
|
|
25
|
+
matches(connection: RTCConnection): boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare const MatcherLookup: typeof MatcherDefinitionLookup;
|