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.
Files changed (60) hide show
  1. package/.github/workflows/ci.yml +5 -3
  2. package/README.md +2 -10
  3. package/dist/handling/handler-builder.js +13 -13
  4. package/dist/handling/handler-builder.js.map +1 -1
  5. package/dist/handling/handler-step-definitions.d.ts +36 -22
  6. package/dist/handling/handler-step-definitions.js +47 -34
  7. package/dist/handling/handler-step-definitions.js.map +1 -1
  8. package/dist/handling/handler-step-impls.d.ts +56 -0
  9. package/dist/handling/handler-step-impls.js +228 -0
  10. package/dist/handling/handler-step-impls.js.map +1 -0
  11. package/dist/main-browser.d.ts +2 -2
  12. package/dist/main-browser.js +3 -3
  13. package/dist/main-browser.js.map +1 -1
  14. package/dist/main.d.ts +3 -3
  15. package/dist/main.js +3 -3
  16. package/dist/main.js.map +1 -1
  17. package/dist/matching/matcher-definition-impls.d.ts +51 -0
  18. package/dist/matching/matcher-definition-impls.js +94 -0
  19. package/dist/matching/matcher-definition-impls.js.map +1 -0
  20. package/dist/matching/matcher-definition.d.ts +51 -0
  21. package/dist/matching/matcher-definition.js +94 -0
  22. package/dist/matching/matcher-definition.js.map +1 -0
  23. package/dist/matching/matcher-definitions.d.ts +14 -14
  24. package/dist/matching/matcher-definitions.js +22 -22
  25. package/dist/matching/matcher-definitions.js.map +1 -1
  26. package/dist/matching/matcher-impls.d.ts +27 -0
  27. package/dist/matching/matcher-impls.js +87 -0
  28. package/dist/matching/matcher-impls.js.map +1 -0
  29. package/dist/matching/matchers.d.ts +9 -9
  30. package/dist/matching/matchers.js +23 -23
  31. package/dist/matching/matchers.js.map +1 -1
  32. package/dist/rule-builder.js +7 -7
  33. package/dist/rule-builder.js.map +1 -1
  34. package/dist/server/mockrtc-admin-plugin.d.ts +1 -1
  35. package/dist/server/mockrtc-admin-plugin.js +7 -7
  36. package/dist/server/mockrtc-admin-plugin.js.map +1 -1
  37. package/dist/server/mockrtc-server-peer.d.ts +2 -2
  38. package/dist/server/mockrtc-server-peer.js.map +1 -1
  39. package/dist/server/mockrtc-server.js +6 -6
  40. package/dist/server/mockrtc-server.js.map +1 -1
  41. package/dist/webrtc/mockrtc-connection.d.ts +1 -1
  42. package/dist/webrtc/mockrtc-connection.js +1 -0
  43. package/dist/webrtc/mockrtc-connection.js.map +1 -1
  44. package/dist/webrtc/rtc-connection.d.ts +3 -3
  45. package/dist/webrtc/rtc-connection.js +3 -6
  46. package/dist/webrtc/rtc-connection.js.map +1 -1
  47. package/package.json +5 -6
  48. package/src/handling/handler-builder.ts +24 -24
  49. package/src/handling/handler-step-definitions.ts +38 -22
  50. package/src/handling/{handler-steps.ts → handler-step-impls.ts} +36 -39
  51. package/src/main-browser.ts +2 -2
  52. package/src/main.ts +3 -3
  53. package/src/matching/matcher-definitions.ts +14 -14
  54. package/src/matching/{matchers.ts → matcher-impls.ts} +22 -22
  55. package/src/rule-builder.ts +14 -14
  56. package/src/server/mockrtc-admin-plugin.ts +8 -8
  57. package/src/server/mockrtc-server-peer.ts +3 -3
  58. package/src/server/mockrtc-server.ts +8 -8
  59. package/src/webrtc/mockrtc-connection.ts +1 -0
  60. package/src/webrtc/rtc-connection.ts +9 -20
@@ -7,7 +7,7 @@ jobs:
7
7
 
8
8
  strategy:
9
9
  matrix:
10
- node-version: [14.x, 16.x, 18.x, 20.x, v20.8.0, '*']
10
+ node-version: [20.x, v22.14.0, 22.x, 24.x]
11
11
 
12
12
  steps:
13
13
  - uses: actions/checkout@v3
@@ -22,11 +22,13 @@ jobs:
22
22
  - run: npm install
23
23
  - run: npm run build
24
24
  - run: npm test
25
+ env:
26
+ NODE_OPTIONS: ${{ matrix.node-version == '22.x' && '--experimental-require-module' || '' }}
25
27
 
26
28
  - name: Deploy docs
27
- if: github.ref == 'refs/heads/main' && matrix.node-version == 'v20.8.0'
29
+ if: github.ref == 'refs/heads/main' && matrix.node-version == 'v20.18.1'
28
30
  uses: JamesIves/github-pages-deploy-action@v4.5.0
29
31
  with:
30
32
  single-commit: true
31
33
  branch: gh-pages
32
- folder: typedoc
34
+ folder: typedoc
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # MockRTC [![Build Status](https://github.com/httptoolkit/mockrtc/workflows/CI/badge.svg)](https://github.com/httptoolkit/mockrtc/actions) [![Available on NPM](https://img.shields.io/npm/v/mockrtc.svg?)](https://npmjs.com/package/mockrtc)
1
+ # MockRTC [![Build Status](https://github.com/httptoolkit/mockrtc/actions/workflows/ci.yml/badge.svg)](https://github.com/httptoolkit/mockrtc/actions) [![Available on NPM](https://img.shields.io/npm/v/mockrtc.svg?)](https://npmjs.com/package/mockrtc)
2
2
 
