msw 0.21.3 → 0.22.3
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/README.md +3 -9
- package/lib/esm/errors-deps.js +6 -7
- package/lib/esm/fetch-deps.js +44 -22
- package/lib/esm/{matchRequestUrl-deps.js → getCallFrame-deps.js} +32 -5
- package/lib/esm/graphql.js +601 -465
- package/lib/esm/index.js +56 -50
- package/lib/esm/mockServiceWorker.js +16 -10
- package/lib/esm/rest-deps.js +10 -1
- package/lib/esm/rest.js +1 -1
- package/lib/types/context/errors.d.ts +3 -3
- package/lib/types/context/json.d.ts +5 -1
- package/lib/types/index.d.ts +3 -2
- package/lib/types/native/index.d.ts +1 -7
- package/lib/types/node/createSetupServer.d.ts +2 -23
- package/{node/node/createSetupServer.d.ts → lib/types/node/glossary.d.ts} +12 -13
- package/lib/types/node/index.d.ts +1 -0
- package/lib/types/node/setupServer.d.ts +1 -7
- package/lib/types/response.d.ts +7 -2
- package/lib/types/rest.d.ts +60 -30
- package/lib/types/setupWorker/glossary.d.ts +22 -0
- package/lib/types/setupWorker/setupWorker.d.ts +1 -19
- package/lib/types/utils/handlers/requestHandler.d.ts +13 -1
- package/lib/types/utils/internal/getCallFrame.d.ts +4 -0
- package/lib/types/utils/internal/isObject.d.ts +4 -0
- package/lib/types/utils/internal/mergeRight.d.ts +1 -1
- package/lib/types/utils/request/onUnhandledRequest.d.ts +1 -1
- package/lib/umd/index.js +720 -519
- package/lib/umd/mockServiceWorker.js +16 -10
- package/native/index.js +2017 -125
- package/node/index.js +2017 -125
- package/package.json +34 -32
- package/lib/types/LiveStorage.d.ts +0 -17
- package/node/context/delay.d.ts +0 -11
- package/node/context/fetch.d.ts +0 -8
- package/node/context/set.d.ts +0 -2
- package/node/context/status.d.ts +0 -2
- package/node/node/index.d.ts +0 -5
- package/node/node/setupServer.d.ts +0 -7
- package/node/response.d.ts +0 -25
- package/node/utils/NetworkError.d.ts +0 -3
- package/node/utils/getResponse.d.ts +0 -14
- package/node/utils/handlers/requestHandler.d.ts +0 -74
- package/node/utils/handlers/requestHandlerUtils.d.ts +0 -4
- package/node/utils/internal/compose.d.ts +0 -5
- package/node/utils/internal/isNodeProcess.d.ts +0 -5
- package/node/utils/internal/jsonParse.d.ts +0 -5
- package/node/utils/request/getPublicUrlFromRequest.d.ts +0 -6
- package/node/utils/request/onUnhandledRequest.d.ts +0 -5
- package/node/utils/request/parseBody.d.ts +0 -5
package/lib/esm/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { c as createCommonjsModule, s as status, a as set, d as delay, f as fetch, l as lib$1, i as isNodeProcess } from './fetch-deps.js';
|
|
1
|
+
import { c as createCommonjsModule, s as status, a as set, d as delay, f as fetch, l as lib$1, m as mergeRight, i as isNodeProcess } from './fetch-deps.js';
|
|
2
2
|
import { p as parse_1 } from './xml-deps.js';
|
|
3
3
|
import './errors-deps.js';
|
|
4
4
|
export { i as context } from './index-deps.js';
|
|
5
5
|
import { g as getPublicUrlFromRequest, i as isStringEqual } from './rest-deps.js';
|
|
6
6
|
export { R as RESTMethods, r as rest, a as restContext } from './rest-deps.js';
|
|
7
|
-
import { p as parseBody } from './
|
|
8
|
-
export { m as matchRequestUrl } from './
|
|
7
|
+
import { p as parseBody } from './getCallFrame-deps.js';
|
|
8
|
+
export { m as matchRequestUrl } from './getCallFrame-deps.js';
|
|
9
9
|
export { graphql, graphqlContext } from './graphql.js';
|
|
10
10
|
|
|
11
11
|
/*! *****************************************************************************
|
|
12
|
-
Copyright (c) Microsoft Corporation.
|
|
12
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
13
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
14
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
15
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
18
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
19
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
20
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
20
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
21
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
22
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
23
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
22
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
23
|
+
and limitations under the License.
|
|
24
24
|
***************************************************************************** */
|
|
25
25
|
|
|
26
26
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
@@ -201,6 +201,17 @@ class NetworkError extends Error {
|
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Internal response transformer to ensure response JSON body
|
|
206
|
+
* is always stringified.
|
|
207
|
+
*/
|
|
208
|
+
const stringifyJsonBody = (res) => {
|
|
209
|
+
var _a, _b;
|
|
210
|
+
if (res.body && ((_b = (_a = res.headers) === null || _a === void 0 ? void 0 : _a.get('content-type')) === null || _b === void 0 ? void 0 : _b.endsWith('json'))) {
|
|
211
|
+
res.body = JSON.stringify(res.body);
|
|
212
|
+
}
|
|
213
|
+
return res;
|
|
214
|
+
};
|
|
204
215
|
const defaultResponse = {
|
|
205
216
|
status: 200,
|
|
206
217
|
statusText: 'OK',
|
|
@@ -208,16 +219,23 @@ const defaultResponse = {
|
|
|
208
219
|
delay: 0,
|
|
209
220
|
once: false,
|
|
210
221
|
};
|
|
211
|
-
|
|
222
|
+
const defaultResponseTransformers = [
|
|
223
|
+
stringifyJsonBody,
|
|
224
|
+
];
|
|
225
|
+
function createResponseComposition(responseOverrides, defaultTransformers = defaultResponseTransformers) {
|
|
212
226
|
return (...transformers) => {
|
|
213
|
-
const
|
|
227
|
+
const initialResponse = Object.assign({}, defaultResponse, {
|
|
214
228
|
headers: new lib$1.Headers({
|
|
215
229
|
'x-powered-by': 'msw',
|
|
216
230
|
}),
|
|
217
|
-
},
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
231
|
+
}, responseOverrides);
|
|
232
|
+
const resolvedTransformers = [
|
|
233
|
+
...defaultTransformers,
|
|
234
|
+
...transformers,
|
|
235
|
+
].filter(Boolean);
|
|
236
|
+
const resolvedResponse = resolvedTransformers.length > 0
|
|
237
|
+
? compose(...resolvedTransformers)(initialResponse)
|
|
238
|
+
: initialResponse;
|
|
221
239
|
return resolvedResponse;
|
|
222
240
|
};
|
|
223
241
|
}
|
|
@@ -304,9 +322,9 @@ const getResponse = (req, handlers) => __awaiter(void 0, void 0, void 0, functio
|
|
|
304
322
|
};
|
|
305
323
|
});
|
|
306
324
|
|
|
307
|
-
function onUnhandledRequest(request,
|
|
308
|
-
if (typeof
|
|
309
|
-
|
|
325
|
+
function onUnhandledRequest(request, handler = 'bypass') {
|
|
326
|
+
if (typeof handler === 'function') {
|
|
327
|
+
handler(request);
|
|
310
328
|
return;
|
|
311
329
|
}
|
|
312
330
|
const publicUrl = getPublicUrlFromRequest(request);
|
|
@@ -317,7 +335,7 @@ function onUnhandledRequest(request, onUnhandledRequest = 'bypass') {
|
|
|
317
335
|
rest.${request.method.toLowerCase()}('${publicUrl}', (req, res, ctx) => {
|
|
318
336
|
return res(ctx.text('body'))
|
|
319
337
|
})`;
|
|
320
|
-
switch (
|
|
338
|
+
switch (handler) {
|
|
321
339
|
case 'error': {
|
|
322
340
|
throw new Error(`[MSW] Error: ${message}`);
|
|
323
341
|
}
|
|
@@ -446,8 +464,8 @@ function requestIntegrityCheck(context, serviceWorker) {
|
|
|
446
464
|
const { payload: actualChecksum } = yield context.events.once('INTEGRITY_CHECK_RESPONSE');
|
|
447
465
|
// Compare the response from the Service Worker and the
|
|
448
466
|
// global variable set by webpack upon build.
|
|
449
|
-
if (actualChecksum !== "
|
|
450
|
-
throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"
|
|
467
|
+
if (actualChecksum !== "65d33ca82955e1c5928aed19d1bdf3f9") {
|
|
468
|
+
throw new Error(`Currently active Service Worker (${actualChecksum}) is behind the latest published one (${"65d33ca82955e1c5928aed19d1bdf3f9"}).`);
|
|
451
469
|
}
|
|
452
470
|
return serviceWorker;
|
|
453
471
|
});
|
|
@@ -478,30 +496,6 @@ function deferNetworkRequestsUntil(predicatePromise) {
|
|
|
478
496
|
});
|
|
479
497
|
}
|
|
480
498
|
|
|
481
|
-
function isObject(obj) {
|
|
482
|
-
return typeof obj === 'object';
|
|
483
|
-
}
|
|
484
|
-
/**
|
|
485
|
-
* Deeply merges two given objects with the right one
|
|
486
|
-
* having a priority during property assignment.
|
|
487
|
-
*/
|
|
488
|
-
function mergeRight(a, b) {
|
|
489
|
-
const result = Object.assign({}, a);
|
|
490
|
-
Object.entries(b).forEach(([key, value]) => {
|
|
491
|
-
const existingValue = result[key];
|
|
492
|
-
if (Array.isArray(existingValue) && Array.isArray(value)) {
|
|
493
|
-
result[key] = existingValue.concat(value);
|
|
494
|
-
return;
|
|
495
|
-
}
|
|
496
|
-
if (isObject(existingValue) && isObject(value)) {
|
|
497
|
-
result[key] = mergeRight(existingValue, value);
|
|
498
|
-
return;
|
|
499
|
-
}
|
|
500
|
-
result[key] = value;
|
|
501
|
-
});
|
|
502
|
-
return result;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
499
|
const DEFAULT_START_OPTIONS = {
|
|
506
500
|
serviceWorker: {
|
|
507
501
|
url: '/mockServiceWorker.js',
|
|
@@ -691,7 +685,19 @@ function setupWorker(...requestHandlers) {
|
|
|
691
685
|
resetHandlers(...nextHandlers) {
|
|
692
686
|
context.requestHandlers = resetHandlers(requestHandlers, ...nextHandlers);
|
|
693
687
|
},
|
|
688
|
+
printHandlers() {
|
|
689
|
+
context.requestHandlers.forEach((handler) => {
|
|
690
|
+
const meta = handler.getMetaInfo();
|
|
691
|
+
console.groupCollapsed(meta.header);
|
|
692
|
+
console.log(`Declaration: ${meta.callFrame}`);
|
|
693
|
+
console.log('Resolver: %s', handler.resolver);
|
|
694
|
+
if (['rest'].includes(meta.type)) {
|
|
695
|
+
console.log('Match:', `https://mswjs.io/repl?path=${meta.mask}`);
|
|
696
|
+
}
|
|
697
|
+
console.groupEnd();
|
|
698
|
+
});
|
|
699
|
+
},
|
|
694
700
|
};
|
|
695
701
|
}
|
|
696
702
|
|
|
697
|
-
export { defaultContext, response, setupWorker };
|
|
703
|
+
export { createResponseComposition, defaultContext, defaultResponse, response, setupWorker };
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
/* eslint-disable */
|
|
8
8
|
/* tslint:disable */
|
|
9
9
|
|
|
10
|
-
const INTEGRITY_CHECKSUM = '
|
|
10
|
+
const INTEGRITY_CHECKSUM = '65d33ca82955e1c5928aed19d1bdf3f9'
|
|
11
11
|
const bypassHeaderName = 'x-msw-bypass'
|
|
12
12
|
|
|
13
13
|
let clients = {}
|
|
@@ -74,11 +74,22 @@ self.addEventListener('message', async function (event) {
|
|
|
74
74
|
}
|
|
75
75
|
})
|
|
76
76
|
|
|
77
|
-
self.addEventListener('fetch',
|
|
77
|
+
self.addEventListener('fetch', function (event) {
|
|
78
78
|
const { clientId, request } = event
|
|
79
79
|
const requestClone = request.clone()
|
|
80
80
|
const getOriginalResponse = () => fetch(requestClone)
|
|
81
81
|
|
|
82
|
+
// Bypass navigation requests.
|
|
83
|
+
if (request.mode === 'navigate') {
|
|
84
|
+
return
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Bypass mocking if the current client isn't present in the internal clients map
|
|
88
|
+
// (i.e. has the mocking disabled).
|
|
89
|
+
if (!clients[clientId]) {
|
|
90
|
+
return
|
|
91
|
+
}
|
|
92
|
+
|
|
82
93
|
// Opening the DevTools triggers the "only-if-cached" request
|
|
83
94
|
// that cannot be handled by the worker. Bypass such requests.
|
|
84
95
|
if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') {
|
|
@@ -89,20 +100,15 @@ self.addEventListener('fetch', async function (event) {
|
|
|
89
100
|
new Promise(async (resolve, reject) => {
|
|
90
101
|
const client = await event.target.clients.get(clientId)
|
|
91
102
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
!client ||
|
|
95
|
-
// Bypass mocking if the current client has mocking disabled
|
|
96
|
-
!clients[clientId] ||
|
|
97
|
-
// Bypass mocking for navigation requests
|
|
98
|
-
request.mode === 'navigate'
|
|
99
|
-
) {
|
|
103
|
+
// Bypass mocking when the request client is not active.
|
|
104
|
+
if (!client) {
|
|
100
105
|
return resolve(getOriginalResponse())
|
|
101
106
|
}
|
|
102
107
|
|
|
103
108
|
// Bypass requests with the explicit bypass header
|
|
104
109
|
if (requestClone.headers.get(bypassHeaderName) === 'true') {
|
|
105
110
|
const modifiedHeaders = serializeHeaders(requestClone.headers)
|
|
111
|
+
|
|
106
112
|
// Remove the bypass header to comply with the CORS preflight check
|
|
107
113
|
delete modifiedHeaders[bypassHeaderName]
|
|
108
114
|
|
package/lib/esm/rest-deps.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as createCommonjsModule, b as commonjsGlobal, a as set, s as status, j as json, d as delay, f as fetch } from './fetch-deps.js';
|
|
2
2
|
import { c as cookie, b as body, t as text, x as xml } from './xml-deps.js';
|
|
3
|
-
import { g as getUrlByMask, m as matchRequestUrl,
|
|
3
|
+
import { g as getUrlByMask, a as getCallFrame, m as matchRequestUrl, b as prepareRequest, c as prepareResponse, d as getTimestamp, e as getStatusCodeColor } from './getCallFrame-deps.js';
|
|
4
4
|
|
|
5
5
|
var punycode = createCommonjsModule(function (module, exports) {
|
|
6
6
|
(function(root) {
|
|
@@ -1388,6 +1388,7 @@ const restContext = {
|
|
|
1388
1388
|
const createRestHandler = (method) => {
|
|
1389
1389
|
return (mask, resolver) => {
|
|
1390
1390
|
const resolvedMask = getUrlByMask(mask);
|
|
1391
|
+
const callFrame = getCallFrame();
|
|
1391
1392
|
return {
|
|
1392
1393
|
parse(req) {
|
|
1393
1394
|
// Match the request during parsing to prevent matching it twice
|
|
@@ -1438,6 +1439,14 @@ ${queryParams
|
|
|
1438
1439
|
console.log('Response', loggedResponse);
|
|
1439
1440
|
console.groupEnd();
|
|
1440
1441
|
},
|
|
1442
|
+
getMetaInfo() {
|
|
1443
|
+
return {
|
|
1444
|
+
type: 'rest',
|
|
1445
|
+
header: `[rest] ${method} ${mask.toString()}`,
|
|
1446
|
+
mask,
|
|
1447
|
+
callFrame,
|
|
1448
|
+
};
|
|
1449
|
+
},
|
|
1441
1450
|
};
|
|
1442
1451
|
};
|
|
1443
1452
|
};
|
package/lib/esm/rest.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { GraphQLError } from 'graphql';
|
|
2
2
|
import { ResponseTransformer } from '../response';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Sets a given list of GraphQL errors on the mocked response.
|
|
5
5
|
*/
|
|
6
|
-
export declare const errors:
|
|
7
|
-
errors:
|
|
6
|
+
export declare const errors: <ErrorsType extends Partial<GraphQLError>[] | null | undefined>(errorsList: ErrorsType) => ResponseTransformer<{
|
|
7
|
+
errors: ErrorsType;
|
|
8
8
|
}>;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { ResponseTransformer } from '../response';
|
|
2
|
+
declare type JSONContextOptions = {
|
|
3
|
+
merge?: boolean;
|
|
4
|
+
};
|
|
2
5
|
/**
|
|
3
6
|
* Sets the given value as the JSON body of the response.
|
|
4
7
|
* @example
|
|
@@ -6,4 +9,5 @@ import { ResponseTransformer } from '../response';
|
|
|
6
9
|
* res(json('Some string'))
|
|
7
10
|
* res(json([1, '2', false, { ok: true }]))
|
|
8
11
|
*/
|
|
9
|
-
export declare const json: <
|
|
12
|
+
export declare const json: <BodyTypeJSON>(body: BodyTypeJSON, { merge }?: JSONContextOptions) => ResponseTransformer<BodyTypeJSON>;
|
|
13
|
+
export {};
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as context from './context';
|
|
2
2
|
export { setupWorker } from './setupWorker/setupWorker';
|
|
3
|
-
export {
|
|
3
|
+
export { SetupWorkerApi } from './setupWorker/glossary';
|
|
4
|
+
export { response, defaultResponse, createResponseComposition, MockedResponse, ResponseTransformer, ResponseComposition, ResponseCompositionOptions, ResponseFunction, } from './response';
|
|
4
5
|
export { context };
|
|
5
|
-
export { MockedRequest, RequestHandler, RequestParams, RequestQuery, ResponseResolver, ResponseResolverReturnType, AsyncResponseResolverReturnType,
|
|
6
|
+
export { defaultContext, MockedRequest, RequestHandler, RequestHandlerMetaInfo, RequestParams, RequestQuery, ResponseResolver, ResponseResolverReturnType, AsyncResponseResolverReturnType, } from './utils/handlers/requestHandler';
|
|
6
7
|
export { rest, restContext, RESTMethods, ParsedRestRequest } from './rest';
|
|
7
8
|
export { graphql, graphqlContext, GraphQLMockedRequest, GraphQLMockedContext, GraphQLRequestPayload, GraphQLResponseResolver, GraphQLRequestParsedResult, } from './graphql';
|
|
8
9
|
export { matchRequestUrl } from './utils/matching/matchRequestUrl';
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
export declare const setupServer: (...requestHandlers: import("../setupWorker/glossary").RequestHandlersList) =>
|
|
2
|
-
listen(options?: import("../sharedOptions").SharedOptions | undefined): void;
|
|
3
|
-
use(...handlers: import("../setupWorker/glossary").RequestHandlersList): void;
|
|
4
|
-
restoreHandlers(): void;
|
|
5
|
-
resetHandlers(...nextHandlers: import("../setupWorker/glossary").RequestHandlersList): void;
|
|
6
|
-
close(): void;
|
|
7
|
-
};
|
|
1
|
+
export declare const setupServer: (...requestHandlers: import("../setupWorker/glossary").RequestHandlersList) => import("../node").SetupServerApi;
|
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
import { Interceptor } from 'node-request-interceptor';
|
|
2
2
|
import { RequestHandlersList } from '../setupWorker/glossary';
|
|
3
|
-
import {
|
|
3
|
+
import { SetupServerApi } from './glossary';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a `setupServer` API using given request interceptors.
|
|
6
6
|
* Useful to generate identical API using different patches to request issuing modules.
|
|
7
7
|
*/
|
|
8
|
-
export declare function createSetupServer(...interceptors: Interceptor[]): (...requestHandlers: RequestHandlersList) =>
|
|
9
|
-
/**
|
|
10
|
-
* Enables requests interception based on the previously provided mock definition.
|
|
11
|
-
*/
|
|
12
|
-
listen(options?: SharedOptions | undefined): void;
|
|
13
|
-
/**
|
|
14
|
-
* Prepends given request handlers to the list of existing handlers.
|
|
15
|
-
*/
|
|
16
|
-
use(...handlers: RequestHandlersList): void;
|
|
17
|
-
/**
|
|
18
|
-
* Marks all request handlers that respond using `res.once()` as unused.
|
|
19
|
-
*/
|
|
20
|
-
restoreHandlers(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Resets request handlers to the initial list given to the `setupServer` call, or to the explicit next request handlers list, if given.
|
|
23
|
-
*/
|
|
24
|
-
resetHandlers(...nextHandlers: RequestHandlersList): void;
|
|
25
|
-
/**
|
|
26
|
-
* Stops requests interception by restoring all augmented modules.
|
|
27
|
-
*/
|
|
28
|
-
close(): void;
|
|
29
|
-
};
|
|
8
|
+
export declare function createSetupServer(...interceptors: Interceptor[]): (...requestHandlers: RequestHandlersList) => SetupServerApi;
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import { Interceptor } from 'node-request-interceptor';
|
|
2
|
-
import { RequestHandlersList } from '../setupWorker/glossary';
|
|
3
1
|
import { SharedOptions } from '../sharedOptions';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Useful to generate identical API using different patches to request issuing modules.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createSetupServer(...interceptors: Interceptor[]): (...requestHandlers: RequestHandlersList) => {
|
|
2
|
+
import { RequestHandlersList } from '../setupWorker/glossary';
|
|
3
|
+
export interface SetupServerApi {
|
|
9
4
|
/**
|
|
10
5
|
* Enables requests interception based on the previously provided mock definition.
|
|
11
6
|
*/
|
|
12
|
-
listen(options?: SharedOptions
|
|
7
|
+
listen: (options?: SharedOptions) => void;
|
|
13
8
|
/**
|
|
14
9
|
* Prepends given request handlers to the list of existing handlers.
|
|
15
10
|
*/
|
|
16
|
-
use(...handlers: RequestHandlersList)
|
|
11
|
+
use: (...handlers: RequestHandlersList) => void;
|
|
17
12
|
/**
|
|
18
13
|
* Marks all request handlers that respond using `res.once()` as unused.
|
|
19
14
|
*/
|
|
20
|
-
restoreHandlers()
|
|
15
|
+
restoreHandlers: () => void;
|
|
21
16
|
/**
|
|
22
17
|
* Resets request handlers to the initial list given to the `setupServer` call, or to the explicit next request handlers list, if given.
|
|
23
18
|
*/
|
|
24
|
-
resetHandlers(...nextHandlers: RequestHandlersList)
|
|
19
|
+
resetHandlers: (...nextHandlers: RequestHandlersList) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Lists all active request handlers.
|
|
22
|
+
*/
|
|
23
|
+
printHandlers: () => void;
|
|
25
24
|
/**
|
|
26
25
|
* Stops requests interception by restoring all augmented modules.
|
|
27
26
|
*/
|
|
28
|
-
close()
|
|
29
|
-
}
|
|
27
|
+
close: () => void;
|
|
28
|
+
}
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
export declare const setupServer: (...requestHandlers: import("../setupWorker/glossary").RequestHandlersList) =>
|
|
2
|
-
listen(options?: import("../sharedOptions").SharedOptions | undefined): void;
|
|
3
|
-
use(...handlers: import("../setupWorker/glossary").RequestHandlersList): void;
|
|
4
|
-
restoreHandlers(): void;
|
|
5
|
-
resetHandlers(...nextHandlers: import("../setupWorker/glossary").RequestHandlersList): void;
|
|
6
|
-
close(): void;
|
|
7
|
-
};
|
|
1
|
+
export declare const setupServer: (...requestHandlers: import("../setupWorker/glossary").RequestHandlersList) => import("./glossary").SetupServerApi;
|
package/lib/types/response.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface MockedResponse<BodyType = any> {
|
|
|
8
8
|
delay?: number;
|
|
9
9
|
}
|
|
10
10
|
export declare type ResponseTransformer<BodyType = any> = (res: MockedResponse<BodyType>) => MockedResponse<BodyType>;
|
|
11
|
-
declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MockedResponse<BodyType>;
|
|
11
|
+
export declare type ResponseFunction<BodyType = any> = (...transformers: ResponseTransformer<BodyType>[]) => MockedResponse<BodyType>;
|
|
12
12
|
export declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyType> & {
|
|
13
13
|
/**
|
|
14
14
|
* Respond using a given mocked response to the first captured request.
|
|
@@ -18,8 +18,13 @@ export declare type ResponseComposition<BodyType = any> = ResponseFunction<BodyT
|
|
|
18
18
|
networkError: (message: string) => void;
|
|
19
19
|
};
|
|
20
20
|
export declare const defaultResponse: Omit<MockedResponse, 'headers'>;
|
|
21
|
+
export declare type ResponseCompositionOptions<BodyType> = {
|
|
22
|
+
defaultTransformers?: ResponseTransformer<BodyType>[];
|
|
23
|
+
mockedResponseOverrides?: Partial<MockedResponse>;
|
|
24
|
+
};
|
|
25
|
+
export declare const defaultResponseTransformers: ResponseTransformer<any>[];
|
|
26
|
+
export declare function createResponseComposition<BodyType>(responseOverrides?: Partial<MockedResponse<BodyType>>, defaultTransformers?: ResponseTransformer<BodyType>[]): ResponseFunction;
|
|
21
27
|
export declare const response: ResponseFunction<any> & {
|
|
22
28
|
once: ResponseFunction<any>;
|
|
23
29
|
networkError(message: string): never;
|
|
24
30
|
};
|
|
25
|
-
export {};
|