@mswjs/interceptors 0.25.1 → 0.25.2
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/lib/browser/Interceptor-8d5fd4c6.d.ts +86 -0
- package/lib/browser/{chunk-4CFMDU7Z.js → chunk-CWVY2E3W.js} +20 -134
- package/lib/browser/{chunk-VMXB5F2J.mjs → chunk-HXJPKJY3.mjs} +25 -15
- package/lib/browser/{chunk-DBFLI5DJ.js → chunk-KITNLK66.js} +30 -20
- package/lib/browser/chunk-KK6APRON.mjs +58 -0
- package/lib/browser/{chunk-OSIUQA4X.js → chunk-NMG5MQJJ.js} +32 -29
- package/lib/browser/{chunk-GXJLJMOT.mjs → chunk-QPMXOLDO.mjs} +21 -135
- package/lib/browser/{chunk-ANLPTCZ5.mjs → chunk-TYEVJTWH.mjs} +27 -24
- package/lib/browser/chunk-X3NRJIZW.js +58 -0
- package/lib/browser/index.d.ts +7 -3
- package/lib/browser/index.js +24 -5
- package/lib/browser/index.mjs +22 -3
- package/lib/browser/interceptors/XMLHttpRequest/index.d.ts +4 -3
- package/lib/browser/interceptors/XMLHttpRequest/index.js +4 -4
- package/lib/browser/interceptors/XMLHttpRequest/index.mjs +3 -3
- package/lib/browser/interceptors/fetch/index.d.ts +2 -1
- package/lib/browser/interceptors/fetch/index.js +4 -4
- package/lib/browser/interceptors/fetch/index.mjs +3 -3
- package/lib/browser/presets/browser.d.ts +2 -1
- package/lib/browser/presets/browser.js +6 -6
- package/lib/browser/presets/browser.mjs +4 -4
- package/lib/node/{BatchInterceptor-c841b068.d.ts → BatchInterceptor-9785c567.d.ts} +5 -2
- package/lib/node/Interceptor-7a701c1f.d.ts +86 -0
- package/lib/node/RemoteHttpInterceptor.d.ts +3 -2
- package/lib/node/RemoteHttpInterceptor.js +18 -18
- package/lib/node/RemoteHttpInterceptor.mjs +14 -14
- package/lib/node/{chunk-XYZRP5S2.js → chunk-3XFLRXRY.js} +20 -134
- package/lib/node/chunk-5PTPJLB7.js +58 -0
- package/lib/node/{chunk-E6YC337Q.js → chunk-5YAV7CXX.js} +29 -26
- package/lib/node/{chunk-HSCXCLVT.mjs → chunk-7RGC35CC.mjs} +27 -24
- package/lib/node/{chunk-3MYUI4B2.js → chunk-B2CIOP5B.js} +22 -16
- package/lib/node/{chunk-RGYCLCLK.mjs → chunk-GM3YBSM3.mjs} +21 -135
- package/lib/node/{chunk-OL7OR4RL.mjs → chunk-OMRBBJT7.mjs} +20 -14
- package/lib/node/{chunk-VS3GJPUE.mjs → chunk-UBEFEZXT.mjs} +22 -3
- package/lib/node/{chunk-MVPEJK4V.js → chunk-UF7QIAQ5.js} +23 -4
- package/lib/node/chunk-YQGTMMOZ.mjs +58 -0
- package/lib/node/index.d.ts +3 -2
- package/lib/node/index.js +3 -3
- package/lib/node/index.mjs +2 -2
- package/lib/node/interceptors/ClientRequest/index.d.ts +4 -3
- package/lib/node/interceptors/ClientRequest/index.js +4 -4
- package/lib/node/interceptors/ClientRequest/index.mjs +3 -3
- package/lib/node/interceptors/XMLHttpRequest/index.d.ts +4 -3
- package/lib/node/interceptors/XMLHttpRequest/index.js +4 -4
- package/lib/node/interceptors/XMLHttpRequest/index.mjs +3 -3
- package/lib/node/interceptors/fetch/index.d.ts +2 -1
- package/lib/node/interceptors/fetch/index.js +27 -17
- package/lib/node/interceptors/fetch/index.mjs +25 -15
- package/lib/node/presets/node.d.ts +3 -2
- package/lib/node/presets/node.js +6 -6
- package/lib/node/presets/node.mjs +4 -4
- package/package.json +1 -1
- package/src/BatchInterceptor.test.ts +141 -0
- package/src/BatchInterceptor.ts +38 -4
- package/src/Interceptor.test.ts +46 -0
- package/src/Interceptor.ts +35 -16
- package/src/RemoteHttpInterceptor.ts +11 -9
- package/src/interceptors/ClientRequest/NodeClientRequest.test.ts +10 -10
- package/src/interceptors/ClientRequest/NodeClientRequest.ts +35 -18
- package/src/interceptors/ClientRequest/index.test.ts +2 -3
- package/src/interceptors/ClientRequest/index.ts +2 -2
- package/src/interceptors/ClientRequest/utils/createRequest.test.ts +2 -2
- package/src/interceptors/XMLHttpRequest/XMLHttpRequestProxy.ts +29 -25
- package/src/interceptors/XMLHttpRequest/index.ts +2 -2
- package/src/interceptors/fetch/index.ts +26 -13
- package/src/utils/RequestController.ts +21 -0
- package/src/utils/emitAsync.ts +25 -0
- package/src/utils/toInteractiveRequest.ts +17 -23
- package/lib/browser/Interceptor-0a020bc4.d.ts +0 -116
- package/lib/browser/chunk-PCFJD76X.js +0 -64
- package/lib/browser/chunk-RT3ATOJH.mjs +0 -64
- package/lib/node/Interceptor-738f79c5.d.ts +0 -116
- package/lib/node/chunk-STA6QBYM.mjs +0 -64
- package/lib/node/chunk-ZJOF5MEZ.js +0 -64
- package/src/utils/AsyncEventEmitter.test.ts +0 -102
- package/src/utils/AsyncEventEmitter.ts +0 -193
- package/src/utils/createLazyCallback.ts +0 -49
|
@@ -2,134 +2,8 @@
|
|
|
2
2
|
var IS_PATCHED_MODULE = Symbol("isPatchedModule");
|
|
3
3
|
|
|
4
4
|
// src/Interceptor.ts
|
|
5
|
-
import { Logger as Logger2 } from "@open-draft/logger";
|
|
6
|
-
|
|
7
|
-
// src/utils/AsyncEventEmitter.ts
|
|
8
5
|
import { Logger } from "@open-draft/logger";
|
|
9
6
|
import { Emitter } from "strict-event-emitter";
|
|
10
|
-
|
|
11
|
-
// src/utils/nextTick.ts
|
|
12
|
-
function nextTick(callback) {
|
|
13
|
-
setTimeout(callback, 0);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// src/utils/AsyncEventEmitter.ts
|
|
17
|
-
var AsyncEventEmitter = class extends Emitter {
|
|
18
|
-
constructor() {
|
|
19
|
-
super();
|
|
20
|
-
this.logger = new Logger("async-event-emitter");
|
|
21
|
-
this.queue = /* @__PURE__ */ new Map();
|
|
22
|
-
this.readyState = "ACTIVE" /* ACTIVE */;
|
|
23
|
-
}
|
|
24
|
-
on(eventName, listener) {
|
|
25
|
-
const logger = this.logger.extend("on");
|
|
26
|
-
logger.info('adding "%s" listener...', eventName);
|
|
27
|
-
if (this.readyState === "DEACTIVATED" /* DEACTIVATED */) {
|
|
28
|
-
logger.info("the emitter is destroyed, skipping!");
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
return super.on(eventName, async (...args) => {
|
|
32
|
-
const queue = this.openListenerQueue(eventName);
|
|
33
|
-
logger.info('awaiting the "%s" listener...', eventName);
|
|
34
|
-
queue.push({
|
|
35
|
-
args,
|
|
36
|
-
done: new Promise(async (resolve, reject) => {
|
|
37
|
-
try {
|
|
38
|
-
await listener(...args);
|
|
39
|
-
resolve();
|
|
40
|
-
logger.info('"%s" listener has resolved!', eventName);
|
|
41
|
-
} catch (error) {
|
|
42
|
-
logger.info('"%s" listener has rejected!', error);
|
|
43
|
-
reject(error);
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
emit(eventName, ...data) {
|
|
50
|
-
const logger = this.logger.extend("emit");
|
|
51
|
-
logger.info('emitting "%s" event...', eventName);
|
|
52
|
-
if (this.readyState === "DEACTIVATED" /* DEACTIVATED */) {
|
|
53
|
-
logger.info("the emitter is destroyed, skipping!");
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
if (this.isInternalEventName(eventName)) {
|
|
57
|
-
return super.emit(eventName, ...data);
|
|
58
|
-
}
|
|
59
|
-
this.openListenerQueue(eventName);
|
|
60
|
-
logger.info('appending a one-time cleanup "%s" listener...', eventName);
|
|
61
|
-
this.once(eventName, () => {
|
|
62
|
-
nextTick(() => {
|
|
63
|
-
this.queue.delete(eventName);
|
|
64
|
-
logger.info('cleaned up "%s" listeners queue!', eventName);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
return super.emit(eventName, ...data);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Returns a promise that resolves when all the listeners for the given event
|
|
71
|
-
* has been called. Awaits asynchronous listeners.
|
|
72
|
-
* If the event has no listeners, resolves immediately.
|
|
73
|
-
*/
|
|
74
|
-
async untilIdle(eventName, filter = () => true) {
|
|
75
|
-
const listenersQueue = this.queue.get(eventName) || [];
|
|
76
|
-
await Promise.all(
|
|
77
|
-
listenersQueue.filter(filter).map(({ done }) => done)
|
|
78
|
-
).finally(() => {
|
|
79
|
-
this.queue.delete(eventName);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
openListenerQueue(eventName) {
|
|
83
|
-
const logger = this.logger.extend("openListenerQueue");
|
|
84
|
-
logger.info('opening "%s" listeners queue...', eventName);
|
|
85
|
-
const queue = this.queue.get(eventName);
|
|
86
|
-
if (!queue) {
|
|
87
|
-
logger.info("no queue found, creating one...");
|
|
88
|
-
this.queue.set(eventName, []);
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
logger.info("returning an exising queue:", queue);
|
|
92
|
-
return queue;
|
|
93
|
-
}
|
|
94
|
-
removeAllListeners(eventName) {
|
|
95
|
-
const logger = this.logger.extend("removeAllListeners");
|
|
96
|
-
logger.info("event:", eventName);
|
|
97
|
-
if (eventName) {
|
|
98
|
-
this.queue.delete(eventName);
|
|
99
|
-
logger.info(
|
|
100
|
-
'cleared the "%s" listeners queue!',
|
|
101
|
-
eventName,
|
|
102
|
-
this.queue.get(eventName)
|
|
103
|
-
);
|
|
104
|
-
} else {
|
|
105
|
-
this.queue.clear();
|
|
106
|
-
logger.info("cleared the listeners queue!", this.queue);
|
|
107
|
-
}
|
|
108
|
-
return super.removeAllListeners(eventName);
|
|
109
|
-
}
|
|
110
|
-
activate() {
|
|
111
|
-
const logger = this.logger.extend("activate");
|
|
112
|
-
this.readyState = "ACTIVE" /* ACTIVE */;
|
|
113
|
-
logger.info("set state to:", this.readyState);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Deactivate this event emitter.
|
|
117
|
-
* Deactivated emitter can no longer emit and listen to events
|
|
118
|
-
* and needs to be activated again in order to do so.
|
|
119
|
-
*/
|
|
120
|
-
deactivate() {
|
|
121
|
-
const logger = this.logger.extend("deactivate");
|
|
122
|
-
logger.info("removing all listeners...");
|
|
123
|
-
this.removeAllListeners();
|
|
124
|
-
this.readyState = "DEACTIVATED" /* DEACTIVATED */;
|
|
125
|
-
logger.info("set state to:", this.readyState);
|
|
126
|
-
}
|
|
127
|
-
isInternalEventName(eventName) {
|
|
128
|
-
return eventName === "newListener" || eventName === "removeListener";
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
|
|
132
|
-
// src/Interceptor.ts
|
|
133
7
|
function getGlobalSymbol(symbol) {
|
|
134
8
|
return (
|
|
135
9
|
// @ts-ignore https://github.com/Microsoft/TypeScript/issues/24587
|
|
@@ -154,9 +28,9 @@ var Interceptor = class {
|
|
|
154
28
|
constructor(symbol) {
|
|
155
29
|
this.symbol = symbol;
|
|
156
30
|
this.readyState = "INACTIVE" /* INACTIVE */;
|
|
157
|
-
this.emitter = new
|
|
31
|
+
this.emitter = new Emitter();
|
|
158
32
|
this.subscriptions = [];
|
|
159
|
-
this.logger = new
|
|
33
|
+
this.logger = new Logger(symbol.description);
|
|
160
34
|
this.emitter.setMaxListeners(0);
|
|
161
35
|
this.logger.info("constructing the interceptor...");
|
|
162
36
|
}
|
|
@@ -184,8 +58,6 @@ var Interceptor = class {
|
|
|
184
58
|
return;
|
|
185
59
|
}
|
|
186
60
|
this.readyState = "APPLYING" /* APPLYING */;
|
|
187
|
-
this.emitter.activate();
|
|
188
|
-
logger.info("activated the emiter!", this.emitter.readyState);
|
|
189
61
|
const runningInstance = this.getInstance();
|
|
190
62
|
if (runningInstance) {
|
|
191
63
|
logger.info("found a running instance, reusing...");
|
|
@@ -196,6 +68,7 @@ var Interceptor = class {
|
|
|
196
68
|
runningInstance.emitter.removeListener(event, listener);
|
|
197
69
|
logger.info('removed proxied "%s" listener!', event);
|
|
198
70
|
});
|
|
71
|
+
return this;
|
|
199
72
|
};
|
|
200
73
|
this.readyState = "APPLIED" /* APPLIED */;
|
|
201
74
|
return;
|
|
@@ -215,14 +88,27 @@ var Interceptor = class {
|
|
|
215
88
|
/**
|
|
216
89
|
* Listen to the interceptor's public events.
|
|
217
90
|
*/
|
|
218
|
-
on(
|
|
91
|
+
on(event, listener) {
|
|
219
92
|
const logger = this.logger.extend("on");
|
|
220
93
|
if (this.readyState === "DISPOSING" /* DISPOSING */ || this.readyState === "DISPOSED" /* DISPOSED */) {
|
|
221
94
|
logger.info("cannot listen to events, already disposed!");
|
|
222
|
-
return;
|
|
95
|
+
return this;
|
|
223
96
|
}
|
|
224
|
-
logger.info('adding "%s" event listener:',
|
|
225
|
-
this.emitter.on(
|
|
97
|
+
logger.info('adding "%s" event listener:', event, listener.name);
|
|
98
|
+
this.emitter.on(event, listener);
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
once(event, listener) {
|
|
102
|
+
this.emitter.once(event, listener);
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
off(event, listener) {
|
|
106
|
+
this.emitter.off(event, listener);
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
removeAllListeners(event) {
|
|
110
|
+
this.emitter.removeAllListeners(event);
|
|
111
|
+
return this;
|
|
226
112
|
}
|
|
227
113
|
/**
|
|
228
114
|
* Disposes of any side-effects this interceptor has introduced.
|
|
@@ -249,7 +135,7 @@ var Interceptor = class {
|
|
|
249
135
|
this.subscriptions = [];
|
|
250
136
|
logger.info("disposed of all subscriptions!", this.subscriptions.length);
|
|
251
137
|
}
|
|
252
|
-
this.emitter.
|
|
138
|
+
this.emitter.removeAllListeners();
|
|
253
139
|
logger.info("destroyed the listener!");
|
|
254
140
|
this.readyState = "DISPOSED" /* DISPOSED */;
|
|
255
141
|
}
|
|
@@ -4,13 +4,14 @@ import {
|
|
|
4
4
|
toArrayBuffer
|
|
5
5
|
} from "./chunk-7II4SWKS.mjs";
|
|
6
6
|
import {
|
|
7
|
+
emitAsync,
|
|
7
8
|
toInteractiveRequest,
|
|
8
9
|
uuidv4
|
|
9
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KK6APRON.mjs";
|
|
10
11
|
import {
|
|
11
12
|
IS_PATCHED_MODULE,
|
|
12
13
|
Interceptor
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QPMXOLDO.mjs";
|
|
14
15
|
|
|
15
16
|
// src/interceptors/XMLHttpRequest/index.ts
|
|
16
17
|
import { invariant as invariant2 } from "outvariant";
|
|
@@ -652,30 +653,32 @@ function createXMLHttpRequestProxy({
|
|
|
652
653
|
prototypeDescriptors[propertyName]
|
|
653
654
|
);
|
|
654
655
|
}
|
|
655
|
-
const
|
|
656
|
+
const xhrRequestController = new XMLHttpRequestController(
|
|
656
657
|
originalRequest,
|
|
657
658
|
logger
|
|
658
659
|
);
|
|
659
|
-
|
|
660
|
-
const interactiveRequest = toInteractiveRequest(request);
|
|
661
|
-
this.logger.info(
|
|
662
|
-
'emitting the "request" event for %s listener(s)...',
|
|
663
|
-
emitter.listenerCount("request")
|
|
664
|
-
);
|
|
665
|
-
emitter.emit("request", {
|
|
666
|
-
request: interactiveRequest,
|
|
667
|
-
requestId
|
|
668
|
-
});
|
|
660
|
+
xhrRequestController.onRequest = async function({ request, requestId }) {
|
|
661
|
+
const { interactiveRequest, requestController } = toInteractiveRequest(request);
|
|
669
662
|
this.logger.info("awaiting mocked response...");
|
|
663
|
+
emitter.once("request", ({ requestId: pendingRequestId }) => {
|
|
664
|
+
if (pendingRequestId !== requestId) {
|
|
665
|
+
return;
|
|
666
|
+
}
|
|
667
|
+
if (requestController.responsePromise.state === "pending") {
|
|
668
|
+
requestController.respondWith(void 0);
|
|
669
|
+
}
|
|
670
|
+
});
|
|
670
671
|
const resolverResult = await until(async () => {
|
|
671
|
-
|
|
672
|
-
"request",
|
|
673
|
-
(
|
|
674
|
-
return pendingRequestId === requestId;
|
|
675
|
-
}
|
|
672
|
+
this.logger.info(
|
|
673
|
+
'emitting the "request" event for %s listener(s)...',
|
|
674
|
+
emitter.listenerCount("request")
|
|
676
675
|
);
|
|
676
|
+
await emitAsync(emitter, "request", {
|
|
677
|
+
request: interactiveRequest,
|
|
678
|
+
requestId
|
|
679
|
+
});
|
|
677
680
|
this.logger.info('all "request" listeners settled!');
|
|
678
|
-
const
|
|
681
|
+
const mockedResponse2 = await requestController.responsePromise;
|
|
679
682
|
this.logger.info("event.respondWith called with:", mockedResponse2);
|
|
680
683
|
return mockedResponse2;
|
|
681
684
|
});
|
|
@@ -684,7 +687,7 @@ function createXMLHttpRequestProxy({
|
|
|
684
687
|
"request listener threw an exception, aborting request...",
|
|
685
688
|
resolverResult.error
|
|
686
689
|
);
|
|
687
|
-
|
|
690
|
+
xhrRequestController.errorWith(resolverResult.error);
|
|
688
691
|
return;
|
|
689
692
|
}
|
|
690
693
|
const mockedResponse = resolverResult.data;
|
|
@@ -698,16 +701,16 @@ function createXMLHttpRequestProxy({
|
|
|
698
701
|
this.logger.info(
|
|
699
702
|
"received a network error response, rejecting the request promise..."
|
|
700
703
|
);
|
|
701
|
-
|
|
704
|
+
xhrRequestController.errorWith(new TypeError("Network error"));
|
|
702
705
|
return;
|
|
703
706
|
}
|
|
704
|
-
return
|
|
707
|
+
return xhrRequestController.respondWith(mockedResponse);
|
|
705
708
|
}
|
|
706
709
|
this.logger.info(
|
|
707
710
|
"no mocked response received, performing request as-is..."
|
|
708
711
|
);
|
|
709
712
|
};
|
|
710
|
-
|
|
713
|
+
xhrRequestController.onResponse = async function({
|
|
711
714
|
response,
|
|
712
715
|
isMockedResponse,
|
|
713
716
|
request,
|
|
@@ -724,7 +727,7 @@ function createXMLHttpRequestProxy({
|
|
|
724
727
|
requestId
|
|
725
728
|
});
|
|
726
729
|
};
|
|
727
|
-
return
|
|
730
|
+
return xhrRequestController.request;
|
|
728
731
|
}
|
|
729
732
|
});
|
|
730
733
|
return XMLHttpRequestProxy;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/utils/uuid.ts
|
|
2
|
+
function uuidv4() {
|
|
3
|
+
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {
|
|
4
|
+
const r = Math.random() * 16 | 0;
|
|
5
|
+
const v = c == "x" ? r : r & 3 | 8;
|
|
6
|
+
return v.toString(16);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// src/utils/RequestController.ts
|
|
11
|
+
var _outvariant = require('outvariant');
|
|
12
|
+
var _deferredpromise = require('@open-draft/deferred-promise');
|
|
13
|
+
var RequestController = class {
|
|
14
|
+
constructor(request) {
|
|
15
|
+
this.request = request;
|
|
16
|
+
this.responsePromise = new (0, _deferredpromise.DeferredPromise)();
|
|
17
|
+
}
|
|
18
|
+
respondWith(response) {
|
|
19
|
+
_outvariant.invariant.call(void 0,
|
|
20
|
+
this.responsePromise.state === "pending",
|
|
21
|
+
'Failed to respond to "%s %s" request: the "request" event has already been responded to.',
|
|
22
|
+
this.request.method,
|
|
23
|
+
this.request.url
|
|
24
|
+
);
|
|
25
|
+
this.responsePromise.resolve(response);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/utils/toInteractiveRequest.ts
|
|
30
|
+
function toInteractiveRequest(request) {
|
|
31
|
+
const requestController = new RequestController(request);
|
|
32
|
+
Reflect.set(
|
|
33
|
+
request,
|
|
34
|
+
"respondWith",
|
|
35
|
+
requestController.respondWith.bind(requestController)
|
|
36
|
+
);
|
|
37
|
+
return {
|
|
38
|
+
interactiveRequest: request,
|
|
39
|
+
requestController
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// src/utils/emitAsync.ts
|
|
44
|
+
async function emitAsync(emitter, eventName, ...data) {
|
|
45
|
+
const listners = emitter.listeners(eventName);
|
|
46
|
+
if (listners.length === 0) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
for (const listener of listners) {
|
|
50
|
+
await listener.apply(emitter, data);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
exports.uuidv4 = uuidv4; exports.toInteractiveRequest = toInteractiveRequest; exports.emitAsync = emitAsync;
|
package/lib/browser/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { I as Interceptor, E as ExtractEventNames } from './Interceptor-
|
|
2
|
-
export { H as HttpRequestEventMap, a as IS_PATCHED_MODULE, b as InterceptorEventMap, e as InterceptorReadyState, c as InterceptorSubscription, R as RequestCredentials, d as deleteGlobalSymbol, g as getGlobalSymbol } from './Interceptor-
|
|
1
|
+
import { I as Interceptor, E as ExtractEventNames } from './Interceptor-8d5fd4c6.js';
|
|
2
|
+
export { H as HttpRequestEventMap, a as IS_PATCHED_MODULE, b as InterceptorEventMap, e as InterceptorReadyState, c as InterceptorSubscription, R as RequestCredentials, d as deleteGlobalSymbol, g as getGlobalSymbol } from './Interceptor-8d5fd4c6.js';
|
|
3
3
|
import { EventMap, Listener } from 'strict-event-emitter';
|
|
4
|
+
import '@open-draft/deferred-promise';
|
|
4
5
|
import '@open-draft/logger';
|
|
5
6
|
|
|
6
7
|
interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> {
|
|
@@ -17,7 +18,10 @@ declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor
|
|
|
17
18
|
private interceptors;
|
|
18
19
|
constructor(options: BatchInterceptorOptions<InterceptorList>);
|
|
19
20
|
protected setup(): void;
|
|
20
|
-
on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>):
|
|
21
|
+
on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
22
|
+
once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
23
|
+
off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
24
|
+
removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
27
|
/**
|
package/lib/browser/index.js
CHANGED
|
@@ -8,10 +8,10 @@ var _chunk3LFH2WCFjs = require('./chunk-3LFH2WCF.js');
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunkCWVY2E3Wjs = require('./chunk-CWVY2E3W.js');
|
|
12
12
|
|
|
13
13
|
// src/BatchInterceptor.ts
|
|
14
|
-
var BatchInterceptor = class extends
|
|
14
|
+
var BatchInterceptor = class extends _chunkCWVY2E3Wjs.Interceptor {
|
|
15
15
|
constructor(options) {
|
|
16
16
|
BatchInterceptor.symbol = Symbol(options.name);
|
|
17
17
|
super(BatchInterceptor.symbol);
|
|
@@ -28,9 +28,28 @@ var BatchInterceptor = class extends _chunk4CFMDU7Zjs.Interceptor {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
on(event, listener) {
|
|
31
|
-
this.interceptors
|
|
31
|
+
for (const interceptor of this.interceptors) {
|
|
32
32
|
interceptor.on(event, listener);
|
|
33
|
-
}
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
once(event, listener) {
|
|
37
|
+
for (const interceptor of this.interceptors) {
|
|
38
|
+
interceptor.once(event, listener);
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
off(event, listener) {
|
|
43
|
+
for (const interceptor of this.interceptors) {
|
|
44
|
+
interceptor.off(event, listener);
|
|
45
|
+
}
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
removeAllListeners(event) {
|
|
49
|
+
for (const interceptors of this.interceptors) {
|
|
50
|
+
interceptors.removeAllListeners(event);
|
|
51
|
+
}
|
|
52
|
+
return this;
|
|
34
53
|
}
|
|
35
54
|
};
|
|
36
55
|
|
|
@@ -48,4 +67,4 @@ function getCleanUrl(url, isAbsolute = true) {
|
|
|
48
67
|
|
|
49
68
|
|
|
50
69
|
|
|
51
|
-
exports.BatchInterceptor = BatchInterceptor; exports.IS_PATCHED_MODULE =
|
|
70
|
+
exports.BatchInterceptor = BatchInterceptor; exports.IS_PATCHED_MODULE = _chunkCWVY2E3Wjs.IS_PATCHED_MODULE; exports.Interceptor = _chunkCWVY2E3Wjs.Interceptor; exports.InterceptorReadyState = _chunkCWVY2E3Wjs.InterceptorReadyState; exports.decodeBuffer = _chunk3LFH2WCFjs.decodeBuffer; exports.deleteGlobalSymbol = _chunkCWVY2E3Wjs.deleteGlobalSymbol; exports.encodeBuffer = _chunk3LFH2WCFjs.encodeBuffer; exports.getCleanUrl = getCleanUrl; exports.getGlobalSymbol = _chunkCWVY2E3Wjs.getGlobalSymbol;
|
package/lib/browser/index.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
InterceptorReadyState,
|
|
9
9
|
deleteGlobalSymbol,
|
|
10
10
|
getGlobalSymbol
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-QPMXOLDO.mjs";
|
|
12
12
|
|
|
13
13
|
// src/BatchInterceptor.ts
|
|
14
14
|
var BatchInterceptor = class extends Interceptor {
|
|
@@ -28,9 +28,28 @@ var BatchInterceptor = class extends Interceptor {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
on(event, listener) {
|
|
31
|
-
this.interceptors
|
|
31
|
+
for (const interceptor of this.interceptors) {
|
|
32
32
|
interceptor.on(event, listener);
|
|
33
|
-
}
|
|
33
|
+
}
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
once(event, listener) {
|
|
37
|
+
for (const interceptor of this.interceptors) {
|
|
38
|
+
interceptor.once(event, listener);
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
off(event, listener) {
|
|
43
|
+
for (const interceptor of this.interceptors) {
|
|
44
|
+
interceptor.off(event, listener);
|
|
45
|
+
}
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
removeAllListeners(event) {
|
|
49
|
+
for (const interceptors of this.interceptors) {
|
|
50
|
+
interceptors.removeAllListeners(event);
|
|
51
|
+
}
|
|
52
|
+
return this;
|
|
34
53
|
}
|
|
35
54
|
};
|
|
36
55
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Emitter } from 'strict-event-emitter';
|
|
2
|
+
import { f as InteractiveRequest, H as HttpRequestEventMap, I as Interceptor } from '../../Interceptor-8d5fd4c6.js';
|
|
3
|
+
import '@open-draft/deferred-promise';
|
|
2
4
|
import '@open-draft/logger';
|
|
3
|
-
import 'strict-event-emitter';
|
|
4
5
|
|
|
5
6
|
type XMLHttpRequestEventListener = (args: {
|
|
6
7
|
request: InteractiveRequest;
|
|
7
8
|
requestId: string;
|
|
8
9
|
}) => Promise<void> | void;
|
|
9
|
-
type XMLHttpRequestEmitter =
|
|
10
|
+
type XMLHttpRequestEmitter = Emitter<HttpRequestEventMap>;
|
|
10
11
|
declare class XMLHttpRequestInterceptor extends Interceptor<HttpRequestEventMap> {
|
|
11
12
|
static interceptorSymbol: symbol;
|
|
12
13
|
constructor();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkNMG5MQJJjs = require('../../chunk-NMG5MQJJ.js');
|
|
4
4
|
require('../../chunk-3LFH2WCF.js');
|
|
5
|
-
require('../../chunk-
|
|
6
|
-
require('../../chunk-
|
|
5
|
+
require('../../chunk-X3NRJIZW.js');
|
|
6
|
+
require('../../chunk-CWVY2E3W.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports.XMLHttpRequestInterceptor =
|
|
9
|
+
exports.XMLHttpRequestInterceptor = _chunkNMG5MQJJjs.XMLHttpRequestInterceptor;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
XMLHttpRequestInterceptor
|
|
3
|
-
} from "../../chunk-
|
|
3
|
+
} from "../../chunk-TYEVJTWH.mjs";
|
|
4
4
|
import "../../chunk-7II4SWKS.mjs";
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
5
|
+
import "../../chunk-KK6APRON.mjs";
|
|
6
|
+
import "../../chunk-QPMXOLDO.mjs";
|
|
7
7
|
export {
|
|
8
8
|
XMLHttpRequestInterceptor
|
|
9
9
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { I as Interceptor, H as HttpRequestEventMap } from '../../Interceptor-
|
|
1
|
+
import { I as Interceptor, H as HttpRequestEventMap } from '../../Interceptor-8d5fd4c6.js';
|
|
2
|
+
import '@open-draft/deferred-promise';
|
|
2
3
|
import '@open-draft/logger';
|
|
3
4
|
import 'strict-event-emitter';
|
|
4
5
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../chunk-
|
|
5
|
-
require('../../chunk-
|
|
3
|
+
var _chunkKITNLK66js = require('../../chunk-KITNLK66.js');
|
|
4
|
+
require('../../chunk-X3NRJIZW.js');
|
|
5
|
+
require('../../chunk-CWVY2E3W.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
exports.FetchInterceptor =
|
|
8
|
+
exports.FetchInterceptor = _chunkKITNLK66js.FetchInterceptor;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FetchInterceptor
|
|
3
|
-
} from "../../chunk-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
3
|
+
} from "../../chunk-HXJPKJY3.mjs";
|
|
4
|
+
import "../../chunk-KK6APRON.mjs";
|
|
5
|
+
import "../../chunk-QPMXOLDO.mjs";
|
|
6
6
|
export {
|
|
7
7
|
FetchInterceptor
|
|
8
8
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FetchInterceptor } from '../interceptors/fetch/index.js';
|
|
2
2
|
import { XMLHttpRequestInterceptor } from '../interceptors/XMLHttpRequest/index.js';
|
|
3
|
-
import '../Interceptor-
|
|
3
|
+
import '../Interceptor-8d5fd4c6.js';
|
|
4
|
+
import '@open-draft/deferred-promise';
|
|
4
5
|
import '@open-draft/logger';
|
|
5
6
|
import 'strict-event-emitter';
|
|
6
7
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunkNMG5MQJJjs = require('../chunk-NMG5MQJJ.js');
|
|
4
4
|
require('../chunk-3LFH2WCF.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
7
|
+
var _chunkKITNLK66js = require('../chunk-KITNLK66.js');
|
|
8
|
+
require('../chunk-X3NRJIZW.js');
|
|
9
|
+
require('../chunk-CWVY2E3W.js');
|
|
10
10
|
|
|
11
11
|
// src/presets/browser.ts
|
|
12
12
|
var browser_default = [
|
|
13
|
-
new (0,
|
|
14
|
-
new (0,
|
|
13
|
+
new (0, _chunkKITNLK66js.FetchInterceptor)(),
|
|
14
|
+
new (0, _chunkNMG5MQJJjs.XMLHttpRequestInterceptor)()
|
|
15
15
|
];
|
|
16
16
|
|
|
17
17
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
XMLHttpRequestInterceptor
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-TYEVJTWH.mjs";
|
|
4
4
|
import "../chunk-7II4SWKS.mjs";
|
|
5
5
|
import {
|
|
6
6
|
FetchInterceptor
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-HXJPKJY3.mjs";
|
|
8
|
+
import "../chunk-KK6APRON.mjs";
|
|
9
|
+
import "../chunk-QPMXOLDO.mjs";
|
|
10
10
|
|
|
11
11
|
// src/presets/browser.ts
|
|
12
12
|
var browser_default = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventMap, Listener } from 'strict-event-emitter';
|
|
2
|
-
import { e as Interceptor, E as ExtractEventNames } from './Interceptor-
|
|
2
|
+
import { e as Interceptor, E as ExtractEventNames } from './Interceptor-7a701c1f.js';
|
|
3
3
|
|
|
4
4
|
interface BatchInterceptorOptions<InterceptorList extends ReadonlyArray<Interceptor<any>>> {
|
|
5
5
|
name: string;
|
|
@@ -15,7 +15,10 @@ declare class BatchInterceptor<InterceptorList extends ReadonlyArray<Interceptor
|
|
|
15
15
|
private interceptors;
|
|
16
16
|
constructor(options: BatchInterceptorOptions<InterceptorList>);
|
|
17
17
|
protected setup(): void;
|
|
18
|
-
on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>):
|
|
18
|
+
on<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
19
|
+
once<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
20
|
+
off<EventName extends ExtractEventNames<Events>>(event: EventName, listener: Listener<Events[EventName]>): this;
|
|
21
|
+
removeAllListeners<EventName extends ExtractEventNames<Events>>(event?: EventName | undefined): this;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
export { BatchInterceptorOptions as B, ExtractEventMapType as E, BatchInterceptor as a };
|