3
- > _Part of [HTTP Toolkit](https://httptoolkit.tech): powerful tools for building, testing & debugging HTTP(S), WebSockets and WebRTC_
3
+ > _Part of [HTTP Toolkit](https://httptoolkit.com): powerful tools for building, testing & debugging HTTP(S), WebSockets and WebRTC_
4
4
 
5
5
  MockRTC lets you intercept, assert on and mock WebRTC peers. This makes it possible to:
6
6
 
@@ -9,14 +9,6 @@ MockRTC lets you intercept, assert on and mock WebRTC peers. This makes it possi
9
9
  * Capture and inspect traffic between real WebRTC peers for debugging.
10
10
  * Create WebRTC proxy peers to automate message transformation, monitoring or logging.
11
11
 
12
- ---
13
-
14
- :warning: _MockRTC is still new & rapidly developing!_ :warning:
15
-
16
- _Everything described here works today, but there's lots more to come, and some advanced WebRTC use cases may run into rough edges. If you hit any problems or missing features, please [open an issue](https://github.com/httptoolkit/mockrtc/issues/new)._
17
-
18
- ---
19
-
20
12
  ## Example
21
13
 
22
14
  Let's write an automated test with MockRTC. To test WebRTC-based code, you will typically need to:
@@ -22,7 +22,7 @@ class MockRTCHandlerBuilder {
22
22
  * @category Steps
23
23
  */
24
24
  sleep(duration) {
25
- this.handlerSteps.push(new handler_step_definitions_1.WaitForDurationStepDefinition(duration));
25
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForDurationStep(duration));
26
26
  return this;
27
27
  }
28
28
  /**
@@ -31,7 +31,7 @@ class MockRTCHandlerBuilder {
31
31
  * @category Steps
32
32
  */
33
33
  waitForChannel(channelLabel) {
34
- this.handlerSteps.push(new handler_step_definitions_1.WaitForChannelStepDefinition(channelLabel));
34
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForChannelStep(channelLabel));
35
35
  return this;
36
36
  }
37
37
  /**
@@ -40,7 +40,7 @@ class MockRTCHandlerBuilder {
40
40
  * @category Steps
41
41
  */
42
42
  waitForTrack() {
43
- this.handlerSteps.push(new handler_step_definitions_1.WaitForTrackStepDefinition());
43
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForTrackStep());
44
44
  return this;
45
45
  }
46
46
  /**
@@ -52,7 +52,7 @@ class MockRTCHandlerBuilder {
52
52
  * @category Steps
53
53
  */
54
54
  waitForNextMessage() {
55
- this.handlerSteps.push(new handler_step_definitions_1.WaitForMessageStepDefinition());
55
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForMessageStep());
56
56
  return this;
57
57
  }
58
58
  /**
@@ -63,7 +63,7 @@ class MockRTCHandlerBuilder {
63
63
  * @category Steps
64
64
  */
65
65
  waitForNextMedia() {
66
- this.handlerSteps.push(new handler_step_definitions_1.WaitForMediaStepDefinition());
66
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForMediaStep());
67
67
  return this;
68
68
  }
69
69
  /**
@@ -75,7 +75,7 @@ class MockRTCHandlerBuilder {
75
75
  * @category Steps
76
76
  */
77
77
  waitForNextMessageOnChannel(channelLabel) {
78
- this.handlerSteps.push(new handler_step_definitions_1.WaitForMessageStepDefinition(channelLabel));
78
+ this.handlerSteps.push(new handler_step_definitions_1.WaitForMessageStep(channelLabel));
79
79
  return this;
80
80
  }
81
81
  /**
@@ -85,17 +85,17 @@ class MockRTCHandlerBuilder {
85
85
  * @category Steps
86
86
  */
87
87
  createDataChannel(channelLabel) {
88
- this.handlerSteps.push(new handler_step_definitions_1.CreateChannelStepDefinition(channelLabel));
88
+ this.handlerSteps.push(new handler_step_definitions_1.CreateChannelStep(channelLabel));
89
89
  return this;
90
90
  }
91
91
  send(...args) {
92
92
  if (args[1] !== undefined) {
93
93
  const [channel, message] = args;
94
- this.handlerSteps.push(new handler_step_definitions_1.SendStepDefinition(channel, message));
94
+ this.handlerSteps.push(new handler_step_definitions_1.SendStep(channel, message));
95
95
  }
96
96
  else {
97
97
  const [message] = args;
98
- this.handlerSteps.push(new handler_step_definitions_1.SendStepDefinition(undefined, message));
98
+ this.handlerSteps.push(new handler_step_definitions_1.SendStep(undefined, message));
99
99
  }
100
100
  return this;
101
101
  }
