@mswjs/interceptors 0.39.8 → 0.41.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/ClientRequest/package.json +7 -2
- package/RemoteHttpInterceptor/package.json +7 -2
- package/WebSocket/package.json +9 -2
- package/XMLHttpRequest/package.json +9 -3
- package/fetch/package.json +9 -3
- package/lib/browser/Interceptor-2mUoKZL1.d.mts +65 -0
- package/lib/browser/Interceptor-Deczogc8.d.cts +65 -0
- package/lib/browser/XMLHttpRequest-BUfglQD1.cjs +761 -0
- package/lib/browser/XMLHttpRequest-BUfglQD1.cjs.map +1 -0
- package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs +756 -0
- package/lib/browser/XMLHttpRequest-DS5fc8Qs.mjs.map +1 -0
- package/lib/browser/bufferUtils-BiiO6HZv.mjs +20 -0
- package/lib/browser/bufferUtils-BiiO6HZv.mjs.map +1 -0
- package/lib/browser/bufferUtils-Uc0eRItL.cjs +38 -0
- package/lib/browser/bufferUtils-Uc0eRItL.cjs.map +1 -0
- package/lib/browser/createRequestId-Cs4oXfa1.cjs +205 -0
- package/lib/browser/createRequestId-Cs4oXfa1.cjs.map +1 -0
- package/lib/browser/createRequestId-DQcIlohW.mjs +170 -0
- package/lib/browser/createRequestId-DQcIlohW.mjs.map +1 -0
- package/lib/browser/fetch-BHcqM3z7.cjs +253 -0
- package/lib/browser/fetch-BHcqM3z7.cjs.map +1 -0
- package/lib/browser/fetch-DSJoynSF.mjs +248 -0
- package/lib/browser/fetch-DSJoynSF.mjs.map +1 -0
- package/lib/browser/getRawRequest-BTaNLFr0.mjs +218 -0
- package/lib/browser/getRawRequest-BTaNLFr0.mjs.map +1 -0
- package/lib/browser/getRawRequest-zx8rUJL2.cjs +259 -0
- package/lib/browser/getRawRequest-zx8rUJL2.cjs.map +1 -0
- package/lib/browser/glossary-BdLS4k1H.d.cts +70 -0
- package/lib/browser/glossary-gEEJhK4S.d.mts +70 -0
- package/lib/browser/handleRequest-DI6a7Dty.cjs +189 -0
- package/lib/browser/handleRequest-DI6a7Dty.cjs.map +1 -0
- package/lib/browser/handleRequest-DxGbCTbb.mjs +178 -0
- package/lib/browser/handleRequest-DxGbCTbb.mjs.map +1 -0
- package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs +33 -0
- package/lib/browser/hasConfigurableGlobal-C8kXFDic.mjs.map +1 -0
- package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs +45 -0
- package/lib/browser/hasConfigurableGlobal-D7S3l5h6.cjs.map +1 -0
- package/lib/browser/index.cjs +68 -0
- package/lib/browser/index.cjs.map +1 -0
- package/lib/browser/index.d.cts +87 -0
- package/lib/browser/index.d.mts +87 -0
- package/lib/browser/index.mjs +49 -75
- package/lib/browser/index.mjs.map +1 -1
- package/lib/browser/interceptors/WebSocket/index.cjs +621 -0
- package/lib/browser/interceptors/WebSocket/index.cjs.map +1 -0
- package/lib/browser/interceptors/WebSocket/index.d.cts +277 -0
- package/lib/browser/interceptors/WebSocket/index.d.mts +277 -0
- package/lib/browser/interceptors/WebSocket/index.mjs +587 -694
- package/lib/browser/interceptors/WebSocket/index.mjs.map +1 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.cjs +7 -0
- package/lib/browser/interceptors/XMLHttpRequest/index.d.cts +15 -0
- package/lib/browser/interceptors/XMLHttpRequest/index.d.mts +15 -0
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs +7 -12
- package/lib/browser/interceptors/fetch/index.cjs +6 -0
- package/lib/browser/interceptors/fetch/index.d.cts +13 -0
- package/lib/browser/interceptors/fetch/index.d.mts +13 -0
- package/lib/browser/interceptors/fetch/index.mjs +6 -11
- package/lib/browser/presets/browser.cjs +17 -0
- package/lib/browser/presets/browser.cjs.map +1 -0
- package/lib/browser/presets/browser.d.cts +12 -0
- package/lib/browser/presets/browser.d.mts +14 -0
- package/lib/browser/presets/browser.mjs +15 -19
- package/lib/browser/presets/browser.mjs.map +1 -1
- package/lib/node/BatchInterceptor-3LnAnLTx.cjs +49 -0
- package/lib/node/BatchInterceptor-3LnAnLTx.cjs.map +1 -0
- package/lib/node/BatchInterceptor-D7mXzHcQ.d.mts +26 -0
- package/lib/node/BatchInterceptor-DFaBPilf.mjs +44 -0
- package/lib/node/BatchInterceptor-DFaBPilf.mjs.map +1 -0
- package/lib/node/BatchInterceptor-D_YqR8qU.d.cts +26 -0
- package/lib/node/ClientRequest-2rDe54Ui.cjs +1043 -0
- package/lib/node/ClientRequest-2rDe54Ui.cjs.map +1 -0
- package/lib/node/ClientRequest-Ca8Qykuv.mjs +1034 -0
- package/lib/node/ClientRequest-Ca8Qykuv.mjs.map +1 -0
- package/lib/node/Interceptor-DEazpLJd.d.mts +133 -0
- package/lib/node/Interceptor-DJ2akVWI.d.cts +133 -0
- package/lib/node/RemoteHttpInterceptor.cjs +154 -0
- package/lib/node/RemoteHttpInterceptor.cjs.map +1 -0
- package/lib/node/RemoteHttpInterceptor.d.cts +39 -0
- package/lib/node/RemoteHttpInterceptor.d.mts +39 -0
- package/lib/node/RemoteHttpInterceptor.mjs +145 -186
- package/lib/node/RemoteHttpInterceptor.mjs.map +1 -1
- package/lib/node/XMLHttpRequest-B7kJdYYI.cjs +763 -0
- package/lib/node/XMLHttpRequest-B7kJdYYI.cjs.map +1 -0
- package/lib/node/XMLHttpRequest-C8dIZpds.mjs +757 -0
- package/lib/node/XMLHttpRequest-C8dIZpds.mjs.map +1 -0
- package/lib/node/bufferUtils-DiCTqG-7.cjs +38 -0
- package/lib/node/bufferUtils-DiCTqG-7.cjs.map +1 -0
- package/lib/node/bufferUtils-_8XfKIfX.mjs +20 -0
- package/lib/node/bufferUtils-_8XfKIfX.mjs.map +1 -0
- package/lib/node/chunk-CbDLau6x.cjs +34 -0
- package/lib/node/fetch-BmXpK10r.cjs +272 -0
- package/lib/node/fetch-BmXpK10r.cjs.map +1 -0
- package/lib/node/fetch-G1DVwDKG.mjs +265 -0
- package/lib/node/fetch-G1DVwDKG.mjs.map +1 -0
- package/lib/node/fetchUtils-BaY5iWXw.cjs +419 -0
- package/lib/node/fetchUtils-BaY5iWXw.cjs.map +1 -0
- package/lib/node/fetchUtils-CoU35g3M.mjs +359 -0
- package/lib/node/fetchUtils-CoU35g3M.mjs.map +1 -0
- package/lib/node/getRawRequest-BavnMWh_.cjs +36 -0
- package/lib/node/getRawRequest-BavnMWh_.cjs.map +1 -0
- package/lib/node/getRawRequest-DnwmXyOW.mjs +24 -0
- package/lib/node/getRawRequest-DnwmXyOW.mjs.map +1 -0
- package/lib/node/glossary-BLKRyLBd.cjs +12 -0
- package/lib/node/glossary-BLKRyLBd.cjs.map +1 -0
- package/lib/node/glossary-glQBRnVD.mjs +6 -0
- package/lib/node/glossary-glQBRnVD.mjs.map +1 -0
- package/lib/node/handleRequest-Bb7Y-XLw.cjs +220 -0
- package/lib/node/handleRequest-Bb7Y-XLw.cjs.map +1 -0
- package/lib/node/handleRequest-Y97UwBbF.mjs +190 -0
- package/lib/node/handleRequest-Y97UwBbF.mjs.map +1 -0
- package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs +26 -0
- package/lib/node/hasConfigurableGlobal-C97fWuaA.cjs.map +1 -0
- package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs +20 -0
- package/lib/node/hasConfigurableGlobal-DBJA0vjm.mjs.map +1 -0
- package/lib/node/index-BMbJ8FXL.d.cts +113 -0
- package/lib/node/index-C0YAQ36w.d.mts +113 -0
- package/lib/node/index.cjs +30 -0
- package/lib/node/index.cjs.map +1 -0
- package/lib/node/index.d.cts +66 -0
- package/lib/node/index.d.mts +66 -0
- package/lib/node/index.mjs +13 -39
- package/lib/node/index.mjs.map +1 -1
- package/lib/node/interceptors/ClientRequest/index.cjs +6 -0
- package/lib/node/interceptors/ClientRequest/index.d.cts +2 -0
- package/lib/node/interceptors/ClientRequest/index.d.mts +3 -0
- package/lib/node/interceptors/ClientRequest/index.mjs +6 -11
- package/lib/node/interceptors/XMLHttpRequest/index.cjs +6 -0
- package/lib/node/interceptors/XMLHttpRequest/index.d.cts +14 -0
- package/lib/node/interceptors/XMLHttpRequest/index.d.mts +14 -0
- package/lib/node/interceptors/XMLHttpRequest/index.mjs +6 -13
- package/lib/node/interceptors/fetch/index.cjs +5 -0
- package/lib/node/interceptors/fetch/index.d.cts +12 -0
- package/lib/node/interceptors/fetch/index.d.mts +12 -0
- package/lib/node/interceptors/fetch/index.mjs +5 -12
- package/lib/node/node-DwCc6iuP.mjs +27 -0
- package/lib/node/node-DwCc6iuP.mjs.map +1 -0
- package/lib/node/node-dKdAf3tC.cjs +39 -0
- package/lib/node/node-dKdAf3tC.cjs.map +1 -0
- package/lib/node/presets/node.cjs +22 -0
- package/lib/node/presets/node.cjs.map +1 -0
- package/lib/node/presets/node.d.cts +13 -0
- package/lib/node/presets/node.d.mts +15 -0
- package/lib/node/presets/node.mjs +18 -23
- package/lib/node/presets/node.mjs.map +1 -1
- package/lib/node/utils/node/index.cjs +4 -0
- package/lib/node/utils/node/{index.d.ts → index.d.cts} +5 -2
- package/lib/node/utils/node/index.d.mts +16 -0
- package/lib/node/utils/node/index.mjs +3 -10
- package/package.json +34 -59
- package/presets/browser/package.json +2 -3
- package/presets/node/package.json +7 -2
- package/src/RemoteHttpInterceptor.ts +18 -13
- package/src/RequestController.test.ts +78 -31
- package/src/RequestController.ts +63 -39
- package/src/index.ts +4 -0
- package/src/interceptors/ClientRequest/MockHttpSocket.ts +43 -9
- package/src/interceptors/ClientRequest/index.ts +14 -18
- package/src/interceptors/ClientRequest/utils/parserUtils.ts +48 -0
- package/src/interceptors/WebSocket/index.ts +4 -1
- package/src/interceptors/XMLHttpRequest/XMLHttpRequestController.ts +45 -35
- package/src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts +24 -21
- package/src/interceptors/XMLHttpRequest/utils/getBodyByteLength.test.ts +2 -2
- package/src/interceptors/fetch/index.ts +61 -50
- package/src/utils/handleRequest.ts +65 -95
- package/lib/browser/Interceptor-af98b768.d.ts +0 -63
- package/lib/browser/chunk-2HUMWGRD.js +0 -37
- package/lib/browser/chunk-2HUMWGRD.js.map +0 -1
- package/lib/browser/chunk-2QICSCCS.js +0 -238
- package/lib/browser/chunk-2QICSCCS.js.map +0 -1
- package/lib/browser/chunk-3RXCRGL2.mjs +0 -117
- package/lib/browser/chunk-3RXCRGL2.mjs.map +0 -1
- package/lib/browser/chunk-6HYIRFX2.mjs +0 -22
- package/lib/browser/chunk-6HYIRFX2.mjs.map +0 -1
- package/lib/browser/chunk-E3CCOBRX.js +0 -846
- package/lib/browser/chunk-E3CCOBRX.js.map +0 -1
- package/lib/browser/chunk-E7UVBHVO.mjs +0 -846
- package/lib/browser/chunk-E7UVBHVO.mjs.map +0 -1
- package/lib/browser/chunk-H74PGQ4Y.js +0 -296
- package/lib/browser/chunk-H74PGQ4Y.js.map +0 -1
- package/lib/browser/chunk-LK6DILFK.js +0 -22
- package/lib/browser/chunk-LK6DILFK.js.map +0 -1
- package/lib/browser/chunk-PTTUYYVR.mjs +0 -238
- package/lib/browser/chunk-PTTUYYVR.mjs.map +0 -1
- package/lib/browser/chunk-Q7K2XAEP.mjs +0 -296
- package/lib/browser/chunk-Q7K2XAEP.mjs.map +0 -1
- package/lib/browser/chunk-QED3Q6Z2.mjs +0 -169
- package/lib/browser/chunk-QED3Q6Z2.mjs.map +0 -1
- package/lib/browser/chunk-T7TBRNJZ.js +0 -117
- package/lib/browser/chunk-T7TBRNJZ.js.map +0 -1
- package/lib/browser/chunk-TIPR373R.js +0 -169
- package/lib/browser/chunk-TIPR373R.js.map +0 -1
- package/lib/browser/chunk-VYSDLBSS.mjs +0 -37
- package/lib/browser/chunk-VYSDLBSS.mjs.map +0 -1
- package/lib/browser/glossary-7152281e.d.ts +0 -69
- package/lib/browser/index.d.ts +0 -83
- package/lib/browser/index.js +0 -81
- package/lib/browser/index.js.map +0 -1
- package/lib/browser/interceptors/WebSocket/index.d.ts +0 -271
- package/lib/browser/interceptors/WebSocket/index.js +0 -721
- package/lib/browser/interceptors/WebSocket/index.js.map +0 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +0 -15
- package/lib/browser/interceptors/XMLHttpRequest/index.js +0 -12
- package/lib/browser/interceptors/XMLHttpRequest/index.js.map +0 -1
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs.map +0 -1
- package/lib/browser/interceptors/fetch/index.d.ts +0 -14
- package/lib/browser/interceptors/fetch/index.js +0 -11
- package/lib/browser/interceptors/fetch/index.js.map +0 -1
- package/lib/browser/interceptors/fetch/index.mjs.map +0 -1
- package/lib/browser/presets/browser.d.ts +0 -15
- package/lib/browser/presets/browser.js +0 -21
- package/lib/browser/presets/browser.js.map +0 -1
- package/lib/node/BatchInterceptor-5b72232f.d.ts +0 -24
- package/lib/node/Interceptor-bc5a9d8e.d.ts +0 -130
- package/lib/node/RemoteHttpInterceptor.d.ts +0 -45
- package/lib/node/RemoteHttpInterceptor.js +0 -193
- package/lib/node/RemoteHttpInterceptor.js.map +0 -1
- package/lib/node/chunk-3CNGDJFB.mjs +0 -313
- package/lib/node/chunk-3CNGDJFB.mjs.map +0 -1
- package/lib/node/chunk-3GJB4JDF.mjs +0 -14
- package/lib/node/chunk-3GJB4JDF.mjs.map +0 -1
- package/lib/node/chunk-4NEYTVWD.mjs +0 -848
- package/lib/node/chunk-4NEYTVWD.mjs.map +0 -1
- package/lib/node/chunk-4YBV77DG.js +0 -32
- package/lib/node/chunk-4YBV77DG.js.map +0 -1
- package/lib/node/chunk-6HYIRFX2.mjs +0 -22
- package/lib/node/chunk-6HYIRFX2.mjs.map +0 -1
- package/lib/node/chunk-6YM4PLBI.mjs +0 -7
- package/lib/node/chunk-6YM4PLBI.mjs.map +0 -1
- package/lib/node/chunk-72ZIHMEB.js +0 -249
- package/lib/node/chunk-72ZIHMEB.js.map +0 -1
- package/lib/node/chunk-73NOP3T5.js +0 -7
- package/lib/node/chunk-73NOP3T5.js.map +0 -1
- package/lib/node/chunk-A7Q4RTDJ.mjs +0 -249
- package/lib/node/chunk-A7Q4RTDJ.mjs.map +0 -1
- package/lib/node/chunk-A7U44ARP.js +0 -268
- package/lib/node/chunk-A7U44ARP.js.map +0 -1
- package/lib/node/chunk-EKNRB5ZS.mjs +0 -1115
- package/lib/node/chunk-EKNRB5ZS.mjs.map +0 -1
- package/lib/node/chunk-IHJSPMYM.mjs +0 -268
- package/lib/node/chunk-IHJSPMYM.mjs.map +0 -1
- package/lib/node/chunk-LK6DILFK.js +0 -22
- package/lib/node/chunk-LK6DILFK.js.map +0 -1
- package/lib/node/chunk-N4ZZFE24.js +0 -1115
- package/lib/node/chunk-N4ZZFE24.js.map +0 -1
- package/lib/node/chunk-PFGO5BSM.js +0 -25
- package/lib/node/chunk-PFGO5BSM.js.map +0 -1
- package/lib/node/chunk-R6JVCM7X.js +0 -51
- package/lib/node/chunk-R6JVCM7X.js.map +0 -1
- package/lib/node/chunk-RC2XPCC4.mjs +0 -51
- package/lib/node/chunk-RC2XPCC4.mjs.map +0 -1
- package/lib/node/chunk-SMXZPJEA.js +0 -14
- package/lib/node/chunk-SMXZPJEA.js.map +0 -1
- package/lib/node/chunk-TJDMZZXE.mjs +0 -32
- package/lib/node/chunk-TJDMZZXE.mjs.map +0 -1
- package/lib/node/chunk-TX5GBTFY.mjs +0 -25
- package/lib/node/chunk-TX5GBTFY.mjs.map +0 -1
- package/lib/node/chunk-VV2LUF5K.js +0 -848
- package/lib/node/chunk-VV2LUF5K.js.map +0 -1
- package/lib/node/chunk-Z5LWCBZS.js +0 -313
- package/lib/node/chunk-Z5LWCBZS.js.map +0 -1
- package/lib/node/index.d.ts +0 -62
- package/lib/node/index.js +0 -43
- package/lib/node/index.js.map +0 -1
- package/lib/node/interceptors/ClientRequest/index.d.ts +0 -111
- package/lib/node/interceptors/ClientRequest/index.js +0 -11
- package/lib/node/interceptors/ClientRequest/index.js.map +0 -1
- package/lib/node/interceptors/ClientRequest/index.mjs.map +0 -1
- package/lib/node/interceptors/XMLHttpRequest/index.d.ts +0 -14
- package/lib/node/interceptors/XMLHttpRequest/index.js +0 -13
- package/lib/node/interceptors/XMLHttpRequest/index.js.map +0 -1
- package/lib/node/interceptors/XMLHttpRequest/index.mjs.map +0 -1
- package/lib/node/interceptors/fetch/index.d.ts +0 -13
- package/lib/node/interceptors/fetch/index.js +0 -12
- package/lib/node/interceptors/fetch/index.js.map +0 -1
- package/lib/node/interceptors/fetch/index.mjs.map +0 -1
- package/lib/node/presets/node.d.ts +0 -16
- package/lib/node/presets/node.js +0 -27
- package/lib/node/presets/node.js.map +0 -1
- package/lib/node/utils/node/index.js +0 -10
- package/lib/node/utils/node/index.js.map +0 -1
- package/lib/node/utils/node/index.mjs.map +0 -1
- package/src/utils/RequestController.ts +0 -21
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { r as Interceptor } from "../../Interceptor-2mUoKZL1.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/interceptors/WebSocket/utils/events.d.ts
|
|
4
|
+
declare const kCancelable: unique symbol;
|
|
5
|
+
declare const kDefaultPrevented: unique symbol;
|
|
6
|
+
/**
|
|
7
|
+
* A `MessageEvent` superset that supports event cancellation
|
|
8
|
+
* in Node.js. It's rather non-intrusive so it can be safely
|
|
9
|
+
* used in the browser as well.
|
|
10
|
+
*
|
|
11
|
+
* @see https://github.com/nodejs/node/issues/51767
|
|
12
|
+
*/
|
|
13
|
+
declare class CancelableMessageEvent<T = any> extends MessageEvent<T> {
|
|
14
|
+
[kCancelable]: boolean;
|
|
15
|
+
[kDefaultPrevented]: boolean;
|
|
16
|
+
constructor(type: string, init: MessageEventInit<T>);
|
|
17
|
+
get cancelable(): boolean;
|
|
18
|
+
set cancelable(nextCancelable: boolean);
|
|
19
|
+
get defaultPrevented(): boolean;
|
|
20
|
+
set defaultPrevented(nextDefaultPrevented: boolean);
|
|
21
|
+
preventDefault(): void;
|
|
22
|
+
}
|
|
23
|
+
interface CloseEventInit extends EventInit {
|
|
24
|
+
code?: number;
|
|
25
|
+
reason?: string;
|
|
26
|
+
wasClean?: boolean;
|
|
27
|
+
}
|
|
28
|
+
declare class CloseEvent extends Event {
|
|
29
|
+
code: number;
|
|
30
|
+
reason: string;
|
|
31
|
+
wasClean: boolean;
|
|
32
|
+
constructor(type: string, init?: CloseEventInit);
|
|
33
|
+
}
|
|
34
|
+
declare class CancelableCloseEvent extends CloseEvent {
|
|
35
|
+
[kCancelable]: boolean;
|
|
36
|
+
[kDefaultPrevented]: boolean;
|
|
37
|
+
constructor(type: string, init?: CloseEventInit);
|
|
38
|
+
get cancelable(): boolean;
|
|
39
|
+
set cancelable(nextCancelable: boolean);
|
|
40
|
+
get defaultPrevented(): boolean;
|
|
41
|
+
set defaultPrevented(nextDefaultPrevented: boolean);
|
|
42
|
+
preventDefault(): void;
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/interceptors/WebSocket/WebSocketTransport.d.ts
|
|
46
|
+
type WebSocketData = string | ArrayBufferLike | Blob | ArrayBufferView;
|
|
47
|
+
type WebSocketTransportEventMap = {
|
|
48
|
+
incoming: MessageEvent<WebSocketData>;
|
|
49
|
+
outgoing: MessageEvent<WebSocketData>;
|
|
50
|
+
close: CloseEvent;
|
|
51
|
+
};
|
|
52
|
+
type StrictEventListenerOrEventListenerObject<EventType extends Event> = ((this: WebSocket, event: EventType) => void) | {
|
|
53
|
+
handleEvent(this: WebSocket, event: EventType): void;
|
|
54
|
+
};
|
|
55
|
+
interface WebSocketTransport {
|
|
56
|
+
addEventListener<EventType extends keyof WebSocketTransportEventMap>(event: EventType, listener: StrictEventListenerOrEventListenerObject<WebSocketTransportEventMap[EventType]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
57
|
+
dispatchEvent<EventType extends keyof WebSocketTransportEventMap>(event: WebSocketTransportEventMap[EventType]): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Send the data from the server to this client.
|
|
60
|
+
*/
|
|
61
|
+
send(data: WebSocketData): void;
|
|
62
|
+
/**
|
|
63
|
+
* Close the client connection.
|
|
64
|
+
*/
|
|
65
|
+
close(code?: number, reason?: string): void;
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
//#region src/interceptors/WebSocket/WebSocketOverride.d.ts
|
|
69
|
+
type WebSocketEventListener<EventType extends WebSocketEventMap[keyof WebSocketEventMap] = Event> = (this: WebSocket, event: EventType) => void;
|
|
70
|
+
declare const kPassthroughPromise: unique symbol;
|
|
71
|
+
declare const kOnSend: unique symbol;
|
|
72
|
+
declare const kClose: unique symbol;
|
|
73
|
+
declare class WebSocketOverride extends EventTarget implements WebSocket {
|
|
74
|
+
static readonly CONNECTING = 0;
|
|
75
|
+
static readonly OPEN = 1;
|
|
76
|
+
static readonly CLOSING = 2;
|
|
77
|
+
static readonly CLOSED = 3;
|
|
78
|
+
readonly CONNECTING = 0;
|
|
79
|
+
readonly OPEN = 1;
|
|
80
|
+
readonly CLOSING = 2;
|
|
81
|
+
readonly CLOSED = 3;
|
|
82
|
+
url: string;
|
|
83
|
+
protocol: string;
|
|
84
|
+
extensions: string;
|
|
85
|
+
binaryType: BinaryType;
|
|
86
|
+
readyState: number;
|
|
87
|
+
bufferedAmount: number;
|
|
88
|
+
private _onopen;
|
|
89
|
+
private _onmessage;
|
|
90
|
+
private _onerror;
|
|
91
|
+
private _onclose;
|
|
92
|
+
private [kPassthroughPromise];
|
|
93
|
+
private [kOnSend]?;
|
|
94
|
+
constructor(url: string | URL, protocols?: string | Array<string>);
|
|
95
|
+
set onopen(listener: WebSocketEventListener | null);
|
|
96
|
+
get onopen(): WebSocketEventListener | null;
|
|
97
|
+
set onmessage(listener: WebSocketEventListener<MessageEvent<WebSocketData>> | null);
|
|
98
|
+
get onmessage(): WebSocketEventListener<MessageEvent<WebSocketData>> | null;
|
|
99
|
+
set onerror(listener: WebSocketEventListener | null);
|
|
100
|
+
get onerror(): WebSocketEventListener | null;
|
|
101
|
+
set onclose(listener: WebSocketEventListener<CloseEvent> | null);
|
|
102
|
+
get onclose(): WebSocketEventListener<CloseEvent> | null;
|
|
103
|
+
/**
|
|
104
|
+
* @see https://websockets.spec.whatwg.org/#ref-for-dom-websocket-send%E2%91%A0
|
|
105
|
+
*/
|
|
106
|
+
send(data: WebSocketData): void;
|
|
107
|
+
close(code?: number, reason?: string): void;
|
|
108
|
+
private [kClose];
|
|
109
|
+
addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, event: WebSocketEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
|
|
110
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
111
|
+
removeEventListener<K extends keyof WebSocketEventMap>(type: K, callback: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions): void;
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/interceptors/WebSocket/WebSocketClientConnection.d.ts
|
|
115
|
+
declare const kEmitter$1: unique symbol;
|
|
116
|
+
interface WebSocketClientEventMap {
|
|
117
|
+
message: MessageEvent<WebSocketData>;
|
|
118
|
+
close: CloseEvent;
|
|
119
|
+
}
|
|
120
|
+
declare abstract class WebSocketClientConnectionProtocol {
|
|
121
|
+
abstract id: string;
|
|
122
|
+
abstract url: URL;
|
|
123
|
+
abstract send(data: WebSocketData): void;
|
|
124
|
+
abstract close(code?: number, reason?: string): void;
|
|
125
|
+
abstract addEventListener<EventType extends keyof WebSocketClientEventMap>(type: EventType, listener: WebSocketEventListener<WebSocketClientEventMap[EventType]>, options?: AddEventListenerOptions | boolean): void;
|
|
126
|
+
abstract removeEventListener<EventType extends keyof WebSocketClientEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketClientEventMap[EventType]>, options?: EventListenerOptions | boolean): void;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* The WebSocket client instance represents an incoming
|
|
130
|
+
* client connection. The user can control the connection,
|
|
131
|
+
* send and receive events.
|
|
132
|
+
*/
|
|
133
|
+
declare class WebSocketClientConnection implements WebSocketClientConnectionProtocol {
|
|
134
|
+
readonly socket: WebSocket;
|
|
135
|
+
private readonly transport;
|
|
136
|
+
readonly id: string;
|
|
137
|
+
readonly url: URL;
|
|
138
|
+
private [kEmitter$1];
|
|
139
|
+
constructor(socket: WebSocket, transport: WebSocketTransport);
|
|
140
|
+
/**
|
|
141
|
+
* Listen for the outgoing events from the connected WebSocket client.
|
|
142
|
+
*/
|
|
143
|
+
addEventListener<EventType extends keyof WebSocketClientEventMap>(type: EventType, listener: WebSocketEventListener<WebSocketClientEventMap[EventType]>, options?: AddEventListenerOptions | boolean): void;
|
|
144
|
+
/**
|
|
145
|
+
* Removes the listener for the given event.
|
|
146
|
+
*/
|
|
147
|
+
removeEventListener<EventType extends keyof WebSocketClientEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketClientEventMap[EventType]>, options?: EventListenerOptions | boolean): void;
|
|
148
|
+
/**
|
|
149
|
+
* Send data to the connected client.
|
|
150
|
+
*/
|
|
151
|
+
send(data: WebSocketData): void;
|
|
152
|
+
/**
|
|
153
|
+
* Close the WebSocket connection.
|
|
154
|
+
* @param {number} code A status code (see https://www.rfc-editor.org/rfc/rfc6455#section-7.4.1).
|
|
155
|
+
* @param {string} reason A custom connection close reason.
|
|
156
|
+
*/
|
|
157
|
+
close(code?: number, reason?: string): void;
|
|
158
|
+
}
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region src/interceptors/WebSocket/WebSocketClassTransport.d.ts
|
|
161
|
+
/**
|
|
162
|
+
* Abstraction over the given mock `WebSocket` instance that allows
|
|
163
|
+
* for controlling that instance (e.g. sending and receiving messages).
|
|
164
|
+
*/
|
|
165
|
+
declare class WebSocketClassTransport extends EventTarget implements WebSocketTransport {
|
|
166
|
+
protected readonly socket: WebSocketOverride;
|
|
167
|
+
constructor(socket: WebSocketOverride);
|
|
168
|
+
addEventListener<EventType extends keyof WebSocketTransportEventMap>(type: EventType, callback: StrictEventListenerOrEventListenerObject<WebSocketTransportEventMap[EventType]> | null, options?: boolean | AddEventListenerOptions): void;
|
|
169
|
+
dispatchEvent<EventType extends keyof WebSocketTransportEventMap>(event: WebSocketTransportEventMap[EventType]): boolean;
|
|
170
|
+
send(data: WebSocketData): void;
|
|
171
|
+
close(code: number, reason?: string): void;
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
//#region src/interceptors/WebSocket/WebSocketServerConnection.d.ts
|
|
175
|
+
declare const kEmitter: unique symbol;
|
|
176
|
+
declare const kSend: unique symbol;
|
|
177
|
+
interface WebSocketServerEventMap {
|
|
178
|
+
open: Event;
|
|
179
|
+
message: MessageEvent<WebSocketData>;
|
|
180
|
+
error: Event;
|
|
181
|
+
close: CloseEvent;
|
|
182
|
+
}
|
|
183
|
+
declare abstract class WebSocketServerConnectionProtocol {
|
|
184
|
+
abstract connect(): void;
|
|
185
|
+
abstract send(data: WebSocketData): void;
|
|
186
|
+
abstract close(): void;
|
|
187
|
+
abstract addEventListener<EventType extends keyof WebSocketServerEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketServerEventMap[EventType]>, options?: AddEventListenerOptions | boolean): void;
|
|
188
|
+
abstract removeEventListener<EventType extends keyof WebSocketServerEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketServerEventMap[EventType]>, options?: EventListenerOptions | boolean): void;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The WebSocket server instance represents the actual production
|
|
192
|
+
* WebSocket server connection. It's idle by default but you can
|
|
193
|
+
* establish it by calling `server.connect()`.
|
|
194
|
+
*/
|
|
195
|
+
declare class WebSocketServerConnection implements WebSocketServerConnectionProtocol {
|
|
196
|
+
private readonly client;
|
|
197
|
+
private readonly transport;
|
|
198
|
+
private readonly createConnection;
|
|
199
|
+
/**
|
|
200
|
+
* A WebSocket instance connected to the original server.
|
|
201
|
+
*/
|
|
202
|
+
private realWebSocket?;
|
|
203
|
+
private mockCloseController;
|
|
204
|
+
private realCloseController;
|
|
205
|
+
private [kEmitter];
|
|
206
|
+
constructor(client: WebSocketOverride, transport: WebSocketClassTransport, createConnection: () => WebSocket);
|
|
207
|
+
/**
|
|
208
|
+
* The `WebSocket` instance connected to the original server.
|
|
209
|
+
* Accessing this before calling `server.connect()` will throw.
|
|
210
|
+
*/
|
|
211
|
+
get socket(): WebSocket;
|
|
212
|
+
/**
|
|
213
|
+
* Open connection to the original WebSocket server.
|
|
214
|
+
*/
|
|
215
|
+
connect(): void;
|
|
216
|
+
/**
|
|
217
|
+
* Listen for the incoming events from the original WebSocket server.
|
|
218
|
+
*/
|
|
219
|
+
addEventListener<EventType extends keyof WebSocketServerEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketServerEventMap[EventType]>, options?: AddEventListenerOptions | boolean): void;
|
|
220
|
+
/**
|
|
221
|
+
* Remove the listener for the given event.
|
|
222
|
+
*/
|
|
223
|
+
removeEventListener<EventType extends keyof WebSocketServerEventMap>(event: EventType, listener: WebSocketEventListener<WebSocketServerEventMap[EventType]>, options?: EventListenerOptions | boolean): void;
|
|
224
|
+
/**
|
|
225
|
+
* Send data to the original WebSocket server.
|
|
226
|
+
* @example
|
|
227
|
+
* server.send('hello')
|
|
228
|
+
* server.send(new Blob(['hello']))
|
|
229
|
+
* server.send(new TextEncoder().encode('hello'))
|
|
230
|
+
*/
|
|
231
|
+
send(data: WebSocketData): void;
|
|
232
|
+
private [kSend];
|
|
233
|
+
/**
|
|
234
|
+
* Close the actual server connection.
|
|
235
|
+
*/
|
|
236
|
+
close(): void;
|
|
237
|
+
private handleIncomingMessage;
|
|
238
|
+
private handleMockClose;
|
|
239
|
+
private handleRealClose;
|
|
240
|
+
}
|
|
241
|
+
//#endregion
|
|
242
|
+
//#region src/interceptors/WebSocket/index.d.ts
|
|
243
|
+
type WebSocketEventMap$1 = {
|
|
244
|
+
connection: [args: WebSocketConnectionData];
|
|
245
|
+
};
|
|
246
|
+
type WebSocketConnectionData = {
|
|
247
|
+
/**
|
|
248
|
+
* The incoming WebSocket client connection.
|
|
249
|
+
*/
|
|
250
|
+
client: WebSocketClientConnection;
|
|
251
|
+
/**
|
|
252
|
+
* The original WebSocket server connection.
|
|
253
|
+
*/
|
|
254
|
+
server: WebSocketServerConnection;
|
|
255
|
+
/**
|
|
256
|
+
* The connection information.
|
|
257
|
+
*/
|
|
258
|
+
info: {
|
|
259
|
+
/**
|
|
260
|
+
* The protocols supported by the WebSocket client.
|
|
261
|
+
*/
|
|
262
|
+
protocols: string | Array<string> | undefined;
|
|
263
|
+
};
|
|
264
|
+
};
|
|
265
|
+
/**
|
|
266
|
+
* Intercept the outgoing WebSocket connections created using
|
|
267
|
+
* the global `WebSocket` class.
|
|
268
|
+
*/
|
|
269
|
+
declare class WebSocketInterceptor extends Interceptor<WebSocketEventMap$1> {
|
|
270
|
+
static symbol: symbol;
|
|
271
|
+
constructor();
|
|
272
|
+
protected checkEnvironment(): boolean;
|
|
273
|
+
protected setup(): void;
|
|
274
|
+
}
|
|
275
|
+
//#endregion
|
|
276
|
+
export { CancelableCloseEvent, CancelableMessageEvent, CloseEvent, WebSocketClientConnection, WebSocketClientConnectionProtocol, WebSocketClientEventMap, WebSocketConnectionData, type WebSocketData, WebSocketEventMap$1 as WebSocketEventMap, WebSocketInterceptor, WebSocketServerConnection, WebSocketServerConnectionProtocol, WebSocketServerEventMap, type WebSocketTransport };
|
|
277
|
+
//# sourceMappingURL=index.d.mts.map
|