@@ -109,7 +109,7 @@ class MockRTCHandlerBuilder {
109
109
  * @category Final Steps
110
110
  */
111
111
  thenClose() {
112
- this.handlerSteps.push(new handler_step_definitions_1.CloseStepDefinition());
112
+ this.handlerSteps.push(new handler_step_definitions_1.CloseStep());
113
113
  return this.buildCallback(this.handlerSteps);
114
114
  }
115
115
  thenSend(...args) {
@@ -127,7 +127,7 @@ class MockRTCHandlerBuilder {
127
127
  * @category Final Steps
128
128
  */
129
129
  thenEcho() {
130
- this.handlerSteps.push(new handler_step_definitions_1.EchoStepDefinition());
130
+ this.handlerSteps.push(new handler_step_definitions_1.EchoStep());
131
131
  return this.buildCallback(this.handlerSteps);
132
132
  }
133
133
  /**
@@ -142,7 +142,7 @@ class MockRTCHandlerBuilder {
142
142
  * @category Final Steps
143
143
  */
144
144
  thenForwardTo(peer) {
145
- this.handlerSteps.push(new handler_step_definitions_1.PeerProxyStepDefinition(peer));
145
+ this.handlerSteps.push(new handler_step_definitions_1.PeerProxyStep(peer));
146
146
  return this.buildCallback(this.handlerSteps);
147
147
  }
148
148
  /**
@@ -166,7 +166,7 @@ class MockRTCHandlerBuilder {
166
166
  * @category Final Steps
167
167
  */
168
168
  thenPassThrough() {
169
- this.handlerSteps.push(new handler_step_definitions_1.DynamicProxyStepDefinition());
169
+ this.handlerSteps.push(new handler_step_definitions_1.DynamicProxyStep());
170
170
  return this.buildCallback(this.handlerSteps);
171
171
  }
172
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler-builder.js","sourceRoot":"","sources":["../../src/handling/handler-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-builder.js","sourceRoot":"","sources":["../../src/handling/handler-builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,yEAaoC;AAEpC;;;;GAIG;AACH,MAAa,qBAAqB;IAI9B,YACY,aAAoE;QAApE,kBAAa,GAAb,aAAa,CAAuD;QAHxE,iBAAY,GAA4B,EAAE,CAAC;IAIhD,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,QAAgB;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,8CAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,6CAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACR,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,2CAAgB,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB;QACd,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,6CAAkB,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,2CAAgB,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,2BAA2B,CAAC,YAAoB;QAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,6CAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,YAAoB;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,4CAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAiBD,IAAI,CAAC,GAAG,IAA+D;QACnE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YACvB,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAiC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,mCAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SAC1D;aAAM;YACH,MAAM,CAAC,OAAO,CAAC,GAAG,IAAyB,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,mCAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS;QACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,oCAAS,EAAE,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAeD,QAAQ,CAAC,GAAG,IAAmD;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAA6C,CAAC;aAC7D,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ;QACJ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,mCAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;OAUG;IACH,aAAa,CAAC,IAAuB;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,wCAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,eAAe;QACX,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,2CAAgB,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;CAEJ;AAzMD,sDAyMC"}
@@ -1,81 +1,95 @@
1
1
  /// <reference types="node" />
2
2
  import * as PluggableAdmin from 'mockttp/dist/pluggable-admin-api/pluggable-admin.browser';
3
3
  import { MockRTCSessionDescription } from '../mockrtc';
4
+ import type { RTCConnection } from '../webrtc/rtc-connection';
4
5
  export declare type Serializable = PluggableAdmin.Serialization.Serializable;
5
6
  export declare const Serializable: typeof PluggableAdmin.Serialization.Serializable;
6
7
  declare type ClientServerChannel = PluggableAdmin.Serialization.ClientServerChannel;
7
8
  export interface HandlerStepDefinition extends Serializable {
8
9
  readonly type: keyof typeof StepDefinitionLookup;
9
10
  }
10
- export declare class WaitForDurationStepDefinition extends Serializable implements HandlerStepDefinition {
11
+ export declare class WaitForDurationStep extends Serializable implements HandlerStepDefinition {
11
12
  readonly durationMs: number;
12
13
  readonly type = "wait-for-duration";
14
+ static readonly isFinal = false;
13
15
  constructor(durationMs: number);
14
16
  explain(): string;
15
17
  }
16
- export declare class WaitForChannelStepDefinition extends Serializable implements HandlerStepDefinition {
18
+ export declare class WaitForChannelStep extends Serializable implements HandlerStepDefinition {
17
19
  readonly channelLabel?: string | undefined;
18
20
  readonly type = "wait-for-rtc-data-channel";
21
+ static readonly isFinal = false;
19
22
  constructor(channelLabel?: string | undefined);
20
23
  explain(): string;
21
24
  }
22
- export declare class WaitForMessageStepDefinition extends Serializable implements HandlerStepDefinition {
25
+ export declare class WaitForMessageStep extends Serializable implements HandlerStepDefinition {
23
26
  readonly channelLabel?: string | undefined;
24
27
  readonly type = "wait-for-rtc-message";
28
+ static readonly isFinal = false;
25
29
  constructor(channelLabel?: string | undefined);
26
30
  explain(): string;
27
31
  }
28
- export declare class WaitForTrackStepDefinition extends Serializable implements HandlerStepDefinition {
32
+ export declare class WaitForTrackStep extends Serializable implements HandlerStepDefinition {
29
33
  readonly type = "wait-for-rtc-track";
34
+ static readonly isFinal = false;
30
35
  explain(): string;
31
36
  }
32
- export declare class WaitForMediaStepDefinition extends Serializable implements HandlerStepDefinition {
37
+ export declare class WaitForMediaStep extends Serializable implements HandlerStepDefinition {
33
38
  readonly type = "wait-for-rtc-media";
39
+ static readonly isFinal = false;
34
40
  explain(): string;
35
41
  }
36
- export declare class CreateChannelStepDefinition extends Serializable implements HandlerStepDefinition {
42
+ export declare class CreateChannelStep extends Serializable implements HandlerStepDefinition {
37
43
  readonly channelLabel: string;
38
44
  readonly type = "create-rtc-data-channel";
45
+ static readonly isFinal = false;
39
46
  constructor(channelLabel: string);
40
47
  explain(): string;
41
48
  }
42
- export declare class SendStepDefinition extends Serializable implements HandlerStepDefinition {
49
+ export declare class SendStep extends Serializable implements HandlerStepDefinition {
43
50
  readonly channelLabel: string | undefined;
44
51
  readonly message: string | Buffer;
45
52
  readonly type = "send-rtc-data-message";
53
+ static readonly isFinal = false;
46
54
  constructor(channelLabel: string | undefined, message: string | Buffer);
47
55
  explain(): string;
48
56
  }
49
- export declare class CloseStepDefinition extends Serializable implements HandlerStepDefinition {
57
+ export declare class CloseStep extends Serializable implements HandlerStepDefinition {
50
58
  readonly type = "close-rtc-connection";
59
+ static readonly isFinal = true;
51
60
  explain(): string;
52
61
  }
53
- export declare class EchoStepDefinition extends Serializable implements HandlerStepDefinition {
62
+ export declare class EchoStep extends Serializable implements HandlerStepDefinition {
54
63
  readonly type = "echo-rtc";
64
+ static readonly isFinal = true;
55
65
  explain(): string;
56
66
  }
57
- export declare class PeerProxyStepDefinition extends Serializable implements HandlerStepDefinition {
67
+ export declare class PeerProxyStep extends Serializable implements HandlerStepDefinition {
58
68
  readonly type = "rtc-peer-proxy";
69
+ static readonly isFinal = true;
70
+ protected externalConnections: RTCConnection[];
59
71
  protected getAnswer: (offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>;
60
72
  constructor(connectionTarget: RTCPeerConnection | ((offer: MockRTCSessionDescription) => Promise<RTCSessionDescriptionInit>));
61
73
  explain(): string;
62
74
  serialize(channel: ClientServerChannel): {};
63
75
  }
64
- export declare class DynamicProxyStepDefinition extends Serializable implements HandlerStepDefinition {
76
+ export declare class DynamicProxyStep extends Serializable implements HandlerStepDefinition {
65
77
  readonly type = "rtc-dynamic-proxy";
78
+ static readonly isFinal = true;
79
+ protected externalConnections: RTCConnection[];
66
80
  explain(): string;
67
81
  }
68
82
  export declare const StepDefinitionLookup: {
69
- 'wait-for-duration': typeof WaitForDurationStepDefinition;
70
- 'wait-for-rtc-data-channel': typeof WaitForChannelStepDefinition;
71
- 'wait-for-rtc-track': typeof WaitForTrackStepDefinition;
72
- 'wait-for-rtc-media': typeof WaitForMediaStepDefinition;
73
- 'wait-for-rtc-message': typeof WaitForMessageStepDefinition;
74
- 'create-rtc-data-channel': typeof CreateChannelStepDefinition;
75
- 'send-rtc-data-message': typeof SendStepDefinition;
76
- 'close-rtc-connection': typeof CloseStepDefinition;
77
- 'echo-rtc': typeof EchoStepDefinition;
78
- 'rtc-peer-proxy': typeof PeerProxyStepDefinition;
79
- 'rtc-dynamic-proxy': typeof DynamicProxyStepDefinition;
83
+ 'wait-for-duration': typeof WaitForDurationStep;
84
+ 'wait-for-rtc-data-channel': typeof WaitForChannelStep;
85
+ 'wait-for-rtc-track': typeof WaitForTrackStep;
86
+ 'wait-for-rtc-media': typeof WaitForMediaStep;
87
+ 'wait-for-rtc-message': typeof WaitForMessageStep;
88
+ 'create-rtc-data-channel': typeof CreateChannelStep;
89
+ 'send-rtc-data-message': typeof SendStep;
90
+ 'close-rtc-connection': typeof CloseStep;
91
+ 'echo-rtc': typeof EchoStep;
92
+ 'rtc-peer-proxy': typeof PeerProxyStep;
93
+ 'rtc-dynamic-proxy': typeof DynamicProxyStep;
80
94
  };
81
95
  export {};
@@ -13,10 +13,10 @@ 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.CreateChannelStepDefinition = exports.WaitForMediaStepDefinition = exports.WaitForTrackStepDefinition = exports.WaitForMessageStepDefinition = exports.WaitForChannelStepDefinition = exports.WaitForDurationStepDefinition = exports.Serializable = void 0;
16
+ exports.StepDefinitionLookup = exports.DynamicProxyStep = exports.PeerProxyStep = exports.EchoStep = exports.CloseStep = exports.SendStep = exports.CreateChannelStep = exports.WaitForMediaStep = exports.WaitForTrackStep = exports.WaitForMessageStep = exports.WaitForChannelStep = exports.WaitForDurationStep = 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
- class WaitForDurationStepDefinition extends exports.Serializable {
19
+ class WaitForDurationStep extends exports.Serializable {
20
20
  constructor(durationMs) {
21
21
  super();
22
22
  this.durationMs = durationMs;
@@ -26,8 +26,9 @@ class WaitForDurationStepDefinition extends exports.Serializable {
26
26
  return `wait for ${this.durationMs}ms`;
27
27
  }
28
28
  }
29
- exports.WaitForDurationStepDefinition = WaitForDurationStepDefinition;
30
- class WaitForChannelStepDefinition extends exports.Serializable {
29
+ exports.WaitForDurationStep = WaitForDurationStep;
30
+ WaitForDurationStep.isFinal = false;
31
+ class WaitForChannelStep extends exports.Serializable {
31
32
  constructor(channelLabel) {
32
33
  super();
33
34
  this.channelLabel = channelLabel;
@@ -37,8 +38,9 @@ class WaitForChannelStepDefinition extends exports.Serializable {
37
38
  return `wait for an RTC channel${this.channelLabel ? ` labelled '${this.channelLabel}'` : ''}`;
38
39
  }
39
40
  }
40
- exports.WaitForChannelStepDefinition = WaitForChannelStepDefinition;
41
- class WaitForMessageStepDefinition extends exports.Serializable {
41
+ exports.WaitForChannelStep = WaitForChannelStep;
42
+ WaitForChannelStep.isFinal = false;
43
+ class WaitForMessageStep extends exports.Serializable {
42
44
  constructor(channelLabel) {
43
45
  super();
44
46
  this.channelLabel = channelLabel;
@@ -48,8 +50,9 @@ class WaitForMessageStepDefinition extends exports.Serializable {
48
50
  return `wait for an RTC message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
49
51
  }
50
52
  }
51
- exports.WaitForMessageStepDefinition = WaitForMessageStepDefinition;
52
- class WaitForTrackStepDefinition extends exports.Serializable {
53
+ exports.WaitForMessageStep = WaitForMessageStep;
54
+ WaitForMessageStep.isFinal = false;
55
+ class WaitForTrackStep extends exports.Serializable {
53
56
  constructor() {
54
57
  super(...arguments);
55
58
  this.type = 'wait-for-rtc-track';
@@ -58,8 +61,9 @@ class WaitForTrackStepDefinition extends exports.Serializable {
58
61
  return `wait for an RTC track`;
59
62
  }
60
63
  }
61
- exports.WaitForTrackStepDefinition = WaitForTrackStepDefinition;
62
- class WaitForMediaStepDefinition extends exports.Serializable {
64
+ exports.WaitForTrackStep = WaitForTrackStep;
65
+ WaitForTrackStep.isFinal = false;
66
+ class WaitForMediaStep extends exports.Serializable {
63
67
  constructor() {
64
68
  super(...arguments);
65
69
  this.type = 'wait-for-rtc-media';
@@ -68,8 +72,9 @@ class WaitForMediaStepDefinition extends exports.Serializable {
68
72
  return `wait for RTC media data`;
69
73
  }
70
74
  }
71
- exports.WaitForMediaStepDefinition = WaitForMediaStepDefinition;
72
- class CreateChannelStepDefinition extends exports.Serializable {
75
+ exports.WaitForMediaStep = WaitForMediaStep;
76
+ WaitForMediaStep.isFinal = false;
77
+ class CreateChannelStep extends exports.Serializable {
73
78
  constructor(channelLabel) {
74
79
  super();
75
80
  this.channelLabel = channelLabel;
@@ -79,8 +84,9 @@ class CreateChannelStepDefinition extends exports.Serializable {
79
84
  return `create an RTC data channel labelled '${this.channelLabel}'`;
80
85
  }
81
86
  }
82
- exports.CreateChannelStepDefinition = CreateChannelStepDefinition;
83
- class SendStepDefinition extends exports.Serializable {
87
+ exports.CreateChannelStep = CreateChannelStep;
88
+ CreateChannelStep.isFinal = false;
89
+ class SendStep extends exports.Serializable {
84
90
  constructor(channelLabel, message) {
85
91
  super();
86
92
  this.channelLabel = channelLabel;
@@ -91,8 +97,9 @@ class SendStepDefinition extends exports.Serializable {
91
97
  return `send an RTC data message${this.channelLabel ? ` on channel '${this.channelLabel}'` : ''}`;
92
98
  }
93
99
  }
94
- exports.SendStepDefinition = SendStepDefinition;
95
- class CloseStepDefinition extends exports.Serializable {
100
+ exports.SendStep = SendStep;
101
+ SendStep.isFinal = false;
102
+ class CloseStep extends exports.Serializable {
96
103
  constructor() {
97
104
  super(...arguments);
98
105
  this.type = 'close-rtc-connection';
@@ -101,8 +108,9 @@ class CloseStepDefinition extends exports.Serializable {
101
108
  return `close the RTC connection`;
102
109
  }
103
110
  }
104
- exports.CloseStepDefinition = CloseStepDefinition;
105
- class EchoStepDefinition extends exports.Serializable {
111
+ exports.CloseStep = CloseStep;
112
+ CloseStep.isFinal = true;
113
+ class EchoStep extends exports.Serializable {
106
114
  constructor() {
107
115
  super(...arguments);
108
116
  this.type = 'echo-rtc';
@@ -111,11 +119,13 @@ class EchoStepDefinition extends exports.Serializable {
111
119
  return `echo all RTC media & data`;
112
120
  }
113
121
  }
114
- exports.EchoStepDefinition = EchoStepDefinition;
115
- class PeerProxyStepDefinition extends exports.Serializable {
122
+ exports.EchoStep = EchoStep;
123
+ EchoStep.isFinal = true;
124
+ class PeerProxyStep extends exports.Serializable {
116
125
  constructor(connectionTarget) {
117
126
  super();
118
127
  this.type = 'rtc-peer-proxy';
128
+ this.externalConnections = []; // Set here so it can be used in impl subclass
119
129
  if (connectionTarget instanceof Function) {
120
130
  this.getAnswer = connectionTarget;
121
131
  }
@@ -138,28 +148,31 @@ class PeerProxyStepDefinition extends exports.Serializable {
138
148
  return { type: this.type };
139
149
  }
140
150
  }
141
- exports.PeerProxyStepDefinition = PeerProxyStepDefinition;
142
- class DynamicProxyStepDefinition extends exports.Serializable {
151
+ exports.PeerProxyStep = PeerProxyStep;
152
+ PeerProxyStep.isFinal = true;
153
+ class DynamicProxyStep extends exports.Serializable {
143
154
  constructor() {
144
155
  super(...arguments);
145
156
  this.type = 'rtc-dynamic-proxy';
157
+ this.externalConnections = []; // Set here so it can be used in impl subclass
146
158
  }
147
159
  explain() {
148
160
  return `proxy the RTC connection to a remote peer`;
149
161
  }
150
162
  }
151
- exports.DynamicProxyStepDefinition = DynamicProxyStepDefinition;
163
+ exports.DynamicProxyStep = DynamicProxyStep;
164
+ DynamicProxyStep.isFinal = true;
152
165
  exports.StepDefinitionLookup = {
153
- 'wait-for-duration': WaitForDurationStepDefinition,
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
166
+ 'wait-for-duration': WaitForDurationStep,
167
+ 'wait-for-rtc-data-channel': WaitForChannelStep,
168
+ 'wait-for-rtc-track': WaitForTrackStep,
169
+ 'wait-for-rtc-media': WaitForMediaStep,
170
+ 'wait-for-rtc-message': WaitForMessageStep,
171
+ 'create-rtc-data-channel': CreateChannelStep,
172
+ 'send-rtc-data-message': SendStep,
173
+ 'close-rtc-connection': CloseStep,
174
+ 'echo-rtc': EchoStep,
175
+ 'rtc-peer-proxy': PeerProxyStep,
176
+ 'rtc-dynamic-proxy': DynamicProxyStep
164
177
  };
165
178
  //# 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;AAK5E,oBAAY,GAAK,cAAc,CAAC,aAAa,cAAC;AAO7D,MAAa,6BAA8B,SAAQ,oBAAY;IAI3D,YACoB,UAAkB;QAElC,KAAK,EAAE,CAAC;QAFQ,eAAU,GAAV,UAAU,CAAQ;QAH7B,SAAI,GAAG,mBAAmB,CAAC;IAMpC,CAAC;IAED,OAAO;QACH,OAAO,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC;IAC3C,CAAC;CAEJ;AAdD,sEAcC;AAED,MAAa,4BAA6B,SAAQ,oBAAY;IAI1D,YACoB,YAAqB;QAErC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAS;QAHhC,SAAI,GAAG,2BAA2B,CAAC;IAM5C,CAAC;IAED,OAAO;QACH,OAAO,0BAA0B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,CAAC;CAEJ;AAdD,oEAcC;AAED,MAAa,4BAA6B,SAAQ,oBAAY;IAI1D,YACoB,YAAqB;QAErC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAS;QAHhC,SAAI,GAAG,sBAAsB,CAAC;IAMvC,CAAC;IAED,OAAO;QACH,OAAO,0BAA0B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;CAEJ;AAdD,oEAcC;AAED,MAAa,0BAA2B,SAAQ,oBAAY;IAA5D;;QAEa,SAAI,GAAG,oBAAoB,CAAC;IAMzC,CAAC;IAJG,OAAO;QACH,OAAO,uBAAuB,CAAC;IACnC,CAAC;CAEJ;AARD,gEAQC;AAED,MAAa,0BAA2B,SAAQ,oBAAY;IAA5D;;QAEa,SAAI,GAAG,oBAAoB,CAAC;IAMzC,CAAC;IAJG,OAAO;QACH,OAAO,yBAAyB,CAAC;IACrC,CAAC;CAEJ;AARD,gEAQC;AAED,MAAa,2BAA4B,SAAQ,oBAAY;IAIzD,YACoB,YAAoB;QAEpC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAQ;QAH/B,SAAI,GAAG,yBAAyB,CAAC;IAM1C,CAAC;IAED,OAAO;QACH,OAAO,wCAAwC,IAAI,CAAC,YAAY,GAAG,CAAC;IACxE,CAAC;CAEJ;AAdD,kEAcC;AAED,MAAa,kBAAmB,SAAQ,oBAAY;IAIhD,YACoB,YAAgC,EAChC,OAAwB;QAExC,KAAK,EAAE,CAAC;QAHQ,iBAAY,GAAZ,YAAY,CAAoB;QAChC,YAAO,GAAP,OAAO,CAAiB;QAJnC,SAAI,GAAG,uBAAuB,CAAC;IAOxC,CAAC;IAED,OAAO;QACH,OAAO,2BAA2B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,CAAC;CAEJ;AAfD,gDAeC;AAED,MAAa,mBAAoB,SAAQ,oBAAY;IAArD;;QAEa,SAAI,GAAG,sBAAsB,CAAC;IAM3C,CAAC;IAJG,OAAO;QACH,OAAO,0BAA0B,CAAC;IACtC,CAAC;CAEJ;AARD,kDAQC;AAED,MAAa,kBAAmB,SAAQ,oBAAY;IAApD;;QAEa,SAAI,GAAG,UAAU,CAAC;IAM/B,CAAC;IAJG,OAAO;QACH,OAAO,2BAA2B,CAAC;IACvC,CAAC;CAEJ;AARD,gDAQC;AAED,MAAa,uBAAwB,SAAQ,oBAAY;IAMrD,YACI,gBAEgF;QAEhF,KAAK,EAAE,CAAC;QATH,SAAI,GAAG,gBAAgB,CAAC;QAU7B,IAAI,gBAAgB,YAAY,QAAQ,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,CAAO,KAAgC,EAAE,EAAE;gBACxD,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBACrD,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAA,CAAC;SACL;IACL,CAAC;IAED,OAAO;QACH,OAAO,iDAAiD,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,OAA4B;QAClC,OAAO,CAAC,SAAS,CAGf,CAAO,GAAG,EAAE,EAAE;YACZ,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;CAEJ;AAvCD,0DAuCC;AAED,MAAa,0BAA2B,SAAQ,oBAAY;IAA5D;;QAEa,SAAI,GAAG,mBAAmB,CAAC;IAMxC,CAAC;IAJG,OAAO;QACH,OAAO,2CAA2C,CAAC;IACvD,CAAC;CAEJ;AARD,gEAQC;AAEY,QAAA,oBAAoB,GAAG;IAChC,mBAAmB,EAAE,6BAA6B;IAClD,2BAA2B,EAAE,4BAA4B;IACzD,oBAAoB,EAAE,0BAA0B;IAChD,oBAAoB,EAAE,0BAA0B;IAChD,sBAAsB,EAAE,4BAA4B;IACpD,yBAAyB,EAAE,2BAA2B;IACtD,uBAAuB,EAAE,kBAAkB;IAC3C,sBAAsB,EAAE,mBAAmB;IAC3C,UAAU,EAAE,kBAAkB;IAC9B,gBAAgB,EAAE,uBAAuB;IACzC,mBAAmB,EAAE,0BAA0B;CAClD,CAAC"}
1
+ {"version":3,"file":"handler-step-definitions.js","sourceRoot":"","sources":["../../src/handling/handler-step-definitions.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,2FAA2F;AAM5E,oBAAY,GAAK,cAAc,CAAC,aAAa,cAAC;AAO7D,MAAa,mBAAoB,SAAQ,oBAAY;IAKjD,YACoB,UAAkB;QAElC,KAAK,EAAE,CAAC;QAFQ,eAAU,GAAV,UAAU,CAAQ;QAJ7B,SAAI,GAAG,mBAAmB,CAAC;IAOpC,CAAC;IAED,OAAO;QACH,OAAO,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC;IAC3C,CAAC;;AAbL,kDAeC;AAZmB,2BAAO,GAAG,KAAK,CAAC;AAcpC,MAAa,kBAAmB,SAAQ,oBAAY;IAKhD,YACoB,YAAqB;QAErC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAS;QAJhC,SAAI,GAAG,2BAA2B,CAAC;IAO5C,CAAC;IAED,OAAO;QACH,OAAO,0BAA0B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,CAAC;;AAbL,gDAeC;AAZmB,0BAAO,GAAG,KAAK,CAAC;AAcpC,MAAa,kBAAmB,SAAQ,oBAAY;IAKhD,YACoB,YAAqB;QAErC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAS;QAJhC,SAAI,GAAG,sBAAsB,CAAC;IAOvC,CAAC;IAED,OAAO;QACH,OAAO,0BAA0B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;;AAbL,gDAeC;AAZmB,0BAAO,GAAG,KAAK,CAAC;AAcpC,MAAa,gBAAiB,SAAQ,oBAAY;IAAlD;;QAEa,SAAI,GAAG,oBAAoB,CAAC;IAOzC,CAAC;IAJG,OAAO;QACH,OAAO,uBAAuB,CAAC;IACnC,CAAC;;AAPL,4CASC;AANmB,wBAAO,GAAG,KAAK,CAAC;AAQpC,MAAa,gBAAiB,SAAQ,oBAAY;IAAlD;;QAEa,SAAI,GAAG,oBAAoB,CAAC;IAOzC,CAAC;IAJG,OAAO;QACH,OAAO,yBAAyB,CAAC;IACrC,CAAC;;AAPL,4CASC;AANmB,wBAAO,GAAG,KAAK,CAAC;AAQpC,MAAa,iBAAkB,SAAQ,oBAAY;IAK/C,YACoB,YAAoB;QAEpC,KAAK,EAAE,CAAC;QAFQ,iBAAY,GAAZ,YAAY,CAAQ;QAJ/B,SAAI,GAAG,yBAAyB,CAAC;IAO1C,CAAC;IAED,OAAO;QACH,OAAO,wCAAwC,IAAI,CAAC,YAAY,GAAG,CAAC;IACxE,CAAC;;AAbL,8CAeC;AAZmB,yBAAO,GAAG,KAAK,CAAC;AAcpC,MAAa,QAAS,SAAQ,oBAAY;IAKtC,YACoB,YAAgC,EAChC,OAAwB;QAExC,KAAK,EAAE,CAAC;QAHQ,iBAAY,GAAZ,YAAY,CAAoB;QAChC,YAAO,GAAP,OAAO,CAAiB;QALnC,SAAI,GAAG,uBAAuB,CAAC;IAQxC,CAAC;IAED,OAAO;QACH,OAAO,2BAA2B,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtG,CAAC;;AAdL,4BAgBC;AAbmB,gBAAO,GAAG,KAAK,CAAC;AAepC,MAAa,SAAU,SAAQ,oBAAY;IAA3C;;QAEa,SAAI,GAAG,sBAAsB,CAAC;IAO3C,CAAC;IAJG,OAAO;QACH,OAAO,0BAA0B,CAAC;IACtC,CAAC;;AAPL,8BASC;AANmB,iBAAO,GAAG,IAAI,CAAC;AAQnC,MAAa,QAAS,SAAQ,oBAAY;IAA1C;;QAEa,SAAI,GAAG,UAAU,CAAC;IAO/B,CAAC;IAJG,OAAO;QACH,OAAO,2BAA2B,CAAC;IACvC,CAAC;;AAPL,4BASC;AANmB,gBAAO,GAAG,IAAI,CAAC;AAQnC,MAAa,aAAc,SAAQ,oBAAY;IAS3C,YACI,gBAEgF;QAEhF,KAAK,EAAE,CAAC;QAZH,SAAI,GAAG,gBAAgB,CAAC;QAGvB,wBAAmB,GAAoB,EAAE,CAAC,CAAC,8CAA8C;QAU/F,IAAI,gBAAgB,YAAY,QAAQ,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,SAAS,GAAG,CAAO,KAAgC,EAAE,EAAE;gBACxD,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBACrD,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAA,CAAC;SACL;IACL,CAAC;IAED,OAAO;QACH,OAAO,iDAAiD,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,OAA4B;QAClC,OAAO,CAAC,SAAS,CAGf,CAAO,GAAG,EAAE,EAAE;YACZ,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,CAAC,CAAA,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;;AAxCL,sCA0CC;AAvCmB,qBAAO,GAAG,IAAI,CAAC;AAyCnC,MAAa,gBAAiB,SAAQ,oBAAY;IAAlD;;QAEa,SAAI,GAAG,mBAAmB,CAAC;QAG1B,wBAAmB,GAAoB,EAAE,CAAC,CAAC,8CAA8C;IAMvG,CAAC;IAJG,OAAO;QACH,OAAO,2CAA2C,CAAC;IACvD,CAAC;;AATL,4CAWC;AARmB,wBAAO,GAAG,IAAI,CAAC;AAUtB,QAAA,oBAAoB,GAAG;IAChC,mBAAmB,EAAE,mBAAmB;IACxC,2BAA2B,EAAE,kBAAkB;IAC/C,oBAAoB,EAAE,gBAAgB;IACtC,oBAAoB,EAAE,gBAAgB;IACtC,sBAAsB,EAAE,kBAAkB;IAC1C,yBAAyB,EAAE,iBAAiB;IAC5C,uBAAuB,EAAE,QAAQ;IACjC,sBAAsB,EAAE,SAAS;IACjC,UAAU,EAAE,QAAQ;IACpB,gBAAgB,EAAE,aAAa;IAC/B,mBAAmB,EAAE,gBAAgB;CACxC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { PluggableAdmin } from 'mockttp';
2
+ import type { MockRTCConnection } from '../webrtc/mockrtc-connection';
3
+ import { StepDefinitionLookup, CloseStep, DynamicProxyStep, EchoStep, HandlerStepDefinition, PeerProxyStep, CreateChannelStep, SendStep, WaitForChannelStep, WaitForDurationStep, WaitForMediaStep, WaitForMessageStep, WaitForTrackStep } from './handler-step-definitions';
4
+ declare type ClientServerChannel = PluggableAdmin.Serialization.ClientServerChannel;
5
+ export interface HandlerStepImpl extends HandlerStepDefinition {
6
+ handle(connection: MockRTCConnection): Promise<void>;
7
+ }
8
+ export declare class WaitForDurationStepImpl extends WaitForDurationStep {
9
+ handle(): Promise<void>;
10
+ }
11
+ export declare class WaitForChannelStepImpl extends WaitForChannelStep {
12
+ private matchesChannel;
13
+ handle(connection: MockRTCConnection): Promise<void>;
14
+ }
15
+ export declare class WaitForMessageStepImpl extends WaitForMessageStep {
16
+ private matchesChannel;
17
+ handle(connection: MockRTCConnection): Promise<void>;
18
+ }
19
+ export declare class WaitForTrackStepImpl extends WaitForTrackStep {
20
+ handle(connection: MockRTCConnection): Promise<void>;
21
+ }
22
+ export declare class WaitForMediaStepImpl extends WaitForMediaStep {
23
+ handle(connection: MockRTCConnection): Promise<void>;
24
+ }
25
+ export declare class CreateChannelStepImpl extends CreateChannelStep {
26
+ handle(conn: MockRTCConnection): Promise<void>;
27
+ }
28
+ export declare class SendStepImpl extends SendStep {
29
+ private matchesChannel;
30
+ handle({ channels }: MockRTCConnection): Promise<void>;
31
+ static deserialize(data: {
32
+ channelLabel: string | undefined;
33
+ message: string | {
34
+ type: 'Buffer';
35
+ data: number[];
36
+ };
37
+ }): SendStep;
38
+ }
39
+ export declare class CloseStepImpl extends CloseStep {
40
+ handle(connection: MockRTCConnection): Promise<void>;
41
+ }
42
+ export declare class EchoStepImpl extends EchoStep {
43
+ handle(connection: MockRTCConnection): Promise<void>;
44
+ }
45
+ export declare class PeerProxyStepImpl extends PeerProxyStep {
46
+ handle(connection: MockRTCConnection): Promise<void>;
47
+ serialize(channel: ClientServerChannel): {};
48
+ static deserialize(_data: {}, channel: ClientServerChannel): PeerProxyStep;
49
+ dispose(): void;
50
+ }
51
+ export declare class DynamicProxyStepImpl extends DynamicProxyStep {
52
+ handle(connection: MockRTCConnection): Promise<void>;
53
+ dispose(): void;
54
+ }
55
+ export declare const StepLookup: typeof StepDefinitionLookup;
56
+ export {};